Skip to content

Vaadin Flow 24.6.0

Latest
Compare
Choose a tag to compare
@vaadin-bot vaadin-bot released this 17 Dec 10:47
· 8 commits to 24.6 since this release
daa6581

All Changes since Vaadin Flow 24.5

Breaking changes

  • Upgrade minimum supported Gradle version to 8.7
    Commit · Pull request

    Jackson 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 · Docs

    Adds DragSource#setDragImage(ComponentDragImage ) and DragSource#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 · Docs

    Adds 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 · Docs

    Can 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 · Docs

    Adds new property npm.excludeWebComponents (or npmExcludeWebComponents in Maven configurations). By default, it's false and everything works as before. true will exclude all Vaadin web component dependencies from package.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 · Issue

    Generates 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 request

    Allows 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 request

    When 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 request

    Makes 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 request

    Added 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 🏅