Releases: vaadin/flow
Vaadin Flow 24.5.8
Changes since 24.5.7
Fixes
-
Remove modal component on route refresh (#20540)
Commit · Pull request · IssueModal components attached to the UI were not removed or replaced during self-navigation triggered by a route refresh. This change updates navigation handler to ensure modal components are removed and adds a new navigation trigger for route refresh to differentiate programmatic navigations (e.g., forward actions). It also modifies Hotswapper to require a full chain refresh when modal components are present.
-
Include all component tracker locations (#20568)
Commit · Pull requestSome filtering was already earlier moved to Copilot and handling everything in the same place is easier
-
Compute unique key for artifact (#20551)
Commit · Pull requestComputes a unique key for maven artifacts when collecting dependencies for the Flow maven plugin isolated classloader.
-
Prevent hotswap failure if class is not found (#20549)
Commit · Pull requestReferences #20389
Vaadin Flow 24.6.0.beta5
Changes since 24.6.0.beta4
Fixes
-
Include all component tracker locations (#20568)
Commit · Pull requestSome filtering was already earlier moved to Copilot and handling everything in the same place is easier
Vaadin Flow 24.6.0.beta4
Changes since 24.6.0.beta3
Fixes
-
Compute unique key for artifact (#20551)
Commit · Pull requestComputes a unique key for maven artifacts when collecting dependencies for the Flow maven plugin isolated classloader.
-
Prevent hotswap failure if class is not found (#20549)
Commit · Pull requestReferences #20389
-
Multiple fast navigate calls (#20446)
Commit · Pull request · IssueFix issue where a slow connection and fast navigate calls throws exception due to faulty blocker state change.
Vaadin Flow 24.4.14
Changes since 24.4.13
Fixes
-
Compute unique key for artifact (#20551)
Commit · Pull requestComputes a unique key for maven artifacts when collecting dependencies for the Flow maven plugin isolated classloader.
-
Multiple fast navigate calls (#20446)
Commit · Pull request · Issueand fast
navigate
calls throws exception due to faulty blocker state change. Add test view for manual testing. Test script doesn't fail on double click.
Vaadin Flow 24.5.7
Changes since 24.5.6
Fixes
-
Vaadin/router added with react-router (#20522)
Commit · Pull request · IssueExclude vaadin/router when runing in react mode. Without exclusion vaadin/router gets added from the vaadin-core.json package in platform.
-
Multiple fast navigate calls (#20446)
Commit · Pull request · Issueand fast
navigate
calls throws exception due to faulty blocker state change. Add test view for manual testing. Test script doesn't fail on double click. ---------
Vaadin Flow 24.5.6
Changes since 24.5.5
Fixes
-
Exclude project maven dependencies from isolated class loader (#20523)
Commit · Pull requestIf the user project directly or transitively depends on maven artifacts, mojos can fail at runtime because of Maven API loaded from both isolated class loader and maven.api realm. This change prevents maven artifacts from being added to the isolated class loader.
-
Fix class and resource loading in maven plugin (#20465)
Commit · Pull request · Issues 19616, 19009, 20385Run Flow mojos using an isolated class loader that includes both project and plugin dependencies, with project dependencies taking precedence. This ensures that classes are always loaded from the same class loader at runtime, preventing errors where a class might be loaded by the plugin's class loader while one of its parent classes is only available in the project’s class loader (see #19616). Additionally, this approach prevents the retrieval of resources from plugin dependencies when the same artifact is defined within the project (see #19009). This refactoring also introduces caching for ClassFinder instances per execution phase, allowing multiple goals configured for the same phase to reuse the same ClassFinder. It also removes the need to instantiate a ClassFinder solely for Hilla class checks, reducing the number of scans performed during the build.
-
Move blocking calls outside session lock (#19938) (#20475)
Commit · Pull requestMove blocking calls outside session lock (#19938)
-
Client route autolayout should have parent layouts chain (#20511)
Commit · Pull request · IssueWhen having a client route for server layout the layout parent routes should be collected.
-
Do not try to refresh app while it is initializing (#20504)
Commit · Pull requestWhen the app is bootstrapping, it only contains
initializing
,isActive
andproductionMode
. We should not callsendEventMessage
at this point or might causeUncaught TypeError: l.sendEventMessage is not a function
. This is unlikely to happen in many real world scenarios but happens in Copilot tests -
Fix ServletFileUpload header encoding (#20480) (CP: 24.5)
Commit · Pull request · Issue -
Refresh locations arrays also (#20483)
Commit · Pull request
Vaadin Flow 24.6.0.beta3
No changes since 24.6.0.beta2
Vaadin Flow 24.6.0.beta2
Changes since 24.6.0.beta1
New features
-
Generate PWA icons at build time
Commit · Pull request · IssueGenerates PWA icons during the production build, preventing the need to use AWT APIs at runtime and making first requests to the application faster. Also prevents potential issues caused by loading AWT native library in native images.
Fixes
-
Vaadin/router added with react-router
Commit · Pull request · IssueExclude vaadin/router when runing in react mode. Without exclusion vaadin/router gets added from the vaadin-core.json package in platform.
-
Attach element when used in drag source
Commit · Pull request · IssueAttach elemnt to dom and move it outside of the viewport to have it visible as a drag image. Image can be used without attaching to dom. Hidden elements are also not shown so throw exception when using one as dragImage. Log attach as debug now that the
-
Exclude project maven dependencies from isolated class loader
Commit · Pull requestIf the user project directly or transitively depends on maven artifacts, mojos can fail at runtime because of Maven API loaded from both isolated class loader and maven.api realm. This change prevents maven artifacts from being added to the isolated class loader.
-
Prevent blocking when closing ViteWebSocketConnection
Commit · Pull request · IssueThis change prevent ViteWebSocketConnection to wait indefinitely on close waiting for the client websocket to close request to complete.
-
Production also with file extensions
Commit · Pull requestAlso use file extensions with production build.
-
Fix class and resource loading in maven plugin
Commit · Pull request · Issues 19616, 19009, 20385Run Flow mojos using an isolated class loader that includes both project and plugin dependencies, with project dependencies taking precedence. This ensures that classes are always loaded from the same class loader at runtime, preventing errors where a class might be loaded by the plugin's class loader while one of its parent classes is only available in the project’s class loader (see #19616). Additionally, this approach prevents the retrieval of resources from plugin dependencies when the same artifact is defined within the project (see #19009). This refactoring also introduces caching for ClassFinder instances per execution phase, allowing multiple goals configured for the same phase to reuse the same ClassFinder. It also removes the need to instantiate a ClassFinder solely for Hilla class checks, reducing the number of scans performed during the build.
Vaadin Flow 24.4.13
Changes since 24.4.12
Fixes
-
Exclude project maven dependencies from isolated class loader (#20523)
Commit · Pull requestIf the user project directly or transitively depends on maven artifacts, mojos can fail at runtime because of Maven API loaded from both isolated class loader and maven.api realm. This change prevents maven artifacts from being added to the isolated class loader.
-
Fix class and resource loading in maven plugin (#20465)
Commit · Pull request · Issues 19616, 19009, 20385Run Flow mojos using an isolated class loader that includes both project and plugin dependencies, with project dependencies taking precedence. This ensures that classes are always loaded from the same class loader at runtime, preventing errors where a class might be loaded by the plugin's class loader while one of its parent classes is only available in the project’s class loader (see #19616). Additionally, this approach prevents the retrieval of resources from plugin dependencies when the same artifact is defined within the project (see #19009). This refactoring also introduces caching for ClassFinder instances per execution phase, allowing multiple goals configured for the same phase to reuse the same ClassFinder. It also removes the need to instantiate a ClassFinder solely for Hilla class checks, reducing the number of scans performed during the build.
-
Move blocking calls outside session lock (#19938) (#20475)
Commit · Pull requestMove blocking calls outside session lock (#19938)
-
Fix ServletFileUpload header encoding (#20480)
Commit · Pull request · Issue
Vaadin Flow 24.6.0.beta1
All Changes since Vaadin Flow 24.5
Breaking changes
-
Upgrade minimum supported Gradle version to 8.7
Commit · Pull requestJackson 2.18 is incompatible with Gradle 8.4 because it contains classes compiled with Java 22. This change bumps Gradle minumum supported version to 8.7 that supports Java 22.
-
WebPush Subscription Wrapper and feature flag removal
Commit · Pull request
New features
-
Add drag image for DragSource
Commit · Pull request · Issue · DocsAdds
DragSource#setDragImage(ComponentDragImage )
andDragSource#setDragImage(Component dragImage, int offsetX, int offsetY)
. API is used to set image component as a drag image for drag source component. Follows specification of HTML Drag and Drop API for DataTransfer#setDragImage() method.
Examples:CardComponent card = new CardComponent(); // use Image component as a drag image card.setDragImage(new Image("/cards/ace_of_spades.png", "Ace of Spades"));
// use an arbitrary Flow component as a drag image // needs to be present in the DOM Span dragImage = new Span("Drag Image Component"); Style dragImageStyle = dragImage.getElement().getStyle(); dragImageStyle.setPosition(Style.Position.ABSOLUTE); dragImageStyle.setTop("-100px"); dragImageStyle.setLeft("-100px"); add(dragImage); dragSource.setDragImage(dragImage);
-
Extend WebPushMessage with the custom settings
Commit · Pull request · Issue · DocsAdds a Java API for setting the custom options as described in https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification#parameters.
Note that this isn't an experimental feature anymore.WebPushAction webPushAction = new WebPushAction("dashboard", "Open Dashboard"); WebPushOptions webPushOptions = new WebPushOptions(body, List.of(webPushAction), "This is my data", "https://example.com/my-icon.png"); webPush.sendNotification(subscription, new WebPushMessage(title, webPushOptions));
-
Enable easier override for SpringServlet
Commit · Pull request · Issue · DocsCan be done by providing a custom Spring configuration class, see linked docs for more details.
-
Add support for customizable projectFileExtensions
Commit · Pull request · Issue -
Opt-out web components from package.json
Commit · Pull request · DocsAdds new property
npm.excludeWebComponents
(ornpmExcludeWebComponents
in Maven configurations). By default, it'sfalse
and everything works as before.true
will exclude all Vaadin web component dependencies frompackage.json
for development mode (Vite/dev bundle) and production bundle build. Excluded dependencies are all Vaadin core components (e.g. button, grid, login, etc.) and commercial components (e.g. charts, rich-text-editor, etc.), but not lumo/material themes. -
Fire an event when all hotswap operations have completed
Commit · Pull request
Contributions 🏅
-
Calling VaadinService.access or accessSynchronously leaks UI ThreadLocals by @archiecobbs
Pull Request · Issue -
VaadinSessionScopes for all sessions are destroyed when any single session expires by @archiecobbs
Pull Request · Issue -
Add nodeVersion in gradle plugin settings by @mrk-andreev
Pull Request · Issue -
Add support to customizable the projectFileExtensions by @oliveryasuna
Pull Request · Issue