OCaml 4.12.0, first alpha release

The set of new features for the future version 4.12.0 of OCaml has been frozen,
maybe a little earlier than expected.

In this new version of OCaml, the gap between the mainline and multicore runtime
has been considerably narrowed.
Moreover, this new version comes with a port to the newly launched macOs/ARM architecture.
We are thus planning to have a shorter release cycle this time around to get
this new version out the door as soon as sensible — which probably translates
to the beginning of January.

I am thus happy to announce the first alpha release for OCaml 4.12.0 .

This alpha version is here to help fellow hackers join us early in our bug
hunting and opam ecosystem fixing fun. You can see the progress on this front at:

Once the major tools are supported, we will switch to beta releases.

And since changes are more fun when they come in pair, we are also testing
a new layout for the opam compiler packages.

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

opam update
opam switch create 4.12.0~alpha1 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

If you want to tweak the configuration of the compiler, the new layout offers
much finer-grained options. The new command looks like this:

opam update
opam switch create <switch_name> --packages=ocaml-variants.4.12.0~alpha1+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.12.0~alpha1+flambda+nffa --packages=ocaml-variants.4.12.0~alpha1+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.

If you want to test this version, it is advised to install the alpha opam repository

with

opam repo add alpha git://github.com/kit-ty-kate/opam-alpha-repository.git

This alpha repository contains various fixes in the process of being upstreamed.

The source code for the alpha is also available at these addresses:

https://github.com/ocaml/ocaml/archive/4.12.0-alpha1.tar.gz
https://caml.inria.fr/pub/distrib/ocaml-4.12/ocaml-4.12.0~alpha1.tar.gz

If you find any bugs, please report them here:

https://github.com/ocaml/ocaml/issues

If you are interested by the ongoing list of new features and fixed bugs, the
updated change log for OCaml 4.12.0 is available at:

https://github.com/ocaml/ocaml/blob/4.12/Changes

8 Likes