In the last two weeks, two significant bugs have been discovered in the release candidate for OCaml 5.1.0 (one affecting the type system, another in the runtime).
Those bugs are now fixed and we are publishing a second release candidate to check that everything is in order before the release in the upcoming week.
If you find any bugs, please report them on OCaml’s issue tracker.
The full change log for OCaml 5.1.0 is available on GitHub.
A short summary of the two fixed bugs in this release candidate 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.1.0~rc2
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.1.0~rc2+options <option_list>
where <option_list>
is a comma-separated list of ocaml-option-*
packages. For instance, for a flambda
and no-flat-float-array
switch:
opam switch create 5.1.0~rc2+flambda+nffa ocaml-variants.5.1.0~rc2+options ocaml-option-flambda ocaml-option-no-flat-float-array
All available options can be listed with opam search ocaml-option
.
Last Minute Bug Fixes
Type System:
- (breaking change) #6941, #11187, +#12483: prohibit using classes through recursive modules
inheriting or including a class belonging to a mutually-recursive module
would previous behave incorrectly, and now results in a clean error.
(Leo White, review by Gabriel Scherer and Florian Angeletti)