OCaml 5.2.1 released

Florian Angeletti <[email protected]> Tue, 19 Nov 2024 13:44:27 +0100 (CET)
Newsgroups gmane.comp.lang.caml.announce,gmane.comp.lang.caml.inria
Message-ID <[email protected]>
--=_5d98d7a4-b7ae-4239-8e82-1b3c5234b282
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Dear OCaml users,=20

We have the pleasure of announcing the release of OCaml 5.2.1, dedicated to=
 the=20
memory of Niels Bohr and Paul =C9luard on the anniversary of their deaths.=
=20

OCaml 5.2.1 is a collection of safe but import runtime time bug fixes backp=
orted=20
from the 5.3 branch of OCaml to improve the stability of the 5.2 runtime wh=
ile waiting for the=20
upcoming release of OCaml 5.3.0.=20

The full list of bug fixes is available below for more details.=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

opam update=20
opam switch create 5.2.1=20

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

* GitHub: https://github.com/ocaml/ocaml/archive/5.2.1.tar.gz)=20
* Inria archive: https://caml.inria.fr/pub/distrib/ocaml-5.2/ocaml-5.2.1.ta=
r.gz=20


Bug Fixes In OCaml 5.2.1 (18 November 2024)=20
-------------------------------------------------------------=20

- #13207(https://github.com/ocaml/ocaml/issues/13207): Be sure to reload th=
e register caching the exception handler in=20
`caml_c_call` and `caml_c_call_stack_args`, as its value may have been chan=
ged=20
if the OCaml stack is expanded during a callback.=20
(Miod Vallat, report by Vesa Karvonen, review by Gabriel Scherer and=20
Xavier Leroy)=20

- #13252(https://github.com/ocaml/ocaml/issues/13252): Rework register assi=
gnment in the interpreter code on m68k on Linux,=20
due to the %a5 register being used by GLIBC.=20
(Miod Vallat, report by St=E9phane Glondu, review by Gabriel Scherer and=20
Xavier Leroy)=20

- #13268(https://github.com/ocaml/ocaml/issues/13268): Fix a call to test i=
n `configure.ac` that was causing errors when=20
LDFLAGS contains several words.=20
(St=E9phane Glondu, review by Miod Vallat)=20

- #13234(https://github.com/ocaml/ocaml/issues/13234), #13267(https://githu=
b.com/ocaml/ocaml/issues/13267): Open runtime events file in read-write mod=
e on ARMel=20
(ARMv5) systems due to atomic operations limitations on that=20
platform.=20
(St=E9phane Glondu, review by Miod Vallat and Vincent Laviron)=20

- #13188(https://github.com/ocaml/ocaml/issues/13188): fix races in the FFI=
 code coming from the use of `Int_val(...)`=20
on rooted values inside blocking questions / without the runtime lock.=20
(Calling `Int_val(...)` on non-rooted immediates is fine, but any=20
access to rooted values must be done outside blocking sections /=20
with the runtime lock.)=20
(Etienne Millon, review by Gabriel Scherer, Jan Midtgaard, Olivier Nicole)=
=20

- #13318(https://github.com/ocaml/ocaml/issues/13318): Fix regression in GC=
 alarms, and fix them for Flambda.=20
(Guillaume Munch-Maccagnoni, report by Benjamin Monate, review by=20
Vincent Laviron and Gabriel Scherer)=20

- #13140(https://github.com/ocaml/ocaml/issues/13140): POWER back-end: fix =
issue with call to `caml_call_realloc_stack`=20
from a DLL=20
(Xavier Leroy, review by Miod Vallat)=20

- #13370]https://github.com/ocaml/ocaml/issues/13370): Fix a low-probabilit=
y crash when calling `Gc.counters`.=20
(Demi Marie Obenour, review by Gabriel Scherer)=20

