Dear OCaml users, With most developer tools available and the good stability of the compiler, I am happy to announce the first beta release of OCaml 5.5.0. Compared to the last alpha, this new version improves the manpage for ocamlopt and fixes: - two runtime bugs (for ephemerons and the bytecode interpreter) - two type system bugs (for classes and module-dependent functions) - three warning or error message bugs (See the Changelog below for a full list). Concerning the associated compiler tools, most of them are already available (as least in a preview version), and there are patches in progress for the missing ones. You can track the last remaining update efforts on https://github.com/ocaml/opam-repository/issues/29463 Thus, it should be safe to test your libraries and programs with the new version OCaml 5.5.0 version in preparation of the final release. If everything goes well, we might see a release in May. If you find any bugs, please report them here: https://github.com/ocaml/ocaml/issues If you are interested by the full list of new features and bug fixes, the updated change log for OCaml 5.5.0 is available at: https://github.com/ocaml/ocaml/blob/5.5/Changes Happy hacking, Florian Angeletti for the OCaml team. Installation Instructions -------------------------- The base compiler can be installed as an opam switch with the following commands on opam 2.1 and later: opam update opam switch create 5.5.0~beta1 The source code for the beta is also available at these addresses: * GitHub: https://github.com/ocaml/ocaml/archive/5.5.0-beta1.tar.gz * OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.5/ocaml-5.5.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: opam update opam switch create ocaml-variants.5.5.0~beta1+options where `option_list` is a space separated list of `ocaml-option-*` packages. For instance, for a flambda and no-flat-float-array switch: opam switch create 5.5.0~beta1+flambda+nffa ocaml-variants.5.5.0~beta1+options ocaml-option-flambda ocaml-option-no-flat-float-array All available options can be listed with `opam search ocaml-option`. Changes compared to the last alpha ----------------------------------------------- * Documentation Update - #14684(https://github.com/ocaml/ocaml/issues/14684): Improve ocamlopt's manual page (Samuel Hym, review by Florian Angeletti) * Runtime Fixes - #14644(https://github.com/ocaml/ocaml/issues/14644), #14647(https://github.com/ocaml/ocaml/issues/14647): Fix a bug related to unhandled effects in bytecode. (Vincent Laviron, report by Thibaut Mattio, review by Nicolás Ojeda Bär, Stephen Dolan and Olivier Nicole) - #14349(https://github.com/ocaml/ocaml/issues/14349), #14718(https://github.com/ocaml/ocaml/issues/14718): runtime, fix in the orphaning of ephemerons (Gabriel Scherer, review by Olivier Nicole and Damien Doligez, report by Jan Midtgaard) * Type System Fixes - #14557(https://github.com/ocaml/ocaml/issues/14557), #12150(https://github.com/ocaml/ocaml/issues/12150), #14696(https://github.com/ocaml/ocaml/issues/14696): ensure that the self type of class cannot escape through type constraints. (Leo White, review by Florian Angeletti) - #14667(https://github.com/ocaml/ocaml/issues/14667): enable application related warnings for module-dependent functions (Florian Angeletti, review by Gabriel Scherer) * Error Messages and Warning Fixes - #14690(https://github.com/ocaml/ocaml/issues/14690): Fix `Name_type_mismatch` error message when the expected type is an alias: print the expanded path on the right-hand side of the equality, not the alias twice. (Weixie Cui, review by Florian Angeletti) - #14719(https://github.com/ocaml/ocaml/issues/14719), #14721(https://github.com/ocaml/ocaml/issues/14721): compute arity correctly for module-dependent function (Florian Angeletti, report by Jeremy Yallop, review by Stefan Muenzel) - #14655(https://github.com/ocaml/ocaml/issues/14655), #14691(https://github.com/ocaml/ocaml/issues/14691): check for size overflow in caml_ba_reshape (Stephen Dolan, review by Xavier Leroy)