Releases: ocaml/dune
2.5.1
CHANGES:
-
[coq] Fix install path for theory names with level greater than 1 (#3358,
@ejgallego) -
Fix a bug introduced in 2.0.0 where the [locks] field in rules with no targets
had no effect. (@aalekseyev, report by @craigfe)
2.5.0
CHANGES:
-
Add a
--release
option meaning the same as-p
but without the
package filtering. This is useful for customdune
invocation in opam
files where we don't want-p
(#3260, @diml) -
Fix a bug introduced in 2.4.0 causing
.bc
programs to be built
with-custom
by default (#3269, fixes #3262, @diml) -
Allow contexts to be defined with local switches in workspace files (#3265,
fix #3264, @rgrinberg) -
Delay expansion errors until the rule is used to build something (#3261, fix
#3252, @rgrinberg, @diml) -
[coq] Support for theory dependencies and compositional builds using
new field(theories ...)
(#2053, @ejgallego, @rgrinberg) -
From now on, each version of a syntax extension must be explicitely tied to a
minimum version of the dune language. Inconsistent versions in a
dune-project
will trigger a warning for version <=2.4 and an error for
versions >2.4 of the dune language. (#3270, fixes #2957, @voodoos) -
[coq] Bump coq lang version to 0.2. New coq features presented this release
require this version of the coq lang. (#3283, @ejgallego) -
Prevent installation of public executables disabled using the
enabled_if
field.
Installation will now simply skip such executables instead of raising an
error. (#3195, @voodoos) -
dune upgrade
will now try to upgrade projects using versions <2.0 to version
2.0 of the dune language. (#3174, @voodoos) -
Add a
top
command to integrate dune with any toplevel, not just
utop. It is meant to be used with the new#use_output
directive of
OCaml 4.11 (#2952, @mbernat, @diml) -
Allow per-package
version
in generatedopam
files (#3287, @toots) -
[coq] Introduce the
coq.extraction
stanza. It can be used to extract OCaml
sources (#3299, fixes #2178, @rgrinberg) -
Load ppx rewriters in dune utop and add pps field to toplevel stanza. Ppx
extensions will now be usable in the toplevel
(#3266, fixes #346, @stephanieyou) -
Add a
(subdir ..)
stanza to allow evaluating stanzas in sub directories.
(#3268, @rgrinberg) -
Fix a bug preventing one from running inline tests in multiple modes
(#3352, @diml) -
Allow the use of the
%{profile}
variable in theenabled_if
field of the
library stanza. (#3344, @mrmr1993) -
Allow the use of
%{ocaml_version}
variable inenabled_if
field of the
library stanza. (#3339, @voodoos) -
Fix dune build freezing on MacOS when cache is enabled. (#3249, fixes ##2973,
@artempyanykh)
2.4.0
CHANGES:
-
Add
mdx
extension and stanza version 0.1 (#3094, @NathanReb) -
Allow to make Odoc warnings fatal. This is configured from the
(env ...)
stanza. (#3029, @Julow) -
Fix separate compilation of JS when findlib is not installed. (#3177, @nojb)
-
Add a
dune describe
command to obtain the topology of a dune workspace, for
projects such as ROTOR. (#3128, @diml) -
Add
plugin
linking mode for executables and the(embed_in_plugin_libraries ...)
field. (#3141, @nojb) -
Dune will no longer build shared objects for stubs if
supports_shared_libraries
is false (#3225, fixes #3222, @rgrinberg) -
Fix a memory leak in the file-watching mode (
dune build -w
)
(#3220, @snowleopard and @aalekseyev)
2.3.1
CHANGES:
-
Fix versioning of artifact variables (eg %{cmxa:...}), which were introduced
in 2.0, not 1.11. (#3149, @nojb) -
Fix a bug introduced in 2.3.0 where dune insists on using
fswatch
on linux
(even wheninotifywait
is available). (#3162, @aalekseyev) -
Fix a bug causing all executables to be considered as optional (#3163, @diml)
2.3.0
CHANGES:
-
Improve validation and error handling of arguments to
dune init
(#3103, fixes
#3046, @shonfeder) -
dune init exec NAME
now uses theNAME
argument for private modules (#3103,
fixes #3088, @shonfeder) -
Avoid linear walk to detect children, this should greatly improve
performance when a target has a large number of dependencies (#2959,
@ejgallego, @aalekseyev, @Armael) -
[coq] Add
(boot)
option to(coq.theories)
to enable bootstrap of
Coq's stdlib (#3096, @ejgallego) -
[coq] Deprecate
public_name
field in favour ofpackage
(#2087, @ejgallego) -
Better error reporting for "data only" and "vendored" dirs. Using these with
anything else than a strict subdirectory or*
will raise an error. The
previous behavior was to just do nothing (#3056, fixes #3019, @voodoos) -
Fix bootstrap on bytecode only switches on windows or where
-j1
is set.
(#3112, @xclerc, @rgrinberg) -
Allow
enabled_if
fields inexecutable(s)
stanzas (#3137, fixes #1690
@voodoos) -
Do not fail if
ocamldep
,ocamlmklib
, orocaml
are absent. Wait for them
to be used to fail (#3138, @rgrinberg) -
Introduce a
strict_package_deps
mode that verifies that dependencies between
packages in the workspace are specified correctly. (@rgrinberg, #3117) -
Make sure the
@all
alias is defined when nodune
file is present
in a directory (#2946, fix #2927, @diml)
2.2.0
CHANGES:
-
dune test
is now a command alias fordune runtest
. This is to make the CLI
less idiosyncratic (#3006, @shonfeder) -
Allow to set menhir flags in the
env
stanza using themenhir_flags
field.
(#2960, fix #2924, @bschommer) -
By default, do not show the full command line of commands executed
bydune
whendune
is executed insidedune
. This is to make
integration tests more reproducible (#3042, @diml) -
dune subst
now works even without opam files (#2955, fixes #2910,
@fangyi-zhou and @diml) -
Hint when trying to execute an executable defined in the current directory
without using the./
prefix (#3041, fixes #1094, @voodoos). -
Extend the list of modifiers that can be nested under
with-accepted-exit-codes
withchdir
,setenv
,ignore-<outputs>
,
with-stdin-from
andwith-<outputs>-to
(#3027, fixes #3014, @voodoos) -
It is now an error to have a preprocessing dependency on a ppx rewriter
library that is not marked as(kind ppx_rewriter)
(#3039, @snowleopard). -
Fix permissions of files promoted to the source tree when using the
shared cache. In particular, make them writable by the user (#3043,
fixes #3026, @diml) -
Only detect internal OCaml tools with
.opt
extensions. Previously, this
detection applied to other binaries as well (@kit-ty-kate, @rgrinberg, #3051). -
Give the user a proper error message when they try to promote into a source
directory that doesn't exist. (#3073, fix #3069, @rgrinberg) -
Correctly build vendored packages in
-p
mode. These packages were
incorrectly filtered out before. (#3705, @diml) -
make
now prints a message explaining the main targets available
(#3085, fix #3078, @diml) -
Add a
byte_complete
executable mode to build programs as
self-contained bytecode programs
(#3076, fixes #1519, @diml)
2.1.3
2.1.2
2.1.1
CHANGES:
-
Guess foreign archives & native archives for libraries defined using the
META
format. (#2994, @rgrinberg, @anmonteiro) -
Fix generation of
.merlin
files when depending on local libraries with more
than one source directory. (#2983, @rgrinberg)
2.1.0
CHANGES:
-
Attach cinaps stanza actions to both
@runtest
and@cinaps
aliases
(#2831, @NathanReb) -
Add variables
%{lib-private...}
and%{libexec-private...}
for finding
build paths of files in public and private libraries within the same
project. (#2901, @snowleopard) -
Add
--mandir
option to$ dune install
. This option allows to override the
installation directory for man pages. (#2915, fixes #2670, @rgrinberg) -
Fix
dune --version
. The bootstrap didn't compute the version
correctly. (#2929, fixes #2911, @diml) -
Do not open the log file in
dune clean
. (#2965, fixes #2964 and
#2921, @diml) -
Support passing two arguments to
=
,<>
, ... operators in package
dependencies so that we can have things such as(<> :os win32)
(#2965, @diml)