8000 Tags · ELLIOTTCABLE/dune · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: ELLIOTTCABLE/dune

Tags

3.10.0

Toggle 3.10.0's commit message
Release 3.10.0

CHANGES:

- Add `dune show rules` as alias of the `dune rules` command. (ocaml#8000, @Alizter)

- Fix `%{deps}` to expand properly in `(cat ...)` when containing 2 or more
  items. (ocaml#8196, @Alizter)

- Add `dune show installed-libraries` as an alias of the `dune
  installed-libraries` command. (ocaml#8135, @Alizter)

- Fix the `severity` of error messages sent over RPC which was missing. (ocaml#8193,
  @Alizter)

- Add `dune build --dump-gc-stats FILE` argument to dump garbage collection
  stats to a named file. (ocaml#8072, @Alizter)

- Fix bug with ppx and Reason syntax due to missing dependency in sandboxed
  action (ocaml#7932, fixes ocaml#7930, @Alizter)

- Add `dune describe package-entries` to print all package entries (ocaml#7480,
  @moyodiallo)

- Improve `dune describe external-lib-deps` by adding the internal dependencies
  for more information. (ocaml#7478, @moyodiallo)

- Re-enable background file digests on Windows. The files are now open in a way
  that prevents race condition around deletion. (ocaml#8262, fixes ocaml#8268, @emillon)

3.9.0

Toggle 3.9.0's commit message
Release 3.9.0

CHANGES:

- Validate file extension for `$ dune ocaml top-module`. (ocaml#8005, fixes ocaml#8004, @3Rafal)

- Include the time it takes to read/write state files when `--trace-file` is
  enabled (ocaml#7960, @rgrinberg)

- Add `dune show` command group which is an alias of `dune describe`. (ocaml#7946,
  @Alizter)

- Include source tree scans in the traces produced by `--trace-file` (ocaml#7937,
  @rgrinberg)

- Cinaps: The promotion rules for cinaps would only offer one file at a time no
  matter how many promotions were available. Now we offer all the promotions at
  once (ocaml#7901, @rgrinberg)

- Do not re-run OCaml syntax files on every iteration of the watch mode. This
  is too memory consuming. (ocaml#7894, fix ocaml#6900, @rgrinberg)

- Add `--all` option to `dune rpc status` to show all Dune RPC servers running.
  (ocaml#8011, fix ocaml#7902, @Alizter)

- Remove some compatibility code for old version of dune that generated
  `.merlin` files. Now dune will never remove `.merlin` files automatically
  (ocaml#7562)

- Add `dune show env` command and make `dune printenv` an alias of it. (ocaml#7985,
  @Alizter)

- Add additional metadata to the traces provided by `--trace-file` whenever
  `--trace-extended` is passed (ocaml#7778, @rleshchinskiy)

- Extensions used in `(dialect)` can contain periods (e.g., `cppo.ml`). (ocaml#7782,
  fixes ocaml#7777, @nojb)

- Allow `(include_subdirs qualified)` to be used when libraries define a
  `(modules ...)` field (ocaml#7797, fixes ocaml#7597, @anmonteiro)

- `$ dune describe` is now a command group, so arguments to subcommands must be
  passed after subcommand itself. (ocaml#7919, @Alizter)

- The `interface` and `implementation` fields of a `(dialect)` are now optional
  (ocaml#7757, @gpetiot)

- Add commands `dune show targets` and `dune show aliases` that display all the
  available targets and aliases in a given directory respectively. (ocaml#7770,
  grants ocaml#265, @Alizter)

- Allow multiple globs in library's `(stdlib (internal_modules ..))`
  (@anmonteiro, ocaml#7878)

- Attach melange rules to the default alias (ocaml#7926, @haochenx)

- In opam constraints, reject `(and)` and `(or)` with no arguments at parse
  time (ocaml#7730, @emillon)

- Compute digests and manage sandboxes in background threads (ocaml#7947,
  @rgrinberg)

- Add `(build_if)` to the `(test)` stanza. When it evaluates to false, the
  executable is not built. (ocaml#7899, fixes ocaml#6938, @emillon)

- Add necessary parentheses in generated opam constraints (ocaml#7682, fixes ocaml#3431,
  @Lucccyo)

3.8.0

Toggle 3.8.0's commit message
Release 3.8.0

CHANGES:

- Fix string quoting in the json file written by `--trace-file` (ocaml#7773,
  @rleshchinskiy)

- Read `pkg-config` arguments from the `PKG_CONFIG_ARGN` environment variable
  (ocaml#1492, ocaml#7734, @anmonteiro)

- Correctly set `MANPATH` in `dune exec`. Previously, we would use the `bin/`
  directory of the context. (ocaml#7655, @rgrinberg)

- Allow overriding the `ocaml` binary with findlib configuration (ocaml#7648,
  @rgrinberg)

- merlin: ignore instrumentation settings for preprocessing. (ocaml#7606, fixes
  ocaml#7465, @Alizter)

- When a rule's action is interrupted, delete any leftover directory targets.
  This is consistent with how we treat file targets. (ocaml#7564, @rgrinberg)

- Fix plugin loading with findlib. The functionality was broken in 3.7.0.
  (ocaml#7556, @anmonteiro)

- Introduce a `public_headers` field on libraries. This field is like
  `install_c_headers`, but it allows to choose the extension and choose the
  paths for the installed headers. (ocaml#7512, @rgrinberg)

- Load the host context `findlib.conf` when cross-compiling (ocaml#7428, fixes
  ocaml#1701, @rgrinberg, @anmonteiro)

- Add a `coqdoc_flags` field to the `coq.theory` stanza allowing the user to
  pass extra arguments to `coqdoc`. (ocaml#7676, fixes ocaml#7954 @Alizter)

- Resolve `ppx_runtime_libraries` in the target context when cross compiling
  (ocaml#7450, fixes ocaml#2794, @anmonteiro)

- Use `$PKG_CONFIG`, when set, to find the `pkg-config` binary  (ocaml#7469, fixes
  ocaml#2572, @anmonteiro)

- Modules that were declared in `(modules_without_implementation)`,
  `(private_modules)` or `(virtual_modules)` but not declared in `(modules)`
  will cause Dune to emit a warning which will become an error in 3.9. (ocaml#7608,
  fixes ocaml#7026, @Alizter)

- Preliminary support for Coq compiled intefaces (`.vos` files) enabled via
  `(mode vos)` in `coq.theory` stanzas. This can be used in combination with
  `dune coq top` to obtain fast re-building of dependencies (with no checking
  of proofs) prior to stepping into a file. (ocaml#7406, @rlepigre)

- Fix dune crashing on MacOS in watch mode whenever `$PATH` contains `$PWD`
  (ocaml#7441, fixes ocaml#6907, @rgrinberg)

- Fix `dune install` when cross compiling (ocaml#7410, fixes ocaml#6191, @anmonteiro,
  @rizo)

- Find `pps` dependencies in the host context when cross-compiling,  (ocaml#7410,
  fixes ocaml#4156, @anmonteiro)

- Dune in watch mode no longer builds concurrent rules in serial (ocaml#7395
  @rgrinberg, @jchavarri)

- Dune can now detect Coq theories from outside the workspace. This allows for
  composition with installed theories (not necessarily installed with Dune).
  (ocaml#7047, @Alizter, @ejgallego)

- `dune coq top` now correctly respects the project root when called from a
  subdirectory. However, absolute filenames passed to `dune coq top` are no
  longer supported (due to being buggy) (ocaml#7357, fixes ocaml#7344, @rlepigre and
  @Alizter)

- Added a `--no-build` option to `dune coq top` for avoiding rebuilds (ocaml#7380,
  fixes ocaml#7355, @Alizter)

- RPC: Ignore SIGPIPE when clients suddenly disconnect (ocaml#7299, ocaml#7319, fixes
  ocaml#6879, @rgrinberg)

- Always clean up the UI on exit. (ocaml#7271, fixes ocaml#7142 @rgrinberg)

- Bootstrap: remove reliance on shell. Previously, we'd use the shell to get
  the number of processors. (ocaml#7274, @rgrinberg)

- Bootstrap: correctly detect the number of processors by allowing `nproc` to be
  looked up in `$PATH` (ocaml#7272, @Alizter)

- Speed up file copying on macos by using `clonefile` when available
  (@rgrinberg, ocaml#7210)

- Adds support for loading plugins in toplevels (ocaml#6082, fixes ocaml#6081,
  @ivg, @richardlford)

- Support commands that output 8-bit and 24-bit colors in the terminal (ocaml#7188,
  @Alizter)

- Speed up rule generation for libraries and executables with many modules
  (ocaml#7187, @jchavarri)

- Add `--watch-exclusions` to Dune build options (ocaml#7216, @jonahbeckford)

- Do not re-render UI on every frame if the UI doesn't change (ocaml#7186, fix
  ocaml#7184, @rgrinberg)

- Make coq_db creation in scope lazy (@ejgallego, ocaml#7133)

- Non-user proccesses such as version control or config checking are now run
  silently. (ocaml#6994, fixes ocaml#4066, @Alizter)

- Add the `--display-separate-messages` flag to separate the error messages
  produced by commands with a blank line. (ocaml#6823, fixes ocaml#6158, @esope)

- Accept the Ordered Set Language for the `modes` field in `library` stanzas
  (ocaml#6611, @anmonteiro).

- dune install now respects --display quiet mode (ocaml#7116, fixes ocaml#4573, fixes
  ocaml#7106, @Alizter)

- Stub shared libraries (dllXXX_stubs.so) in Dune-installed libraries could not
  be used as dependencies of libraries in the workspace (eg when compiling to
  bytecode and/or Javascript).  This is now fixed. (ocaml#7151, @nojb)

- Allow the main module of a library with `(stdlib ...)` to depend on other
  libraries (ocaml#7154, @anmonteiro).

- Bytecode executables built for JSOO are linked with `-noautolink` and no
  longer depend on the shared stubs of their dependent libraries (ocaml#7156, @nojb)

- Added a new user action `(concurrent )` which is like `(progn )` but runs the
  actions concurrently. (ocaml#6933, @Alizter)

- Allow `(stdlib ...)` to be used with `(wrapped false)` in library stanzas
  (ocaml#7139, @anmonteiro).

- Allow parallel execution of inline tests partitions (ocaml#7012, @hhugo)

- Support `(link_flags ...)` in `(cinaps ...)` stanza. (ocaml#7423, fixes ocaml#7416,
  @nojb)

- Allow `(package ...)` in any position within `(rule ...)` stanza (ocaml#7445,
  @Leonidas-from-XIV)

- Always include `opam` files in the generated `.install` file. Previously, it
  would not be included whenever `(generate_opam_files true)` was set and the
  `.install` file wasn't yet generated. (ocaml#7547, @rgrinberg)

- Fix regression where Merlin was unable to handle filenames with uppercase
  letters under Windows. (ocaml#7577, @nojb)

- On nix+macos, pass `-f` to the codesign hook to avoid errors when the binary
  is already signed (ocaml#7183, fixes ocaml#6265, @greedy)

- Fix bug where RPC clients built with dune-rpc-lwt would crash when closing
  their connection to the server (ocaml#7581, @gridbugs)

- Introduce mdx stanza 0.4 requiring mdx >= 2.3.0 which updates the default
  list of files to include `*.mld` files (ocaml#7582, @Leonidas-from-XIV)

- Fix RPC server on Windows (used for OCaml-LSP). (ocaml#7666, @nojb)

- Coq language versions less 0.8 are deprecated, and will be removed
  in an upcoming Dune version. All users are required to migrate to
  `(coq lang 0.8)` which provides the right semantics for theories
  that have been globally installed, such as those coming from opam
  (@ejgallego, @Alizter)

- Bump minimum version of the dune language for the melange syntax extension
  from 3.7 to 3.8 (ocaml#7665, @jchavarri)

3.7.0

Toggle 3.7.0's commit message
Release 3.7.0

CHANGES:

- Allow running `$ dune exec` in watch mode (with the `-w` flag). In watch mode,
  `$ dune exec` the executed binary whenever it is recompiled. (ocaml#6966,
  @gridbugs)

- `coqdep` is now called once per theory, instead of one time per Coq
  file. This should significantly speed up some builds, as `coqdep`
  startup time is often heavy (ocaml#7048, @Alizter, @ejgallego)

- Add `map_workspace_root` dune-project stanza to allow disabling of
  mapping of workspace root to `/workspace_root`. (ocaml#6988, fixes ocaml#6929,
  @richardlford)

- Fix handling of support files generated by odoc. (ocaml#6913, @jonludlam)

- Fix parsing of OCaml errors that contain code excerpts with `...` in them.
  (ocaml#7008, @rgrinberg)

- Pre-emptively clear screen in watch mode (ocaml#6987, fixes ocaml#6884, @rgrinberg)

- Fix cross compilation configuration when a context with targets is itself a
  host of another context (ocaml#6958, fixes ocaml#6843, @rgrinberg)

- Fix parsing of the `<=` operator in *blang* expressions of `dune` files.
  Previously, the operator would be interpreted as `<`. (ocaml#6928, @tatchi)

- Fix `--trace-file` output. Dune now emits a single *complete* event for every
  executed process. Unterminated *async* events are no longer written. (ocaml#6892,
  @rgrinberg)

- Fix preprocessing with `staged_pps` (ocaml#6748, fixes ocaml#6644, @rgrinberg)

- Use colored output with MDX when Dune colors are enabled.
  (ocaml#6462, @MisterDA)

- Make `dune describe workspace` return consistent dependencies for
  executables and for libraries. By default, compile-time dependencies
  towards PPX-rewriters are from now not taken into account (but
  runtime dependencies always are). Compile-time dependencies towards
  PPX-rewriters can be taken into account by providing the
  `--with-pps` flag. (ocaml#6727, fixes ocaml#6486, @esope)

- Print missing newline after `$ dune exec`. (ocaml#6821, fixes ocaml#6700, @rgrinberg,
  @Alizter)

- Fix binary corruption when installing or promoting in parallel (ocaml#6669, fixes
  ocaml#6668, @edwintorok)

- Use colored output with GCC and Clang when compiling C stubs. The
  flag `-fdiagnostics-color=always` is added to the `:standard` set of
  flags. (ocaml#4083, @MisterDA)

- Fix the parsing of decimal and hexadecimal escape literals in `dune`,
  `dune-package`, and other dune s-expression based files (ocaml#6710, @shym)

- Report an error if `dune init ...` would create a "dune" file in a location
  which already contains a "dune" directory (ocaml#6705, @gridbugs)

- Fix the parsing of alerts. They will now show up in diagnostics correctly.
  (ocaml#6678, @rginberg)

- Fix the compilation of modules generated at link time when
  `implicit_transitive_deps` is enabled (ocaml#6642, @rgrinberg)

- Allow `$ dune utop` to load libraries defined in data only directories
  defined using `(subdir ..)` (ocaml#6631, @rgrinberg)

- Format dune files when they are named `dune-file`. This occurs when we enable
  the alternative file names project option. (ocaml#6566, @rgrinberg)

- Move `$ dune ocaml-merlin -dump-config=$dir` to `$ dune ocaml merlin
  dump-config $dir`. (ocaml#6547, @rgrinberg)

- Allow compilation rules to be impacted by `(env ..)` stanzas that modify the
  environment or set binaries. (ocaml#6527, @rgrinberg)

- Coq native mode is now automatically detected by Dune starting with Coq lang
  0.7. `(mode native)` has been deprecated in favour of detection from the
  configuration of Coq. (ocaml#6409, @Alizter)

- Print "Leaving Directory" whenever "Entering Directory" is printed. (ocaml#6419,
  fixes ocaml#138, @cpitclaudel, @rgrinberg)

- Allow `$ dune ocaml dump-dot-merlin` to run in watch mode. Also this command
  shouldn't print "Entering Directory" mesages. (ocaml#6497, @rgrinberg)

- `dune clean` should no longer fail under Windows due to the inability to
  remove the `.lock` file. Also, bring the implementation of the global lock
  under Windows closer to that of Unix. (ocaml#6523, @nojb)

- Remove "Entering Directory" messages for `$ dune install`. (ocaml#6513,
  @rgrinberg)

- Stop passing `-q` flag in `dune coq top`, which allows for `.coqrc` to be
  loaded. (ocaml#6848, fixes ocaml#6847, @Alizter)

- Fix missing dependencies when detecting the kind of C compiler we're using
  (ocaml#6610, fixes ocaml#6415, @emillon)

- Allow `(include_subdirs qualified)` for OCaml projects. (ocaml#6594, fixes ocaml#1084,
  @rgrinberg)

- Accurately determine merlin configuration for all sources selected with
  `copy#` and `copy_files#`. The old heuristic of looking for a module in
  parent directories is removed (ocaml#6594, @rgrinberg)

- Fix inline tests with *js_of_ocaml* and whole program compilation mode
  enabled (ocaml#6645, @hhugo)

- Fix *js_of_ocaml* separate compilation rules when `--enable=effects`
  ,`--enable=use-js-string` or `--toplevel` is used. (ocaml#6714, ocaml#6828, ocaml#6920, @hhugo)

- Fix *js_of_ocaml* separate compilation in presence of linkall (ocaml#6832, ocaml#6916, @hhugo)

- Remove spurious build dir created when running `dune init proj ...` (ocaml#6707,
  fixes ocaml#5429, @gridbugs)

- Allow `--sandbox` to affect `ocamldep` invocations. Previously, they were
  wrongly marked as incompatible (ocaml#6749, @rgrinberg)

- Validate the command line arguments for `$ dune ocaml top-module`. This
  command requires one positional argument (ocaml#6796, fixes ocaml#6793, @rgrinberg)

- Add a `dune cache size` command for displaying the size of the cache (ocaml#6638,
  @Alizter)

- Fix dependency cycle when installing files to the bin section with
  `glob_files` (ocaml#6764, fixes ocaml#6708, @gridbugs)

- Handle "Too many links" errors when using Dune cache on Windows (ocaml#6993, @nojb)

- Allow the `cinaps` stanza to set a custom alias. By default, if the alias is
  not set then the cinaps actions will be attached to both `@cinaps` and
  `@runtest` (ocaml#6991, @rgrinberg)

- Add `(using ctypes 0.3)`. When used, paths in `(ctypes)` are interpreted
  relative to where the stanza is defined. (ocaml#6883, fixes ocaml#5325, @emillon)

- Auto-detect `dune-workspace` files as `dune` files in Emacs (ocaml#7061,
  @ilankri)

- Add native support for polling mode on Windows (ocaml#7010, @yams-yams, @nojb)

3.6.0

Toggle 3.6.0's commit message
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)

3.5.0

Toggle 3.5.0's commit message
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)

3.4.1

Toggle 3.4.1's commit message
Release 3.4.1

CHANGES:

- Fix build on cygwin/i686-w64-mingw32 (ocaml#6008, @kit-ty-kate)

3.4.0

Toggle 3.4.0's commit message
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)

3.3.1

Toggle 3.3.1's commit message
Release 3.3.1

CHANGES:

- Improve parsing of ocamlc errors. We now correctly strip excerpts and parse
  alerts (ocaml#5879, @rgrinberg)

3.3.0

Toggle 3.3.0's commit message
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).
0