3 hours ago
next.js

v16.1.0

[!TIP]
Check out our Next v16.1 Blog Post to learn more about this release.

Core Changes

  • fix: Rspack throw error when using ForceCompleteRuntimePlugin: #85221
  • fix: build CLI output not displaying Proxy (Middleware) when nodejs runtime: #85403
  • fix: staleTimes.static should consistently enforce a 30s minimum: #85479
  • [turbopack] fix build of empty entries of pages: #84873
  • Cache the head separately from the route tree: #84724
  • Allow inspecting dev server on default port with next dev --inspect: #85037
  • Avoid proxying React modules through workUnitStore: #85486
  • fix: redirect should always return updated router state: #85533
  • Upgrade React from b4455a6e-20251027 to 4f931700-20251029: #85518
  • [turbopack] Move generation of cacheLife types out of the webpack plugin and into the dev bundler directly: #85539
  • Ensure user-space stack frame for 'use cache' in page/layout component: #85519
  • Update parallel routes in build-complete: #85546
  • fully remove clientSegmentCache flag: #85541
  • [turbopack] Support relative paths in turbopack source maps.: #85146
  • Release unnecessary memory on hydration finish: #84967
  • Preserve interception markers in parameter types: #85526
  • move segment cache entries to top level segment-cache dir: #85542
  • Upgrade React from 4f931700-20251029 to 561ee24d-20251101: #85670
  • [devtools] Remove title from preferences: #85698
  • Update font data: #85708
  • Don't invalidate hot reloader excessively during dev server boot: #85732
  • [codemod] fix: next-lint-to-eslint-cli did not handle 'next' plugin: #85749
  • Upgrade React from 561ee24d-20251101 to 67f7d47a-20251103: #85762
  • Tracing: Fix memory leak in span map: #85529
  • Fix documentation typo in refresh function: #85696
  • fix: eslint-config-next types was exporting to dist/src: #85768
  • Upgrade React from 67f7d47a-20251103 to f646e8ff-20251104: #85772
  • remove unused RSC payload property: #85746
  • [runtime prefetching]: fix runtime prefetching when deployed: #85595
  • Turbopack: next build --analyze: #85197
  • Build: Log amount of workers during static generation: #85706
  • Upgrade React from f646e8ff-20251104 to dd048c3b-20251105: #85819
  • Sync devFallbackParams when generateStaticParams change: #85741
  • chore: upgrade rspack 1.6.0: #84210
  • [mcp] get_routes mcp tool: #85773
  • Split each path param into a separate cache key : #85758
  • [turbopack] change server source maps in production to use relative paths: #85576
  • fix: skip collecting metadata for app-error in webpack: #85892
  • fix: support root span attributes with a custom server: #85521
  • fix isDynamicRSC condition when deployed: #85919
  • [turbopack] Make it possible to synchronously access native bindings: #85787
  • Upgrade React from dd048c3b-20251105 to fa50caf5-20251107: #85906
  • Fix telemetry event loss on build failures and server shutdown: #85867
  • Remove one stack frame from 'use cache' call stacks: #85966
  • Upgrade React from fa50caf5-20251107 to 52684925-20251110: #85980
  • Deployment adapter: fix metadata for "/" route: #85820
  • Enable React's default Transition indicator behind a flag: #86000
  • update routes-manifest to include whether app has pages routes: #86051
  • Fix 404 responses for interception routes with missing children slots: #85779
  • Build: Share StaticWorker between static check and static generation: #85860
  • [devtool] highlight all link in error message: #86084
  • fix(nodejs-middleware): await for body cloning to be properly finalized: #85418
  • Add build-time validation to detect ambiguous app routes: #85834
  • Don't use inspector frontend URLs from other processes: #86082
  • Upgrade React from 52684925-20251110 to 93fc5740-20251113: #86103
  • [next-upgrade] Force install of dev dependencies: #86119
  • Fix telemetry event race condition in webpack worker for @vercel/og detection: #86145
  • Turbopack: Add bundle analyzer UI to next build --experimental-analyze: #85788
  • Upgrade React from 93fc5740-20251113 to fb2177c1-20251114: #86155
  • fix: cacheMaxMemorySize should not disable dev HMR cache: #86164
  • Fix streaming server actions: #86148
  • Allow attaching a debugger when next dev is already running: #86083
  • Introduce next analyze: a built-in bundle analyzer for Turbopack: #85915
  • Turbopack: add experimental.turbopackClient/ServerSideNestedAsyncChunking: #85827
  • next analyze: annotate polyfill modules in UI: #86062
  • Stop adding additional padding to Next.js logs: #86139
  • [next-upgrade] Add next upgrade: #86120
  • Fix prerendering of interception routes with generateStaticParams: #85835
  • [Segment Cache] Re-implement refresh reducer: #84426
  • Upgrade React from fb2177c1-20251114 to 0972e239-20251118: #86263
  • next analyze: Make ipv6 server links valid and normalize localhost: #86219
  • fix: prevent fetch abort errors propagating to user error boundaries: #86277
  • chore(turbopack-node): remove some outdated codes: #86111
  • [devtools] Ensure Chrome DevTools workspace can connect with proxy rewrites: #86289
  • Fix log log alignment in spinners: #86298
  • fix: Rename proxy.js to middleware.js in NFT file: #86214
  • Turbopack: allow trace level tracing: #86255
  • Allow SSR to finish microtasky work before flushing: #86311
  • Turbopack: fix passing project options from napi: #86256
  • [Cache Components] Atomic setTimeouts: #86093
  • Turbopack: add experimental.turbopackInputSourceMaps and respect serverSourceMaps: #86340
  • [Cache Components] Discriminate static shell validation errors by type: #85747
  • Turbopack: add NEXT_TURBOPACK_WRITE_ROUTES_HASHES_MANIFEST to write hashes into manifest: #86257
  • Add reasons for some server-external-packages: #86254
  • Send dynamic validation errors to browser via WebSocket: #85818
  • Delete un-used prefetch outputs with PPR: #86100
  • Revert "Turbopack: add bundle-analyzer to versioning and add dependen…: #86394
  • Turbopack: add bundle-analyzer to versioning and add dependency: #86355
  • fix issue - #86365: #86366
  • Turbopack: fix import chain by determining depth locally per route: #86350
  • Use JSONC for default server-external-packages: #86252
  • add debug logs to onSegmentPrerenderError: #86358
  • Skip request if "full" prefetch is already pending: #86405
  • fix: Rename proxy.js to middleware.js in NFT file (#86214)
  • fix: prevent fetch abort errors propagating to user error boundaries (#86277)
  • Turbopack: fix passing project options from napi (#86256)
  • Eslint: Improve Google Tag manager third parties message: #51903
  • [ts-plugin] keep showing the types in the function body: #86273
  • [turbopack] Enable the filesystem cache for dev in canary builds: #85940
  • docs: fix typos in packages: #82508
  • Turbopack: Expose an environment variable for exposing the detail field of issues: #86518
  • Turbopack: inner graph tree shaking: #85973
  • [next-upgrade] Fall back to npx if yarn dlx is not available: #86384
  • Update font data: #86521
  • Convert any export from a 'use cache' module to a cache function: #86014
  • fix(nodejs-middleware): await for body cloning to be properly finalized (#85418)
  • Fix stale dev types causing build failure after route deletion: #86489
  • bump the browserslist version to silence a warning in CI (#86625)
  • add bundle analyzer as dev dependency to next: #86497
  • Remove obsolete setReferenceManifestsSingleton call: #86574
  • Add flag to show ignore listed frames: #86285
  • Add alinea to server-external-packages.json: #55006
  • Fix error logging for 'use cache' runtime errors in production: #86500
  • Upgrade React from 8ac5f4eb-20251119 to fd524fe0-20251121: #86473
  • Add "@zenstackhq/runtime" to server-external-packages.json: #54829
  • [Cache Components] Ensure cache misses always cause a restart in dev: #86583
  • bump the browserslist version to silence a warning in CI: #86625
  • Turbopack: import to char not replaced: #86573
  • Revert "add bundle analyzer as dev dependency to next (#86497)": #86672
  • Handle cross-page client reference contamination in development: #86591
  • Match behavior of baseline-browser-mapping with caniuse-lite: #86653
  • Turbopack: don't generateBuildId in dev: #86581
  • [devtool] unify the bundler field: #86514
  • Turbopack: normalize distDir separators: #86697
  • Cover org package external in externals-transitive test: #86691
  • [turbopack] Enable filesystem cache by default for development: #85975
  • Log generate params duration in dev: #86726
  • [CC] Fix hanging dynamic promise when abandoning render: #86690
  • Convert Windows paths as well when reading sourcemap: #86723
  • Deterministic functions-config-manifest.json: #86736
  • Abstract deployment id access into module: #86727
  • Deterministically order pages in the MappedPages structure: #86744
  • [turbopack] move edge entry wrapper to build template: #86699
  • Properly type ComponentMod: #86765
  • Properly type edge handler fn: #86766
  • Remove unused Server.responseCache: #86768
  • [Cache Components] Fast setImmediate: #86018
  • [devtool] make the draggable content selective: #86816
  • Create server module map proxy only once: #86750
  • fix(next/image): add ?dpl query string for local images (without static import): #86485
  • fix(next/image): handle ?dpl for src without protocol: #86836
  • Upgrade React from 7dc903cd-20251203 to 66ae640b-20251204: #86843
  • Upgrade React from 66ae640b-20251204 to 378973b3-20251205: #86852
  • Turbopack: remove pages router double template: #86842
  • Introduce NextConfigRuntime: #86812
  • Generate required-server-files before prerendering: #86830
  • Update react version in cna templates (#86950)
  • Include nextConfig in edge runtime via separate manifest: #86769
  • Fix required-server-files: #86875
  • Add pino-related packages to server-external-packages: #86884
  • Fix validateTurboNextConfig running for next start: #86886
  • Add experimental.runtimeServerDeploymentId: #86865
  • [turbopack] Mark packages as side effect free when local analysis determines that they are.: #86398
  • Fix: Missing null check in LRU cleanup: #87124
  • improve segment cache lru typesafety: #87129
  • [Segment Cache] Detect third-party redirect + static export w/ HEAD request: #85910
  • Fix: External redirect swallowed by Next.js: #87121
  • Fix error propagation and teardown in Server Action request decoding: #87193
  • Fix interception routes with trailing slash configuration: #86787
  • [ci] Stop building when creating release: #87178
  • fix: otel error spans from streamed responses: #86955
  • Refactor: Unify history traversal with other nav types: #87128
  • Create initial tree using same function as navigations: #87147
  • Re-implement hmr-refresh in terms of refresh: #87135
  • Delete old navigation response handling implementation: #87149
  • Reflect runtime type of resHeaders in static types: #87145
  • [turbopack] Flag turbopackInferModuleSideEffects so it is only enabled in canary builds: #87215
  • [turbopack] update warning message in the bundle analyzer: #87255
  • chore: update rspack 1.6.5: #86853
  • Update font data: #87259
  • bundle-analyzer: make running the web server default: #87258
  • bundle analyzer: remove custom output option: #87267
  • Ensure constructor for useSearchParams can be imported for instanceof checks: #87269
  • Upgrade React from b45bb335-20251211 to f93b9fd4-20251217: #87281
  • feat: use Rspack persistent cache by default: #81399
  • Move next-env.d.ts to dist dir: #86752
  • Revert "Move next-env.d.ts to dist dir": #87311

Example Changes

  • Chore: Update with-supabase example to Next.js 16: #86105
  • docs: add example for enabling both AVIF and WebP image formats for better image optimization: #86191
  • examples: fix typos: #82506
  • chore(examples): remove with-windicss example: #81846
  • examples: fix typos in cms-agilitycms: #82504
  • Turbopack: Improve the description on InvalidLoaderRuleConditionIssue: #87008

Misc Changes

  • chore: Add opt-level = s for not frequently used crates: #85426
  • [test] Deflake cache-components-allow-otel-spans: #85466
  • [test] Move remaining experimental.cacheLife: #85467
  • Turbopack: chore: Remove mopa dependency in turbo-tasks (2nd attempt): #85286
  • Update Proxy docs: #85439
  • [CNA] Do not prompt for Turbopack: #85404
  • Clean up new release process: #85458
  • Update E2E tests workflow: #85485
  • Update E2E deploy tests manifest: #85483
  • docs: example are incorrect async function exports only: #85453
  • [test] Handle CLI assertions where no "Compiling..." log is present: #85499
  • [test] Speed up refresh test: #85505
  • [test] Add test cases for dynamic caches without suspense boundaries: #85500
  • docs: Routes are wrapped w/ Activity in Cache Components: #85309
  • docs: GET handler behavior under cache components: #85389
  • [test] Avoid needless start/stop from using createSandbox: #85507
  • [test] Use --debug-build-paths instead of NEXT_PRIVATE_APP_PATHS: #85504
  • docs: revalidateTag requires second argument: #85284
  • Refactor GTM implementation to support google tag gateway: #81011
  • Update Rspack production test manifest: #85494
  • Update Rspack development test manifest: #85495
  • [docs] Fix a typo: #85492
  • [test] Regenerate tsconfig.json files: #85515
  • [Turbopack] clean up completion.rs a bit: #84863
  • [test] Remove maxRetries and hardError parameters: #85536
  • Turbopack: remove the .into() alias to .cell(): #85516
  • [test] Consolidate identical snapshots across different bundlers: #85532
  • [turbopack] Change where cells are created in resolve_raw to make cell allocation order deterministic.: #85525
  • Turbopack: Make tasks deterministic: #85524
  • [test] Separate act and assertions: #85508
  • [test] assert* -> waitFor* when the util is not instant: #85450
  • Turbopack: move whole_app_module_graphs to top level: #84897
  • [test] Bail on sending requests to Next.js instance if it's no longer available: #85557
  • [test] Deflake tests comparing two random numbers: #85571
  • [test] Disallow custom RegExp-like implementations in check: #85537
  • [test] Deflake prerender suite: #85563
  • Turbopack: chore: Remove some dead MagicAny serialization code from turbo_tasks::value: #85577
  • [test]: fix broken scroll restoration test: #85599
  • [test] Deflake nested after() tests: #85566
  • [test] Stop installing unused dependencies: #85569
  • [test] Consider test/integration/ in flake detection tests: #85590
  • Turbopack: more checks on verify_serialization: #84952
  • Turbopack: add track_caller to improve panics: #85565
  • Turbopack: add verify_determinism feature to check if tasks are deterministic: #85559
  • docs: cache life rework: #85224
  • Turbopack: fix hanging dev server and builds with fs cache: #85606
  • Turbopack: Fix compound assignment expression evaluation (#85478): #85593
  • Turbopack: fix Scope holding Arc too long: #85611
  • [ci] Improve change detection logic in run-for-change script: #85619
  • [test] Ignore in deploy tests if a child process isn't available: #85636
  • Turbopack: add size_hint and len for Chunk iterator: #85622
  • [test]: move resume-data-cache to e2e test: #85647
  • Update Rspack development test manifest: #85662
  • Update Rspack production test manifest: #85661
  • Update Rspack production test manifest: #85688
  • Update Rspack development test manifest: #85689
  • [test] Deflake root-optional-revalidate: #85584
  • docs: fix generateImageMetadata example to use normal params object: #85658
  • Turbopack: Upgrade image crate: #85084
  • docs: update multi sitemap argumenmt type: #85701
  • [test] Move all files to .ts (6/6): #85641
  • Turbopack: add a batch add method to the storage: #84270
  • docs: recommend reverse-proxy when self-hosting: #85650
  • [test] Deflake prefetching.stale-times: #85733
  • [test] Deflake custom cache handler test: #85610
  • [test] Allow CLI integration test to be retryable: #85586
  • docs: update docs to mention ESLint as default: #85740
  • docs(next.config): this docs should remove ".mts" is not supported.: #85716
  • Turbopack: cleanup StyleSheetLike: #85718
  • Turbopack: disable tree shaking for tracing: #85722
  • [test] Move all files to .ts (3/6): #85638
  • [test] Move all files to .ts (2/6): #85637
  • [test] Move all files to .ts (1/6): #85634
  • docs: generateSitemap passes id as promise: #85767
  • [test] Move all files to .ts (4/6): #85639
  • docs: disclosure on path-to-regexp: #85629
  • chore: update rspack binding to 1.6.0: #85717
  • Turbopack: trace worker_threads worker entry: #85734
  • Update Rspack development test manifest: #85761
  • Turbopack: chore: Remove extern crate and macro_use syntax: #85778
  • [turbopack] Drop duration and allocation tracking from CaptureFuture: #85534
  • Turbopack: chore: Remove dead RouteMatcher stuff: #85784
  • docs: fresh up getting started 00: #85736
  • Turbopack: chore: Remove the serde_regex dependency, which wasn't very heavily used: #85578
  • Turbopack: use batch add in connect children: #85623
  • [test] Move all files to .ts (5/6): #85640
  • [test] Deflake legacy-link-behavior: #85805
  • Resolve request ID confusion: #85809
  • Turbopack: use batch add to add initial followers: #85624
  • Turbopack: chore: Remove dead experimental.ppr struct field: #85792
  • Turbopack: chore: Avoid string clones in Glob::parse by using RcStr: #85579
  • Update Rspack production test manifest: #85795
  • docs: getting started updates 01: #85750
  • chore: Update patricia_tree dependency, remove manual serde impls: #85785
  • docs: keywords in system reqs and add browserslist: #85838
  • Honour NEXT_TEST_PREFER_OFFLINE in install-native.mjs: #85850
  • Turbopack: chore: Update anyhow, remove old backtrace feature: #85844
  • Turbopack: Remove some dead (or useless) code from next-core/src/next_client_reference/visit_client_reference.rs: #85843
  • sort dependencies for smaller diffs: #82291
  • Update Rspack development test manifest: #85846
  • Turbopack: Remove non_operation_vc_strongly_consistent feature usage from next-api: #85874
  • Turbopack: remove the streaming hack for improved stability: #85858
  • test: Port clean-distdir integration test to the modern e2e test framework: #85828
  • Update font data: #85920
  • Update deploy manifest: #85924
  • Turbopack: chore: Merge turbo-tasks-macros-shared crate into turbo-tasks-macros: #85917
  • Turbopack: Fix IO concurrency for MacOS: #85861
  • Add Appwrite Sites to supported adapters: #85830
  • [turbopack] Remove LocalTaskType::Native, it is dead: #85480
  • [test] Increase response timeout in next.browserWithResponse(): #85911
  • Hoist inner 'use cache' functions to reduce function allocations: #85904
  • docs: eslint config update: #85969
  • Fix Turbopack local font font-family declaration: #85913
  • switch to slice in createRuntimePrefetchTransformStream: #85822
  • Update authentication.mdx: Fix Auth0 Link: #85953
  • Turbopack: remove unused function: #85974
  • docs: cacheHandlers: #85311
  • docs: Feedback item on proxy default: #86004
  • [test] Add missing test fixtures for cacheLife & cacheTag in client: #85872
  • Fix false-positive build error for cacheLife & cacheTag: #85875
  • [cna] For pnpm ignore postinstall from sharp and unrs-resolver: #83168
  • Turbopack: refactor evaluate to take module_graph: #85971
  • Turbopack: remove duplicate traversal implementations: #85853
  • Omit unused encryptActionBoundArgs/decryptActionBoundArgs imports: #86015
  • Turbopack: cleanup db log and add verbose option: #85965
  • [ci]: fix retry_deploy_test workflow: #85981
  • Fix typo in documentation: #86054
  • perf: revert to use the light safe stringify for is-error: #86053
  • Turbopack: expose used export info in tests: #86037
  • Docs: Mention npm link with Turbopack root: #86075
  • script: align the commits group logic with the origin script: #86079
  • Update cookies.mdx: #86094
  • Remove redundant example code for cacheLife docs: #86043
  • test: improve router prefetch test reliability: #86098
  • Add postpone handling in app-page handler: #86101
  • Turbopack: remove global_information struct: #86089
  • Turbopack: add task_id_details feature: #84970
  • Turbopack: Refactor output assets to allow to lazy compute output assets: #85753
  • Un-skip tests in prefetch-runtime.test.ts: #86097
  • Turbopack: add flags to AvailabilityInfo: #85771
  • Turbopack: apply side effects false removal on all module types: #86133
  • [build] Remove layers experiment flag from next-runtime webpack config: #86126
  • Turbopack: only enable nested async availability in production: #85728
  • [turbopack] Remove Clone from Effect: #86110
  • Turbopack: mark more modules as side effect free: #86136
  • [test] Use next-data-api-endpoint for Middleware HTTP method tests: #86157
  • fix broken extend implementation on DynamicStorage: #86204
  • Turbopack: avoid creating another async chunk loader where there is already one available: #85817
  • Fix typo on 03-layouts-and-pages.mdx: #86186
  • Update 14-metadata-and-og-images.mdx: #86198
  • [turbopack] Model ||, &&, and ?? as control flow operators: #85837
  • chore: remove empty docs folder: #86216
  • docs: cacheHandlers use object instead of class: #86022
  • docs: follow up to getting started CC and use-cache API ref: #85582
  • Turbopack: use batch insert to make dependencies outdated: #85625
  • Update Rspack production test manifest: #86233
  • [test] Update snapshots: #86288
  • [test] Add failing test for useActionState with 'use cache': #86292
  • [test] Disable flaky prefetching.stale-times test: #86299
  • Update Rspack production test manifest: #86283
  • Replace tuples with better suited data structures for server references: #86294
  • create-next-app: Add ignoreScripts for unrs-resolver on bun: #86324
  • Turbopack: bundle-analyzer need to avoid using the local next.js build: #86258
  • Turbopack: remove unused method: #86259
  • Turbopack: disable input source maps for analyze: #86341
  • Turbopack: perf: Fix unused argument filtering optimization in turbo-tasks for self arguments: #86231
  • Turbopack: Remove dead turbo_tasks::persisted_graph module: #86329
  • [turbopack] Refactor the analyzer to fix a few issues and prepare to split it up: #86265
  • next-analyze: improve network error visuals: #86222
  • Turbopack: test if unused self arguments are filtered: #86353
  • Upgrade React from 0972e239-20251118 to 8ac5f4eb-20251119: #86351
  • Update Rspack development test manifest: #86332
  • Turbopack: refactor tuple variant into struct: #86374
  • Migrate to VisitMut: #86347
  • Turbopack: decode url encoding and relative paths in source maps: #86342
  • Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #86339
  • docs: csr-bailout debugging: #86359
  • docs: serverless deploy feedback: #86357
  • Bump swc to 48: #86240
  • docs: cacheLife feedback: #86128
  • Update Next.js auth docs examples: #86361
  • Update Rspack production test manifest: #86369
  • Revert "Turbopack: remove Asset supertrait from Module trait. Modules don't have content": #86415
  • Revert "[turbopack] Model ||, &&, and ?? as control flow operators (#85837)": #86432
  • Turbopack: avoid embedding deployment ID into the turbopack runtime: #86370
  • Revert "Turbopack: JsAnalyzer parse AssignExpr (#83962)": #86420
  • [test] Let pending test finish on abort: #86307
  • Fix compilation of exported server functions: #86296
  • docs: fix getInitialProps execution behavior during navigation: #86387
  • Turbopack: bail instead of panic: #86470
  • Update Rspack production test manifest: #86457
  • Fix typed routes test expectations: #86487
  • Add test for external middleware rewrite with changed headers: #49606
  • Fix grammar and typos in typescript doc: #86513
  • Skip filesystem-cache.test.ts test with Webpack: #86506
  • Migrate required-server-files-ssr-404 to be isolated: #86515
  • Turbopack: fixup route hashes generation: #86502
  • Bump swc: #86496
  • Try to improve typed-routes test flakyness: #86512
  • Use retry in tests instead of requesting page: #86535
  • Turbopack: Use Debug instead of Display for ValueDebugFormat impl on RcStr: #86522
  • [test] Add test fixture for runtime error in 'use cache': #86499
  • Migrate app-dir-export test to be isolated: #86534
  • Turbopack: write symlinks to access transitive serverExternalPackages
  • Fix no-double-tailwind-execution flake: #86549
  • Update Rspack development test manifest: #86531
  • Turbopack: slightly fewer turbo tasks calls during resolving: #86542
  • Turbopack: remove OptionStringifiedSourceMap: #86547
  • Turbopack: Simplify the return type of FileSystemPath::try_join: #86523
  • Turbopack: remove into() which cells internally: #86548
  • docs: fix cache component doc grammar: #86563
  • fix(turbopack): Disable ES3 transforms from preset-env: #86532
  • Don't run bundle-analyzer dev script with turborepo: #86586
  • [turbopack] Support traversing the graph in reverse order: #86427
  • Update Rspack development test manifest: #86657
  • Update Rspack production test manifest: #86658
  • [test] Deflake use-cache-router-handler-only in deploy tests: #86678
  • Allow exporting object and array literals in 'use cache' files again: #86655
  • Turbopack: use tracing context for config watching: #86576
  • Turbopack: align chunk loading error name: #86593
  • docs: update prefix two-digit number in routing section: #77758
  • [bundle-analyzer] Disable revalidateOnFocus and revalidateOnReconnect: #86688
  • Turbopack: improve eventual consistency: #86682
  • [test] Enable Playwright traces in deploy tests: #86683
  • [test] Deflake app-dir-prevent-304-caching: #86693
  • Bump to swc 49: #86689
  • Turbopack: process.env.TURBOPACK should be a string: #86680
  • Turbopack: arrange empty space in trace viewer correctly: #86612
  • [turbopack] Remove the docs on the bundle size gap: #86707
  • [test] Improve app-basepath assertion error: #86725
  • fix(next-custom-transforms): preserve all declarators in multi-declarator export statements: #86552
  • Turbopack: avoid snapshotting while continuously idle, fix spans : #86611
  • Turbopack: fix fuzz command: #86732
  • [test] Ensure CI uses configured Node.js version: #86720
  • Turbopack: improve eventual consistency: #86724
  • Update Rspack development test manifest: #86715
  • Update Rspack production test manifest: #86716
  • Turbopack: don't read binding_usage in dev: #86722
  • [test] app-basepath less agressive request reading: #86740
  • Stop apps/bundle-analyzer/next-env.d.ts from changing: #86743
  • [turbopack] Move turbo-tasks-testing to dev-dependencies: #86745
  • Turbopack: chore: Remove re-exports from turbopack crate: #85791
  • Turbopack: Split Dirty into Dirtyness and CleanInSession: #86070
  • Turbopack: remove DirtyContainerCount from dirty_container_update: #86071
  • Turbopack: fix double deployment id in web workers: #86754
  • Turbopack: Split AggregatedDirtyContainer: #86606
  • Turbopack: Split AggregatedDirtyContainerCount: #86072
  • Turbopack: Avoid that session-dependent tasks write to DB on every build: #86068
  • Turbopack: Use TransientCellData for non-serializable cells: #86069
  • Fix typo in fetching data documentation: #86758
  • Upgrade React from fd524fe0-20251121 to 7dc903cd-20251203: #86771
  • Turbopack: use match consistently in macro: #86767
  • setup release branch
  • Revert "feat(breaking): Hard Deprecate PPR Configuration (#84280)"
  • Update React Version
  • update tag
  • update version script
  • docs: cookie clear and has alignment: #86788
  • [test] fix missing nft file: #86817
  • Remove unused vitest from dependency tree: #86821
  • Update installed Next.js: #86822
  • Remove Vercel mention from Next.js docs: #86801
  • Remove unused vite from dependency tree: #86824
  • Update Rspack development test manifest: #86802
  • Turbopack: bincode: Add crate with bincode serialization helpers: #85878
  • Turbopack: perf: Avoid clones in RopeReader: #86708
  • Add Firebase App Hosting to the deployment guide: #86832
  • Turbopack: bincode: Add custom bincode reader/writer implementations: #86632
  • Turbopack: bincode: Add traits for types that require TurboBincodeEncoder or TurboBincodeDecoder: #86633
  • Turbopack: bincode: Implement bincode Encode/Decode traits on all turbo task values: #85580
  • Turbopack: bincode: Add bincode encode/decode wrappers for serde_json::Value when stored in a cell: #86749
  • Turbopack: bincode: Use bincode to store the contents of value cells: #86338
  • [test] Fix external rewrite target URL origin: #86863
  • Turbopack: correctly overwrite existing symlinks: #86808
  • Turbopack: fix race condition when invalidating: #86859
  • Turbopack: handle non-serializable cell content for cell update operation: #86861
  • Turbopack: bincode: Migrate TaskInput serialization to bincode: #86631
  • Add gitignore note for next-env.d.ts: #86809
  • docs: fix broken examples link: #86916
  • chore: update rspack binding to 1.6.7: #87058
  • Update Rspack production test manifest: #87051
  • docs: dynamic routes w/ gsP: #86402
  • Update self-hosting.mdx: #87109
  • Turbopack: Add a custom serde_self_describing Serializer/Deserializer: #86885
  • Turbopack: bincode: Remove automatic serde derives from #[turbo_tasks::value] macro: #86634
  • Turbopack: Add turbo-frozenmap crate with FrozenMap and FrozenSet implementations: #87042
  • [turbopack] Rename is_marked_as_side_effect_free to side_effects and return ModuleSideEffects enum: #87102
  • Turbopack: Switch RequestKey's conditions field from BTreeMap to FrozenMap: #87099
  • Turbopack: Remove remaining dead implementations of serde traits: #86910
  • [turbopack[ Use a frozenset in ImportUsage: #87118
  • [turbopack] Rename graph traversal algorithms: #87119
  • Turbopack: Inline uses of the SliceMap type alias: #87122
  • [ci] Bump Lerna to 5.x: #87180
  • [ci] Downgrade Lerna to 4.0.0: #87187
  • [ci] Bump Lerna to latest: #87188
  • [ci] Ensure build-and-deploy runs on pushes: #87207
  • [ci] Fix build-and-deploy
  • [ci] Stop running build_and_deploy on tag pushes: #87176
  • [ci] Ensure build-and-deploy run on path-like branches
  • [ci] Cancel in-progress pull_request_stats with native concurrency features: #87190
  • [ci] Cancel in-progress build_and_deploy for PRs: #87191
  • [ci] Ensure runners use configured Node.js version: #87183
  • chore: update next-rspack rust toolchain: #87220
  • bundle-analyzer: Show compressed sizes: #87093
  • chore: update @next/rspack-binding version: #87223
  • [ci] Stop running explicit build when creating release: #87212
  • [ci] Stop using restore-keys for package manager stores: #87209
  • chore(turbo-tasks-fs): remove duplicated value_to_string of FileSystemPath: #87227
  • [ci] Fix releaseStats in build-and-deploy: #87235
  • Update turbopack team members: #87231
  • [ci] Only install Playwright dependencies for used browser: #87002
  • [turbopack] Break ties using a counter instead of node index: #87252
  • bundle-analyzer: use and multiselect for top bar: #87254
  • [test] Don't use request.allHeaders() in sync page.on() callbacks: #86751
  • test: fix actions deployment tests: #87279
  • bundle analyzer: prevent flashes and stuck empty canvases on resize: #87289
  • Cross link to the demo from the bundle analyzer: #87290
  • bundle analyzer: remove geist font in favor of system ui fonts: #87292

Credits

Huge thanks to @kdy1, @eps1lon, @SyMind, @bgw, @swarnava, @devjiwonchoi, @ztanner, @ijjk, @huozhi, @icyJoseph, @acdlite, @unstubbable, @gnoff, @gusfune, @vercel-release-bot, @lukesandberg, @sokra, @hayes, @shuding, @wyattjoh, @marjan-ahmed, @timneutkens, @ajstrongdev, @zigang93, @mischnic, @Nayeem-XTREME, @hamirmahal, @eli0shin, @tessamero, @gaojude, @jamesdaniels, @georgesfarah, @timeyoutakeit, @sequencerr, @Strernd, @lucasadrianof, @wbinnssmith, @hamidreza-nateghi, @jokokoloko, @dijonmusters, @H01001000, @xusd320, @lubieowoce, @KaziMahbuburRahman, @zhiyanzhaijie, @feedthejim, @that-one-arab, @JamBalaya56562, @shrink, @florianliebig, @allenzhou101, @benmerckx, @ymc9, @Marukome0743, @pyrytakala, @danpeleg4, @gaearon, @styfle, @jhuleatt, @muhammadsyaddad, @roelvan, and @SukkaW for helping!

5 hours ago
next.js

v16.1.0-canary.34

Core Changes

  • Revert "Move next-env.d.ts to dist dir": #87311

Credits

Huge thanks to @ztanner for helping!

8 hours ago
swc
8 hours ago
next.js

v16.1.0-canary.33

Core Changes

  • Upgrade React from b45bb335-20251211 to f93b9fd4-20251217: #87281
  • feat: use Rspack persistent cache by default: #81399
  • Move next-env.d.ts to dist dir: #86752

Misc Changes

  • bundle analyzer: prevent flashes and stuck empty canvases on resize: #87289
  • Cross link to the demo from the bundle analyzer: #87290
  • bundle analyzer: remove geist font in favor of system ui fonts: #87292

Credits

Huge thanks to @wbinnssmith, @lukesandberg, @SyMind, and @huozhi for helping!

9 hours ago
webpack

v5.104.1

5.104.1

Patch Changes

  • 2efd21b: Reexports runtime calculation should not accessing WEBPACK_IMPORT_KEY decl with var.
  • c510070: Fixed a user information bypass vulnerability in the HttpUriPlugin plugin.
9 hours ago
core

v3.5.26

For stable releases, please refer to CHANGELOG.md for details. For pre-releases, please refer to CHANGELOG.md of the minor branch.

9 hours ago
vue-next

v3.5.26

For stable releases, please refer to CHANGELOG.md for details. For pre-releases, please refer to CHANGELOG.md of the minor branch.

9 hours ago
formatjs

@formatjs/intl-datetimeformat@7.0.3

7.0.3 (2025-12-18)

Bug Fixes

  • @formatjs/intl-datetimeformat: support standalone months, fix #5134 (#5583) (3c7dd24) - by @longlho
9 hours ago
formatjs

@formatjs/ecma402-abstract@3.0.3

3.0.3 (2025-12-18)

Bug Fixes

  • @formatjs/intl-datetimeformat: support standalone months, fix #5134 (#5583) (3c7dd24) - by @longlho
10 hours ago
tdesign-vue-next

tdesign-vue-next@1.17.7

🌈 1.17.7 2025-12-18

🚀 Features

  • ImageViewer:
    • 优化下载跨域图片时的格式处理,优化通过下载获取的文件大小 @RylanBot (common#2311) (#6270)
    • 支持直接下载同域图片,避免二次转换导致体积增大和动图失效等问题 @RylanBot (common#2311) (#6270)
  • 支持 .dark 类名,丰富切换深色模式的方式 @liweijie0812 (common#2355)

🐞 Bug Fixes

  • Avatar: 修复样式与设计稿不一致的问题 @liweijie0812 (common#2364) (#6270)
  • DatePicker: 修复按需引入组件且开启时间面板时打包后丢失部分样式的问题 @uyarn (#6257)
  • DateRangePicker: 修复在表单中使用且携带default-time参数时,二次选择会置空数据的缺陷 @RSS1102 (#6268)
  • Dropdown: 修复编辑器提示缺少 TDropdownMenu 类型声明的问题 @RSS1102 (#6238)
  • Menu: 修复菜单选项默认边距和图标大小的问题 @liweijie0812 (common#2369) (#6270)
  • Tree: 修复子节点为自定义的 Input 等元素时,选中文本的高亮样式被隐藏的问题 @RylanBot (common#2370) (#6270)
  • Popconfirm: 修复快速点击默认按钮时 getComputedStyle 报错的问题 @Copilot (#6224)

📈 Performance

  • 移除产物中的冗余内容 @liweijie0812 (#6269)

🚀 Features

  • ImageViewer:
    • Optimize the format processing and compression ratio when downloading cross-domain images @RylanBot (common#2311) (#6270)
    • Support direct downloading of same-domain images to avoid problems such as volume increase and animation failure caused by secondary conversion @RylanBot (common#2311) (#6270)
  • Support the .dark class name to enable more flexible dark mode switching. @liweijie0812 (common#2355)

🐞 Bug Fixes

  • Avatar: Fixed the inconsistency between the style and the design draft@liweijie0812 (common#2364) (#6270)
  • DatePicker: Fixed the issue of missing styles after bundling when using on-demand component imports and enabling the time picker panel. @uyarn (#6257)- DateRangePicker: Fixed a bug where secondary selection will blank data when used in a form and carrying the default-time parameter @RSS1102 (#6268)
  • Dropdown: Fixed the issue where the editor prompt is missing the TDropdownMenu type declaration @RSS1102 (#6238)
  • Menu: Fixed issues with default margins and icon sizes for menu options @liweijie0812 (common#2369) (#6270)
  • Tree: Fixed the problem where the highlight style of the selected text is hidden when the child node is a custom Input element. @RylanBot (common#2370) (#6270)
  • Popconfirm: Fixed the error reported by getComputedStyle when quickly clicking the default button @Copilot (#6224))

📈 Performance

  • Remove redundant content from the product @liweijie0812 (#6269)