1.42.0
- Supports standard version 23.0.0
- BREAKING CHANGE TO THE API AND LANGUAGE: Language support for
Bytes
literals- This is a breaking change to the API due to adding new
Bytes
andBytesLiteral
constructors to theExpr
type - This is a breaking change to the language now that
Bytes
is a reserved identifier
- This is a breaking change to the API due to adding new
- BREAKING CHANGE TO THE API AND LANGUAGE: New
{Date,Time,TimeZone}/show
builtins- This is a breaking change to the API due to adding new
{Date,Time,TimeZone}Show
constructors to theExpr
type - This is a breaking change to the language now that
{Date,Time,TimeZone}/show
are not reserved identifiers
- This is a breaking change to the API due to adding new
- BREAKING CHANGE TO THE API AND LANGUAGE: Language support for
- BREAKING CHANGE:
dhall lint
no longer sortslet
bindings- This had to be removed because the old behavior was not always correct
- The old behavior would sometimes change the behavior of a Dhall program or break the program
- Out of an abundance of caution we're disabling the feature until it can be properly fixed (which is't trivial)
- BUG FIX: Fix pretty-printing of
Time
literals- The pretty-printer was stripping leading zeros from the fractional component
of seconds
- The pretty-printer was stripping leading zeros from the fractional component
- BUG FIX: Fix custom normalizers to work for things other than functions
- Before this change you could extend the language with custom functions, but
not custom values (e.g.foo = 1
)
- Before this change you could extend the language with custom functions, but
- BUG FIX: Don't URL encode path components
- The pretty-printer was URL-encoding path components, which is not correct (according to the standard)
- URL path components are supposed to be already URL-encoded by the user and left undisturbed by the interpreter (which is now what it correctly does)
- New
dhall package
command: #2478, #2508- This command makes it easier to turn a directory full of Dhall expressions
into a dhall package (e.g.package.dhall
)
- This command makes it easier to turn a directory full of Dhall expressions
- Improved
dhall to-directory-tree
subcommand- The
dhall to-directory-tree
subcommand now optionally supports specifying
metadata for generated paths - For a worked example, see: https://github.com/dhall-lang/dhall-haskell/blob/main/dhall/examples/to-directory-tree.dhall
- The
dhall freeze --cache --all
is now idempotent: #2486, #2500- Before this change a second run would fail due to attempting to resolve
themissing
import it would generate
- Before this change a second run would fail due to attempting to resolve
- New Template Haskell options for adding strictness annotations to generated Haskell types
- Template Haskell can now generate higher-kinded Haskell types from higher-kinded Dhall types
- New
Dhall.Freeze
utilities for working with custom evaluators - Add
Data
instances forImport
and various other types - Add
Eq
instances forInvalidDecoder
andExtractError