The release of OCaml 5.3.0 is imminent.
As a final step, we are publishing a release candidate to check that everything is in order before the release in the upcoming week(s).
If you find any bugs, please report them on OCaml’s issue tracker.
Compared to the second beta, this release candidate contains a regression fix in the type system (some type expressions were not generalized when they ought to be), one fix for the new check for dependency order at link time, and a manual update.
The full change log for OCaml 5.3.0 is available on GitHub. A short summary of the changes since the second beta release is also available below.
Installation Instructions
The base compiler can be installed as an opam switch with the following commands on opam 2.1 and later:
opam update
opam switch create 5.3.0~rc1
The source code for the release candidate is also directly available on:
Fine-Tuned Compiler Configuration
If you want to tweak the configuration of the compiler, you can switch to the option variant with:
opam update
opam switch create <switch_name> ocaml-variants.5.3.0~rc1+options <option_list>
where <option_list>
is a space-separated list of ocaml-option-*
packages. For instance, for a flambda
and no-flat-float-array
switch:
opam switch create 5.3.0~rc1+flambda+nffa ocaml-variants.5.3.0~rc1+options ocaml-option-flambda ocaml-option-no-flat-float-array
All available options can be listed with opam search ocaml-option
.
Changes since the second beta
Type system
- #13690: some type expressions were incorrectly not generalized (because they
were assigned to the wrong level pool)
Documentation
- #13666: Rewrite parts of the example code around nested lists in Chapter 6
(Polymorphism and its limitations → Polymorphic recursion) giving the
“depth” function [in the non-polymorphically-recursive part of the example]
a much more sensible behavior; also fix a typo and some formatting.
(Frank Steffahn, review by Florian Angeletti)