./devel/ocaml-lwt, Cooperative threading library for OCaml

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.1.0nb2, Package name: ocaml-lwt-3.1.0nb2, Maintainer: jaapb

The Lwt (Light-Weight Threading) library is a cooperative threading library for
OCaml.


Required to run:
[lang/ocaml] [devel/ocaml-findlib] [misc/ocaml-opam] [devel/ocaml-cppo] [devel/ocaml-result] [devel/ocaml-jbuilder] [devel/ocaml-migrate-parsetree] [devel/ocaml-ppx_tools_versioned]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 5579bf45f8d13409fb0b0d161e7bf4c1a5a64688
RMD160: cc767e4a0d33621b78838f3864151ea9cc7d9158
Filesize: 278.622 KB

Version history: (Expand)


CVS history: (Expand)


   2018-01-10 17:53:15 by Jaap Boender | Files touched by this commit (107) | Package updated
Log message:
Recursive revbump associated with the update to OCaml 4.06.
   2018-01-07 14:04:44 by Roland Illig | Files touched by this commit (583)
Log message:
Fix indentation in buildlink3.mk files.

The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.

There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
   2017-09-08 18:54:31 by Jaap Boender | Files touched by this commit (3)
Log message:
Stubs file installed in right location
   2017-09-08 14:57:35 by Jaap Boender | Files touched by this commit (1)
Log message:
Somehow this didn't get committed earlier
   2017-09-08 14:45:33 by Jaap Boender | Files touched by this commit (6) | Package updated
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).
   2017-07-11 13:06:54 by Jaap Boender | Files touched by this commit (5) | Package updated
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.
   2016-12-30 12:17:03 by Jaap Boender | Files touched by this commit (89) | Package updated
Log message:
Recursive revbump associated with ocaml update to 4.04.
   2016-06-25 16:18:35 by Jaap Boender | Files touched by this commit (2) | Package updated
Log message:
Updated package to use ocaml.mk framework. No upstream changes.