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 <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)