James
|
729f0f5cb6
|
feat(cache): add Workers Response Store POC
|
2026-09-08 16:50:23 +01:00 |
|
James Anderson
|
86afc11051
|
refactor(cache): delegate response policy to CDN adapters (#3191)
* refactor(cache): delegate response policy to CDN adapters
* fix(cache): keep adapter policy fail closed
|
2026-09-08 10:35:02 +01:00 |
|
James Anderson
|
35af79106e
|
fix(cloudflare): reduce staged CDN probe work (#3168)
* fix(cloudflare): reduce staged cacheability probes
* fix(cloudflare): isolate uncached response renders
* test(cloudflare): cover uncached entrypoint collisions
* fix(cloudflare): preserve i18n middleware probe scope
* fix(cloudflare): preserve purge routing in uncached renders
* fix(cloudflare): match runtime middleware probe paths
* fix(cloudflare): keep probe concurrency saturated
* fix(cloudflare): preserve encoded middleware probe paths
* fix(cloudflare): preserve websocket upgrade responses
* fix(cloudflare): preserve deferred probe route ownership
* fix(cache): preserve warmed responses on browser reload
* fix(cloudflare): preserve warmed cache on reload
* fix(cache): preserve App responses on browser reload
* test(cache): preserve full-stage coverage after reload parity
|
2026-09-07 21:48:30 +01:00 |
|
James Anderson
|
91880b2e6d
|
fix(build): preserve staged prerender routing (#3151)
* fix(build): preserve staged prerender routing
* fix(build): prerender the emitted application entry
* fix(build): preserve application entry across prerender workers
* fix(build): preserve nested prerender artifact roots
* fix(build): preserve nested server artifact roots
* fix(build): honor configured prerender output roots
* fix(build): keep staged prerender artifacts canonical
|
2026-09-07 21:48:27 +01:00 |
|
James Anderson
|
2a08fb7913
|
fix(cloudflare): classify CDN cacheability per concrete route (#3115)
* fix(cloudflare): scale cacheability probing
* fix(cloudflare): preserve cache policy probe identities
* test(cache): cover conditional response vetoes
* fix(cache): match header policy sources exactly
* perf(cache): compute probe safety per pattern
* fix(build): omit empty route ownership metadata
* fix(cloudflare): classify cacheability per concrete path
* fix(cloudflare): retain zero-path static fallbacks
* test(cloudflare): cover on-demand static fallbacks
* fix(cloudflare): admit custom vary cache variants
* fix(cloudflare): keep wildcard vary private
* fix(cloudflare): reject wildcard vary during probing
* fix(cloudflare): reject empty Cache Components params
* fix(cloudflare): scope empty params validation to pages
* fix(cloudflare): remove cacheability response size limits
* fix(cloudflare): bound completed cache admission
* fix(cloudflare): release failed admission captures
* fix(cloudflare): honor staged readiness retries
* fix(cloudflare): retain probed manifest in dist
* fix(cloudflare): probe staged readiness without rendering
* fix(cloudflare): verify staged readiness response
* fix(cloudflare): reserve staged readiness endpoint
* fix(cloudflare): relax cacheability manifest bounds
* perf(cloudflare): avoid duplicate deployment status check
|
2026-09-01 21:25:26 +01:00 |
|
James Anderson
|
c8bea6bccf
|
feat(cache): classify and warm static Route Handlers (#3113)
* feat(cache): classify and warm static Route Handlers
* fix(cache): identify Route Handler probe responses
* test(cache): assert Route Handler probe identity
* fix(cache): prove final Route Handler responses
* fix(cache): admit explicit Route Handler policies safely
* fix(cache): close Route Handler admission fallbacks
* fix(cache): honor explicit dynamic handler policies
* fix(cache): reject unsafe Route Handler probe responses
* fix(cache): preserve Route Handler CDN policy ownership
|
2026-09-01 21:25:26 +01:00 |
|
James Anderson
|
09969d951a
|
feat(cache): probe Pages Router cacheability (#3098)
* feat(cache): probe Pages Router cacheability
* test(cache): prove Pages prewarm reuse
* fix(cache): fail closed for Pages request variants
* test(cache): assert Pages response finalization
* fix(cache): transfer hybrid Pages admission ownership
* fix(cloudflare): warm Pages Router data routes
* fix(cache): align Pages cacheability ownership
* test(cache): preserve Pages ownership order
* fix(cache): enforce Pages response admission without manifest
* fix(cache): align Pages request-time cache policy
* test(cache): expect completed Pages request-time probes
* fix(cache): preserve routing vetoes during probing
* fix(cache): preserve final routing cache policy
* fix(cache): retain middleware cache policy precedence
|
2026-09-01 21:25:25 +01:00 |
|
James Anderson
|
c2377c6b23
|
feat(cache): deploy probed manifests in two stages (#3093)
* feat(cache): deploy probed manifests in two stages
* fix(cache): isolate App Page cacheability probes
* fix(cache): preserve hybrid route ownership in probes
* fix(cache): isolate staged probe retries
* fix(cache): fail closed for unprobed request identities
* fix(cache): bound and filter staged cacheability manifests
* fix(cloudflare): validate cacheability manifest imports
* fix(cloudflare): bound staged cacheability probes
* fix(cloudflare): isolate cacheability probe budgets
* fix(cloudflare): bound staged probe envelopes
* test(cache): import manifest limit from owner
* fix(cloudflare): fail closed during staged warming
* fix(cloudflare): guard final staged traffic
* fix(cloudflare): deploy empty cacheability manifests
* fix(cloudflare): reconcile staged deployment failures
|
2026-09-01 21:25:24 +01:00 |
|
James Anderson
|
56b6be06d6
|
fix(cloudflare): discover prewarm paths from staged worker (#3090)
* fix(cloudflare): discover prewarm paths from staged worker
* fix(cloudflare): hide prerender capability from user code
* perf(cloudflare): skip discovery URL parsing on ordinary requests
* fix(cloudflare): bound staged discovery phases
* perf(pages): lazy-load staged discovery runtime
* fix(cloudflare): use the full staged discovery deadline
* fix(cloudflare): distinguish staged discovery failures
* test(cloudflare): preserve deadline-bounded discovery
* test(cloudflare): avoid wall-clock retry count
* test(cloudflare): stabilize discovery deadline coverage
|
2026-09-01 21:25:22 +01:00 |
|
James Anderson
|
8759b65c86
|
fix(build): validate CDN warm discovery and deploy inputs (#3057)
* fix(build): validate CDN warm path params
* fix(build): exclude handlers from CDN warm paths
* fix(build): resolve all CDN warm path owners
* fix(build): preserve exact CDN warm path identity
* fix(build): preserve encoded Pages warm paths
* test(cloudflare): preserve encoded warm request URLs
* fix(build): reject unsafe Pages warm paths
* fix(router): match localized warm paths case-insensitively
* fix(cache): honor build identity adapter capability
* fix(build): reject normalized CDN warm paths
* fix(build): discover dynamic MDX warm paths
* fix(build): skip routes without static param generators
* fix(cloudflare): validate warmup promotion delay
|
2026-08-24 23:03:15 +01:00 |
|
James Anderson
|
e2e2b177eb
|
fix(cloudflare): complete warmup response and promotion contracts (#3046)
* test(cloudflare): prove deployed Pages CDN warmup
* fix(cloudflare): reject incomplete no-promote warmup
* fix(cloudflare): keep warm discovery fail-closed
* test(cloudflare): prove prewarmed App HTML reuse
* fix(cloudflare): enforce no-promote warmup contract
* fix(cloudflare): warm terminal ISR responses
|
2026-08-24 23:03:14 +01:00 |
|
James Anderson
|
f1efcc1e60
|
fix(cloudflare): harden canonical RSC warmup end to end (#3040)
* fix(cloudflare): validate reusable warm responses
* fix(cloudflare): retry staged warmup failures safely
* fix(cloudflare): extend staged propagation retries
* fix(build): filter Pages-owned RSC warm paths
* fix(cloudflare): keep CDN warmup correct with custom adapters and i18n
* fix(cloudflare): reject unusable CDN warm responses
* fix(cloudflare): keep CDN warmup bound to the deployed build
* fix(router): reuse warmed RSC on locale-prefixed hybrid routes
* fix(cloudflare): verify exact build and variant during CDN warmup
* fix(router): keep warmed RSC ownership rewrite-safe
* test(cloudflare): prove browser reuse of warmed RSC variants
* test(cloudflare): bind RSC warm proof to each deploy attempt
* fix(rsc): keep deferred loading shells contextual
* fix(build): keep CDN warm discovery route-correct
* fix(cache): preserve valid CDN policy during RSC warmup
* fix(cloudflare): warm the deployed Worker route host
* fix(cloudflare): preserve staged warmup guarantees
* fix(build): discover localized Pages warmup paths
* fix(cloudflare): wait for staged Worker before CDN warmup
* fix(cloudflare): preserve strict warmup deploy invariants
* fix(build): fail closed during CDN warm discovery
|
2026-08-24 23:03:14 +01:00 |
|
James Anderson
|
8bb09481d6
|
feat(cloudflare): prewarm canonical ISR RSC requests (#3002)
* feat(cloudflare): prewarm canonical ISR RSC requests
* fix(cloudflare): forward preview deploy options
* fix(cloudflare): harden canonical RSC prewarming
* fix(test): wait for preview alias propagation
* fix(cloudflare): guarantee exact RSC prewarm reuse
* fix(cloudflare): harden canonical RSC prewarming
* fix(cloudflare): preserve definitive RSC warm identity
* fix(cloudflare): warm immutable worker versions
* test(form): expect Next-compatible absolute navigation
* fix(cloudflare): harden RSC prewarm deployment
* test(cloudflare): stabilize deployed RSC proof
* test(cloudflare): await RSC prefetch completion
* test(cloudflare): isolate RSC readiness probes
* fix(cloudflare): warm RSC through version overrides
* fix(cloudflare): parse labeled Worker version IDs
* fix(cloudflare): warm document requests as HTML
* fix(cloudflare): retry staged version propagation
* test(cloudflare): seed prewarm proof with prior Worker
* fix(cloudflare): await version override propagation
* fix(cloudflare): serialize staged cache warming
* fix(cloudflare): verify warmed RSC build identity
* fix(cloudflare): harden staged RSC cache warming
* fix(cache): keep RSC prewarm identity build-scoped
* fix(cloudflare): gate warmup on uploaded build
* fix(cache): certify canonical RSC warmup responses
* fix(cache): harden canonical RSC warmup propagation
* fix(cache): close RSC warmup review gaps
* fix(cache): preserve explicit response cache policies
* feat(cloudflare): prewarm canonical RSC variants without prerendering
* fix(cloudflare): forward deploy config from CLI
* fix(cache): close RSC prewarm reuse gaps
* fix(cloudflare): parse labeled Worker version IDs
* fix(router): preserve canonical prefetch invalidation
* test(cloudflare): align RSC seed Worker bindings
* fix(cloudflare): scope warmup deadlines per request
* test(cloudflare): avoid caching stale warmup seed
* fix(cloudflare): fail permanent warmup errors promptly
* fix(router): keep contextual RSC requests hashed
* test(cloudflare): await promoted warmup Worker
* test(cloudflare): retry browser warmup source
* revert: restore focused warmup deadline fix
* fix(cloudflare): remove warmup propagation deadline
* fix(cloudflare): allow slower warmup responses
* fix(cloudflare): confirm warmed cache hits
* fix(cloudflare): confirm cache hits without backoff
* fix(cloudflare): avoid duplicate cache warm requests
* test(cloudflare): allow prewarm propagation
* test(cloudflare): isolate loading prewarm propagation
* test(cloudflare): await promoted prewarm worker
* fix(cloudflare): wait for warm cache propagation before promotion
* test(cloudflare): allow promoted warm cache to settle
* test(cloudflare): wait after promoted build is reachable
* test(cloudflare): poll deployed version before warm cache checks
* test(cloudflare): trace warm cache identity
* test(cloudflare): trace prewarm verification location
* test(cloudflare): compare warm cache clients
* test(cloudflare): trace bypassed response identity
* fix(cloudflare): serialize warm cache variants
* test(cloudflare): report prewarm cache miss context
* test(cloudflare): await target RSC deployment readiness
* test(cloudflare): await stable worker promotion
* test(cloudflare): isolate RSC prewarm target
* fix(cloudflare): defer CDN warmup retries
* fix(cloudflare): verify warmed RSC variants
* test(cloudflare): trace RSC warm cache paths
* fix(cloudflare): separate loading-shell warm cache key
* test(cloudflare): make RSC warm reuse proof deterministic
* test(cloudflare): tolerate stale promoted Worker routing
* fix(rsc): enforce definitive loading-shell cache key
|
2026-08-24 23:03:12 +01:00 |
|
Jerry Zhao
|
1860632d87
|
refactor: migrate path handling from node:path to pathslash (#2502)
* refactor: migrate the CLI cluster path handling to pathslash
* refactor(routing): migrate the routing cluster path handling to pathslash
* refactor(plugins): migrate the plugins cluster path handling to pathslash
* refactor(server): migrate the server cluster path handling to pathslash
* refactor(build): migrate the build cluster path handling to pathslash
* refactor(core): migrate entries, config, and shared utils to pathslash
* refactor(plugin): migrate index.ts path handling to pathslash
* refactor: finish the pathslash migration — test sweep, stragglers, lint guard
* refactor: address final-review findings on the pathslash migration
* docs(agents): document the pathslash path-handling convention
* fix(build): emit inlined dependencies outside dist/node_modules
* fix: normalize wire- and bundler-shaped ids unconditionally
* docs(agents): document the unconditional-normalization exception
* fix: gate Windows-shaped path fixtures to Windows
* docs(agents): gate Windows-shaped fixtures with runIf
* refactor: migrate upstream prerender path discovery to pathslash
* fix(create-vinext-app): bundle pathslash into the scaffolder dist
---------
Co-authored-by: James <james@eli.cx>
|
2026-07-06 23:49:04 +01:00 |
|
James Anderson
|
753c229ef8
|
fix(build): honor inline next config for static export (#2543)
* fix(build): honor inline next config for static export
* fix(build): reuse resolved config during prerender
* fix(config): resolve promised plugin metadata
* refactor(config): share plugin option flattening
* test(deploy): codify eager config loading
* refactor(deploy): use resolved cache metadata
* refactor(config): remove unused inline loader
* test(config): preserve internal metadata loaders
* refactor(build): keep hybrid plugin extraction unchanged
* refactor(prerender): use resolved next config
|
2026-07-06 23:15:29 +01:00 |
|
James Anderson
|
eba70463d4
|
feat(cloudflare): warm prerendered paths before deploy (#2481)
* feat(cloudflare): warm prerendered paths before deploy
* fix(cloudflare): warm production CDN for uploaded versions
* fix(cloudflare): resolve Worker names for CDN warmup
* fix(cloudflare): harden CDN warmup diagnostics
* fix(cloudflare): harden CDN warmup deploy flow
* fix(cloudflare): clarify CDN warmup trigger failures
* feat(cloudflare): warm cdn from build path manifest
* fix(cloudflare): emit warm paths for skip-build deploys
* fix(cloudflare): avoid stale skip-build path manifests
* test(cloudflare): lock skip-build prerender manifest gate
* fix(cloudflare): warm fallback deploy URL from triggers
* fix(cloudflare): clarify CDN warmup deploy logs
* feat(init): offer CDN warmup deploy script
* update wrangler configs
* fix(init): default CDN warmup to yes
* fix(cloudflare): explain first warm deploy failure
* fix(cloudflare): keep deploy errors concise
* fix(init): make generated home page cacheable
|
2026-07-04 16:09:55 +00:00 |
|