-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lwt 3.0.0 breaking changes notice #308
Comments
|
Thanks @aantron - these are very clear and helpful deprecation messages :-) |
Avoids the upcoming breaking changes described here: ocsigen/lwt#308
@aantron this was super helpful, thanks for the in-depth descriptions of the changes, and tagging all the relevant maintainers. |
Done in preparation for the breaking changes coming in 3.0. More info: ocsigen/lwt#308
Lwt_unix.bind now returns a promise. Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Note that lwt.react has been renamed to lwt_react, see: ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Note that lwt.react has been renamed to lwt_react in both opam and findlib: ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Lwt_unix.bind now returns a promise. Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Lwt_unix.bind now returns a promise. Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Lwt_unix.bind now returns a promise. Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Lwt_unix.bind now returns a promise. Note the signature of `Conduit_lwt_server.listen` has had to change, to also return a promise. Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
These changes were committed by 3.0.0. Thanks to all downstream maintainers. Note that it is still possible to use the pre-3.0.0 APIs, by using the old versioned names (see issue main comment). However, users are encouraged to gradually switch to the 3.0.0 APIs. |
Note that lwt.react has been renamed to lwt_react in both opam and findlib: ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
The latest version of "bind" returns a promise. This new API version is available in version >= 2.7.0. Note the signature of `Conduit_lwt_server.listen` has had to change, to also return a promise. Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
The latest version of "bind" returns a promise. This patch continues to use the old version for now. Related to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
The latest version of "bind" returns a promise. This patch continues to use the old version for now. Related to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Lwt_unix.bind now returns a promise. This patch uses the versioned interface to retain compatability with lwt.2.7.0 (and greater) Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
IOCaml uses -strict-sequence, and the type of Lwt.bind has changed so that it no longer returns unit (ocsigen/lwt#308).
Lwt_unix.bind now returns a promise. This patch uses the versioned interface to retain compatability with lwt.2.7.0 (and greater) Rleated to ocsigen/lwt#308 Signed-off-by: David Scott <dave@recoil.org>
Lwt 3.0.0 will be released near 1 April with minor breaking changes to several APIs. This issue is for informing maintainers of OPAM packages that use those APIs.
Each API that is breaking has been given a deprecation warning in the recent 2.7.0 release. Versioned APIs are provided so you can optionally make a smooth transition. If you switch to one of the versioned APIs, you should add constraint
lwt {>= "2.7.0"}
. Otherwise, you should addlwt {< "3.0.0"}
to your current code.If you need to temporarily suppress a deprecation warning on an expression
e
, useI will cc the package maintainers once Lwt 2.7.0 and the factored-out packages are installable from OPAM.
Lwt_unix.bind
(Lwt_unix.bind should be in the monad #230, Cooperative Lwt_unix.bind (sockets) #296):Since
Lwt_unix.bind
currently evaluates to unit, and the newbind
internally has the same synchronous semantics except for Unix domain sockets, it is possible to do nothing if you are not using Unix domain sockets and use;
for sequencingbind
. However, you will start getting warnings like this after Lwt 3.0.0:The semantics are not guaranteed for the future, so this is not recommended.
Lwt_unix.bind
is used in packages:0install
arakoon
bencode_rpc
conduit
datakit
datakit-client
datakit-server
datakit-github
dht
dns-forward
imaplet-lwt
lwt-parallel
mirage-conduit
mirage-dns
mirage-net
mirage-net-direct
mirage-net-socket
mirage-tcpip-unix
mirage-tcpip-xen
nbd
obus
ocplib-concur
ocsigenserver
osc
protocol-9p
release
socket-daemon
tcpip
tls
typerex-lldb
utp
vhd-tool
vpnkit
xapi-idl
xentropyd
skkserv-lite
tlstunnel
receive-mail
iocaml
Lwt_io.establish_server
(Safer alternative to Lwt_io.establish_server #258, Replace establish_server by establish_server_safe #260):Lwt_io.establish_server
is used in packages:distributed
imaplet-lwt
mqtt
usbmux
Lwt_io.shutdown_server
(Lwt_io.shutdown_server should evaluate to a thread #259):Lwt_io.shutdown_server
is used in packages:distributed
imaplet-lwt
usbmux
Lwt_engine.libev
(Add support for selecting the libev backend #269):Lwt_engine.libev
is used indatakit
.Findlib packages
lwt.ssl
,lwt.glib
, andlwt.react
are being replaced by Findlib packageslwt_ssl
,lwt_glib
, andlwt_react
, available now in new OPAM packages with those same names.lwt.ssl
,lwt.glib
, andlwt.react
will be removed from OPAM packagelwt
in 3.0.0. See Begin factoring out Lwt_ssl, Lwt_glib, Lwt_react #301.The old (current) package names are used in:
0install
arakoon
conduit
eliom
imap
joolog
lambda-term
mirage-conduit
obus
ocsigenserver
usb
xe
xen-api-client
The text was updated successfully, but these errors were encountered: