Skip to content

Dhall for Java 0.2.0

Compare
Choose a tag to compare
@travisbrown travisbrown released this 21 Apr 08:11
· 80 commits to master since this release
v0.2.0
94f1c6c

This is the first release of the second release series of the Dhall for Java project.

Like the 0.1.x releases, this release supports version 15.0.0 of the Dhall language and (where relevant) the Dhall Prelude, with one exception: we don't support quoted URL paths, which were deprecated in 15.0.0 and will be removed in 17.0.0.

Status

We believe that this release is 100% standard-compliant; all of the Dhall acceptance tests are now passing.

There are several known issues:

Please note that we follow the current 1.31.1 release of dhall-haskell in reducing partially saturated built-ins, although this is not the behavior indicated in the language specification. We'll publish a new release with the specified behavior as soon as there's a dhall-haskell release with the fix.

This is still a very new project, and there are likely to be many bugs that we don't know about. Please use with care.

Bug fixes

This release fixes several bugs in 0.1.x:

  • The parser now accepts expressions like []: List Natural: Type (see #36 for details).
  • Newlines are now escaped properly in YAML output (see #38 and the report by @amesgen in #27).
  • Local imports now support quoted paths (thanks to @TimWSpence in #35).
  • The dhall-imports module no longer depends on a specific http4s client (thanks to @amesgen in #30).
  • All Java modules are built with -target 1.7 (previously only dhall-core had been; see #15 and #28).

New features

This release introduces an extension to the language specification to support local imports from the JVM classpath (see this thread and @TimWSpence's work in #32 and #33 for details).

Compatibility

This release is not guaranteed to be binary-compatible with 0.1.x, although most modules have few or no breaking changes and should be mostly source-compatible. The dhall-imports module is the only exception: its API has changed significantly (see e.g. #32, #45, #49, and #50). This release is also not guaranteed to be binary-compatible with 0.3.x or other future release series, but after the dhall-imports reworking here we don't anticipate any major API changes.