Skip to content

docs(CHANGELOG): attribute fd_read_into to 0.510.0, which shipped it - #1478

Merged
paul-hammant merged 1 commit into
mainfrom
docs/changelog-0510-attribution
Aug 9, 2026
Merged

docs(CHANGELOG): attribute fd_read_into to 0.510.0, which shipped it#1478
paul-hammant merged 1 commit into
mainfrom
docs/changelog-0510-attribution

Conversation

@paul-hammant

Copy link
Copy Markdown
Collaborator

The 0.510.0 release left ## [current] unrenamed, so VERSION said 0.510.0 while the newest CHANGELOG heading was [current] — and the next release would have claimed fd_read_into as 0.511.0.

Not a missing feature — a race

release.yml:173-176 does perform the rename. The problem is timing: the release workflow branches from main when it starts.

19:38:05  feat(io): fd_read_into committed
20:02:45  #1476 merged to main
20:03:03  #1475 merged  (chore: release 0.510.0)   ← 18 seconds later

The release branch was cut before #1476 landed, so its grep -q '## [current]' correctly found nothing to rename — the previous [current] had just been consumed by the backfill (#1474) and the new entry did not exist yet. The workflow behaved exactly as written; the window is the problem.

This PR

Corrects the attribution only: ## [current]## [0.510.0], one line. VERSION and the newest heading now agree, and no duplicate heading is created.

Verified after the change: VERSION = 0.510.0, newest heading = ## [0.510.0], and the only duplicate headings in the file are the two pre-existing ones ([0.435.0], [0.497.0]) which this does not touch.

The window itself

Filed as #1477, along with the two sibling failure modes in the same family — the pipeline silently shipping a release with no section (which is how 0.506.0–0.509.0 ended up empty), and the blind sed being able to create a duplicate heading (which is how those two pre-existing duplicates arose). Three cheap independent guards suggested there; not attempted here, since a release-pipeline change wants its own review.

🤖 Generated with Claude Code

…[skip actions]

The 0.510.0 release left `## [current]` unrenamed, so VERSION said 0.510.0
while the newest heading was [current] — and the next release would have
claimed fd_read_into as 0.511.0.

Not a missing feature: release.yml:173-176 does the rename. It is a RACE. The
release workflow branches from main when it starts, and:

    19:38:05  feat(io): fd_read_into committed
    20:02:45  #1476 merged to main
    20:03:03  #1475 (release 0.510.0) merged     <- 18 seconds later

The release branch was cut before #1476 landed, so its `grep -q '## [current]'`
correctly found nothing to rename — the backfill had just consumed the previous
[current] and the new entry did not exist yet. The workflow behaved exactly as
written; the window is the problem.

This corrects the attribution only. The window itself is worth closing
separately — see the follow-up issue.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@paul-hammant
paul-hammant merged commit 796e675 into main Aug 9, 2026
@paul-hammant
paul-hammant deleted the docs/changelog-0510-attribution branch August 9, 2026 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant