Dune 3.6.0
Dear dune users, It is my pleasure to announce that dune 3.6.0 is now available on opam 🎉. Here's the changelog - I reused the same classification as in the previous announce for dune 3.5.0. Thanks again to all the contributors including bug reporters.
See full changelog
dune executable
This lists features of the “dune” executable itself. Upgrading dune will bring in these changes. We consider these changes safe, but it is difficult to define what a breaking change is for a command-line tool (for example, some error messages change). It is important to note that just upgrading the dune executable is not supposed to change how dune interprets existing projects. If just upgrading dune breaks compilation, it is a bug in dune, please report it!
Added
- Introduce a
$ dune ocaml top-module
subcommand to load modules directly without sealing them behind the signature. (#5940, @rgrinberg) - Revive
$ dune external-lib-deps
under$ dune describe external-lib-deps
. (#6045, @moyodiallo) - Extend the promotion CLI to a
dune promotion
group:dune promote
is moved todune promotion apply
(the former still works) and the newdune promotion diff
command can be used to just display the promotion without applying it. (#6160, fixes #5368, @emillon) - Build progress status now shows number of failed jobs (#6242, @Alizter)
- Allow promoting into source directories specified by
subdir
(#6404, fixes #3502, @rgrinberg) - Support
CLICOLOR
andCLICOLOR_FORCE
to enable/disable/force ANSI colors. (#6340, fixes #6323, @MisterDA). - Create a fake socket file
_build/.rpc/dune
on windows to allow rpc clients to connect using the build directory. (#6329, @rgrinberg)
Fixed
- Forbid multiple instances of dune running concurrently in the same workspace. (#6360, fixes #236, @rgrinberg)
- Make dune describe workspace return the correct root path (#6380, fixes #6379, @esope)
- Fix running inline tests in bytecode mode (#5622, fixes #5515, @dariusf)
(lang dune 3.6)
This lists changes if you opt into the new (lang dune 3.6)
version in your dune-project file. For this too, these are changes that we consider safe, but they can require changes to your dune files. For example, sandboxing is enabled in more places, which means that you might have to be more precise in expressing your dependencies. Please reach out on the issue tracker if you have trouble fixing your dune file or if something does not seem to be possible anymore.
Added
- Add
(glob_files <glob>)
and(glob_files_rec <glob>)
terms to thefiles
field of theinstall
stanza (#6250, closes #6018, @gridbugs) - Allow
Byte_complete
binaries to be installable (#4837, @AltGr, @rgrinberg) - Allow
:standard
in the(modules)
field of thecoq.pp
stanza (#6229, fixes #2414, @Alizter)
Fixed
- Allow absolute build directories to find public executables. For example, those specified with
(deps %{bin:...})
(#6326, @anmonteiro) - [ctypes] do not mangle user written names in the ctypes stanza (#6374, fixes #5561, @rgrinberg)
- Forbid private libraries with
(package ..)
set from depending on private libraries that don't belong to a package (#6385, fixes #6153, @rgrinberg) - [ctypes] always re-run
pkg-config
because we aren't tracking its external dependencies (#6052, @rgrinberg) - [ctypes] remove dependency on configurator in the generated rules (#6052, @rgrinberg)
- Fix passing of flags to dune coq top (#6369, fixes #6366, @Alizter)
- Prevent crash if absolute paths are used in the install stanza and in recursive globs. These cases now result in a user error. (#6331, @gridbugs)