Skip to content

Releases: vaadin/flow

Vaadin Flow 24.5.8

02 Dec 07:47
4b7ea7d
Compare
Choose a tag to compare

Changes since 24.5.7

All changes

Fixes

  • Remove modal component on route refresh (#20540)
    Commit · Pull request · Issue

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

    Some filtering was already earlier moved to Copilot and handling everything in the same place is easier

  • Compute unique key for artifact (#20551)
    Commit · Pull request

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

    References #20389

Vaadin Flow 24.6.0.beta5

28 Nov 12:29
c1b7308
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.beta4

All changes

Fixes

  • Include all component tracker locations (#20568)
    Commit · Pull request

    Some filtering was already earlier moved to Copilot and handling everything in the same place is easier

Vaadin Flow 24.6.0.beta4

28 Nov 12:21
828a6bc
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.beta3

All changes

Fixes

  • Compute unique key for artifact (#20551)
    Commit · Pull request

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

    References #20389

  • Multiple fast navigate calls (#20446)
    Commit · Pull request · Issue

    Fix issue where a slow connection and fast navigate calls throws exception due to faulty blocker state change.

Vaadin Flow 24.4.14

02 Dec 07:48
b486987
Compare
Choose a tag to compare

Changes since 24.4.13

All changes

Fixes

  • Compute unique key for artifact (#20551)
    Commit · Pull request

    Computes a unique key for maven artifacts when collecting dependencies for the Flow maven plugin isolated classloader.

  • Multiple fast navigate calls (#20446)
    Commit · Pull request · Issue

    and 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

26 Nov 10:06
b057f27
Compare
Choose a tag to compare

Changes since 24.5.6

All changes

Fixes

  • Vaadin/router added with react-router (#20522)
    Commit · Pull request · Issue

    Exclude 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 · Issue

    and 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

25 Nov 11:30
fabd607
Compare
Choose a tag to compare

Changes since 24.5.5

All changes

Fixes

  • Exclude project maven dependencies from isolated class loader (#20523)
    Commit · Pull request

    If 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, 20385

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

    Move blocking calls outside session lock (#19938)

  • Client route autolayout should have parent layouts chain (#20511)
    Commit · Pull request · Issue

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

    When the app is bootstrapping, it only contains initializing, isActive and productionMode. We should not call sendEventMessage at this point or might cause Uncaught 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

22 Nov 10:55
884564b
Compare
Choose a tag to compare
Pre-release

No changes since 24.6.0.beta2

Vaadin Flow 24.6.0.beta2

22 Nov 10:02
55f1147
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.beta1

All changes

New features

  • 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.

Fixes

  • Vaadin/router added with react-router
    Commit · Pull request · Issue

    Exclude 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 · Issue

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

    If 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 · Issue

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

    Also use file extensions with production build.

  • Fix class and resource loading in maven plugin
    Commit · Pull request · Issues 19616, 19009, 20385

    Run 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

25 Nov 11:30
b4da9e8
Compare
Choose a tag to compare

Changes since 24.4.12

All changes

Fixes

  • Exclude project maven dependencies from isolated class loader (#20523)
    Commit · Pull request

    If 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, 20385

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

    Move blocking calls outside session lock (#19938)

  • Fix ServletFileUpload header encoding (#20480)
    Commit · Pull request · Issue

Vaadin Flow 24.6.0.beta1

20 Nov 14:04
bd8c796
Compare
Choose a tag to compare
Pre-release

All Changes since Vaadin Flow 24.5

Changes since 24.6.0.alpha6

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"));
    // 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 · 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

Contributions 🏅