Skip to content

Releases: ocaml/dune

3.12.0

28 Nov 16:44
da1c137
Compare
Choose a tag to compare

CHANGES:

  • Introduce $ dune ocaml doc to open and browse documentation. (#7262, fixes
    #6831, @EmileTrotignon)

  • dune cache trim now accepts binary byte units: KiB, MiB, etc. (#8618,
    @Alizter)

  • No longer force colors for OCaml 4.03 and 4.04 (#8778, @rgrinberg)

  • Introduce new experimental odoc rules (#8803, @jonjudlam)

  • Introduce the runtest_alias field to the cram stanza. This allows
    removing default runtest alias from tests. (@rgrinberg, #8887)

  • Do not ignore libraries named bigarray when they are defined in conjunction
    with OCaml 5.0 (#8902, fixes #8901, @rgrinberg)

  • Dependencies in the copying sandbox are now writeable (#8920, @rgrinberg)

  • Absent packages shouldn't prevent all rules from being loaded (#8948, fixes
    #8630, @rgrinberg)

  • Correctly determine the stanza of menhir modules when (include_subdirs qualified) is enabled (@rgrinberg, #8949, fixes #7610)

  • Display cache location in Dune log (#8974, @nojb)

  • Re-run actions whenever (expand_aliases_in_sandbox) changes (#8990,
    @rgrinberg)

  • Rules that only use internal dune actions (write-file, echo, etc.) can
    now be sandboxed. (#9041, fixes #8854, @rgrinberg)

  • Do not re-run rules when their location changes (#9052, @rgrinberg)

  • Correctly ignore bigarray on recent version of OCaml (#9076, @rgrinberg)

  • Add test_ prefix to default test name in dune init project (#9257, fixes
    #9131, @9sako6)

  • Add coqdoc_flags field to coq field of env stanza allowing the setting
    of workspace-wide defaults for coqdoc_flags. (#9280, fixes #9139, @Alizter)

  • [coq rules] Be more tolerant when coqc --print-version / --config don't work
    properly, and fallback to a reasonable default. This fixes problems when
    building Coq projects with (stdlib no) and likely other cases. (#8966, fix
    #8958, @Alizter, reported by Lasse Blaauwbroek)

  • Dune will now run at a lower framerate of 15 fps rather than 60 when
    INSIDE_EMACS. (#8812, @Alizter)

  • dune-build-info: when version="" is found in a META file, we now return
    None as a version string (#9177, @emillon)

  • Dune can now be built and installed on Haiku (#8795, fix #8551, @Alizter)

  • Mark installed directories in dune-package files. This fixes (package)
    dependencies against packages that contain such directories. (#8953, fixes
    #8915, @emillon)

3.12.0~alpha3

22 Nov 11:33
Compare
Choose a tag to compare

CHANGES:

  • Cherry-pick #9215 and #9009 (@emillon)

  • dune-build-info: when version="" is found in a META file, we now return
    None as a version string (#9177, @emillon)

3.12.0~alpha2

16 Nov 14:21
Compare
Choose a tag to compare

CHANGES:

3.12.0~alpha1

10 Nov 14:31
Compare
Choose a tag to compare

CHANGES:

3.11.1

09 Oct 11:08
7cbb0e7
Compare
Choose a tag to compare

CHANGES:

3.11.0

22 Sep 13:19
e3bfd21
Compare
Choose a tag to compare

CHANGES:

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

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

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

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

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

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

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

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

  • RPC message styles are now serialised meaning that RPC diagnostics keep their
    Ansi styling. (#8516, fixes #6921, @Alizter)

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

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

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

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

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

3.11.0~alpha3

21 Sep 12:38
Compare
Choose a tag to compare

CHANGES:

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)