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; 3+ 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] 3+ 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
  2026-06-11 13:42   ` [Caml-list] First release candidate for " Florian Angeletti
  0 siblings, 1 reply; 3+ 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] 3+ messages in thread

* [Caml-list] First release candidate for OCaml 5.5.0
  2026-04-20 14:47 ` [Caml-list] First beta " Florian Angeletti
@ 2026-06-11 13:42   ` Florian Angeletti
  0 siblings, 0 replies; 3+ messages in thread
From: Florian Angeletti @ 2026-06-11 13:42 UTC (permalink / raw)
  To: caml-list

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

Dear OCaml users, 

The release of OCaml 5.5.0 is imminent. 

As a final step, we are publishing a release candidate to check that everything 
is in order before the release in the upcoming week. 

If you find any bugs, please report them on the OCaml's issue 
tracker (https://github.com/ocaml/ocaml/issues). 

Compared to the first beta, this release candidate contains two runtime fixes, 
two standard library fixes, six miscellaneous fixes and one documentation 
update. 

The full change log for OCaml 5.5.0 is available on 
GitHub(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~rc1 

The source code for the release candidate is also directly available on: 

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

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

------------------------------------- 

## Changes since the first beta release 

### Runtime fixes 

- #14820(https://github.com/ocaml/ocaml/issues/14820): caml_ba_alloc must account for memory it allocated itself. 
CAML_BA_SUBARRAY (introduced in 5.2) with data=NULL would result in the 
Gc accounting for the allocation as 0 bytes, which can eventually lead 
to OOM. This condition never occurs in the compiler itself, but occurs 
in external C bindings that attempt to create a new bigarray in the 
shape of an existing one. For backwards compatibility ignore CAML_BA_SUBARRAY 
when data is NULL. 
(Edwin Török, review by Damien Doligez) 

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

### Standard library fix 

- #14853(https://github.com/ocaml/ocaml/issues/14853): fix quoting of filenames passed to Filename.quote_command on Windows. 
(David Allsopp, report by Andrew Nesbitt, review by Florian Angeletti) 

- ..., +#14715(https://github.com/ocaml/ocaml/issues/14715): Use POSIX thread-safe getgrnam_r, getgrgid_r, 
getpwnam_r, getpwuid_r, gmtime_r, localtime_r, getlogin_r, and fix mktime 
error checking. 
(Antonin Décimo, review by Florian Angeletti, David Allsopp, Stefan Muenzel, 
Gabriel Scherer, and Miod Vallat) 

### Compiler user-interface fix 

- [#14702](https://github.com/ocaml/ocaml/issues/14702): Fix hidden directory files leaking into the visible load path table. 
When a hidden directory contained a file whose basename was already present, 
the file could be incorrectly added to the visible table. 
(Hugo Heuzard, review by Florian Angeletti) 

### Compilerlibs fix 

- #14797(https://github.com/ocaml/ocaml/issues/14797): avoid dropping attributes attached to package types when pretty 
printing in surface syntax. 
(Chet Murthy, review by Nicolás Ojeda Bär) 

### Configuration fixes 

- #14484(https://github.com/ocaml/ocaml/issues/14484): Set `_WIN32_WINNT` to require Windows 8/Server 2012 Windows header SDK 
support. 
(Antonin Décimo, review by David Allsopp) 

- #14760(https://github.com/ocaml/ocaml/issues/14760), #14802(https://github.com/ocaml/ocaml/issues/14802), #14846]https://github.com/ocaml/ocaml/issues/14846): Correct the detection of argument defaults in 
configure, fixing an incorrect error message when installing OCaml through 
opam on OpenSUSE with the site-config package installed. 
(David Allsopp, report and review by Edwin Török) 

### Documentation fix 

- #14684(https://github.com/ocaml/ocaml/issues/14684), #14782(https://github.com/ocaml/ocaml/issues/14782), #14838(https://github.com/ocaml/ocaml/issues/14838): Improve ocamlc's and ocamlopt's manual pages and fix 
small issues in the manual 
(Samuel Hym, review by Florian Angeletti, Antonin Décimo, Gabriel Scherer and 
Nicolás Ojeda Bär) 

### Internal fix 

- ..., +#14550(https://github.com/ocaml/ocaml/issues/14550): Add the not-root builtin ocamltest action. This 
allows to skip tests that fail if the current user is root (superuser). 
(Kate Deplaix, review by Gabriel Scherer, Nicolás Ojeda Bär, and 
Antonin Décimo) 

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

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

end of thread, other threads:[~2026-06-11 13:42 UTC | newest]

Thread overview: 3+ 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
2026-06-11 13:42   ` [Caml-list] First release candidate for " Florian Angeletti

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