dhall v1.31.0 Release Notes

Release Date: 2020-03-29 // about 4 years ago
    • ๐Ÿš€ Supports version 15.0.0 of the standard
    • ๐Ÿ’ฅ BREAKING CHANGE TO THE API: Auto-derive Generic/FromDhall/ToDhall with Template Haskell
      • Now the Dhall.TH.makeHaskell* utilities will include these derived
        instances in the generated declarations
      • This is a breaking change since users were likely already generating these
        instances separately, which will now conflict with the included instances
    • ๐Ÿ’ฅ BREAKING CHANGE TO THE API: From/ToDhall no longer takes InterpretOptions argument
      • The types of the autoWith and injectWith methods have changed to
        take an InputNormalizer instead of an InterpretOptions
      • Note that InputNormalizer is a subset of InterpretOptions
      • This is a breaking change to how derived FromDhall / ToDhall instances
        ๐Ÿ“ฆ are customized to more closely match how other Haskell packages customize
        derived instances (e.g. aeson with FromJSON / ToJSON)
      • Previously you would customize the behavior globally by passing in
        a top-level InterpretOptions record to autoWith
      • Now you can customize the behavior locally on a per-instance basis
      • This change enables the following change ...
    • Add Dhall.Deriving module for deriving-via helpers
      • Now you can take advantage of the -XDerivingVia language extension to
        customize derived FromDhall/ToDhall instances, like this:
      • deriving (FromDhall, ToDhall) via Codec (SetSingletonConstructors Bare) Name
    • ๐Ÿ’ฅ BREAKING CHANGE TO THE LANGUAGE: Match standard with respect to using toMap
      • https://example.com using toMap customHeaders is now a parse error
        and needs to be explicitly parenthesized as
        https://example.com using (toMap customHeaders)
      • The language standard had always required the parentheses, but the Haskell
        implementation was not correctly matching the standard
    • Fix formatting of indented comments containing empty lines
      • dhall format was previously not idempotent when formatting indented
        comments with empty lines
      • Specifically, the formatter kept indenting things further with each
        ๐Ÿ›  format, which this change fixes
    • ๐Ÿ–จ Fix pretty-printer to preserve original numeric literals
      • Now dhall format will preserve numeric literals exactly how you wrote
        them
      • For example, 0xFF will no longer be reformatted as 255
    • ๐Ÿ‘ Add dhall to-directory-tree support for Maps
      • Maps are now converted to directories (just like records)
    • Add manpage
      • ... mainly for the benefit of people packaging Dhall for various
        distributions
    • Group commands in CLI
      • The command-line --help output now groups commands into useful
        sections
    • ๐Ÿ“œ Fix numeric parsing for GHCJS
      • The GHCJS backend for Dhall was failing to parse numbers, which this
        ๐Ÿ”„ change fixes
    • ๐Ÿ›  Fixes and improvements to error messages:
    • ๐Ÿ›  Fixes and improvements to the haddocks: