diff --git a/CHANGES.md b/CHANGES.md index 6313380f12d..59160922a42 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,129 @@ -Unreleased ----------- +3.17.0~alpha0 (Unreleased) +------------------------- + +### Fixed + +- Show the context name for errors happening in non-default contexts. + (#10414, fixes #10378, @jchavarri) + +- Correctly declare dependencies of indexes so that they are rebuilt when + needed. (#10623, @voodoos) + +- Don't depend on coq-stdlib being installed when expanding variables + of the `coq.version` family (#10631, fixes #10629, @gares) + +- Error out if no files are found when using `copy_files`. (#10649, @jchavarri) + +- Re_export dune-section private library in the dune-site library stanza, + in order to avoid failure when generating and building sites modules + with implicit_transitive_deps = false. (#10650, fixes #9661, @MA0100) + +- Expect test fixes: support multiple modes and fix dependencies when there is + a custom runner (#10671, @vouillon) + +- In a `(library)` stanza with `(extra_objects)` and `(foreign_stubs)`, avoid + double linking the extra object files in the final executable. + (#10783, fixes #10785, @nojb) + +- Map `(re_export)` library dependencies to the `exports` field in `META` files, + and vice-versa. This field was proposed in to + https://discuss.ocaml.org/t/proposal-a-new-exports-field-in-findlib-meta-files/13947. + The field is included in Dune-generated `META` files only when the Dune lang + version is >= 3.17. + (#10831, fixes #10830, @nojb) + +- Fix staged pps preprocessors on Windows (which were not working at all + previously) (#10869, fixes #10867, @nojb) + +- Fix `dune describe` when an executable is disabled with `enabled_if`. + (#10881, fixes #10779, @moyodiallo) + +- Fix an issue where C stubs would be rebuilt whenever the stderr of Dune was + redirected. (#10883, fixes #10882, @nojb) + +- Format long lists in s-expressions to fill the line instead of formatting + them in a vertical way (#10892, fixes #10860, @nojb) + +- Fix the URL opened by the command `dune ocaml doc`. (#10897, @gridbugs) + +- Fix the file referred to in the error/warning message displayed due to the + dune configuration version not supporting a particular configuration + stanza in use. (#10923, @H-ANSEN) + +- Fix `enabled_if` when it uses `env` variable. (#10936, fixes #10905, @moyodiallo) + +- Fix exec -w for relative paths with --root argument (#10982, @gridbugs) + +- Do not ignore the `(locks ..)` field in the `test` and `tests` stanza + (#11081, @rgrinberg) + +- Tolerate files without extension when generating merlin rules. + (#11128, @anmonteiro) + +### Added + +- Make Merlin/OCaml-LSP aware of "hidden" dependencies used by + `(implicit_transitive_deps false)` via the `-H` compiler flag. (#10535, @voodoos) + +- Add support for the -H flag (introduced in OCaml compiler 5.2) in dune + (requires lang versions 3.17). This adaptation gives + the correct semantics for `(implicit_transitive_deps false)`. + (#10644, fixes #9333, ocsigen/tyxml#274, #2733, #4963, @MA0100) + +- Add support for specifying Gitlab organization repositories in `source` + stanzas (#10766, fixes #6723, @H-ANSEN) + +- New option to control jsoo sourcemap generation in env and executable stanza + (#10777, fixes #10673, @hhugo) + +- One can now control jsoo compilation_mode inside an executable stanza + (#10777, fixes #10673, @hhugo) + +- Add support for specifying default values of the `authors`, `maintainers`, and + `license` stanzas of the `dune-project` file via the dune config file. Default + values are set using the `(project_defaults)` stanza (#10835, @H-ANSEN) + +- Add names to source tree events in performance traces (#10884, @jchavarri) + +- Add `codeberg` as an option for defining project sources in dune-project + files. For example, `(source (codeberg user/repo))`. (#10904, @nlordell) + +- `dune runtest` can now run individual tests with `dune runtest mytest.t` + (#11041, @Alizter). + +- Wasm_of_ocaml support (#11093, @vouillon) + +- Add a `coqdep_flags` field to the `coq` field of the `env` stanza, and to the `coq.theory` stanza, allowing to configure `coqdep` flags. + (#11094, @rlepigre) + +### Changed + +- Remove all remnants of the experimental `patch-back-source-tree`. (#10771, + @rgrinberg) + +- Change the preset value for author and maintainer fields in the + `dune-project` file to encourage including emails. (#10848, @punchagan) + +- Tweak the preset value for tags in the `dune-project` file to hint at topics + not having a special meaning. (#10849, @punchagan) + +- Change some colors to improve readability in light-mode terminals + (#10890, @gridbugs) + +- Forward the linkall flag to jsoo in whole program compilation as well (#10935, @hhugo) + +- Configurator uses `pkgconf` as pkg-config implementation when available + and forwards it the `target` of `ocamlc -config`. (#10937, @pirbo) + +- Enable Dune cache by default. Add a new Dune cache setting + `enabled-except-user-rules`, which enables the Dune cache, but excludes + user-written rules from it. This is a conservative choice that can avoid + breaking rules whose dependencies are not correctly specified. This is the + current default. (#10944, #10710, @nojb, @ElectreAAS) -If you're a contributor, please include your CHANGES entry in a file -`doc/changes/$PR_NAME.md`. At release time, it will be incoporated into the -changelog properly. +- Do not add `dune` dependency in `dune-project` when creating projects with + `dune init proj`. The Dune dependency is implicitely added when generating + opam files (#11129, @Leonidas-from-XIV) 3.16.1 (2024-10-30) ------------------- diff --git a/doc/changes/10414.md b/doc/changes/10414.md deleted file mode 100644 index ab9d2cb69a9..00000000000 --- a/doc/changes/10414.md +++ /dev/null @@ -1,2 +0,0 @@ -- Show the context name for errors happening in non-default contexts. - (#10414, @jchavarri) diff --git a/doc/changes/10535.md b/doc/changes/10535.md deleted file mode 100644 index 7306c8a8459..00000000000 --- a/doc/changes/10535.md +++ /dev/null @@ -1,2 +0,0 @@ -- Make Merlin/OCaml-LSP aware of "hidden" dependencies used by - `(implicit_transitive_deps false)` via the `-H` compiler flag. (#10535, @voodoos) diff --git a/doc/changes/10623.md b/doc/changes/10623.md deleted file mode 100644 index cdda785a132..00000000000 --- a/doc/changes/10623.md +++ /dev/null @@ -1,2 +0,0 @@ -- Correctly declare dependencies of indexes so that they are rebuilt when - needed. (#10623, @voodoos) diff --git a/doc/changes/10631.md b/doc/changes/10631.md deleted file mode 100644 index b5fef319c0d..00000000000 --- a/doc/changes/10631.md +++ /dev/null @@ -1,2 +0,0 @@ -- Don't depend on coq-stdlib being installed when expanding variables - of the `coq.version` family (#10631, fixes #10629, @gares) \ No newline at end of file diff --git a/doc/changes/10644.md b/doc/changes/10644.md deleted file mode 100644 index 6b131abb95d..00000000000 --- a/doc/changes/10644.md +++ /dev/null @@ -1,4 +0,0 @@ -- Add support for the -H flag (introduced in OCaml compiler 5.2) in dune - (requires lang versions 3.17). This adaptation gives - the correct semantics for `(implicit_transitive_deps false)`. - (#10644, fixes #9333, ocsigen/tyxml#274, #2733, #4963, @MA0100) \ No newline at end of file diff --git a/doc/changes/10649.md b/doc/changes/10649.md deleted file mode 100644 index 80c047880a0..00000000000 --- a/doc/changes/10649.md +++ /dev/null @@ -1 +0,0 @@ -- Error out if no files are found when using `copy_files`. (#10649, @jchavarri) diff --git a/doc/changes/10650.md b/doc/changes/10650.md deleted file mode 100644 index 1ff58102bee..00000000000 --- a/doc/changes/10650.md +++ /dev/null @@ -1,3 +0,0 @@ -- Re_export dune-section private library in the dune-site library stanza, - in order to avoid failure when generating and building sites modules - with implicit_transitive_deps = false. (#10650, fixes #9661, @MA0100) \ No newline at end of file diff --git a/doc/changes/10671.md b/doc/changes/10671.md deleted file mode 100644 index 94df8c97ddc..00000000000 --- a/doc/changes/10671.md +++ /dev/null @@ -1,2 +0,0 @@ -- Expect test fixes: support multiple modes and fix dependencies when there is - a custom runner (#10671, @vouillon) diff --git a/doc/changes/10766.md b/doc/changes/10766.md deleted file mode 100644 index 67994b5ba34..00000000000 --- a/doc/changes/10766.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add support for specifying Gitlab organization repositories in `source` - stanzas (#10766, fixes #6723, @H-ANSEN) diff --git a/doc/changes/10771.md b/doc/changes/10771.md deleted file mode 100644 index 22530364df3..00000000000 --- a/doc/changes/10771.md +++ /dev/null @@ -1,2 +0,0 @@ -- Remove all remnants of the experimental `patch-back-source-tree`. (#10771, - @rgrinberg) diff --git a/doc/changes/10777.md b/doc/changes/10777.md deleted file mode 100644 index a079f594ba7..00000000000 --- a/doc/changes/10777.md +++ /dev/null @@ -1,5 +0,0 @@ -- New option to control jsoo sourcemap generation in env and executable stanza - (@hhugo, #10777) - -- One can now control jsoo compilation_mode inside an executable stanza - (@hhugo, #10777) diff --git a/doc/changes/10783.md b/doc/changes/10783.md deleted file mode 100644 index 9920b8633e2..00000000000 --- a/doc/changes/10783.md +++ /dev/null @@ -1,3 +0,0 @@ -- In a `(library)` stanza with `(extra_objects)` and `(foreign_stubs)`, avoid - double linking the extra object files in the final executable. - (#10783, @nojb) diff --git a/doc/changes/10831.md b/doc/changes/10831.md deleted file mode 100644 index 3b8f69e2911..00000000000 --- a/doc/changes/10831.md +++ /dev/null @@ -1,6 +0,0 @@ -- Map `(re_export)` library dependencies to the `exports` field in `META` files, - and vice-versa. This field was proposed in to - https://discuss.ocaml.org/t/proposal-a-new-exports-field-in-findlib-meta-files/13947. - The field is included in Dune-generated `META` files only when the Dune lang - version is >= 3.17. - (#10831, @nojb) diff --git a/doc/changes/10835.md b/doc/changes/10835.md deleted file mode 100644 index 2b1028b98a2..00000000000 --- a/doc/changes/10835.md +++ /dev/null @@ -1,3 +0,0 @@ -- Add support for specifying default values of the `authors`, `maintainers`, and - `license` stanzas of the `dune-project` file via the dune config file. Default - values are set using the `(project_defaults)` stanza (#10835, @H-ANSEN) diff --git a/doc/changes/10848.md b/doc/changes/10848.md deleted file mode 100644 index ea29d043764..00000000000 --- a/doc/changes/10848.md +++ /dev/null @@ -1,2 +0,0 @@ -- Change the preset value for author and maintainer fields in the - `dune-project` file to encourage including emails. (#10848, @punchagan) diff --git a/doc/changes/10849.md b/doc/changes/10849.md deleted file mode 100644 index 7d2cebe1b8e..00000000000 --- a/doc/changes/10849.md +++ /dev/null @@ -1,2 +0,0 @@ -- Tweak the preset value for tags in the `dune-project` file to hint at topics - not having a special meaning. (#10849, @punchagan) diff --git a/doc/changes/10869.md b/doc/changes/10869.md deleted file mode 100644 index 3467dd2ee33..00000000000 --- a/doc/changes/10869.md +++ /dev/null @@ -1,2 +0,0 @@ -- Fix staged pps preprocessors on Windows (which were not working at all - previously) (#10869, @nojb) diff --git a/doc/changes/10881.md b/doc/changes/10881.md deleted file mode 100644 index 7c7bbcd7244..00000000000 --- a/doc/changes/10881.md +++ /dev/null @@ -1,2 +0,0 @@ -- Fix `dune describe` when an executable is disabled with `enabled_if`. - (#10881, fixes #10779, @moyodiallo) diff --git a/doc/changes/10883.md b/doc/changes/10883.md deleted file mode 100644 index 1a50bfc0044..00000000000 --- a/doc/changes/10883.md +++ /dev/null @@ -1,2 +0,0 @@ -- Fix an issue where C stubs would be rebuilt whenever the stderr of Dune was - redirected. (#10883, @nojb) diff --git a/doc/changes/10884.md b/doc/changes/10884.md deleted file mode 100644 index 95b8d94e77d..00000000000 --- a/doc/changes/10884.md +++ /dev/null @@ -1 +0,0 @@ -- Add names to source tree events in performance traces (#10884, @jchavarri) diff --git a/doc/changes/10890.md b/doc/changes/10890.md deleted file mode 100644 index 738a0beb9d7..00000000000 --- a/doc/changes/10890.md +++ /dev/null @@ -1,2 +0,0 @@ -- Change some colors to improve readability in light-mode terminals - (#10890, @gridbugs) diff --git a/doc/changes/10892.md b/doc/changes/10892.md deleted file mode 100644 index ce0dfc25218..00000000000 --- a/doc/changes/10892.md +++ /dev/null @@ -1,2 +0,0 @@ -- Format long lists in s-expressions to fill the line instead of formatting - them in a vertical way (#10892, fixes #10860, @nojb) diff --git a/doc/changes/10897.md b/doc/changes/10897.md deleted file mode 100644 index 22ab2b5407d..00000000000 --- a/doc/changes/10897.md +++ /dev/null @@ -1 +0,0 @@ -- Fix the URL opened by the command `dune ocaml doc`. (#10897, @gridbugs) diff --git a/doc/changes/10904.md b/doc/changes/10904.md deleted file mode 100644 index 0dd8dc17d3a..00000000000 --- a/doc/changes/10904.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add `codeberg` as an option for defining project sources in dune-project - files. For example, `(source (codeberg user/repo))`. (#10904, @nlordell) diff --git a/doc/changes/10923.md b/doc/changes/10923.md deleted file mode 100644 index 53c916fae11..00000000000 --- a/doc/changes/10923.md +++ /dev/null @@ -1,3 +0,0 @@ -- Fix the file referred to in the error/warning message displayed due to the - dune configuration version not supporting a particular configuration - stanza in use. (#10923, @H-ANSEN) diff --git a/doc/changes/10935.md b/doc/changes/10935.md deleted file mode 100644 index d6b1a2bf0f8..00000000000 --- a/doc/changes/10935.md +++ /dev/null @@ -1 +0,0 @@ -- Forward the linkall flag to jsoo in whole program compilation as well (#10935, @hhugo) \ No newline at end of file diff --git a/doc/changes/10936.md b/doc/changes/10936.md deleted file mode 100644 index 7b7d047ef56..00000000000 --- a/doc/changes/10936.md +++ /dev/null @@ -1 +0,0 @@ -- Fix `enabled_if` when it uses `env` variable. (#10936, fixes #10905, @moyodiallo) diff --git a/doc/changes/10937.md b/doc/changes/10937.md deleted file mode 100644 index d98de0868ed..00000000000 --- a/doc/changes/10937.md +++ /dev/null @@ -1,2 +0,0 @@ -- Configurator uses `pkgconf` as pkg-config implementation when available - and forwards it the `target` of `ocamlc -config`. (#10937, @pirbo) diff --git a/doc/changes/10944.md b/doc/changes/10944.md deleted file mode 100644 index 73073d2f839..00000000000 --- a/doc/changes/10944.md +++ /dev/null @@ -1,4 +0,0 @@ -- A new Dune cache setting: `enabled-except-user-rules`, which enables the Dune - cache, but excludes user-written rules from it. This is a conservative choice - that can avoid breaking rules whose dependencies are not correctly - specified. This is the current default. (#10944, @nojb) diff --git a/doc/changes/10982.md b/doc/changes/10982.md deleted file mode 100644 index 559f5b73257..00000000000 --- a/doc/changes/10982.md +++ /dev/null @@ -1,2 +0,0 @@ -- Fix exec -w for relative paths with --root argument (#10982, - @gridbugs) diff --git a/doc/changes/11041.md b/doc/changes/11041.md deleted file mode 100644 index 96501036cad..00000000000 --- a/doc/changes/11041.md +++ /dev/null @@ -1,2 +0,0 @@ -- `dune runtest` can now run individual tests with `dune runtest mytest.t` - (#11041, @Alizter). diff --git a/doc/changes/11081.md b/doc/changes/11081.md deleted file mode 100644 index fe5c35c4ede..00000000000 --- a/doc/changes/11081.md +++ /dev/null @@ -1,2 +0,0 @@ -- Do not ignore the `(locks ..)` field in the `test` and `tests` stanza - (#11081, @rgrinberg) diff --git a/doc/changes/11093.md b/doc/changes/11093.md deleted file mode 100644 index 54000c8c106..00000000000 --- a/doc/changes/11093.md +++ /dev/null @@ -1 +0,0 @@ -- Wasm_of_ocaml support (#11093, @vouillon) diff --git a/doc/changes/11094.md b/doc/changes/11094.md deleted file mode 100644 index 99101b3b07e..00000000000 --- a/doc/changes/11094.md +++ /dev/null @@ -1,2 +0,0 @@ -- Add a `coqdep_flags` field to the `coq` field of the `env` stanza, and to the `coq.theory` stanza, allowing to configure `coqdep` flags. - (#11094, @rlepigre) diff --git a/doc/changes/11128.md b/doc/changes/11128.md deleted file mode 100644 index 13c7d4668a1..00000000000 --- a/doc/changes/11128.md +++ /dev/null @@ -1,2 +0,0 @@ -- Tolerate files without extension when generating merlin rules. - (#11128, @anmonteiro) diff --git a/doc/changes/11129.md b/doc/changes/11129.md deleted file mode 100644 index 536255b8585..00000000000 --- a/doc/changes/11129.md +++ /dev/null @@ -1,3 +0,0 @@ -- Do not add `dune` dependency in `dune-project` when creating projects with - `dune init proj`. The Dune dependency is implicitely added when generating - opam files (#11129, @Leonidas-from-XIV)