Dear OCaml users, 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: https://github.com/ocaml/ocaml/issues 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 --packages=ocaml-variants.4.13.0~rc1+options, --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git where 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)