The Dune team is pleased to announce the release of dune 3.24.0.
Highlights include the following:
-
Dune package management now uses the relocatable compiler by default, for all supported compiler versions. This brings a massive speedup to workspace setup in the many cases where built compiler versions can be reused. (ocaml/dune#14357, @Alizter)
-
Directory targets are now generally available (ocaml/dune#14579), allowing tools to produce entire directory trees as targets. See the documentation on directory targets for details.
-
Path handling has been refined, improving the consistency of paths across platforms (ocaml/dune#14278 and ocaml/dune#14278) and using a more consistent and disciplined location for
%{bin:NAME}variable expansions (ocaml/dune#14432). -
Path-valued percent forms (
%{bin:...},%{dep:...},%{path:...}, and friends) now expand same-directory paths with a leading./, so that shells likebashin(bash ...)and(system ...)actions execute them directly instead of looking them up inPATH(ocaml/dune#15156). This is a breaking change for configurations that were handling paths naively, and neglected to normalize the representation before using it test fixtures or for constructing other strings. -
The deprecated
lang coqhas been removed, as scheduled, superseded bylang rocq. See ocaml/dune#12788 for details.
See the full changelog for all new features and fixes, and for attribution to the contributors who made it all possible. Thank you, contributors!
If you encounter a problem with this release, please report it in our issue tracker.