Skip to content

v14.0.4

Compare
Choose a tag to compare
@huozhi huozhi released this 07 Dec 21:25
· 2445 commits to canary since this release

Core Changes

  • Remove early return that is duplicated in useSearchParams: #58545
  • Support passing a relative string to pushState/replaceState: #58438
  • [.next/trace] Record start-dev-server trace span: #58469
  • Update React from 593ecee66 to 2c338b16f.: #58553
  • turbopack: Fix pageExtensions with dots: #58504
  • fix: revalidation with file-system-cache: #58508
  • fix: fetch() behavior when "dynamic" is "force-dynamic: #58484
  • Add cacheNodeSeedData to RSC payload: #58566
  • Lift subtree data out of React tree: #58569
  • fix(next-core): allow runtime segment option in pages/api: #58409
  • Update rust-toolchain to 2023-11-16: #58558
  • refactor: Add lightningcss mode for turbopack-css: #58471
  • fix: avoid race condition when download swc wasm: #58536
  • Removed unused route resolver code: #58702
  • Add experimental.windowHistorySupport to Turbopack supported options: #58717
  • Improve Server Actions compiler: #58391
  • Seed CacheNodes immediately after receiving response: #58669
  • Turbopack: improve error display: #58734
  • fix node externals resolving: #58129
  • disable static prefetching behavior for dynamic segments: #58609
  • fix: ensure DynamicUsageErrors caught during render bubble up: #58747
  • fix image.domains deprecation warning: #58656
  • fix waitUntil handling in pipeToNodeResponse: #58744
  • Use consistent resolve extensions alias for compiler: #58725
  • Turbopack: Use styled issue titles and details: #58743
  • route handlers: make req.cookies opt you into dynamic: #58769
  • OpenTelemetry: a more reliable way to establish a root context: #58662
  • Revert "fix: fetch() behavior when "dynamic" is "force-dynamic": #58735
  • [Instrumentation] Don't treat instrumentation hook as pages: #58775
  • Fix turboFlag set to false: #58795
  • [.next/trace] Track server requests and memory usage: #58690
  • place virtual module inside the project directory: #58798
  • fix rewrites to edge routes: #58797
  • Polish unsupported metadata warning with doc link: #58750
  • Enable .mjs extension config in Turbopack: #58825
  • Turbopack: align automatic externals code with webpack: #58851
  • Upgrade Turbopack: #58859
  • OpenTelemetry: propagate context to sandbox: #58791
  • fix uniqueness of layers: #58872
  • disable flushToDisk during generateStaticParams: #58871
  • Turbopack: enable some node.js builtin in edge runtime: #58850
  • add NEXT_TRIGGER_URL env var to show request triggering a compilation: #58762
  • Update swc_core to v0.86.81: #58517
  • Trace server updates: #58694
  • remove duplicate util file for redirect status: #58878
  • fix(windows): workaround for intermittent locks on windows when renaming files: #58835
  • unify server action detection logic: #58879
  • Fix nested fetch logging indentation: #58955
  • Delete preloadComponent module: #58741
  • Remove cache field from action types: #58938
  • Add nodejs version check: #58958
  • Code refactoring: #58737
  • Fix bugs with baseUrl and mdxRs: #58968
  • Fix encoding in encryption of Server Actions: #59000
  • fix(turbopack): treat .mdx as valid ecma asset: #58985
  • dedupe pending revalidation requests: #58990
  • fix: Put back type for NavigateOptions.scroll: #59001
  • Cleanup Render Result: #58782
  • fix(turbopack): add list of packages that should never be marked as e…: #59020
  • Testmode: provide test info for rewrite requests: #59033
  • build(cargo): bump up turbopack: #59032
  • fix async action queue behavior: #59038
  • start performance profiling after node.js version is checked: #59028
  • Fixed stale fetch using when page regenerates: #58926
  • Enable PPR tests for test suites: #59030
  • Update font data: #59043
  • update status codes for redirect and permanentRedirect in action handlers: #58885
  • Ensure stale build fetch data is not unexpectedly used: #59076
  • add support for instrumentation: #59070
  • use 303 status code for redirects in fetch actions: #59017
  • verify action id before parsing body: #58977
  • fix interception routes with rewrites: #59094
  • Fix next internal is missing in flight manifest: #59085
  • Support generating multi-meta tahs for metadata api other prop: #59106
  • Turbopack: Align some "Module not found" errors with webpack: #58518
  • Fix dynamic usage errors logging unexpectedly: #59133
  • Fix: remove deprecated option from standalone server: #59036
  • Update font data: #59138
  • fix typedRoutes when used with webpackBuildWorker: #59140
  • Add NEXT_MANUAL_SIG_HANDLE handling to start-server.ts: #59117
  • Support adding CSP nonce with content-security-policy-report-only header: #59071
  • chore: fix typo in jsDoc: #58224
  • fix: add maxDuration to PageConfig type: #55918
  • Fix mixed module swc compilation for app router: #58967
  • Don't catch ensureMiddleware errors: #59166
  • fix behavior when revisiting an intercepted route: #59168
  • Turbopack only enable instrumentationHook with experimental flag: #59173
  • fix server actions behavior on intercepted routes: #59175
  • Fix ssgCacheKey in minimal mode: #59181
  • Update to latest version of @vercel/nft: #59183
  • Ensure original history is read in effect: #58861
  • fix some small turbopack issues: #59171
  • fix tsconfig alias cycle: #59232
  • Resolve build issues with symlinked files: #57412
  • Disable more Turbopack build tests: #59245
  • Remove mutable field from action types: #59221
  • Add process.env.__NEXT_PPR to build config: #59253
  • Fix dynamic transform ssr:false case for pages router with ESM: #59246
  • Delete unused static prefetch code: #58783
  • fix(next-core): adjust edge entry path: #59265
  • feat: support outputFileTracing in App Router: #59139
  • docs: fix remotePatterns link in image-config.ts: #59197
  • Testmode: support edge functions inside a sandbox: #59179
  • Update font data: #59271
  • fix: properly call normalizeDynamicRouteParams in NextWebServer.handleCatchAllRenderRequest: #58949
  • add user-level tracing: #59284
  • Fix app-dir - logging test in Turbopack: #59261
  • update turbopack: #59285
  • feat(turbopack): support loading WebAssembly in the edge runtime: #59013
  • Fix barrel optimization to ignore layers: #59254
  • fix interception routes with dynamic segments: #59273
  • Clean up builtin modularizeImports configs: #59294
  • Enable PPR for dynamic = "force-dynamic": #58779
  • remove additional static prefetch code: #59313
  • add module tracing for client reference and next/dynamic walking: #59306
  • side effects optimization: #58972
  • Move App Router client-side constants to separate file: #59239
  • reduce function calls in walk: #59332
  • update turbopack: #59334
  • disable unused next/dynamic walking in app dir: #59338
  • fix hmr in multi-zone handling: #59307
  • fix edge route catch-all param parsing: #59343
  • add logLevel support to @next/bundle-analyzer: #59228
  • Fix server output bundling packages module resolving: #59369
  • fix inconsistent scroll restoration behavior: #59366
  • test: ability to use node debugger: #56277
  • fixes the logging by showing full URLs only on demand: #58088
  • rm console.log: #59381

