dhall v1.31.0 Release Notes
Release Date: 2020-03-29 // about 4 years ago-
- ๐ Supports version 15.0.0 of the standard
- Implement
with
keyword - You can now write
someRecord with a.b.c = x
to update a nested
fields - Add support for record puns
- You can now write
{ x, y }
as a shorthand for{ x = x, y = y }
- Implement
- ๐ฅ 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
- Now the
- ๐ฅ BREAKING CHANGE TO THE API:
From/ToDhall
no longer takesInterpretOptions
argument- The types of the
autoWith
andinjectWith
methods have changed to
take anInputNormalizer
instead of anInterpretOptions
- Note that
InputNormalizer
is a subset ofInterpretOptions
- 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
withFromJSON
/ToJSON
) - Previously you would customize the behavior globally by passing in
a top-levelInterpretOptions
record toautoWith
- Now you can customize the behavior locally on a per-instance basis
- This change enables the following change ...
- The types of the
- Add
Dhall.Deriving
module forderiving-via
helpers- Now you can take advantage of the
-XDerivingVia
language extension to
customize derivedFromDhall
/ToDhall
instances, like this: deriving (FromDhall, ToDhall) via Codec (SetSingletonConstructors Bare) Name
- Now you can take advantage of the
- ๐ฅ 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 as255
- Now
- ๐ Add
dhall to-directory-tree
support forMap
sMap
s are now converted to directories (just like records)
- Add manpage
- ... mainly for the benefit of people packaging Dhall for various
distributions
- ... mainly for the benefit of people packaging Dhall for various
- Group commands in CLI
- The command-line
--help
output now groups commands into useful
sections
- The command-line
- ๐ Fix numeric parsing for GHCJS
- The GHCJS backend for Dhall was failing to parse numbers, which this
๐ change fixes
- The GHCJS backend for Dhall was failing to parse numbers, which this
- ๐ Fixes and improvements to error messages:
- ๐ Fixes and improvements to the haddocks:
- ๐ Supports version 15.0.0 of the standard