Changelog History
Page 2
-
v1.5.3.0 Changes
- โ Add instances for types in
strict
anddata-fix
packages, thanks to Oleg Grenrus. - CPP cleanup, thanks to Oleg Grenrus.
- Instances for
dlist
'sData.DList.DNonEmpty.DNonEmpty
, thanks to Oleg Grenrus.
- โ Add instances for types in
-
v1.5.2.0 Changes
June 14, 2020- โ Add
Ord Value
instance, thanks to Oleg Grenrus. - Export
rejectUnknownFields
fromData.Aeson
- โ Add
-
v1.5.1.0 Changes
May 26, 2020- โ Add instances for
these
, thanks to Oleg Grenrus.
- โ Add instances for
-
v1.5.0.0 Changes
May 25, 2020- ๐ Fix bug in
rejectUnknownFields
not respectingfieldLabelModifier
, thanks to Markus Schirp. - ๐
GFromJSON
members are no longer exported fromData.Aeson(.Types)
, if you are usinggParseJSON
consider switching togParseJSON'
, thanks to Oleg Grenrus. - Aeson no longer accepts unescaped control characters, thanks to Oleg Grenrus.
- โ Remove
CoerceText
since GHC >=7.8 hasCoercible
, thanks to Oleg Grenrus. - ๐ Rename the
GToJSON
class toGToJSON'
and expose it, thanks to Oleg Grenrus.
Closed tickets: https://github.com/bos/aeson/milestone/21
- ๐ Fix bug in
-
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 ofRatio 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
toData.Aeson.Types
.parseFail = fail
but doesn't require users to know aboutMonadFail
. 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.
- โ Add
-
v1.4.6.0 Changes
November 12, 2019Provide 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
andformatRelativePath
functions to turn aJSONPath
into aString
, thanks to Robbie McMichael
-
v1.4.5.0 Changes
September 09, 2019๐ฆ Expose
(<?>)
,JSONPath
andJSONPathElement(..)
fromData.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
andToJSONKey
, 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 oftime-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.*
andhashable 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 otherwith*
combinators now also mention the JSON types they expect- New
unexpected
andprependFailure
combinators.
- โ Add
Contravariant
ToJSONKeyFunction
instance. Thanks to Oleg Grenrus. - โ Add
KeyValue
instance forObject
. 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
, andparseIndexedJSON
fromData.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-0.3.0.0
or later. Thanks to Ryan Scott.