Documentation Changes

  • docs: Fix grammar in Caching section: #58070
  • Update 01-installation.mdx: #58555
  • Fix naming: #58539
  • docs: clarify route handler caching: #58541
  • [Next.js Docs] Adds useOptimistic link: #58706
  • Docs: Add missing diagram : #59008
  • Docs: Update revalidate example: #59002
  • docs: patch upgrade guide to pin install version: #58993
  • Docs: Delete fast refresh example: #59003
  • docs:Add react hydration error case.: #59147
  • Correcting the webpack function introduction: #58663
  • Docs: Fix upgrade guide files: #59249
  • docs: fix broken link to learn course: #59288
  • docs fix: Server Action js example: #59159
  • docs: Remove invalid URL: #58823
  • Fix incorrect prop name in client component: #58591
  • update: Firebase link to with-firebase example: #58621
  • added comma to the props list: #58596
  • Update 10-route-handlers.mdx: #59021
  • Add documentation note about middleware and runtimes: #58873
  • Revert "added comma to the props list": #59314

Example Changes

  • Update cache-handler-redis example: #58562
  • Update & Repair LRUCache importation on NextJS Rate Limit API example: #58060
  • examples with-zustand update to app dir #52858: #58042
  • examples: fix import statement for lru-cache: #58567
  • examples: Remove outdated example: #58568
  • feat(examples): add upload file example with Server Actions: #58467
  • migrate with-cypress example to app dir: #58053
  • fix lint in examples: #58630
  • examples: add direct link to Dockerfile: #58793
  • Update Electron Typescript Example with Best Practices: #58947
  • Enable typechecking on config: #57892
  • Updates with-supertokens example app: #58525

