chore(release): consolidate the query-free ISR stack's release notes - #3532
Merged
Merged
Conversation
Replace the stack's per-PR release bullets with six user-facing entries using SHA-named changeset overrides (.changeset/README.md). Six overrides carry the summaries on a host commit that touches the same packages, and 13 empty ones suppress the folded commits.
Member
Author
|
/bigbonk review for issues Please review exact head |
@vinext/cloudflare
create-vinext-app
@vinext/types
vinext
@cloudflare/workers-response-store
commit: |
james-elicx
marked this pull request as ready for review
September 28, 2026 12:12
Contributor
|
Contributor
Performance benchmarksCompared 0 improved · 0 regressed · 6 within ±1.5%
View detailed results and traces 🟢 improvement · 🔴 regression · ⚫ change below 1.5% · paired base/head |
Contributor
|
LGTM! |
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.
The merged query-free ISR stack (#3451–#3531) currently produces 17 separate
vinextrelease bullets and 11 for@vinext/cloudflare. This uses the SHA-named changeset overrides documented in.changeset/README.mdto replace them with six user-facing entries. A.changeset/<full-sha>.mdfile replaces that commit's bump and changelog bullet with its frontmatter and body. An empty one suppresses the commit.Entries
Features (
vinextand@vinext/cloudflare):revalidate = false, never store a render that used a dynamic API, and send Next.js's never-cache header on pages that can't be static (fix(app-router): only full-page cache routes Next.js classifies as static or SSG #3451, fix(app-router): default static and SSG routes to revalidate = false #3452, fix(app-router): send Next.js's never-cache header for known-dynamic App pages #3453, feat(app-router): track dynamic usage in a per-request sticky latch #3454, feat(app-router): skip core cache writes without a negative searchParams proof #3456, feat(app-router): admit rendered App pages only with a negative searchParams proof #3461, fix(app-router): skip the core ISR cache for a path Workers Cache never admits #3489, fix(fetch-cache): leave a revalidate = false page indefinite after a fetch without a numeric revalidate #3500)useSearchParams()and client pagesearchParamson cacheable App Router pages: server rendering shows the nearest<Suspense>fallback and the browser renders the real query after hydration (feat(app-router): gate SSR useSearchParams() in cache-candidate renders #3455, fix(app-router): build client page searchParams in SSR and the browser #3457)Bug Fixes:
vinext: keep serving the previous entry when an App Router page regeneration fails, and send the request's params and pathname on cached RSC responses (fix(app-router): keep the previous entry when an App page regeneration fails #3459, fix(app-router): send the request's params and path on core RSC cache hits #3460)vinext: passgenerateStaticParamsthe parent params from a route's own layouts rather than from a sibling page (fix(app-router): take a route's parent params from its layouts, not a sibling page #3493)@vinext/cloudflare: expire every KV cache entry after the adapter'sttlSeconds, includingrevalidate = falsepages, raising values below 60 to KV's minimum, and stop expiring tag invalidation markers (fix(cloudflare): give every KV entry the configured TTL #3488)How it's wired
An override's entry appears under every package whose files its commit touched. So each summary is hosted on a commit that touches exactly the packages it's for: #3451, #3465 and #3455 (both packages), #3459 and #3493 (
vinext), and #3488 (@vinext/cloudflare). Thirteen empty overrides suppress the folded commits. #3491, #3492 and #3494 aredocs:/test:commits that the release tooling already drops.Validation
I rendered the upcoming changelogs with
collectReleaseCommits,loadOverridesandgroupedChangelogBody, with and without these files:vinextgoes from 29 to 17 entries and@vinext/cloudflarefrom 18 to 11. Unrelated entries are unchanged.vinext,@vinext/cloudflareandcreate-vinext-appstay minor, and the others have no release.main.changesets/actiondeletes these files on release, so they don't accumulate.