First release candidate for OCaml 5.5.0

Florian Angeletti <[email protected]> Thu, 11 Jun 2026 15:42:45 +0200 (CEST)
Newsgroups gmane.comp.lang.caml.inria
Message-ID <[email protected]>
--=_4369de0d-71a4-4491-9cf3-87ebf5acb451
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Dear OCaml users,=20

The release of OCaml 5.5.0 is imminent.=20

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

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

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

The full change log for OCaml 5.5.0 is available on=20
GitHub(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 on opam 2.1 and later:=20

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

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

* GitHub: https://github.com/ocaml/ocaml/archive/5.5.0-rc1.tar.gz=20
* OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.5/ocam=
l-5.5.0~rc1.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~rc1+options <option_l=
ist>=20

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

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=20

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

-------------------------------------=20

## Changes since the first beta release=20

### Runtime fixes=20

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

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

### Standard library fix=20

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

- ..., +#14715(https://github.com/ocaml/ocaml/issues/14715): Use POSIX thre=
ad-safe getgrnam_r, getgrgid_r,=20
getpwnam_r, getpwuid_r, gmtime_r, localtime_r, getlogin_r, and fix mktime=
=20
error checking.=20
(Antonin D=E9cimo, review by Florian Angeletti, David Allsopp, Stefan Muenz=
el,=20
Gabriel Scherer, and Miod Vallat)=20

### Compiler user-interface fix=20

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

### Compilerlibs fix=20

- #14797(https://github.com/ocaml/ocaml/issues/14797): avoid dropping attri=
butes attached to package types when pretty=20
printing in surface syntax.=20
(Chet Murthy, review by Nicol=E1s Ojeda B=E4r)=20

### Configuration fixes=20

- #14484(https://github.com/ocaml/ocaml/issues/14484): Set `_WIN32_WINNT` t=
o require Windows 8/Server 2012 Windows header SDK=20
support.=20
(Antonin D=E9cimo, review by David Allsopp)=20

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

### Documentation fix=20

- #14684(https://github.com/ocaml/ocaml/issues/14684), #14782(https://githu=
b.com/ocaml/ocaml/issues/14782), #14838(https://github.com/ocaml/ocaml/issu=
es/14838): Improve ocamlc's and ocamlopt's manual pages and fix=20
small issues in the manual=20
(Samuel Hym, review by Florian Angeletti, Antonin D=E9cimo, Gabriel Scherer=
 and=20
Nicol=E1s Ojeda B=E4r)=20

### Internal fix=20

- ..., +#14550(https://github.com/ocaml/ocaml/issues/14550): Add the not-ro=
ot builtin ocamltest action. This=20
allows to skip tests that fail if the current user is root (superuser).=20
(Kate Deplaix, review by Gabriel Scherer, Nicol=E1s Ojeda B=E4r, and=20
Antonin D=E9cimo)=20

--=_4369de0d-71a4-4491-9cf3-87ebf5acb451
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>The release of OCa=
ml 5.5.0 is imminent.<br><br>As a final step, we are publishing a release c=
andidate to check that everything<br>is in order before the release in the =
upcoming week.<br><br>If you find any bugs, please report them on the OCaml=
's issue<br>tracker (https://github.com/ocaml/ocaml/issues).<br><br>Compare=
d to the first beta, this release candidate contains two runtime fixes,<br>=
two standard library fixes, six miscellaneous fixes and one documentation<b=
r>update.<br><br>The full change log for OCaml 5.5.0 is available on<br>Git=
Hub(https://github.com/ocaml/ocaml/blob/5.5/Changes).<br><br>Happy hacking,=
<br>Florian Angeletti for the OCaml team.<br><br>Installation instructions<=
br>--------------------------------<br><br>The base compiler can be install=
ed as an opam switch with the following commands on opam 2.1 and later:<br>=
<br>&nbsp; &nbsp; opam update<br>&nbsp; &nbsp; opam switch create 5.5.0~rc1=
<br><br>The source code for the release candidate is also directly availabl=
e on:<br><br>* GitHub: https://github.com/ocaml/ocaml/archive/5.5.0-rc1.tar=
.gz<br>* OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5=
.5/ocaml-5.5.0~rc1.tar.gz<br><br>Fine-tuned compiler configuration<br>-----=
----------------------------------------<br><br>If you want to tweak the co=
nfiguration of the compiler, you can switch to the option variant with:<br>=
<br>&nbsp; &nbsp; opam update<br>&nbsp; &nbsp; opam switch create &lt;switc=
h_name&gt; ocaml-variants.5.5.0~rc1+options &lt;option_list&gt;<br><br>wher=
e `&lt;option_list&gt;` is a space-separated list of `ocaml-option-*` packa=
ges. For instance, for a `flambda` and `no-flat-float-array` switch:<br><br=
>&nbsp; &nbsp; &nbsp;opam switch create 5.5.0~rc1+flambda+nffa ocaml-varian=
ts.5.5.0~rc1+options ocaml-option-flambda ocaml-option-no-flat-float-array<=
br><br><br>All available options can be listed with `opam search ocaml-opti=
on`.<br><br>-------------------------------------<br><br>## Changes since t=
he first beta release<br><br>### Runtime fixes<br><br>- #14820(https://gith=
ub.com/ocaml/ocaml/issues/14820): caml_ba_alloc must account for memory it =
allocated itself.<br>&nbsp; CAML_BA_SUBARRAY (introduced in 5.2) with data=
=3DNULL would result in the<br>&nbsp; Gc accounting for the allocation as 0=
 bytes, which can eventually lead<br>&nbsp; to OOM. This condition never oc=
