# \[ANN\] Dune 3.22

**URL:** <https://discuss.ocaml.org/t/ann-dune-3-22/17912>\
**Category:** Community\
**Tags:** release, build, dune, announce\
**Created:** [March 20, 2026, 12:19am UTC](https://discuss.ocaml.org/t/ann-dune-3-22/17912 "2026-03-20T00:19:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![shonfeder](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/shonfeder/32/424_2.png) [@shonfeder](https://discuss.ocaml.org/u/shonfeder)\
**Post date:** [March 20, 2026, 12:19am UTC](https://discuss.ocaml.org/t/ann-dune-3-22/17912/1 "2026-03-20T00:19:02Z")

</div>

The Dune team is pleased to announce [the release of dune 3.22.0](https://github.com/ocaml/dune/releases/tag/3.22.0).

In addition to many fixes and small improvements, notable highlights of this release include:

- Fixes to the dune cache on Windows, thanks to [@Nevor](https://github.com/Nevor) in [ocaml/dune#13713](https://github.com/ocaml/dune/pull/13713).
- New tracing functionality, to inspect and diagnose the build processes thanks to [@rgrinberg](https://github.com/rgrinberg) across many PRs. See [the documentation](https://dune.readthedocs.io/en/stable/hacking.html#inspecting-traces-with-jq).
- Addition of the `dune-action-trace` library, to instrument trace emission, thanks to [@rgrinberg](https://github.com/rgrinberg).
- Support for generating odoc documentation in markdown via the `@doc-markdown` build alias thanks to [@davesnx](https://github.com/davesnx) [ocaml/dune#12581](https://github.com/ocaml/dune/pull/12581).
- Full support for OxCaml’s parameterised libraries, thanks to [@art-w](https://github.com/art-w) and [@maiste](https://github.com/maiste). To learn more, see [the docs](https://dune.readthedocs.io/en/stable/tutorials/oxcaml-parameterized-library/index.html).

See [the full changelog](https://github.com/ocaml/dune/releases/tag/3.22.0)  
for all new features and fixes, and for attribution to the contributors who made  
it all possible. Thank you, contributors!

If you encounter a problem with this release, please report it in [our issue  
tracker](https://github.com/ocaml/dune/issues).

---

<div class="post-metadata">

**Author:** ![shonfeder](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/shonfeder/32/424_2.png) [@shonfeder](https://discuss.ocaml.org/u/shonfeder)\
**Post date:** [April 7, 2026, 2:45am UTC](https://discuss.ocaml.org/t/ann-dune-3-22/17912/2 "2026-04-07T02:45:20Z")

</div>

The Dune team is pleased to announce [the release of dune 3.22.1](https://github.com/ocaml/dune/releases/tag/3.22.1).

If you encounter a problem with this release, please report it in [our issue tracker](https://github.com/ocaml/dune/issues).

### Fixed

- Restore compatibility with Windows 7 (#13905, @nojb)

- `dune test` now runs tests in the default context only. When there is a single context, it is treated as the default. This fixes a crash when the workspace has no context named “default”. (#13930, fixes #13904, @Alizter)

- Fix `dune trace cat --chrome-trace` to adhere to the Chrome Trace Event Format by providing timestamps and durations at microsecond granularity (#13911, fixes #13906, @Alizter)

---

<div class="post-metadata">

**Author:** ![shonfeder](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/shonfeder/32/424_2.png) [@shonfeder](https://discuss.ocaml.org/u/shonfeder)\
**Post date:** [April 14, 2026, 5:11pm UTC](https://discuss.ocaml.org/t/ann-dune-3-22/17912/3 "2026-04-14T17:11:37Z")

</div>

The Dune team is pleased to announce [the release of dune 3.22.2](https://github.com/ocaml/dune/releases/tag/3.22.2).

This is a patch release consisting of bug fixes. See [the full changelog](https://github.com/ocaml/dune/releases/tag/3.22.2) for all the changes and for attribution to the contributors who made it all possible. Thank you, contributors!

If you encounter a problem with this release, please report it in [our issue

### Fixed

- Revert the change in behavior of `--diff-command` back to 3.21. Non-existent  
files are now passed to this command instead of being replaced with /dev/null  
([#14098](https://github.com/ocaml/dune/pull/14098), fixes 13891, [@rgrinberg](https://github.com/rgrinberg))
