The release of OCaml 4.14.0 is imminent.
As a last test that everything is in order, we are publishing a second release
candidate for OCaml 4.14.0.
We are directly jumping to the second release candidate due to a
type system regression discovered during the release process of the first
Compared to the last beta, this release candidate includes a regression fix when
typing recursive constraints, two backend fixes (one for the frame-pointer mode
and the other one for the RISC-V architecture), one configuration fix
for musl/arm64, and the manual chapter for the TMC transformation.
If you find any bugs, please report them here:
The full release of OCaml 4.14.0 is currently planned for next week.
The base compiler can be installed as an opam switch with the following commands
opam update opam switch create 4.14.0~rc2 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
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> --packages=ocaml-variants.4.14.0~rc2+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
<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 4.14.0~rc2+flambda+nffa --packages=ocaml-variants.4.14.0~rc2+options,ocaml-option-flambda,ocaml-option-no-flat-float-array --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
All available options can be listed with
opam search ocaml-option.
The source code for the release candidate is also available at these addresses:
#11101, #11109: A recursive type constraint fails on 4.14
(Jacques Garrigue, report and review by Florian Angeletti)
#10688: Move frame descriptor table from
RISC-V. Improves support for building DLLs and PIEs. In particular, this
applies to all binaries in distributions that build PIEs by default (eg
Gentoo and Alpine).
(Alex Fan, review by Gabriel Scherer)
#11031: Exception handlers restore the rbp register when using frame-pointers
(Fabrice Buoro, with help from Stephen Dolan, Tom Kelly and Mark Shinwell,
review by Xavier Leroy)
#11025, #11036: Do not pass -no-pie to the C compiler on musl/arm64
(omni, Kate Deplaix and Antonio Nuno Monteiro, review by Xavier Leroy)