Skip to content

docs: add an upgrade guide for breaking changes - #377

Merged
ffumero2003 merged 1 commit into
mainfrom
docs-issue-314-upgrade-guide
Nov 10, 2026
Merged

ffumero2003 merged 1 commit into
mainfrom
docs-issue-314-upgrade-guide

Conversation

@ffumero2003

Copy link
Copy Markdown
Contributor

Context

A pre-1.0 minor release can break callers, but the only record is the full CHANGELOG. Users whose build or a call breaks have to read the whole list to find why. Closes #314.

Changes

  • Add docs/upgrading.md: one section per breaking release listing only what callers must change, with before/after code, assembled from the **Breaking:** changelog entries. CHANGELOG.md stays the full record.
  • Covers v0.10.0 — twelve breaking changes, split into the two that require a source change (WriterOption → WriterOptionFunc; the variadic keys ...*SSECKey on NewReader/NewRangeReader/Attrs) and the rest, which fail closed on specific call patterns (CopyToBucket(nil), empty BucketIDs, invalid lifetimes, ranged-response validation, replication on create/update, sync default compare + platform support, NewRangeReader length 0, multiple FileLock, Writer.Close waiting).
  • Backfills v0.9.0 (Go 1.26.10 floor, base.CreateBucket new args, upload retry log text).
  • Adds the docs/README.md index row.

Backfill range: v0.9.0 and v0.10.0 (the releases with **Breaking:** entries).

Verification

  • git diff --check: clean.
  • Every after snippet was compiled against the v0.10.0 API (current main) in a temporary in-module package — go build ./... succeeds: WriterOptionFunc, the NewReader closure, Copy with CopyToBucket, CreateKey with BucketIDs and with Lifetime, NewBucket with attrs.ReplicationConfig = nil, Sync with WithCompare(CompareSHA1), and NewRangeReader(ctx, offset, -1). The temporary file was removed; the PR contains only the two docs.
  • Cross-checked each entry against the corresponding **Breaking:** line in .changes/v0.10.0.md.

Docs-only; no library behavior change (uses skip-changelog).

Closes #314

Add docs/upgrading.md listing, per release, only what callers must change
with before/after code, assembled from the **Breaking:** changelog entries.
Covers v0.10.0 (twelve breaking changes; two require a source change, the
rest fail closed on specific call patterns) and backfills v0.9.0. CHANGELOG
stays the full record. Adds the docs index row.

Closes #314
@ffumero2003 ffumero2003 added the skip-changelog No changelog entry needed; skips the changelog check label Nov 10, 2026
@ffumero2003 ffumero2003 self-assigned this Nov 10, 2026
@ffumero2003
ffumero2003 merged commit 4e4de97 into main Nov 10, 2026
23 of 24 checks passed
@ffumero2003
ffumero2003 deleted the docs-issue-314-upgrade-guide branch November 10, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog No changelog entry needed; skips the changelog check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: add an upgrade guide for breaking changes between releases

1 participant