Repository navigation
Prepare the v0.4.0 changelog and documents for publication - #18
Merged
Merged
Conversation
The changelog opened with "[Unreleased] — v0.4.0 candidate", docs/releasing.md called v0.4.0 "the next release candidate", and the site showed "v0.4 candidate" with a JSON-LD version of 0.3.1. Each of these becomes false once the eight v0.4.0 tags are pushed from this commit's merge. CHANGELOG.md: the section becomes "[0.4.0] — 2026-11-04" under an empty "[Unreleased]", with link definitions for [Unreleased], [0.4.0] and the missing [0.3.1]. An audit against v0.3.1..main (apidiff per module, and the commit log) added what the section omitted: the ErrInvalidMigrationMaxRequests sentinel, the S3FIFO and SIEVE PolicyType constants in the root module, the relaxed Bandit blocking contract and the Get that still waits for it under EpochRequests, the removed release-notes and fleet pages, and that bandit/redis ends at v0.3.1. apidiff reports no incompatible change outside the bandit module, and every bandit removal is already listed. docs/releasing.md: the opening states the release version and that it is published only once its tags are pushed and confirmed by make release-check-published; the publishing table is introduced as the v0.4.0 release set. No Go source, evidence data or release-version change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares the documents for publishing v0.4.0. No tag is created by this PR. After it merges, the eight v0.4.0 tags go on the merge commit (see "After merge" below).
Why
Four statements were true for a candidate and become false once v0.4.0 is tagged:
CHANGELOG.md:7## [Unreleased] — v0.4.0 candidate## [Unreleased](empty) then## [0.4.0] — 2026-11-04(lines 7-9)docs/releasing.md:3-4make release-check-publishedconfirms it (lines 3-6)site/index.html:33"version": "0.3.1""version": "0.4.0"site/index.html:232pre-1.0, <b>v0.4 candidate</b>pre-1.0, <b>v0.4.0</b>One related wording change:
docs/releasing.md:56-57(now 58-59) introduces the publishing table as "the v0.4.0 release set is these eight tags, pushed in dependency order" instead of "Publish these tags in dependency order". The table itself is unchanged.Statements left as they were, because they stay true after publication: the FIFO module is "unreleased", "unpublished" or "has not been tagged" (
site/index.html:296-297,docs/policies.md:87-88,156-157); "excluded from v0.4" (README.md:30,docs/evidence.md:142-143); and the generic candidate-check procedure indocs/releasing.md, which still applies to later versions.release-versionstaysv0.4.0.Changelog audit (v0.3.1..main, 64 non-merge commits)
apidiff -mwas run on each of the eight release modules (v0.3.1 export data against 6df4600 export data):bandit: 35 incompatible removals. All are already listed under Breaking API change: the distributed bandit,Store/MemStore, the coordination types, constants, defaults and the seven sentinel errors.Settings.MigrationMaxRequests,ErrInvalidMigrationMaxRequests,S3FIFOandSIEVE.lfu,policies,policies/arc,policies/tinylfu,metrics,benchclient: no exported API change.benchclient.DefaultArmsstill builds LRU, LFU, 2Q and Random; only its doc comment changed.The audit added these entries to the
[0.4.0]section:bandit/redisis not tagged at v0.4.0; its last version isbandit/redis/v0.3.1.docs/release-notes-v0.1.0.md..v0.3.1.md) anddocs/fleet.md. All five existed at v0.3.1.Banditcontract no longer requires non-blocking methods. UnderEpochRequests, theGetthat completes an epoch still waits for the bandit.ErrInvalidMigrationMaxRequests, which rejects a negativeMigrationMaxRequests.PolicyTypeconstantsS3FIFOandSIEVE, appended afterTinyLFU, so existing values keep their numbers.[Unreleased](comparev0.4.0...HEAD),[0.4.0], and the missing[0.3.1], in the file's existingreleases/tag/style. The[0.4.0]and compare links resolve only after the tag is pushed.The audit found nothing else missing. The FIFO exclusion, the stitchfix removal, the epoch, stability and migration fixes, and the evidence changes were already covered.
The date 2026-11-04 is today's date. If this merges on a later day, adjust it before merging.
Preflight on origin/main (6df4600)
make allin a detached worktreemake fmtleft the worktree cleanv0.4*tagsgit ls-remote --tags originv0.4go list -m <module>@v0.4.0withGOPROXY=https://proxy.golang.org GOFLAGS=-mod=mod GOWORK=off, empty temp module, freshGOMODCACHE404 Not Found ... invalid version: unknown revision <tag>successVerification on this branch (1f434a4)
make allin a detached worktree: exit 0, 136 s. "Validating committed source 1f434a4", "Candidate consumer checks passed for 8 modules". The worktree was clean afterwards.python3 scripts/record_evidence.py --verify bench/results/current: exit 0, "Verified 16 artifacts and generated report at 1cb65fe".CHANGELOG.md,docs/releasing.md,site/index.html), +27/-8. No Go source,go.mod, evidence data orrelease-versionchange.Note on timing
Merging touches
site/, so the Pages workflow deploys a site that shows v0.4.0 before the tags exist. Tag the merge commit soon after merging to keep that window short.After merge (not part of this PR)
make release-checkat the merge commit.docs/releasing.mdon that commit, in the listed order, and push them.make release-check-published.v0.4.0from the[0.4.0]section and mark it latest.go-cache-benchto the v0.4.0 tags.Tags v0.3.0 and v0.3.1 have no GitHub release object; the latest GitHub release is v0.2.0. This PR does not address that.