Dhall for Java 0.8.0-M1
Pre-releaseThis release updates the Dhall language version from 19.0.0 to 20.0.0.
This release also fixes a bug in the behavior of Text/replace
on single-quoted text literals containing tabs. For example, while e.g. ≡
compared these correctly in previous releases…
scala> import org.dhallj.syntax._
import org.dhallj.syntax._
scala> "assert: \"\\t\\n\" ≡ ''\n\t\n''".parseExpr.flatMap(_.typeCheck)
val res0: scala.util.Either[org.dhallj.core.DhallException,org.dhallj.core.Expr] = Right("\t\n" ≡ "\u0009\n")
…Text/replace
did not:
scala> "assert: \"foo\\n\" ≡ Text/replace \"\\t\" \"foo\" ''\n\t\n''".parseExpr.flatMap(_.typeCheck)
val res1: scala.util.Either[org.dhallj.core.DhallException,org.dhallj.core.Expr] = Left(org.dhallj.core.typechecking.TypeCheckFailure: Not an equivalence)
This is now fixed:
scala> import org.dhallj.syntax._
import org.dhallj.syntax._
scala> "assert: \"\\t\\n\" ≡ ''\n\t\n''".parseExpr.flatMap(_.typeCheck)
val res0: scala.util.Either[org.dhallj.core.DhallException,org.dhallj.core.Expr] = Right("\t\n" ≡ "\t\n")
scala> "assert: \"foo\\n\" ≡ Text/replace \"\\t\" \"foo\" ''\n\t\n''".parseExpr.flatMap(_.typeCheck)
val res1: scala.util.Either[org.dhallj.core.DhallException,org.dhallj.core.Expr] = Right("foo\n" ≡ "foo\n")
This bug had been around for a while, but the acceptance tests didn't catch it until this recent dhall-lang change.
Since the last release we've also bumped several dependency versions (#170), migrated from Travis CI to GitHub Actions (#169), and fixed a typo in the published metadata (#171).
This release is verified by MiMa to be backward-binary-compatible with 0.7.0-M1.
There is one known issue in this release, which was also a known issue in 0.5.0-M1, 0.6.0-M1, and 0.7.0-M1 (see the 0.5.0-M1 release notes for details), but it only affects the dhall-imports Scala module, and should not affect most usage.