Releases: ocaml/dune
3.20.2
CHANGES:
Fixed
-
Fix jsoo separate compilation with modules_without_implementation. Regression
introduced in #10767. (#12320, fixes #12306 @hhugo) -
Fix
runtest-js
mistakenly using wrong dependencies (#12324, @vouillon) -
Remove empty
.cram.test.t
directory during the running of a cram test.
(#12329, fixes #12321, @Alizter)
3.20.1
3.20.0
CHANGES:
Fixed
-
Stop re-running cram tests after promotion when it's not necessary (#11994,
@rgrinberg) -
fix:
$ dune subst
should not fail when adding the version field in opam
files (#11801, fixes #11045, @btjorge) -
Kill all processes in the process group after the main process has
terminated; in particular this avoids background processes in cram tests to
stick around after the test finished (#11841, fixes #11820, @Alizter,
@Leonidas-from-XIV)
Added
-
(tests)
stanzas now generate aliases with the test name. To run
(test (name a))
you can dodune build @runtest-a
. (#11558, grants part of #10239,
@Alizter) -
Inline test libraries now produce aliases
runtest-name_of_lib
allowing users to run specific inline tests asdune build @runtest-name_of_lib
. (#11109, partially fixes #10239, @Alizter) -
feature:
$ dune subst
use version fromdune-project
when no version
control repository has been detected (#11801, @btjorge) -
Allow
dune exec
to run concurrently with another instance of dune in watch
mode (#11840, @gridbugs) -
Introduce
%{os}
,%{os_version}
,%{os_distribution}
, and%{os_family}
percent forms. These have the same values as their opam counterparts.
(#11863, @rgrinberg) -
Introduce option
(implicit_transitive_deps false-if-hidden-includes-supported)
that is equivalent to(implicit_transitive_deps false)
when-H
is
supported by the compiler (OCaml >= 5.2) and equivalent to
(implicit_transitive_deps true)
otherwise. (#11866, fixes #11212, @nojb) -
Add
dune describe location
for printing the path to the executable that
would be run (#11905, @gridbugs) -
dune runtest
can now understand absolute paths as well as run tests in
specific build contexts (#11936, @Alizter). -
Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956,
grants #4161, @Alizter and @rgrinberg) -
Allow
dune promote
to properly run while a watch mode server is running
(#12010, @ElectreAAS) -
Add
--alias
and--alias-rec
flags as an alternative to the@@
and@
syntax in the command line (#12043, fixes #5775, @rgrinberg) -
Added a
(timeout <float>)
field to the(cram)
stanza to specify per-test
time limits. Tests exceeding the timeout are terminated with an error.
(#12041, @Alizter)
Changed
-
Format long lists in s-expressions to fill the line instead of
formatting them in a vertical way (#10892, fixes #10860, @nojb) -
Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
performant and difficult to break than MD5 (#11735, @rgrinberg, @Alizter) -
Print a warning when
dune build
runs over RPC (#11833, @gridbugs) -
Stop emitting empty module group wrapper
.js
file inmelange.emit
(#11987, fixes #11986, @anmonteiro)
3.20.0~alpha4
CHANGES:
Fixed
-
Stop re-running cram tests after promotion when it's not necessary (#11994,
@rgrinberg) -
fix:
$ dune subst
should not fail when adding the version field in opam
files (#11801, fixes #11045, @btjorge) -
Kill all processes in the process group after the main process has
terminated; in particular this avoids background processes in cram tests to
stick around after the test finished (#11841, fixes #11820, @Alizter,
@Leonidas-from-XIV)
Added
-
(tests)
stanzas now generate aliases with the test name. To run
(test (name a))
you can dodune build @runtest-a
. (#11558, grants part of #10239,
@Alizter) -
Inline test libraries now produce aliases
runtest-name_of_lib
allowing users to run specific inline tests asdune build @runtest-name_of_lib
. (#11109, partially fixes #10239, @Alizter) -
feature:
$ dune subst
use version fromdune-project
when no version
control repository has been detected (#11801, @btjorge) -
Allow
dune exec
to run concurrently with another instance of dune in watch
mode (#11840, @gridbugs) -
Introduce
%{os}
,%{os_version}
,%{os_distribution}
, and%{os_family}
percent forms. These have the same values as their opam counterparts.
(#11863, @rgrinberg) -
Introduce option
(implicit_transitive_deps false-if-hidden-includes-supported)
that is equivalent to(implicit_transitive_deps false)
when-H
is
supported by the compiler (OCaml >= 5.2) and equivalent to
(implicit_transitive_deps true)
otherwise. (#11866, fixes #11212, @nojb) -
Add
dune describe location
for printing the path to the executable that
would be run (#11905, @gridbugs) -
dune runtest
can now understand absolute paths as well as run tests in
specific build contexts (#11936, @Alizter). -
Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956,
grants #4161, @Alizter and @rgrinberg) -
Allow
dune promote
to properly run while a watch mode server is running
(#12010, @ElectreAAS) -
Add
--alias
and--alias-rec
flags as an alternative to the@@
and@
syntax in the command line (#12043, fixes #5775, @rgrinberg) -
Added a
(timeout <float>)
field to the(cram)
stanza to specify per-test
time limits. Tests exceeding the timeout are terminated with an error.
(#12041, @Alizter)
Changed
-
Format long lists in s-expressions to fill the line instead of
formatting them in a vertical way (#10892, fixes #10860, @nojb) -
Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
performant and difficult to break than MD5 (#11735, @rgrinberg, @Alizter) -
Print a warning when
dune build
runs over RPC (#11833, @gridbugs) -
Stop emitting empty module group wrapper
.js
file inmelange.emit
(#11987, fixes #11986, @anmonteiro)
3.20.0~alpha3
CHANGES:
Fixed
-
Stop re-running cram tests after promotion when it's not necessary (#11994,
@rgrinberg) -
fix:
$ dune subst
should not fail when adding the version field in opam
files (#11801, fixes #11045, @btjorge) -
Kill all processes in the process group after the main process has
terminated; in particular this avoids background processes in cram tests to
stick around after the test finished (#11841, fixes #11820, @Alizter,
@Leonidas-from-XIV)
Added
-
(tests)
stanzas now generate aliases with the test name. To run
(test (name a))
you can dodune build @runtest-a
. (#11558, grants part of #10239,
@Alizter) -
Inline test libraries now produce aliases
runtest-name_of_lib
allowing users to run specific inline tests asdune build @runtest-name_of_lib
. (#11109, partially fixes #10239, @Alizter) -
feature:
$ dune subst
use version fromdune-project
when no version
control repository has been detected (#11801, @btjorge) -
Allow
dune exec
to run concurrently with another instance of dune in watch
mode (#11840, @gridbugs) -
Introduce
%{os}
,%{os_version}
,%{os_distribution}
, and%{os_family}
percent forms. These have the same values as their opam counterparts.
(#11863, @rgrinberg) -
Introduce option
(implicit_transitive_deps false-if-hidden-includes-supported)
that is equivalent to(implicit_transitive_deps false)
when-H
is
supported by the compiler (OCaml >= 5.2) and equivalent to
(implicit_transitive_deps true)
otherwise. (#11866, fixes #11212, @nojb) -
Add
dune describe location
for printing the path to the executable that
would be run (#11905, @gridbugs) -
dune runtest
can now understand absolute paths as well as run tests in
specific build contexts (#11936, @Alizter). -
Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956,
grants #4161, @Alizter and @rgrinberg) -
Allow
dune promote
to properly run while a watch mode server is running
(#12010, @ElectreAAS) -
Add
--alias
and--alias-rec
flags as an alternative to the@@
and@
syntax in the command line (#12043, fixes #5775, @rgrinberg) -
Added a
(timeout <float>)
field to the(cram)
stanza to specify per-test
time limits. Tests exceeding the timeout are terminated with an error.
(#12041, @Alizter)
Changed
-
Format long lists in s-expressions to fill the line instead of
formatting them in a vertical way (#10892, fixes #10860, @nojb) -
Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
performant and difficult to break than MD5 (#11735, @rgrinberg, @Alizter) -
Print a warning when
dune build
runs over RPC (#11833, @gridbugs) -
Stop emitting empty module group wrapper
.js
file inmelange.emit
(#11987, fixes #11986, @anmonteiro)
3.20.0~alpha2
CHANGES:
Fixed
-
Stop re-running cram tests after promotion when it's not necessary (#11994,
@rgrinberg) -
fix:
$ dune subst
should not fail when adding the version field in opam
files (#11801, fixes #11045, @btjorge) -
Kill all processes in the process group after the main process has
terminated; in particular this avoids background processes in cram tests to
stick around after the test finished (#11841, fixes #11820, @Alizter,
@Leonidas-from-XIV)
Added
-
(tests)
stanzas now generate aliases with the test name. To run
(test (name a))
you can dodune build @runtest-a
. (#11558, grants part of #10239,
@Alizter) -
Inline test libraries now produce aliases
runtest-name_of_lib
allowing users to run specific inline tests asdune build @runtest-name_of_lib
. (#11109, partially fixes #10239, @Alizter) -
feature:
$ dune subst
use version fromdune-project
when no version
control repository has been detected (#11801, @btjorge) -
Allow
dune exec
to run concurrently with another instance of dune in watch
mode (#11840, @gridbugs) -
Introduce
%{os}
,%{os_version}
,%{os_distribution}
, and%{os_family}
percent forms. These have the same values as their opam counterparts.
(#11863, @rgrinberg) -
Introduce option
(implicit_transitive_deps false-if-hidden-includes-supported)
that is equivalent to(implicit_transitive_deps false)
when-H
is
supported by the compiler (OCaml >= 5.2) and equivalent to
(implicit_transitive_deps true)
otherwise. (#11866, fixes #11212, @nojb) -
Add
dune describe location
for printing the path to the executable that
would be run (#11905, @gridbugs) -
dune runtest
can now understand absolute paths as well as run tests in
specific build contexts (#11936, @Alizter). -
Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956,
grants #4161, @Alizter and @rgrinberg) -
Allow
dune promote
to properly run while a watch mode server is running
(#12010, @ElectreAAS) -
Add
--alias
and--alias-rec
flags as an alternative to the@@
and@
syntax in the command line (#12043, fixes #5775, @rgrinberg) -
Added a
(timeout <float>)
field to the(cram)
stanza to specify per-test
time limits. Tests exceeding the timeout are terminated with an error.
(#12041, @Alizter)
Changed
-
Format long lists in s-expressions to fill the line instead of
formatting them in a vertical way (#10892, fixes #10860, @nojb) -
Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
performant and difficult to break than MD5 (#11735, @rgrinberg, @Alizter) -
Print a warning when
dune build
runs over RPC (#11833, @gridbugs) -
Stop emitting empty module group wrapper
.js
file inmelange.emit
(#11987, fixes #11986, @anmonteiro)
3.20.0~alpha1
CHANGES:
Fixed
-
Stop re-running cram tests after promotion when it's not necessary (#11994,
@rgrinberg) -
fix:
$ dune subst
should not fail when adding the version field in opam
files (#11801, fixes #11045, @btjorge) -
Kill all processes in the process group after the main process has
terminated; in particular this avoids background processes in cram tests to
stick around after the test finished (#11841, fixes #11820, @Alizter,
@Leonidas-from-XIV)
Added
-
(tests)
stanzas now generate aliases with the test name. To run
(test (name a))
you can dodune build @runtest-a
. (#11558, grants part of #10239,
@Alizter) -
Inline test libraries now produce aliases
runtest-name_of_lib
allowing users to run specific inline tests asdune build @runtest-name_of_lib
. (#11109, partially fixes #10239, @Alizter) -
feature:
$ dune subst
use version fromdune-project
when no version
control repository has been detected (#11801, @btjorge) -
Allow
dune exec
to run concurrently with another instance of dune in watch
mode (#11840, @gridbugs) -
Introduce
%{os}
,%{os_version}
,%{os_distribution}
, and%{os_family}
percent forms. These have the same values as their opam counterparts.
(#11863, @rgrinberg) -
Introduce option
(implicit_transitive_deps false-if-hidden-includes-supported)
that is equivalent to(implicit_transitive_deps false)
when-H
is
supported by the compiler (OCaml >= 5.2) and equivalent to
(implicit_transitive_deps true)
otherwise. (#11866, fixes #11212, @nojb) -
Add
dune describe location
for printing the path to the executable that
would be run (#11905, @gridbugs) -
dune runtest
can now understand absolute paths as well as run tests in
specific build contexts (#11936, @Alizter). -
Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956,
grants #4161, @Alizter and @rgrinberg) -
Allow
dune promote
to properly run while a watch mode server is running
(#12010, @ElectreAAS) -
Add
--alias
and--alias-rec
flags as an alternative to the@@
and@
syntax in the command line (#12043, fixes #5775, @rgrinberg) -
Added a
(timeout <float>)
field to the(cram)
stanza to specify per-test
time limits. Tests exceeding the timeout are terminated with an error.
(#12041, @Alizter)
Changed
-
Format long lists in s-expressions to fill the line instead of
formatting them in a vertical way (#10892, fixes #10860, @nojb) -
Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
performant and difficult to break than MD5 (#11735, @rgrinberg, @Alizter) -
Print a warning when
dune build
runs over RPC (#11833, @gridbugs) -
Stop emitting empty module group wrapper
.js
file inmelange.emit
(#11987, fixes #11986, @anmonteiro)
3.20.0~alpha0
CHANGES:
Fixed
-
Stop re-running cram tests after promotion when it's not necessary (#11994,
@rgrinberg) -
fix:
$ dune subst
should not fail when adding the version field in opam
files (#11801, fixes #11045, @btjorge) -
Kill all processes in the process group after the main process has
terminated; in particular this avoids background processes in cram tests to
stick around after the test finished (#11841, fixes #11820, @Alizter,
@Leonidas-from-XIV)
Added
-
(tests)
stanzas now generate aliases with the test name. To run
(test (name a))
you can dodune build @runtest-a
. (#11558, grants part of #10239,
@Alizter) -
Inline test libraries now produce aliases
runtest-name_of_lib
allowing users to run specific inline tests asdune build @runtest-name_of_lib
. (#11109, partially fixes #10239, @Alizter) -
feature:
$ dune subst
use version fromdune-project
when no version
control repository has been detected (#11801, @btjorge) -
Allow
dune exec
to run concurrently with another instance of dune in watch
mode (#11840, @gridbugs) -
Introduce
%{os}
,%{os_version}
,%{os_distribution}
, and%{os_family}
percent forms. These have the same values as their opam counterparts.
(#11863, @rgrinberg) -
Introduce option
(implicit_transitive_deps false-if-hidden-includes-supported)
that is equivalent to(implicit_transitive_deps false)
when-H
is
supported by the compiler (OCaml >= 5.2) and equivalent to
(implicit_transitive_deps true)
otherwise. (#11866, fixes #11212, @nojb) -
Add
dune describe location
for printing the path to the executable that
would be run (#11905, @gridbugs) -
dune runtest
can now understand absolute paths as well as run tests in
specific build contexts (#11936, @Alizter). -
Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956,
grants #4161, @Alizter and @rgrinberg) -
Allow
dune promote
to properly run while a watch mode server is running
(#12010, @ElectreAAS) -
Add
--alias
and--alias-rec
flags as an alternative to the@
and@@
syntax in the command line (#12043, fixes #5775, @rgrinberg)
Changed
-
Format long lists in s-expressions to fill the line instead of
formatting them in a vertical way (#10892, fixes #10860, @nojb) -
Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
performant and difficult to break than MD5 (#11735, @rgrinberg, @Alizter) -
Print a warning when
dune build
runs over RPC (#11836, @gridbugs) -
Stop emitting empty module group wrapper
.js
file inmelange.emit
(#11987, fixes #11986, @anmonteiro)
3.19.1
3.19.0
CHANGES:
Fixed
-
Fixed a bug that was causing cram tests attached to multiple aliases to be run multiple
times. (#11547, @Alizter) -
Fix: pass pkg-config (extra) args in all pkgconfig invocations. A missing --personality
flag would result in pkgconf not finding libraries in some contexts. (#11619, @MisterDA) -
Fix: Evaluate
enabled_if
when computing the stubs for stanzas such as
foreign_library
(#11707, @Alizter, @rgrinberg) -
Fix $ dune describe pp for libraries in the presence of
(include_subdirs unqualified)
(#11729, fixes #10999, @rgrinberg) -
Fix
$ dune subst
in sub directories of a git repository (#11760, fixes
#11045, @Richard-Degenne) -
Fix a crash involving
Path.drop_prefix
when using Melange on Windows
(#11767, @nojb)
Added
-
Added detection and warning for common typos in package dependency
constraints (#11600, fixes #11575, @kemsguy7) -
Added
(extra_objects)
field to(foreign_library)
stanza with(:include)
support.
(#11683, @Alizter)