|
|
|
|
Changelog for ghc-aeson-doc-2.2.3.0-1.1.noarch.rpm :
* Tue Jun 11 2024 Peter Simons - Update aeson to version 2.2.3.0. [#]## 2.2.3.0 * Support `hashable-1.4.6.0`. * Fix an issue where `Hashable Key` wasn\'t newtype instance over underlying `Text`, so with `-ordered-keymap` there were correctness issues. * Add instances for `Data.Semigroup.Sum`, `Product`, `Any`, `All` * Fri May 17 2024 Peter Simons - Update aeson to version 2.2.2.0 revision 1. [#]## 2.2.2.0 * Support GHC-8.6.5...9.10.1 * Depend on `character-ps` instead of defining own Word8 pattern synonyms * Mon Oct 16 2023 Peter Simons - Update aeson to version 2.2.1.0 revision 1. [#]## 2.2.1.0 * Add `Data.Aeson.RFC8785`, a JSON Canonicalization Scheme implementation https://datatracker.ietf.org/doc/html/rfc8785 * Add Data.Aeson.Decoding.Text, decodeStrictText :: Text -> ... We avoid intermediate `ByteString` copy by not doing `decode . TE.encodeUtf8`, but instead working on `Text` value directly. As we know that the stream is valid Unicode (UTF8 or UTF16), we can also take some shortcuts. One gotcha is that internal `Text` values (in `Key`s or `Value` `String`s) will most likely retain the original input `Text` value (its underlying `Array`). It shouldn\'t be an issue if the `Value` is then decoded to something else so these `Text` values disapper, but if not (e.g. `Object` keys survive) then users might want to use `Data.Text.copy`. [#]## 2.2.0.0 * Rework how `omitNothingFields` works. Add `allowOmittedFields` as a parsing counterpart. New type-class members were added: `omitField :: a -> Bool` to `ToJSON` and `omittedField :: Maybe a` to `FromJSON`. These control which fields can be omitted. The `.:?=`, `.:!=` and `.?=` operators were added to make use of these new members. GHC.Generics and Template Haskell deriving has been updated accordingly. Note: They behave as the parsers have been written with `.:!=`, i.e. if the field value is `null` it\'s passed to the underlying parser. This doesn\'t make difference for `Maybe` or `Option`, but does make for types which parser doesn\'t accept `null`. (`()` parser accepts everything and `Proxy` accepts `null). In addition to `Maybe` (and `Option`) fields the `Data.Monoid.First` and `Data.Monoid.Last` are also omitted, as well as the most newtype wrappers, when their wrap omittable type (e.g. newtypes in `Data.Monoid` and `Data.Semigroup`, `Identity`, `Const`, `Tagged`, `Compose`). Additionall \"boring\" types like `()` and `Proxy` are omitted as well. As the omitting is now uniform, type arguments are also omitted (also in `Generic1` derived instance). Resolves issues: - [#687](https://github.com/haskell/aeson/issues/687) Derived ToJSON1 instance does not respect omitNothingFields = True, - [#571](https://github.com/haskell/aeson/issues/571) omitNothingFields not used in Generic Decode, - [#792](https://github.com/haskell/aeson/issues/792) Make Proxy fields optional. * Use `Data.Aeson.Decoding` parsing functions (introduced in version 2.1.2.0) as default in `Data.Aeson`. As one side-effect, `decode` and `decode\'` etc pair functions are operationally the same. All variants use an intermediate `Value` in normal form. The lazier variant could had `Value` thunks inside `Array` (i.e. `Vector`), but the record had been value strict since version `0.4.0.0` (before that the lazy `Data.Map` was used as `Object`). * Move `Data.Aeson.Parser` module into separate [`attoparsec-aeson`](https://hackage.haskell.org/package/attoparsec-aeson) package, as these parsers are not used by `aeson` itself anymore. * Use [`text-iso8601`](https://hackage.haskell.org/package/text-iso8601) package for parsing `time` types. These are slightly faster than previously used (copy of) `attoparsec-iso8601`. Formats accepted is slightly changed: - The space between time and timezone offset (in `UTCTime` and `ZonedTime`) is disallowed. ISO8601 explictly forbidds it. - The timezone offsets can be in range -23:59..23:59. This is how Python, joda-time etc seems to do. (Previously the range was -12..+14) * Remove internal `Data.Aeson.Internal` and `Data.Aeson.Internal.Time` modules. Everything from the former is exported elsewhere (`Data.Aeson.Types`), the latter was truly internal. * Remove `cffi` flag. Toggling the flag made `aeson` use a C implementation for string unescaping (used for `text <2` versions). The new native Haskell implementation (introduced in version 2.0.3.0) is at least as fast. * Drop instances for `Number` from `attoparsec` package. * Improve `Arbitrary Value` instance. * Add instances for `URI` from `network-uri`. * add instances for `Down` from `Data.Ord`. * Use `integer-conversion` for converting `Text` and `ByteString`s into `Integer`s. * Bump lower bounds of non GHC-boot lib dependencies. * Tue Aug 22 2023 Peter Simons - Cosmetic changes to the spec file. * Wed Aug 02 2023 Andreas Schwab - Reduce memory constraints for riscv64 * Thu Mar 30 2023 Peter Simons - Updated spec file to conform with ghc-rpm-macros-2.5.2. * Sun Mar 19 2023 Peter Simons - Update aeson to version 2.1.2.1 revision 3. Upstream has revised the Cabal build instructions on Hackage. * Wed Mar 15 2023 Peter Simons - Update aeson to version 2.1.2.1 revision 2. Upstream has revised the Cabal build instructions on Hackage. * Wed Mar 01 2023 Peter Simons - Update aeson to version 2.1.2.1 revision 1. [#]## 2.1.2.1 * Support `th-abstraction-0.5` [#]## 2.1.2.0 * Add `throwDecode :: (MonadThrow m, FromJSON a) => ByteString -> m a` and variants. * Add `Data.Aeson.Decoding` which uses new underlying tokenizer / parser. This parser seems to be faster, and the intermediate `Tokens` streams allow to differentiate more than `Value` if needed. If no critical issues is found, this parser will become the default in next major `aeson` version. * Support deriving for empty datatypes (such as `Void` and `V1`) in `FromJSON` and `ToJSON`. * Add `To/FromJSONKey Void` instances * Fix `FromJSONKey Double` handling of infinities * Wed Sep 21 2022 Peter Simons - Update aeson to version 2.1.1.0. Upstream has edited the change log file since the last release in a non-trivial way, i.e. they did more than just add a new entry at the top. You can review the file at: http://hackage.haskell.org/package/aeson-2.1.1.0/src/changelog.md * Sat Dec 11 2021 Peter Simons - Update aeson to version 1.5.6.0 revision 5. Upstream has revised the Cabal build instructions on Hackage. * Sat Nov 20 2021 psimonsAATTsuse.com- Update aeson to version 1.5.6.0 revision 4. Upstream has revised the Cabal build instructions on Hackage. * Tue Nov 16 2021 psimonsAATTsuse.com- Update aeson to version 1.5.6.0 revision 3. Upstream has revised the Cabal build instructions on Hackage. * Thu Sep 02 2021 psimonsAATTsuse.com- Update aeson to version 1.5.6.0 revision 2. Upstream has revised the Cabal build instructions on Hackage. * Thu May 06 2021 Guillaume GARDET - Set memory constraints to avoid OOM * Tue Mar 23 2021 psimonsAATTsuse.com- Update aeson to version 1.5.6.0 revision 1. Upstream has revised the Cabal build instructions on Hackage. * Fri Feb 19 2021 psimonsAATTsuse.com- Update aeson to version 1.5.6.0. [#]## 1.5.6.0 * Make `Show Value` instance print object keys in lexicographic order. * Mon Jan 04 2021 psimonsAATTsuse.com- Update aeson to version 1.5.5.1. [#]## 1.5.5.1 * Fix a bug in `FromJSON QuarterOfYear` instance. [#]## 1.5.5.0 * Add instances for `Month`, `Quarter` and `QuarterOfYear` (from `time-1.11`), thanks to Oleg Grenrus. * The aeson repository has been moved to the haskell github organization!
|
|
|