Tags: ggreif/dune
Tags
Release 3.6.2 CHANGES: - Fix configurator when using the MSVC compiler (ocaml#6538, fixes ocaml#6537, @nojb) - Fix running the RPC server on windows (ocaml#6721 fixes ocaml#6720, @rgrinberg)
Release 3.6.1 CHANGES: - Fix status line enabled when ANSI colors are forced. (ocaml#6503, @MisterDA) - Fix build with MSVC compiler (ocaml#6517, @nojb) - Do not shadow library interface modules (ocaml#6549, fixes ocaml#6545, @rgrinberg)
Release 3.6.0 CHANGES: - Forbid multiple instances of dune running concurrently in the same workspace. (ocaml#6360, fixes ocaml#236, @rgrinberg) - Allow promoting into source directories specified by `subdir` (ocaml#6404, fixes ocaml#3502, @rgrinberg) - Make dune describe workspace return the correct root path (ocaml#6380, fixes ocaml#6379, @esope) - Introduce a `$ dune ocaml top-module` subcommand to load modules directly without sealing them behind the signature. (ocaml#5940, @rgrinberg) - [ctypes] do not mangle user written names in the ctypes stanza (ocaml#6374, fixes ocaml#5561, @rgrinberg) - Support `CLICOLOR` and `CLICOLOR_FORCE` to enable/disable/force ANSI colors. (ocaml#6340, fixes ocaml#6323, @MisterDA). - Forbid private libraries with `(package ..)` set from depending on private libraries that don't belong to a package (ocaml#6385, fixes ocaml#6153, @rgrinberg) - Allow `Byte_complete` binaries to be installable (ocaml#4873, @AltGr, @rgrinberg) - Revive `$ dune external-lib-deps` under `$ dune describe external-lib-deps`. (ocaml#6045, @moyodiallo) - Fix running inline tests in bytecode mode (ocaml#5622, fixes ocaml#5515, @dariusf) - [ctypes] always re-run `pkg-config` because we aren't tracking its external dependencies (ocaml#6052, @rgrinberg) - [ctypes] remove dependency on configurator in the generated rules (ocaml#6052, @rgrinberg) - Build progress status now shows number of failed jobs (ocaml#6242, @Alizter) - Allow absolute build directories to find public executables. For example, those specified with `(deps %{bin:...})` (ocaml#6326, @anmonteiro) - Create a fake socket file `_build/.rpc/dune` on windows to allow rpc clients to connect using the build directory. (ocaml#6329, @rgrinberg) - Prevent crash if absolute paths are used in the install stanza and in recursive globs. These cases now result in a user error. (ocaml#6331, @gridbugs) - Add `(glob_files <glob>)` and `(glob_files_rec <glob>)` terms to the `files` field of the `install` stanza (ocaml#6250, closes ocaml#6018, @gridbugs) - Allow `:standard` in the `(modules)` field of the `coq.pp` stanza (ocaml#6229, fixes ocaml#2414, @Alizter) - Fix passing of flags to dune coq top (ocaml#6369, fixes ocaml#6366, @Alizter) - Extend the promotion CLI to a `dune promotion` group: `dune promote` is moved to `dune promotion apply` (the former still works) and the new `dune promotion diff` command can be used to just display the promotion without applying it. (ocaml#6160, fixes ocaml#5368, @emillon)
Release 3.5.0 CHANGES: - macOS: Handle unknown fsevents without crashing (ocaml#6217, @rgrinberg) - Enable file watching on MacOS SDK < 10.13. (ocaml#6218, @rgrinberg) - Sandbox running cinaps actions starting from cinaps 1.1 (ocaml#6176, @rgrinberg) - Add a `runtime_deps` field in the `cinaps` stanza to specify runtime dependencies for running the cinaps preprocessing action (ocaml#6175, @rgrinberg) - Shadow alias module `Foo__` when building a library `Foo` (ocaml#6126, @rgrinberg) - Extend dune describe to include the root path of the workspace and the relative path to the build directory. (ocaml#6136, @reubenrowe) - Allow dune describe workspace to accept directories as arguments. The provided directories restrict the worskpace description to those directories. (ocaml#6107, fixes ocaml#3893, @esope) - Add a terminal persistence mode that attempts to clear the terminal history. It is enabled by setting terminal persistence to `clear-on-rebuild-and-flush-history` (ocaml#6065, @rgrinberg) - Disallow generating targets in sub direcories in inferred rules. The check to forbid this was accidentally done only for manually specified targets (ocaml#6031, @rgrinberg) - Do not ignore rules marked `(promote (until-clean))` when `--ignore-promoted-rules` (or `-p`) is passed. (ocaml#6010, fixes ocaml#4401, @emillon) - Dune no longer considers .aux files as targets during Coq compilation. This means that .aux files are no longer cached. (ocaml#6024, fixes ocaml#6004, @Alizter) - Cinaps actions are now sandboxed by default (ocaml#6062, @rgrinberg) - Allow rules producing directory targets to be not sandboxed (ocaml#6056, @rgrinberg) - Introduce a `dirs` field in the `install` stanza to install entire directories (ocaml#5097, fixes ocaml#5059, @rgrinberg) - Menhir rules are now sandboxed by default (ocaml#6076, @rgrinberg) - Allow rules producing directory targets to create symlinks (ocaml#6077, fixes ocaml#5945, @rgrinberg) - Inline tests are now sandboxed by default (ocaml#6079, @rgrinberg) - Fix build-info version when used with flambda (ocaml#6089, fixes ocaml#6075, @jberdine) - Add an `(include <file>)` term to the `include_dirs` field for adding directories to the include paths sourced from a file. (ocaml#6058, fixes ocaml#3993, @gridbugs) - Support `(extra_objects ...)` field in `(executable ...)` and `(library ...)` stanzas (ocaml#6084, fixes ocaml#4129, @gridbugs) - Fix compilation of Dune under esy on Windows (ocaml#6109, fixes ocaml#6098, @nojb) - Improve error message when parsing several licenses in `(license)` (ocaml#6114, fixes ocaml#6103, @emillon) - odoc rules now about `ODOC_SYNTAX` and will rerun accordingly (ocaml#6010, fixes ocaml#1117, @emillon) - dune install: copy files in an atomic way (ocaml#6150, @emillon) - Add `%{coq:...}` macro for accessing data about the configuration about Coq. For instance `%{coq:version}` (ocaml#6049, @Alizter) - update vendored copy of cmdliner to 1.1.1. This improves the built-in documentation for command groups such as `dune ocaml`. (ocaml#6038, @emillon, ocaml#6169, @shonfeder) - The test suite for Coq now requires Coq >= 8.16 due to changes in the plugin loading mechanism upstream (which now uses `Findlib`). - Starting with Coq build language 0.6, theories can be built without importing Coq's standard library by including `(stdlib no)`. (ocaml#6165 ocaml#6164, fixes ocaml#6163, @ejgallego @Alizter @LasseBlaauwbroek) - on macOS, sign executables produced by artifact substitution (ocaml#6137, ocaml#6231, fixes ocaml#5650, fixes ocaml#6226, @emillon) - Added an (aliases ...) field to the (rules ...) stanza which allows the specification of multiple aliases per rule (ocaml#6194, @Alizter) - The `(coq.theory ...)` stanza will now ensure that for each declared `(plugin ...)`, the `META` file for it is built before calling `coqdep`. This enables the use of the new `Findlib`-based loading method in Coq 8.16; however as of Coq 8.16.0, Coq itself has some bugs preventing this to work yet. (ocaml#6167 , workarounds ocaml#5767, @ejgallego) - Allow include statement in install stanza (ocaml#6139, fixes ocaml#256, @gridbugs) - Handle CSI n K code in ANSI escape codes from commands. (ocaml#6214, fixes ocaml#5528, @emillon) - Add a new experimental feature `mode_specific_stubs` that allows the specification of different flags and sources for foreign stubs depending on the build mode (ocaml#5649, @voodoos)
Release 3.5.0~alpha1 CHANGES: - Sandbox running cinaps actions starting from cinaps 1.1 (ocaml#6176, @rgrinberg) - Add a `runtime_deps` field in the `cinaps` stanza to specify runtime dependencies for running the cinaps preprocessing action (ocaml#6175, @rgrinberg) - Shadow alias module `Foo__` when building a library `Foo` (ocaml#6126, @rgrinberg) - Extend dune describe to include the root path of the workspace and the relative path to the build directory. (ocaml#6136, @reubenrowe) - Allow dune describe workspace to accept directories as arguments. The provided directories restrict the worskpace description to those directories. (ocaml#6107, fixes ocaml#3893, @esope) - Add a terminal persistence mode that attempts to clear the terminal history. It is enabled by setting terminal persistence to `clear-on-rebuild-and-flush-history` (ocaml#6065, @rgrinberg) - Disallow generating targets in sub direcories in inferred rules. The check to forbid this was accidentally done only for manually specified targets (ocaml#6031, @rgrinberg) - Do not ignore rules marked `(promote (until-clean))` when `--ignore-promoted-rules` (or `-p`) is passed. (ocaml#6010, fixes ocaml#4401, @emillon) - Dune no longer considers .aux files as targets during Coq compilation. This means that .aux files are no longer cached. (ocaml#6024, fixes ocaml#6004, @Alizter) - Cinaps actions are now sandboxed by default (ocaml#6062, @rgrinberg) - Allow rules producing directory targets to be not sandboxed (ocaml#6056, @rgrinberg) - Introduce a `dirs` field in the `install` stanza to install entire directories (ocaml#5097, fixes ocaml#5059, @rgrinberg) - Menhir rules are now sandboxed by default (ocaml#6076, @rgrinberg) - Allow rules producing directory targets to create symlinks (ocaml#6077, fixes ocaml#5945, @rgrinberg) - Inline tests are now sandboxed by default (ocaml#6079, @rgrinberg) - Fix build-info version when used with flambda (ocaml#6089, fixes ocaml#6075, @jberdine) - Add an `(include <file>)` term to the `include_dirs` field for adding directories to the include paths sourced from a file. (ocaml#6058, fixes ocaml#3993, @gridbugs) - Support `(extra_objects ...)` field in `(executable ...)` and `(library ...)` stanzas (ocaml#6084, fixes ocaml#4129, @gridbugs) - Fix compilation of Dune under esy on Windows (ocaml#6109, fixes ocaml#6098, @nojb) - Improve error message when parsing several licenses in `(license)` (ocaml#6114, fixes ocaml#6103, @emillon) - odoc rules now about `ODOC_SYNTAX` and will rerun accordingly (ocaml#6010, fixes ocaml#1117, @emillon) - dune install: copy files in an atomic way (ocaml#6150, @emillon) - Add `%{coq:...}` macro for accessing data about the configuration about Coq. For instance `%{coq:version}` (ocaml#6049, @Alizter) - update vendored copy of cmdliner to 1.1.1. This improves the built-in documentation for command groups such as `dune ocaml`. (ocaml#6038, @emillon, ocaml#6169, @shonfeder) - The test suite for Coq now requires Coq >= 8.16 due to changes in the plugin loading mechanism upstream (which now uses findlib). - Starting with Coq build language 0.6, theories can be built without importing Coq's standard library by including `(stdlib no)`. (ocaml#6165 ocaml#6164, fixes ocaml#6163, @ejgallego @Alizter @LasseBlaauwbroek) - on macOS, sign executables produced by artifact substitution (ocaml#6137, fixes ocaml#5650, @emillon) - Added an (aliases ...) field to the (rules ...) stanza which allows the specification of multiple aliases per rule (ocaml#6194, @Alizter)
Release 3.4.1 CHANGES: - Fix build on cygwin/i686-w64-mingw32 (ocaml#6008, @kit-ty-kate)
Release 3.4.0 CHANGES: - Make `dune describe` correctly handle overlapping implementations for virtual libraries (ocaml#5971, fixes ocaml#5747, @esope) - Building the `@check` alias should make sure the libraries and executables don't have dependency cycles (ocaml#5892, @rgrinberg) - [ctypes] Add support for the `errno` parameter using the `errno_policy` field in the ctypes settings. (ocaml#5827, @droyo) - Fix `dune coq top` when it is invoked on files from a subdirectory of the directory containing the associated stanza (ocaml#5784, fixes ocaml#5552, @ejgallego, @rlepigre, @Alizter) - Fix hint when an invalid module name is found. (ocaml#5922, fixes ocaml#5273, @emillon) - The `(cat)` action now supports several files. (ocaml#5928, fixes ocaml#5795, @emillon) - Dune no longer uses shimmed `META` files for OCaml 5.x, solely using the ones installed by the compiler. (ocaml#5916, @dra27) - Fix handling of the `(deps)` field in `(test)` stanzas when there is an `.expected` file. (ocaml#5952, ocaml#5951, fixes ocaml#5950, @emillon) - Ignore insignificant filesystem events. This stops RPC in watch mode from flashing errors on insignificant file system events such as changes in the `.git/` directory. (ocaml#5953, @rgrinberg) - Fix parsing more error messages emitted by the OCaml compiler. In particular, messages where the excerpt line number started with a blank character were skipped. (ocaml#5981, @rgrinberg) - env stanza: warn if some rules are ignored because they appear after a wildcard rule. (ocaml#5898, fixes ocaml#5886, @emillon) - On Windows, XDG_CACHE_HOME is taken to be the `FOLDERID_InternetCache` if unset, and XDG_CONFIG_HOME and XDG_DATA_HOME are both taken to be `FOLDERID_LocalAppData` if unset. (ocaml#5943, fixes ocaml#5808, @nojb)
Release 3.3.1 CHANGES: - Improve parsing of ocamlc errors. We now correctly strip excerpts and parse alerts (ocaml#5879, @rgrinberg)
Release 3.3.0 CHANGES: - Sandbox preprocessing, lint, and dialect rules by default. All these rules now require precise dependency specifications (ocaml#5807, @rgrinberg) - Allow list expansion in the `pps` specification for preprocessing (ocaml#5820, @Firobe) - Add warnings 67-69 to dune's default set of warnings. These are warnings of the form "unused X.." (ocaml#5844, @rgrinbreg) - Introduce project "composition" for coq theories. Coq theories in separate projects can now refer to each other when in the same workspace (ocaml#5784, @Alitzer, @rgrinberg) - Fix hint message for ``data_only_dirs`` that wrongly mentions the unknown constructor ``data_only`` (ocaml#5803, @lambdaxdotx) - Fix creating sandbox directory trees by getting rid of buggy memoization (@5794, @rgrinberg, @snowleopard) - Handle directory dependencies in sandboxed rules. Previously, the parents of these directory dependencies weren't created. (ocaml#5754, @rgrinberg) - Set the exit code to 130 when dune is terminated with a signal (ocaml#5769, fixes ocaml#5757) - Support new locations of unix, str, dynlink in OCaml >= 5.0 (ocaml#5582, @dra27) - The ``coq.theory`` stanza now produces rules for running ``coqdoc``. Given a theory named ``mytheory``, the directory targets ``mytheory.html/`` and ``mytheory.tex/`` or additionally the aliases `@doc` and `@doc-latex` will build the HTML and LaTeX documentation repsectively. (ocaml#5695, fixes ocaml#3760, @Alizter) - Coq theories marked as `(boot)` cannot depend on other theories (ocaml#5867, @ejgallego) - Ignore `bigarray` in `(libraries)` with OCaml >= 5.0. (ocaml#5526, fixes ocaml#5494, @moyodiallo) - Start with :standard when building the ctypes generated foreign stubs so that we include important compiler flags, such as -fPIC (ocaml#5816, fixes ocaml#5809).
Release 3.2.0 CHANGES: - Fixed ``dune describe workspace --with-deps`` so that it correctly handles Reason files, as well as files any other dialect. (ocaml#5701, @esope) - Disable alerts when compiling code in vendored directories (ocaml#5683, @NathanReb) - Fixed ``dune describe --with-deps``, that crashed when some preprocessing was required in a dune file using ``per_module``. (ocaml#5682, fixes ocaml#5680, @esope) - Add `$ dune describe pp` to print the preprocssed ast of sources. (ocaml#5615, fixes ocaml#4470, @cannorin) - Report dune file evaluation errors concurrently. In the same way we report build errors. (ocaml#5655, @rgrinberg) - Watch mode now default to clearing the terminal on rebuild (ocaml#5636, fixes, ocaml#5216, @rgrinberg) - The output of jobs that finished but were cancelled is now omitted. (ocaml#5631, fixes ocaml#5482, @rgrinberg) - Allows to configure all the default destination directories with `./configure` (adds `bin`, `sbin`, `data`, `libexec`). Use `OPAM_SWITCH_PREFIX` instead of calling the `opam` binaries in `dune install`. Fix handling of multiple `libdir` in `./configure` for handling `/usr/lib/ocaml/` and `/usr/local/lib/ocaml`. In `dune install` forbid relative directories in `libdir`, `docdir` and others specific directory setting because their handling was inconsistent (ocaml#5516, fixes ocaml#3978 and ocaml#5455, @bobot) - `--terminal-persistence=clear-on-rebuild` will no longer destroy scrollback on some terminals (ocaml#5646, @rgrinberg) - Add a fmt command as a shortcut of `dune build @fmt --auto-promote` (ocaml#5574, @tmattio) - Watch mode now tracks copied external files, external directories for dependencies, dune files in OCaml syntax, files used by `include` stanzas, dune-project, opam files, libraries builtin with compiler, and foreign sources (ocaml#5627, ocaml#5645, ocaml#5652, ocaml#5656, ocaml#5672, ocaml#5691, ocaml#5722, fixes ocaml#5331, @rgrinberg) - Improve metrics for cram tests. Include test names in the event and add a category for cram tests (ocaml#5626, @rgrinberg) - Allow specifying multiple licenses in project file (ocaml#5579, fixes ocaml#5574, @liyishuai) - Match `glob_files` only against files in external directories (ocaml#5614, fixes ocaml#5540, @rgrinberg) - Add pid's to chrome trace output (ocaml#5617, @rgrinberg) - Fix race when creating local cache directory (ocaml#5613, fixes ocaml#5461, @rgrinberg) - Add `not` to boolean expressions (ocaml#5610, fix ocaml#5503, @rgrinberg) - Fix relative dependencies outside the workspace (ocaml#4035, fixes ocaml#5572, @bobot) - Allow to specify `--prefix` via the environment variable `DUNE_INSTALL_PREFIX` (ocaml#5589, @vapourismo) - Dune-site.plugin: add support for `archive(native|byte, plugin)` used in the wild before findlib documented `plugin(native|byte)` in 2015 (ocaml#5518, @bobot) - Fix a bug where Dune would not correctly interpret `META` files in alternative layout (ie when the META file is named `META.$pkg`). The `Llvm` bindings were affected by this issue. (ocaml#5619, fixes ocaml#5616, @nojb) - Support `(binaries)` in `(env)` in dune-workspace files (ocaml#5560, fix ocaml#5555, @emillon) - (mdx) stanza: add support for (locks). (ocaml#5628, fixes ocaml#5489, @emillon) - (mdx) stanza: support including files in different directories using relative paths, and provide better error messages when paths are invalid (ocaml#5703, ocaml#5704, fixes ocaml#5596, @emillon) - Fix ctypes rules for external lib names which aren't valid ocaml names (ocaml#5667, fixes ocaml#5511, @Khady)
PreviousNext