OCaml release 4.14.1

Florian Angeletti <[email protected]> Tue, 20 Dec 2022 13:54:53 +0100 (CET)
Newsgroups gmane.comp.lang.caml.announce
Message-ID <[email protected]>
--=_5d8ae082-efb9-4668-8ce4-7451939ce1bb
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Dear OCaml users,=20

We have the pleasure of celebrating the birthday of Oronce Fin=E9 by announ=
cing the release of OCaml version 4.14.1.=20

This release is a collection of safe bug fixes, cherry-picked from the OCam=
l 5.0.0 release.=20
If you were using OCaml 4.14.0 and cannot yet upgrade to OCaml 5, this rele=
ase is for you.=20

The 4.14 branch is expected to receive more fixes during the maturation of =
OCaml 5.=20
Thus don't hesitate to report any bugs on the OCaml issue tracker (at https=
://github.com/ocaml/ocaml/issues).=20

See the list of changes 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 4.14.1=20

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

* https://github.com/ocaml/ocaml/archive/4.14.1.tar.gz=20
* https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.1.tar.gz=20

Changes in OCaml 4.14.1 (20 December 2022)=20
---------------------------------------------------------------=20

### Compiler user-interface and warnings:=20

- #11184, #11670: Stop calling ranlib on created / installed libraries=20
(S=E9bastien Hinderer and Xavier Leroy, review by the same)=20

### Build system:=20

- #11370, #11373: Don't pass CFLAGS to flexlink during configure.=20
(David Allsopp, report by William Hu, review by Xavier Leroy and=20
S=E9bastien Hinderer)=20

- #11487: Thwart FMA test optimization during configure=20
(William Hu, review by David Allsopp and S=E9bastien Hinderer)=20

### Bug fixes:=20

- #10768, #11340: Fix typechecking regression when combining first class=20
modules and GADTs.=20
(Jacques Garrigue, report by Fran=E7ois Thir=E9, review by Matthew Ryan)=20

- #11204: Fix regression introduced in 4.14.0 that would trigger Warning 17=
 when=20
calling virtual methods introduced by constraining the self type from withi=
n=20
the class definition.=20
(Nicol=E1s Ojeda B=E4r, review by Leo White)=20

- #11263, #11267: caml/{memory,misc}.h: check whether `_MSC_VER` is defined=
=20
before using it to ensure that the headers can always be used in code which=
=20
turns on -Wundef (or equivalent).=20
(David Allsopp and Nicol=E1s Ojeda B=E4r, review by Nicol=E1s Ojeda B=E4r a=
nd=20
S=E9bastien Hinderer)=20

- #11314, #11416: fix non-informative error message for module inclusion=20
(Florian Angeletti, report by Thierry Martinez, review by Gabriel Scherer)=
=20

- #11358, #11379: Refactor the initialization of bytecode threading,=20
This avoids a "dangling pointer" warning of GCC 12.1.=20
(Xavier Leroy, report by Arma=EBl Gu=E9neau, review by Gabriel Scherer)=20

- #11387, module type with constraints no longer crash the compiler in pres=
ence=20
of both shadowing warnings and the `-bin-annot` compiler flag.=20
(Florian Angeletti, report by Christophe Raffalli, review by Gabriel Schere=
r)=20

- #11392, #11392: assertion failure with -rectypes and external definitions=
=20
(Gabriel Scherer, review by Florian Angeletti, report by Dmitrii Kosarev)=
=20

- #11417: Fix regression allowing virtual methods in non-virtual classes.=
=20
(Leo White, review by Florian Angeletti)=20

- #11468: Fix regression from #10186 (OCaml 4.13) detecting IPv6 on Windows=
 for=20
mingw-w64 i686 port.=20
(David Allsopp, review by Xavier Leroy and S=E9bastien Hinderer)=20

- #11489, #11496: More prudent deallocation of alternate signal stack=20
(Xavier Leroy, report by @rajdakin, review by Florian Angeletti)=20

- #11516, #11524: Fix the `deprecated_mutable` attribute.=20
(Chris Casinghino, review by Nicol=E1s Ojeda B=E4r and Florian Angeletti)=
=20

- #11194, #11609: Fix inconsistent type variable names in "unbound type var=
"=20
messages=20
(Ulysse G=E9rard and Florian Angeletti, review Florian Angeletti and=20
Gabriel Scherer)=20

