CHANGES:
### Fixed
- Support HaikuOS: don't call `execve` since it's not allowed if other pthreads
have been created. The fact that Haiku can't call `execve` from other threads
than the principal thread of a process (a team in haiku jargon), is a
discrepancy to POSIX and hence there is a [bug about
it](https://dev.haiku-os.org/ticket/18665). (@Sylvain78, ocaml/dune#10953)
- Fix flag ordering in generated Merlin configurations (ocaml/dune#11503, @voodoos, fixes
ocaml/merlin#1900, reported by @vouillon)
### Added
- Add `(format-dune-file <src> <dst>)` action. It provides a replacement to
`dune format-dune-file` command. (ocaml/dune#11166, @nojb)
- Allow the `--prefix` flag when configuring dune with `ocaml configure.ml`.
This allows to set the prefix just like `$ dune install --prefix`. (ocaml/dune#11172,
@rgrinberg)
- Allow arguments starting with `+` in preprocessing definitions (starting with
`(lang dune 3.18)`). (@amonteiro, ocaml/dune#11234)
- Support for opam `(maintenance_intent ...)` in dune-project (ocaml/dune#11274, @art-w)
- Validate opam `maintenance_intent` (ocaml/dune#11308, @art-w)
- Support `not` in package dependencies constraints (ocaml/dune#11404, @art-w, reported
by @hannesm)
### Changed
- Warn when failing to discover root due to reads failing. The previous
behavior was to abort. (@KoviRobi, ocaml/dune#11173)
- Use shorter path for inline-tests artifacts. (@hhugo, ocaml/dune#11307)
- Allow dash in `dune init` project name (ocaml/dune#11402, @art-w, reported by @saroupille)
- On Windows, under heavy load, file delete operations can sometimes fail due to
AV programs, etc. Guard against it by retrying the operation up to 30x with a
1s waiting gap (ocaml/dune#11437, fixes ocaml/dune#11425, @MSoegtropIMC)
- Cache: we now only store the executable permission bit for files (ocaml/dune#11541,
fixes ocaml/dune#11533, @ElectreAAS)
- Display negative error codes on Windows in hex which is the more customary
way to display `NTSTATUS` codes (ocaml/dune#11504, @MisterDA)