Files
releasekit/docs/releases/v0.8.0.md

3.2 KiB

ReleaseKit v0.8.0

Summary

ReleaseKit adds read-only recovery for source-publication attempts. It attempts to retain evidence before a tag push, lets operators discover and explicitly select a saved attempt, and observes the original destination without repeating candidate validation or changing tags. Source publication and hosted delivery continue to have separate outcomes.

Publication recovery

  • Publish returns reusable PublicationEvidence and attempts to save a private record. The result reports the saved path or a recording error separately from the publication outcome. Go callers can load or list records and reconcile retained evidence through the root facade.
  • The CLI adds publication-attempts for local discovery and reconcile for an explicitly selected record. Both support human-readable and structured output. publish --record-dir selects an alternate record directory, and failed publication can print a recovery command for the saved attempt.
  • Recovery uses the captured endpoint and full tag with current supported Git transport settings. It reports publication, current absence, conflict, or an unresolved observation. Current absence does not prove that a version was never published; published versions and their contents remain immutable.
  • Records preserve exact endpoint and path bytes. Ordinary UTF-8 evidence uses record format 1; format 2 preserves other bytes. Recovery diagnostics redact HTTP(S) URL userinfo, while private records and typed evidence can contain sensitive endpoints. Operators control record retention and removal.

Consumer tools and compatibility

The module path remains go.maximumdirect.net/releasekit, and the Go consumer minimum remains 1.26.0. Existing publication calls and release profiles remain supported. Publication now attempts to write a private record by default; a storage failure is reported separately and does not change the publication result. Applications handling results should inspect RecordError when a saved recovery handoff matters.

Consumers with the CLI registered as a Go tool in their module can run it with go tool releasekit. The maintained multi-module launcher and Woodpecker examples use the selected module's tool version. Register the CLI before generating a vendor tree when using a vendored tool. Older recovery CLIs that only support record format 1 cannot load format 2 records; use a CLI that supports format 2.

See the publication guide, CLI reference, publication record formats, and consumer adoption guide for usage and recovery details.

COPYRIGHT | LICENSE | ATTRIBUTION