- #13402(https://github.com/ocaml/ocaml/issues/13402), #13512(https://githu=
b.com/ocaml/ocaml/issues/13512), #13549(https://github.com/ocaml/ocaml/issu=
es/13549), #13553(https://github.com/ocaml/ocaml/issues/13553): Revise byte=
code implementation of callbacks=20
so that it no longer produces dangling registered bytecode fragments.=20
(Xavier Leroy, report by Jan Midtgaard, analysis by Stephen Dolan,=20
review by Miod Vallat)=20

- #13502(https://github.com/ocaml/ocaml/issues/13502): Fix misindexing rela=
ted to `Gc.finalise_last` that could prevent=20
finalisers from being run.=20
(Nick Roberts, review by Mark Shinwell)=20

- #13520(https://github.com/ocaml/ocaml/issues/13520): Fix compilation of n=
ative-code version of systhreads. Bytecode fields=20
were being included in the thread descriptors.=20
(David Allsopp, review by S=E9bastien Hinderer and Miod Vallat)=20




--=_5d98d7a4-b7ae-4239-8e82-1b3c5234b282
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>We have the pleasu=
re of announcing the release of OCaml 5.2.1, dedicated to the<br>memory of =
Niels Bohr and Paul =C9luard on the anniversary of their deaths.<br><br>OCa=
ml 5.2.1 is a collection of safe but import runtime time bug fixes backport=
ed<br>from the 5.3 branch of OCaml to improve the stability of the 5.2 runt=
ime while waiting for the<br>upcoming release of OCaml 5.3.0.<br><br>The fu=
ll list of bug fixes is available below for more details.<br><br>Happy hack=
ing,<br>-- Florian Angeletti, for the OCaml team.<br><br>Installation Instr=
uctions</div><div>-------------------------------<br><br>The base compiler =
can be installed as an opam switch with the following commands:<br><br>&nbs=
p;&nbsp;&nbsp; opam update<br>&nbsp;&nbsp;&nbsp; opam switch create 5.2.1<b=
r><br>The source code for the release is also directly available on:<br><br=
>* GitHub: https://github.com/ocaml/ocaml/archive/5.2.1.tar.gz)<br>* Inria =
archive: https://caml.inria.fr/pub/distrib/ocaml-5.2/ocaml-5.2.1.tar.gz<br>=
<br><br>Bug Fixes In OCaml 5.2.1 (18 November 2024)<br></div><div>---------=
----------------------------------------------------</div><div><br data-mce=
-bogus=3D"1"></div><div>&nbsp; - #13207(https://github.com/ocaml/ocaml/issu=
es/13207): Be sure to reload the register caching the exception handler in<=
br>&nbsp;&nbsp;&nbsp; `caml_c_call` and `caml_c_call_stack_args`, as its va=
lue may have been changed<br>&nbsp;&nbsp;&nbsp; if the OCaml stack is expan=
ded during a callback.<br>&nbsp;&nbsp;&nbsp; (Miod Vallat, report by Vesa K=
arvonen, review by Gabriel Scherer and<br>&nbsp;&nbsp;&nbsp;&nbsp; Xavier L=
eroy)<br>&nbsp; <br>&nbsp; - #13252(https://github.com/ocaml/ocaml/issues/1=
3252): Rework register assignment in the interpreter code on m68k on Linux,=
<br>&nbsp;&nbsp;&nbsp; due to the %a5 register being used by GLIBC.<br>&nbs=
p;&nbsp;&nbsp; (Miod Vallat, report by St=E9phane Glondu, review by Gabriel=
 Scherer and<br>&nbsp;&nbsp;&nbsp;&nbsp; Xavier Leroy)<br>&nbsp; <br>&nbsp;=
 - #13268(https://github.com/ocaml/ocaml/issues/13268): Fix a call to test =
