OCaml 4.13.0, second release candidate

The release of OCaml 4.13.0 is expected for next week.

Since we had a native code generation bug fix and two minor configuration tweaks
since the first release candidate, we are publishing a second release candidate.
If you find any bugs, please report them here:

Issues · ocaml/ocaml · GitHub

Happy hacking,
Florian Angeletti for the OCaml team.

Installation instructions

The base compiler can be installed as an opam switch with the following commands

opam update
opam switch create 4.13.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.13.0~rc2+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

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 4.13.0~rc2+flambda+nffa --packages=ocaml-variants.4.13.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:


Changes since the first release candidate

  • #10626, #10628: Wrong reloading of the x86-64 instruction for
    integer multiplication by a constant, causing the assembler to
    reject the ocamlopt-generated code.
    (Xavier Leroy, report by Dave Aitken, review by Vincent Laviron)
  • #10176, #10632(new in rc2): By default, call the assembler through the C compiler driver
    (Sébastien Hinderer, review by Gabriel Scherer, David Allsopp and Xavier

  • #10451, #10635(new in rc2): Replace the use of iconv with a C utility to convert $(LIBDIR)
    to a C string constant on Windows when building the runtime. Hardens the
    generation of the constant on Unix for paths with backslashes, double-quotes
    and newlines.
    (David Allsopp, review by Florian Angeletti and Sébastien Hinderer)