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 Mar 2024 16:02:32 +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 Mar 2024 16:02:31 +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 Mar 2024 16:02:31 +0000 Received: from romulus.metastack.com ([172.16.0.20]) by exchange.romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 428G2gor023516 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 8 Mar 2024 16:02:42 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 428G2Zwi023500 for ; Fri, 8 Mar 2024 16:02:35 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 Mar 2024 17:02:33 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 48C95E0CF4; Fri, 8 Mar 2024 17:02:32 +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 2EE07E00B7 for ; Fri, 8 Mar 2024 17:02:28 +0100 (CET) Received: from zcs2-store1.inria.fr ([128.93.142.3]) by mail2-relais-roc.national.inria.fr with ESMTP; 08 Mar 2024 17:02:28 +0100 From: Florian Angeletti To: caml-list Subject: [Caml-list] First release candidate for OCaml 4.14.2 Thread-Topic: First release candidate for OCaml 4.14.2 Thread-Index: Gn0+CJHKCHryi8MhpQHUiz2uQXYo5w== Sender: "caml-list-request@inria.fr" X-MS-Exchange-MessageSentRepresentingType: 2 Date: Fri, 8 Mar 2024 16:02:28 +0000 Message-ID: <266580775.3000879.1709913748111.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: 9e05d075-9562-4d6a-632b-08dc3f892980 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.162.88] 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.07,110,1708383600"; d="scan'208,217";a="155755482" x-loop: caml-list@inria.fr x-no-archive: yes Content-Type: text/html; charset="iso-8859-1" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0
Dear OCaml users,

The release of OCaml version 4.14.2 is imminent.

OCaml 4.14.2 is a new update to the stable 4.14 branch of OCaml. This new r= elease backports many safe bug fixes from the OCaml 5 branch and fixes a ha= ndful of compatibility issues of OCaml 4.14.1 with newer operating system v= ersions.

A full list of bug fixes is available below.

In order to ensure that the future release works as expected, we are planni= ng to test a release candidate during the upcoming week
(the packages might take some hours to propagate on the opam repositor= y).

If you find any bugs, please report them here on https://github.com/ocaml/o= caml/issues.


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 on opam 2.1:

    opam update
    opam switch create 4.14.2~rc1

The source code for the release candidate is available on
- GitHub: https://github.com/ocaml/ocaml/archive/4.14.2-rc1.tar.gz
- Inria archives : https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.=
2~rc1.tar.gz

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

If you want to tweak the configuration of the compiler, you can switch to t= he option variant with:

    opam update
    opam switch create <switch_name> ocaml-variants.4.= 14.2~rc1+options <option_list>

where <option_list> is a space-separated list of ocaml-option-* packa= ges. For instance, for a flambda and no-flat-float-array switch:

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

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

Changes Since OCaml 4.14.1
-----------------------------------------

