The release of OCaml 4.13.0 is imminent. As a last test that everything is in order, we are publishing a first release candidate for OCaml 4.13.0.
Compared to the last beta release, this release candidate includes one small fix
for flambda, another for the compiler-libs, one regression fix when compiling C
files with ocamlc or ocamlopt, and a handful of configuration and build system
improvements (in particular on Windows). See the changelog below for more details.
If you find any bugs, please report them here:
Issues · ocaml/ocaml · GitHub
The release of OCaml 4.13.0 is currently planned for mid-September.
An assembler generation bug was discovered this morning, we might release
another release candidate next week once this bug is fixed.
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~rc1 --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~rc1+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~rc1+flambda+nffa --packages=ocaml-variants.4.13.0~rc1+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 beta release is also available at these addresses:
https://github.com/ocaml/ocaml/archive/4.13.0-rc1.tar.gz
https://caml.inria.fr/pub/distrib/ocaml-4.13/ocaml-4.13.0~rc1.tar.gz
Changes since the first beta
Bug fixes
-
#10593: Fix untyping of patterns without named existential quantifiers. This
bug was only present in the beta version of OCaml 4.13.0.
(Ulysse GĂ©rard, review by Florian Angeletti) -
#10603, #10611: Fix if condition marked as inconstant in flambda
(Vincent Laviron and Pierre Chambart, report by Marcello Seri)
Regression fix
-
#9960, #10619(new in rc1): extend ocamlc/ocamlopt’s -o option to work when
compiling C files
(SĂ©bastien Hinderer, reported by Daniel BĂĽnzli, review by
Florian Angeletti and Gabriel Scherer)
Internal configuration and build system
-
#10471: Fix detection of arm32 architectures with musl in configure.
(Louis Gesbert, review by David Allsopp) -
#10451: 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) -
#10511: Cygwin ports now correctly configure when flexdll is not available.
(David Allsopp, review by Florian Angeletti) -
#10584, #10856: Standard Library documentation build no longer fails if
optional libraries have been disabled.
(David Allsopp, report by Yuri Victorovich review by Florian Angeletti)
Manual
-
#10605: manual, name few css classes to ease styling and maintainability.
(Florian Angeletti, review by Wiktor Kuchta and Gabriel Scherer)