On behalf of the dune team, I’m pleased to announce the release of Dune 1.9.0. This release introduces a few exciting new features:
- A tagging mechanism for implementations called variants
- The ability to build libraries in the Coq proof assistant.
- A new
dune initcommand to help users quickly generate boilerplate and get start with dune projects (contributed by @shonfeder)
I would like to thank Lucas Pluvinage and @ejgallego for contributing the first two features respectively. They’ve also collaborated on a blog post to describe these features in detail.
As usual, the change log is replicated here for your convenience:
1.9.0 (09/04/2019)
-
Warn when generated
.merlindoes not reflect the preprocessing
specification. This occurs when multiple stanzas in the same directory use
different preprocessing specifications. This warning can now be disabled with
allow_approx_merlin(#1947, fix #1946, @rgrinberg) -
Watch mode: display “Success” in green and “Had errors” in red (#1956,
@emillon) -
Fix glob dependencies on installed directories (#1965, @rgrinberg)
-
Add support for library variants and default implementations. (#1900,
@TheLortex) -
Add experimental
$ dune initcommand. This command is used to create or
update project boilerplate. (#1448, fixes #159, @shonfeder) -
Experimental Coq support (fix #1466, @ejgallego)
-
Install .cmi files of private modules in a
.privatedirectory (#1983, fix
#1973 @rgrinberg) -
Fix
dune substattempting to substitute on directories. (#2000, fix #1997,
@rgrinberg) -
Do not list private modules in the generated index. (#2009, fix #2008,
@rgrinberg) -
Warn instead of failing if an opam file fails to parse. This opam file can
still be used to define scope. (#2023, @rgrinberg) -
Do not crash if unable to read a directory when traversing to find root
(#2024, @rgrinberg) -
Do not exit dune if some source directories are unreadable. Instead, warn the
user that such directories need to be ignored (#2004, fix #310, @rgrinberg) -
Fix nested
(binaries ..)fields in theenvstanza. Previously, parent
binariesfields would be ignored, but instead they should be combined.
(#2029, @rgrinberg) -
Allow “.” in
c_namesandcxx_names(#2036, fix #2033, @rgrinberg) -
Format rules: if a dune file uses OCaml syntax, do not format it.
(#2014, fix #2012, @emillon)