From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Mailbox Transport; Fri, 8 Dec 2023 08:58:19 +0000 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Fri, 8 Dec 2023 08:58:19 +0000 Received: from exchange.romulus.metastack.com (172.16.0.21) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.2507.32 via Frontend Transport; Fri, 8 Dec 2023 08:58:19 +0000 Received: from romulus.metastack.com ([172.16.0.20]) by exchange.romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 3B88wQHB023329 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 8 Dec 2023 08:58:26 GMT Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 3B88wJJo023312 for ; Fri, 8 Dec 2023 08:58:19 GMT Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 08 Dec 2023 09:58:18 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id CAD29E0CCA; Fri, 8 Dec 2023 09:58:18 +0100 (CET) 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 57F13E00B7; Fri, 8 Dec 2023 09:58:08 +0100 (CET) Received: from zcs-store1.inria.fr ([128.93.142.28]) by mail2-relais-roc.national.inria.fr with ESMTP; 08 Dec 2023 09:58:04 +0100 From: Florian Angeletti CC: caml-list , caml-announce Subject: [Caml-list] OCaml release 5.1.1 Thread-Topic: OCaml release 5.1.1 Thread-Index: DM1Qu5JXaVGYmsLusqPXI5ksrg4DPA== Sender: "caml-list-request@inria.fr" X-MS-Exchange-MessageSentRepresentingType: 2 Date: Fri, 8 Dec 2023 08:58:04 +0000 Message-ID: <1675993880.39291490.1702025884353.JavaMail.zimbra@inria.fr> Keywords: Sent to dra-news@metastack.com,Marked bulk,MetaStack - Lists,MetaStack List-Help: List-Subscribe: List-Unsubscribe: Reply-To: Florian Angeletti Content-Language: en-GB X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: Hermes.metastack.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-Network-Message-Id: 17594ea3-ec34-48e6-0387-08dbf7cbd2f9 X-MS-TNEF-Correlator: X-MS-Exchange-Organization-RecordReviewCfmType: 0 x-scanned-by: MIMEDefang 2.65 on 62.31.23.242 x-originating-ip: [128.93.64.106] 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 x-ironport-av: E=Sophos;i="6.04,260,1695679200"; d="scan'208,217";a="141141563" x-loop: caml-list@inria.fr x-no-archive: yes Content-Type: text/html; charset="iso-8859-1" Content-ID: <80D8AD3BA611B541BB26F98257D5601E@metastack.local> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0
Dear OCaml users,

In the last three months after the release of OCaml 5.1.0, three significan= t
regressions have been discovered in OCaml 5.1.0. Those regressions concern = the
packaging of executables, the typechecking of OCaml programs, and the
performance of numerical codes.

Since those regressions affect many users and could have lasting effects, w= e
have published a patch release, OCaml 5.1.1, fixing those issues.

As a major exception to our policy for patch releases, OCaml 5.1.1 will con= tain
one breaking change in the standard library: the `Compression` flag has bee= n
removed from the `Marshal` module.
This drastic measure has been taken because supporting zstd compression in = the
standard library made zstd a dependency of all OCaml executables. Since the=
compiler should not propagate its dependencies on end-users, the support fo= r
compressed marshalling has been moved to a compiler internal library in 5.1= .1.

Accounting for the still experimental nature of the multicore runtime, this=
patch release 5.1.1 also contains safe fixes for subtle concurrency bugs in= the
OCaml runtime.

The full list of changes is available below for more details.

Happy hacking,
Florian Angeletti for the OCaml team.


Installation Instructions
-------------------------------

The base compiler can be installed as an opam switch with the following com= mands:

    opam update
    opam switch create 5.1.1

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

* GitHub: https://github.com/ocaml/ocaml/archive/5.1.1.tar.gz
* Inria archive: https://caml.inria.fr/pub/distrib/ocaml-5.1/ocaml-5.1.1.ta= r.gz

Changes in OCaml 5.1.1 (8 December 2023)
------------------------------------------------------------

### Standard Library:

  * (*breaking change*) [#12562](https://github.com/ocaml/ocaml/issues= /12562), [#12734](https://github.com/ocaml/ocaml/issues/12734), [#12783](ht= tps://github.com/ocaml/ocaml/issues/12783): Remove the `Marshal.Compression= ` flag to the
    `Marshal.to_*` functions introduced in 5.1 by [#12006](h= ttps://github.com/ocaml/ocaml/issues/12006), as it cannot
    be implemented without risking to link -lzstd with all     ocamlopt-generated executables.  The compilers are = still able to use
    ZSTD compression for compilation artefacts.
    (Xavier Leroy and David Allsopp, report by Kate Deplaix,= review by
     Nicol=E1s Ojeda B=E4r, Kate Deplaix, and Damien Do= ligez).

### Bug Fixes:

  - #12623 fix the computation of variance composition
    (Florian Angeletti, report by Vesa Karvonen, review by G= abriel Scherer)

  - #12581, #12609: Fix error on uses of packed modules outside their = pack
    to correctly handle nested packs
    (Vincent Laviron, report by Javier Ch=E1varri, review by= Pierre Chambart)


  - #12645, #12649 fix error messages for cyclic type definitions in p= resence of
    the `-short-paths` flag.
    (Florian Angeletti, report by Vesa Karvonen, review by G= abriel Scherer)

  - #12757](https://github.com/ocaml/ocaml/issues/12757): Fix ocamlnat= (native toplevel) by registering frametables correctly
    (Stephen Dolan, Nick Barnes and Mark Shinwell,
     review by Vincent Laviron and S=E9bastien Hinderer= )

  - #12791: `extern` is applied to definitions of `caml_builtin_cprim`=
    and `caml_names_of_builtin_cprim` when linking bytecode = '-custom'
    executables with a C++ linker.
    (Shayne Fletcher, review by Antonin D=E9cimo and Xavier = Leroy)
    
### GC Performance Regression Fixes

  - #12318: GC: simplify the meaning of custom_minor_max_size: blocks = with
    out-of-heap memory above this limit are now allocated di= rectly in
    the major heap.
    (Damien Doligez, report by Stephen Dolan, review by Gabr= iel Scherer)

  - #12439]: Finalize and collect dead custom blocks during minor coll= ection
    (Damien Doligez, review by Xavier Leroy, Gabriel Scherer= and KC
    Sivaramakrishnan)

  - #12590, #12595: Move `caml_collect_gc_stats_sample` in
    `caml_empty_minor_heap_promote` before barrier arrival.<= br>     (B. Szilvasy, review by Gabriel Scherer)

  - #12491, #12493 #12500, #12754: Do not change GC pace when creating= sub-arrays of bigarrays
    (Xavier Leroy, report by Ido Yariv, analysis by Gabriel = Scherer,
     review by Gabriel Scherer and Fabrice Buoro)

### Runtime Bug Fixes

  - #11800, #12707: fix an assertion race condition in `install_backup= _thread`
    (Jan Midtgaard, review by Gabriel Scherer)

  - #12486, #12535: Fix delivery of unhandled effect exceptions on amd= 64 with
    --enable-frame-pointers
    (Miod Vallat, report by Jan Midtgaard, review by Gabriel= Scherer)

  - #12712, #12742: fix an assertion boundary case in `caml_reset_youn= g_limit`
    (Jan Midtgaard, review by Guillaume Munch-Maccagnoni)
  - #12713, #12715: disable common subexpression elimination for atomi= c loads
    (Gabriel Scherer and Vincent Laviron,
     review by Vincent Laviron, KC Sivaramakrishnan and= Xavier Leroy,
     report by Vesa Karvonen and Carine Morel)