Skip to content

Releases: vaadin/flow

Vaadin Flow 24.9.0-alpha6

25 Aug 05:52
8b5caac

Choose a tag to compare

Pre-release

Changes since 24.9.0-alpha5

All changes

New features

  • Add Exception to DownloadResponse and TransferContext (#22066)
    Commit · Pull request · Issue

    Adds DownloadResponse#exception and TransferContext#exception of type java.lang.Exception. Updates DownloadHandlers to fill exception automatically in case of IOException (or RuntimeException, or error in DownloadResponse for InputStreamDownloadHandler).

  • Assets using NpmPackage (#22027) (CP: 24.9)
    Commit · Pull request · Issue


Fixes

  • Fixed high CPU usage due to pending JS commands (#22024) (#22035)
    Commit · Pull request · Issue

    Field "pendingJsInvocations" should be a Set instead of a List in order to avoid O(n^2) operations. This greatly improves performance in situations where many fields are updated constantly and the JS command queue becomes very large.

  • Support callpod user agent format (#21828)
    Commit · Pull request · Issues 21829, 21546

Vaadin Flow 2.12.3

20 Aug 10:46
b8f5341

Choose a tag to compare

Changes since 2.12.2

All changes

Fixes

  • Fixed high CPU usage due to pending JS commands (#22024) (#22035)
    Commit · Pull request · Issue

    Field "pendingJsInvocations" should be a Set instead of a List in order to avoid O(n^2) operations. This greatly improves performance in situations where many fields are updated constantly and the JS command queue becomes very large.

Vaadin Flow 25.0.0-alpha9

18 Aug 08:12
4ec0547

Choose a tag to compare

Pre-release

Changes since 25.0.0-alpha8

All changes

Breaking changes

  • Centralize hierarchy management server-side
    Commit · Pull request · Issues 21876, 21877

    The PR refactors HierarchicalDataCommunicator so that hierarchy management (expanded items, hierarchical cache) is centralized on the server side instead of being shared between client and server. This makes the client a simple consumer of flattened data lists, which significantly reduces the client-side complexity and opens the door for introducing flat data providers to support fetching flattened data directly from the data source. Key changes HierarchyMapper and HierarchicalCommunicationController have been replaced with the new concept, Cache. This new class provides a system for storing data in a hierarchical structure while enabling access in a flattened format for client-side consumption. setRequestedRange and setParentRequestedRange have been replaced with a single setViewportRange which spans all hierarchy levels. Caveats setViewportRange does not currently remove items from Cache and KeyMapper when they move out of the viewport. However, the previous version also only removed items from KeyMapper while keeping them in HierarchyMapper, so item instances actually continued to remain in memory. I feel this could be optimized separately if needed. setViewportRange currently always sends the full viewport to the client even when some items are already present on the client-side. I plan to address this separately, see #21989 refresh(T item) currently also sends the full viewport on every item refresh. I plan to address this separately, see #21989 Test coverage The PR aims at providing test coverage for all core functionality and public APIs. Individual tests for internal APIs such as Cache will be added separately. The refactoring successfully passes all TreeGrid ITs, see #7676 Depends on refactor: remove deprecated HierarchicalDataCommunicator APIs #21965

Fixes

  • Fixed high CPU usage due to pending JS commands (#22024)
    Commit · Pull request · Issue

    Field "pendingJsInvocations" should be a Set instead of a List in order to avoid O(n^2) operations. This greatly improves performance in situations where many fields are updated constantly and the JS command queue becomes very large.

  • Support callpod user agent format
    Commit · Pull request · Issues 21829, 21546

  • Do not throw when missing CSS in node_modules
    Commit · Pull request · Issue

    A missing CSS file in node_modules should be reported but not stop the build eagerly, because Vite might be able to resolve that elsewhere (e. g., hoisted setup, plugins, etc).

  • Run only one queued navigate() at a time
    Commit · Pull request

    This fixes cases where the server sends multiple navigate() calls in the same response. There is currently no IT that would fail but this might very well resolve some edge/timing cases without ITs. This is needed also for React 19 where timing is slightly different and the current solution does not work.

Vaadin Flow 24.9.0-alpha5

14 Aug 09:21
6c811aa

Choose a tag to compare

Pre-release

Changes since 24.9.0-alpha4

All changes

Fixes

  • Run only one queued navigate() at a time (#22021)
    Commit · Pull request

    This fixes cases where the server sends multiple navigate() calls in the same response. There is currently no IT that would fail but this might very well resolve some edge/timing cases without ITs. This is needed also for React 19 where timing is slightly different and the current solution does not work.

Vaadin Flow 25.0.0-alpha8

12 Aug 06:37
b655d4e

Choose a tag to compare

Pre-release

No changes since 25.0.0-alpha7

Vaadin Flow 25.0.0-alpha7

11 Aug 10:58
46afa38

Choose a tag to compare

Pre-release

Changes since 25.0.0-alpha6

All changes

Breaking changes

  • Move component theme behind feature flag
    Commit · Pull request

    Add feature flag for component theme files in themes/themename/components Closes #21608 Overwrite any autoInjectComponents property with the feature flag state.

  • Remove theme url translation
    Commit · Pull request

    Drop translation of url for theme files.

  • No default theme loaded
    Commit · Pull request · Issue

    Do not load Lumo as the default theme if not defined.

  • Restrict access by default with Spring Security
    Commit · Pull request

    Flow routes with PermitAll or RolesAllowed annotation are checked by default with .requestMatchers(requestUtil::isAuthenticatedRoute).authenticated(). checkForBrowserErrors method in AbstractIT allows now 403 error for various tests. Keeping 'routepathaccesschecker' in purpose using deprecated VaadinWebSecurity for now. Added check for parent layouts and auto-layout. All flow views are configured with authenticated() rule, not just PermitAll and RolesAllowed annotated routes. This will ensure that all configured access checkers are triggered for not-annotated views too.

  • Remove construct-style-sheets-polyfill
    Commit · Pull request · Issue

    construct-style-sheets-polyfill dependency is no longer needed since supported browsers for Vaadin 25 don't need it.

  • Remove setConfiguration from VaadinSession
    Commit · Pull request

New features

  • Try to download license key when log in from splash screen
    Commit · Pull request

    When pressing the login button on the splash screen, redirects the user to the vaadin.com license validation endpoint and polls license server to download a license key. If the license key is available the application browser page gets reloaded. Otherwise an error message is shown.

  • Add base license checker init listener
    Commit · Pull request

    Provides a basic VaadinServiceInitListener implementation to perform license checking of a specific product at startup. License checking is executed only in development mode. In case of missing license keys it will either delegate the check to the Vaadin Dev Server, or open a browser to allow sign in and download a key if the dev server is disabled.

  • Enable premium features when building with banner
    Commit · Pull request

  • Add commercial banner for embedded Flow components
    Commit · Pull request

  • Add pre-trial splash screen
    Commit · Pull request

    Shows a splash screen when a commercial component is detected at runtime in development mode, but there are no license keys available. The splash screen prevents the user from interacting with the application and it allows either starting a pre-trial or to log in to the vaadin.com account and download a license key. After starting a pre-trial, the page is reloaded to make the application usable. If the per-trial period has expired, the splash screen presents a button that forwards to the vaadin.com website to extend the trial.

  • Show watermark in production mode
    Commit · Pull request

    Shows a watermark component at runtime for watermarked applications running in production. The watermark component is added to the bundle at build time and activated if needed at runtime.

  • Allow production build with watermark
    Commit · Pull request

    Adds a configuration that allows to build watermarked applications with commercial components when no license key can be found.

  • Deprecate VaadinWebSecurity
    Commit · Pull request · Issue

  • Add convenient API to set items
    Commit · Pull request · Issue

    Add convenient API to set items with ListDataView#setItems(Collection).

Fixes

  • Mark license messages as handled
    Commit

  • Notify listener for all InputStreamDownloadCallback failures
    Commit · Pull request · Issue

    Makes sure that transfer progress listeners are notified also for DownloadResponse.error return value and unchecked exception thrown by InputStreamDownloadCallback.

  • Notify listeners when InputStream download handler callback fails
    Commit · Pull request

    When a callback provided to DownloadHandler.fromInputStream throws an IOException the transfer progress listeners are not notified about the error. This change catched IOException potentially thrown by the callback and notifies the registered listeners. Part of #21931

Vaadin Flow 24.9.0-alpha4

08 Aug 09:01

Choose a tag to compare

Pre-release

Changes since 24.9.0-alpha3

All changes

New features

  • Try to download license key when log in from splash screen
    Commit · Pull request

    When pressing the login button on the splash screen, redirects the user to the vaadin.com license validation endpoint and polls license server to download a license key. If the license key is available the application browser page gets reloaded. Otherwise an error message is shown.

  • Add base license checker init listener
    Commit · Pull request

    Provides a basic VaadinServiceInitListener implementation to perform license checking of a specific product at startup. License checking is executed only in development mode. In case of missing license keys it will either delegate the check to the Vaadin Dev Server, or open a browser to allow sign in and download a key if the dev server is disabled.

  • Enable premium features when building with banner
    Commit · Pull request

  • Add commercial banner for embedded Flow components
    Commit · Pull request

  • Add pre-trial splash screen
    Commit · Pull request

    Shows a splash screen when a commercial component is detected at runtime in development mode, but there are no license keys available. The splash screen prevents the user from interacting with the application and it allows either starting a pre-trial or to log in to the vaadin.com account and download a license key. After starting a pre-trial, the page is reloaded to make the application usable. If the per-trial period has expired, the splash screen presents a button that forwards to the vaadin.com website to extend the trial.

  • Show watermark in production mode
    Commit · Pull request

    Shows a watermark component at runtime for watermarked applications running in production. The watermark component is added to the bundle at build time and activated if needed at runtime.

  • Allow production build with watermark
    Commit · Pull request

    Adds a configuration that allows to build watermarked applications with commercial components when no license key can be found.

  • Deprecate VaadinWebSecurity (#21838)
    Commit · Pull request · Issue

  • Add convenient API to set items (#21979)
    Commit · Pull request · Issue

    Add convenient API to set items with ListDataView#setItems(Collection).

Fixes

  • Mark license messages as handled
    Commit

  • Notify listener for all InputStreamDownloadCallback failures (#21994)
    Commit · Pull request · Issue

    Makes sure that transfer progress listeners are notified also for DownloadResponse.error return value and unchecked exception thrown by InputStreamDownloadCallback.

  • Notify listeners when InputStream download handler callback fails (#21952)
    Commit · Pull request

    When a callback provided to DownloadHandler.fromInputStream throws an IOException the transfer progress listeners are not notified about the error. This change catched IOException potentially thrown by the callback and notifies the registered listeners. Part of #21931

Vaadin Flow 24.8.5

08 Aug 06:33
18f88df

Choose a tag to compare

Changes since 24.8.4

All changes

Fixes

  • Notify listener for all InputStreamDownloadCallback failures (#21994)
    Commit · Pull request · Issue

    Makes sure that transfer progress listeners are notified also for DownloadResponse.error return value and unchecked exception thrown by InputStreamDownloadCallback.

  • Notify listeners when InputStream download handler callback fails (#21952)
    Commit · Pull request

    When a callback provided to DownloadHandler.fromInputStream throws an IOException the transfer progress listeners are not notified about the error. This change catched IOException potentially thrown by the callback and notifies the registered listeners. Part of #21931

Vaadin Flow 23.6.4

15 Aug 12:29
d6d2224

Choose a tag to compare

No changes since 23.6.3

Vaadin Flow 23.6.3

01 Aug 08:55
f116da4

Choose a tag to compare

Changes since 23.6.2

All changes

Fixes