Misc Changes

  • fix(turbopack): e2e/404-page-router test: #58146
  • Turbopack: update to turbopack-231122.3: #58784
  • make tests more stable: #58765
  • chore(CI): improve datadog reporting: #58267
  • chore(CI): add action to auto retry tests on canary and report failures after retries: #58774
  • ci: unify reset project script: #58829
  • ci: disable deployment protection for e2e test project: #58830
  • fix(CI): retry-test action can't use env in if: #58838
  • Update Turbopack test manifest from GitHub Actions artifact: #58394
  • Increase default timeout for swc build: #59035
  • chore: bump nissuer (issue validator): #59060
  • fix(test): don't use latest sharp: #59074
  • misc: disable automerge: #59077
  • Update checkout step: #59079
  • ci: don't try to upload to datadog for docs only changes: #59068
  • misc: delete kodiak: #59082
  • add full PPR e2e tests: #59025
  • ci: don't retry or notify on failures from forks: #59118
  • skip release if no new commits: #59134
  • fix variable name in release workflow: #59135
  • Update Turbopack test manifest: #59109
  • fix(next-core): do not panic when parsing segment config: #59170
  • Correctly skip build test for Turbopack: #59207
  • Failing test for 59195: #59210
  • ci: report daily turbo integration test results from this repo: #58965
  • fix typo in daily turbopack integration test reporting: #59251
  • fix missing echo in daily turbopack reporting: #59255
  • fix missing checkout in daily turbopack reporting: #59256
  • Add app router name to font tests: #59257
  • Fix non bundler module resolution in ts for third-parties pkg: #59244
  • fix dev parallelism in daily turbopack tests: #59287
  • Update Turbopack test manifest: #59326
  • Update tests for Turbopack: #59354
  • Update Turbopack test manifest: #59356

Credits

Huge thanks to @timneutkens, @mknichel, @gnoff, @jridgewell, @gtjamesa, @mugi-uno, @better-salmon, @kentobento, @vivianyentran, @empflow, @leerob, @samennis1, @mkcy3, @acdlite, @kwonoj, @suhaotian, @wbinnssmith, @imevanc, @ztanner, @kdy1, @d3lm, @wyattjoh, @manovotny, @shuding, @sokra, @feedthejim, @dvoytenko, @ForsakenHarmony, @huozhi, @delbaoliveira, @amannn, @ijjk, @hallatore, @balazsorban44, @LukeSchlangen, @Dylan700, @mpsq, @mdio, @christianvuerings, @A7med3bdulBaset, @karlhorky, @simonhaenisch, @olci34, @zce, @LavaToaster, @rishabhpoddar, @smaeda-ks, @jirihofman, @codercor, @devjiwonchoi, @Willem-Jaap, @JackieLi565, @thoushif, @pkellner, @jpfifer, @quisido, @tomfa, and @raphaelbadia for helping!