[new release] dune (15 packages) (3.11.0~alpha1) #24435
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fast, portable, and opinionated build system
CHANGES:
Modules that were declared in
(modules_without_implementation)
,(private_modules)
or(virtual_modules)
but not declared in(modules)
will raise an error. (chore: make undeclared modules check an error dune#7674, @Alizter)
enabled_if
now supportsarch_sixtyfour
variable (feature: allow arch_sixtyfour in enabled_if dune#8023, fixes Support the "word_size" variable in "enabled_if". dune#7997,@Alizter)- Use
posix_spawn
instead offork
on MacOS. This gives us aperformance boost and allows us to re-enable thread. (feature: use posix_spawn on macos dune#8090, @rgrinberg)
Experimental: Added a
$ dune monitor
command that can connect to a runningdune build
in watch mode and display the errors and progress. (feature: dune monitor dune#8152,@Alizter)
No longer emit linkopts(javascript) in META files (remove linkopts(javascript) from META dune#8168, @hhugo)
The
progress
RPC procedure now has an extra field for theIn_progress
constructor for the number of failed jobs. (feature(rpc): add failed jobs to progress dune#8212, @Alizter)
Add a
--preview
flag todune fmt
which causes it to print out the changesit would make without applying them (Add flag to
dune fmt
to disable promoting dune#8289, @gridbugs)Introduce
(source_trees ..)
to the install stanza to allow installingentire source trees. (feature: allow installing source trees dune#8349, @rgrinberg)
Deprecate install destination paths beginning with ".." to prevent packages
escaping their designated installation directories. (fix: Prevent relative install destinations leaking outside package install dir dune#8350, @gridbugs)
Stop signing source files with substitutions. Sign only binaries instead
(fix: only sign executables dune#8361, fixes Artifact substitution tries to sign
.ml
files dune#8360, @anmonteiro)Add
--stop-on-first-error
option todune build
which will terminate thebuild when the first error is encountered. (feature: add --stop-on-first-error CLI option dune#8400, @pmwhite and @Alizter)-
Dune now displays the number of errors when waiting for changes in watch
mode. (feature: show number of errors when waiting in watch mode dune#8408, fixes Watch mode should count failures when pending dune#6889, @Alizter)
Add
with_prefix
keyword for changing the prefix of the destination ofinstalled files matched by globs. (Add with_prefix keyword for installing globs dune#8416, @gridbugs)
Added experimental
--display tui
option for Dune that opens an interactiveTerminal User Interface (TUI) when Dune is running. Press '?' to open up a
help screen when running for more information. (TUI dune#8429, @Alizter and
@rgrinberg)
Add a
warnings
field todune-project
files as a unified mechanism toenable or disable dune warnings (@rgrinberg, 8448)
dune exec
: support syntax like%{bin:program}
. This can appear anywherein the command line, so things like
dune exec time %{bin:program}
now work.(dune exec: support pform syntax dune#6035, dune exec: support pform syntax (rebased) dune#8474, fixes Allow dune exec underneath perf rather than having to specify a target from _build. dune#2691, @emillon, @Leonidas-from-XIV)
RPC message styles are now serialised meaning that RPC diagnostics keep their
Ansi styling. (rpc: serialize user message styles dune#8516, fixes Extend diagnostics RPC with display markup dune#6921, @Alizter)- Ignore internal promote rules
when
--ignore-promoted-rules
is set (fix: --ignore-promoted-rules should work on internal rules dune#8518, fix Dune sometimes changes *.opam files in release mode dune#8417, @rgrinberg)Truncate output from actions that produce too much output (@tov, chore(pkg): Update our vendored OPAM copy dune#8351)
Allow libraries to shadow OCaml builtin libraries. Previously, builtin
libraries would always take precedence. (@rgrinberg, fix: allow shadowing builtins dune#8558)
Remove warning against
.dune
files generated by pre dune 2.0 (fix: remove check for [.dune] files dune#8611,@rgrinberg)
dune utop
no longer linksutop
in "custom" mode, which should make thiscommand considerably faster. (dune utop: do not do custom linking dune#8631, fixes Revamp dune utop for greater speed dune#6894, @nojb)
Ensure that package names in
dune-project
are valid opam packagenames. (feature: check package names are valid opam names dune#8331, @emillon)
dune init: parse
--public
as a public name (fix(init): parse --public as a public name dune#8603, fixes Dune init's--public
doesn't allow dashes dune#7108, @emillon)Remove versions 0.1 and 0.2 of the experimental ctypes extension. (Delete ctypes extensions 0.1 and 0.2 dune#8293,
@emillon)