[ANN] Dune 3.3.0

On behalf of the dune team, I’m pleased to announce the release of version 3.3.0. This is the first version that supports the upcoming OCaml 5.0. It also improves safety by sandboxing more rules and enabling more warnings, and there’s a bunch of new features on the coq side too. Full changelog follows.

Note that as usual, dune works hard not to break existing packages. So even if it mentions that rules require precise dependencies, for example, this new safety net is only enabled for project that use (lang dune 3.3).

Happy hacking.

3.3.0 (17-06-2022)

  • Sandbox preprocessing, lint, and dialect rules by default. All these rules
    now require precise dependency specifications (#5807, @rgrinberg)

  • Allow list expansion in the pps specification for preprocessing (#5820,

  • Add warnings 67-69 to dune’s default set of warnings. These are warnings of
    the form “unused X…” (#5844, @rgrinberg)

  • Introduce project “composition” for coq theories. Coq theories in separate
    projects can now refer to each other when in the same workspace (#5784,
    @Alizter, @rgrinberg)

  • Fix hint message for data_only_dirs that wrongly mentions the unknown
    constructor data_only (#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. (#5754, @rgrinberg)

  • Set the exit code to 130 when dune is terminated with a signal (#5769, fixes

  • Support new locations of unix, str, dynlink in OCaml >= 5.0 (#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. (#5695, fixes #3760,

  • Coq theories marked as (boot) cannot depend on other theories
    (#5867, @ejgallego)

  • Ignore bigarray in (libraries) with OCaml >= 5.0. (#5526, fixes #5494,

  • Start with :standard when building the ctypes generated foreign stubs so that
    we include important compiler flags, such as -fPIC (#5816, fixes #5809).