Releases: ocaml/dune
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)
3.8.2
CHANGES:
-
Switch back to threaded console for all systems; fix unresponsive console on
Windows (#7906, @nojb) -
Respect
-p
/--only-packages
formelange.emit
artifacts (#7849, @anmonteiro) -
Fix scanning of Coq installed files (@ejgallego, reported by
@palmskog, #7895 , fixes #7893) -
Fix RPC buffer corruption issues due to multi threading. This issue was only
reproducible with large RPC payloads (#7418) -
Fix printing errors from excerpts whenever character offsets span multiple
lines (#7950, fixes #7905, @rgrinberg)
3.8.1
CHANGES:
-
Fix a crash when using a version of Coq < 8.13 due to the native compiler
config variable being missing. We now explicitly default to(mode vo)
for
these older versions of Coq. (#7847, fixes #7846, @Alizter) -
Duplicate installed Coq theories are now allowed with the first appearing in
COQPATH being preferred. This is inline with Coq's loadpath semantics. This
fixes an issue with install layouts based on COQPATH such as those found in
nixpkgs. (#7790, @Alizter) -
Revert #7415 and #7450 (Resolve
ppx_runtime_libraries
in the target context when
cross compiling) (#7887, fixes #7875, @emillon)
3.8.0
CHANGES:
-
Fix string quoting in the json file written by
--trace-file
(#7773,
@rleshchinskiy) -
Read
pkg-config
arguments from thePKG_CONFIG_ARGN
environment variable
(#1492, #7734, @anmonteiro) -
Correctly set
MANPATH
indune exec
. Previously, we would use thebin/
directory of the context. (#7655, @rgrinberg) -
Allow overriding the
ocaml
binary with findlib configuration (#7648,
@rgrinberg) -
merlin: ignore instrumentation settings for preprocessing. (#7606, fixes
#7465, @Alizter) -
When a rule's action is interrupted, delete any leftover directory targets.
This is consistent with how we treat file targets. (#7564, @rgrinberg) -
Fix plugin loading with findlib. The functionality was broken in 3.7.0.
(#7556, @anmonteiro) -
Introduce a
public_headers
field on libraries. This field is like
install_c_headers
, but it allows to choose the extension and choose the
paths for the installed headers. (#7512, @rgrinberg) -
Load the host context
findlib.conf
when cross-compiling (#7428, fixes
#1701, @rgrinberg, @anmonteiro) -
Add a
coqdoc_flags
field to thecoq.theory
stanza allowing the user to
pass extra arguments tocoqdoc
. (#7676, fixes #7954 @Alizter) -
Resolve
ppx_runtime_libraries
in the target context when cross compiling
(#7450, fixes #2794, @anmonteiro) -
Use
$PKG_CONFIG
, when set, to find thepkg-config
binary (#7469, fixes
#2572, @anmonteiro) -
Modules that were declared in
(modules_without_implementation)
,
(private_modules)
or(virtual_modules)
but not declared in(modules)
will cause Dune to emit a warning which will become an error in 3.9. (#7608,
fixes #7026, @Alizter) -
Preliminary support for Coq compiled intefaces (
.vos
files) enabled via
(mode vos)
incoq.theory
stanzas. This can be used in combination with
dune coq top
to obtain fast re-building of dependencies (with no checking
of proofs) prior to stepping into a file. (#7406, @rlepigre) -
Fix dune crashing on MacOS in watch mode whenever
$PATH
contains$PWD
(#7441, fixes #6907, @rgrinberg) -
Fix
dune install
when cross compiling (#7410, fixes #6191, @anmonteiro,
@rizo) -
Find
pps
dependencies in the host context when cross-compiling, (#7410,
fixes #4156, @anmonteiro) -
Dune in watch mode no longer builds concurrent rules in serial (#7395
@rgrinberg, @jchavarri) -
Dune can now detect Coq theories from outside the workspace. This allows for
composition with installed theories (not necessarily installed with Dune).
(#7047, @Alizter, @ejgallego) -
dune coq top
now correctly respects the project root when called from a
subdirectory. However, absolute filenames passed todune coq top
are no
longer supported (due to being buggy) (#7357, fixes #7344, @rlepigre and
@Alizter) -
Added a
--no-build
option todune coq top
for avoiding rebuilds (#7380,
fixes #7355, @Alizter) -
RPC: Ignore SIGPIPE when clients suddenly disconnect (#7299, #7319, fixes
#6879, @rgrinberg) -
Always clean up the UI on exit. (#7271, fixes #7142 @rgrinberg)
-
Bootstrap: remove reliance on shell. Previously, we'd use the shell to get
the number of processors. (#7274, @rgrinberg) -
Bootstrap: correctly detect the number of processors by allowing
nproc
to be
looked up in$PATH
(#7272, @Alizter) -
Speed up file copying on macos by using
clonefile
when available
(@rgrinberg, #7210) -
Adds support for loading plugins in toplevels (#6082, fixes #6081,
@ivg, @richardlford) -
Support commands that output 8-bit and 24-bit colors in the terminal (#7188,
@Alizter) -
Speed up rule generation for libraries and executables with many modules
(#7187, @jchavarri) -
Add
--watch-exclusions
to Dune build options (#7216, @jonahbeckford) -
Do not re-render UI on every frame if the UI doesn't change (#7186, fix
#7184, @rgrinberg) -
Make coq_db creation in scope lazy (@ejgallego, #7133)
-
Non-user proccesses such as version control or config checking are now run
silently. (#6994, fixes #4066, @Alizter) -
Add the
--display-separate-messages
flag to separate the error messages
produced by commands with a blank line. (#6823, fixes #6158, @esope) -
Accept the Ordered Set Language for the
modes
field inlibrary
stanzas
(#6611, @anmonteiro). -
dune install now respects --display quiet mode (#7116, fixes #4573, fixes
#7106, @Alizter) -
Stub shared libraries (dllXXX_stubs.so) in Dune-installed libraries could not
be used as dependencies of libraries in the workspace (eg when compiling to
bytecode and/or Javascript). This is now fixed. (#7151, @nojb) -
Allow the main module of a library with
(stdlib ...)
to depend on other
libraries (#7154, @anmonteiro). -
Bytecode executables built for JSOO are linked with
-noautolink
and no
longer depend on the shared stubs of their dependent libraries (#7156, @nojb) -
Added a new user action
(concurrent )
which is like(progn )
but runs the
actions concurrently. (#6933, @Alizter) -
Allow
(stdlib ...)
to be used with(wrapped false)
in library stanzas
(#7139, @anmonteiro). -
Allow parallel execution of inline tests partitions (#7012, @hhugo)
-
Support
(link_flags ...)
in(cinaps ...)
stanza. (#7423, fixes #7416,
@nojb) -
Allow
(package ...)
in any position within(rule ...)
stanza (#7445,
@Leonidas-from-XIV) -
Always include
opam
files in the generated.install
file. Previously, it
would not be included whenever(generate_opam_files true)
was set and the
.install
file wasn't yet generated. (#7547, @rgrinberg) -
Fix regression where Merlin was unable to handle filenames with uppercase
letters under Windows. (#7577, @nojb) -
On nix+macos, pass
-f
to the codesign hook to avoid errors when the binary
is already signed (#7183, fixes #6265, @greedy) -
Fix bug where RPC clients built with dune-rpc-lwt would crash when closing
their connection to the server (#7581, @gridbugs) -
Introduce mdx stanza 0.4 requiring mdx >= 2.3.0 which updates the default
list of files to include*.mld
files (#7582, @Leonidas-from-XIV) -
Fix RPC server on Windows (used for OCaml-LSP). (#7666, @nojb)
-
Coq language versions less 0.8 are deprecated, and will be removed
in an upcoming Dune version. All users are required to migrate to
(coq lang 0.8)
which provides the right semantics for theories
that have been globally installed, such as those coming from opam
(@ejgallego, @Alizter) -
Bump minimum version of the dune language for the melange syntax extension
from 3.7 to 3.8 (#7665, @jchavarri)
3.8.0~alpha3
CHANGES:
-
merlin: ignore instrumentation settings for preprocessing. (#7606, fixes
#7465, @Alizter) -
Add a
coqdoc_flags
field to thecoq.theory
stanza allowing the user to
pass extra arguments tocoqdoc
. (#7676, fixes #7954 @Alizter) -
Coq language versions less 0.8 are deprecated, and will be removed
in an upcoming Dune version. All users are required to migrate to
(coq lang 0.8)
which provides the right semantics for theories
that have been globally installed, such as those coming from opam
(@ejgallego, @Alizter) -
Bump minimum version of the dune language for the melange syntax extension
from 3.7 to 3.8 (#7665, @jchavarri)