First beta release of OCaml 5.5.0

Florian Angeletti <[email protected]> Mon, 20 Apr 2026 16:47:03 +0200 (CEST)
Newsgroups gmane.comp.lang.caml.inria
Message-ID <[email protected]>
--=_83c9e55c-41e8-4342-aeb9-ccff0e36af38
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Dear OCaml users,=20

With most developer tools available and the good stability of the=20
compiler, I am happy to announce the first beta release of OCaml=20
5.5.0.=20

Compared to the last alpha, this new version improves the manpage for=20
ocamlopt and fixes:=20

- two runtime bugs (for ephemerons and the bytecode interpreter)=20
- two type system bugs (for classes and module-dependent functions)=20
- three warning or error message bugs=20

(See the Changelog below for a full list).=20

Concerning the associated compiler tools, most of them are already=20
available (as least in a preview version), and there are patches in=20
progress for the missing ones. You can track the last remaining=20
update efforts on=20

https://github.com/ocaml/opam-repository/issues/29463=20

Thus, it should be safe to test your libraries and programs with the=20
new version OCaml 5.5.0 version in preparation of the final release.=20
If everything goes well, we might see a release in May.=20

If you find any bugs, please report them here:=20

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

If you are interested by the full list of new features and bug fixes, the=
=20
updated change log for OCaml 5.5.0 is available at:=20

https://github.com/ocaml/ocaml/blob/5.5/Changes=20

Happy hacking,=20
Florian Angeletti for the OCaml team.=20

Installation Instructions=20
--------------------------=20

The base compiler can be installed as an opam switch with the following com=
mands=20
on opam 2.1 and later:=20

opam update=20
opam switch create 5.5.0~beta1=20

The source code for the beta is also available at these addresses:=20

* GitHub: https://github.com/ocaml/ocaml/archive/5.5.0-beta1.tar.gz=20
* OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.5/ocam=
l-5.5.0~beta1.tar.gz=20

Fine-Tuned Compiler Configuration=20
----------------------------------------------=20

If you want to tweak the configuration of the compiler, you can switch to t=
he option variant with:=20

opam update=20
opam switch create <switch_name> ocaml-variants.5.5.0~beta1+options <option=
_list>=20

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

opam switch create 5.5.0~beta1+flambda+nffa ocaml-variants.5.5.0~beta1+opti=
ons ocaml-option-flambda ocaml-option-no-flat-float-array=20

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

Changes compared to the last alpha=20
-----------------------------------------------=20

* Documentation Update=20

- #14684(https://github.com/ocaml/ocaml/issues/14684): Improve ocamlopt's m=
anual page=20
(Samuel Hym, review by Florian Angeletti)=20

* Runtime Fixes=20

- #14644(https://github.com/ocaml/ocaml/issues/14644), #14647(https://githu=
b.com/ocaml/ocaml/issues/14647): Fix a bug related to unhandled effects in =
bytecode.=20
(Vincent Laviron, report by Thibaut Mattio,=20
review by Nicol=E1s Ojeda B=E4r, Stephen Dolan and Olivier Nicole)=20

- #14349(https://github.com/ocaml/ocaml/issues/14349), #14718(https://githu=
b.com/ocaml/ocaml/issues/14718): runtime, fix in the orphaning of ephemeron=
s=20
(Gabriel Scherer, review by Olivier Nicole and Damien Doligez,=20
report by Jan Midtgaard)=20

* Type System Fixes=20

- #14557(https://github.com/ocaml/ocaml/issues/14557), #12150(https://githu=
b.com/ocaml/ocaml/issues/12150), #14696(https://github.com/ocaml/ocaml/issu=
es/14696): ensure that the self type of class cannot escape=20
through type constraints.=20
(Leo White, review by Florian Angeletti)=20

- #14667(https://github.com/ocaml/ocaml/issues/14667): enable application r=
elated warnings for module-dependent functions=20
(Florian Angeletti, review by Gabriel Scherer)=20

* Error Messages and Warning Fixes=20

