dhall v1.21.0 Release Notes
Release Date: 2019-03-07 // about 5 years ago-
- ๐ Supports version 6.0.0 of the language standard
- ๐ฅ BREAKING CHANGE: Remove the
constructors
keyword- ... as standardized in version 6.0.0 of the language standard
- The deprecation cycle is over, so the keyword is no longer supported
- For more details, see: https://github.com/dhall-lang/dhall-lang/wiki/Migration%3A-Deprecation-of-constructors-keyword
- See: #829
- ๐ฅ BREAKING CHANGE: CBOR-encode only special
Double
s as half-floats- ... as standardized in version 6.0.0 of the language standard
- CBOR
Double
s exceptInfinity
/-Infinity
/NaN
/0.0
are now encoded in at
least 32 bits - See: #822
- ๐ฅ BREAKING CHANGE: Sort record and union fields when CBOR-encoding
- Fields and alternatives are now sorted when serialized
- This does not affect semantic integrity checks, which already sorted these
fields/alternatives before hashing expressions - This does affect the serialization of expressions that have not been
normalized (e.g. uninterpreted expressions transmitted over the wire) - See: #835
- ๐ BUG FIX: Fix non-exhaustive pattern match in
dhall lint
- ๐ BUG FIX: Don't fail if
$HOME
environment variable is unset- The interpreter was incorrectly throwing an exception if
HOME
was unset - The standard requires that implementations should handle the
HOME
environment variable being missing - See: #789
- The interpreter was incorrectly throwing an exception if
- ๐ Feature: Remove version tag from semantic integrity check
- ... as standardized in version 6.0.0 of the language standard
- This is not a breaking change because this change also includes
๐ backwards-compatible support for semantic integrity checks produced by
older versions of the interpreter
- ๐ Feature: Support Unicode path components
- ... as standardized in version 6.0.0 of the language standard
- You can now use Unicode in path components if they are quoted
- i.e.
./families/"็ฆบ.dhall"
is now legal
- ๐ Feature: Add
Text/show
built-in- ... as standardized in version 6.0.0 of the language standard
- You can now convert a
Text
literal to its equivalent Dhall source code
(which is itself aText
literal) - This comes in handy when using Dhall code to generate JSON or Dhall code
- See: #811
- ๐ Feature: Add
--immediate-dependencies
/--transitive-dependencies
flags for
dhall resolve
- ๐ Feature:
dhall freeze
now only freezes remote imports by defaultdhall freeze
used to freeze all imports (including local imports and
environment variables)- Now
dhall freeze
only freezes remote imports by default, which is what
most users want - You can install freeze all imports using the
--all
flag - See: #808
- ๐ Feature:
:save
and:load
REPL state:save
with no arguments now saves the REPL state to a.dhall-repl-N
file- The file format is a list of
dhall repl
commands - You can use
:load
to load the saved state back into the REPL - See: #807
- ๐ Feature: Add
:hash
command todhall repl
- This lets you conveniently hash expressions within the
dhall repl
- See: #806
- This lets you conveniently hash expressions within the
- ๐ Feature: Add
--check
flag todhall format
- Use this to check if the input is already formatted
- Useful for continuous integration when you want to ensure that all code
under version control remains formatted - See: #810
- ๐ Feature: Add
UnionInputType
builder forInputType
s- This is the union analog of
RecordInputType
, letting you build a
record explicitly instead of deriving the instance using GHC generics - See: #775
- This is the union analog of
- ๐ Feature: Add
:set
/:unset
commands todhall repl
- You can use these commands to set or unset command-line options
- Currently only setting/unsetting
--explain
is supported
- ๐ Standards-compliance fixes:
- ๐ Documentation fixes:
- โ Test fixes:
- ๐ Improved error messages:
- ๐ Formatting fixes:
- See: #831
- ๐ REPL fixes:
- See: #837