aeson v0.11.0.0 Release Notes

  • ๐Ÿš€ This release should be close to backwards compatible with aeson 0.9.

    โฌ†๏ธ If you are upgrading from aeson 0.10 it might be easier to go back in history to the point you were still using 0.9.

    ๐Ÿ’ฅ 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 instances.

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

    โž• Additions:

    • 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 types.

    ๐Ÿ› 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.

    Compatibility:

    • โšก๏ธ Various updates to support GHC 8.