-
Notifications
You must be signed in to change notification settings - Fork 291
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(data) Changelog entry for OCaml 4.14.2~rc1 (#2145)
* Changelog entry for OCaml 4.14.2~rc1 * Fix changelog format * line editing / formatting * Fix description * Remove paragraph for old opam versions * Fix inria archive link --------- Co-authored-by: Christine Rose <christinerose@users.noreply.github.com>
- Loading branch information
1 parent
a5470fe
commit f90e4e1
Showing
1 changed file
with
120 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
--- | ||
title: OCaml 4.14.2 - Release Candidate | ||
description: Release Candidate of OCaml 4.14.2 | ||
tags: [ocaml] | ||
changelog: | | ||
## 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 function definitions | ||
and declarations. | ||
(Antonin Décimo, review by Xavier Leroy and Nick Barnes) | ||
- [#11763](https://github.com/ocaml/ocaml/issues/11763), [#11759](https://github.com/ocaml/ocaml/issues/11759), [#11861](https://github.com/ocaml/ocaml/issues/11861), [#12509](https://github.com/ocaml/ocaml/issues/12509), [#12577](https://github.com/ocaml/ocaml/issues/12577): Use strict prototypes on primitives. | ||
(Antonin Décimo, review by Xavier Leroy, David Allsopp, Sébastien | ||
Hinderer and Nick Barnes) | ||
* (*breaking change*) [#10723](https://github.com/ocaml/ocaml/issues/10723): Do not use `-flat-namespace` linking for macOS. | ||
(Carlo Cabrera, review by Damien Doligez) | ||
- [#11332](https://github.com/ocaml/ocaml/issues/11332), [#12702](https://github.com/ocaml/ocaml/issues/12702): Make sure `Bool_val(v)` has type `bool` in C++ | ||
(Xavier Leroy, report by ygrek, review by Gabriel Scherer) | ||
### Build System: | ||
- [#11590](https://github.com/ocaml/ocaml/issues/11590): Allow installing to a destination path containing spaces | ||
(Élie Brami, review by Sébastien Hinderer and David Allsopp) | ||
- [#12372](https://github.com/ocaml/ocaml/issues/12372): Pass option `-no-execute-only` to the linker for OpenBSD >= 7.3 | ||
so that code sections remain readable, as needed for closure marshaling. | ||
(Xavier Leroy and Anil Madhavapeddy, review by Anil Madhavapeddy and | ||
Sébastien Hinderer) | ||
- [#12903](https://github.com/ocaml/ocaml/issues/12903): Disable control flow integrity on OpenBSD >= 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 when computing | ||
high-level error messages for functor applications and inclusions. | ||
(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 Garrigue) | ||
- [#12971](https://github.com/ocaml/ocaml/issues/12971), [#12974](https://github.com/ocaml/ocaml/issues/12974): Fix an uncaught Ctype. Escape exception 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 pathological 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-Piledriver CPUs or running | ||
in VirtualBox. Restores parity with the other Windows ports, which don't | ||
require explicit `--enable-imprecise-c99-float-ops`. | ||
(David Allsopp, report by Jonah Beckford and Kate Deplaix, review by | ||
Sébastien Hinderer) | ||
- [#11633](https://github.com/ocaml/ocaml/issues/11633), [#11636](https://github.com/ocaml/ocaml/issues/11636): Bug fix in `caml_unregister_frametable` | ||
(Frédéric 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 Enguerrand Decorne) | ||
* (*breaking change*) [#10845](https://github.com/ocaml/ocaml/issues/10845) Emit frametable size on AMD64 BSD (OpenBSD, FreeBSD, NetBSD) systems | ||
(emitted for Linux in [#8805](https://github.com/ocaml/ocaml/issues/8805)) | ||
(Hannes Mehnert, review by Nicolás Ojeda Bär) | ||
- [#12958](https://github.com/ocaml/ocaml/issues/12958): Fix `tail-modulo-cons` compilation of `try-with`, `&&`, and `||` | ||
expressions. | ||
(Gabriel Scherer and Nicolás Ojeda Bär, report by Sylvain Boilard, review by | ||
Gabriel Scherer) | ||
--- | ||
|
||
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 | ||
release backports many safe bug fixes from the OCaml 5 branch and fixes | ||
a handful of compatibility issues of OCaml 4.14.1 with newer operating system versions. | ||
|
||
A full list of bug fixes is available below. | ||
|
||
In order to ensure that the future release works as expected, we are planning to test a release candidate during the upcoming week. | ||
|
||
If you find any bugs, please report them here on [GitHub](https://github.com/ocaml/ocaml/issues). | ||
|
||
---- | ||
|
||
|
||
## Installation Instructions | ||
|
||
The base compiler can be installed as an opam switch with the following commands 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 the option variant with: | ||
```bash | ||
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-*` packages. For instance, for a `flambda` and `no-flat-float-array` switch: | ||
```bash | ||
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`. |