55 lines
3.2 KiB
Markdown
55 lines
3.2 KiB
Markdown
# 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](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/consumers/publish.md),
|
|
[CLI reference](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/cli.md),
|
|
[publication record formats](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/integrations/publication-records.md),
|
|
and [consumer adoption guide](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/consumers/adoption.md)
|
|
for usage and recovery details.
|
|
|
|
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/COPYRIGHT) |
|
|
[LICENSE](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/LICENSE) |
|
|
[ATTRIBUTION](https://forge.maximumdirect.net/base-layer/releasekit/src/tag/v0.8.0/docs/oss/attribution.md)
|