@@ -5,6 +5,79 @@ If you're a contributor, please include your CHANGES entry in a file
55` doc/changes/$PR_NUMBER.md ` . At release time, it will be incoporated into the
66changelog properly.
77
8+ 3.20.0 (2025-08-18)
9+ -------------------
10+
11+ ### Fixed
12+
13+ - Stop re-running cram tests after promotion when it's not necessary (#11994 ,
14+ @rgrinberg )
15+
16+ - fix: ` $ dune subst ` should not fail when adding the version field in opam
17+ files (#11801 , fixes #11045 , @btjorge )
18+
19+ - Kill all processes in the process group after the main process has
20+ terminated; in particular this avoids background processes in cram tests to
21+ stick around after the test finished (#11841 , fixes #11820 , @Alizter ,
22+ @Leonidas-from-XIV )
23+
24+ ### Added
25+
26+ - ` (tests) ` stanzas now generate aliases with the test name. To run
27+ ` (test (name a)) ` you can do ` dune build @runtest-a ` . (#11558 , grants part of #10239 ,
28+ @Alizter )
29+
30+ - Inline test libraries now produce aliases ` runtest-name_of_lib `
31+ allowing users to run specific inline tests as `dune build
32+ @runtest -name_of_lib`. (#11109 , partially fixes #10239 , @Alizter )
33+
34+ - feature: ` $ dune subst ` use version from ` dune-project ` when no version
35+ control repository has been detected (#11801 , @btjorge )
36+
37+ - Allow ` dune exec ` to run concurrently with another instance of dune in watch
38+ mode (#11840 , @gridbugs )
39+
40+ - Introduce ` %{os} ` , ` %{os_version} ` , ` %{os_distribution} ` , and ` %{os_family} `
41+ percent forms. These have the same values as their opam counterparts.
42+ (#11863 , @rgrinberg )
43+
44+ - Introduce option ` (implicit_transitive_deps false-if-hidden-includes-supported) `
45+ that is equivalent to ` (implicit_transitive_deps false) ` when ` -H ` is
46+ supported by the compiler (OCaml >= 5.2) and equivalent to
47+ ` (implicit_transitive_deps true) ` otherwise. (#11866 , fixes #11212 , @nojb )
48+
49+ - Add ` dune describe location ` for printing the path to the executable that
50+ would be run (#11905 , @gridbugs )
51+
52+ - ` dune runtest ` can now understand absolute paths as well as run tests in
53+ specific build contexts (#11936 , @Alizter ).
54+
55+ - Added 'empty' alias which contains no targets. (#11556 #11952 #11955 #11956 ,
56+ grants #4161 , @Alizter and @rgrinberg )
57+
58+ - Allow ` dune promote ` to properly run while a watch mode server is running
59+ (#12010 , @ElectreAAS )
60+
61+ - Add ` --alias ` and ` --alias-rec ` flags as an alternative to the ` @@ ` and ` @ `
62+ syntax in the command line (#12043 , fixes #5775 , @rgrinberg )
63+
64+ - Added a ` (timeout <float>) ` field to the ` (cram) ` stanza to specify per-test
65+ time limits. Tests exceeding the timeout are terminated with an error.
66+ (#12041 , @Alizter )
67+
68+ ### Changed
69+
70+ - Format long lists in s-expressions to fill the line instead of
71+ formatting them in a vertical way (#10892 , fixes #10860 , @nojb )
72+
73+ - Switch from MD5 to BLAKE3 for digesting targets and rules. BLAKE3 is both more
74+ performant and difficult to break than MD5 (#11735 , @rgrinberg , @Alizter )
75+
76+ - Print a warning when ` dune build ` runs over RPC (#11833 , @gridbugs )
77+
78+ - Stop emitting empty module group wrapper ` .js ` file in ` melange.emit `
79+ (#11987 , fixes #11986 , @anmonteiro )
80+
8813.19.1 (2025-06-11)
982------------------
1083
0 commit comments