We are pleased to announce release 4.3.0 of Lwt, the promise and concurrent I/O library. It is now installable from opam:

opam update && opam upgrade lwt

GitHub ocsigen/lwt OCaml promises and concurrent I/O. Contribute to ocsigen/lwt development by creating an account on GitHub.

Lwt 4.3.0 is a relatively small release, offering a few improvements. However, it announces several new breaking changes for the upcoming Lwt 5.0.0. Everything is detailed in the full changelog. Lwt 5.0.0 is planned for November 2019, three months from now.

The breaking changes are relatively minor and should affect few users. About half are simply removing unused features, some of which are experimental features that never matured.

There are two breaking changes planned for 5.0.0 that are probably relevant to everyone:

The signature of Lwt.async will become Lwt.async : (unit -> unit Lwt.t) -> unit See #603. Lwt.choose , Lwt.pick , and similar functions, will raise Invalid_argument if called with an empty list. Right now, they return a promise that never resolves. See #562.

Happy concurrent programming!