Dear OCaml users,

The release of OCaml 4.13.0 is imminent.
As a last test that everything is in order, we are publishing a first release
candidate for OCaml 4.13.0.

Compared to the last beta release, this release candidate includes one small fix
for flambda, another for the compiler-libs, one regression fix when compiling C
files with ocamlc or ocamlopt, and a handful of configuration and build system
improvements (in particular on Windows). See the changelog below for more details.

If you find any bugs, please report them here:

  https://github.com/ocaml/ocaml/issues

The release of OCaml 4.13.0 is currently planned for mid-September.
(An assembler generation bug was discovered this morning, we might release
another release candidate next week once this bug is fixed.)

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~rc1 --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~rc1+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~rc1+flambda+nffa --packages=ocaml-variants.4.13.0~rc1+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-rc1.tar.gz
 https://caml.inria.fr/pub/distrib/ocaml-4.13/ocaml-4.13.0~rc1.tar.gz

Changes since the first beta
----------------------------

## Bug fixes

- #10593: Fix untyping of patterns without named existential quantifiers. This
  bug was only present in the beta version of OCaml 4.13.0.
  (Ulysse Gérard, review by Florian Angeletti)

- #10603, #10611: Fix if condition marked as inconstant in flambda
  (Vincent Laviron and Pierre Chambart, report by Marcello Seri)

## Regression fix

+ #9960, #10619(new in rc1): extend ocamlc/ocamlopt's -o option to work when
  compiling C files
  (Sébastien Hinderer, reported by Daniel Bünzli, review by
  Florian Angeletti and Gabriel Scherer)

## Internal configuration and build system

- #10471: Fix detection of arm32 architectures with musl in configure.
  (Louis Gesbert, review by David Allsopp)

- #10451: Replace the use of iconv with a C utility to convert $(LIBDIR) to a
  C string constant on Windows when building the runtime. Hardens the generation
  of the constant on Unix for paths with backslashes, double-quotes and
  newlines.
  (David Allsopp, review by Florian Angeletti and Sébastien Hinderer)

- #10511: Cygwin ports now correctly configure when flexdll is not available.
  (David Allsopp, review by Florian Angeletti)

- #10584, #10856: Standard Library documentation build no longer fails if
  optional libraries have been disabled.
  (David Allsopp, report by Yuri Victorovich review by Florian Angeletti)

## Manual

- #10605: manual, name few css classes to ease styling and maintainability.
  (Florian Angeletti, review by Wiktor Kuchta and Gabriel Scherer)