From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: plum.tunbury.org; dkim=pass (1024-bit key; unprotected) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=o+IVvLiq; dkim=fail reason="signature verification failed" (1024-bit key) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=pTgRYGm8; dkim-atps=neutral Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.134.164.83; helo=mail2-relais-roc.national.inria.fr; envelope-from=caml-list-owner@inria.fr; receiver=tunbury.org Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by plum.tunbury.org (Postfix) with ESMTPS id 15DD940087 for ; Thu, 11 Sep 2025 12:42:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=date:from:to:message-id:in-reply-to:references: mime-version:subject:reply-to:sender:list-id:list-help: list-subscribe:list-unsubscribe:list-post:list-owner: list-archive; bh=uukos1hHc7cShwdKXZEJWu2OmQLvFJC5s2jzoR6NL6A=; b=o+IVvLiqJU7SZ2P3aTYH3hprpniyRnfDHDta4Ud+md42d13ujQT8YeHu ON3rZ4HAqUyMuKz4ayZhpjiyK7yO7feb9R6q7C3jrDVdI3lgTOVzDZDrG ajOCm5iIk031hRpRRHBkbpRH36R4Lnam5WwopnO3riRvkpLibmPgbKzbl s=; X-CSE-ConnectionGUID: YuqGwK5eQp2jOY3xx5Q0XA== X-CSE-MsgGUID: pYdMi1h8S1C5c00fvH1vcg== Received-SPF: Pass (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr designates 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 include:mailout.safebrands.com a:basic-mail.safebrands.com a:basic-mail01.safebrands.com a:basic-mail02.safebrands.com ip4:128.93.142.0/24 ip4:192.134.164.0/24 ip4:128.93.162.160 ip4:128.93.162.3 ip4:128.93.162.88 ip4:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only Authentication-Results: mail2-relais-roc.national.inria.fr; spf=Pass smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr; dkim=hardfail (signature did not verify [final]) header.i=@inria.fr X-IronPort-AV: E=Sophos;i="6.18,257,1751234400"; d="scan'208,217";a="238601093" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 11 Sep 2025 14:42:25 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id EA78CE0CDC; Thu, 11 Sep 2025 14:42:24 +0200 (CEST) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id E7AFDE0171 for ; Thu, 11 Sep 2025 14:42:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=date:from:to:message-id:in-reply-to:references:subject: mime-version; bh=uukos1hHc7cShwdKXZEJWu2OmQLvFJC5s2jzoR6NL6A=; b=pTgRYGm8wCi4H2uOgvAJr4OCXkkY/sVvYFKjpYQAEeVEVLMaMNKb9wvh 2ECkktXrlB4PcuEvYOyM4H7ptHZqwZa4o8f7z+0QbTDjarNyg8BRI2YQ4 WGWl3YFRwBLeXXS6AFbOsCfA9PYEeMEBuUw0b77c3vrrLmPbzU6wilaqr M=; X-CSE-ConnectionGUID: /FpqkTa8Sd6251GY88SwVA== X-CSE-MsgGUID: nsnOQT8MSG2L1sk7eWTgGw== X-ThreatScanner-Verdict: Negative X-IronPort-AV: E=Sophos;i="6.18,257,1751234400"; d="scan'208,217";a="238601055" X-MGA-submission: =?us-ascii?q?MDFsFe/MhYUGTi6k5BxgfbIlQ4/Hnr+uQR+gyH?= =?us-ascii?q?jsBygQBuWZxxmH7J7cUgDGHGKsEpQorz1MOmD91q9xKB1kt6RjMevdG3?= =?us-ascii?q?od1JnES2+dUhsDt49BQ0CPXd3DmDxOiOHLhn9Ic4yDR5drHUt52j85tx?= =?us-ascii?q?GbkelAm03NpHYMtWIowy1kwQ=3D=3D?= Received: from zcs2-store1.inria.fr ([128.93.142.3]) by mail2-relais-roc.national.inria.fr with ESMTP; 11 Sep 2025 14:42:18 +0200 Date: Thu, 11 Sep 2025 14:42:18 +0200 (CEST) From: Florian Angeletti To: caml-list Message-ID: <1718668268.6033977.1757594538619.JavaMail.zimbra@inria.fr> In-Reply-To: <673781574.2852351.1753434551364.JavaMail.zimbra@inria.fr> References: <716758688.7335741.1748349511152.JavaMail.zimbra@inria.fr> <673781574.2852351.1753434551364.JavaMail.zimbra@inria.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_85f8cb5f-9032-440d-91f4-94060f108071" X-Originating-IP: [37.169.56.158] X-Mailer: Zimbra 10.1.10_GA_4785 (ZimbraWebClient - FF142 (Linux)/10.1.10_GA_4785) Thread-Topic: Second beta release of OCaml 5.4.0 Thread-Index: ckphl2OU0L0Mp9FLYPHEaF/zWCMI1kr7+VYBhjTTGJI= Subject: [Caml-list] Second beta release of OCaml 5.4.0 Reply-To: Florian Angeletti X-Loop: caml-list@inria.fr X-Sequence: 19376 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: --=_85f8cb5f-9032-440d-91f4-94060f108071 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Dear OCaml users,=20 After an extended summer break, the release of OCaml 5.4.0 is getting close= .=20 Since there have been a handful of meaningful bug fixes this summer,=20 we are releasing a second beta version of OCaml 5.4.0 to help you update=20 your software and libraries ahead of the release (see below for the=20 installation instructions). More information about the whole release proces= s is=20 now available in the compiler repository:=20 - https://github.com/ocaml/ocaml/blob/trunk/release-info/introduction.md).= =20 Compared to the first beta release, this beta release contains four notable= =20 bug fixes:=20 - one type system bugfix for variance annotation on private types=20 - one memory concurrency safety fix for weak pointers=20 - two Windows fixes=20 Those fixes are complemented by:=20 - one runtime performance fix=20 - three tools and compiler-libs related fixes=20 - one error message fix.=20 The full list of fixes for this second beta is available below.=20 Overall, this beta release is already quite stable.=20 If the tests for this beta release go well, we are expecting to have a firs= t release=20 candidate in the week of the 22 September, and the full release in the begi= nning=20 of October.=20 If you find any bugs, please report them on OCaml's issue tracker:=20 -https://github.com/ocaml/ocaml/issues=20 The last progresses on stabilising the ecosystem are still tracked on the= =20 opam readiness for 5.4.0 meta-issue:=20 - https://github.com/ocaml/opam-repository/issues/27916=20 If you are interested in full list of features and bug fixes of the new OCa= ml=20 version, the updated change log for OCaml 5.4.0 is available on GitHub:=20 https://github.com/ocaml/ocaml/blob/5.4/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=20 on opam 2.1 and later:=20 opam update=20 opam switch create 5.4.0~beta2=20 The source code for the beta is also available at these addresses:=20 * GitHub; https://github.com/ocaml/ocaml/archive/5.4.0-beta2.tar.gz=20 * OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.4/ocam= l-5.4.0~beta2.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 ocaml-variants.5.4.0~beta2+options =20 where `option_list` is a space separated list of `ocaml-option-*` packages.= For instance, for a flambda and no-flat-float-array switch:=20 opam switch create 5.4.0~beta2+flambda+nffa ocaml-variants.5.4.0~beta2+opti= ons ocaml-option-flambda ocaml-option-no-flat-float-array=20 All available options can be listed with `opam search ocaml-option`.=20 Changes since the first beta=20 ----------------------------------------=20 * Type system fix=20 - #14200(https://github.com/ocaml/ocaml/issues/14200), [#14202](https://git= hub.com/ocaml/ocaml/issues/14202) : bad variance check with private aliases= =20 (Jacques Garrigue, report and review by Stephen Dolan)=20 * Windows fixes=20 - #13504, #13625, +#14223(https://github.com/ocaml/ocaml/issues/14223): Add= `Thread.set_current_thread_name`.=20 (Romain Beauxis, review by Gabriel Scherer and Antonin D=E9cimo)=20 - #13541(https://github.com/ocaml/ocaml/issues/13541), [#13777](https://git= hub.com/ocaml/ocaml/issues/13777): Using C++11 `thread_local` causes name-m= angling=20 issues when linking with flexlink on Cygwin.=20 (Antonin D=E9cimo and David Allsopp, report by Kate Deplaix)=20 * Runtime fixes=20 - #14061(https://github.com/ocaml/ocaml/issues/14061), #14209(https://githu= b.com/ocaml/ocaml/issues/14209): fix a memory-ordering bug in Weak.set that= could=20 result in uninitialized memory seen by Weak.get on another domain.=20 (Damien Doligez, review by Gabriel Scherer)=20 - #14169(https://github.com/ocaml/ocaml/issues/14169): runtime, fix cache m= iss within the stack fragments cache=20 (Florian Angeletti, review by Gabriel Scherer)=20 * Tooling fixes=20 - #13302, +#14236(https://github.com/ocaml/ocaml/issues/14236): Store locat= ions of longidents components=20 (Ulysse G=E9rard and Jules Aguillon, review by Jules Aguillon=20 and Florian Angeletti)=20 - #12642, #13536, +#14184(https://github.com/ocaml/ocaml/issues/14184), +[#= 14192](https://github.com/ocaml/ocaml/issues/14192): in the toplevel, print= shorter paths for=20 constructors and labels when only some modules along their path are open.= =20 (Gabriel Scherer, review by Florian Angeletti)=20 - #14196(https://github.com/ocaml/ocaml/issues/14196), #14197(https://githu= b.com/ocaml/ocaml/issues/14197): ocamlprof: do not instrument unreachable c= lauses=20 (Gabriel Scherer, review by Nicol=E1s Ojeda B=E4r, report by Ali Caglayan)= =20 * Error messages=20 - #14214(https://github.com/ocaml/ocaml/issues/14214), #14221(https://githu= b.com/ocaml/ocaml/issues/14221): fix a confused error message for module in= clusions,=20 functor error messages were missing some type equalities potentially leadin= g=20 to nonsensical "type t is not compatible with type t" submessage=20 (Florian Angeletti, report by Basile Cl=E9ment, review by Gabriel Scherer)= =20 --=_85f8cb5f-9032-440d-91f4-94060f108071 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Dear OCaml users,

After an extended = summer break, the release of OCaml 5.4.0 is getting close.

Since the= re have been a handful of meaningful bug fixes this summer,
we are relea= sing a second beta version of OCaml 5.4.0 to help you update
your softwa= re and libraries ahead of the release (see below for the
installation in= structions). More information about the whole release process is
now ava= ilable in the compiler repository:

-  https://github.com/ocaml/ocaml/blob/trunk/release-info/introd= uction.md).

Compared to the first beta release, this beta release co= ntains four notable
bug fixes:
- one type system bugfix for variance = annotation on private types
- one memory concurrency safety fix for weak= pointers
- two Windows fixes

Those fixes are complemented by:- one runtime performance fix
- three tools and compiler-libs related f= ixes
- one error message fix.

The full list of fixes for this sec= ond beta is available below.

Overall, this beta release is already q= uite stable.
If the tests for this beta release go well, we are expectin= g to have a first release
candidate in the week of the 22 September, and= the full release in the beginning
of October.

If you find any bu= gs, please report them on OCaml's issue tracker:

 -https://github.com/ocaml/ocaml/issues

The= last progresses on stabilising the ecosystem are still tracked on the
o= pam readiness for 5.4.0 meta-issue:

- https://github.com/ocaml/opam-repository/issues/27916


I= f you are interested in full list of features and bug fixes of the new OCam= l
version, the updated change log for OCaml 5.4.0 is available on GitHub= :

https://github.c= om/ocaml/ocaml/blob/5.4/Changes

Happy hacking,
Florian Angeletti = for the OCaml team


Installation Instructions
----------------= -----------------

The base compiler can be installed as an opam swit= ch with the following commands
on opam 2.1 and later:

  &nbs= p; opam update
    opam switch create 5.4.0~beta2

The s= ource code for the beta is also available at these addresses:

* GitH= ub; https://github.com/ocaml/ocaml/archive/5.4.0-beta2.tar.gz
* OCaml ar= chives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.4/ocaml-5.4.0~be= ta2.tar.gz

Fine-Tuned Compiler Configuration
--------------------= -------------------------------

If you want to tweak the configurati= on of the compiler, you can switch to the option variant with:

 = ;   opam update
    opam switch create <switch_name>= ; ocaml-variants.5.4.0~beta2+options <option_list>

where `opti= on_list` is a space separated list of `ocaml-option-*` packages. For instan= ce, for a flambda and no-flat-float-array switch:

    opam= switch create 5.4.0~beta2+flambda+nffa ocaml-variants.5.4.0~beta2+options = ocaml-option-flambda ocaml-option-no-flat-float-array

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


Changes s= ince the first beta
----------------------------------------

* Ty= pe system fix

- #14200(https://github.com/ocaml/ocaml/issues/14200),= [#14202](https://github.com/ocaml/ocaml/issues/14202) : bad variance check= with private aliases
  (Jacques Garrigue, report and review by Ste= phen Dolan)

* Windows fixes

- #13504, #13625, +#14223(https:/= /github.com/ocaml/ocaml/issues/14223): Add `Thread.set_current_thread_name`= .
   (Romain Beauxis, review by Gabriel Scherer and Antonin D= =E9cimo)

- #13541(https://github.com/ocaml/ocaml/issues/13541), [#13= 777](https://github.com/ocaml/ocaml/issues/13777): Using C++11 `thread_loca= l` causes name-mangling
  issues when linking with flexlink on Cygw= in.
  (Antonin D=E9cimo and David Allsopp, report by Kate Deplaix)<= br>
* Runtime fixes

- #14061(https://github.com/ocaml/ocaml/issue= s/14061), #14209(https://github.com/ocaml/ocaml/issues/14209): fix a memory= -ordering bug in Weak.set that could
  result in uninitialized memo= ry seen by Weak.get on another domain.
  (Damien Doligez, review by= Gabriel Scherer)

- #14169(https://github.com/ocaml/ocaml/issues/141= 69): runtime, fix cache miss within the stack fragments cache
  (Fl= orian Angeletti, review by Gabriel Scherer)

* Tooling fixes

-= #13302, +#14236(https://github.com/ocaml/ocaml/issues/14236): Store locati= ons of longidents components
   (Ulysse G=E9rard and Jules Agu= illon, review by Jules Aguillon
    and Florian Angeletti)
=
- #12642, #13536, +#14184(https://github.com/ocaml/ocaml/issues/14184),= +[#14192](https://github.com/ocaml/ocaml/issues/14192): in the toplevel, p= rint shorter paths for
  constructors and labels when only some mod= ules along their path are open.
   (Gabriel Scherer, review by= Florian Angeletti)

- #14196(https://github.com/ocaml/ocaml/issues/1= 4196), #14197(https://github.com/ocaml/ocaml/issues/14197): ocamlprof: do n= ot instrument unreachable clauses
  (Gabriel Scherer, review by Nic= ol=E1s Ojeda B=E4r, report by Ali Caglayan)

* Error messages

= - #14214(https://github.com/ocaml/ocaml/issues/14214), #14221(https://githu= b.com/ocaml/ocaml/issues/14221): fix a confused error message for module in= clusions,
  functor error messages were missing some type equalitie= s potentially leading
  to nonsensical "type t is not compatible wi= th type t" submessage
  (Florian Angeletti, report by Basile Cl=E9m= ent, review by Gabriel Scherer)
--=_85f8cb5f-9032-440d-91f4-94060f108071--