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"));
-
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 -
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.
Changes since 24.6.0.rc1
Fixes
-
Disable workbox developer logs by default (#20718)
Commit · Pull request · Issue -
Handle logout from a background thread (#20688)
Commit · Pull requestAllows AuthenticationContext.logout feature to be used from a background thread, handling the missing request by forcing the client to make an additional request. Applies the same logic used to support logout when using PUSH with websocket transport. References #11026
-
Fix role checking when using websocket push (#20679)
Commit · Pull requestWhen using PUSH with websocket transport, the atmosphere wrapped request can be a no-op implementation whose isUserInRole method alwasy returns false, causing, for example, wrong access checking during navigation. This change falls back to Spring Securty for role checking when PUSH transport is websocket. It also fixes some tests in order to propagate the Spring Security context when starting Thread that perform UI operations. References psi#123 Part of #11026
-
Catch exceptions from detach calls (#20656)
Commit · Pull request -
Ensure requestEnd clears Vaadin thread locals (#20687)
Commit · Pull requestMakes sure that Vaadin thread locals are cleared even if something fails durung requestEnd execution. It also wraps Vaadin interceptors execution in a try/catch block to ensure all of them are invoked and that potential failures does not affect the continuation of requestEnd method.
-
Browser parsing (#20657)
Commit · Pull requestAdded new opera userAgent string. Better logging for failures. Better matching for version string. Fixed android mistaken check. Part of #20610 Add isIPad Add testing userAgent strings from json file.
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