File ghc-aeson.changes of Package ghc-aeson

Thu May  6 06:49:35 UTC 2021 - Guillaume GARDET <>

- Set memory constraints to avoid OOM

Tue Mar 23 14:56:10 UTC 2021 -

- Update aeson to version revision 1.
  Upstream has revised the Cabal build instructions on Hackage.

Fri Feb 19 23:03:07 UTC 2021 -

- Update aeson to version
  * Make `Show Value` instance print object keys in lexicographic order.

Mon Jan  4 11:48:32 UTC 2021 -

- Update aeson to version
  * Fix a bug in `FromJSON QuarterOfYear` instance.

  * 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!

Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup <>
- disable %{ix86} build
Tue Oct  6 08:56:45 UTC 2020 -

- Update aeson to version
  * Use `Text.Encoding.decodeLatin1` to speed up ASCII string decoding, thanks to Dmitry Ivanov.
  * Support `bytestring 0.11.*` and `th-abstraction 0.4.*`, thanks to Oleg Grenrus.

Sun Oct  4 18:06:49 UTC 2020 - Ondřej Súkup <>

- add constraints for s390x and riscv64

Mon Aug 31 02:02:42 UTC 2020 -

- Update aeson to version

  * Add instances for `ToJSONKey` and `FromJSONKey` to `Const`, thanks to Dan Fithian.
  * Add support for template-haskell 2.17, thanks to Galen Huntington.
  * Documentation typo fix, thanks to Jean-Baptiste Mazon.

Tue Aug 18 10:43:55 UTC 2020 - Peter Simons <>

- Replace %setup -q with the more modern %autosetup macro.

Mon Aug 10 08:46:53 UTC 2020 -

- Update aeson to version

  * Add instances for types in `strict` and `data-fix` packages, thanks to Oleg Grenrus.
  * CPP cleanup, thanks to Oleg Grenrus.
  * Instances for `dlist`'s `Data.DList.DNonEmpty.DNonEmpty`, thanks to Oleg Grenrus.

Mon Jun 15 02:00:21 UTC 2020 -

- Update aeson to version

  * Add `Ord Value` instance, thanks to Oleg Grenrus.
  * Export `rejectUnknownFields` from `Data.Aeson`

Tue Jun  9 09:10:55 UTC 2020 -

- Update aeson to version

  * Add instances for `these`, thanks to Oleg Grenrus.


  * Fix bug in `rejectUnknownFields` not respecting `fieldLabelModifier`, thanks to Markus Schirp.
  * `GFromJSON` members are no longer exported from `Data.Aeson(.Types)`, if you are using `gParseJSON` consider switching to `gParseJSON'`, thanks to Oleg Grenrus.
  * Aeson no longer accepts unescaped control characters, thanks to Oleg Grenrus.
  * Remove `CoerceText` since GHC >=7.8 has `Coercible`, thanks to Oleg Grenrus.
  * Rename the `GToJSON` class to `GToJSON'` and expose it, thanks to Oleg Grenrus.

  Closed tickets:

Wed May  6 06:54:16 UTC 2020 -

