Tags: ocaml/dune
Tags
Release 3.17.1 CHANGES: - When a library declares `(no_dynlink)`, then the `.cmxs` file for it is no longer built. (#11176, @nojb) - Fix bug that could result in corrupted file copies by Dune, for example when using the `copy_files#` stanza or the `copy#` action. (@nojb, #11194, fixes #11193) - Remove useless error message when running `$ dune subst` in empty projects. (@rgrinberg, #11204, fixes #11200)
Release 3.17.0 CHANGES: - 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) - 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) - 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) - 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) - 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)
Release 3.17.0~alpha0 CHANGES: - 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) - 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) - 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) - 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)
Release 3.16.0 CHANGES: - allow libraries with the same `(name ..)` in projects as long as they don't conflict during resolution (via `enabled_if`). (#10307, @anmonteiro, @jchavarri) - `dune describe pp` now finds the exact module and the stanza it belongs to, instead of guessing the name of the preprocessed file. (#10321, @anmonteiro) - Print the result of `dune describe pp` with the respective dialect printer. (#10322, @anmonteiro) - Add new flag `--context` to `dune ocaml-merlin`, which allows to select a Dune context when requesting Merlin config. Add `dune describe contexts` subcommand. Introduce a field `generate_merlin_rules` for contexts declared in the workspace, that allows to optionally produce Merlin rules for other contexts besides the one selected for Merlin (#10324, @jchavarri) - melange: add include paths for private library `.cmj` files during JS emission. (#10416, @anmonteiro) - `dune ocaml-merlin`: communicate additional directives `SOURCE_ROOT`, `UNIT_NAME` (the actual name with wrapping) and `INDEX` with the paths to the index(es). (#10422, @voodoos) - Add a new alias `@ocaml-index` that uses the `ocaml-index` binary to generate indexes that can be read by tools such as Merlin to provide project-wide references search. (#10422, @voodoos) - merlin: add optional `(merlin_reader CMD)` construct to `(dialect)` stanza to configure a merlin reader (#8567, @andreypopp) - melange: treat private libraries with `(package ..)` as public libraries, fixing an issue where `import` paths were wrongly emitted. (#10415, @anmonteiro) - install `.glob` files for Coq theories too (#10602, @ejgallego) - Don't try to document non-existent libraries in doc-new target (#10319, fixes #10056, @jonludlam) - Make `dune-site`'s `load_all` function look for `META` files so that it doesn't fail on empty directories in the plugin directory (#10458, fixes #10457, @shym) - Fix incorrect warning for libraries defined inside non-existant directories using `(subdir ..)` and used by executables using `dune-build-info` (#10525, @rgrinberg) - Don't try to take build lock when running `coq top --no-build` (#10547, fixes #7671, @lzy0505) - Make sure to truncate dune's lock file after locking and unlocking so that users cannot observe incorrect pid's (#10575, @rgrinberg) - mdx: link mdx binary with `byte_complete`. This fixes `(libraries)` with foreign archives on Linux. (#10586, fixes #10582, @anmonteiro) - virtual libraries: fix an issue where linking an executable involving several virtual libries would cause an error. (#10581, fixes #10460, @rgrinberg)
Release 3.16.0~alpha1 CHANGES: - allow libraries with the same `(name ..)` in projects as long as they don't conflict during resolution (via `enabled_if`). (#10307, @anmonteiro, @jchavarri) - `dune describe pp` now finds the exact module and the stanza it belongs to, instead of guessing the name of the preprocessed file. (#10321, @anmonteiro) - Print the result of `dune describe pp` with the respective dialect printer. (#10322, @anmonteiro) - Add new flag `--context` to `dune ocaml-merlin`, which allows to select a Dune context when requesting Merlin config. Add `dune describe contexts` subcommand. Introduce a field `generate_merlin_rules` for contexts declared in the workspace, that allows to optionally produce Merlin rules for other contexts besides the one selected for Merlin (#10324, @jchavarri) - melange: add include paths for private library `.cmj` files during JS emission. (#10416, @anmonteiro) - `dune ocaml-merlin`: communicate additional directives `SOURCE_ROOT`, `UNIT_NAME` (the actual name with wrapping) and `INDEX` with the paths to the index(es). (#10422, @voodoos) - Add a new alias `@ocaml-index` that uses the `ocaml-index` binary to generate indexes that can be read by tools such as Merlin to provide project-wide references search. (#10422, @voodoos) - merlin: add optional `(merlin_reader CMD)` construct to `(dialect)` stanza to configure a merlin reader (#8567, @andreypopp) - melange: treat private libraries with `(package ..)` as public libraries, fixing an issue where `import` paths were wrongly emitted. (#10415, @anmonteiro) - install `.glob` files for Coq theories too (#10602, @ejgallego) - Don't try to document non-existent libraries in doc-new target (#10319, fixes #10056, @jonludlam) - Make `dune-site`'s `load_all` function look for `META` files so that it doesn't fail on empty directories in the plugin directory (#10458, fixes #10457, @shym) - Fix incorrect warning for libraries defined inside non-existant directories using `(subdir ..)` and used by executables using `dune-build-info` (#10525, @rgrinberg) - Don't try to take build lock when running `coq top --no-build` (#10547, fixes #7671, @lzy0505) - Make sure to truncate dune's lock file after locking and unlocking so that users cannot observe incorrect pid's (#10575, @rgrinberg) - mdx: link mdx binary with `byte_complete`. This fixes `(libraries)` with foreign archives on Linux. (#10586, fixes #10582, @anmonteiro)
Release 3.15.2 CHANGES: - If no directory targets are defined, then do not evaluate `enabled_if` (#10442, @rgrinberg) - Fix a bug where Coq projects were being rebuilt from scratch each time the dependency graph changed. (#10446, fixes #10149, @Alizter)
Release 3.15.1 CHANGES: - Fix overflow in sendfile stubs (copy of large files could fail or end with truncated files) (#10333, @tonyfettes) - Fix crash when a rule with a directory target is disabled with `enabled_if` (#10382, fixes #10310, @gridbugs) - melange: remove all restrictions around virtual libraries in Melange. They may be used as otherwise in libraries and executables. (#10412, @anmonteiro) - spawn: fix compatibility with RHEL7 (#10428, @emillon)
PreviousNext