Dune 1.5.0
On behalf of the dune team, I'm pleased to announce the 1.5.0 release of dune. This release does not contain any major features, but it does contain a few notable bug fixes and a couple of useful little additions. First of all, $ dune exec now supports C-c again - I know this affected many of you. This releases introduces a couple of new aliases that will hopefully find their way into your workflows.
The first alias is @all and has been much requested by our users. $ dune build @dir/all will build all user defined targets in a the directory dir. This would include binaries, libraries, and user defined targets in dir. This alias should have been the defaulted instead of @install when running $ dune build, but we'll have to wait until dune 2.0 to make this compatibility breaking change. In the mean time, I highly recommend everyone to use $ dune build @all instead of $ dune build meanwhile. You may also set the default alias per project as well:
(alias
 (name default)
 (deps (alias_rec all)))
The second new alias is @check. It is inspired by cargo's check subcommand and roughly corresponds to type checking the project and building all artifacts necessary for editor integration - cmt, cmti's, .merlin, etc. This is the fastest target to verify that a project is in a valid state. Note that this alias will not relink binaries so it might not catch errors such as missing stubs. I find this alias handy when doing large, type driven refactoring of a codebase.
The rest of the change log is replicated below. Happy hacking!
See full changelog
- 
Filter out empty paths from OCAMLPATHandPATH(#1436, @rgrinberg)
- 
Do not add the lib.cma.jstarget in lib's directory. Put this target in a sub directory instead. (#1435, fix #1302, @rgrinberg)
- 
Install generated OCaml files with a .mlrather than a.ml-genextension (#1425, fix #1414, @rgrinberg)
- 
Allow to use the bigarraylibrary in >= 4.07 without ocamlfind and without installing the correspondingotherlib. (#1455, @nojb)
- 
Add @allalias to build all targets defined in a directory (#1409, fix #1220, @rgrinberg)
- 
Add @checkalias to build all targets required for type checking and tooling support. (#1447, fix #1220, @rgrinberg)
- 
Produce the odoc index page with the content wrapper to make it consistent with odoc's theming (#1469, @rizo) 
- 
Unblock signals in processes started by dune (#1461, fixes #1451, @jeremiedimino) 
- 
Respect OCAMLFIND_TOOLCHAINand add atoolchainoption to contexts in the workspace file. (#1449, fix #1413, @rgrinberg)
- 
Fix error message when using copy_filesstanza to copy files from a non sub directory with lang set to dune < 1.3 (#1486, fixes #1485, @NathanReb)
- 
Install man pages in the correct subdirectory (#1483, fixes #1441, @emillon) 
- 
Fix version syntax check for teststanza'sactionfield. Only emits a warning for retro-compatibility (#1474, fixes #1471, @NathanReb)
- 
Fix interpretation of paths in envstanzas (#1509, fixes #1508, @jeremiedimino)
- 
Add context_nameexpansion variable (#1507, @rgrinberg)
- 
Use shorter paths for generated on-demand ppx drivers. This is to help Windows builds where paths are limited in length (#1511, fixes #1497, @jeremiedimino) 
- 
Fix interpretation of environment variables under setenv. Also forbid dynamic environment names or values (#1503, @rgrinberg).