|
| 1 | +===== 2.7.0 (2017-01-03) ===== |
| 2 | + |
| 3 | +====== General ====== |
| 4 | + |
| 5 | + * Values of types a Lwt.t are now referred to as promises rather than threads |
| 6 | + (#300). The manual has not yet been updated. |
| 7 | + |
| 8 | +====== Breaking ====== |
| 9 | + |
| 10 | + * After this release, Lwt will switch to semantic versioning. Future breaking |
| 11 | + changes will first require deprecation, then a major version number increase |
| 12 | + (#293). |
| 13 | + * Lwt no longer supports OCaml 4.01 (#272). |
| 14 | + * Lwt_unix.fdatasync is no longer available on macOS. It was calling an |
| 15 | + undocumented system call on that system (#285, Jeremy Yallop). |
| 16 | + |
| 17 | +====== Planned to break in 3.0.0 ====== |
| 18 | + |
| 19 | + * APIs in this category have deprecation messages attached. The messages will |
| 20 | + be displayed if you recompile your code, and can also be seen in #308. |
| 21 | + * Lwt_engine.libev will have an argument for selecting the libev back end |
| 22 | + (#269, #294, Jeremy Yallop). |
| 23 | + * Lwt_io.establish_server will be replaced by a version that makes it |
| 24 | + difficult to leak file descriptors (#258, #260). |
| 25 | + * Lwt_io.shutdown_server will evaluate to a promise, which indicates when the |
| 26 | + close operation completes (#259). |
| 27 | + * Lwt_unix.bind will evaluate to a promise, since bind can block for Unix |
| 28 | + domain sockets (#296, requested David Sheets). |
| 29 | + * ocamlfind packages lwt.react, lwt.ssl, and lwt.glib will be replaced by the |
| 30 | + new lwt_react, lwt_ssl, and lwt_glib. These are now distributed in new OPAM |
| 31 | + packages with the same names, separately from OPAM package lwt (#301). |
| 32 | + |
| 33 | +====== Additions ====== |
| 34 | + |
| 35 | + * Lwt_unix.readv and Lwt_unix.writev - zero-copy scatter/gather I/O |
| 36 | + (#291, #299). |
| 37 | + * ?fail_on_error argument for Lwt_log.load_rules (#306, Daniil Baturin). |
| 38 | + * Lwt_log.level_of_string (#306, Daniil Baturin). |
| 39 | + |
| 40 | +====== Changes ====== |
| 41 | + |
| 42 | + * Lwt_stream.of_list, Lwt_stream.of_array, Lwt_stream.of_string now |
| 43 | + immediately push all elements into the created streams |
| 44 | + (#239, Spiros Eliopoulos). |
| 45 | + |
| 46 | +====== Deprecations ====== |
| 47 | + |
| 48 | + * Lwt_stream.map_exn in favor of Lwt_stream.wrap_exn, which uses OCaml's |
| 49 | + standard result type (#295). |
| 50 | + |
| 51 | +====== Bugs fixed ====== |
| 52 | + |
| 53 | + * Ungraceful failure if directory handle used after Lwt_unix.closedir (#292). |
| 54 | + * Buffer overflow in Lwt_unix.readdir and Lwt_unix.readdir_n (#292). |
| 55 | + * Unnecessary allocations in Lwt_unix.readdir_n (#292, found Jeremly Yallop). |
| 56 | + |
| 57 | +====== Miscellaneous ====== |
| 58 | + |
| 59 | + * Annotate existing deprecations with [@@ocaml.deprecated ...] (5737f5b). |
| 60 | + * Improvements to the examples (#288, Rich Neswold). |
| 61 | + * Documentation fixes, including by Rich Neswold. |
| 62 | + * New tests and various minor internal improvements. |
| 63 | + * Run tests in CI with all OCaml warnings enabled (dadb926). |
| 64 | + * Much cleaner build output. |
| 65 | + * Add scratch/ directory for local use by developers. |
| 66 | + |
1 | 67 | ===== 2.6.0 (2016-10-27) =====
|
2 | 68 |
|
3 | 69 | ====== Additions ======
|
|
0 commit comments