• v0.12.31 7c4ea5045c

    v0.12.31 Stable

    pipeline-bot released this 2026-07-28 14:59:26 +00:00 | 10 commits to trunk since this release

    Fixed

    • Set lastRenewal when restoring a client from the cache storage entry.
      Restore() assigned authSecret but left lastRenewal at zero, and
      checkExpiry() treats it as an absolute timestamp — so the token's expiry
      horizon was measured from the Unix epoch and every restored client was
      declared expired. Client persistence therefore never survived an operator
      restart: each cache hit was discarded and re-logged-in.
    • Pass the error as an argument rather than as the format string in the
      lease-ID-changed Event. A lease ID containing a % verb would otherwise
      corrupt the rendered event.
    • Render the revoke-failure Event through the same sanitizer the status
      conditions use. Events are readable by anyone with get on the namespace
      while the Secret is not, so a raw client error there could surface an OpenBao
      response body.

    Removed

    • ErrEncryptionRequired and RemoveAllFinalizers — both had zero callers
      after the 07-24 static-analysis pass renamed/re-signed them.

    Included changes (v0.12.30 -> v0.12.31)

    • 8063b88634ed fix(secretsync): set lastRenewal on Restore so persisted clients aren't declared expired
    • 7c32d6456cfe chore(hygiene): sanitize two Events, drop two dead exports
    Downloads