capnp v0.5.0.0 Release Notes
ptrSectionAPIs have been ✂ removed.
structDataSizehas been replaced with
structWordCount, and new functions
structByteCount andstructPtrCount` have been added.
🚀 This release brings some improvements to the RPC API:
- ➕ Add
newPromiseClientfor creating a promise-based client that can be fulfilled later.
- 👉 Make
Clientan instance of
- Previously, there were a number of functions that had two variants:
foo, which ran in
fooSTM, which ran in
Now there is just one variant,
foo, which is polymorphic over
MonadSTM, defined by the
monad-stmpackage. There are instances of this class for
STM, and any monad transformer applied to an instance.
Note that previously some of the
foovariants were polymorphic over
MonadIO. Unfortunately it is not possible to define a general instance
MonadIO m => MonadSTM m, but for a particular mtl stack that has an instance of
MonadIO, you can fix the problem by defining:
instance MonadSTM MyStack where liftSTM = liftIO . liftSTM
Or, you can add
liftSTMto the appropriate call sites.
- ➕ Add