Skip to content

Releases: faustbrian/go-lease

github.com/faustbrian/go-lease v1.0.0

Choose a tag to compare

@faustbrian faustbrian released this 26 Aug 06:14

1.0.0 - 2026-08-25

Changed

  • Exclude intentional nested modules from root local-proxy archives so local,
    bootstrap, CI, and public module checksums describe the same source
    boundary.

  • Track the pinned documentation-tool lockfile so clean CI checkouts install
    the exact validated cspell dependency.

  • Reconcile standalone dependency checksums against deterministic current
    module archives so CI, local verification, and release consumers resolve
    identical content.

  • Harden standalone documentation validation with deterministic spelling and
    link checks, package-specific documentation gates, and repository-local
    contributor guidance.

Documentation

  • Link the package README to the repository-wide Golib documentation portal.

Changed

  • Publish the module from its standalone github.com/faustbrian/go-lease identity while preserving its documented API and behavior.
  • Remove unused CLI-related indirect dependencies from canonical module
    metadata.
  • Normalize owned sibling requirements to the unpublished local v0.0.0
    source proxy so repository manifests contain no stale pseudo-versions.
  • Refresh owned-module checksums against the final consolidated archives.
  • Normalized standalone module metadata against the canonical owned dependency
    graph, including complete checksums for clean consumer resolution.

Added

  • Opaque Valkey ownership guards for atomic protected cache publication without
    exposing logical lease identities.
  • Handle ownership snapshots for composing bounded client acquisition with
    protected adapters without reconstructing lease records.
  • Fenced lease model with bounded acquisition and managed renewal.
  • Deterministic memory reference backend.
  • Native Valkey 9 backend with atomic server-time scripts.
  • Native PostgreSQL backend with durable fence history and migrations.
  • Queue, scheduler, service, and redacted observation integrations.
  • Conformance, race, fuzz, mutation, benchmark, coverage, and operations gates.
  • Disposable mutation checks for Valkey and PostgreSQL identity predicates.
  • Restart-continuity and destructive-reset phases in the backend fault gate.
  • Snapshot-rollback detection and Valkey replica-promotion evidence.
  • Physical PostgreSQL replica-promotion fencing evidence.
  • Valkey TLS trust, named ACL, and password rotation fault evidence.
  • PostgreSQL transaction, cleanup, pool, isolation, and rolling-schema faults.
  • Compatible and fail-closed incompatible Valkey rolling-script evidence.
  • Direct queue and scheduler cancellation-on-loss evidence.
  • Race-tested transactional protected-write fencing example.
  • Blocking shuffled lifecycle stress gate and report.
  • Disposable PostgreSQL replica authentication for the failover gate.
  • Eager Valkey TLS rejection handling in the credential-rotation gate.
  • Formal acquisition, handle, successor, and continuity epoch contracts.
  • Full mutation and backend-fault gates before tagged release publication.

Fixed

  • Keep the conformance setup lease valid while slower durable backends prove
    contention before exercising the separate short-lived renewal boundary.
  • Validate the binary API export baseline with the canonical apidiff gate
    instead of interpreting it as a text symbol list.
  • Resolve internal Golib dependencies from the content-bound local source
    proxy until the dependency-ordered v1.0.0 tags are published.
  • Bound acquisition waits independently from injectable clock anomalies.
  • Prevent observer re-entrancy from deadlocking handle state transitions.
  • Reject corrupt or incompatible successful responses that change ownership.
  • Redact backend cause text while preserving programmatic error identity.
  • Isolate blocking observers behind bounded best-effort callback slots.
  • Report PostgreSQL fence exhaustion as a permanent unavailable state.
  • Bound handle admission with a conservative local monotonic deadline.

Release integrity

  • Source commit: 18cbc080da4f583ae4c78d2f4d184a970ef607dd
  • Exact-head CI: https://github.com/faustbrian/go-lease/actions/runs/32918210172
  • Release dry-run: urn:sha256:beefe33a59b0e571b85ab45989b7b0c86e4647944c05e7859e0d98038ae49ab3
  • Assets include a CycloneDX SBOM, SLSA v1 in-toto provenance, and SSH-signed checksums.

Verify the checksum attestation with:

ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS