caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Florian Angeletti <florian.angeletti@inria.fr>
To: caml-list <caml-list@inria.fr>
Subject: [Caml-list] OCaml 4.14.0, second alpha release
Date: Wed, 9 Feb 2022 10:06:59 +0100 (CET)	[thread overview]
Message-ID: <630752073.2252125.1644397619093.JavaMail.zimbra@inria.fr> (raw)
In-Reply-To: <1390603013.13233975.1642755682071.JavaMail.zimbra@inria.fr>

[-- Attachment #1: Type: text/plain, Size: 4528 bytes --]

Dear OCaml users, 

The release of OCaml 4.14.0 is approaching. We have released a second alpha version to help fellow hackers join us early in our bug hunting and opam ecosystem fixing fun (see below for the installation instructions). 
You can see the progress on this front at https://github.com/ocaml/opam-repository/issues/20501 . 

If you find any bugs, please report them here: 

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

Compared to the last alpha release, we have exceptionally a new feature for writing future-compatible early thread exit in 4.14.0 . 
The second notable change is a major fix in the typechecker for escaping existential types when using GADTs, that might break existing code that relied on the broken types. However, there are currently no known instance of package broken by this change in the opam repository. 
The other fixes are more usual and should be fairly safe. 

With the current state of the opam ecosystem, we are expecting to have a first beta release ready soon. 

Happy hacking, 
Florian Angeletti for the OCaml team. 

Changes compared to the first alpha 
------------------------------------------------ 

The full list of new features and bug fixes, is available at: 

https://github.com/ocaml/ocaml/blob/4.14/Changes 

## New feature 

- #10951: Introduce the Thread.Exit exception as an alternative way to 
terminate threads prematurely. This alternative way will become 
the standard way in 5.00. 
(Xavier Leroy, review by Florian Angeletti) 

## Major new bug fix 

- #10907, #10959: Wrong type inferred from existential types 
(Jacques Garrigue and Gabriel Scherer, report by @dyzsr, review by Leo White) 

## New bug fixes 

+ #10596, +#10978: Add with_open_bin, with_open_text and with_open_gen to 
In_channel and Out_channel. Also, add In_channel.input_all. 
(Nicolás Ojeda Bär, review by Daniel Bünzli, Jérémie Dimino, Damien Doligez 
and Xavier Leroy) 

- #10839: Fix regression of #show when printing class type 
(Élie Brami, review by Florian Angeletti) 

- #10836, #10952: avoid internal typechecker errors when checking signature 
inclusion in presence of incompatible types. 
(Florian Angeletti, report by Craig Ferguson, review by Gabriel Scherer) 

## Deprecation fine tuning 

+ #10675, +#10937: Emit deprecation warnings when old C runtime function names 
are used. This will break C stub code that uses these old names and 
treats warnings as errors. The workaround is to use the new names. 
(Xavier Leroy and David Allsopp, review by Sébastien Hinderer and 
Damien Doligez) 

## Tools fine tuning 

- #10846: add the `-shape` command-line option to ocamlobjinfo. When reading a 
`cmt` file, shape information will only be shown if that option is used. 
(Ulysse Gérard, review by Florian Angeletti) 

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

opam update 
opam switch create 4.14.0~alpha2 --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~alpha2 

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.14.0~alpha2+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git 

or with opam 2.1: 

opam update 
opam switch create <switch_name> ocaml-variants.4.14.0~alpha2+options <option_list> 

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.14.0~alpha2+flambda+nffa ocaml-variants.4.14.0~alpha2+options ocaml-option-flambda ocaml-option-no-flat-float-array 

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

If you want to test this version, it is advised to install the alpha opam repository 

https://github.com/kit-ty-kate/opam-alpha-repository 

with 

opam repo add alpha git://github.com/kit-ty-kate/opam-alpha-repository.git 

This alpha repository contains various fixes in the process of being upstreamed. 

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

https://github.com/ocaml/ocaml/archive/4.14.0-alpha2.tar.gz 
https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.0~alpha2.tar.gz 

[-- Attachment #2: Type: text/html, Size: 5093 bytes --]

  reply	other threads:[~2022-02-09  9:07 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-21  9:01 [Caml-list] OCaml 4.14.0, first " Florian Angeletti
2022-02-09  9:06 ` Florian Angeletti [this message]
2022-02-22  8:52   ` [Caml-list] OCaml 4.14.0, first beta release Florian Angeletti
2022-03-17 13:49     ` [Caml-list] OCaml 4.14.0, second release candidate Florian Angeletti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=630752073.2252125.1644397619093.JavaMail.zimbra@inria.fr \
    --to=florian.angeletti@inria.fr \
    --cc=caml-list@inria.fr \
    --subject='Re: [Caml-list] OCaml 4.14.0, second alpha release' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).