Dear OCaml users, The release of OCaml 4.14.0 is close. The set of new features has been stabilized, and most opam packages already work with this release. 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 at: https://github.com/ocaml/ocaml/issues The full release of OCaml 4.14.0 is currently expected for the middle of March. Compared to the last alpha, we have a last minute correction for one of the new function in the Seq module, some documentation improvements, and few configuration and internal tweaks. 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.14.0~beta1 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git With opam 2.1, the previous command line can be simplified to opam update opam switch create 4.14.0~beta1 If you want to tweak the configuration of the compiler, you can switch to the option variant with: opam update opam switch create --packages=ocaml-variants.4.14.0~beta1+options, --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git or with opam 2.1: opam update opam switch create ocaml-variants.4.14.0~beta1+options where is a comma separated list of ocaml-option-* packages. For instance, for a flambda and no-flat-float-array switch: opam switch create 4.14.0~beta1+flambda+nffa ocaml-variants.4.14.0~beta1+options ocaml-option-flambda ocaml-option-no-flat-float-array All available options can be listed with "opam search ocaml-option". The source code for the beta is also available at these addresses: https://github.com/ocaml/ocaml/archive/4.14.0-beta1.tar.gz https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.0~beta1.tar.gz Changes compared to the last alpha ------------------------------------------------ The full list of changes for OCaml 4.14 is available at https://github.com/ocaml/ocaml/blob/4.14/Changes ## Standard library +* #10583, +#10998: Add over 40 new functions in Seq. (François Pottier and Simon Cruanes, review by Nicolás Ojeda Bär, Daniel Bünzli, Naëla Courant, Craig Ferguson, Wiktor Kuchta, Xavier Leroy, Guillaume Munch-Maccagnoni, Raphaël Proust, Gabriel Scherer and Thierry Martinez) ## Documentation - #10397: Document exceptions raised by Unix module functions on Windows (Martin Jambon, review by Daniel Bünzli, David Alsopp, Damien Doligez, Xavier Leroy, and Florian Angeletti) - #10794: Clarify warning 57 (Ambiguous or-pattern variables under guard) (Wiktor Kuchta, review by Gabriel Scherer) ## Build system - #10828 Build native-code compilers on OpenBSD/aarch64 (Christopher Zimmermann) - #10835 Disable DT_TEXTREL warnings on x86 32 bit architecture by passing -Wl,-z,notext in mksharedlib and mkmaindll. Fixes relocation issues, reported in #9800, making local patches in Debian, Alpine, and FreeBSD superfluous. (Hannes Mehnert with Kate Deplaix and Stéphane Glondu, review by Xavier Leroy) ## Code generation - #10719: Ensure that build_apply respects Lambda.max_arity (Stephen Dolan, review by Xavier Leroy) ## Internal/compiler-libs + #10718, +#11012: Add "Shape" information to the cmt files. Shapes are an abstraction of modules that can be used by external tooling to perform definition-aware operations. (Ulysse Gérard, Thomas Refis and Leo White, review by Florian Angeletti)