Releases: dhall-lang/dhall-haskell
Releases · dhall-lang/dhall-haskell
v1.42.2
- Supports standard version 23.1.0
- Fix macOS build [#2561] / [#2586]
- dhall to-directory-tree: Fix support for empty- Maps
- Dhall.TH: Improve recompilation checking- Dhall.THutilities now use- addDependentFileinternally so that GHC will recompile if any Dhall dependencies change
 
- Performance improvements
- Optimize Natural/fold: [#2585] / [#2596]
- Improve Dhall.Map.traverseWithKeyperformance- The fold will now short-circuit if it reaches a fixed point
 
- #2611
 
- Optimize 
- Fixes and improvements to test suite
- Fixes and improvements to haddocks
- Fixes and improvements to code formatting
v1.42.1
- Add several new entrypoints to Dhallmodule [#2534] / [#2544]
- Build against latest versions of:
- ansi-terminal
- optparse-applicative
- optparse-generic
- lens
- template-haskell[#2532] / [#2542]
- unix-compat
 
1.42.0
- Supports standard version 23.0.0
- BREAKING CHANGE TO THE API AND LANGUAGE: Language support for Bytesliterals- This is a breaking change to the API due to adding new BytesandBytesLiteralconstructors to theExprtype
- This is a breaking change to the language now that Bytesis 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}/showbuiltins- This is a breaking change to the API due to adding new {Date,Time,TimeZone}Showconstructors to theExprtype
- This is a breaking change to the language now that {Date,Time,TimeZone}/showare 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 lintno longer sortsletbindings- 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 Timeliterals- 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 packagecommand: #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-treesubcommand- The dhall to-directory-treesubcommand 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 --allis now idempotent: #2486, #2500- Before this change a second run would fail due to attempting to resolve
 themissingimport 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.Freezeutilities for working with custom evaluators
- Add Datainstances forImportand various other types
- Add Eqinstances forInvalidDecoderandExtractError
1.41.2
- BUG FIX: Fix :hashREPL command to α-normalize input
- Add {From,To}Dhallinstances forDayOfWeek
- Add {From,To}Dhallinstances forShortText
- Performance improvements
- Fixes and improvements to haddocks
- Fixes and improvements to test suite
- Build against newer dependencies
1.41.1
1.41.0
- Support standard version 22.0.0
- BUG FIX: Fix pretty-printing of time zones
- Timezones with a negative offset were previously being rendered with two
 leading minus signs instead of one
 
- Timezones with a negative offset were previously being rendered with two
- BUG FIX: dhall freeze --cacheto work with standard version 21.0.0- dhall freezewill now use- missing sha256:…for the first import so that
 the latter import will be tried if the import is not in cache
- The old behavior is incompatible with standard version 21.0.0 because the
 new behavior of the?operator doesn't fall back on hash mismatches
 
- BUG FIX: Allow withexpression to update a field namedSome- This fixes a discrepancy between the Haskell implementation and the standard
 where the Haskell implementation would not permit
 { Some = 0 } with Some = 1
 
- This fixes a discrepancy between the Haskell implementation and the standard
- Fix dhall {format,lint,freeze}to preserve leading shebangs
- Add FromDhallinstances forInt{8,16,32,64}
1.40.2
- Supports standard version 21.1.0
- BUG FIX: dhall replno longer ignores type annotations on:letcommands- Before this fix, :let x : T = 3would ignore the: Ttype annotation
 
- Before this fix, 
- BUG FIX: Don't accept a bar after an empty union
- Before this fix, the interpreter would accept something like <>|, which
 is not valid according to the standard grammar
 
- Before this fix, the interpreter would accept something like 
- New FromDhall/ToDhallinstances forDay/TimeOfDay/TimeZone#2294 #2300- These types correspond to the recent temporal literals added to the
 language
 
- These types correspond to the recent temporal literals added to the
- New subExpressionsWithTraversal
- Add Template Haskell support for modifying field names in generated Haskell
 types- This adds a new makeHaskellTypesWithutility with takes a
 GenerateOptionsfunction argument for customizing the code-generation
 logic
- This comes in handy when Dhall fields have names are reserved keywords in
 Haskell code. You can now transform the Haskell field names to avoid
 collisions
 
- This adds a new 
- Support GHC 9.2
- Fixes and improvements to documentation
- Fixes and improvements to error messages
1.40.1
- BUG FIX: Fix equivalence check for Date/Time/TimeZone- This fixes a serious bug in the recently introduced support for temporal
 literals where they would fail to type-check when given a correct type
 annotation or when they were checked against an existing type
- For example, 00:00:00 : Timewas failing to type-check
 
- This fixes a serious bug in the recently introduced support for temporal
1.40.0
- Almost supports version 20.2.0 of the standard
- The main thing that is missing is support for the headers.dhallfile
- BREAKING CHANGE TO THE LANGUAGE: Add support for Date/Time/TimeZone- This is a breaking change because Date,Time, andTimeZoneare
 now reserved identifiers
 
- This is a breaking change because 
- Improved fallback behavior for ?
 
- The main thing that is missing is support for the 
- BREAKING CHANGE TO THE LANGUAGE: Require whitespace before with- The parser now requires whitespace before the withkeyword, which brings
 the Haskell implementation into closer compliance with the standard
- In practice this is a technically breaking change which will not affect
 most programs
 
- The parser now requires whitespace before the 
- New FromDhallinstances forPredicate,Equivalence, andOp
- dhall lintwill now sort- letbindings with imports- dhall lintnow reorders- letbindings to move imports to the top so
 long as doing so does not change the behavior of the program
 
- Fixes and improvements to code formatting
- Fixes and improvements to error messages
1.39.0
- Supports version 20.2.0 of the standard
- BREAKING CHANGE TO THE API: dhall {format,freeze,lint}now accept multiple
 files- The --inplaceflag is no longer necessary and you can now specify
 multiple files to update in place on the command line, like
 dhall format foo.dhall bar.dhall
- The --inplaceflag is still accepted, but does nothing, and will emit a
 warning
- This is a breaking change to the API for formatting/freezing/linting files
 because now you can specify multiple inputs instead of one input
 
- The 
- BREAKING CHANGE: Pre-6.0.0 hashes are no longer supported
- The interpreter no longer provides backwards compatibility for integrity
 checks computed before standard version 6.0.0
- This is a breaking change to the API of the Dhall.Binarymodule, where
 certain utilities are no longer parameterized on aStandardVersion
- This is also a breaking change to any Dhall code that depended on these
 really old integrity checks
 
- The interpreter no longer provides backwards compatibility for integrity
- BUG FIX: Formatting ≡now correctly preserves the original character set
- BUG FIX: Don't panic on Text/replace ""
- Quasiquotation support for Dhall
- You can now convert a Dhall expression to the corresponding syntax tree
 using a quasiquoter like this:[dhall| \x -> x + 2 ]
 
- You can now convert a Dhall expression to the corresponding syntax tree
- New Dhall.Marshal.{Encode,Decode}modules- These modules split up the Dhallmodule into two smaller modules for
 encoding and decoding logic, respectively
- The Dhallmodule still re-exports the same functionality as before, so
 this is not a breaking change
 
- These modules split up the 
- Support GHC 9.0.1
- Fixes and improvements to code formatting