---
# System prepended metadata

title: '[ANN] Dune 3.6.0'

---

# [ANN] Dune 3.6.0

Dear dune users,
It is my pleasure to announce that dune 3.6.0 is now available on opam :tada:.
Here's the changelog - I reused the same classification as in the [previous announce for dune 3.5.0](https://discuss.ocaml.org/t/ann-dune-3-5-0/10660).

## 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 to `dune promotion apply` (the former still works) and the new `dune 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` and `CLICOLOR_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 the `files` field of the `install` stanza (#6250, closes #6018, @gridbugs)
- Allow `Byte_complete` binaries to be installable (#4837, @AltGr, @rgrinberg)
- Allow `:standard` in the `(modules)` field of the `coq.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)