We’re happy to announce the release of Dune 3.16.0.
Among the list of chances, this release contains improvements to melange support and a way to look for references in a whole project using merlin and ocaml-lsp.
3.16.0 (2024-06-17)
Added
-
allow libraries with the same
(name ..)in projects as long as they don’t conflict during resolution (viaenabled_if). (#10307, @anmonteiro, @jchavarri) -
dune describe ppnow finds the exact module and the stanza it belongs to, instead of guessing the name of the preprocessed file. (#10321, @anmonteiro) -
Print the result of
dune describe ppwith the respective dialect printer. (#10322, @anmonteiro) -
Add new flag
--contexttodune ocaml-merlin, which allows to select a Dune context when requesting Merlin config. Adddune describe contextssubcommand. Introduce a fieldgenerate_merlin_rulesfor contexts declared in the workspace, that allows to optionally produce Merlin rules for other contexts besides the one selected for Merlin (#10324, @jchavarri) -
melange: add include paths for private library
.cmjfiles during JS emission. (#10416, @anmonteiro) -
dune ocaml-merlin: communicate additional directivesSOURCE_ROOT,UNIT_NAME(the actual name with wrapping) andINDEXwith the paths to the index(es). (#10422, @voodoos) -
Add a new alias
@ocaml-indexthat uses theocaml-indexbinary to generate indexes that can be read by tools such as Merlin to provide project-wide references search. (#10422, @voodoos) -
merlin: add optional
(merlin_reader CMD)construct to(dialect)stanza to configure a merlin reader (#8567, @andreypopp)
Changed
-
melange: treat private libraries with
(package ..)as public libraries, fixing an issue whereimportpaths were wrongly emitted. (#10415, @anmonteiro) -
install
.globfiles for Coq theories too (#10602, @ejgallego)
Fixed
-
Don’t try to document non-existent libraries in doc-new target (#10319, fixes #10056, @jonludlam)
-
Make
dune-site’sload_allfunction look forMETAfiles so that it doesn’t fail on empty directories in the plugin directory (#10458, fixes #10457, @shym) -
Fix incorrect warning for libraries defined inside non-existant directories using
(subdir ..)and used by executables usingdune-build-info(#10525, @rgrinberg) -
Don’t try to take build lock when running
coq top --no-build(#10547, fixes #7671, @lzy0505) -
Make sure to truncate dune’s lock file after locking and unlocking so that users cannot observe incorrect pid’s (#10575, @rgrinberg)
-
mdx: link mdx binary with
byte_complete. This fixes(libraries)with foreign archives on Linux. (#10586, fixes #10582, @anmonteiro) -
virtual libraries: fix an issue where linking an executable involving several virtual libries would cause an error. (#10581, fixes #10460, @rgrinberg)