diff --git a/data/changelog/ocaml/2023-08-29-ocaml-5.1.rc2.md b/data/changelog/ocaml/2023-08-29-ocaml-5.1.rc2.md new file mode 100644 index 0000000000..63b8e66507 --- /dev/null +++ b/data/changelog/ocaml/2023-08-29-ocaml-5.1.rc2.md @@ -0,0 +1,59 @@ +--- +title: OCaml 5.1.0 - Second Release Candidate +description: Second Release Candidate of OCaml 5.1.0 +date: "2023-08-29" +tags: [ocaml, release] +changelog: | + ## Last Minute Bug Fixes + + ### Type System: + + * (*breaking change*) [#6941](https://github.com/ocaml/ocaml/issues/6941), [#11187](https://github.com/ocaml/ocaml/issues/11187), +[#12483](https://github.com/ocaml/ocaml/issues/12483): prohibit using classes through recursive modules + inheriting or including a class belonging to a mutually-recursive module + would previous behave incorrectly, and now results in a clean error. + (Leo White, review by Gabriel Scherer and Florian Angeletti) + + ### Runtime + + - [#12481](https://github.com/ocaml/ocaml/issues/12481), [#12505](https://github.com/ocaml/ocaml/issues/12505): Fix incorrect initialization of array expressions + `[|e1;...;eN|]` when `N` is large enough to require major heap allocation. + (Xavier Leroy, report by Andrey Popp, analysis by KC Sivaramakrishnan + and Vincent Laviron, review by Gabriel Scherer) + +--- +In the last two weeks, two significant bugs have been discovered in the release candidate for OCaml 5.1.0 (one affecting the type system, another in the runtime). + +Those bugs are now fixed and we are publishing a second release candidate to check that everything is in order before the release in the upcoming week. + +If you find any bugs, please report them on [OCaml's issue tracker](https://github.com/ocaml/ocaml/issues). + +The full changelog for OCaml 5.1.0 is available [on GitHub](https://github.com/ocaml/ocaml/blob/5.1/Changes). +A short summary of the two fixed bugs in this release candidate is also available below. + +--- +## Installation Instructions + +The base compiler can be installed as an opam switch with the following commands on opam 2.1 and later: +```bash +opam update +opam switch create 5.1.0~rc2 +``` + +The source code for the release candidate is also directly available on: + +* [GitHub](https://github.com/ocaml/ocaml/archive/5.1.0-rc2.tar.gz) +* [OCaml archives at Inria](https://caml.inria.fr/pub/distrib/ocaml-5.1/ocaml-5.1.0~rc2.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 ocaml-variants.5.1.0~rc2+options +``` +where `` 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.1.0~rc2+flambda+nffa ocaml-variants.5.1.0~rc2+options ocaml-option-flambda ocaml-option-no-flat-float-array +``` + +All available options can be listed with `opam search ocaml-option`.