Changelog for lens-aeson-1.2.3
1.2.3 [2023.06.27]
- Use
aeson'sdecodefunction in theAsJSONinstance forByteStrings. This allows removing a direct dependency onattoparsec. - Allow building with
aeson-2.2.
1.2.2 [2022.08.11]
- Add
atKey :: AsValue t => Key -> Traversal' t (Maybe Value), a variant ofkeythat usesatinstead ofix.
1.2.1 [2022.05.07]
- Change the
IsKeyinstances forByteStrings to usedecodeUtf8With lenientDecodeinstead ofdecodeUtf8. While theseIsKeyinstances are meant to used for interoperability withaesonvalues that are UTF-8–encoded, usingdecodeUtf8With lenientDecodeat least ensures that converting a non–UTF-8–encodedByteStringwill not crash.
1.2 [2022.03.19]
-
Require
aeson-2.0.2.*andlens-5.0.*or greater. -
Change the types of
_Object,key, andmembers:-_Object :: Prism' t (HashMap Text Value) +_Object :: Prism' t (KeyMap Value) -key :: AsValue t => Text -> Traversal' t Value +key :: AsValue t => Key -> Traversal' t Value -members :: AsValue t => IndexedTraversal' Text t Value +members :: AsValue t => IndexedTraversal' Key t ValueThis mirrors similar changes made in
aeson-2.0.*, where the type ofObject's field was changed fromHashMap Text ValuetoKeyMap Value.The
Ixed Valueinstance changes similarly:-type instance Index Value = Text +type instance Index Value = Key -
Remove
PrimitiveandAsPrimitive, since https://tools.ietf.org/html/rfc7159 de-emphasized the notion of primitive versus composite JSON values.- The
AsPrimitivemethods (_Value,_String, and_Bool) are nowAsValuemethods. _Number's default signature,Bool_,String_, andNull_now have anAsValueconstraint.
- The
-
Add
WrappedandRewrappedinstances forKeyMap. These treatKeyMap vas a wrapper around[(Key, v)]. The order in which the key-value pairs appear in this list is not stable. -
Add an
IsKeyclass, whose method_Keyis anIsofor converting values to and from aKey.
1.1.3 [2021.11.16]
- Drop support for pre-8.0 versions of GHC.
1.1.2 [2021.10.09]
- Allow building with
aeson-2.0.0.0. - Add
Index,IxValue,Ixed,At, andEachinstances forKeyMapif building withaeson-2.0.0.0or later.
1.1.1 [2021.02.17]
- Allow building with
lens-5.*. - The build-type has been changed from
CustomtoSimple. To achieve this, thedocteststest suite has been removed in favor of usingcabal-docspecto run the doctests.
1.1 [2019.09.26]
- Generalize the type of
_JSONfromPrism' t atoPrism t t a b. If you wish to continue to use the less general type, use the newly added_JSON'prism. - Add pattern synonyms corresponding to the
Prisms thatlens-aesonprovides. - Fix the test suite on 32-bit architectures.
1.0.2
- Support
doctest-0.12
1.0.1
- Revamp
Setup.hsto usecabal-doctest. This makes it build withCabal-2.0, and makes thedoctests work withcabal new-buildand sandboxes.
1.0.0.5
- Fix tests to work against vector-0.11
- Documentation fixes
- No functional changes since 1.0.0.4
1.0.0.3
- Move lens upper bound to < 5 like the other packages in the family
1
- Module migrated from lens package to Data.Aeson.Lens
0.1.2
- Added
membersandvalues
0.1.1
- Broadened dependencies
0.1
- Repository initialized