First alpha release of OCaml 5.4.0

Florian Angeletti <[email protected]> Tue, 27 May 2025 14:38:31 +0200 (CEST)
Newsgroups gmane.comp.lang.caml.inria
Message-ID <[email protected]>
Dear OCaml users, 

Four months after the release of OCaml 5.3.0, the set of new features for the 
future version 5.4.0 of OCaml has been frozen. We are thus happy to announce 
the first alpha release for OCaml 5.4.0. 

This alpha version is here to help fellow hackers join us early in our bug 
hunting and opam ecosystem fixing fun (see below for the installation 
instructions). More information about the release process is available 
at https://github.com/ocaml/ocaml/blob/trunk/release-info/introduction.md. 

The progresses on stabilising the ecosystem are tracked on the 
"opam readiness for 5.4.0 meta-issue" at 

https://github.com/ocaml/opam-repository/issues/27916 

The full release is expected around the end of July. There are more information 
available in the new prospective calendar at 

https://github.com/ocaml/ocaml/blob/trunk/release-info/calendar.md . 

If you find any bugs, please report them on OCaml's issue tracker: 

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

If you are interested in the ongoing list of new features and bug fixes, the 
updated change log for OCaml 5.4.0 is available on GitHub at 

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

Happy hacking, 
Florian Angeletti for the OCaml team 


Installation Instructions 
------------------------------ 

The base compiler can be installed as an opam switch with the following commands 
on opam 2.1 and later: 

opam update 
opam switch create 5.4.0~alpha1 


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

* GitHub: https://github.com/ocaml/ocaml/archive/5.4.0-alpha1.tar.gz 
* OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.4/ocaml-5.4.0~alpha1.tar.gz 

Fine-Tuned Compiler Configuration 
---------------------------------------------- 

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> ocaml-variants.5.4.0~alpha1+options <option_list> 


where `option_list` is a space separated list of `ocaml-option-*` packages. For instance, for a flambda and no-flat-float-array switch: 


opam switch create 5.4.0~alpha1+flambda+nffa ocaml-variants.5.4.0~alpha1+options ocaml-option-flambda ocaml-option-no-flat-float-array 


All available options can be listed with `opam search ocaml-option`.