Subject: CVS commit: pkgsrc/devel/ocaml-lwt
From: Jaap Boender
Date: 2017-07-11 13:06:54
Message id: 20170711110654.8006EFACB@cvs.NetBSD.org

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.

Files:
RevisionActionfile
1.29modifypkgsrc/devel/ocaml-lwt/Makefile
1.9modifypkgsrc/devel/ocaml-lwt/PLIST
1.4modifypkgsrc/devel/ocaml-lwt/buildlink3.mk
1.12modifypkgsrc/devel/ocaml-lwt/distinfo
1.3modifypkgsrc/devel/ocaml-lwt/options.mk