- Update aeson to version

  * GHC 8.10 compatibility, thanks to Ryan Scott.


  Long overdue release (once again), so there's quite a bit of stuff
  included even though it's a "minor" release. Big thanks to all the
  contributors, the project would not exist without you!

  Special thanks to Oleg Grenrus and Xia Li-Yao for reviewing tons
  of stuff.

  New stuff:

  * Add `rejectUnknownFields` to Options which rejects unknown fields on
    deserialization. Useful to find errors during development, but
    enabling this should be considered a breaking change as previously
    accepted inputs may now be rejected. Thanks to rmanne.

  instance FromJSON Foo where
    parseJSON = gParseJSON defaultOptions { rejectUnknownFields = True }

  * `FromJSON` instance of `Ratio a` now parses numbers in addtion to
    standard `{numerator=..., denumerator=...}` encoding. Thanks to
    Aleksey Khudyakov.

  * Add more information to parse errors, including a sample of the
    surrounding text. Hopefully this will lead to less "Failed to read:
    satisfy" confusion! Thanks to Sasha Bogicevic. We expect some
    downstream test suites to break because of this, apologies in
    advance. Hopefully you will like the improvement anyway :-)

  * Add `parseFail` to `Data.Aeson.Types`. `parseFail = fail` but
    doesn't require users to know about `MonadFail`. Thanks to Colin

  * Make Template Haskell type family detection smarter when deriving
    `ToJSON1` instances, thanks to Ryan Scott.

  * Optimize string parsing for the common case of strings without
    escapes, thanks to Yuras.


  * Clean up compiler warnings and switch from base-compat to
    base-compat-batteries. Thanks to Colin Woodbury & Oleg Grenrus.

  * Clarification & fixes to documentation regarding treatment of Maybe fields, thanks to Roman Cheplyaka.

  * Add documentation for internal development workflows. Thanks to Guru

  * Drop support for GHC < 7.8. We've chosen to support older GHCs as
    long as it doesn't prevent us from adding new features, but now it
    does!  Thanks to Oleg Grenrus for the patch.

  * Allow generic-deriving 1.13 in test suite.

  * Some DRY fixes thanks to Mark Fajkus.

Wed Nov 13 03:02:25 UTC 2019 -

- Update aeson to version

  * Provide a clearer error message when a required tagKey for a constructor is missing, thanks to Guru Devanla.
    The error message now looks like this: `Error in $: parsing Types.SomeType failed, expected Object with key "tag" containing one of ["nullary","unary","product","record","list"], key "tag" not found`

  * Add `formatPath` and `formatRelativePath` functions to turn a `JSONPath` into a `String`, thanks to Robbie McMichael

Fri Nov  8 16:13:10 UTC 2019 - Peter Simons <>

- Drop obsolete group attributes.

Tue Sep 10 02:02:48 UTC 2019 -

- Update aeson to version

  * Expose `(<?>)`, `JSONPath` and `JSONPathElement(..)` from `Data.Aeson.Types`. Previously only available through internal modules. Thanks to Luke Clifton.

  * Support for base-compat 0.11, thanks to Ryan Scott.

  * Travis build for GHC 8.8, thanks to Oleg Grenrus.

Tue Jun 25 02:02:15 UTC 2019 -

- Update aeson to version

  **New features**:

  * Adds a parameterized parser `jsonWith` that can be used to choose how to handle duplicate keys in objects, thanks to Xia Li-Yao.

  * Add generic implementations of `FromJSONKey` and `ToJSONKey`, thanks to Xia Li-Yao. Example:

  data Foo = Bar
    deriving Generic

  opts :: JSONKeyOptions
  opts = defaultJSONKeyOptions { keyModifier = toLower }

  instance ToJSONKey Foo where
    toJSONKey = genericToJSONKey opts

  instance FromJSONKey Foo where
    fromJSONKey = genericFromJSONKey opts

  * aeson now uses `time-compat` instead of `time-locale-compat`, thanks to Oleg Grenrus.
  * Prepare for `MonadFail` breakages in GHC 8.8, thanks to Oleg Grenrus.
  * Require `bytestring >=` for newer GHCs to avoid build failures, thanks to Oleg Grenrus.
  * Support `primitive 0.7.*`, thanks to Adam Bergmark.
  * Allow `semigroups 0.19.*` and `hashable 1.3.*`, thanks to Oleg Grenrus.
  * Fix a typo in the error message when parsing `NonEmpty`, thanks to Colin Woodbury.
  * Document surprising behavior when using `omitNothingFields` with type variables, thanks to Xia Li-Yao.

  **Internal changes**:
  * Code cleanup by Oleg Grenrus
  * Fix dependencies of the benchmarks on older GHC's, thanks to Xia Li-Yao.

Tue Apr 30 09:23:03 UTC 2019 -

