* [Caml-list] Second beta release for OCaml 5.3.0
@ 2024-11-29 9:24 Florian Angeletti
0 siblings, 0 replies; only message in thread
From: Florian Angeletti @ 2024-11-29 9:24 UTC (permalink / raw)
To: caml-list
[-- Attachment #1: Type: text/plain, Size: 4866 bytes --]
Dear OCaml users,
One month after the release of the first beta for OCaml 5.3.0,
we are releasing a second and hopefully last beta release for OCaml 5.3.0 .
The most notable changes for this second beta are probably a handful of type system bugfixes.
In particular, those fixes revert a change of behaviour in the first beta when pattern matching GADTs with
non-injective type parameters.
We also have a C++ header compatibility fix and the restoration of some configuration
variable in Makefiles for the sake of backward compatibility.
Overall, the release is converging and we are expecting to have a first release candidate
around the middle of December. The progresses on stabilising the ecosystem are tracked on the
[opam readiness for 5.3.0 meta-issue](https://github.com/ocaml/opam-repository/issues/26596).
Meanwhile, the second beta release of OCaml 5.3.0 is here to help you update
your software and libraries ahead of the release (see below for the installation
instructions).
The full release is expected before the end of December.
If you find any bugs, please report them on OCaml's issue tracker:
https://github.com/ocaml/ocaml/issues
If you are interested in full list of features and bug fixes of the new OCaml version, the updated change log for OCaml 5.3.0 is available on GitHub:
https://github.com/ocaml/ocaml/blob/5.3/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.3.0~beta2
The source code for the beta is also available at these addresses:
* GitHub: https://github.com/ocaml/ocaml/archive/5.3.0-beta2.tar.gz
* OCaml archives at Inria: https://caml.inria.fr/pub/distrib/ocaml-5.3/ocaml-5.3.0~beta2.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 <switch_name> ocaml-variants.5.3.0~beta2+options <option_list>
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.3.0~beta2+flambda+nffa ocaml-variants.5.3.0~beta2+options ocaml-option-flambda ocaml-option-no-flat-float-array
All available options can be listed with `opam search ocaml-option`.
Changes since the first beta
-------------------------------------
Type system fixes
------------------------
- [#13501](https://github.com/ocaml/ocaml/issues/13501): Regression on mutually recursive types caused by [#12180](https://github.com/ocaml/ocaml/issues/12180).
Resuscitate Typedecl.update_type.
(Jacques Garrigue and Takafumi Saikawa, review by Florian Angeletti, Richard
Eisenberg and Gabriel Scherer)
- [#13495](https://github.com/ocaml/ocaml/issues/13495), [#13514](https://github.com/ocaml/ocaml/issues/13514): Fix typechecker crash while typing objects
(Jacques Garrigue, report by Nicolás Ojeda Bär, review by
Nicolas Ojeda Bär, Gabriel Scherer, Stephen Dolan, Florian Angeletti)
- [#13598](https://github.com/ocaml/ocaml/issues/13598): Falsely triggered warning 56 [unreachable-case]
This was caused by unproper protection of the retyping function.
(Jacques Garrigue, report by Tõivo Leedjärv, review by Florian Angeletti)
Configuration fixes
-------------------------
* (*breaking change*) [#12578](https://github.com/ocaml/ocaml/issues/12578), [#12589](https://github.com/ocaml/ocaml/issues/12589), [#13322](https://github.com/ocaml/ocaml/issues/13322), +[#13519](https://github.com/ocaml/ocaml/issues/13519): Use configured CFLAGS and CPPFLAGS *only*
during the build of the compiler itself. Do not use them when
compiling third-party C sources through the compiler. Flags for
compiling third-party C sources can still be specified at configure
time in the COMPILER_{BYTECODE,NATIVE}_{CFLAGS,CPPFLAGS}
configuration variables.
(Sébastien Hinderer, report by William Hu, review by David Allsopp)
C++ header compatibility
---------------------------------
- [#13541](https://github.com/ocaml/ocaml/issues/13541), [#13591](https://github.com/ocaml/ocaml/issues/13591): Fix headers for C++ inclusion.
(Antonin Décimo, review by Nick Barnes, report by Kate Deplaix)
Compiler library bug fix
-------------------------------
- [#13603](https://github.com/ocaml/ocaml/issues/13603), [#13604](https://github.com/ocaml/ocaml/issues/13604): fix source printing in the presence of the escaped raw
identifier `\#mod`.
(Florian Angeletti, report by Chris Casinghino, review by Gabriel Scherer)
[-- Attachment #2: Type: text/html, Size: 5879 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-11-29 9:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-29 9:24 [Caml-list] Second beta release for OCaml 5.3.0 Florian Angeletti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox