Skip to content

chore: retire the release notice carried by v0.65.0 - #1215

Merged
Dumbris merged 1 commit into
mainfrom
chore/retire-release-notice-33942472611
Sep 5, 2026
Merged

Dumbris merged 1 commit into
mainfrom
chore/retire-release-notice-33942472611

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

.github/RELEASE_NOTICE.md is prepended verbatim to the release body by release.yml, and is written for a single release.

v0.65.0 has shipped, so the notice is removed here. Without this, the same advisory would repeat on every subsequent release — and a reader who sees the same advisory three times stops believing any of them.

If you want the notice to stay for a follow-up patch release, close this PR; another will be opened after the next published release.

Checks will not start on their own. This PR was opened with GITHUB_TOKEN, and GitHub does not run pull_request workflows for it. Close and reopen the PR, or push an empty commit to the branch, and the required checks will run.

Opened automatically by .github/workflows/retire-release-notice.yml.

.github/RELEASE_NOTICE.md is prepended verbatim to the release body and is
written for one release. v0.65.0 has shipped, so it is removed here
to stop it repeating on the next release.

Opened automatically by .github/workflows/retire-release-notice.yml.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1ee3714
Status: ✅  Deploy successful!
Preview URL: https://1cbb4712.mcpproxy-docs.pages.dev
Branch Preview URL: https://chore-retire-release-notice.mcpproxy-docs.pages.dev

View logs

@Dumbris
Dumbris merged commit 9a946ed into main Sep 5, 2026
32 of 35 checks passed
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Dumbris added a commit that referenced this pull request Sep 8, 2026
…ck (#1217)

* fix(db): make the compaction lock token unique independent of the clock

acquireCompactLock stamped its lock file with pid + time.Now(), and release
compared that string to decide whether the lock was still ours. On Linux and
macOS time.Now() has nanosecond resolution, so two acquisitions in one process
always differ. Windows' system clock is coarse (~0.5-15ms): two back-to-back
acquisitions land in the same tick and produce a byte-identical token, so A's
release deletes B's lock and a third compaction can start on the same BBolt
database.

This surfaced as TestCompactLockReleaseDoesNotRemoveSomeoneElsesLock failing on
every windows-latest "Build Binaries" job since #1214, blocking unrelated PRs
(#1215 touched only a markdown file and failed identically), but the collision
is real outside the test too — the token is the only thing standing between a
stale-lock cleanup and two concurrent compactions.

Add a 16-byte crypto/rand nonce to the token. pid and started stay: they are
what a human reads out of a stale lock file. The lock protocol and the
compaction flow are otherwise untouched.

The new test strips the clock-derived line before comparing, so it bites on a
nanosecond clock too rather than passing vacuously everywhere but Windows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* test(db): freeze the clock so the compaction-lock tests bite off Windows

TestCompactLockReleaseDoesNotRemoveSomeoneElsesLock is the test that exposed
this bug, and it stayed clock-dependent: on a nanosecond-resolution platform
the two acquisitions get different timestamps, so it passed for the wrong
reason and only failed on windows-latest, intermittently.

Add compactLockNow as a seam and freeze it in both lock tests. A frozen clock
is precisely the Windows condition — coarse granularity with two acquisitions
back-to-back — so the collision is now exercised on every platform rather than
by luck. With the nonce reverted, the pre-existing test reproduces the exact
windows-latest failure on macOS.

That also lets the new uniqueness test compare whole tokens instead of
stripping the started= line to guess what Windows would collide on.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.

2 participants