On behalf of the dune team, I’m pleased to announce release 1.8. The highlight of this release is a standalone preprocessor that allows OCaml programs to use the new let bindings introduced in 1.8 and still be compatible with OCaml versions all the way back to 4.02.
This release includes some important contributions from a new contributor: @aalekseyev. So I would like to use this opportunity to welcome him to the team. Thanks Arseniy!
The change log is replicated here for your convenience:
1.8.0 (07/03/2019)
-
Clean up watch mode polling loop: improves signal handling and error handling
during polling (#1912, fix #1907, fix #1671, @aalekseyev) -
Change status messages during polling to be one-line, so that the messages are
correctly erased by ^K. (#1912, @aalekseyev) -
Add support for
.cxxextension for C++ stubs (#1831, @rgrinberg) -
Add
DUNE_WORKSPACEvariable. This variable is equivalent to setting
--workspacein the command line. (#1711, fix #1503, @rgrinberg) -
Add
c_flagsandcxx_flagsto env profile settings (#1700 and #1800,
@gretay-js) -
Format
dune printenvoutput (#1867, fix #1862, @emillon) -
Add the
)` modes for `(rule ...)` stanzas, so that files can be promoted in another directory than the current one. For instance, this is used in merlin to promote menhir generated files in a directory that depends on the version of the compiler (#1890, @diml)(promote-into <dir>)and `(promote-until-clean-into -
Improve error message when
dune substfails (#1898, fix #1897, @rgrinberg) -
Add more GC counters to catapult traces (fix908, @rgrinberg)
-
Add a preprocessor shim for the
let+syntax of OCaml 4.08 (#1899,
implements #1891, @jeremiedimino) -
Fix generation of
.merlinfiles on Windows.\characters needed
to be escaped (#1869, @mlasson) -
Fix 0 error code when
$ dune format-dune-filefails. (#1915, fix #1914,
@rgrinberg) -
Configurator: deprecated
query_exprand introducedquery_expr_errwhich is
the same but with a better error in case it fails. (#1886, @ejgallego) -
Make sure
(menhir (mode promote) ...)stanzas are ignored when
using--ignore-promoted-rulesor-p(#1917, @jeremiedimino)