### Runtime System:

  - #11764(https://github.com/ocaml/ocaml/issues/11764), #12577(https:= //github.com/ocaml/ocaml/issues/12577): Add prototypes to old-style C funct= ion definitions
     and declarations.
    (Antonin D=E9cimo, review by Xavier Leroy and Nick Barne= s)
 
  - #11763(https://github.com/ocaml/ocaml/issues/11763), #11759(https:= //github.com/ocaml/ocaml/issues/11759), #11861(https://github.com/ocaml/oca= ml/issues/11861), #12509(https://github.com/ocaml/ocaml/issues/12509), #125= 77(https://github.com/ocaml/ocaml/issues/12577): Use strict prototypes on primitives.
    (Antonin D=E9cimo, review by Xavier Leroy, David Allsopp= , S=E9bastien
     Hinderer and Nick Barnes)
 
  * (*breaking change*) #10723(https://github.com/ocaml/ocaml/issues/1= 0723): Do not use `-flat-namespace` linking for macOS.
    (Carlo Cabrera, review by Damien Doligez)
 
  - #11332(https://github.com/ocaml/ocaml/issues/11332), [#12702](http= s://github.com/ocaml/ocaml/issues/12702): Make sure `Bool_val(v)` has type = `bool` in C++
    (Xavier Leroy, report by ygrek, review by Gabriel Schere= r)
 
  ### Build System:
 
  - #11590(https://github.com/ocaml/ocaml/issues/11590): Allow install= ing to a destination path containing spaces
    (=C9lie Brami, review by S=E9bastien Hinderer and David = Allsopp)
 
  - #12372(https://github.com/ocaml/ocaml/issues/12372): Pass option `= -no-execute-only` to the linker for OpenBSD >=3D 7.3
    so that code sections remain readable, as needed for clo= sure marshaling.
    (Xavier Leroy and Anil Madhavapeddy, review by Anil Madh= avapeddy and
    S=E9bastien Hinderer)
 
  - #12903(https://github.com/ocaml/ocaml/issues/12903): Disable contr= ol flow integrity on OpenBSD >=3D 7.4 to avoid
    illegal instruction errors on certain CPUs.
    (Michael Hendricks, review by Miod Vallat)
 
  ### Bug fixes:
 
  - #12061(https://github.com/ocaml/ocaml/issues/12061), #12063(https:= //github.com/ocaml/ocaml/issues/12063): Don't add inconsistent equalities w= hen computing
    high-level error messages for functor applications and i= nclusions.
    (Florian Angeletti, review by Gabriel Scherer)
 
  - #12878(https://github.com/ocaml/ocaml/issues/12878): Fix incorrect= treatment of injectivity for private recursive types.
    (Jeremy Yallop, review by Gabriel Scherer and Jacques Ga= rrigue)
 
  - #12971(https://github.com/ocaml/ocaml/issues/12971), [#12974](http= s://github.com/ocaml/ocaml/issues/12974): Fix an uncaught Ctype. Escape exc= eption on some
    invalid programs forming recursive types.
    (Gabriel Scherer, review by Florian Angeletti, report by= Neven Villani)
 
  - #12264(https://github.com/ocaml/ocaml/issues/12264), #12289(https:= //github.com/ocaml/ocaml/issues/12289): Fix `compact_allocate` to avoid a p= athological case
    that causes very slow compaction.
    (Damien Doligez, report by Arseniy Alekseyev, review by = Sadiq Jaffer)
 
  - #12513(https://github.com/ocaml/ocaml/issues/12513), #12518(https:= //github.com/ocaml/ocaml/issues/12518): Automatically enable emulated `fma`= for Visual Studio 2019+
    to allow configuration with either pre-Haswell/pre-Piled= river CPUs or running
    in VirtualBox. Restores parity with the other Windows po= rts, which don't
    require explicit `--enable-imprecise-c99-float-ops`.
    (David Allsopp, report by Jonah Beckford and Kate Deplai= x, review by
     S=E9bastien Hinderer)
 
  - #11633(https://github.com/ocaml/ocaml/issues/11633), [#11636](http= s://github.com/ocaml/ocaml/issues/11636): Bug fix in `caml_unregister_frame= table`
    (Fr=E9d=E9ric Recoules, review by Gabriel Scherer)
 
  - #12636(https://github.com/ocaml/ocaml/issues/12636), #12646(https:= //github.com/ocaml/ocaml/issues/12646): More prudent reinitialisation of I/= O mutexes after a fork()
    (Xavier Leroy, report by Zach Baylin, review by Enguerra= nd Decorne)
 
  * (*breaking change*) #10845(https://github.com/ocaml/ocaml/issues/1= 0845) Emit frametable size on AMD64 BSD (OpenBSD, FreeBSD, NetBSD) systems<= br>     (emitted for Linux in [#8805](https://github.com/ocaml/o= caml/issues/8805))
    (Hannes Mehnert, review by Nicol=E1s Ojeda B=E4r)
 
  - #12958(https://github.com/ocaml/ocaml/issues/12958): Fix `tail-mod= ulo-cons` compilation of `try-with`, `&&`, and `||`
    expressions.
    (Gabriel Scherer and Nicol=E1s Ojeda B=E4r, report by Sy= lvain Boilard, review by
    Gabriel Scherer)