Lwt 2.7.0

@aantron aantron released this Jan 3, 2017 · 533 commits to master since this release

General

  • Values of types 'a Lwt.t are now referred to as promises rather than threads (#300). The manual has not yet been updated.

Breaking

  • After this release, Lwt will switch to semantic versioning. Future breaking changes will first require deprecation, then a major version number increase (#293).
  • Lwt no longer supports OCaml 4.01 (#272).
  • Lwt_unix.fdatasync is no longer available on macOS. It was calling an undocumented system call on that system (#285, Jeremy Yallop).

Planned to break in 3.0.0

Additions

Changes

Deprecations

Bugs fixed

  • Ungraceful failure if directory handle used after Lwt_unix.closedir (#292).
  • Buffer overflow in Lwt_unix.readdir and Lwt_unix.readdir_n (#292).
  • Unnecessary allocations in Lwt_unix.readdir_n (#292, found Jeremly Yallop).

Miscellaneous

  • Annotate existing deprecations with [@@ocaml.deprecated ...] (5737f5b).
  • Improvements to the examples (#288, Rich Neswold).
  • Documentation fixes, including by Rich Neswold.
  • New tests and various minor internal improvements.
  • Run tests in CI with all OCaml warnings enabled (dadb926).
  • Much cleaner build output.
  • Add scratch/ directory for local use by developers.