- #11622: Prevent stack overflow when printing a constructor or record=20
mismatch error involving recursive types.=20
(Florian Angeletti, review by Gabriel Scherer)=20

- #11732: Ensure that types from packed modules are always generalised=20
(Stephen Dolan and Leo White, review by Jacques Garrigue)=20

- #11737: Fix segfault condition in Unix.stat under Windows in the presence=
 of=20
multiple threads.=20
(Marc Lasson, Nicol=E1s Ojeda B=E4r, review by Gabriel Scherer and David Al=
lsopp)=20

- #11776: Extend environment with functor parameters in `strengthen_lazy`.=
=20
(Chris Casinghino and Luke Maurer, review by Gabriel Scherer)=20

- #11533, #11534: follow synonyms again in #show_module_type=20
(this had stopped working in 4.14.0)=20
(Gabriel Scherer, review by Jacques Garrigue, report by Yaron Minsky)=20

- #11768, #11788: Fix crash at start-up of bytecode programs in=20
no-naked-pointers mode caused by wrong initialization of caml_global_data=
=20
(Xavier Leroy, report by Etienne Millon, review by Gabriel Scherer)=20

- #11803, #11808: on x86, the destination of an integer comparison must be=
=20
a register, it cannot be a stack slot.=20
(Vincent Laviron, review by Xavier Leroy, report by=20
Emilio Jes=FAs Gallego Arias)=20

--=_5d8ae082-efb9-4668-8ce4-7451939ce1bb
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><div>Dear OCaml users,<br><br>We have the p=
leasure of celebrating the birthday of Oronce Fin=E9 by announcing the rele=
ase of OCaml version 4.14.1.<br><br>This release is a collection of safe bu=
g fixes, cherry-picked from the OCaml 5.0.0 release.</div><div>If you were =
using OCaml 4.14.0 and cannot yet upgrade to OCaml 5, this release is for y=
ou.<br><br>The 4.14 branch is expected to receive more fixes during the mat=
uration of OCaml 5.</div><div>Thus don't hesitate to report any bugs on the=
 OCaml issue tracker (at https://github.com/ocaml/ocaml/issues).<br><br>See=
 the list of changes below for more details.<br><br>Happy hacking,<br><br>-=
- Florian Angeletti for the OCaml team.<br><br>Installation Instructions<br=
>--------------------------------<br><br>The base compiler can be installed=
 as an opam switch with the following commands:<br><br>opam update<br>opam =
switch create 4.14.1<br><br>The source code for the release candidate is al=
so directly available on:<br><br>* https://github.com/ocaml/ocaml/archive/4=
.14.1.tar.gz<br>* https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.1=
.tar.gz<br><br>Changes in OCaml 4.14.1 (20 December 2022)<br>--------------=
-------------------------------------------------</div><div><br>### Compile=
r user-interface and warnings:<br><br>- #11184, #11670: Stop calling ranlib=
 on created / installed libraries<br>&nbsp; (S=E9bastien Hinderer and Xavie=
r Leroy, review by the same)<br><br>### Build system:<br><br>- #11370, #113=
73: Don't pass CFLAGS to flexlink during configure.<br>&nbsp; (David Allsop=
p, report by William Hu, review by Xavier Leroy and<br>&nbsp;&nbsp; S=E9bas=
tien Hinderer)<br><br>- #11487: Thwart FMA test optimization during configu=
re<br>&nbsp; (William Hu, review by David Allsopp and S=E9bastien Hinderer)=
<br><br>### Bug fixes:<br><br>- #10768, #11340: Fix typechecking regression=
 when combining first class<br>&nbsp; modules and GADTs.<br>&nbsp; (Jacques=
 Garrigue, report by Fran=E7ois Thir=E9, review by Matthew Ryan)<br><br>- #=
