Commit f5aa06a
committed
[new release] dune (18 packages) (3.22.0~alpha1)
CHANGES:
### Fixed
- `Dyn.to_string` now uses a smarter way to convert floats. This ensures that
floats are printed with enough precision to round-trip and are valid OCaml
lexemes. (ocaml/dune#12982, fixes ocaml/dune#12980, @Alizter)
- Fix `dune install --prefix` failing with relative paths outside the workspace
like `../foo` (ocaml/dune#12993, fixes ocaml/dune#12241, @benodiwal)
- Place the default trace file inside the build directory at the
workspace root, rather than relative to the current directory.
(ocaml/dune#13735, @vouillon)
- Fixed interpreting relative paths in `%{bin:..}` and `%{bin-available:..}`.
These are now interpreted correctly, relative to the dune file they're in.
(ocaml/dune#13712, fixes ocaml/dune#9564, @anmonteiro)
- Delete sandboxes with broken permissions (ocaml/dune#13511, @rgrinberg)
- Fix compiling Menhir parsers that refer to sibling modules within a
subdirectory of `(include_subdirs qualified)`. (ocaml/dune#13118, fixes ocaml/dune#11119,
@anmonteiro)
- Fixed the dependency specification of C stubs, which could result in C
stubs not getting rebuilt when needed (which could in turn lead to
segmentation faults and other hard-to-track bugs).
(ocaml/dune#13652, fixes ocaml/dune#13651, @nojb)
- Fix the Dune cache on Windows by correctly handling renames onto read-only
files. Before this change, the Dune cache would be filled but the stored
artifacts would not generally be usable by Dune. (ocaml/dune#13713, @Nevor)
- Fix rpc not transferring promotion warnings to the client
(ocaml/dune#12604, fixes ocaml/dune#12578, @ElectreAAS)
- Fix issue where `dune exec -w` was unable to kill running programs on
rebuild. (ocaml/dune#12360, fixes ocaml/dune#12323, @Alizter)
- Fix package extraction on systems with tar implementations that don't
auto-detect compression (e.g., OpenBSD). Dune now passes explicit
decompression flags (-z for gzip, -j for bzip2) when needed, and provides
clear error messages for unsupported formats like XZ and LZMA. (ocaml/dune#13688,
fixes ocaml/dune#10123, @Alizter)
- Resolve context and workspace binaries introduced by the respective `(env
(binaries ..))` stanzas. (ocaml/dune#12952, fixes ocaml/dune#6220, @anmonteiro)
- Fix `diff` promotions originating from sandboxed rules. Previously, they
would be completely ignored as the sandbox with the promoted file would be
destroyed if the promotion fired (ocaml/dune#13520, @rgrinberg)
- Fix failure to digest installed directory targets, allowing them to be used
as dependencies to other rules. (ocaml/dune#13045, @anmonteiro)
- Fix handling of `(select ..)` field when used with `(include_subdirs ..)`.
`(select <path> from ..)` modules now parse `path` as a relative path
starting from the module group root (ocaml/dune#13175, fixes ocaml/dune#4383, ocaml/dune#12450,
@anmonteiro)
- Fix dune trying to kill processes that were already reaped due to race
conditions (ocaml/dune#13245, @rgrinberg)
- Add `O_CLOEXEC` to all files used for stdin/stdout/stderr (ocaml/dune#13385, @rgrinberg)
- Fix `$ dune promote dir/foo` when `dir` does not exist (ocaml/dune#13493, @rgrinberg)
- Fix `(select ..)` field evaluation when a transitive library has optional
dependencies (fixes ocaml/dune#13299, ocaml/dune#13389, @anmonteiro)
- Fix sandboxed builds of `library` stanzas that set
`(stdlib (modules_before_stdlib ..))` (ocaml/dune#13624, @anmonteiro)
- Dune cache: use of hard links under Windows. (ocaml/dune#13714, @Nevor)
- Fixed non-build caches not following `$DUNE_CACHE_ROOT` and instead only
relying on `$XDG_CACHE_HOME`.
This means the normal build cache moves:
`$DUNE_CACHE_ROOT -> $DUNE_CACHE_ROOT/db` (no changes if that variable was
unset). Affected users can prevent a full cache invalidation by moving
previous contents:
`cd $DUNE_CACHE_ROOT; mkdir db; mv <contents of directory> db`.
(ocaml/dune#11612, fixes ocaml/dune#11584, @ElectreAAS)
- `$ dune promotion list` writes output to stdout rather than stderr (ocaml/dune#13462)
- Improve handling of empty files in the `diff` action. These are now correctly
distinguished from *empty* files. (ocaml/dune#13696, @rgrinberg)
- Pass `/dev/null` to `--diff-command` instead of non-existent files (ocaml/dune#13696,
@rgrinberg)
- Fix failure when multiple `rocq.extraction` stanzas existing in a directory
(ocaml/dune#13531, fixes ocaml/dune#8042, @rlepigre-skylabs-ai)
- Print `$ dune promotion show` output to stdout rather than stderr (ocaml/dune#13481,
@rgrinberg)
- Fix deadlock in the `memo` library in the presence of dependency cycles
(ocaml/dune#13625, @anmonteiro)
- Fix promotions that modify a directory into a file (ocaml/dune#13516, fixes ocaml/dune#4067,
@rgrinberg)
- Fix installation of implementations of virtual libraries. This failed when
the implementation had no private modules, but the virtual library did
(ocaml/dune#10635, @rgrinberg)
- Respect the `(dir ..)` field on packages when setting up cram tests (ocaml/dune#13581,
@rgrinberg)
### Added
- Add support for generating `.cms` files using oxcaml and adding `.cms` or
`.cmt` files as compilation dependencies (ocaml/dune#13397, @spiessimon)
- Add trace events for custom actions (ocaml/dune#13265, @rgrinberg)
- Allow enabling extensions with `(using ..)` in `dune-workspace` files
(ocaml/dune#13395, @spiessimon)
- Add sandbox extraction trace event (ocaml/dune#13544, @rgrinberg)
- Add the initial cwd to the first config event (ocaml/dune#13026, @rgrinberg)
- Dune dune produces trace events in `DUNE_ACTION_TRACE_DIR` if this variable
is set. (ocaml/dune#13302, @rgrinberg)
- Add file watching events to the trace file (ocaml/dune#13038, @rgrinberg)
- Introduce the `$ dune trace cat` subcommand to view the trace file. (ocaml/dune#13055,
@rgrinberg)
- Add diagnostic events to the trace. (ocaml/dune#13041, @rgrinberg)
- Add `DUNE_JOBS` environment variable for controlling concurrency of Dune from
environment. The `INSIDE_DUNE` variable also now no longer controls
concurrency (ocaml/dune#12800, @Alizter)
- Support for Rocq expected output tests (ocaml/dune#13632, @rlepigre-skylabs-ai)
- Add `rusage` information to completed processes in the trace (@rgrinberg,
ocaml/dune#13241)
- Add process start events to the trace (ocaml/dune#13261, rgrinberg)
- Generate odoc documentation in markdown using the `@doc-markdown` alias
(ocaml/dune#12581, @davesnx)
- Add timing information for every command executed by cram (ocaml/dune#13092,
@rgrinberg)
- Add the workspace root to the config trace event (ocaml/dune#12922, @rgrinberg)
- Introduce the `dune-action-trace` library. This public library is to be used
by custom actions to emit trace events while executed as part of a dune
build. The trace events emitted through this library will be incorporated
into dune's own trace (ocaml/dune#13348, @rgrinberg)
- Add `dune-find-dominating` to `dune.el`, a command to find the
dominating dune file. (ocaml/dune#12696, @arvidj)
- Add a `--no-recursive` flag to `$ dune describe workspace` (ocaml/dune#13590, @rgrinberg)
- Trace events for files written directly by dune (ocaml/dune#13618, @rgrinberg)
- Allow expansion of special forms like `(:include ..)` and `%{read-lines:..}`
in the `modules` specification for the `ocamllex`, `ocamlyacc` and `menhir`
stanzas. (ocaml/dune#13105, ocaml/dune#13135, ocaml/dune#13157, @anmonteiro)
- Add a trace event for snapshotting the asndbox (ocaml/dune#13541, @rgrinberg)
- Add signal send and receive events to the trace (ocaml/dune#13193, @rgrinberg)
- Emit final trace event before exiting. (ocaml/dune#13018, @rgrinberg)
- `dune runtest` can now run individual test executables from `(tests)` stanzas
and inline tests from `(library (inline_tests))` stanzas by providing their
source files as arguments. (ocaml/dune#13064, fixes ocaml/dune#870, @Alizter)
- Add a `shell` field to the cram stanza. This field allows customizing the
shell to be `bash` rather than `sh` (ocaml/dune#13083, @haochenx)
### Changed
- Start sandboxing the execution of tests defined with the `test` and `tests`
stanzas (ocaml/dune#13510, ocaml/dune#13617, @rgrinberg)
- Disabled cram tests can now be run explicitly with `dune runtest disabled.t`.
The `enabled_if` field now only controls whether a test is included in
the `@runtest` alias. (ocaml/dune#13081, @Alizter)
- Process categories in trace events are moved to their own field in `args`
(ocaml/dune#13024, @rgrinberg)
- Sandbox running `ocamllex` and `ocamlyacc` actions. (ocaml/dune#13098, @anmonteiro)
- Sandboxing mdx test actions is now the default starting from `0.5` (ocaml/dune#13504,
@rgrinberg)
- Start sandboxing Melange rules by default in the `(library ..)` and
`(melange.emit ..)` stanzas (ocaml/dune#13619, @anmonteiro)
- Introduce a promotion trace event and remove the corresponding verbose log
message. (ocaml/dune#12949, ocaml/dune#13444, @rgrinberg)
- Change dune's trace format to emit canonical s-expressions. This improves
performance and is better aligned with dune's usage of the format
elsewhere. `$ dune trace cat` can also emit the trace in `--chrome-trace`
for perfetto, or `--sexp` for regular s-expressions for interactive usage.
(ocaml/dune#13059, @rgrinberg)
- Move all logging statements to the trace file. All log statements now contain
structured payloads (ocaml/dune#13015, fixes ocaml/dune#12904, @rgrinberg)
- Add a target resolution event to replace the equivalent log message (ocaml/dune#12955,
@rgrinberg)1 parent 3c0d720 commit f5aa06a
File tree
18 files changed
+796
-0
lines changed- packages
- chrome-trace/chrome-trace.3.22.0~alpha1
- dune-action-plugin/dune-action-plugin.3.22.0~alpha1
- dune-action-trace/dune-action-trace.3.22.0~alpha1
- dune-build-info/dune-build-info.3.22.0~alpha1
- dune-configurator/dune-configurator.3.22.0~alpha1
- dune-glob/dune-glob.3.22.0~alpha1
- dune-private-libs/dune-private-libs.3.22.0~alpha1
- dune-rpc-lwt/dune-rpc-lwt.3.22.0~alpha1
- dune-rpc/dune-rpc.3.22.0~alpha1
- dune-site/dune-site.3.22.0~alpha1
- dune/dune.3.22.0~alpha1
- dyn/dyn.3.22.0~alpha1
- fs-io/fs-io.3.22.0~alpha1
- ocamlc-loc/ocamlc-loc.3.22.0~alpha1
- ordering/ordering.3.22.0~alpha1
- stdune/stdune.3.22.0~alpha1
- top-closure/top-closure.3.22.0~alpha1
- xdg/xdg.3.22.0~alpha1
18 files changed
+796
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
Lines changed: 52 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
Lines changed: 39 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
Lines changed: 49 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
Lines changed: 50 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
0 commit comments