[ANN] odoc 3.2.1 release

The odoc team is pleased to announce the release of odoc 3.2.1!

Highlights

OCaml 5.5.0 support

odoc now compiles against, and produces documentation for, OCaml 5.5.0 (@panglesd, @xvw, #1406).

OxCaml support

odoc now supports OxCaml natively, thanks to @lukemaurer and @art-w (#1399). Right now this is very bare-bones, but full support for the various features of OxCaml is already in progress. If you’re interested, check out the PRs!

One thing worth flagging: because OxCaml is moving much faster than upstream OCaml, each odoc release will likely support only a single OxCaml release, in contrast to our usual policy of supporting every OCaml back to 4.08. If you’re documenting an OxCaml project, please use a matched pair of odoc and oxcaml-compiler.

Added

  • Persistent LaTeX macros in the HTML/KaTeX backend (@dlesbre, #1391).
  • The markdown-generate command now accepts multiple .odocl files in a single invocation, so you no longer need to wrap it in a shell loop (@davesnx, #1387).

Changed / Fixed

  • Fixed two long-standing compile-time crashes, #930 and #1385 (@jonludlam, #1400).
  • The Markdown backend now assumes ocaml as the language id on declarations, and collects code snippets into a single block with comments rather than splitting variants/records per constructor/field.
  • URL remapping now works correctly for page references (@jonludlam, #1395).
  • Incremental builds no longer break under the conditions described in #1396 (@jonludlam, #1402).
  • --warn-error now reliably promotes all warnings to errors (@jonludlam, #1402).
  • Polymorphic arguments are no longer missing their parentheses (@art-w, #1404).
  • Fixed a regression that broke docs for packages depending on base under OCaml 5.5.0 (@jonludlam, #1426, #1427).
  • Fixed a regression that broke docs for packages depending on merlin-lib (@jonludlam, #1429, #1430).

Installation

opam update
opam install odoc

Use

Please use odoc_driver to build and test your package’s docs locally and to see how they will look on ocaml.org.

Odig and Dune continue to work as before, no changes required. Full support for all of the features of odoc 3.x is being worked on in Dune.

Thanks

Thanks to everyone who contributed code, reviews, bug reports, and testing for this release: @art-w, @davesnx, @dlesbre, @jonludlam, @lukemaurer, @panglesd, and @xvw, and anyone else I’ve forgotten!

As always, please report any issues on github.

6 Likes