waargonaut v0.6.0.0 Release Notes

Release Date: 2019-02-19 // about 5 years ago
  • ๐Ÿ›  Fixes

    • Handling of HeXDigit4 values was not correct. The bug was partly due to the choice of optic, instead of producing a (type/failure) error when working with mixed-case hex values, it seems to be zero'ing them out.
    • โž• Added regression tests

    Rework

    • ๐Ÿ“œ Redesigned ParseFn to handle:
      • Data.String.String
      • Data.Text.Text
      • Data.ByteString.ByteString
    • ๐Ÿ“š Updated documentation for ParseFn to match changes
    • ๐Ÿ“š Updated documentation for default parsing functions
    • ๐Ÿ— Generalised the Builder process to handle Text and ByteString
      • Created a record type to hold the required functions for builders
      • Created submodules to house the generalised builders (see Waargonaut.Encode.Builder and friends)
      • Added test to ensure both builders produce identical output
    • ๐Ÿ“š Updated documentation for Encode process to match changes
    • โž• Added deprecation notice to Waargonaut.Decode.Traversal

    Cleanup

    • Factored out components into more submodules:
      • UnescapedJChar
      • EscapedJChar
      • HexDigit4
      • Elem
      • Elems
      • JAssoc
      • Decode.Runners
    • ๐Ÿ“š Updated documentation if required for module changes.
    • โœ‚ Deleted commented out code
    • ๐Ÿ”„ Changed all file textual encoding/decoding tests to Test.Tasty.Golden.

    ๐Ÿ†• New hotness

    • โž• Added a few prisms to allow for similar behaviour to the lens-aeson package.
    • โž• Added property tests for these new prisms to check they comply with the prism law.