ascii-1.7.0.2: changelog.md
### 1.7.0.2 (2025-01-20)
Version bumps
### 1.7.0.1 (2023-06-26)
Upgrade language to GHC2021
### 1.7.0.0 (2023-03-01)
Rename `toAsciiCharMaybe` to `toCharMaybe`
Add `toCharListMaybe`
### 1.6.0.0 (2023-02-08)
Raise `ascii-superset` to `1.3`. This removes the `ASCII.Lift` module.
Raise `ascii-numbers` to `1.2`.
From the `ASCII` module, the `Lift` class and `lift` function are removed.
The removed `lift` function is replaced with the `lift` function from
`ASCII.Refinement`. If you were using `lift` specialized as
`ASCII a -> a`, then this is not a breaking change. Otherwise, migrate
by using one the new functions below.
```haskell
fromChar :: FromChar char => Char -> char
fromCharList :: FromString string => [Char] -> string
fromDigit :: DigitSuperset char => Digit -> char
fromDigitList :: DigitStringSuperset string => [Digit] -> string
fromHexChar :: HexCharSuperset char => HexChar -> char
fromHexCharList :: HexStringSuperset string => [HexChar] -> string
forgetCase :: ASCII'case letterCase superset -> ASCII superset
```
### 1.5.4.0 (2023-02-08)
Raise `ascii-superset` to `1.2.7`
Adds module `ASCII.Superset.Text`
Added to the `ASCII` module:
- Class `ToText`
- Functions `toStrictText`, `toLazyText`, `toUnicodeCharList`
### 1.5.3.0 (2023-02-07)
Raise `ascii-superset` to `1.2.6`
Added class `StringSupersetConversion` and the following function:
```haskell
convertRefinedString ::
StringSupersetConversion a b => ASCII a -> ASCII b
```
### 1.5.2.0 (2023-01-25)
New functions: `asciiByteStringToText` and `asciiByteStringToTextLazy`
### 1.5.1.0 (2023-01-06)
Raise `ascii-superset` version to `1.2.5`. This adds a new instance:
```haskell
instance Lift (ASCII'case letterCase superset) (ASCII superset)
```
### 1.5.0.0 (2023-01-06)
Raise `ascii-th` version to `1.2.0`. This changes the constraints on `lower` and
`upper` quasi-quotations in an expression context. Previously, the constraint
was `FromString`. The constraints are now `ToCasefulString 'LowerCase` and
`ToCasefulString 'UpperCase` respectively. This expands the range of types
inhabited by lower/uppercase quotes to include `ASCII'lower` and `ASCII'upper`,
which were previously not able to be expressed using quasi-quotations.
### 1.4.2.0 (2023-01-05)
Raise `ascii-superset` version from `1.2.0` to `1.2.4`. This adds classes
`ToCasefulChar` and `ToCasefulString` to the `ASCII.Superset` module. It also
adds some instances for the various other superset classes.
### 1.4.1.1 (2023-01-05)
Change test suite from `hedgehog` to `hspec`
### 1.4.1.0 (2023-01-05)
Raise `ascii-char` version to `1.0.1`. This adds `Word8` conversions to the
`ASCII.Char` module.
### 1.4.0.0 (2023-01-03)
Additions to the `ASCII` module: `disregardCase`, `ASCII'case`, `ASCII'upper`,
`ASCII'lower`, `KnownCase (..)`, `refineCharToCase`, `refineStringToCase`
Update `ascii-superset` to `1.2.0`. This adds `CharSuperset (toCaseChar)`,
`StringSuperset (toCaseString)`, `refineCharToCase`, and `refineStringToCase`.
The constraint on `toCaseChar` is relaxed from `CharIso` to `CharSuperset`.
The constraint on `toCaseString` is relaxed from `StringIso` to `StringSuperset`.
### 1.3.1.0 (2023-01-03)
Update `ascii-th` to `1.1.1`.
This adds, most notably, to the `ASCII.QuasiQuoters` module.
The new quasi-quoters are `caseless`, `lower`, and `upper`.
These are also re-exported from the `ASCII` module.
### 1.3.0.0 (2023-01-03)
Update `ascii-superset` to `1.1.0`.
This adds several classes to the `ASCII.Superset` module: `ToChar`, `FromChar`,
`ToString`, `FromString`, `ToCaselessChar`, and `ToCaselessString`.
This is a breaking change because these are superclasses of the existing
`CharSuperset` and `StringSuperset` classes, and they take methods from them.
### 1.2.6.0 (2023-01-02)
Update `ascii-superset` to `1.0.2`. This adds the `ASCII.CaseRefinement` module.
### 1.2.5.0 (2023-01-02)
Add the `ASCII.Caseless` module (re-exported from the `ascii-caseless` package)
Additions to the `ASCII` module:
* `CaselessChar`
### 1.2.4.1 (2022-12-30)
Metadata changes only
### 1.2.4.0 (2022-12-23)
Bump version of `ascii-case` to `1.0.1`. This adds the following function to the
`ASCII.Case` module:
```haskell
opposite :: Case -> Case
```
### 1.2.3.0 (2022-05-04)
Add `isVisible :: Char -> Bool`. Visible characters include all print characters
other than `Space`.
### 1.2.2.0 (2022-04-29)
Add `type UnicodeChar = Data.Char.Char` type alias to `ASCII` module
### 1.2.1.0 (2022-04-29)
New polymorphic narrowing functions:
* `toAsciiCharMaybe :: CharSuperset char => char -> Maybe Char`
* `toDigitMaybe :: DigitSuperset char => char -> Maybe Digit`
* `toHexCharMaybe :: HexCharSuperset char => char -> Maybe HexChar`
New monomorphic character conversion functions:
* `digitToWord8 :: Digit -> Word8`
* `word8ToDigitMaybe :: Word8 -> Maybe Digit`
* `word8ToDigitUnsafe :: Word8 -> Digit`
* `digitToChar :: Digit -> Char`
* `charToDigitMaybe :: Char -> Maybe Digit`
* `charToDigitUnsafe :: Char -> Digit`
* `digitToUnicode :: Digit -> Unicode.Char`
* `unicodeToDigitMaybe :: Unicode.Char -> Maybe Digit`
* `unicodeToDigitUnsafe :: Unicode.Char -> Digit`
* `hexCharToWord8 :: HexChar -> Word8`
* `word8ToHexCharMaybe :: Word8 -> Maybe HexChar`
* `word8ToHexCharUnsafe :: Word8 -> HexChar`
* `hexCharToChar :: HexChar -> Char`
* `charToHexCharMaybe :: Char -> Maybe HexChar`
* `charToHexCharUnsafe :: Char -> HexChar`
* `hexCharToUnicode :: HexChar -> Unicode.Char`
* `unicodeToHexCharMaybe :: Unicode.Char -> Maybe HexChar`
* `unicodeToHexCharUnsafe :: Unicode.Char -> HexChar`
### 1.2.0.0 (2022-04-20)
Update to `ascii-numbers` version `1.1.0`. The major change is that there are
now `Lift` instances for `Digit` and `HexChar`.
### 1.1.3.0
Added functions `digitString` and `hexCharString`
### 1.1.2.0
Add dependency on `ascii-numbers`
New modules:
* `ASCII.Decimal`
* `ASCII.Hexadecimal`
New types:
* `Digit`
* `HexChar`
New classes:
* `DigitSuperset`
* `DigitStringSuperset`
* `HexCharSuperset`
* `HexStringSuperset`
New functions:
* `showIntegralDecimal`
* `showIntegralHexadecimal`
* `readIntegralDecimal`
* `readIntegralHexadecimal`
* `showNaturalDigits`
* `readNaturalDigits`
* `showNaturalHexChars`
* `readNaturalHexChars`
* `showNaturalDecimal`
* `showNaturalHexadecimal`
* `readNaturalDecimal`
* `readNaturalHexadecimal`
Dropped support for old versions:
* Drop support for `base` 4.11 (GHC 8.4)
* Drop support for `base` 4.12 (GHC 8.6)
### 1.1.1.4
Switch test-suite over to `hedgehog`
### 1.1.1.2
Support GHC 9.2
### 1.1.1.0
New functions:
- `isAlphaNum`
- `isLetter`
- `isDigit`
- `isOctDigit`
- `isHexDigit`
- `isSpace`
- `isPunctuation`
- `isSymbol`
### 1.1.0.0
The dependency on the 'data-ascii' package is removed, and the following modules
are no longer re-exported:
- `Data.Ascii`
- `Data.Ascii.Blaze`
- `Data.Ascii.ByteString`
- `Data.Ascii.Word8`
### 1.0.1.6
Add a test suite
Raise `text` lower bound to 1.2.3
### 1.0.1.4
Support GHC 9.0
### 1.0.1.2
Support `bytestring-0.11`
### 1.0.1.0
New functions:
- `byteStringToUnicodeStringMaybe`
- `unicodeStringToByteStringMaybe`
- `byteListToUnicodeStringMaybe`
- `unicodeStringToByteListMaybe`
- `convertCharMaybe`
- `convertCharOrFail`
- `convertStringMaybe`
- `convertStringOrFail`
### 1.0.0.2
Support GHC 8.10
### 1.0.0.0
Completely redesigned the library