- Update aeson to version
  * Improve error messages for FromJSON in existing instances and GHC Generic implementation. Thanks to Xia Li-Yao & Igor Pashev.
  * Tweak error-reporting combinators and their documentation. Thanks to Xia Li-Yao.
    * `typeMismatch` is now about comparing JSON types (i.e., the expected and actual names of the Value constructor).
    * `withObject` and other `with*` combinators now also mention the JSON types they expect
    * New `unexpected` and `prependFailure` combinators.
  * Add `Contravariant` `ToJSONKeyFunction` instance. Thanks to Oleg Grenrus.
  * Add `KeyValue` instance for `Object`. Thanks to Robert Hensing.
  * Improve performance when parsing certain large numbers, thanks to Oleg Grenrus.
  * Add `Data.Aeson.QQ.Simple` - A limited version of aeson-qq. Thanks to Oleg Grenrus.
  * Exposes internal helper functions like `<?>`, `JSONPath`, and `parseIndexedJSON` from `Data.Aeson` module. Thanks to Abid Uzair.
  * Better error messages when there are syntax errors parsing objects and arrays. Thanks to Fintan Halpenny.
  * Support building with `th-abstraction-` or later. Thanks to Ryan Scott.

Sat Jan 19 12:33:33 UTC 2019 - Peter Simons <>

- Update Cabal build instructions for more accurate dependencies.

Sun Nov 25 03:01:12 UTC 2018 -

- Update aeson to version
  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:

Thu Oct  4 09:42:52 UTC 2018 -

- Update aeson to version

  * Optimizations of generics, thanks to Rémy Oudompheng, here are some numbers for GHC 8.4:
    * Compilation time: G/BigProduct.hs is 25% faster, G/BigRecord.hs is 2x faster.
    * Runtime performance: BigRecord/toJSON/generic and BigProduct/encode/generic are more than 2x faster.
  * Added To/FromJSON instances for `Void` and Generics's `V1`, thanks to Will Yager
  * Added To/FromJSON instances for `primitive`'s `Array`, `SmallArray`, `PrimArray` and `UnliftedArray`, thanks to Andrew Thad.
  * Fixes handling of `UTCTime` wrt. leap seconds , thanks to Adam Schønemann
  * Warning and documentation fixes thanks to tom-bop, Gabor Greif, Ian Jeffries, and Mateusz Curyło.

Wed Jul 18 14:26:12 UTC 2018 -

- Cosmetic: replace tabs with blanks, strip trailing white space,
  and update copyright headers with spec-cleaner.

Tue Jul 17 19:30:59 UTC 2018 -

- Update aeson to version

  This release introduces bounds on the size of `Scientific` numbers when they are converted to other arbitrary precision types that do not represent them efficiently in memory.

  This means that trying to decode a number such as `1e1000000000` into an `Integer` will now fail instead of using a lot of memory. If you need to represent large numbers you can add a newtype (preferably over `Scientific`) and providing a parser using `withScientific`.

  The following instances are affected by this:
  * `FromJSON Natural`
  * `FromJSONKey Natural`
  * `FromJSON Integer`
  * `FromJSONKey Integer`
  * `FromJSON NominalDiffTime`

  For the same reasons the following instances & functions have been removed:
  * Remove `FromJSON Data.Attoparsec.Number` instance. Note that `Data.Attoparsec.Number` is deprecated.
  * Remove deprecated `withNumber`, use `withScientific` instead.

  Finally, encoding integral values with large exponents now uses scientific notation, this saves space for large numbers.


  * Catch 0 denominators when parsing Ratio


  * Fix bug in generically derived `FromJSON` instances that are using `unwrapUnaryRecords`, thanks to Xia Li-yao
  * Allow base-compat 0.10.*, thanks to Oleg Grenrus


  Breaking changes:
  * `GKeyValue` has been renamed to `KeyValuePair`, thanks to Xia Li-yao
  * Removed unused `FromJSON` constraint in `withEmbeddedJson`, thanks to Tristan Seligmann

  Other improvements:
  * Optimizations of TH toEncoding, thanks to Xia Li-yao
  * Optimizations of hex decoding when using the default/pure unescape implementation, thanks to Xia Li-yao
  * Improved error message on `Day` parse failures, thanks to Gershom Bazerman
  * Add `encodeFile` as well as `decodeFile*` variants, thanks to Markus Hauck
  * Documentation       fixes, thanks to Lennart Spitzner
  * CPP cleanup, thanks to Ryan Scott

