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> (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> (David Allsop=
p, report by William Hu, review by Xavier Leroy and<br> S=E9bas=
tien Hinderer)<br><br>- #11487: Thwart FMA test optimization during configu=
re<br> (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> modules and GADTs.<br> (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> calling virtual methods introduced by constraining the self ty=
pe from within<br> the class definition.<br> (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> before using it to ensure that=
the headers can always be used in code which<br> turns on -Wundef (o=
r equivalent).<br> (David Allsopp and Nicol=E1s Ojeda B=E4r, review b=
y Nicol=E1s Ojeda B=E4r and<br> 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> 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> of both shadowing warnings and the `-bin-annot` co=
mpiler flag.<br> (Florian Angeletti, report by Christophe Raffalli, r=
eview by Gabriel Scherer)<br><br>- #11392, #11392: assertion failure with -=
rectypes and external definitions<br> (Gabriel Scherer, review by Flo=
rian Angeletti, report by Dmitrii Kosarev)<br><br>- #11417: Fix regression =
allowing virtual methods in non-virtual classes.<br> (Leo White, revi=
ew by Florian Angeletti)<br><br>- #11468: Fix regression from #10186 (OCaml=
4.13) detecting IPv6 on Windows for<br> 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> (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> messages<br> (Ulysse G=E9rard and Florian Angeletti, rev=
iew Florian Angeletti and<br> Gabriel Scherer)<br><br>- #11622:=
Prevent stack overflow when printing a constructor or record<br> mis=
match error involving recursive types.<br> (Florian Angeletti, review=
by Gabriel Scherer)<br><br>- #11732: Ensure that types from packed modules=
are always generalised<br> (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> multiple threads.<br> (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> (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> (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> no-naked-pointers mode=
caused by wrong initialization of caml_global_data<br> (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> a r=
egister, it cannot be a stack slot.<br> (Vincent Laviron, review by X=
avier Leroy, report by<br> Emilio Jes=FAs Gallego Arias)<br></d=
iv></div></div></body></html>
--=_5d8ae082-efb9-4668-8ce4-7451939ce1bb--