Lwt 4.3.0 — preparing for 5.0.0

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

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:

  1. The signature of Lwt.async will become

    Lwt.async : (unit -> unit Lwt.t) -> unit

    See #603.

  2. 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!