Mon May 14 17:02:11 UTC 2018 -

- Update aeson to version
  * Add `Ord` instance for `JSONPathElement`, thanks to Simon Hengel.
  * Added `withEmbeddedJSON` to help parse JSON embedded inside a JSON string, thanks to Jesse Kempf.
  * Memory usage improvements to the default (pure) parser, thanks to Jonathan Paugh. Also thanks to Neil Mitchell & Oleg Grenrus for contributing a benchmark.
  * `omitNothingFields` now works for the `Option` newtype, thanks to Xia Li-yao.
  * Some documentation fixes, thanks to Jonathan Paug & Philippe Crama.
  * Add `FromJSON` and `ToJSON` instances for
    * `DiffTime`, thanks to Víctor López Juan.
    * `CTime`, thanks to Daniel Díaz.
  * Fix handling of fractions when parsing Natural, thanks to Yuriy Syrovetskiy.
  * Change text in error messages for Integral types to make them follow the common pattern, thanks to Yuriy Syrovetskiy.
  * Add missing `INCOHERENT` pragma for `RecordToPair`, thanks to Xia Li-yao.
  * Everything related to `Options` is now exported from `Data.Aeson`, thanks to Xia Li-yao.
  * Optimizations to not escape text in clear cases, thanks to Oleg Grenrus.
  * Some documentation fixes, thanks to Phil de Joux & Xia Li-yao.
  * Add `parserThrowError` and `parserCatchError` combinators, thanks to Oleg Grenrus.
  * Add `Generic` instance for `Value`, thanks to Xia Li-yao.
  * Fix a mistake in the changelog, the `cffi` flag is disabled by default! Thanks to dbaynard.
  * `tagSingleConstructors`, an option to encode single-constructor types as tagged sums was added to `Options`. It is disabled by default for backward compatibility.
  * The `cffi` flag is now turned off (`False`) by default, this means C FFI code is no longer used by default. You can flip the flag to get C implementation.
  * The `Options` constructor is no longer exposed to prevent new options from being breaking changes, use `defaultOptions` instead.
  * The contents of `GToJSON` and `GToEncoding` are no longer exposed.
  * Some INLINE pragmas were removed to avoid GHC running out of simplifier ticks.

Thu Aug  3 15:38:38 UTC 2017 -

- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.

Thu Jul 27 14:07:48 UTC 2017 -

- Update to version revision 1.

Tue Apr  4 11:04:08 UTC 2017 -

- Update to version revision 1 with cabal2obs.

Sun Feb 12 14:08:22 UTC 2017 -

- Update to version with cabal2obs.

Thu Jan 26 16:20:17 UTC 2017 -

- Update to version with cabal2obs.

Mon Sep 19 10:39:23 UTC 2016 -

- Update to version revision 1 with cabal2obs.

Wed Aug 17 18:30:25 UTC 2016 -

- Update to version revision 0 with cabal2obs.

Sun Jul 10 17:33:06 UTC 2016 -

- Update to version revision 1 with cabal2obs.

Thu May 26 06:06:35 UTC 2016 -

- update to
* Enable PolyKinds to generalize Proxy, Tagged, and Const instances.
* Add unsafeToEncoding in Data.Aeson.Types, use with care!

Fri Mar 25 07:41:45 UTC 2016 -

