Skip to content

3.11.0~alpha1

Compare
Choose a tag to compare
@emillon emillon released this 14 Sep 13:52
· 1850 commits to main since this release

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)