Releases: monax/hoard
Releases · monax/hoard
v9.1.0
Fixed
- [JS] Streaming functions in JS client would swallow all GRPC errors and instead throw on a null exception on getHead for the first frame of messages, now we wait for error message and reject with that message
Added
- [JS] Convenience methods for serialising and deserialising grants to base64 so grants can be treated as opaque identifiers
v9.0.0
This is a fairly major release and the client APIs change significantly. However Grant v2s are still supported and the protobuf API is backwards-compatible.
Added
- [Hoard] Grants store the refs to their chunks in a new LINK ref type that is followed during dereferencing (Get, UnsealGet, Decrypt). Version 4 grants always store a single LINK ref. This LINK ref is guaranteed to be unique to the Grant (and therefore grants are now unique). This means UnsealDelete can be safely called without the risk of deleting data still referenced by other grants. This also means grants are not linear in the number of chunks used to store them which keeps grants in constant size.
- [Hoard] Refs now store the size of the plaintext data stored behind them. This allows for easier random access and predictable downloads.
- [Hoard] Added regression test to check grant-to-plaintext compatibility between versions.
Changed
- [JS] Move to pure-js @grpc/grpc-js library
- [JS] Expose more usable methods from the client (breaking)
- [JS] Support streaming versions of calls taking BytesLike
- [Hoard] Make default storage ChunkSize 3 MiB
- [Hoard] Body can be sent in same message as MustPlaintext Header (but Header data will be normalised out into first message on storage and retrieval)
- [Hoard] Grants now encode their references using Protobuf rather than JSON (backwards compatible with grant V2)
Fixed
- [Hoard] Blocking read-then-write write-then-read usage
- [Hoard] Unnecessary copying for streams
- [Hoard] Encrypt endpoints not chunking
- [Cloud] Stat now explicitly checks for NotFound error for Exists flag, and throws other errors
v8.2.3
Added
- ReadHeader will stop once it gets the head
v8.2.2
Fixed
- Chunk plaintext out if data too big
v8.2.1
Fixed
- Convergent encryption nonce is now specified
v8.2.0
Changed
- Grant json now uses lowercase field names for compatability with client lib
v8.1.0
Changed
- Header now specifies arbitrary data payload
v8.0.2
Fixed
- NPM package.json now includes proto defs and README
v8.0.1
Fixed
- NPM publish via auth token
v8.0.0
Fixed
- Symmetric grants are now versioned to preserve backwards compatability