- update to
* Fix build with base < 4.8 and unordered-containers < 0.2.6.
* Add missing field in docs for defaultOptions.
* Fixes a bug where the hashes of equal values could differ.
* The only changes are added instances. (
    + These are new:
        ToJSON a => ToJSON (NonEmpty a)
        FromJSON a => FromJSON (NonEmpty a)
        ToJSON (Proxy a)
        FromJSON (Proxy a)
        ToJSON b => ToJSON (Tagged a b)
        FromJSON b => FromJSON (Tagged a b)
        ToJSON a => ToJSON (Const a b)
        FromJSON a => FromJSON (Const a b)
    + These are now available for older GHCs:
        ToJSON Natural
        FromJSON Natural
* This release should be close to backwards compatible with aeson 0.9 (
    + Breaking changes:
        Revert .:? to behave like it did in 0.9. If you want the 0.10 behavior
            use .:! instead.
        Revert JSON format of Either to 0.9, Left and Right are now serialized with
            an initial uppercase letter. If you want the names in lowercase you can
            add a newtype with an instance.
        All ToJSON and FromJSON instances except for [a] are no longer OVERLAPPABLE.
            Mark your instance as OVERLAPPING if it overlaps any of the other aeson
        All ToJSON and FromJSON instances except for [Char] are no longer
            incoherent, this means you may need to replace your incoherent instances
            with a newtyped instance.
    + Additions:
        Introduce .:! that behaves like .:? did in 0.10.
        Allow HH:MM format for ZonedTime and UTCTime. This is one of the formats
            allowed by ISO 8601.
        Added ToJSON and FromJSON instances for the Version, Ordering, and Natural
    + Bug fixes:
        JSONPath identifiers are now escaped if they contain invalid characters.
        Fixed JSONPath messages for Seq to include indices.
        Fixed JSONPath messages for Either to include left/right.
        Fix missing quotes surrounding time encodings.
        Fix #293: Type error in TH when using omitNothingFields = True.

Mon Sep 28 18:42:15 UTC 2015 -

- update to
* A stray export of encodeToBuilder got away!
* The json and json' parsers are now synonyms for value and value', in conformance
   with the looser semantics of RFC 7159.
* Renamed encodeToByteStringBuilder to the more compact encodeToBuilder.
* The dependency on the unordered-containers package was too lax, and has been
* Encoding a Scientific value with a huge exponent is now handled efficiently.
   (This would previously allocate a huge arbitrary-precision integer, potentially
   leading to a denial of service.)
* Handling of strings that contain backslash escape sequences is greatly improved.
   For a pathological string containing almost a megabyte of consecutive backslashes,
   the new implementation is 27x faster and uses 42x less memory.
* The ToJSON instance for UTCTime is rendered with higher (picosecond) resolution.
* The value parser now correctly handles leading whitespace.
* New instances of ToJSON and FromJSON for Data.Sequence and Data.Functor.Identity.
   The Value type now has a Read instance.
* ZonedTime parser ordering now favours the standard JSON format, increasing
    efficiency in the common case.
* Encoding to a Text.Builder now escapes '<' and '>' characters, to reduce XSS risk.

Wed Apr 22 10:47:20 UTC 2015 -

- update to
* Fix ToJSON instance for 15-tuples.
* Support time-1.5.
* Add ToJSON and FromJSON instances for tuples of up to 15 elements.
* Major compiler and library compatibility changes: we have dropped
  support for GHC older than 7.4, text older than 1.1, and bytestring
  older than  Supporting the older versions had become
  increasingly difficult, to the point where it was no longer worth
* The performance of encoding to and decoding of bytestrings have both
  improved by up to 2x, while also using less memory.
* New dependency: the scientific package lets us parse floating point
  numbers more quickly and accurately.
* eitherDecode, decodeStrictWith: fixed bugs.
* Added FromJSON and ToJSON instances for Tree and Scientific.
* Fixed the ToJSON instances for UTCTime and ZonedTime.

Sun Nov  9 15:24:35 UTC 2014 -

- drop aeson-disable-TH.patch
* Template Haskell (TH) now available on all supprted archs

Sat Oct 18 14:50:27 UTC 2014 -

- disable TH module on arch's without ghci

Mon Oct 28 19:50:03 UTC 2013 -

- Remove redundant Requires for ghc-compiler

Mon Oct  7 13:35:59 UTC 2013 -

- Initial package - version
openSUSE Build Service is sponsored by