Dune Versions Save

A composable build system for OCaml.

3.11.0_alpha3

7 months ago

CHANGES:

  • Turn internal promote rules into fallback rules when --ignore-promoted-rules is set (#8518, #8706, fix #8417, fix #8703, @rgrinberg, @emillon)

  • Make copy sandbox support directory targets. (#8705, fixes #7724, @emillon)

3.11.0_alpha2

7 months ago

CHANGES:

  • init: check that module names are valid (#8644, fixes #8252, @emillon)

  • Add a new alias @doc-json to build odoc documentation in JSON format. This output can be consumed by external tools. (#8178, @emillon)

3.11.0_alpha1

8 months ago

CHANGES:

  • Modules that were declared in (modules_without_implementation), (private_modules) or (virtual_modules) but not declared in (modules) will raise an error. (#7674, @Alizter)

  • enabled_if now supports arch_sixtyfour variable (#8023, fixes #7997, @Alizter)- Use posix_spawn instead of fork on MacOS. This gives us a performance boost and allows us to re-enable thread. (#8090, @rgrinberg)

  • Experimental: Added a $ dune monitor command that can connect to a running dune build in watch mode and display the errors and progress. (#8152, @Alizter)

  • No longer emit linkopts(javascript) in META files (#8168, @hhugo)

  • The progress RPC procedure now has an extra field for the In_progress constructor for the number of failed jobs. (#8212, @Alizter)

  • Add a --preview flag to dune fmt which causes it to print out the changes it would make without applying them (#8289, @gridbugs)

  • Introduce (source_trees ..) to the install stanza to allow installing entire source trees. (#8349, @rgrinberg)

  • Deprecate install destination paths beginning with ".." to prevent packages escaping their designated installation directories. (#8350, @gridbugs)

  • Stop signing source files with substitutions. Sign only binaries instead (#8361, fixes #8360, @anmonteiro)

  • Add --stop-on-first-error option to dune build which will terminate the build when the first error is encountered. (#8400, @pmwhite and @Alizter)- Dune now displays the number of errors when waiting for changes in watch mode. (#8408, fixes #6889, @Alizter)

  • Add with_prefix keyword for changing the prefix of the destination of installed files matched by globs. (#8416, @gridbugs)

  • Added experimental --display tui option for Dune that opens an interactive Terminal User Interface (TUI) when Dune is running. Press '?' to open up a help screen when running for more information. (#8429, @Alizter and @rgrinberg)

  • Add a warnings field to dune-project files as a unified mechanism to enable or disable dune warnings (@rgrinberg, 8448)

  • dune exec: support syntax like %{bin:program}. This can appear anywhere in the command line, so things like dune exec time %{bin:program} now work. (#6035, #8474, fixes #2691, @emillon, @Leonidas-from-XIV)

  • RPC message styles are now serialised meaning that RPC diagnostics keep their Ansi styling. (#8516, fixes #6921, @Alizter)- Ignore internal promote rules when --ignore-promoted-rules is set (#8518, fix #8417, @rgrinberg)

  • Truncate output from actions that produce too much output (@tov, #8351)

  • Allow libraries to shadow OCaml builtin libraries. Previously, builtin libraries would always take precedence. (@rgrinberg, #8558)

  • Remove warning against .dune files generated by pre dune 2.0 (#8611, @rgrinberg)

  • dune utop no longer links utop in "custom" mode, which should make this command considerably faster. (#8631, fixes #6894, @nojb)

  • Ensure that package names in dune-project are valid opam package names. (#8331, @emillon)

  • dune init: parse --public as a public name (#8603, fixes #7108, @emillon)

  • Remove versions 0.1 and 0.2 of the experimental ctypes extension. (#8293, @emillon)

3.10.0

9 months ago

CHANGES:

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

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

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

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

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

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

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

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

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

3.9.3

9 months ago

CHANGES:

  • Fix flushing when using sendfile fallback (#8288, @alan-j-hu)

3.10.0_alpha1

9 months ago

CHANGES:

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

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

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

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

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

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

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

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

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

3.9.2

9 months ago

CHANGES:

  • Disable background digests on Windows. This prevents an issue where unremovable files would make dune crash when the shared cache is enabled. (#8243, fixes #8228, @emillon)

  • Fix permission errors when sendfile is not available (#8234, fixes #8120, @emillon)

3.9.1

10 months ago

CHANGES:

  • Disable background operations and threaded console on MacOS and other Unixes where we rely on fork. (#8100, #8121, fixes #8083, @rgrinberg, @emillon)

  • Initialize async IO thread lazily. (#8122, @emillon)

3.9.0

10 months ago

CHANGES:

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

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

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

  • Include source tree scans in the traces produced by --trace-file (#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 (#7901, @rgrinberg)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.8.3

10 months ago

CHANGES:

  • Fix deadlock on Windows (#8044, @nojb)

  • When using sendfile to copy files on Linux, fall back to the portable version if it fails at runtime for some reason (NFS, etc). (#8049, fixes #8041, @emillon)