Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
* [Caml-list] Third alpha release of OCaml 5.5.0
@ 2026-03-26 13:21 Florian Angeletti
  2026-04-20 14:47 ` [Caml-list] First beta " Florian Angeletti
  0 siblings, 1 reply; 2+ messages in thread
From: Florian Angeletti @ 2026-03-26 13:21 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 3846 bytes --]

Dear OCaml users, 

With the progress of the ongoing stabilisation effort for OCaml 5.5.0, I am happy to 
announce the third alpha release for OCaml 5.5.0. 

The missing second alpha was unreleased due to an unforeseen interaction between 
the relocatable compiler and bootstrapping. This issue is fixed in this third alpha. 

Beyond this important change, compared to the first alpha this new alpha release 
contains 2 code generation fixes, 3 type system fixes and one standard library 
fix (see the Changelog below for a full list). 

Thus, it looks like 5.5.0 is stabilizing quite well and we are planning to switch to 
a beta release in the beginning of April. 

More precisely, the ongoing progress on stabilising the ecosystem is tracked on 
the opam readiness for 5.5.0 meta-issue at: 

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

There is also a companion alpha opam repository available for this alpha release 

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

which contains in-progress alpha releases of opam packages that are being updated for 
OCaml 5.5.0 . 

The final release is still planned for between May and June. 

If you find any bugs, please report them here: 

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

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

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

Happy hacking, 
Florian Angeletti for the OCaml team. 


Changes compared to the first alpha 
----------------------------------------------- 

## Compiler artefact fixes 

- More bootstrap-friendly relocatable compiler 
- A bootstrap to fix compiler-libs related issues reported by js_of_ocaml 

## Code generation bug fixes 

- #14583(https://github.com/ocaml/ocaml/issues/14583): fix bug in linear scan spilling heuristic that in certain situations 
could lead to miscompilations. 
(Nicolás Ojeda Bär, review by Vincent Laviron) 

- #13693(https://github.com/ocaml/ocaml/issues/13693), #14514(https://github.com/ocaml/ocaml/issues/14514): s390x: fix heap corruption with libasmrun_shared.so caused 
by PLT lazy binding trampoline saving FPRs into OCaml's fiber stack. 
Replace @PLT calls with GOT-indirect calls in the s390x code emitter. 
(Zane Hambly, review by David Allsopp and Xavier Leroy) 

## Type system bug fixes 

- #14434(https://github.com/ocaml/ocaml/issues/14434), #14652(https://github.com/ocaml/ocaml/issues/14652): Protect check_counter_example_pat against polymorphic types, 
restoring type soundness. 
(Stephen Dolan and Jacques Garrigue, report and review by Alistair O'Brien) 

- #14603(https://github.com/ocaml/ocaml/issues/14603), [#14604](https://github.com/ocaml/ocaml/issues/14604): avoid Ctype.apply failures when mixing 
polymorphic types and unboxed constructors. 
(Gabriel Scherer and Stefan Muenzel, report by Brandon Stride, 
review by Florian Angeletti) 

- #14626(https://github.com/ocaml/ocaml/issues/14626), [#14675](https://github.com/ocaml/ocaml/issues/14675): take in account module-dependent functions when 
determining if an optional argument is non-erasable. 
(Alistair O'Brien and Florian Angeletti, review by Gabriel Scherer) 

## Standard library fix 

- #14635(https://github.com/ocaml/ocaml/issues/14635): Fix a bug in `caml_floatarray_gather` that would cause 
the result of `Float.Array.sub`, `Float.Array.append`, `Float.Array.concat` 
(when empty) not to be equal to `[||]`. 
(Marc Lasson, review by Gabriel Scherer) 

## Documentation update 

- #13590(https://github.com/ocaml/ocaml/issues/13590): Document automatic command-line expansion of `*` and `?` wildcards by 
the runtime under Windows. 
(Benjamin Sigonneau, review by Nicolás Ojeda Bär) 


[-- Attachment #2: Type: text/html, Size: 4297 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Caml-list] First beta release of OCaml 5.5.0
  2026-03-26 13:21 [Caml-list] Third alpha release of OCaml 5.5.0 Florian Angeletti
@ 2026-04-20 14:47 ` Florian Angeletti
  0 siblings, 0 replies; 2+ messages in thread
From: Florian Angeletti @ 2026-04-20 14:47 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 4429 bytes --]

Dear OCaml users, 

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

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

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

(See the Changelog below for a full list). 

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

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

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

If you find any bugs, please report them here: 

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

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

https://github.com/ocaml/ocaml/blob/5.5/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.5.0~beta1 

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

* GitHub: https://github.com/ocaml/ocaml/archive/5.5.0-beta1.tar.gz 
* OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.5/ocaml-5.5.0~beta1.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.5.0~beta1+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.5.0~beta1+flambda+nffa ocaml-variants.5.5.0~beta1+options ocaml-option-flambda ocaml-option-no-flat-float-array 

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

Changes compared to the last alpha 
----------------------------------------------- 

* Documentation Update 

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

* Runtime Fixes 

- #14644(https://github.com/ocaml/ocaml/issues/14644), #14647(https://github.com/ocaml/ocaml/issues/14647): Fix a bug related to unhandled effects in bytecode. 
(Vincent Laviron, report by Thibaut Mattio, 
review by Nicolás Ojeda Bär, Stephen Dolan and Olivier Nicole) 

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

* Type System Fixes 

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

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

* Error Messages and Warning Fixes 

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

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

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

[-- Attachment #2: Type: text/html, Size: 4923 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-04-20 14:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-26 13:21 [Caml-list] Third alpha release of OCaml 5.5.0 Florian Angeletti
2026-04-20 14:47 ` [Caml-list] First beta " Florian Angeletti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox