* Sat Jan 19 2019 Peter Simons <firstname.lastname@example.org>
- Update Cabal build instructions for more accurate dependencies.
* Sun Nov 25 2018 email@example.com
- Update aeson to version 184.108.40.206.
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 04 2018 firstname.lastname@example.org
- Update aeson to version 220.127.116.11.
* 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 2018 email@example.com
- Cosmetic: replace tabs with blanks, strip trailing white space,
and update copyright headers with spec-cleaner.
* Tue Jul 17 2018 firstname.lastname@example.org
- Update aeson to version 18.104.22.168.
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
* `GKeyValue` has been renamed to `KeyValuePair`, thanks to Xia Li-yao
* Removed unused `FromJSON` constraint in `withEmbeddedJson`, thanks to Tristan Seligmann
* 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 2018 email@example.com
- Update aeson to version 22.214.171.124.
* 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 126.96.36.199 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 03 2017 firstname.lastname@example.org
- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
* Thu Jul 27 2017 email@example.com
- Update to version 188.8.131.52 revision 1.
* Tue Apr 04 2017 firstname.lastname@example.org
- Update to version 184.108.40.206 revision 1 with cabal2obs.
* Sun Feb 12 2017 email@example.com
- Update to version 220.127.116.11 with cabal2obs.
* Thu Jan 26 2017 firstname.lastname@example.org
- Update to version 0.11.3.0 with cabal2obs.
* Mon Sep 19 2016 email@example.com
- Update to version 0.11.2.1 revision 1 with cabal2obs.
* Wed Aug 17 2016 firstname.lastname@example.org
- Update to version 0.11.2.1 revision 0 with cabal2obs.
* Mon Sep 28 2015 email@example.com
- update to 0.9.0.1
* 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 2015 firstname.lastname@example.org
- update to 0.8.0.2
* 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 0.10.4.0. 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 09 2014 email@example.com
- drop aeson-disable-TH.patch
* Template Haskell (TH) now available on all supprted archs
* Sat Oct 18 2014 firstname.lastname@example.org
- disable TH module on arch's without ghci
* Mon Oct 28 2013 email@example.com
- Remove redundant Requires for ghc-compiler
* Mon Oct 07 2013 firstname.lastname@example.org
- Initial package - version 0.6.2.0
* Sun Jul 10 2016 email@example.com
- Update to version 0.11.2.0 revision 1 with cabal2obs.
* Thu May 26 2016 firstname.lastname@example.org
- update to 0.11.2.0
* Enable PolyKinds to generalize Proxy, Tagged, and Const instances.
* Add unsafeToEncoding in Data.Aeson.Types, use with care!
* Fri Mar 25 2016 email@example.com
- update to 0.11.1.4
* 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. (0.11.1.0)
+ 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:
* This release should be close to backwards compatible with aeson 0.9 (0.11.0.0)
+ 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.
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.