curs in the compiler itself, but occurs<br>&nbsp; in external C bindings th=
at attempt to create a new bigarray in the<br>&nbsp; shape of an existing o=
ne. For backwards compatibility ignore CAML_BA_SUBARRAY<br>&nbsp; when data=
 is NULL.<br>&nbsp; (Edwin T=F6r=F6k, review by Damien Doligez)<br><br>- ..=
., +#14722(https://github.com/ocaml/ocaml/issues/14722): runtime, fix in th=
e orphaning of ephemerons<br>&nbsp; (Gabriel Scherer, review by Olivier Nic=
ole and Damien Doligez,<br>&nbsp; &nbsp;report by Jan Midtgaard)<br><br>###=
 Standard library fix<br><br>- #14853(https://github.com/ocaml/ocaml/issues=
/14853): fix quoting of filenames passed to Filename.quote_command on Windo=
ws.<br>&nbsp; (David Allsopp, report by Andrew Nesbitt, review by Florian A=
ngeletti)<br><br>- ..., +#14715(https://github.com/ocaml/ocaml/issues/14715=
): Use POSIX thread-safe getgrnam_r, getgrgid_r,<br>&nbsp; getpwnam_r, getp=
wuid_r, gmtime_r, localtime_r, getlogin_r, and fix mktime<br>&nbsp; error c=
hecking.<br>&nbsp; (Antonin D=E9cimo, review by Florian Angeletti, David Al=
lsopp, Stefan Muenzel,<br>&nbsp; &nbsp;Gabriel Scherer, and Miod Vallat)<br=
><br>### Compiler user-interface fix<br><br>- [#14702](https://github.com/o=
caml/ocaml/issues/14702): Fix hidden directory files leaking into the visib=
le load path table.<br>&nbsp; When a hidden directory contained a file whos=
e basename was already present,<br>&nbsp; the file could be incorrectly add=
ed to the visible table.<br>&nbsp; (Hugo Heuzard, review by Florian Angelet=
ti)<br><br>### Compilerlibs fix<br><br>- #14797(https://github.com/ocaml/oc=
aml/issues/14797): avoid dropping attributes attached to package types when=
 pretty<br>&nbsp; printing in surface syntax.<br>&nbsp; (Chet Murthy, revie=
w by Nicol=E1s Ojeda B=E4r)<br><br>### Configuration fixes<br><br>- #14484(=
https://github.com/ocaml/ocaml/issues/14484): Set `_WIN32_WINNT` to require=
 Windows 8/Server 2012 Windows header SDK<br>&nbsp; support.<br>&nbsp; (Ant=
onin D=E9cimo, review by David Allsopp)<br><br>- #14760(https://github.com/=
ocaml/ocaml/issues/14760), #14802(https://github.com/ocaml/ocaml/issues/148=
02), #14846]https://github.com/ocaml/ocaml/issues/14846): Correct the detec=
tion of argument defaults in<br>&nbsp; configure, fixing an incorrect error=
 message when installing OCaml through<br>&nbsp; opam on OpenSUSE with the =
site-config package installed.<br>&nbsp; (David Allsopp, report and review =
by Edwin T=F6r=F6k)<br><br>### Documentation fix<br><br>- #14684(https://gi=
thub.com/ocaml/ocaml/issues/14684), #14782(https://github.com/ocaml/ocaml/i=
ssues/14782), #14838(https://github.com/ocaml/ocaml/issues/14838): Improve =
ocamlc's and ocamlopt's manual pages and fix<br>&nbsp; small issues in the =
manual<br>&nbsp; (Samuel Hym, review by Florian Angeletti, Antonin D=E9cimo=
, Gabriel Scherer and<br>&nbsp; Nicol=E1s Ojeda B=E4r)<br><br>### Internal =
fix<br><br>- ..., +#14550(https://github.com/ocaml/ocaml/issues/14550): Add=
 the not-root builtin ocamltest action. This<br>&nbsp; allows to skip tests=
 that fail if the current user is root (superuser).<br>&nbsp; (Kate Deplaix=
, review by Gabriel Scherer, Nicol=E1s Ojeda B=E4r, and<br>&nbsp; &nbsp;Ant=
onin D=E9cimo)<br><br><br></div></div></body></html>
--=_4369de0d-71a4-4491-9cf3-87ebf5acb451--