All Versions
Latest Version
Avg Release Cycle
57 days
Latest Release

Changelog History
Page 2

  • v1.5.3.0 Changes

    • โž• 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.
  • v1.5.2.0 Changes

    June 14, 2020
    • โž• Add Ord Value instance, thanks to Oleg Grenrus.
    • Export rejectUnknownFields from Data.Aeson
  • v1.5.1.0 Changes

    May 26, 2020
    • โž• Add instances for these, thanks to Oleg Grenrus.
  • v1.5.0.0 Changes

    May 25, 2020
    • ๐Ÿ›  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:

  • v1.4.7.1 Changes

    March 29, 2020
    • GHC 8.10 compatibility, thanks to Ryan Scott.
  • v1.4.7.0 Changes

    March 20, 2020

    ๐Ÿš€ 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 Woodbury.

    • ๐Ÿ‘‰ 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 Devanla.

    • โฌ‡๏ธ 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.

  • v1.4.6.0 Changes

    November 12, 2019
    • 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

  • v1.4.5.0 Changes

    September 09, 2019
    • ๐Ÿ”ฆ 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.

  • v1.4.4.0 Changes

    June 25, 2019

    ๐Ÿ†• 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.
  • v1.4.3.0 Changes

    April 28, 2019
    • ๐Ÿ‘Œ 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.