- #14690(https://github.com/ocaml/ocaml/issues/14690): Fix `Name_type_misma=
tch` error message when the expected type is an=20
alias: print the expanded path on the right-hand side of the equality, not=
=20
the alias twice.=20
(Weixie Cui, review by Florian Angeletti)=20

- #14719(https://github.com/ocaml/ocaml/issues/14719), #14721(https://githu=
b.com/ocaml/ocaml/issues/14721): compute arity correctly for module-depende=
nt function=20
(Florian Angeletti, report by Jeremy Yallop, review by Stefan Muenzel)=20

- #14655(https://github.com/ocaml/ocaml/issues/14655), #14691(https://githu=
b.com/ocaml/ocaml/issues/14691): check for size overflow in caml_ba_reshape=
=20
(Stephen Dolan, review by Xavier Leroy)=20

--=_83c9e55c-41e8-4342-aeb9-ccff0e36af38
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"font-family: arial, helvetica, sans-serif; font-s=
ize: 12pt; color: #000000"><div>Dear OCaml users,<br><br>With most develope=
r tools available and the good stability of the<br>compiler, I am happy to =
announce the first beta release of OCaml<br>5.5.0.<br><br>Compared to the l=
ast alpha, this new version improves the manpage for<br>ocamlopt and fixes:=
<br><br>- two runtime bugs (for ephemerons and the bytecode interpreter)<br=
>- two type system bugs (for classes and module-dependent functions)<br>- t=
hree warning or error message bugs<br><br>(See the Changelog below for a fu=
ll list).<br><br>Concerning the associated compiler tools, most of them are=
 already<br>available (as least in a preview version), and there are patche=
s in<br>progress for the missing ones. You can track the last remaining<br>=
update efforts on<br><br>&nbsp; https://github.com/ocaml/opam-repository/is=
sues/29463<br><br>Thus, it should be safe to test your libraries and progra=
ms with the<br>new version OCaml 5.5.0 version in preparation of the final =
release.<br>If everything goes well, we might see a release in May.<br><br>=
If you find any bugs, please report them here:<br><br>&nbsp; https://github=
.com/ocaml/ocaml/issues<br><br>If you are interested by the full list of ne=
w features and bug fixes, the<br>updated change log for OCaml 5.5.0 is avai=
lable at:<br><br>&nbsp; https://github.com/ocaml/ocaml/blob/5.5/Changes<br>=
<br>Happy hacking,<br>Florian Angeletti for the OCaml team.<br><br>Installa=
tion Instructions<br>--------------------------<br><br>The base compiler ca=
n be installed as an opam switch with the following commands<br>on opam 2.1=
 and later:<br><br>&nbsp; &nbsp; opam update<br>&nbsp; &nbsp; opam switch c=
reate 5.5.0~beta1<br><br>The source code for the beta is also available at =
these addresses:<br><br>* GitHub: https://github.com/ocaml/ocaml/archive/5.=
5.0-beta1.tar.gz<br>* OCaml archives at Inria: https://caml.inria.fr/pub/di=
strib/ocaml-5.5/ocaml-5.5.0~beta1.tar.gz<br><br>Fine-Tuned Compiler Configu=
ration<br>----------------------------------------------<br><br>If you want=
 to tweak the configuration of the compiler, you can switch to the option v=
ariant with:<br><br><br>&nbsp; &nbsp; opam update<br>&nbsp; &nbsp; opam swi=
tch create &lt;switch_name&gt; ocaml-variants.5.5.0~beta1+options &lt;optio=
n_list&gt;<br><br><br>where `option_list` is a space separated list of `oca=
ml-option-*` packages. For instance, for a flambda and no-flat-float-array =
switch:<br><br><br>&nbsp; &nbsp; opam switch create 5.5.0~beta1+flambda+nff=
a ocaml-variants.5.5.0~beta1+options ocaml-option-flambda ocaml-option-no-f=
lat-float-array<br><br><br>All available options can be listed with `opam s=
earch ocaml-option`.<br><br><br>Changes compared to the last alpha<br>-----=
------------------------------------------<br><br>* Documentation Update<br=
><br>- #14684(https://github.com/ocaml/ocaml/issues/14684): Improve ocamlop=
t's manual page<br>&nbsp; (Samuel Hym, review by Florian Angeletti)<br><br>=
* Runtime Fixes<br><br>- #14644(https://github.com/ocaml/ocaml/issues/14644=
), #14647(https://github.com/ocaml/ocaml/issues/14647): Fix a bug related t=
o unhandled effects in bytecode.<br>&nbsp; (Vincent Laviron, report by Thib=
aut Mattio,<br>&nbsp; &nbsp;review by Nicol=E1s Ojeda B=E4r, Stephen Dolan =
and Olivier Nicole)<br><br>- #14349(https://github.com/ocaml/ocaml/issues/1=
4349), #14718(https://github.com/ocaml/ocaml/issues/14718): runtime, fix in=
 the orphaning of ephemerons<br>&nbsp; (Gabriel Scherer, review by Olivier =
Nicole and Damien Doligez,<br>&nbsp; &nbsp;report by Jan Midtgaard)<br><br>=
* Type System Fixes<br><br>- #14557(https://github.com/ocaml/ocaml/issues/1=
4557), #12150(https://github.com/ocaml/ocaml/issues/12150), #14696(https://=
github.com/ocaml/ocaml/issues/14696): ensure that the self type of class ca=
nnot escape<br>&nbsp; through type constraints.<br>&nbsp; (Leo White, revie=
w by Florian Angeletti)<br><br>- #14667(https://github.com/ocaml/ocaml/issu=
es/14667): enable application related warnings for module-dependent functio=
ns<br>&nbsp; (Florian Angeletti, review by Gabriel Scherer)<br><br>* Error =
Messages and Warning Fixes<br><br>- #14690(https://github.com/ocaml/ocaml/i=
ssues/14690): Fix `Name_type_mismatch` error message when the expected type=
 is an<br>&nbsp; alias: print the expanded path on the right-hand side of t=
he equality, not<br>&nbsp; the alias twice.<br>&nbsp; (Weixie Cui, review b=
y Florian Angeletti)<br><br>- #14719(https://github.com/ocaml/ocaml/issues/=
14719), #14721(https://github.com/ocaml/ocaml/issues/14721): compute arity =
correctly for module-dependent function<br>&nbsp; (Florian Angeletti, repor=
t by Jeremy Yallop, review by Stefan Muenzel)<br><br>- #14655(https://githu=
b.com/ocaml/ocaml/issues/14655), #14691(https://github.com/ocaml/ocaml/issu=
es/14691): check for size overflow in caml_ba_reshape<br>&nbsp; (Stephen Do=
lan, review by Xavier Leroy)</div></div></body></html>
--=_83c9e55c-41e8-4342-aeb9-ccff0e36af38--