First beta release of OCaml 4.13.0

The release of OCaml 4.13.0 is getting closer.

The set of new features has been stabilized, and core opam packages already
work with this release (see http://check.ocamllabs.io). After two alpha releases,
we have created a first beta version to help you update your softwares and libraries
ahead of the release.

If you find any bugs, please report them here:

Issues · ocaml/ocaml · GitHub

The full release of OCaml 4.13.0 is currently planned for September.

Happy hacking,
Florian Angeletti for the OCaml team.

Installation instructions

The base compiler can be installed as an opam switch with the following commands

opam update
opam switch create 4.13.0~beta1 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

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

opam update
opam switch create <switch_name> --packages=ocaml-variants.4.13.0~beta1+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

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

opam switch create 4.13.0~beta1+flambda+nffa --packages=ocaml-variants.4.13.0~beta1+options,ocaml-option-flambda,ocaml-option-no-flat-float-array --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git

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

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

https://github.com/ocaml/ocaml/archive/4.13.0-beta1.tar.gz
https://caml.inria.fr/pub/distrib/ocaml-4.13/ocaml-4.13.0~beta1.tar.gz

Changes since the last alpha release

  • 10549: Stack overflow detection and naked pointers checking for ARM64
    (Xavier Leroy, review by Stephen Dolan)

  • 10442, 10446: Fix regression in the toplevel to #directory caused by
    corrections and improvements to the Load_path in 9611. #directory now
    adds the path to the start of the load path again (so files in the newly
    added directory take priority).
    (David Allsopp, report by Vasile Rotaru, review by Florian Angeletti
    and Nicolás Ojeda Bär)

  • 10450, 10558: keep %apply and %revapply primitives working with abstract
    types. This breach of backward compatibility was only present in the alpha
    releases of OCaml 4.13.0 .
    (Florian Angeletti, review by Thomas Refis and Leo White)

  • 10380: Correct handling of UTF-8 paths in configure on Windows
    (David Allsopp, review by Sébastien Hinderer)

  • 10543: Fix Ast_mapper to apply the mapping function to the constants in
    “interval” patterns c1..c2.
    (Guillaume Petiot, review by Gabriel Scherer and Nicolás Ojeda Bär)

  • 10550, 10551: fix pretty-print of gadt-pattern-with-type-vars
    (Chet Murthy, review by Gabriel Scherer)

  • 10497: Styling changes in the post-processed HTML manual (webman)
    (Wiktor Kuchta, review by Florian Angeletti)

13 Likes

Will this change be included in ocaml 4.13? I haven’t found it in changes file on 4.13 branch
10195: Speed up GC by prefetching during marking (Stephen Dolan, review by Xavier Leroy, Guillaume Munch-Maccagnoni, Jacques-Henri Jourdan and Damien Doligez

No, this change was only merged few days ago. It will be hopefully part of the next release (4.14).

2 Likes

Isn’t 4.13 the last release in 4.* branch?

The release calendar of OCaml 5 is still not fixed. Independently of this release of OCaml 5, we will maintain an independent OCaml 4 branch for some time.

3 Likes