in `configure.ac` that was causing errors when<br>&nbsp;&nbsp;&nbsp; LDFLAG=
S contains several words.<br>&nbsp;&nbsp;&nbsp; (St=E9phane Glondu, review =
by Miod Vallat)<br>&nbsp; <br>&nbsp; - #13234(https://github.com/ocaml/ocam=
l/issues/13234), #13267(https://github.com/ocaml/ocaml/issues/13267): Open =
runtime events file in read-write mode on ARMel<br>&nbsp;&nbsp;&nbsp; (ARMv=
5) systems due to atomic operations limitations on that<br>&nbsp;&nbsp;&nbs=
p; platform.<br>&nbsp;&nbsp;&nbsp; (St=E9phane Glondu, review by Miod Valla=
t and Vincent Laviron)<br>&nbsp; <br>&nbsp; - #13188(https://github.com/oca=
ml/ocaml/issues/13188): fix races in the FFI code coming from the use of `I=
nt_val(...)`<br>&nbsp;&nbsp;&nbsp; on rooted values inside blocking questio=
ns / without the runtime lock.<br>&nbsp;&nbsp;&nbsp; (Calling `Int_val(...)=
` on non-rooted immediates is fine, but any<br>&nbsp;&nbsp;&nbsp;&nbsp; acc=
ess to rooted values must be done outside blocking sections /<br>&nbsp;&nbs=
p;&nbsp;&nbsp; with the runtime lock.)<br>&nbsp;&nbsp;&nbsp; (Etienne Millo=
n, review by Gabriel Scherer, Jan Midtgaard, Olivier Nicole)<br>&nbsp; <br>=
&nbsp; - #13318(https://github.com/ocaml/ocaml/issues/13318): Fix regressio=
n in GC alarms, and fix them for Flambda.<br>&nbsp;&nbsp;&nbsp; (Guillaume =
Munch-Maccagnoni, report by Benjamin Monate, review by<br>&nbsp;&nbsp;&nbsp=
;&nbsp; Vincent Laviron and Gabriel Scherer)<br>&nbsp; <br>&nbsp; - #13140(=
https://github.com/ocaml/ocaml/issues/13140): POWER back-end: fix issue wit=
h call to `caml_call_realloc_stack`<br>&nbsp;&nbsp;&nbsp; from a DLL<br>&nb=
sp;&nbsp;&nbsp; (Xavier Leroy, review by Miod Vallat)<br>&nbsp; <br>&nbsp; =
- #13370]https://github.com/ocaml/ocaml/issues/13370): Fix a low-probabilit=
y crash when calling `Gc.counters`.<br>&nbsp;&nbsp;&nbsp; (Demi Marie Obeno=
ur, review by Gabriel Scherer)<br>&nbsp; <br>&nbsp; - #13402(https://github=
.com/ocaml/ocaml/issues/13402), #13512(https://github.com/ocaml/ocaml/issue=
s/13512), #13549(https://github.com/ocaml/ocaml/issues/13549), #13553(https=
://github.com/ocaml/ocaml/issues/13553): Revise bytecode implementation of =
callbacks<br>&nbsp;&nbsp;&nbsp; so that it no longer produces dangling regi=
stered bytecode fragments.<br>&nbsp;&nbsp;&nbsp; (Xavier Leroy, report by J=
an Midtgaard, analysis by Stephen Dolan,<br>&nbsp;&nbsp;&nbsp;&nbsp; review=
 by Miod Vallat)<br>&nbsp; <br>&nbsp; - #13502(https://github.com/ocaml/oca=
ml/issues/13502): Fix misindexing related to `Gc.finalise_last` that could =
prevent<br>&nbsp;&nbsp;&nbsp; finalisers from being run.<br>&nbsp;&nbsp;&nb=
sp; (Nick Roberts, review by Mark Shinwell)<br>&nbsp; <br>&nbsp; - #13520(h=
ttps://github.com/ocaml/ocaml/issues/13520): Fix compilation of native-code=
 version of systhreads. Bytecode fields<br>&nbsp;&nbsp;&nbsp; were being in=
cluded in the thread descriptors.<br>&nbsp;&nbsp;&nbsp; (David Allsopp, rev=
iew by S=E9bastien Hinderer and Miod Vallat)<br><br><br><br data-mce-bogus=
=3D"1"></div></div></body></html>
--=_5d98d7a4-b7ae-4239-8e82-1b3c5234b282--