[ANN] Dune 1.8.0

announce
dune

#1

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 .cxx extension for C++ stubs (#1831, @rgrinberg)

  • Add DUNE_WORKSPACE variable. This variable is equivalent to setting
    --workspace in the command line. (#1711, fix #1503, @rgrinberg)

  • Add c_flags and cxx_flags to env profile settings (#1700 and #1800,
    @gretay-js)

  • Format dune printenv output (#1867, fix #1862, @emillon)

  • Add the (promote-into <dir>) and `(promote-until-clean-into

    )` 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)
  • Improve error message when dune subst fails (#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, @diml)

  • Fix generation of .merlin files on Windows. \ characters needed
    to be escaped (#1869, @mlasson)

  • Fix 0 error code when $ dune format-dune-file fails. (#1915, fix #1914,
    @rgrinberg)

  • Configurator: deprecated query_expr and introduced query_expr_err which 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-rules or -p (#1917, @diml)