HydraCache 0.49.0
HydraCache 0.49.0
0.49.0 adds the ecosystem and external-consumer slice: a long-running
external server surface, stable versioned client wire protocol, Hibernate L2
contract, Rust/Python SDK conformance, Java/Spring migration guidance,
multi-tenant isolation, data-residency policy, and consumer-facing observability.
The release turns HydraCache from an embeddable Rust cache into a shared backend
that non-Rust services can use safely. It does not add a general CP subsystem,
distributed transactions, remote code execution, or unbounded event streaming.
Highlights
- Added the external client route boundary and threat model for
/client/v1/*,
with explicit lifecycle tests on the server surface. - Added the
hydracache-client-protocolcrate with versioned request/response
frames, fixture tests, loud version rejection, and stable operation/error
contracts. - Added Axum client transport coverage for authenticated external client
requests and response decoding. - Added a Hibernate second-level cache contract (the Rust-side request-shaping
inhydracache_client_protocol::hibernate) and migration documentation for
Java/Spring users moving from Hazelcast-style backends. The Java
hydracache-hibernateRegionFactoryartifact is planned, not shipped here
(seedocs/technical-debt/TD-0005-…). - Added SDK conformance coverage through
hydracache-client, including
repeatable fixtures that non-JVM SDKs must match. - Added tenant quotas, namespace admission, fair-share/backpressure behavior,
and residency pinning so external consumers cannot silently escape placement
or capacity policy. - Added consumer-facing metrics, bounded labels, and audit events for external
client access.
Verification
Focused gates:
cargo test -p hydracache-server --locked client_surface_lifecycle
cargo test -p hydracache-client-protocol --locked fixtures
cargo test -p hydracache-client-protocol --locked protocol
cargo test -p hydracache-client-protocol --locked hibernate_contract
cargo test -p hydracache-client-transport-axum --locked client_surface
cargo test -p hydracache-client --locked conformance
cargo test -p hydracache-client-protocol --locked java_migration_contract
cargo test -p hydracache --locked multitenancy
cargo test -p hydracache --locked residency
cargo test -p hydracache-observability --locked consumer_observability
cargo test -p hydracache --locked fault_injector_selftestFull gate used during the release work:
cargo fmt --all -- --check
cargo test --workspace --all-targets --locked
cargo test -p hydracache --all-targets --locked --features durable-values,tiered-values,testing
cargo test -p hydracache-cluster-raft --all-targets --locked --features durable-log
cargo test --doc --workspace --lockedScope Boundary
This is an external-consumer release, not a replacement for application
authorization, database transactions, or platform networking policy. Client
protocols are versioned and bounded; SDKs and Java migration contracts are
conformance surfaces over the shipped cache/grid behavior.
Release Status
Published as 0.49.0 after the focused gates above and staged package
verification.