github vaadin/flow 25.4.0-alpha1
Vaadin Flow 25.4.0-alpha1

latest releases: 25.4.0-alpha6, 25.2.17, 24.7.19...
pre-releaseone month ago

Changes since 25.3.0-beta2

All changes

Breaking changes

  • Stop exporting Spring dependencies at compile scope (#25927)
  • Update default Node.js to v26.9.0 and require Node.js 26 as the minimum (#25775)

New features

  • Theme plain HTML elements app-wide behind vaadin.themedHtml (#25809)
  • Add toString to ListDataProvider and TreeDataProvider (#25984)
  • Run element-bound framework JavaScript from the bundle (#25853)
  • Add type attribute to @JavaScript for runtime ES modules (#24239)
  • Start apps through the server plugin their build runs (#25794)
  • Run the page level framework JavaScript from the bundle (#25858)
  • Call a function on an element without compiling JavaScript (#25852)
  • Support variadic methods in a JavaScript definition (#25877)
  • Run page level declared JavaScript without compiling it in the browser (#25799)
  • Run declared JavaScript without compiling it in the browser (#25749)
  • Add opt-in Keycloak role mapping to VaadinSecurityConfigurer (#25627)
  • Keep a UI alive for its ongoing transfers and terminate them when the session is invalidated (#25431, #25409)
  • Add Vaadin-aware expired session handling (#25625)
  • Add Server-Sent Events as a push transport option (#24484)
  • Exclude @vaadin packages from the minimum frontend package age (#25620)
  • Add Element.sizeSignal() for tracking element size (#23618)
  • Add a playable game to the PWA offline page (#25526)
  • Add ExtendedClientDetails.getBrowserTime() returning an Instant (#25480)

Fixes

  • Restore app shell title after deferred @PreserveOnRefresh reload (#26026)
  • Find the main class again after it moves to another package (#25959, #25954)
  • Keep resource edits made since app start when re-seeding (#25958, #25956)
  • Provide TypeScript 6 alongside the native compiler (#25911, #25416)
  • Ignore a configured Node version too old to run the frontend build (#25649)
  • Qualify the forwarding controller injected into the root mapping (#25914, #25913)
  • Keep query parameters and hash of queued navigation (#25910, #25907)
  • Invalid blocker state transition: unblocked -> proceeding (#25861)
  • Push a sibling module's edited stylesheet, not its stale jar-resources copy (#25912, #25909)
  • Register runtime-loaded frontend resources for native image (#25892, #25890)
  • Register JavaScript definition proxies for native image (#25889, #25885)
  • Drop development entries from production token file (#25871)
  • Hide an attribute with a null bound value from getAttributeNames (#25818)
  • Wait for the deployment to answer and explain missing views (#25737)
  • Build the frontend for the browsers that Vaadin supports (#25777)
  • Stop pnpm from reinstalling before the postinstall script (#25779, 21662, 24333)
  • Read the before setting npm resolves a minimum release age into (#25757)
  • Let ThemeList.add accept a space separated value again (#25753)
  • Warn when inert LocationChangeEvent mutators are called (#25740, #25739)
  • Apply app shell @Push annotation before UI init listeners run (#25724, #25718)
  • Keep the hmr line on a mixed change-set (#25730, #25579)
  • Log the init failure hidden by the offline stub (#25731)
  • Keep dev bundle sourcemaps usable in the usage statistics Vite plugin (#25708, #16679)
  • Keep the css sourcemap chain intact when rewriting theme urls (#25710)
  • Keep production sourcemaps usable when the i18n plugin rewrites a chunk (#25691, #16679)
  • Restart for a new Spring bean or entity the running app never had (#25595)
  • Decode only percent-encoded escapes in decodeURIComponent (#25672, #25671)
  • Recognise the nested jars of Spring Boot when looking up the token file (#25681)
  • Respond 401 instead of redirecting sub-resource requests to the login view (#25593)
  • Declare @preact/signals-react as a dev dependency (#25657)
  • Detect the project folder of a Gradle module from the classpath (#25632, #25630)
  • Skip the shortcut owner token when the owner is the UI (#25631, #25624)
  • Recompile the app when a reactor sibling leaves the loop (#25465)
  • Find a JetBrains Runtime under ~/.vaadin/jdk (#25589)
  • Compile with -parameters and -g like a Maven build (#25587, #25560)
  • Parse a query string given to UI.navigate(String) (#25591, #25563)
  • Guard a service worker registration without a push manager (#25612, #25611)
  • Make ThemeList a live view of the theme attribute (#25590)
  • Apply a message's stylesheet removals before its adds (#25594, #25566)
  • Ask the dev server whether a frontend change compiles (#25466)
  • Treat a null Query sort order list as empty (#25586)
  • Make the dev-loop skill load before the first edit (#25524)
  • Keep push connections open while the service is starting (#25485, #25482)
  • Add support for AppShell stylesheets in service worker precache (#25047, vaadin/hilla#5806)
  • Rebundle when the bundle misses a template source (#25484)
  • Rebuild the frontend bundle when PWA offline settings change (#25512, #25491)
  • Allow custom PWA paths in Spring Security (#25501, #25493)
  • Serve the PWA offline stub as same-origin frameable (#25504, #25492)
  • Reject a client property value that the bound signal cannot hold (#25438)
  • Leave default PWA icons out of a bundle with a custom icon path (#25489, #21411)
  • Ignore a response that has no request to end (#25469, #25467)

Don't miss a new flow release

NewReleases is sending notifications on new releases.