Releases: ocsigen/lwt
Releases · ocsigen/lwt
Lwt 5.1.2
Lwt 5.1.1
Lwt 5.1.0
Lwt 5.0.1
Lwt 5.0.0, Lwt_ppx 2.0.0
Breaking
See #584 for an extended summary and discussion of this release as a whole, or individual issues for each change specifically.
- The callback passed to
Lwt.async
must now evaluate tounit Lwt.t
, rather than_ Lwt.t
(#603, requested @cfcs). Lwt.choose
,Lwt.nchoose
,Lwt.nchoose_split
,Lwt.pick
, andLwt.npick
now raiseInvalid_argument
if given the empty list (#557, Tim Reinke).- Catch nested calls to
Lwt_main.run
(#607, #609, prompted François-René Rideau). - Use the new
Lwt_unix.IO_vectors
inLwt_unix.recv_msg
andLwt_unix.send_msg
(#594, prompted Marcello Seri). - Make
Lwt_unix.Async_switch
a synonym forLwt_unix.Async_detach
(#572). - Remove the redundant
configure.ml
(#700). - PPX: remove support for general
[%lwt ...]
expressions (#527). - PPX: remove support for
Lwt_log
and the-log
option (#520). - PPX: remove the
-no-debug
option (#528).
Bugs fixed
- libev detection under esy (#755, Antonio Nuno Monteiro).
Lwt 4.5.0
Additions
- Implement
Lwt_unix.readv
andLwt_unix.writev
on Windows usingLwt_unix.read
andLwt_unix.write
(#745, requested Ulrik Strid). - Implement
Lwt_unix.wait4
on Android usingUnix.waitpid
, as on Windows (#752, @EduardoRFS). LWT_DISCOVER_ARGUMENTS=--verbose
flag, passed through environment variable, for debugging the feature discovery (configuration) process (#740).
Bugs fixed
- To help with
fork
, don't call back intoLwt_main
at process exit to call Lwt exit hooks when there are none (#737, prompted Martin Jambon). - Properly retain references to buffers in
Lwt_unix.readv
,Lwt_unix.writev
,Lwt_bytes.read
,Lwt_bytes.write
, andLwt_bytes.mincore
; the references could be released too early in rare circumstances (#742, prompted Olaf Hering). - Don't install a
SIGCHLD
handler when Lwt is linked in but not used (#738, requested Sam Goldman, additional information Waleed Khan). - Link with
-lpthread
on more platforms that support and require the flag (#748, Olivier Andrieu). - Fix syntax errors in feature test programs (#748, Olivier Andrieu).
- C warning with OCaml 4.10 (#751, @kit-ty-kate).
Miscellaneous
Lwt 4.4.0, Lwt_ppx 1.2.4
Additions
?suffix
argument forLwt_io.with_temp_file
andLwt_io.open_temp_file
(#724, requested Volker Diels-Grabsch).Lwt_io.with_temp_dir
andLwt_io.create_temp_dir
(#724, requested Volker Diels-Grabsch).
Changes
Lwt_io.establish_server
: increase default backlog from 5 toSOMAXCONN
(#731, suggested Konstantin Olkhovskiy).- PPX: use OCaml 4.09 ASTs to support recent features (074f679).
- PPX: deprecate
let%lwt
structure items (#733, prompted Didier Le Botlan).
Miscellaneous
Lwt 4.3.1
Bugs fixed
- Lwt clobbered backtraces (#714, 6e855b8, 4694853, reported Volker Diels-Grabsch).
Lwt_unix.fork
was broken on glibc 2.28 (#704, @ygrek).- Fix build with musl-gcc (#718, #719, reported Fabian Hemmer).
- Support more
Lwt_unix.madvise
options (#716, Anton Kochkov).
Miscellaneous
- Silence configure script (#717, requested Anil Madhavapeddy).
- Greatly sped up CI and tests.
Lwt 4.3.0, Lwt_ppx 1.2.3, Lwt_react 1.1.3
Planned to break in 5.0.0
For general discussion of breakage in Lwt 5.0.0, see #584. See #293 about how Lwt announces and does breaking changes.
- The signature of
Lwt.async
will change from(unit -> 'a Lwt.t) -> unit
to(unit -> unit Lwt.t) -> unit
(#603, prompted @cfcs). Lwt_unix.send_msg
andLwt_unix.recv_msg
will be changed to takeLwt_unix.IO_vectors.t
instead ofLwt_unix.io_vector
s (#702, prompted Marcello Seri).- Nesting calls to
Lwt_main.run
will be forbidden, and will raise anFailure
. Most programs don't do this (#609, prompted François-René Rideau). configure.ml
will be removed in favor of an improveddiscover.ml
This affects only users who are configuring Lwt as part of a manual installation (i.e., not users of opam or esy). Seediscover.ml
for usage (#700).Lwt_unix.async_method
will have no effect. In practice, it already does nothing, and has almost no users (#572).
The following planned breaking changes have already been announced:
Lwt.pick
will raiseInvalid_argument
on the empty list, instead of returning a forever-pending promise. Also applies toLwt.choose
,Lwt.npick
,Lwt.nchoose
, andLwt.nchoose_split
(#562, Tim Reinke, prompted Hezekiah Carty).- Remove translation of
[%lwt ...]
toLwt.catch
from the PPX (#527). - Remove
-no-debug
option from the PPX (#528). - Remove
Lwt_log
support from the PPX (#520).
Additions
Lwt_process
: allow setting working directory for new processes (#694, Thomas Leonard).- PPX: use OCaml 4.08 ASTs to support latest features (#697).
Lwt_io.NumberIO
: use compiler intrinsics for better performance (#178, requested Mauricio Fernandez).
Bugs fixed
- Race condition in
Lwt_react.S.limit
(4e592eb). - Use
fallback
rule during configuration (#693, Hongchang Wu). - Fix typos (#688, #692, @Fourchaux).