Skip to content

Revert "data: Remove changelogs for alpha, beta, rc releases" #3226

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Merlin 3.3.4~4.10preview1
tags: [merlin, platform]
unstable: true
changelog: |
Oops, we went looking but didn't find the changelog for this release 🙈
---

This is a preview release that adds support for OCaml 4.10.
Short-path is disabled. Other versions of OCaml are not supported.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Ocaml-lsp 1.13.2~5.0preview
tags: [ocaml-lsp, platform]
unstable: true
changelog: |
Oops, we went looking but didn't find the changelog for this release 🙈
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Ocaml-lsp 1.15.0~5.0preview1
tags: [ocaml-lsp, platform]
unstable: true
changelog: |
Oops, we went looking but didn't find the changelog for this release 🙈
---
185 changes: 185 additions & 0 deletions data/changelog/releases/ocaml/2022-10-12-ocaml-5.0.beta1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
---
title: OCaml 5.0.0 - First Beta
tags: [ocaml]
unstable: true
changelog: |
## Changes Since Last Alpha Release

### `Stdlib` Changes

+ [#11309](https://github.com/ocaml/ocaml/issues/11309), [#11424](https://github.com/ocaml/ocaml/issues/11424), [#11427](https://github.com/ocaml/ocaml/issues/11427), +[#11545](https://github.com/ocaml/ocaml/issues/11545): Add Domain.recommended_domain_count.
(Christiano Haesbaert, Konstantin Belousov, review by David Allsopp,
KC Sivaramakrishnan, Gabriel Scherer, Nicolas Ojeda Bar)

- [#11423](https://github.com/ocaml/ocaml/issues/11423): Move the effect exceptions to the Effect module
(KC Sivaramakrishnan, Xavier Leroy, Florian Angeletti, review by
Florian Angeletti, Xavier Leroy, and KC Sivaramakrishnan)

- [#11593](https://github.com/ocaml/ocaml/issues/11593): Remove Domain.at_each_spawn
(Florian Angeletti, review by Guillaume Munch-Maccagnoni
and KC Sivaramakrishnan)

### Bug Fixes

- [#11303](https://github.com/ocaml/ocaml/issues/11303): Ensure that GC is not invoked from bounds check failures
(Stephen Dolan, review by Sadiq Jaffer and Xavier Leroy)

- [#5299](https://github.com/ocaml/ocaml/issues/5299), [#4787](https://github.com/ocaml/ocaml/issues/4787), [#11138](https://github.com/ocaml/ocaml/issues/11138), [#11272](https://github.com/ocaml/ocaml/issues/11272), [#11506](https://github.com/ocaml/ocaml/issues/11506): To help debugging, `Caml_state`
now dynamically checks that the domain lock is held and fails
otherwise (with a fatal error at most entry points of the C API, or
systematically in debug mode). A new variable `Caml_state_opt` is
introduced and is `NULL` when the domain lock is not held. This
allows to test from C code if the current thread holds its domain lock.
(Guillaume Munch-Maccagnoni, review by Florian Angeletti, Damien
Doligez, Sadiq Jaffer, Xavier Leroy, and Gabriel Scherer)

- [#11223](https://github.com/ocaml/ocaml/issues/11223): The serialisation format of custom blocks changed in 4.08,
but the deserialiser would still support the pre-4.08 format. OCaml
5.x removed support for this old format and provided a clear error message
in this case.
(Hugo Heuzard, review by Gabriel Scherer)

- [#11504](https://github.com/ocaml/ocaml/issues/11504), [#11522](https://github.com/ocaml/ocaml/issues/11522): Use static allocation for `caml_make_float_vect` in
no-flat-float-array mode, it's more efficient and avoids a race condition
(Xavier Leroy, report by Guillaume Munch-Maccagnoni, review by David Allsopp)

- [#11461](https://github.com/ocaml/ocaml/issues/11461), [#11466](https://github.com/ocaml/ocaml/issues/11466): Fix `gethostbyaddr` for IPv6 arguments and make it domain-safe
(Olivier Nicole, Nicolás Ojeda Bär, David Allsopp and Xavier Leroy,
review by the same)

- [#11479](https://github.com/ocaml/ocaml/issues/11479): Make Unix.symlink domain-safe on Windows
(Olivier Nicole, review by Xavier Leroy and David Allsopp)

- [#11294](https://github.com/ocaml/ocaml/issues/11294): Switch minimum required autoconf to 2.71.
(David Allsopp, review by Xavier Leroy)

- [#11370](https://github.com/ocaml/ocaml/issues/11370), [#11373](https://github.com/ocaml/ocaml/issues/11373): Don't pass CFLAGS to flexlink during configure.
(David Allsopp, report by William Hu, review by Xavier Leroy and
Sébastien Hinderer)

- [#11487](https://github.com/ocaml/ocaml/issues/11487): Thwart FMA test optimization during configure
(William Hu, review by David Allsopp and Sébastien Hinderer)

- [#11468](https://github.com/ocaml/ocaml/issues/11468): Fix regression from [#10186](https://github.com/ocaml/ocaml/issues/10186) (OCaml 4.13) detecting IPv6 on Windows for
mingw-w64 i686 port.
(David Allsopp, review by Xavier Leroy and Sébastien Hinderer)

- [#11482](https://github.com/ocaml/ocaml/issues/11482), [#11542](https://github.com/ocaml/ocaml/issues/11542): Fix random crash in large closure allocation
(Damien Doligez, report by Thierry Martinez and Vincent Laviron, review by
Xavier Leroy)

- [#11508](https://github.com/ocaml/ocaml/issues/11508), [#11509](https://github.com/ocaml/ocaml/issues/11509): make Bytes.escaped domain-safe
(Christiano Haesbaert and Gabriel Scherer,
review by Xavier Leroy,
report by Jan Midtgaard and Tom Kelly)

- [#11516](https://github.com/ocaml/ocaml/issues/11516), [#11524](https://github.com/ocaml/ocaml/issues/11524): Fix the `deprecated_mutable` attribute.
(Chris Casinghino, review by Nicolás Ojeda Bär and Florian Angeletti)

- [#11576](https://github.com/ocaml/ocaml/issues/11576): Fix bug in Bigarray.Genarray.init in the the case of zero-dimensional
arrays.
(Nicolás Ojeda Bär, Jeremy Yallop, report by Masayuki Takeda, review by Jeremy
Yallop and Florian Angeletti)

- [#11587](https://github.com/ocaml/ocaml/issues/11587): Prevent integer comparison from being used on pointers
(Vincent Laviron, review by Gabriel Scherer)

### Documentation Changes

- [#11093](https://github.com/ocaml/ocaml/issues/11093): Add tutorials on parallelism features and the relaxed memory model
(KC Sivaramakrishnan, review by Damien Doligez, Anil Madhavapeddy, Gabriel
Scherer, Thomas Leonard, Tom Ridge, Xavier Leroy, Luc Maranget, Fabrice
Buoro, Olivier Nicole, Guillaume Munch-Maccagnoni, Jacques-Henri Jourdan)
---

The release of OCaml 5.0.0 is drawing near.
The standard library has been stabilized and many opam packages already
work with this release.
After two alpha releases, we have released the first beta version to help you update your software and libraries ahead of the release (see below for the installation instructions).

If you find any bugs, please report them [on GitHub issues](https://github.com/ocaml/ocaml/issues).

Compared to the last alpha release, this beta contains many small, internal
runtime fixes (in particular in the `systhreads` library).

At the user level, the interface of the Domain and Effect module has been tweaked to be (hopefully) more forward-compatible:

- Exceptions related to effects are now defined in the Effecŧ module.
- The value `Domain.recommended_domain_count` is no longer a constant and the function `Domain.at_each_spawn` has been removed.

With those changes, the standard library should be stable now.

If you are interested in the ongoing list of bug fixes, the
updated change log for OCaml 5.0.0 is available [on GitHub](https://github.com/ocaml/ocaml/blob/5.0/Changes).

You can also follow the state of the opam ecosystem on [this `opam-repository` issues](https://github.com/ocaml/opam-repository/issues/21526), and at [check.ocamllabs.io](http://check.ocamllabs.io/)

A short summary of the changes since the last alpha release is also available
below.


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

The base compiler can be installed as an opam switch with the following commands
on opam 2.1:
```bash
opam update
opam switch create 5.0.0~beta1
```

For previous versions of opam, the switch creation command line is slightly more verbose:
```bash
opam update
opam switch create 5.0.0~beta1 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
```

It might also be interesting to check the new support for parallelism by installing
the `domainslib` library with

```bash
opam install domainslib
```

The source code for the beta release is also available at these addresses:

* [https://github.com/ocaml/ocaml/archive/5.0.0-beta1.tar.gz](https://github.com/ocaml/ocaml/archive/5.0.0-beta1.tar.gz)
* [https://caml.inria.fr/pub/distrib/ocaml-5.0/ocaml-5.0.0~beta1.tar.gz](https://caml.inria.fr/pub/distrib/ocaml-5.0/ocaml-5.0.0~beta1.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.5.0.0~beta1+options <option_list>
```
where `option_list` is a comma-separated list of `ocaml-option-*` packages. For instance, for a `flambda` and `no-flat-float-array` switch:
```bash
opam switch create 5.0.0~beta1+flambda+nffa ocaml-variants.5.0.0~beta1+options ocaml-option-flambda ocaml-option-no-flat-float-array
```
The command line above is slightly more complicated for opam versions before 2.1:
```bash
opam update
opam switch create <switch_name> --packages=ocaml-variants.5.0.0~beta1+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
```

In both cases, all available options can be listed with `opam search ocaml-option`.

## Optional opam Alpha Repository

During the beta release, if your dependencies are not yet compatible with OCaml 5.0.0,
you might want to check the alpha opam repository: [https://github.com/kit-ty-kate/opam-alpha-repository](https://github.com/kit-ty-kate/opam-alpha-repository).

Which can be installed with
```bash
opam repo add alpha git+https://github.com/kit-ty-kate/opam-alpha-repository.git
```
You can check that the alpha repository has been correctly installed with
```bash
$ opam repo
<><> Repository configuration for switch 5.0.0~beta1 <><><><><><><><><><><><><>
1 alpha git+https://github.com/kit-ty-kate/opam-alpha-repository.git
2 default https://opam.ocaml.org
```
This alpha repository contains various fixes that are in the process of being upstreamed,
but it should be less and less required with the progress of the beta release.
136 changes: 136 additions & 0 deletions data/changelog/releases/ocaml/2022-11-28-ocaml-5.0.beta2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
---
title: OCaml 5.0.0 - Second Beta
tags: [ocaml]
unstable: true
changelog: |
## Changes since the first beta

### Configuration changes

- [#11097](https://github.com/ocaml/ocaml/issues/11097): Build native-code
compilers on NetBSD/aarch64 (Kate Deplaix, review by Anil Madhavapeddy)

### Bug fixes

- [#10875](https://github.com/ocaml/ocaml/issues/10875),
+[#11731](https://github.com/ocaml/ocaml/issues/11731): Add option to allocate
fiber stacks and sigaltstacks with mmap(MAP_STACK) instead of malloc. This is
exposed via a configure –enable-mmap-map-stack option, and is enabled by default
on OpenBSD where it is mandatory. (Anil Madhavapeddy, review by Gabriel Scherer,
Tom Kelly, Michael Hendricks and KC Sivaramakrishnan).
- [#11652](https://github.com/ocaml/ocaml/issues/11652): Fix benign off-by-one
error in Windows implementation of caml_mem_map. (David Allsopp, review by
Gabriel Scherer)
- [#11669](https://github.com/ocaml/ocaml/issues/11669),
[#11704](https://github.com/ocaml/ocaml/issues/11704): Fix construction of
Effect.Unhandled exceptions in the bytecode interpreter. (David Allsopp and
Xavier Leroy, report by Samuel Hym, review by Xavier Leroy and Gabriel Scherer)
- [#11184](https://github.com/ocaml/ocaml/issues/11184),
+[#11670](https://github.com/ocaml/ocaml/issues/11670): Stop calling ranlib on
created / installed libraries (Sébastien Hinderer and Xavier Leroy, review by
the same)
- [#11194](https://github.com/ocaml/ocaml/issues/11194),
[#11609](https://github.com/ocaml/ocaml/issues/11609): Fix inconsistent type
variable names in “unbound type var” messages (Ulysse Gérard and Florian
Angeletti, review Florian Angeletti and Gabriel Scherer)
- [#11622](https://github.com/ocaml/ocaml/issues/11622): Prevent stack overflow
when printing a constructor or record mismatch error involving recursive types.
(Florian Angeletti, review by Gabriel Scherer)
- [#11662](https://github.com/ocaml/ocaml/issues/11662),
[#11673](https://github.com/ocaml/ocaml/issues/11673): fix a memory leak when
using Dynlink, the bug was only present in development version of OCaml 5.
(Stephen Dolan, report by Andre Maroneze, review by Gabriel Scherer)
- [#11732](https://github.com/ocaml/ocaml/issues/11732): Ensure that types from
packed modules are always generalised (Stephen Dolan and Leo White, review by
Jacques Garrigue)
- [#11737](https://github.com/ocaml/ocaml/issues/11737): Fix segfault condition
in Unix.stat under Windows in the presence of multiple threads. (Marc Lasson,
Nicolás Ojeda Bär, review by Gabriel Scherer and David Allsopp)

### Documentation

- [#11193](https://github.com/ocaml/ocaml/issues/11193),
[#11227](https://github.com/ocaml/ocaml/issues/11227): documentation on
concurrency safety for mutable data types and states in the standard library. A
unsynchronized_access alert have been added for functions that require user
synchronizations on concurrent access. The new alert is diabled by default.
(Florian Angeletti, review by François Pottier and KC Sivaramakrishnan )
- [#11526](https://github.com/ocaml/ocaml/issues/11526), add a unstable alert to
the Domain and Effect modules. The new alert is disabled by default. (Florian
Angeletti, review by Nicolás Ojeda Bär, Daniel Bünzli, and Kate Deplaix)
- [#11640](https://github.com/ocaml/ocaml/issues/11640): Add Flambda
commonly-used options to the ocamlopt manpage (Amandine Nangah, review by David
Allsopp, Florian Angeletti, Sébastien Hinderer, and Vincent Laviron)
---

The release of OCaml 5.0.0 is drawing close.

In order to test the most recent bug fixes and to help you update your software
and libraries ahead of the release, we have released a second beta version of
OCaml 5.0.0, (see below for the installation instructions).

If you find any bugs, please report them on [OCaml's issue tracker](https://github.com/ocaml/ocaml/issues).

Compared to the first beta release, this second beta contains many small
internal standard library fixes, one configuration fix and many small bug fixes.

We also have few updates of the documentation, which introduce two new alerts:
one for the unstable modules Domain and Effect, and another for functions doing
unsynchronized_access to mutable state in the standard library. Those two alerts
are disabled by default, but are available for interested users.

The first release candidate for OCaml 5.0.0 is expected to follow closely this
second beta release.

If you are interested in the ongoing list of bug fixes, the updated change log
for OCaml 5.0.0 is available [on GitHub](https://github.com/ocaml/ocaml/blob/5.0/Changes).

You can also follow the state of the opam ecosystem on [http://check.ocamllabs.io/](http://check.ocamllabs.io/).

A short summary of the changes since the first beta release is also available below.

---
## Installation Instructions

The base compiler can be installed as an opam switch with the following commands
on opam 2.1:
```bash
opam update
opam switch create 5.0.0~beta2
```

For previous versions of opam, the switch creation command line is slightly more verbose:
```bash
opam update
opam switch create 5.0.0~beta2 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
```

It might also be interesting to check the new support for parallelism by installing
the `domainslib` library with
```bash
opam install domainslib
```

The source code for the beta release is also available at these addresses:

* [https://github.com/ocaml/ocaml/archive/5.0.0-beta2.tar.gz](https://github.com/ocaml/ocaml/archive/5.0.0-beta2.tar.gz)
* [https://caml.inria.fr/pub/distrib/ocaml-5.0/ocaml-5.0.0~beta2.tar.gz](https://caml.inria.fr/pub/distrib/ocaml-5.0/ocaml-5.0.0~beta2.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.5.0.0~beta2+options <option_list>
```
where `option_list` is a comma-separated list of `ocaml-option-*` packages. For instance, for a `flambda` and `no-flat-float-array` switch:
```bash
opam switch create 5.0.0~beta2+flambda+nffa ocaml-variants.5.0.0~beta2+options ocaml-option-flambda ocaml-option-no-flat-float-array
```
The command line above is slightly more complicated for opam versions before 2.1:
```bash
opam update
opam switch create <switch_name> --packages=ocaml-variants.5.0.0~beta2+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
```

In both cases, all available options can be listed with `opam search ocaml-option`.
Loading
Loading