v0.4.0
CHANGES:
Breaking changes:
-
Wrap errors with the
`Capnp
tag to make it easier to compose with other types of error (#172, #173). -
Prefix all command-line options with
capnp-
(#163).
e.g.--listen-address
is now--capnp-listen-address
.
The old names were confusing for applications that supported other protocols too (e.g. a web server).
New features:
-
Add
Capability.with_ref
convenience function (#170).
This automatically callsdec_ref
when done. -
Add Unix
Cap_file
module to load and saveSturdy_refs
(#165).
In particular, this ensures that saved cap files get a mode of0o600
, since they contain secrets. -
Export cmdliner network address parsing (#165).
This is useful if you don't want to use the default option parsing.
For example, if you want to make Cap'n Proto an optional feature of your program. -
Upgrade from
uint
(which is deprecated) to the newerstdint
(#166, #168).
The latest version ofuint
is just a wrapper aroundstdint
,
so this shouldn't break anything if you are using the latest version. -
Put cmdliner options in their own man-page section (#163).
UseCapnp_rpc_unix.manpage_capnp_options
to control where in your man-page
they appear. -
Enable
SO_KEEPALIVE
for TCP connections (#167).
For use with Docker's libnetwork, try something like this in yourstack.yml
:sysctls: - 'net.ipv4.tcp_keepalive_time=60'
Bug fixes:
-
Close listening socket when shutting down a vat (#171).
-
Don't mark secret keys as executable (#164).
-
Update README example to use dune (#162).
Build changes: