* Mon Nov 06 2023 Peter Simons <psimons@suse.com>
- Update dhall to version 1.42.1.
1.42.1
* Add several new entrypoints to `Dhall` module [[#2534](https://github.com/dhall-lang/dhall-haskell/pull/2534)] / [[#2544](https://github.com/dhall-lang/dhall-haskell/pull/2544)]
* Build against latest versions of:
* [`ansi-terminal`](https://github.com/dhall-lang/dhall-haskell/pull/2521)
* [`optparse-applicative`](https://github.com/dhall-lang/dhall-haskell/pull/2543)
* [`optparse-generic`](https://github.com/dhall-lang/dhall-haskell/pull/2519)
* [`lens`](https://github.com/dhall-lang/dhall-haskell/pull/2539)
* `template-haskell` [[#2532](https://github.com/dhall-lang/dhall-haskell/pull/2532)] / [[#2542](https://github.com/dhall-lang/dhall-haskell/pull/2542)]
* [`unix-compat`](https://github.com/dhall-lang/dhall-haskell/pull/2532)
1.42.0
* [Supports standard version 23.0.0](https://github.com/dhall-lang/dhall-lang/releases/tag/v23.0.0)
* [BREAKING CHANGE TO THE API AND LANGUAGE: Language support for `Bytes` literals](https://github.com/dhall-lang/dhall-haskell/pull/2499)
* This is a breaking change to the API due to adding new `Bytes` and `BytesLiteral` constructors to the `Expr` type
* This is a breaking change to the language now that `Bytes` is a reserved identifier
* [BREAKING CHANGE TO THE API AND LANGUAGE: New `{Date,Time,TimeZone}/show` builtins](https://github.com/dhall-lang/dhall-haskell/pull/2493)
* This is a breaking change to the API due to adding new `{Date,Time,TimeZone}Show` constructors to the `Expr` type
* This is a breaking change to the language now that `{Date,Time,TimeZone}/show` are not reserved identifiers
* [BREAKING CHANGE: `dhall lint` no longer sorts `let` bindings](https://github.com/dhall-lang/dhall-haskell/pull/2503)
* 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](https://github.com/dhall-lang/dhall-haskell/pull/2466)
* The pretty-printer was stripping leading zeros from the fractional component
of seconds
* [BUG FIX: Fix custom normalizers to work for things other than functions](https://github.com/dhall-lang/dhall-haskell/pull/2464)
* Before this change you could extend the language with custom functions, but
not custom values (e.g. `foo = 1`)
* [BUG FIX: Don't URL encode path components](https://github.com/dhall-lang/dhall-haskell/pull/2505)
* 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](https://github.com/dhall-lang/dhall-haskell/pull/2487), [#2508](https://github.com/dhall-lang/dhall-haskell/pull/2508)
* This command makes it easier to turn a directory full of Dhall expressions
into a dhall package (e.g. `package.dhall`)
* [Improved `dhall to-directory-tree` subcommand](https://github.com/dhall-lang/dhall-haskell/pull/2437)
* 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
* `dhall freeze --cache --all` is now idempotent: [#2486](https://github.com/dhall-lang/dhall-haskell/pull/2486), [#2500](https://github.com/dhall-lang/dhall-haskell/pull/2500)
* Before this change a second run would fail due to attempting to resolve
the `missing` import it would generate
* [New Template Haskell options for adding strictness annotations to generated Haskell types](https://github.com/dhall-lang/dhall-haskell/pull/2504)
* [Template Haskell can now generate higher-kinded Haskell types from higher-kinded Dhall types](https://github.com/dhall-lang/dhall-haskell/pull/2506)
* [New `Dhall.Freeze` utilities for working with custom evaluators](https://github.com/dhall-lang/dhall-haskell/pull/2478)
* [Add `Data` instances for `Import` and various other types](https://github.com/dhall-lang/dhall-haskell/pull/2462)
* [Add `Eq` instances for `InvalidDecoder` and `ExtractError`](https://github.com/dhall-lang/dhall-haskell/pull/2482)
1.41.2
* [BUG FIX: Fix `:hash` REPL command to α-normalize input](https://github.com/dhall-lang/dhall-haskell/pull/2420)
* [Add `{From,To}Dhall` instances for `DayOfWeek`](https://github.com/dhall-lang/dhall-haskell/pull/2413)
* [Add `{From,To}Dhall` instances for `ShortText`](https://github.com/dhall-lang/dhall-haskell/pull/2413)
* Performance improvements
* [#2423](https://github.com/dhall-lang/dhall-haskell/pull/2423)
* Fixes and improvements to haddocks
* [#2396](https://github.com/dhall-lang/dhall-haskell/pull/2396)
* Fixes and improvements to test suite
* [#2342](https://github.com/dhall-lang/dhall-haskell/pull/2382)
* [#2394](https://github.com/dhall-lang/dhall-haskell/pull/2394)
* Build against newer dependencies
* [`pretty-simple-4.1`](https://github.com/dhall-lang/dhall-haskell/pull/2408)
* [`aeson-2.1`](https://github.com/dhall-lang/dhall-haskell/pull/2424)
* [`vector-0.13`](https://github.com/dhall-lang/dhall-haskell/pull/2427)
* [`turtle-1.6`](https://github.com/dhall-lang/dhall-haskell/pull/2431)
1.41.1
* [BUG FIX: Don't escape `?` path component when pretty-printing `with` expressions](https://github.com/dhall-lang/dhall-haskell/pull/2392)
1.41.0
* [Support standard version 22.0.0](https://github.com/dhall-lang/dhall-lang/releases/tag/v22.0.0)
* [Allow `with` expressions to update `Optional` values using `?`](https://github.com/dhall-lang/dhall-haskell/pull/2386)
* [Add `showConstructor` keyword](https://github.com/dhall-lang/dhall-haskell/pull/2384)
* [BUG FIX: Fix pretty-printing of time zones](https://github.com/dhall-lang/dhall-haskell/pull/2379)
* Timezones with a negative offset were previously being rendered with two
leading minus signs instead of one
* [BUG FIX: `dhall freeze --cache` to work with standard version 21.0.0](https://github.com/dhall-lang/dhall-haskell/pull/2350)
* `dhall freeze` will 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 `with` expression to update a field named `Some`](https://github.com/dhall-lang/dhall-haskell/pull/2354)
* This fixes a discrepancy between the Haskell implementation and the standard
where the Haskell implementation would not permit
`{ Some = 0 } with Some = 1 `
* [Fix `dhall {format,lint,freeze}` to preserve leading shebangs](https://github.com/dhall-lang/dhall-haskell/pull/2364)
* [Add `FromDhall` instances for `Int{8,16,32,64}`](https://github.com/dhall-lang/dhall-haskell/pull/2349)
* Sun Jan 29 2023 Peter Simons <psimons@suse.com>
- Update dhall to version 1.40.2 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
* Thu Dec 17 2020 Ondřej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
Version: 1.40.2-bp154.1.14
* Thu Feb 03 2022 Peter Simons <psimons@suse.com>
- Update dhall to version 1.40.2 revision 2.
1.40.2
* [Supports standard version 21.1.0](https://github.com/dhall-lang/dhall-haskell/pull/2236)
* [The interpreter now supports customizing headers using a `headers.dhall`
configuration file](https://github.com/dhall-lang/dhall-haskell/pull/2236)
* [Generalize grammar for certain annotations](https://github.com/dhall-lang/dhall-haskell/pull/2320)
* [Add support for a trailing line comment without a newline](https://github.com/dhall-lang/dhall-haskell/pull/2309)
* [BUG FIX: `dhall repl` no longer ignores type annotations on `:let` commands](https://github.com/dhall-lang/dhall-haskell/pull/2297)
* Before this fix, `:let x : T = 3` would ignore the `: T` type annotation
* [BUG FIX: Don't accept a bar after an empty union](https://github.com/dhall-lang/dhall-haskell/pull/2338)
* Before this fix, the interpreter would accept something like `<>|`, which
is not valid according to the standard grammar
* New `FromDhall`/`ToDhall` instances for `Day`/`TimeOfDay`/`TimeZone` [#2294](https://github.com/dhall-lang/dhall-haskell/pull/2294) [#2300](https://github.com/dhall-lang/dhall-haskell/pull/2300)
* These types correspond to the recent temporal literals added to the
language
* [New `subExpressionsWith` `Traversal`](https://github.com/dhall-lang/dhall-haskell/pull/2302)
* [Add Template Haskell support for modifying field names in generated Haskell
types](https://github.com/dhall-lang/dhall-haskell/pull/2285)
* This adds a new `makeHaskellTypesWith` utility with takes a
`GenerateOptions` function 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
* [Support GHC 9.2](https://github.com/dhall-lang/dhall-haskell/pull/2328)
* Fixes and improvements to documentation
* [#2290](https://github.com/dhall-lang/dhall-haskell/pull/2290)
* Fixes and improvements to error messages
* [#2303](https://github.com/dhall-lang/dhall-haskell/pull/2303)
* Mon Nov 15 2021 psimons@suse.com
- Update dhall to version 1.40.1 revision 5.
Upstream has revised the Cabal build instructions on Hackage.
* Thu Nov 11 2021 psimons@suse.com
- Update dhall to version 1.40.1 revision 4.
Upstream has revised the Cabal build instructions on Hackage.
* Sun Nov 07 2021 psimons@suse.com
- Update dhall to version 1.40.1 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
* Mon Sep 27 2021 psimons@suse.com
- Update dhall to version 1.40.1 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
* Wed Aug 25 2021 psimons@suse.com
- Update dhall to version 1.40.1.
1.40.1
* [BUG FIX: Fix equivalence check for `Date` / `Time` / `TimeZone`](https://github.com/dhall-lang/dhall-haskell/pull/2291)
* 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 : Time` was failing to type-check
* Sun Aug 22 2021 psimons@suse.com
- Update dhall to version 1.40.0.
1.40.0
* [Almost supports version 20.2.0 of the standard](https://github.com/dhall-lang/dhall-lang/releases/tag/v20.2.0)
* The main thing that is missing is support for the `headers.dhall` file
* [BREAKING CHANGE TO THE LANGUAGE: Add support for `Date` / `Time` / `TimeZone` ](https://github.com/dhall-lang/dhall-haskell/pull/2247)
* This is a breaking change because `Date`, `Time`, and `TimeZone` are
now reserved identifiers
* [Improved fallback behavior for `?`](https://github.com/dhall-lang/dhall-haskell/pull/2203)
* [BREAKING CHANGE TO THE LANGUAGE: Require whitespace before `with`](https://github.com/dhall-lang/dhall-haskell/pull/2213)
* The parser now requires whitespace before the `with` keyword, 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
* [New `FromDhall` instances for `Predicate`, `Equivalence`, and `Op`](https://github.com/dhall-lang/dhall-haskell/pull/2278)
* [`dhall lint` will now sort `let` bindings with imports](https://github.com/dhall-lang/dhall-haskell/pull/2205)
* `dhall lint` now reorders `let` bindings 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
* [#2280](https://github.com/dhall-lang/dhall-haskell/pull/2280)
* Fixes and improvements to error messages
* [#2244](https://github.com/dhall-lang/dhall-haskell/pull/2244)
* [#2238](https://github.com/dhall-lang/dhall-haskell/pull/2238)
* Mon Jul 19 2021 psimons@suse.com
- Update dhall to version 1.39.0 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
* Thu Jul 15 2021 psimons@suse.com
- Update dhall to version 1.39.0 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Fri Jun 04 2021 psimons@suse.com
- Update dhall to version 1.39.0.
1.39.0
* [Supports version 20.2.0 of the standard](https://github.com/dhall-lang/dhall-lang/releases/tag/v20.2.0)
* [Add support for Unix shebangs](https://github.com/dhall-lang/dhall-haskell/pull/2175)
* [BREAKING CHANGE TO THE API: `dhall {format,freeze,lint}` now accept multiple
files](https://github.com/dhall-lang/dhall-haskell/pull/2169)
* The `--inplace` flag 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 `--inplace` flag 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
* [BREAKING CHANGE: Pre-6.0.0 hashes are no longer supported](https://github.com/dhall-lang/dhall-haskell/pull/2190)
* 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.Binary` module, where
certain utilities are no longer parameterized on a `StandardVersion`
* This is also a breaking change to any Dhall code that depended on these
really old integrity checks
* [BUG FIX: Formatting `≡` now correctly preserves the original character set](https://github.com/dhall-lang/dhall-haskell/pull/2176)
* [BUG FIX: Don't panic on `Text/replace ""`](https://github.com/dhall-lang/dhall-haskell/pull/2184)
* [Quasiquotation support for Dhall](https://github.com/dhall-lang/dhall-haskell/pull/2198)
* You can now convert a Dhall expression to the corresponding syntax tree
using a quasiquoter like this: `[dhall| \x -> x + 2 ]`
* [New `Dhall.Marshal.{Encode,Decode}` modules](https://github.com/dhall-lang/dhall-haskell/pull/2193)
* These modules split up the `Dhall` module into two smaller modules for
encoding and decoding logic, respectively
* The `Dhall` module still re-exports the same functionality as before, so
this is not a breaking change
* [Support GHC 9.0.1](https://github.com/dhall-lang/dhall-haskell/pull/2154)
* Fixes and improvements to code formatting
* [Improve pretty-printing of `sha256`](https://github.com/dhall-lang/dhall-haskell/pull/2189)
* Tue May 18 2021 psimons@suse.com
- Update dhall to version 1.38.1 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
* Tue May 11 2021 psimons@suse.com
- Update dhall to version 1.38.1 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Tue May 11 2021 Ond?ej Súkup <mimi.vx@gmail.com>
- relax constraints on memory
* Mon Mar 29 2021 psimons@suse.com
- Update dhall to version 1.38.1.
1.38.1
* [Add `INLINABLE` annotations in more places](https://github.com/dhall-lang/dhall-haskell/pull/2164)
* This may improve performance by enabling more specializations
* [Fix `hashable`-related test failures](https://github.com/dhall-lang/dhall-haskell/pull/2152)
* [Fix support for GHC 8.4.4](https://github.com/dhall-lang/dhall-haskell/pull/2143)
* … by using `GeneralizedNewtypeDeriving` (with a `z`)
* [Allow doctest-0.18](https://github.com/dhall-lang/dhall-haskell/pull/2148)
* [Allow bytestring-0.11](https://github.com/dhall-lang/dhall-haskell/pull/2144)
* Sat Feb 13 2021 psimons@suse.com
- Update dhall to version 1.38.0 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
* Thu Jan 28 2021 psimons@suse.com
- Update dhall to version 1.38.0 revision 1.
1.38.0
* [BREAKING CHANGE: Detect preferred character set from input](https://github.com/dhall-lang/dhall-haskell/pull/2108)
* `dhall format` will now preserve the character set of the formatted file
by default. In other words, if the file uses ASCII punctuation then
`dhall format` will format the file using ASCII punctuation.
* If the file contains both ASCII and Unicode punctuation it will prefer
Unicode by default
* This is a breaking change because the `Lam` / `Pi` / `Combine` /
`CombineTypes`, and `Prefer` constructors now take an additional argument
to record which character set was used
* [BUG FIX: Fix CORS compliance check](https://github.com/dhall-lang/dhall-haskell/pull/2121)
* Previous versions were not correctly enforcing CORS compliance
* This implies that some imports that would have worked previously by
accident will now fail; specifically: an import from one domain
transitively importing something from another domain that has not opted
into CORS
* [Add `ToDhall (Fix f)` instance](https://github.com/dhall-lang/dhall-haskell/pull/2122)
* Fixes and improvements to error messages
* [#2130](https://github.com/dhall-lang/dhall-haskell/pull/2130)
* Tue Dec 29 2020 psimons@suse.com
- Update dhall to version 1.37.1 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Thu Dec 17 2020 Ond?ej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
* Thu Dec 17 2020 psimons@suse.com
- Update dhall to version 1.37.1.
1.37.1
* [Fix performance regression for `with` expressions](https://github.com/dhall-lang/dhall-haskell/pull/2112)
* Mon Dec 07 2020 psimons@suse.com
- Update dhall to version 1.37.0.
1.37.0
* [Supports version 20.0.0 of the standard](https://github.com/dhall-lang/dhall-lang/releases/tag/v20.0.0)
* [Implement revised `Text/replace` β-normalization](https://github.com/dhall-lang/dhall-haskell/pull/2072)
* [Allow `Text/replace ""` to support an abstract haystack](https://github.com/dhall-lang/dhall-haskell/pull/2084)
* [Support `if` expressions returning a type or kind](https://github.com/dhall-lang/dhall-haskell/pull/2080)
* BREAKING CHANGE TO THE API: [Improve error message for duplicate projection label](https://github.com/dhall-lang/dhall-haskell/pull/2097)
* This also makes the implementation more standards-compliant, by treating
a duplicate label as a type error instead of a parse error
* This is a breaking change since the `Project` constructor now stores a
`[Text]` instead of `Set Text`
* [Add `--cache` flag to `dhall hash`](https://github.com/dhall-lang/dhall-haskell/pull/2093)
* This flag adds the hashed expression to the cache when enabled
* [Deprecate `Inject` / `Interpret`](https://github.com/dhall-lang/dhall-haskell/pull/2099)
* You should instead use `ToDhall` / `FromDhall`, respectively
* Fixes and improvements to the haddocks:
* [#2098](https://github.com/dhall-lang/dhall-haskell/pull/2098)
* [#2100](https://github.com/dhall-lang/dhall-haskell/pull/2100)
* Fixes and improvements to error messages:
* [#2082](https://github.com/dhall-lang/dhall-haskell/pull/2082)
* [#2095](https://github.com/dhall-lang/dhall-haskell/pull/2095)
* Fixes and improvements to the parser:
* [#2083](https://github.com/dhall-lang/dhall-haskell/pull/2089)
* Fixes and improvements to the pretty printer:
* [#2083](https://github.com/dhall-lang/dhall-haskell/pull/2083)
* [#2101](https://github.com/dhall-lang/dhall-haskell/pull/2101)