Third alpha release of OCaml 5.5.0
Florian Angeletti <[email protected]> Thu, 26 Mar 2026 14:21:50 +0100 (CET)
| Newsgroups | gmane.comp.lang.caml.inria |
|---|---|
| Message-ID | <[email protected]> |
--=_95ebdf21-03f8-4cd1-b417-366333f3dfcb Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Dear OCaml users,=20 With the progress of the ongoing stabilisation effort for OCaml 5.5.0, I am= happy to=20 announce the third alpha release for OCaml 5.5.0.=20 The missing second alpha was unreleased due to an unforeseen interaction be= tween=20 the relocatable compiler and bootstrapping. This issue is fixed in this thi= rd alpha.=20 Beyond this important change, compared to the first alpha this new alpha re= lease=20 contains 2 code generation fixes, 3 type system fixes and one standard libr= ary=20 fix (see the Changelog below for a full list).=20 Thus, it looks like 5.5.0 is stabilizing quite well and we are planning to = switch to=20 a beta release in the beginning of April.=20 More precisely, the ongoing progress on stabilising the ecosystem is tracke= d on=20 the opam readiness for 5.5.0 meta-issue at:=20 https://github.com/ocaml/opam-repository/issues/29463=20 There is also a companion alpha opam repository available for this alpha re= lease=20 opam repo add alpha git+https://github.com/kit-ty-kate/opam-alpha-repositor= y.git=20 which contains in-progress alpha releases of opam packages that are being u= pdated for=20 OCaml 5.5.0 .=20 The final release is still planned for between May and June.=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 Changes compared to the first alpha=20 -----------------------------------------------=20 ## Compiler artefact fixes=20 - More bootstrap-friendly relocatable compiler=20 - A bootstrap to fix compiler-libs related issues reported by js_of_ocaml= =20 ## Code generation bug fixes=20 - #14583(https://github.com/ocaml/ocaml/issues/14583): fix bug in linear sc= an spilling heuristic that in certain situations=20 could lead to miscompilations.=20 (Nicol=E1s Ojeda B=E4r, review by Vincent Laviron)=20 - #13693(https://github.com/ocaml/ocaml/issues/13693), #14514(https://githu= b.com/ocaml/ocaml/issues/14514): s390x: fix heap corruption with libasmrun_= shared.so caused=20 by PLT lazy binding trampoline saving FPRs into OCaml's fiber stack.=20 Replace @PLT calls with GOT-indirect calls in the s390x code emitter.=20 (Zane Hambly, review by David Allsopp and Xavier Leroy)=20 ## Type system bug fixes=20 - #14434(https://github.com/ocaml/ocaml/issues/14434), #14652(https://githu= b.com/ocaml/ocaml/issues/14652): Protect check_counter_example_pat against = polymorphic types,=20 restoring type soundness.=20 (Stephen Dolan and Jacques Garrigue, report and review by Alistair O'Brien)= =20 - #14603(https://github.com/ocaml/ocaml/issues/14603), [#14604](https://git= hub.com/ocaml/ocaml/issues/14604): avoid Ctype.apply failures when mixing= =20 polymorphic types and unboxed constructors.=20 (Gabriel Scherer and Stefan Muenzel, report by Brandon Stride,=20 review by Florian Angeletti)=20 - #14626(https://github.com/ocaml/ocaml/issues/14626), [#14675](https://git= hub.com/ocaml/ocaml/issues/14675): take in account module-dependent functio= ns when=20 determining if an optional argument is non-erasable.=20 (Alistair O'Brien and Florian Angeletti, review by Gabriel Scherer)=20 ## Standard library fix=20 - #14635(https://github.com/ocaml/ocaml/issues/14635): Fix a bug in `caml_f= loatarray_gather` that would cause=20 the result of `Float.Array.sub`, `Float.Array.append`, `Float.Array.concat`= =20 (when empty) not to be equal to `[||]`.=20 (Marc Lasson, review by Gabriel Scherer)=20 ## Documentation update=20 - #13590(https://github.com/ocaml/ocaml/issues/13590): Document automatic c= ommand-line expansion of `*` and `?` wildcards by=20 the runtime under Windows.=20 (Benjamin Sigonneau, review by Nicol=E1s Ojeda B=E4r)=20 --=_95ebdf21-03f8-4cd1-b417-366333f3dfcb 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 the progress = of the ongoing stabilisation effort for OCaml 5.5.0, I am happy to</div><di= v>announce the third alpha release for OCaml 5.5.0.<br><br>The missing seco= nd alpha was unreleased due to an unforeseen interaction between<br>the rel= ocatable compiler and bootstrapping. This issue is fixed in this third alph= a.<br><br>Beyond this important change, compared to the first alpha this ne= w alpha release<br>contains 2 code generation fixes, 3 type system fixes an= d one standard library<br>fix (see the Changelog below for a full list).<br= ><br>Thus, it looks like 5.5.0 is stabilizing quite well and we are plannin= g to switch to</div><div>a beta release in the beginning of April.<br><br>M= ore precisely, the ongoing progress on stabilising the ecosystem is tracked= on<br>the opam readiness for 5.5.0 meta-issue at:<br><br> https://gi= thub.com/ocaml/opam-repository/issues/29463<br><br>There is also a companio= n alpha opam repository available for this alpha release<br><br> &nbs= p; opam repo add alpha git+https://github.com/kit-ty-kate/opam-alpha= -repository.git<br><br>which contains in-progress alpha releases of opam pa= ckages that are being updated for<br>OCaml 5.5.0 .<br><br>The final release= is still planned for between May and June.<br><br>If you find any bugs, pl= ease report them here:<br><br> https://github.com/ocaml/ocaml/issues<= br><br>If you are interested by the full list of new features and bug fixes= , the<br>updated change log for OCaml 5.5.0 is available at:<br><br> = https://github.com/ocaml/ocaml/blob/5.5/Changes<br><br>Happy hacking,<br>Fl= orian Angeletti for the OCaml team.<br><br><br>Changes compared to the firs= t alpha<br>-----------------------------------------------<br><br>## Compil= er artefact fixes<br><br>- More bootstrap-friendly relocatable compiler<br>= - A bootstrap to fix compiler-libs related issues reported by js_of_ocaml<b= r><br>## Code generation bug fixes<br><br>- #14583(https://github.com/ocaml= /ocaml/issues/14583): fix bug in linear scan spilling heuristic that in cer= tain situations<br> could lead to miscompilations.<br> (Nicol= =E1s Ojeda B=E4r, review by Vincent Laviron)<br><br>- #13693(https://github= .com/ocaml/ocaml/issues/13693), #14514(https://github.com/ocaml/ocaml/issue= s/14514): s390x: fix heap corruption with libasmrun_shared.so caused<br>&nb= sp; by PLT lazy binding trampoline saving FPRs into OCaml's fiber stack.<br= > Replace @PLT calls with GOT-indirect calls in the s390x code emitte= r.<br> (Zane Hambly, review by David Allsopp and Xavier Leroy)<br><br= >## Type system bug fixes<br><br>- #14434(https://github.com/ocaml/ocaml/is= sues/14434), #14652(https://github.com/ocaml/ocaml/issues/14652): Protect c= heck_counter_example_pat against polymorphic types,<br> restoring typ= e soundness.<br> (Stephen Dolan and Jacques Garrigue, report and revi= ew by Alistair O'Brien)<br><br>- #14603(https://github.com/ocaml/ocaml/issu= es/14603), [#14604](https://github.com/ocaml/ocaml/issues/14604): avoid Cty= pe.apply failures when mixing<br> polymorphic types and unboxed const= ructors.<br> (Gabriel Scherer and Stefan Muenzel, report by Brandon S= tride,<br> review by Florian Angeletti)<br><br>- #14626(https:/= /github.com/ocaml/ocaml/issues/14626), [#14675](https://github.com/ocaml/oc= aml/issues/14675): take in account module-dependent functions when<br> = ; determining if an optional argument is non-erasable.<br> (Alistair = O'Brien and Florian Angeletti, review by Gabriel Scherer)<br><br>## Standar= d library fix<br><br>- #14635(https://github.com/ocaml/ocaml/issues/14635):= Fix a bug in `caml_floatarray_gather` that would cause<br> the resul= t of `Float.Array.sub`, `Float.Array.append`, `Float.Array.concat`<br> = ; (when empty) not to be equal to `[||]`.<br> (Marc Lasson, review by= Gabriel Scherer)<br><br>## Documentation update<br><br>- #13590(https://gi= thub.com/ocaml/ocaml/issues/13590): Document automatic command-line expansi= on of `*` and `?` wildcards by<br> the runtime under Windows.<br>&nbs= p; (Benjamin Sigonneau, review by Nicol=E1s Ojeda B=E4r)<br><br data-mce-bo= gus=3D"1"></div></div></body></html> --=_95ebdf21-03f8-4cd1-b417-366333f3dfcb--