JavaScript Frameworks Release Notes

Release notes for JavaScript and web frameworks, bundlers and static site generators

Get this feed:

Products (10)

Latest JavaScript Frameworks Updates

  • Sep 2, 2026
    • Date parsed from source:
      Sep 2, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Vite logo

    Vite

    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)
    Original source
  • Sep 2, 2026
    • Date parsed from source:
      Sep 2, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Rolldown logo

    Rolldown

    [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.facadeModuleId nullable 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]
    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Vite and hundreds of other software products.

    Create account
  • Aug 31, 2026
    • Date parsed from source:
      Aug 31, 2026
    • First seen by Releasebot:
      Aug 31, 2026
    Vercel logo

    Next.js by Vercel

    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)
    Original source
  • Aug 31, 2026
    • Date parsed from source:
      Aug 31, 2026
    • First seen by Releasebot:
      Aug 31, 2026
    Vercel logo

    Next.js by Vercel

    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
    Alpine.js logo

    Alpine by Alpine.js

    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
    Svelte logo

    Svelte

    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.
    Until next time 👋🏼!

    Original source
  • Aug 30, 2026
    • Date parsed from source:
      Aug 30, 2026
    • First seen by Releasebot:
      Aug 30, 2026
    Alpine.js logo

    Alpine by Alpine.js

    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 logo

    Svelte

    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)
    Original source
  • Aug 27, 2026
    • Date parsed from source:
      Aug 27, 2026
    • First seen by Releasebot:
      Aug 28, 2026
    Vue logo

    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
    Original source
  • Aug 27, 2026
    • Date parsed from source:
      Aug 27, 2026
    • First seen by Releasebot:
      Aug 28, 2026
    Remix logo

    React Router by Remix

    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 - Fix Expected 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> leaving history.scrollRestoration set 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 the relative option in useSubmit/fetcher.submit when resolivng the action path (#15400)
    • react-router - Add additional URL validation on client side navigations/redirects (#15445)
    • @react-router/dev - Bump @remix-run/node-fetch-server dependency (#15447)
    • @react-router/dev - Generate JavaScript entry files at package build time so react-router reveal --no-typescript does not require Prettier at runtime (#15373)
      • Deprecate the --no-typescript flag ahead of its removal in React Router v9
    • @react-router/node - Bump @remix-run/node-fetch-server dependency (#15447)
    • @react-router/node - fix: Prevent client disconnects during streaming from crashing the Node process (#15324)
    • @react-router/serve - Bump @remix-run/node-fetch-server dependency (#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's assetlinks.json, Apple's apple-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: v8.3.0...v8.3.1

    Original source