Skip to content

Commit

Permalink
(data) Changelog entry for OCaml 4.14.2~rc1 (#2145)
Browse files Browse the repository at this point in the history
* 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
Octachron and christinerose committed Mar 10, 2024
1 parent a5470fe commit f90e4e1
Showing 1 changed file with 120 additions and 0 deletions.
120 changes: 120 additions & 0 deletions data/changelog/ocaml/2024-03-07-ocaml-4.14.2.rc1.md
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`.

0 comments on commit f90e4e1

Please sign in to comment.