Skip to content

Releases: ocaml/dune

3.11.0~alpha2

19 Sep 12:04
Compare
Choose a tag to compare

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

14 Sep 13:52
Compare
Choose a tag to compare

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

31 Jul 12:17
fc38252
Compare
Choose a tag to compare

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

31 Jul 12:07
842d104
Compare
Choose a tag to compare

CHANGES:

3.10.0~alpha1

28 Jul 15:17
Compare
Choose a tag to compare

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

25 Jul 14:39
4a6287d
Compare
Choose a tag to compare

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

06 Jul 14:15
3276f90
Compare
Choose a tag to compare

CHANGES:

3.9.0

28 Jun 12:16
891fa5a
Compare
Choose a tag to compare

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

27 Jun 11:33
d325c40
Compare
Choose a tag to compare

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)

3.9.0~alpha1

23 Jun 12:51
Compare
Choose a tag to compare

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)

  • 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)