Releases: ocaml/dune
3.11.0~alpha2
3.11.0~alpha1
CHANGES:
-
Modules that were declared in
(modules_without_implementation)
,
(private_modules)
or(virtual_modules)
but not declared in(modules)
will raise an error. (#7674, @Alizter) -
enabled_if
now supportsarch_sixtyfour
variable (#8023, fixes #7997,
@Alizter)- Useposix_spawn
instead offork
on MacOS. This gives us a
performance boost and allows us to re-enable thread. (#8090, @rgrinberg) -
Experimental: Added a
$ dune monitor
command that can connect to a running
dune build
in watch mode and display the errors and progress. (#8152,
@Alizter) -
No longer emit linkopts(javascript) in META files (#8168, @hhugo)
-
The
progress
RPC procedure now has an extra field for theIn_progress
constructor for the number of failed jobs. (#8212, @Alizter) -
Add a
--preview
flag todune fmt
which causes it to print out the changes
it would make without applying them (#8289, @gridbugs) -
Introduce
(source_trees ..)
to the install stanza to allow installing
entire source trees. (#8349, @rgrinberg) -
Deprecate install destination paths beginning with ".." to prevent packages
escaping their designated installation directories. (#8350, @gridbugs) -
Stop signing source files with substitutions. Sign only binaries instead
(#8361, fixes #8360, @anmonteiro) -
Add
--stop-on-first-error
option todune build
which will terminate the
build when the first error is encountered. (#8400, @pmwhite and @Alizter)-
Dune now displays the number of errors when waiting for changes in watch
mode. (#8408, fixes #6889, @Alizter) -
Add
with_prefix
keyword for changing the prefix of the destination of
installed files matched by globs. (#8416, @gridbugs) -
Added experimental
--display tui
option for Dune that opens an interactive
Terminal User Interface (TUI) when Dune is running. Press '?' to open up a
help screen when running for more information. (#8429, @Alizter and
@rgrinberg) -
Add a
warnings
field todune-project
files as a unified mechanism to
enable or disable dune warnings (@rgrinberg, 8448) -
dune exec
: support syntax like%{bin:program}
. This can appear anywhere
in the command line, so things likedune exec time %{bin:program}
now work.
(#6035, #8474, fixes #2691, @emillon, @Leonidas-from-XIV) -
RPC message styles are now serialised meaning that RPC diagnostics keep their
Ansi styling. (#8516, fixes #6921, @Alizter)- Ignore internal promote rules
when--ignore-promoted-rules
is set (#8518, fix #8417, @rgrinberg) -
Truncate output from actions that produce too much output (@tov, #8351)
-
Allow libraries to shadow OCaml builtin libraries. Previously, builtin
libraries would always take precedence. (@rgrinberg, #8558) -
Remove warning against
.dune
files generated by pre dune 2.0 (#8611,
@rgrinberg) -
dune utop
no longer linksutop
in "custom" mode, which should make this
command considerably faster. (#8631, fixes #6894, @nojb) -
Ensure that package names in
dune-project
are valid opam package
names. (#8331, @emillon) -
dune init: parse
--public
as a public name (#8603, fixes #7108, @emillon) -
Remove versions 0.1 and 0.2 of the experimental ctypes extension. (#8293,
@emillon)
3.10.0
CHANGES:
-
Add
dune show rules
as alias of thedune rules
command. (#8000, @Alizter) -
Fix
%{deps}
to expand properly in(cat ...)
when containing 2 or more
items. (#8196, @Alizter) -
Add
dune show installed-libraries
as an alias of thedune installed-libraries
command. (#8135, @Alizter) -
Fix the
severity
of error messages sent over RPC which was missing. (#8193,
@Alizter) -
Add
dune build --dump-gc-stats FILE
argument to dump garbage collection
stats to a named file. (#8072, @Alizter) -
Fix bug with ppx and Reason syntax due to missing dependency in sandboxed
action (#7932, fixes #7930, @Alizter) -
Add
dune describe package-entries
to print all package entries (#7480,
@moyodiallo) -
Improve
dune describe external-lib-deps
by adding the internal dependencies
for more information. (#7478, @moyodiallo) -
Re-enable background file digests on Windows. The files are now open in a way
that prevents race condition around deletion. (#8262, fixes #8268, @emillon)
3.9.3
3.10.0~alpha1
CHANGES:
-
Add
dune show rules
as alias of thedune rules
command. (#8000, @Alizter) -
Fix
%{deps}
to expand properly in(cat ...)
when containing 2 or more
items. (#8196, @Alizter) -
Add
dune show installed-libraries
as an alias of thedune installed-libraries
command. (#8135, @Alizter) -
Fix the
severity
of error messages sent over RPC which was missing. (#8193,
@Alizter) -
Add
dune build --dump-gc-stats FILE
argument to dump garbage collection
stats to a named file. (#8072, @Alizter) -
Fix bug with ppx and Reason syntax due to missing dependency in sandboxed
action (#7932, fixes #7930, @Alizter) -
Add
dune describe package-entries
to print all package entries (#7480,
@moyodiallo) -
Improve
dune describe external-lib-deps
by adding the internal dependencies
for more information. (#7478, @moyodiallo) -
Re-enable background file digests on Windows. The files are now open in a way
that prevents race condition around deletion. (#8262, fixes #8268, @emillon)
3.9.2
3.9.1
3.9.0
CHANGES:
-
Validate file extension for
$ dune ocaml top-module
. (#8005, fixes #8004, @3Rafal) -
Include the time it takes to read/write state files when
--trace-file
is
enabled (#7960, @rgrinberg) -
Add
dune show
command group which is an alias ofdune describe
. (#7946,
@Alizter) -
Include source tree scans in the traces produced by
--trace-file
(#7937,
@rgrinberg) -
Cinaps: The promotion rules for cinaps would only offer one file at a time no
matter how many promotions were available. Now we offer all the promotions at
once (#7901, @rgrinberg) -
Do not re-run OCaml syntax files on every iteration of the watch mode. This
is too memory consuming. (#7894, fix #6900, @rgrinberg) -
Add
--all
option todune rpc status
to show all Dune RPC servers running.
(#8011, fix #7902, @Alizter) -
Remove some compatibility code for old version of dune that generated
.merlin
files. Now dune will never remove.merlin
files automatically
(#7562) -
Add
dune show env
command and makedune printenv
an alias of it. (#7985,
@Alizter) -
Add additional metadata to the traces provided by
--trace-file
whenever
--trace-extended
is passed (#7778, @rleshchinskiy) -
Extensions used in
(dialect)
can contain periods (e.g.,cppo.ml
). (#7782,
fixes #7777, @nojb) -
Allow
(include_subdirs qualified)
to be used when libraries define a
(modules ...)
field (#7797, fixes #7597, @anmonteiro) -
$ dune describe
is now a command group, so arguments to subcommands must be
passed after subcommand itself. (#7919, @Alizter) -
The
interface
andimplementation
fields of a(dialect)
are now optional
(#7757, @gpetiot) -
Add commands
dune show targets
anddune show aliases
that display all the
available targets and aliases in a given directory respectively. (#7770,
grants #265, @Alizter) -
Allow multiple globs in library's
(stdlib (internal_modules ..))
(@anmonteiro, #7878) -
Attach melange rules to the default alias (#7926, @haochenx)
-
In opam constraints, reject
(and)
and(or)
with no arguments at parse
time (#7730, @emillon) -
Compute digests and manage sandboxes in background threads (#7947,
@rgrinberg) -
Add
(build_if)
to the(test)
stanza. When it evaluates to false, the
executable is not built. (#7899, fixes #6938, @emillon) -
Add necessary parentheses in generated opam constraints (#7682, fixes #3431,
@Lucccyo)
3.8.3
3.9.0~alpha1
CHANGES:
-
Validate file extension for
$ dune ocaml top-module
. (#8005, fixes #8004, @3Rafal) -
Include the time it takes to read/write state files when
--trace-file
is
enabled (#7960, @rgrinberg) -
Add
dune show
command group which is an alias ofdune describe
. (#7946,
@Alizter) -
Include source tree scans in the traces produced by
--trace-file
(#7937,
@rgrinberg) -
Cinaps: The promotion rules for cinaps would only offer one file at a time no
matter how many promotions were available. Now we offer all the promotions at
once (#7901, @rgrinberg) -
Do not re-run OCaml syntax files on every iteration of the watch mode. This
is too memory consuming. (#7894, fix #6900, @rgrinberg) -
Remove some compatibility code for old version of dune that generated
.merlin
files. Now dune will never remove.merlin
files automatically
(#7562) -
Add
dune show env
command and makedune printenv
an alias of it. (#7985,
@Alizter) -
Add additional metadata to the traces provided by
--trace-file
whenever
--trace-extended
is passed (#7778, @rleshchinskiy) -
Extensions used in
(dialect)
can contain periods (e.g.,cppo.ml
). (#7782,
fixes #7777, @nojb) -
Allow
(include_subdirs qualified)
to be used when libraries define a
(modules ...)
field (#7797, fixes #7597, @anmonteiro) -
$ dune describe
is now a command group, so arguments to subcommands must be
passed after subcommand itself. (#7919, @Alizter) -
The
interface
andimplementation
fields of a(dialect)
are now optional
(#7757, @gpetiot) -
Add commands
dune show targets
anddune show aliases
that display all the
available targets and aliases in a given directory respectively. (#7770,
grants #265, @Alizter) -
Allow multiple globs in library's
(stdlib (internal_modules ..))
(@anmonteiro, #7878) -
Attach melange rules to the default alias (#7926, @haochenx)
-
In opam constraints, reject
(and)
and(or)
with no arguments at parse
time (#7730, @emillon) -
Compute digests and manage sandboxes in background threads (#7947,
@rgrinberg) -
Add
(build_if)
to the(test)
stanza. When it evaluates to false, the
executable is not built. (#7899, fixes #6938, @emillon) -
Add necessary parentheses in generated opam constraints (#7682, fixes #3431,
@Lucccyo)