ANN: dune (jbuilder) 1.0+beta20

On behalf of the dune team, I’d like to announce the 20th beta of dune. This release features much improved support for odoc. The generated documentation more closely reflects the docs generated by the odig tool, and there’s a new documentation stanza used to attach documentation files to packages. For details, refer to the manual.

This release also features other goodies such as the universe (similar to phony rules in make) and package dependency types, and quite a few bug fixes. There are no known regressions and all users are encouraged to upgrade.


1.0+beta20 (10/04/2018)

  • Add a documentation stanza. This stanza allows one to attach .mld files to
    opam packages. (#570 @rgrinberg)

  • Execute all actions (defined using (action ..)) in the context’s
    environment. (#623 @rgrinberg)

  • Add a (universe) special dependency to specify that an action depend on
    everything in the universe. Jbuilder cannot cache the result of an action that
    depend on the universe (#603, fixes #255 @jeremiedimino)

  • Add a (package <package>) dependency specification to indicate
    dependency on a whole package. Rules depending on whole pacakge will
    be executed in an environment similar to the one we get once the
    package is installed (#624, @rgrinberg and @jeremiedimino)

  • Don’t pass -runtime-variant _pic on Windows (#635, fixes #573 @jeremiedimino)

  • Display documentation in alphabetical order. This is relevant to packages,
    libraries, and modules. (#647, fixes #606 @rgrinberg)

  • Missing asm in ocaml -config on bytecode only architecture is no longer fatal.
    The same kind of fix is preemptively applied to C compilers being absent.
    (#646, fixes $637 @rgrinberg)

  • Use the host’s PATH variable when running actions during cross compilation
    (#649, fixes #625 @rgrinberg)

  • Fix incorrect include (-I) flags being passed to odoc. These flags should be
    directories that include .odoc files, rather than the include flags of the
    libraries. (#652 fixes #651 @rgrinberg)

  • Fix a regression introduced by beta19 where the generated merlin
    files didn’t include the right -ppx flags in some cases (#658
    fixes #657 @jeremiedimino)

  • Fix error messaage when a public library is defined twice. Before
    jbuilder would raise an uncaught exception (Fixes #661, @jeremiedimino)

  • Fix several cases where external-lib-deps was returning too little
    dependencies (#667, fixes #644 @jeremiedimino)

  • Place module list on own line in generated entry point mld (#670 @antron)

  • Cosmetic improvements to generated entry point mld (#653 @trefis)