All Versions
50
Latest Version
Avg Release Cycle
57 days
Latest Release
-

Changelog History
Page 1

  • v1.5.4.0

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

    • โž• 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

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

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

    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: https://github.com/bos/aeson/milestone/21

  • v1.4.7.1

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

    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.

    Misc:

    • โš  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

    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

    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

    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
    

    Minor:

    • 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 >= 0.10.8.1 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.