Log message:
Updated package to latest version, 3.1.0, which includes some
infrastructure changes as well (packages for glib, react and ssl support
have been split off). Upstream changes include:
===== 3.1.0 (2017-07-19) =====
====== Additions ======
* Port to Jbuilder (#374, Andrew Ray).
* Lwt_io.establish_server_with_client_address (#346, Rudi Grinberg).
* Lwt_unix.getcwd (#403, Rapha?l Proust).
====== Planned to break in 4.0.0 ======
* Delete lwt.simple-top (#371).
* Delete Lwt_chan (#441).
====== Fixes ======
* Make Lwt_log functions tail-recursive (#348, Jan Doms).
* Make more of Lwt_list tail-recursive (#347, Jan Doms).
* Improve string messages in exceptions (#368, #382, Jan Doms, Rapha?l
Proust).
* Don't call Unix.set_nonblock or Unix.clear_nonblock unnecessarily on
some fds (#356, David Sheets).
* Lwt_unix.sleep and Lwt_unix.timeout returning too early when using
libev (#433, Stijn Devriendt).
* Lwt_sequence.fold_r iterating the wrong way in some cases (#405,
Stijn Devriendt).
* Build conflicts in some cases due to duplicate cst_to_constr
function (#362, J?r?mie Dimino).
* Don't use deprecated readdir_r system call (#430, Rapha?l Proust).
====== Miscellaneous ======
* The Lwt core, lwt.ml, has been thoroughly refactored and commented
(#354, reviewed Gabriel Radanne, Edwin T?r?k, Rapha?l Proust, Jan
Doms, Fabian Hemmer, Sebastien Mondet, Simon Cruanes, Anil
Madhavapeddy, Pierre Chambart, and many others).
* Lots of tests for most of the Lwt core (#339, #389, #392, #440,
#448, #450, Joseph Thomas, Ryan Slade).
* Documentation fixes (including by Joseph Thomas, Rapha?l Proust,
Richard Degenne, Stavros Polymenis).
* Contributing documentation (#379).
* Massively adjust whitespace for legibility (#400, #409, #416,
Richard Degenne).
* Improvements to CI (Etienne Millon, Raphael Rafatpanah, Zack Coker,
Yotam Barnoy).
* The additional packages lwt_ssl, lwt_react, lwt_glib get new minor
releases, the change being new Jbuilder build systems (#374, Andrew
Ray).
===== 3.0.0 (2017-04-10) =====
====== Breaking ======
* These changes were originally announced in release 2.7.0 (#308).
* Lwt_engine.libev now has an optional argument for selecting the libev back
end (#269, #294, Jeremy Yallop).
* Lwt_io.establish_server has been changed to make it more difficult to leak
file descriptors (#258, #260).
* Lwt_io.shutdown_server now evaluates to a promise, which completes when the
listening socket's close(2) operation completes (#259).
* Lwt_unix.bind now evaluates to a promise, because the bind(2) system call
can block for Unix domain sockets (#296, requested David Sheets).
* ocamlfind packages lwt.react, lwt.ssl, lwt.glib are replaced by lwt_react,
lwt_ssl, lwt_glib. These have been separate OPAM packages, under those
names, since 2.7.0 (#301).
|
Log message:
Update package to version 2.7.1. Changes include:
===== 2.7.1 (2017-04-08) =====
====== Fixes ======
* OCaml 4.05 compatibility (Mauricio Fernandez, #322).
* Give Lwt_unix.file_exists the same semantics as Sys.file_exists, with
respect to not raising Unix.Unix_error (Mauricio Fernandez, #316).
* Improve diagnostics from build scripts (Tim Cuthbertson, #313, #314).
====== Additions ======
* Announce Lwt_result, which was originally released as an experimental module
in release 2.6.0 (Simon Cruanes, #320, #247).
===== 2.7.0 (2017-01-03) =====
====== 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 ======
* APIs in this category have deprecation messages attached. The messages will
be displayed if you recompile your code, and can also be seen in #308.
* Lwt_engine.libev will have an argument for selecting the libev back end
(#269, #294, Jeremy Yallop).
* Lwt_io.establish_server will be replaced by a version that makes it
difficult to leak file descriptors (#258, #260).
* Lwt_io.shutdown_server will evaluate to a promise, which indicates when the
close operation completes (#259).
* Lwt_unix.bind will evaluate to a promise, since bind can block for Unix
domain sockets (#296, requested David Sheets).
* ocamlfind packages lwt.react, lwt.ssl, and lwt.glib will be replaced by the
new lwt_react, lwt_ssl, and lwt_glib. These are now distributed in new OPAM
packages with the same names, separately from OPAM package lwt (#301).
====== Additions ======
* Lwt_unix.readv and Lwt_unix.writev - zero-copy scatter/gather I/O
(#291, #299).
* ?fail_on_error argument for Lwt_log.load_rules (#306, Daniil Baturin).
* Lwt_log.level_of_string (#306, Daniil Baturin).
====== Changes ======
* Lwt_stream.of_list, Lwt_stream.of_array, Lwt_stream.of_string now
immediately push all elements into the created streams
(#239, Spiros Eliopoulos).
====== Deprecations ======
* Lwt_stream.map_exn in favor of Lwt_stream.wrap_exn, which uses OCaml's
standard result type (#295).
====== 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.
===== 2.6.0 (2016-10-27) =====
====== Additions ======
* Lwt_stream.closed and Lwt_stream.is_closed (#223, Spiros Eliopoulos).
* Lwt_switch.with_switch (#256, Thomas Leonard).
* Define 'a Lwt.result as ('a, exn) result (#247, Simon Cruanes).
* Lwt_condition.broadcast_exn (#241, Nicolas Ojeda Bar).
* Lwt_unix.utimes (#193).
====== Bugfixes ======
* Memory leak in Lwt_unix.readdir_n (#229, diagnosed Thomas Leonard).
* Memory leak in Lwt.protected (#56, #181, reported @ygrek, Mauricio
Fernandez).
* Lwt_switch.turn_off hook exception handling (995b704).
* Handling of ENOTCONN when channels passed to handler of
Lwt_io.establish_server are closed (95fb431).
* Duplicate exceptions on implicit close in Lwt_io.with_connection (b1afe45).
* Deadlock in Lwt_main.at_exit (#48, #114, reported Jérôme Vouillon, Vincent
Bernardoff).
* Performance of Lwt_preemptive.detach (#218, #219, Mauricio Fernandez).
* Bad hash functions for libev loops (#146, reported Mark Christiaens).
* Hash of uninitialized data in Lwt_io (#217, reported Jeremy Yallop).
* Update log sections after Lwt_log.load_rules (#188, reported @rand00).
* Print three digits for milliseconds in Lwt_log (#264, Fabian Hemmer).
* Do not truncate Unix job notification ids in C (#277, diagnosed
@stijn-devriendt).
====== Deprecations ======
* Lwt_stream.on_termination: bind on Lwt_stream.closed instead.
* Lwt.make_value, Lwt.make_error: use result's Ok and Error constructors.
* Lwt_pqueue, Lwt_sequence: use min-heaps and linked lists from another
library (#135).
* Pa_lwt, Pa_lwt_log: use Ppx_lwt.
====== Miscellaneous ======
* Update examples to use PPX syntax instead of Camlp4 (#108, Peter Zotov).
* Set up Travis, AppVeyor for testing on Linux, OS X, Cygwin, and MinGW. MSVC
also planned.
* Large amount of local documentation fixes (Hezekiah Carty, Etienne Millon,
Leo Wzukw, Sebastien Mondet, reports by others).
* A bunch of new tests.
|