11204: Fix regression introduced in 4.14.0 that would trigger Warning 17 wh=
en<br>&nbsp; calling virtual methods introduced by constraining the self ty=
pe from within<br>&nbsp; the class definition.<br>&nbsp; (Nicol=E1s Ojeda B=
=E4r, review by Leo White)<br><br>- #11263, #11267: caml/{memory,misc}.h: c=
heck whether `_MSC_VER` is defined<br>&nbsp; before using it to ensure that=
 the headers can always be used in code which<br>&nbsp; turns on -Wundef (o=
r equivalent).<br>&nbsp; (David Allsopp and Nicol=E1s Ojeda B=E4r, review b=
y Nicol=E1s Ojeda B=E4r and<br>&nbsp;&nbsp; S=E9bastien Hinderer)<br><br>- =
#11314, #11416: fix non-informative error message for module inclusion<br>&=
nbsp; (Florian Angeletti, report by Thierry Martinez, review by Gabriel Sch=
erer)<br><br>- #11358, #11379: Refactor the initialization of bytecode thre=
ading,<br>&nbsp; This avoids a "dangling pointer" warning of GCC 12.1.<br>&=
nbsp; (Xavier Leroy, report by Arma=EBl Gu=E9neau, review by Gabriel Schere=
r)<br><br>- #11387, module type with constraints no longer crash the compil=
er in presence<br>&nbsp; of both shadowing warnings and the `-bin-annot` co=
mpiler flag.<br>&nbsp; (Florian Angeletti, report by Christophe Raffalli, r=
eview by Gabriel Scherer)<br><br>- #11392, #11392: assertion failure with -=
rectypes and external definitions<br>&nbsp; (Gabriel Scherer, review by Flo=
rian Angeletti, report by Dmitrii Kosarev)<br><br>- #11417: Fix regression =
allowing virtual methods in non-virtual classes.<br>&nbsp; (Leo White, revi=
ew by Florian Angeletti)<br><br>- #11468: Fix regression from #10186 (OCaml=
 4.13) detecting IPv6 on Windows for<br>&nbsp; mingw-w64 i686 port.<br>&nbs=
p; (David Allsopp, review by Xavier Leroy and S=E9bastien Hinderer)<br><br>=
- #11489, #11496: More prudent deallocation of alternate signal stack<br>&n=
bsp; (Xavier Leroy, report by @rajdakin, review by Florian Angeletti)<br><b=
r>- #11516, #11524: Fix the `deprecated_mutable` attribute.<br>&nbsp; (Chri=
s Casinghino, review by Nicol=E1s Ojeda B=E4r and Florian Angeletti)<br><br=
>- #11194, #11609: Fix inconsistent type variable names in "unbound type va=
r"<br>&nbsp; messages<br>&nbsp; (Ulysse G=E9rard and Florian Angeletti, rev=
iew Florian Angeletti and<br>&nbsp;&nbsp; Gabriel Scherer)<br><br>- #11622:=
 Prevent stack overflow when printing a constructor or record<br>&nbsp; mis=
match error involving recursive types.<br>&nbsp; (Florian Angeletti, review=
 by Gabriel Scherer)<br><br>- #11732: Ensure that types from packed modules=
 are always generalised<br>&nbsp; (Stephen Dolan and Leo White, review by J=
acques Garrigue)<br><br>- #11737: Fix segfault condition in Unix.stat under=
 Windows in the presence of<br>&nbsp; multiple threads.<br>&nbsp; (Marc Las=
son, Nicol=E1s Ojeda B=E4r, review by Gabriel Scherer and David Allsopp)<br=
><br>- #11776: Extend environment with functor parameters in `strengthen_la=
zy`.<br>&nbsp; (Chris Casinghino and Luke Maurer, review by Gabriel Scherer=
)<br><br>- #11533, #11534: follow synonyms again in #show_module_type<br>&n=
bsp; (this had stopped working in 4.14.0)<br>&nbsp; (Gabriel Scherer, revie=
w by Jacques Garrigue, report by Yaron Minsky)<br><br>- #11768, #11788: Fix=
 crash at start-up of bytecode programs in<br>&nbsp; no-naked-pointers mode=
 caused by wrong initialization of caml_global_data<br>&nbsp; (Xavier Leroy=
, report by Etienne Millon, review by Gabriel Scherer)<br><br>- #11803, #11=
808: on x86, the destination of an integer comparison must be<br>&nbsp; a r=
egister, it cannot be a stack slot.<br>&nbsp; (Vincent Laviron, review by X=
avier Leroy, report by<br>&nbsp;&nbsp; Emilio Jes=FAs Gallego Arias)<br></d=
iv></div></div></body></html>
--=_5d8ae082-efb9-4668-8ce4-7451939ce1bb--