Skip to content

HydraCache 0.69.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 04:25
· 356 commits to main since this release
5def762

HydraCache 0.69.0

0.69 is primarily a conformance-evidence release. It adds no cache, lock, or wire-protocol feature,
but makes one DB correctness contract explicit: custom InvalidationOutbox implementations must
implement status_for_commit(namespace, commit_position) so receipt waits are commit-scoped rather
than namespace-wide.

Implemented evidence:

  • source-pinned, exact-outcome Hazelcast IMap/FencedLock expectations adapted to the narrow Java
    facade: 16 rows with per-row proof layers—13 passes, the documented non-reentrant and
    session-binding divergences, and loud unsupported entry processing; the gated command also runs
    that facade through the real Java HC/2 client and production daemon with two verified mTLS
    identities, plus production lease-expiry and Java recovery/session-loss contracts;
  • exact upstream provenance validation that downloads every cited Hazelcast/Moka source file from
    its pinned 40-character commit and proves that each manifest selector exists;
  • ten manifest-driven embedded-cache expectations derived from Moka, with complete row execution;
  • live HC/1 consumers compiled from the shipped v0.62.0, v0.62.1, and v0.63.0 library commits
    and run against the current daemon, plus the retained nine-row HC/2 compatibility prerequisite;
  • deterministic SQLite and PostgreSQL cached-vs-direct differentials backed by transactional
    InvalidationOutbox enqueue, the real outbox worker, and InvalidationWait; the concurrent
    SQLite writer is coordinated by logical commit position and retains exact post-quiescence
    equality plus a dropped-invalidation canary;
  • commit-scoped invalidation waits, three seeded 12-writer SQLite/PostgreSQL schedules, a real
    PostgreSQL dropped-invalidation sentinel, multi-language release-evidence selectors, and
    digest-pinned/time-bounded CI with retained diagnostics;
  • fail-closed dead-letter handling: a receipt whose commit has dead-lettered invalidations returns
    degraded and never satisfied, with in-memory, SQLite, and PostgreSQL regression coverage;
  • release-scoped manifests, canaries, fast/gated registries, CI lanes, and evidence ledger.
  • versioned READY_DAEMON_V1 process-fixture receipts shared by Rust producer/consumer code and
    asserted by current, retained, and external Java/Rust consumers; this closes the first PR-run
    regression caused by a stale field count;
  • self-contained Maven-reactor W1 canaries and best-effort dead-transport session cleanup during
    Java reconnect, plus ordered endpoint fallback when a stream closes before handshake, without
    weakening permanent logical session loss or retrying authentication/policy failures;
  • fail-loud admission that parses downloaded per-lane status artifacts and requires consistent pass
    outcomes for the exact release/head/base/tested SHA, plus an independent fast-evidence job,
    checkout equality enforcement, and child-process isolation;
  • a self-contained fast-evidence toolchain (cargo-nextest, cargo-deny, and verified full git
    history) that preserves the canonical pre-Nextest history checkpoint;
  • self-contained receipt bundles whose JUnit and differential artifacts are restored at their
    original target/-relative paths and re-hashed by final admission, with full tag history retained
    for the required published v0.68.0 compatibility baseline;
  • digest-pinned PostgreSQL 16.4/18 happy-path evidence, a bounded 24-seed floor-version soak, and a
    compiling downstream-style custom InvalidationOutbox migration fixture.

This draft becomes a shipped release note only after exact-candidate receipts satisfy
release-evidence --release 0.69 --require-ship.

The CI admission job consumes exact-candidate workspace, SQLx, Java, HC/1, PostgreSQL, and dynamic
canary receipts. A raw green job or a receipt from another commit is rejected.