### 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