0.8.1 depends on a version of generic_array that has an unsoundness
bug.
The VarBlake2b hasher now gives us a Box<[u8]> instead of a Vec, which
meant it could no longer be passed straight to Identity::truncate in
ratman-identity. I noticed that that method took an Into<&Vec<u8>>,
which I don't think anything other than Vec actually implements --
other things implement Into<Vec<u8>>, but not Into<&Vec<u8>>. I think
the correct type to use here to allow a vec to be borrowed is
AsRef<[u8]> (which types like Box<[u8]> do actually implement), so
I've changed it to take that instead.
Identified with cargo-udeps. Thanks Milan for telling me about it!
I left irdest-gtk's dependency on irdest-sdk, because I figure it's
only a matter of time until that's used.
Thanks-to: Milan Pässler <milan@petabyte.dev>
Previously the basic frames were using capnproto to transport message
payloads. We had already changed the service layer protocols to use
json instead, but the underlying transport frames made things too
rigid to work on. This commit changes this, while also providing some
mechanisms to switch transport encoding in the future on a service by
service connection basis.
This commit may break the current RPC functionality, and more tests
are required to ensure that services can still be used.
This also means that service level protocols need to use a different
versioning mechanism to ensure backwards compatibility. A
`Capabilities` concept has been added, but is not yet used.