JavaScript Frameworks Release Notes
Release notes for JavaScript and web frameworks, bundlers and static site generators
Products (10)
Latest JavaScript Frameworks Updates
- Sep 2, 2026
- Date parsed from source:Sep 2, 2026
- First seen by Releasebot:Sep 2, 2026
8.3.0-beta.0 (2026-09-02)
Vite adds new server, CLI, CSS, worker, and import handling improvements, plus several bug fixes and refactors for a smoother build and dev experience. It also tightens plugin and config behavior while updating dependencies and internal tooling.
Features
- accept Rolldown watch options in server.watch (#23133) (1b5cfe3)
- add closeServer and closePreviewServer hooks (#23110) (e17d2d5)
- add top-level tsconfig option (#23310) (93164c3)
- add warning for unsupported hooks in plugin returned from applyToEnvironment hook (#23191) (fdef04f)
- cli: support naming the CPU profile via --profile [name] (#23042) (a500dee)
- config: warn on named imports from JSON modules (#23378) (472385e)
- css: minify style tag (#23183) (8156684)
- searched params attached to workers are now preserved (#22280) (517b97f)
- support subpath imports in dynamic import statements (#23185) (b78e2f1)
- use import.meta.ROLLDOWN_FILE_URL_* for assets in JS (#22888) (4366ac4)
- use import.meta.ROLLDOWN_FILE_URL_* for other plugins (#22894) (e38f29e)
- worker: remove worker chunk if it's detected that it's not referenced (#22473) (924997a)
Bug Fixes
- config: close bundles when generation fails (#23256) (6bacc95)
- css: keep newline-separated srcset candidates intact (#23265) (4f9d2f4)
- deps: update all non-major dependencies (#23337) (d550815)
- deps: update all non-major dependencies (#23404) (238ad81)
- deps: update rolldown-related dependencies (#23338) (76e8082)
- deps: update rolldown-related dependencies (#23405) (b882566)
- dev: run closeBundle after buildEnd failure (#23165) (8cb872e)
- hmr: handle import.meta.hot.invalidate in virtual module (#23171) (6162968)
- utils: handle dot in srcset density descriptor (#23346) (b50e1b4)
- utils: match timestamp query parameter with proper delimiters (#23364) (41f3c6f)
Miscellaneous Chores
- delete unused PluginContainerOptions (#23382) (ee64401)
- use oxfmt sortImports (#23319) (97ad042)
Code Refactoring
- delete unused esbuildPlugin (#23381) (f40efef)
- exclude postfix from VITE_ASSET (#22886) (a6c08e1)
- remove HmrUrl concept (#23172) (67a6807)
- use urlId of import.meta.ROLLDOWN_FILE_URL in wasm plugin (#22962) (92bd2a7)
Tests
- add renderBuiltUrl change changes hash (#23118) (0291408)
- Sep 2, 2026
- Date parsed from source:Sep 2, 2026
- First seen by Releasebot:Sep 2, 2026
[1.2.7] - 2026-09-02
Rolldown fixes facade chunk handling, clarifies plugin timing warnings, and improves fold cycle checks. It also adds a circular reexport test and refreshes several dependencies and tooling updates.
đ Bug Fixes
- rolldown_binding: make
PreRenderedChunk.facadeModuleIdnullable like Rollup (#10810) by @IWANABETHATGUY - plugin_timings: reword the warning so it does not contradict itself (#10788) by @IWANABETHATGUY
- model a facade's host import in the fold cycle check (#10743) by @ulrichstark
đ§Ş Testing
- dev: add circular reexport test (#10563) by @sapphi-red
âď¸ Miscellaneous Tasks
- deps: update npm packages (#10795) by @renovate[bot]
- deps: update rust crates (#10794) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.28.3 (#10805) by @renovate[bot]
- renovate: disable oxc auto-updates (#10813) by @IWANABETHATGUY
- deps: upgrade oxc to 0.148.0 (#10809) by @camc314
- deps: update pnpm to v11.24.0 (#10803) by @renovate[bot]
- deps: update crate-ci/typos action to v1.50.0 (#10806) by @renovate[bot]
- deps: update test262 submodule for tests (#10808) by @rolldown-guard[bot]
- deps: update rollup submodule for tests to v4.63.1 (#10807) by @rolldown-guard[bot]
- deps: update crate-ci/typos action to v1.49.1 (#10796) by @renovate[bot]
- deps: update github actions (#10749) by @renovate[bot]
All of your release notes in one feed
Join Releasebot and get updates from Vite and hundreds of other software products.
- Aug 31, 2026
- Date parsed from source:Aug 31, 2026
- First seen by Releasebot:Aug 31, 2026
v16.3.4
Next.js fixes AVIF image optimization and key build and Turbopack bugs in a follow-up release.
Follow-up release to v16.3.3 re-enabling AVIF Image Optimization (#97949).
The following bug fixes have been backported. It does not include all pending features/changes on canary.
Credits
Huge thanks to @eps1lon, @mischnic, and @timneutkens for helping!
- testmode: Fix infinite recursion in testmode passthrough fetch (#97691)
- Fix build error when aliasing typescript to @typescript/typescript6 (#97997)
- Fix unset crossOrigin in Turbopack manifests (#97930)
- Aug 31, 2026
- Date parsed from source:Aug 31, 2026
- First seen by Releasebot:Aug 31, 2026
v15.5.25
Next.js re-enables AVIF image optimization in a follow-up release for newer sharp versions.
Follow-up release to v15.5.24 re-enabling AVIF Image Optimization when newer versions of sharp are installed (#97954).
Original source - Aug 31, 2026
- Date parsed from source:Aug 31, 2026
- First seen by Releasebot:Aug 31, 2026
v3.17.1
Alpine adds dwell timing to the intersect plugin and clarifies how Alpine effects track reactive dependencies.
What's Changed
- Add dwell timing to the intersect plugin by @cyppe in #4884
- Bump brace-expansion from 1.1.11 to 1.1.18 by @dependabot[bot] in #4882
- Docs: clarify how Alpine effects track reactive dependencies by @MuslumYilmaz in #4883
New Contributors
- @cyppe made their first contribution in #4884
- @MuslumYilmaz made their first contribution in #4883
Full Changelog: v3.17.0...v3.17.1
Original source - August 2026
- No date parsed from source.
- First seen by Releasebot:Aug 31, 2026
Whatâs new in Svelte: September 2026
Svelte releases new SvelteMap methods, context and form improvements, while SvelteKit 3 moves closer to launch with release candidate updates, routing and adapter changes, and a smoother migration path in sv for Kit 3 and AI tooling.
New SvelteMap methods in Svelte 5.57, more SvelteKit 3 iteration and sv 1.0 previews SvelteKit 3 migrations
This month, Svelte 5.57 shipped with new SvelteMap methods and a few quality-of-life additions while SvelteKit 3 got closer to the finish line with its Release Candidate.
The sv CLI also got a new ai-tools add-on that replaces the old mcp one, and sv@next now ships a task-based sveltekit-3 migration for existing apps.
Letâs dive a bit deeper!Whatâs new in Svelte
⢠SvelteMap now has getOrInsert and getOrInsertComputed methods for the common âread or initializeâ pattern (5.57.0, Docs, #18728)
⢠createContext now returns a third has function so you can check whether a context has been set without triggering the get error (5.57.0, Docs, #18472)
⢠now supports the defaultValue attribute, so the select reverts to that value on form reset (5.57.0, #18591)
⢠svelte/server now exports the RenderOutput, SyncRenderOutput, Csp, and Sha256Source types for typing server render output and CSP sources (5.57.0, #18648)For the full list of patches and bug fixes, see the Svelte CHANGELOG.
Whatâs new in SvelteKit 3âs RC
Prereleases have kept rolling on the @next line this month, adding a few more features and refining the surface:
⢠Enhanced cross-page form actions now navigate to the action page on success and failure, matching native form behavior (3.0.0-next.17, breaking, #16684)
⢠Adapter Vite plugins can now be split into pre and post groups so adapters can run transforms at the right point in the pipeline (3.0.0-next.18, breaking, #16711)
⢠Files with + prefixes are now ignored during routing if their names contain test, spec, or stories, so colocated tests donât accidentally become routes (3.0.0-next.19, #16715)
⢠Development-server response logging is now nicer to read and routes through Viteâs logger so it respects logLevel and customLogger (3.0.0-next.20/25, #16744, #16858)
⢠defineParams and the associated types have moved to @sveltejs/kit/params (3.0.0-next.19, breaking, #16716)
⢠+server.js files can now export a QUERY HTTP method handler (3.0.0-next.24, #16782)
⢠The preload filter for fonts now receives the project-relative source filename so you can filter by directory or component (3.0.0-next.24, #16443)
⢠Adapters can call the new applyReroute helper for split serverless function deployments (3.0.0-next.25, #16665)For the meantime, all of the SvelteKit 3 docs live on next.svelte.dev, and the full changelog is on the version-3 branch. The stable 2.x line kept moving too with three patch releases (2.70.1, 2.70.2, 2.70.3) - see the SvelteKit CHANGELOGs for the details.
Whatâs new in the Svelte CLI and Language Tools
⢠The mcp add-on has been replaced with a broader ai-tools add-on that can set up the Svelte plugin (Claude Code, opencode) or pick individual tools (MCP server, skills, sub-agents) per client ([email protected], Docs, #1050)
⢠@sveltejs/sv-utils picks up isKit3, resolveLibPrefix and libSubpathImports helpers so add-ons can transparently handle SvelteKit 2 and 3 ([email protected], #1199)
⢠sv migrate has been reworked to prepare for the SvelteKit 3 migration - it now lists tasks, ships a sveltekit-3 task that bumps dependencies and rewrites $lib to #lib, adds an $app/state task, delegates the older migrations to svelte-migrate@1, and creates a list of changes a developer or agent should resolve if they cannot be migrated automatically ([email protected], Docs, #1138, #1241, #1249)
⢠Newly created projects use #lib (Node subpath imports) instead of $lib, matching SvelteKit 3 ([email protected], #1185)
⢠Community add-ons no longer require a scoped package name ([email protected], #1216)
⢠The experimental add-on is now scoped to enabling experimental features, and the versions option value was renamed to kit-3 ([email protected], breaking, #1241, #1185)
⢠Vite plugin gets a dynamicCompileOptions argument for the current Vite environment, useful when you want to compile differently for the client, server or SSR environment ([email protected], #1386)
⢠svelte2tsx and svelte-check learn about SvelteKit 3âs flattened config structure so the type generation and diagnostics keep working through the migration ([email protected]/[email protected]/[email protected], #3104, #3106)Want to dive deeper? Check out the Svelte CLI, language-tools, and ai-tools releases.
Thatâs it for this month! Let us know if we missed anything on Reddit or Discord.
Original source
Until next time đđź! - Aug 30, 2026
- Date parsed from source:Aug 30, 2026
- First seen by Releasebot:Aug 30, 2026
v3.17.0
Alpine adds deferInit for async tree suspension and fixes Unicode escapes in CSP string literals.
What's Changed
- Fix Unicode escapes in CSP string literals by @dawNotPoi in #4881
- Add Alpine.deferInit() â suspend a tree until an async prerequisite settles by @calebporzio in #4887
New Contributors
- @dawNotPoi made their first contribution in #4881
Full Changelog: v3.16.3...v3.17.0
Original source - Aug 28, 2026
- Date parsed from source:Aug 28, 2026
- First seen by Releasebot:Aug 29, 2026
Svelte ships a broad release with new server exports, a createContext helper, defaultValue support for select, and SvelteMap insertion helpers. It also brings many fixes and performance wins across SSR, hydration, transitions, custom elements, and compiler output.
Minor Changes
- feat: export RenderOutput, SyncRenderOutput, Csp and Sha256Source from svelte/server (#18648)
- feat: add has function to createContext (#18472)
- feat: support defaultValue on <select> (#18591)
- feat: add getOrInsert/getOrInsertComputed to SvelteMap (#18728)
Patch Changes
- fix: block template store subscriptions on the promise that assigns the store (#18582)
- fix: route $derived teardown errors through invoke_error_boundary (#18486)
- fix: track SvelteDate snapshots in reactions (#18700)
- fix: remove <svelte:head> anchors on unmount (#18697)
- fix: warn on undeclared shorthand event handlers on <svelte:window>, <svelte:document> and <svelte:body> (#18480)
- perf: reuse the cached value in the <option>/<select> value guard (#18713)
- fix: prevent malformed AST output for <select> with static value attribute (#18449)
- fix: apply ownership mutation ignores to binding assignments (#18718)
- fix: prevent onoutroend from firing twice when compilerOptions.hmr is true (#18655)
- fix: preserve whitespace after inline elements when printing (#18685)
- perf: fold SSR block-open markers into the branch's first push (#18712)
- fix: run onDestroy callbacks when a server render throws (#18585)
- fix: report derived_invalid_export for export let x = $derived(...) in runes mode (#18692)
- fix: never apply class hash to elements inside <svelte:head> (#18160)
- fix: keep defaultChecked on hydrated radio inputs with spread attributes (#18701)
- fix: accept onfocusin/onfocusout in a11y_mouse_events_have_key_events (#18689)
- perf: O(n²)âO(n) Map lookups for legacy $: reactive statement ordering (#18602)
- fix: distinct memoizer on style/class directives (#18466)
- fix: measure nested transitions before applying their starting styles (#18647)
- fix: don't turn component instances stored in $state into state proxies (#18646)
- perf: emit $.only_child for elements with a single child (#18717)
- fix: omit bind:focused from SSR output (it has no HTML attribute) (#18724)
- fix: more robust rendering of Svelte custom element slots (#18710)
- perf: optimize simple object destructuring in @const tags (#18390)
- fix: properly apply static textarea value attribute during CSR (#18727)
- fix: end a restored reaction context at the end of its synchronous segment (#18694)
- fix: keep the dependencies of a reaction that throws, so deriveds it read are neither leaked nor stuck in their error (#18703)
- fix: don't resurrect outroing elements when an ancestor block is paused and resumed (#18431)
- perf: use $.comment() for single-comment templates (#18714)
- chore: move @types/trusted-types to devDependencies (#18730)
- perf: store setters cache as Set instead of Array (#18251)
- fix: transform derived assignments and select function bindings correctly during server-side rendering (#18669)
- fix: keep boolean attributes with an empty string value when rendering attribute objects on the server (#18721)
- fix: sync SvelteURL port signal when the protocol setter clears the port (#18705)
- fix: block declaration tags and {@const} on async values read inside closures (#18393)
- fix: avoid css tree-shaking for exported Snippet (#18540)
- perf: treat <img loading> as a static element again (#18711)
- fix: prevent selectedcontent mutation from changing the selected option (#18495)
- fix: avoid NaN keyframe values in slide transition for elements without a layout box (#18430)
- fix: preserve line feed character references in attribute values (#18691)
- fix: decode uppercase-X hex numeric character references (&#X...;) (#18708)
- chore: clarify when $effect.pre runs relative to DOM updates (#18534)
- fix: scope SSR boundary failed snippets to their boundary (#18593)
- Aug 27, 2026
- Date parsed from source:Aug 27, 2026
- First seen by Releasebot:Aug 28, 2026
Vue.Js Core by Vue
3.5.42
Vue.Js Core ships bug fixes that improve hydration, suspense, v-model, style binding, server rendering, and shared value comparisons, while tightening select sync and async component handling for a smoother, more reliable runtime.
Bug Fixes
- hydration: handle async component unmount before lazy hydration (#15252) (6e1814a)
- hydration: handle moving unresolved async fragment (#15263) (a72036f)
- runtime-core: avoid caching unmounted suspense children (#15291) (b535917), closes #15288
- runtime-core: keep .trim result when combined with .number v-model modifier (#15346) (f8d42e1)
- runtime-core: resolve $el for dev root comment fragment (#15313) (8654f35), closes #12680
- runtime-dom: support !important on CSS custom properties in style binding (#15348) (31da934)
- server-renderer: reject CR in attribute names (#15266) (a2b40db)
- shared: correctly compare Map and Set values (#15328) (ef82a26), closes #15320
- suspense: don't treat the leaving branch as the fallback while its mount is pending (#15333) (cd19745), closes #15332
- v-model: re-sync select when model is overridden in change handler (#15298) (6eaecc1), closes #10505
- Aug 27, 2026
- Date parsed from source:Aug 27, 2026
- First seen by Releasebot:Aug 28, 2026
v8.3.1
React Router ships patch updates that fix navigation, fetcher, scroll restoration, and lazy route discovery bugs, improve route matching performance and action origin validation, and strengthen URL handling. It also updates dev, node, and serve packages with build, streaming, and well-known file fixes.
Patch Changes
react-router- FixExpected fetcher: <key>error thrown on navigation when a fetcher is aborted during its post-action revalidation (#15365)react-router- Fix lazy route discovery caching a path as discovered when the triggering navigation was aborted after the manifest response settled but before the route tree was patched, which permanently (for the session) shadowed the real route behind a catch-all or produced 404s on every subsequent visit (#15399)react-router- Improve route matching performance for long paths (#15417)react-router- Improve validation of action request origins (#15419)react-router- Fix<ScrollRestoration>leavinghistory.scrollRestorationset to"auto"after a bfcache restore, which let the browser restore scroll on subsequent history traversals before the destination route had rendered (#15397)react-router- Properly respect therelativeoption inuseSubmit/fetcher.submitwhen resolivng theactionpath (#15400)react-router- Add additional URL validation on client side navigations/redirects (#15445)@react-router/dev- Bump@remix-run/node-fetch-serverdependency (#15447)@react-router/dev- Generate JavaScript entry files at package build time soreact-router reveal --no-typescriptdoes not require Prettier at runtime (#15373)- Deprecate the
--no-typescriptflag ahead of its removal in React Router v9
- Deprecate the
@react-router/node- Bump@remix-run/node-fetch-serverdependency (#15447)@react-router/node- fix: Prevent client disconnects during streaming from crashing the Node process (#15324)@react-router/serve- Bump@remix-run/node-fetch-serverdependency (#15447)@react-router/serve- Serve/.well-known/*files from the client build directory. Express 5's static middleware ignores every dot-segment path by default, so RFC 8615 well-known URIs â ACME challenges, Android'sassetlinks.json, Apple'sapple-app-site-associationâ fell through to the request handler and came back as app-rendered HTML instead of the static file. Other dotfiles remain hidden. (#15340)
Full Changelog:
Original sourcev8.3.0...v8.3.1