Releases: mirage/capnp-rpc
1.2.3
1.2.2
1.2.1
CHANGES:
-
Fix Fmt deprecation warnings (@tmcgilchrist #239).
-
Update to latest X509 and DNS APIs (@tmcgilchrist #240).
v1.2
CHANGES:
-
Don't crash if the peer disconnects before the bootstrap reply is ready (@talex5 #234).
When replying to a normal question we checked that the answer was still needed before trying to reply, but didn't for bootstrap requests. -
Replace
wait_until_settled
with saferawait_settled
(@talex5 #233).
wait_until_settled
makes it too easy to ignore errors. -
Require fmt >= 0.8.7 for
kstr
and set OCaml 4.08 as the minimum version everywhere (@talex5 #232).
Older versions aren't tested in CI because the unix and mirage packages require at least OCaml 4.08.
v1.1
CHANGES:
-
Update to latest X509, TCP and TLS APIs (@talex5 @hannesm #228).
-
Remove confusing debug details from
call_for_value_exn
errors (@talex5 #230).
The hidden information is now logged (at debug level) instead. -
Configure TCP keep-alives for incoming connections, not just outgoing ones (@talex5 #227).
This is needed when the client machine crashes without resetting the connection. -
Include version number in opam license field (@talex5 #226).
v1.0
v0.9.0
CHANGES:
-
Add connection progress indicator (@talex5 #220).
Clients can now useCapnp_rpc_unix.with_cap_exn
to show a progress indicator while waiting to connect.
It will use the log if enabled.
If not, but stderr is a tty, it shows a message while connecting and then erases it (if connecting takes longer than 0.5s).
If stderr is not a tty, it just prints a message there. -
Use
Mirage_crypto_rng_lwt.initialize
instead ofMirage_crypto_rng_unix.initialize
(@hannesm #217).
The former periodically feeds entropy to the RNG, while the latter seeds the RNG only once. -
Set TCP_KEEPIDLE=60 if possible (@talex5 #214).
Cap'n Proto connections tend to be long lived and we therefore turn on theSO_KEEPALIVE
option.
However, the default keepalive timeout of 2 hours is much too long for some networks.
In particular, Docker's libnetwork silently drops idle connections after about 10 minutes.
Windows support:
-
Prevent crash if ExtUnix wasn't built with sockopt (@MisterDA #218).
If ExtUnix isn't built with sockopt then the symbolhave_sockopt_int
isn't available and an exception is raised.
This may be the case on some environments (e.g., ExtUnix built with mingw-w64).
It is a workaround until support forTCP_KEEPIDLE
is added for these environments (e.g., using Winsock instead). -
Switch from "capnpc" to "capnp compile" (@talex5 #213).
capnpc
seems to be the old name, and isn't present on Windows.
Build changes:
-
Remove Travis and Dockerfile (@talex5 #220).
Travis is very slow and error-prone now, and ocaml-ci generates a working Dockerfile automatically for people who want it. -
Include transitive dependencies in opam files (@talex5 #219).
Patch generated by https://github.com/ocurrent/opam-dune-lint/ -
Require
tcpip.unix
specifically to get the checksum stubs linked (@hannesm #216).
v0.8.0
CHANGES:
Bug fixes and diagnostics:
-
Improve "Already resolved!" error message (@talex5, #209).
Show the state of the promise we were trying to set, and what we tried to set it to. -
Reject attempts to send after disconnecting (@talex5, #208).
-
Unix: don't leak FDs if
Network.connect
fails (@talex5, #206).
Also, useLwt
to open connections so we don't block the whole process.
New functions:
- Add
Sturdy_ref.with_cap
andwith_cap_exn
convenience functions (@talex5, #207).
Using the plainconnect
functions, it's easy to forget to release the live-ref at the end.
Build changes:
-
capnp-rpc-mirage: adapt test to tcpip 5.0.0 API (@hannesm, #205).
-
Switch tests to build in native code and use the test stanza (@avsm, #203).
Documentation: