4.0.0 is a major release that breaks quite a few interfaces, such as:
* Delete package lwt.ppx. The PPX syntax is in package lwt_ppx since
Lwt 3.2.0.
* Remove >> syntax from the PPX.
* Delete modules Lwt_log, Lwt_daemon, Lwt_log_core, and package lwt.log.
These are in package lwt_log since Lwt 3.2.0, but it is recommended to
use Logs_lwt from the logs library instead (initiated Hannes Mehnert).
* Delete package lwt.preemptive. It is an alias for lwt.unix since
Lwt 3.2.0.
* Delete package lwt.syntax. The Camlp4 syntax is in package lwt_camlp4
since Lwt 3.2.0.
* Delete module Lwt_chan, a predecessor of Lwt_io.
* Delete package lwt.simple-top, a predecessor of utop.
* Make resolvers (Lwt.u) contravariant.
(for an upgrade path see the upstream Github site)
4.0.1 is a bugfix release.