v16.3.0-preview.7
- fix: error handling and loading states in with-apollo-and-redux example: #91457
- Upgrade React from
172742b4-20260716to81e442ea-20260721: #96016 - Fix Turbopack middleware matcher with i18n single locale: #96014
- Improve performance of validating MPA form submissions: #96013
- Enforce
serverActions.bodySizeLimitfor Server Actions in Edge runtime: #96012 - Set correct origin for internal redirects in custom server: #96011
- Ensure exotic rewrite param values are properly encoded: #96010
- fix(fetch-cache): key fetch(Request, init) by the effective request: #96009
- fix(incremental-cache): byte-exact fetch cache key for binary bodies: #96008
- Validate server reference IDs during manifest lookup: #96007
- fix(next/image): improve performance of detectContentType() : #96006
- Preserve basePath in redirect destinations: #95608
- [ci] Skip passed-tests cache steps for jobs that never run tests: #96001
- docs: add upgrade section to installation and expand AI agents guide: #95861
- docs: fix unstable_cache syntax error: #96002
- Insights: use a single Learn more link in console errors: #95967
- Refine development validation signal handling: #95998
- Include examples of static export tools & GitHub Pages template: #95929
- docs: note the
:has()scaling limit in the Interactive apps guide: #95925 - Prevent unhandled rejections when a "use cache" cache handler errors: #95985
- [test] Add coverage for throwing custom "use cache" cache handler: #95984
- docs: clarify layout.js nesting behavior in route groups: #95720
- Fix instant validation blocking navigations: #95939
- [ci] Share a single browser instance across all test suites in a single job: #95589
- [turbopack] Rename
turbopackTreeShakingtoturbopackModuleFragments: #95978 - cna: use LayoutProps helper in TS layout templates: #95675
- [turbopack] Skip redundant top-level root updates: #95903
- [turbopack] Drop unused exports from a CJS module: #95716
- Turbopack: Simplify parent directory creation retry loop logic: #95835
- Run Rust doctests in CI: #95911
- docs: add 'Set up your editor' to the installation guide: #95928
- fix(cms-contentful): await draftMode() and use Promise<> params type: #95631
- Move outputHashSalt out of experimental: #95840
- Move immutable static assets config option out of experimental: #95351
- [instant] Let dev-server requests bypass the fetch lock: #95761
- Upgrade React from
7023f501-20260714to172742b4-20260716: #95901 - Fix Rust doctest failures: #95909
- [turbopack] Clean up
server_chunking_context: #95908 - [turbopack] Don't SSR on pages only navigated to through a soft nav: #95539
- Package skills/ as a Claude Code plugin: #95907
- [ci] Avoid apt-get in the next-stats-action Docker image: #95847
- Back/forward set the Nav Inspector back to pending: #95865
- fix(agent-rules): pad managed AGENTS.md block with blank lines: #95892
- Revert "Run more test suites under cacheComponents flag": #95884
- Fix repeated navigations while the Instant Navigation lock is held: #95864
- Run more test suites under cacheComponents flag: #95878
- Unify appShells flag with Partial Prefetching: #95415
- Fix Request Insights span collection: #95818
- Revert "Replay same-document traversals that happen before hydration": #95853
- [ci] Allow running all deploy tests with builds from a private registry: #95784
- [turbopack] Only ship pages-router routes in the client chunk-group bootstrap manifest: #94671
- [turbopack] Inline the chunk group bootstrap in Next.js to drop the per-route runtime: #94666
- [turbopack] Add
chunk_group_bootstrap_paramsand the chunk-loading global to the build manifest: #94663 - [turbopack] Add
registerEntry()to handle inline bootstrapping: #94664 - [turbopack] Add
inline_chunk_group_bootstraptoBrowserChunkingContextandchunk_group_bootstrap_paramstoChunkGroupResult: #94661 - [turbopack] Create a
chunk_group_bootstrap_params()function: #94631 - [turbopack] Create a shared asset with browser runtime code: #94586
- Turbopack: trace externals imported only by server actions: #95824
- [turbopack] Generate component chunks for each merged group to increase cache hits: #95261
- Exclude stale under 5 minutes from app shells: #95833
- docs: remove experimental @next/routing note: #94903
- [turbopack] Tell agents not to mention next.config.js options: #95825
- chore: Remove stale build warning: #95813
- Replay same-document traversals that happen before hydration: #95682
- docs: cssChunking graph option: #95693
- [Bench] Extend bench app to have realistic client chunk counts: #95814
- Add more realistic bench fixtures: #95807
- Fix Request Insights subscription initialization: #95794
- Model async userland loading in app routes as a state machine: #95791
- Preserve init errors from async route modules: #95799
- Fix cache warming and static params for metadata images with top-level await: #95790
- Only track pending imports for real promises: #95789
- Support metadata routes in --debug-build-paths: #95788
- Respect NEXT_HASH_SALT for server side assetsHashes: #95738
- telemetry: add agentName to anonymous metadata: #95586
- [turbopack] Optimize the implementation of AutoMap/AutoSet : #95694
- Better support the CLI spinner when running the TSC CLI: #95753
- Upgrade React from
5123b063-20260708to7023f501-20260714: #95782 - docs: add route-side URL data audit to the Partial Prefetching adoption guide: #95389
- docs: revalidateTag with expire zero, for route handlers: #95760
- request insights: add DevTools request panel (5/5): #93978
- docs: Improve immutable static docs: #95752
- Add React sync development skill: #95620
- docs: useSearchParams example stray link: #95759
- Improve the NFT error message and ignore comment handling: #95144
- Upgrade to swc 73: #95731
- [turbopack] Switch
make_production_chunksto use floats: #95749 - Fix termination handling: #95692
- Restore canary version 16.3.0-canary.84 after v16.3.0-preview.6 preview release
Huge thanks to @vercel-release-bot, @eps1lon, @ZaforAbdullah, @gaojude, @aurorascharff, @icyJoseph, @timneutkens, @WildChargerTV, @ankurdotio, @bgw, @sampoder, @marcoshernanz, @manoraj, @mischnic, @acdlite, @gaearon, @gnoff, @andrewimm, @lukesandberg, and @feedthejim for helping!
v16.3.0-canary.92
- fix: error handling and loading states in with-apollo-and-redux example: #91457
- Upgrade React from
172742b4-20260716to81e442ea-20260721: #96016 - Fix Turbopack middleware matcher with i18n single locale: #96014
- Improve performance of validating MPA form submissions: #96013
- Enforce
serverActions.bodySizeLimitfor Server Actions in Edge runtime: #96012 - Set correct origin for internal redirects in custom server: #96011
- Ensure exotic rewrite param values are properly encoded: #96010
- fix(fetch-cache): key fetch(Request, init) by the effective request: #96009
- fix(incremental-cache): byte-exact fetch cache key for binary bodies: #96008
- Validate server reference IDs during manifest lookup: #96007
- fix(next/image): improve performance of detectContentType() : #96006
- Preserve basePath in redirect destinations: #95608
- [ci] Skip passed-tests cache steps for jobs that never run tests: #96001
- docs: add upgrade section to installation and expand AI agents guide: #95861
- docs: fix unstable_cache syntax error: #96002
- Insights: use a single Learn more link in console errors: #95967
- Refine development validation signal handling: #95998
- Include examples of static export tools & GitHub Pages template: #95929
- docs: note the
:has()scaling limit in the Interactive apps guide: #95925 - Prevent unhandled rejections when a "use cache" cache handler errors: #95985
- [test] Add coverage for throwing custom "use cache" cache handler: #95984
- docs: clarify layout.js nesting behavior in route groups: #95720
- Fix instant validation blocking navigations: #95939
- [ci] Share a single browser instance across all test suites in a single job: #95589
- [turbopack] Rename
turbopackTreeShakingtoturbopackModuleFragments: #95978 - cna: use LayoutProps helper in TS layout templates: #95675
Huge thanks to @vercel-release-bot, @eps1lon, @ZaforAbdullah, @gaojude, @aurorascharff, @icyJoseph, @timneutkens, @WildChargerTV, @ankurdotio, @bgw, and @sampoder for helping!
v4.0.0-rc.0
- Add
minscale,maxscalegeo plot attributes [#7371], with thanks to @mojoaxel for the contribution! - Enable TypeScript compatibility within the library and start exporting types [#7680]
- Add
quivertrace type to visualize vector fields using arrows [#7710], with thanks to @degzhaus for the contribution! - Use dashed markers in legend for shape traces with dash configured [#7845]
- Add
sortoption to Sankey links and nodes [#7873], with thanks to @adamreeve for the contribution! - Add support for MathJax v4 [#7898]
- Breaking: Remove
scattermapbox,choroplethmapbox,densitymapboxtrace types, themapboxsubplot, and themapboxAccessTokenconfig option [#7860]- These traces have been deprecated since v3. Use the equivalent
*maptraces going forward.
- These traces have been deprecated since v3. Use the equivalent
- Breaking: Drop support for MathJax v2 [#7898]
- MathJax v3 and v4 are now supported in plotly.js
- Remove config attributes
showLink,linkText,sendData,showSources, andshowEditInChartStudio, as well as trace attributestream, since all of these were associated with Chart Studio and are no longer needed [#7812] - Remove all
*srcattributes, as well aslayout.hidesourcesattribute, from the schema [#7829] - Remove internal
trace._fullInputproperty and other dead code related to the removedtransformsfeature. No user-facing changes expected [#7834]
- Breaking: Switch color processing library from TinyColor to color [#7536]
rgb()/rgba()strings with decimal 0–1 fractions are no longer supportedhsv()color strings are no longer permitted- Color calculations may differ slightly (by a few RGB units)
- New color formats are now supported: '#ff0000aa', '#f00a', 'rgb(255 0 0)', 'rgba(255 0 0 / 0.5)', 'hsl(0 100% 50% / 0.5)', 'hsla(0, 100%, 50%, 0.5)', 'hwb(0, 0%, 0%)'
- Breaking: Set default
layout.axis.tickmodeto'sync'when axis is overlaying [#7684] - Breaking: Change
splom.axis.matchesdefault fromfalsetotrue[#7843] - Breaking: Replace
country-regexwithcountry-iso-searchto search for country names in choropleth, scattergeo traces [#7856]- The vast majority of country names are handled exactly the same with the new library; a small number of legacy entries have been removed
- Breaking: Update minimum required Node version to 22 [#7861]
- Breaking: Change
layout.geo.fitboundsdefault fromfalseto'locations'[#7895]geosubplots will now auto-fit the initial view to the trace data- Set
fitbounds: falseexplicitly to opt out
- Enable
scattermapicons to render in color, upgrade Maki icons version to 8.2, and standardize scattermap legend icons to circles [#7825] - Use plot title as default filename for "Download plot" button [#7828]
- Change signature of
plots.graphJson()function to removemodeargument [#7829] - Upgrade
plotly/d3-sankeyto 0.12.3. [#7830], with thanks to @adamreeve for the contribution! - Update
plot_configto show the "Upload to Cloud" button by default, and set the default server URL to cloud.plotly.com via [#7909]
- Fix
histogramautobin size for single-point traces inoverlaymode on data updates viaPlotly.react[#7507], with thanks to @Lexachoc for the contribution! - Format tick labels correctly for small numbers in exponential notation [#7768], with thanks to @Hasnaathussain for the contribution!
- Fix crash when ordering categories by value (e.g.
sum descending) withnullcoordinates [#7855] - Fix
scattermap,densitymaptraces not showing all points by dynamically computingcenter,zoomvalues [#7884, #7913], with thanks to @palmerusaf and @DhruvGarg111 for the contributions! - Fix GeoJSON bounding-box computation for
choroplethandscattergeotraces whose geometry crosses the antimeridian [#7891] - Snap cartesian axis tick values to multiple of delta so custom
tickformat(e.g."~r") no longer shows floating-point artifacts [#7901], with thanks to @arieleli01212 and @kirthi-b for the contribution!
electron v42.7.1
- Fixed
app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52371 (Also in 41, 43, 44) - Fixed a crash when showing Linux message boxes while another Linux UI implementation was active. #52408 (Also in 43, 44)
- Fixed an issue where frameless windows could shrink after applying constraints or toggling resizability on Windows. #52366 (Also in 43)
- Fixed crash during maglev compilation. #52311
- Fixed remote debugging via
--remote-debugging-portnot working when inspecting from Chrome'schrome://inspectpage. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51415 (Also in 41) - Fixed unnecessary autofill popup creation for fields without datalist suggestions, which could cause input latency on macOS. #52319 (Also in 41, 43, 44)
- Backported fixes from upstream Chromium and V8. #52395
electron v43.2.0
- Added
net.WebSocket, a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack. #52344 (Also in 42)
- Fixed
app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52369 (Also in 41, 42, 44) - Fixed
globalShortcutnot working on GNOME Wayland by enabling Chromium'sGlobalShortcutsPortalPreferredTriggerfeature by default on Linux. #52228 - Fixed a crash when showing Linux message boxes while another Linux UI implementation was active. #52410 (Also in 42, 44)
- Fixed a window being marked hidden and background-throttled on macOS when covered by a transparent or click-through window. #52389 (Also in 44)
- Fixed unnecessary autofill popup creation for fields without datalist suggestions, which could cause input latency on macOS. #52321 (Also in 41, 42, 44)
- Fixed webContents.print() returning "Invalid printer settings" when print options are provided. #52381 (Also in 44)
- Updated Chromium to 150.0.7871.129. #52355
electron v41.10.3
- Fixed
app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52368 (Also in 42, 43, 44) - Fixed unnecessary autofill popup creation for fields without datalist suggestions, which could cause input latency on macOS. #52320 (Also in 42, 43, 44)
- Backported fixes from upstream Chromium and V8. #52396
19.0.8 (July 21st, 2026)
- Performance improvements when decoding (#37089 by @eps1lon)
19.0.8 (July 21st, 2026)
- Performance improvements when decoding (#37089 by @eps1lon)
19.1.9 (July 21st, 2026)
- Performance improvements when decoding (#37088 by @eps1lon)
19.1.9 (July 21st, 2026)
- Performance improvements when decoding (#37088 by @eps1lon)