• v0.8.0 23203f235c

    eric released this 2026-11-03 00:44:58 +00:00 | 0 commits to main since this release

    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

    Downloads