Skip to content

Releases: vaadin/flow

Vaadin Flow 24.6.0.alpha5

15 Nov 09:13
35a9e49
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.alpha4

All changes

Fixes

  • Do not log 'send XHR' for each request
    Commit · Pull request

  • Add missing reflection hints for menu
    Commit · Pull request · Issue

  • Delay session expiration handling to prevent canceling ongoing navigation
    Commit · Pull request

    Attempts to fix the synchronization issue related to the usage of the Login reported in #12640. The Login component sends the UIDL request for the login event to the server and concurrently submits the form. If processing the form submission performs a session ID change and a request redirect, the UIDL requests might fail with a session expiration response. The Flow client then can cancel the first redirect because it reloads the page due to the session expiration. Lastly, the beacon request hits again a valid session, but a resynchronization is triggered because the previous UIDL request was rejected. This change delays a bit the session expiration handling on Flow client, to allow a potential redirect to complete without being cancelled. However, the client application is immediately set in TERMINATED state.

Vaadin Flow 23.5.9

15 Nov 11:46
c1874cf
Compare
Choose a tag to compare

Changes since 23.5.8

All changes

Fixes

  • Delay session expiration handling to prevent canceling ongoing navigation (#19983)
    Commit · Pull request

    Attempts to fix the synchronization issue related to the usage of the Login reported in #12640. The Login component sends the UIDL request for the login event to the server and concurrently submits the form. If processing the form submission performs a session ID change and a request redirect, the UIDL requests might fail with a session expiration response. The Flow client then can cancel the first redirect because it reloads the page due to the session expiration. Lastly, the beacon request hits again a valid session, but a resynchronization is triggered because the previous UIDL request was rejected. This change delays a bit the session expiration handling on Flow client, to allow a potential redirect to complete without being cancelled. However, the client application is immediately set in TERMINATED state.

Vaadin Flow 24.5.5

15 Nov 11:46
960d3df
Compare
Choose a tag to compare

Changes since 24.5.4

All changes

Fixes

  • Add missing reflection hints for menu (#20476)
    Commit · Pull request · Issue

  • Delay session expiration handling to prevent canceling ongoing navigation (#19983)
    Commit · Pull request

    Attempts to fix the synchronization issue related to the usage of the Login reported in #12640. The Login component sends the UIDL request for the login event to the server and concurrently submits the form. If processing the form submission performs a session ID change and a request redirect, the UIDL requests might fail with a session expiration response. The Flow client then can cancel the first redirect because it reloads the page due to the session expiration. Lastly, the beacon request hits again a valid session, but a resynchronization is triggered because the previous UIDL request was rejected. This change delays a bit the session expiration handling on Flow client, to allow a potential redirect to complete without being cancelled. However, the client application is immediately set in TERMINATED state.

  • Reconnect web components after session expiration (#20407) (CP: 24.5)
    Commit · Pull request · Issue

  • Client side value binding logic (#20431)
    Commit · Pull request · Issue

    Changes client side value binding logic so that if the user modifies the value during server round-trip, the value earlier sent to the server no longer overwrites user's changes once the round-trip finishes. Instead, user's changes are preserved. However, if the server-side value change handling logic actually changes the value and returns the new value to the client, that value will override any user input during round-trip.

Vaadin Flow 24.4.12

15 Nov 11:46
8f7483c
Compare
Choose a tag to compare

Changes since 24.4.11

All changes

Fixes

  • Support serialization of Vaadin scoped beans (#20394)
    Commit · Pull request · Issue

    Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Part of vaadin/kubernetes-kit#140

  • Delay session expiration handling to prevent canceling ongoing navigation (#19983)
    Commit · Pull request

    Attempts to fix the synchronization issue related to the usage of the Login reported in #12640. The Login component sends the UIDL request for the login event to the server and concurrently submits the form. If processing the form submission performs a session ID change and a request redirect, the UIDL requests might fail with a session expiration response. The Flow client then can cancel the first redirect because it reloads the page due to the session expiration. Lastly, the beacon request hits again a valid session, but a resynchronization is triggered because the previous UIDL request was rejected. This change delays a bit the session expiration handling on Flow client, to allow a potential redirect to complete without being cancelled. However, the client application is immediately set in TERMINATED state.

  • Reconnect web components after session expiration (#20407) (CP: 24.4)
    Commit · Pull request · Issue

  • Client side value binding logic (#20431)
    Commit · Pull request · Issue

    Changes client side value binding logic so that if the user modifies the value during server round-trip, the value earlier sent to the server no longer overwrites user's changes once the round-trip finishes. Instead, user's changes are preserved. However, if the server-side value change handling logic actually changes the value and returns the new value to the client, that value will override any user input during round-trip.

  • Resume client to server communication after web socket reconnection (#20283)
    Commit · Pull request · Issue

    When a websocket PUSH connection is closed and re-established because of a network failure, the RequestResponseTracker.hasActiveRequest is not reset, prenvint the Flow client to send additional messages to the server. This change will reset the flag on reconnection. It also will track unsent PUSH message over websocket, to retry the delivery once the connection is re-established, preventing client resynchronization. In addition, it sets a default value of 12 for the Atmospehere maxWebsocketErrorRetries setting, to ensure that the Flow client will attempt to reconnect with web socket transport several times, instead of immediately downgrade to long-polling after first failed connection.

Vaadin Flow 24.6.0.alpha4

12 Nov 07:17
6ef4c3e
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.alpha3

All changes

New features

  • Add support for customizable projectFileExtensions
    Commit · Pull request · Issue

  • Opt-out web components from package.json
    Commit · Pull request

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

Fixes

  • Client side value binding logic
    Commit · Pull request · Issue

    Changes client side value binding logic so that if the user modifies the value during server round-trip, the value earlier sent to the server no longer overwrites user's changes once the round-trip finishes. Instead, user's changes are preserved. However, if the server-side value change handling logic actually changes the value and returns the new value to the client, that value will override any user input during round-trip.

  • Reconnect web components after session expiration
    Commit · Pull request · Issue

    After session expiration, Flow client in webcomponent mode send a GET request to the server to re-initialize itself with a valid session cookie. However, the XHR call is done with the withCredentials flag set to false, making the browser ignore the Set-Cookie header in the response. This change forces the withCredential flag to true for resync request so that the new cookie can be handled by the browser and reused in the subsequent request that re-intitializes the embedded component. If PUSH is enabled, it also restores the connection after resynchornization request to make sure pending invocation queue, and especially the webcomponent connected events, can be flushed correctly and sent to the server. Also temporarily suspends hearbeat during resynchronization request to prevent issue with concurrent requests, potentially causing duplicated session expiration handling on the client.

Vaadin Flow 24.6.0.alpha3

07 Nov 12:18
a2fe8b6
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.alpha2

All changes

New features

Fixes

  • Support serialization of Vaadin scoped beans
    Commit · Pull request · Issue

    Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Part of vaadin/kubernetes-kit#140

  • Resume client to server communication after web socket reconnection
    Commit · Pull request · Issue

    When a websocket PUSH connection is closed and re-established because of a network failure, the RequestResponseTracker.hasActiveRequest is not reset, prenvint the Flow client to send additional messages to the server. This change will reset the flag on reconnection. It also will track unsent PUSH message over websocket, to retry the delivery once the connection is re-established, preventing client resynchronization. In addition, it sets a default value of 12 for the Atmospehere maxWebsocketErrorRetries setting, to ensure that the Flow client will attempt to reconnect with web socket transport several times, instead of immediately downgrade to long-polling after first failed connection.

  • Ignore CDI related classes when finding component location
    Commit · Pull request

  • Theme asset collection and ComponentTracker path check
    Commit · Pull request

    in windows. Fix componentTracker patch check in windows.

Vaadin Flow 24.5.4

07 Nov 15:10
65547dc
Compare
Choose a tag to compare

Changes since 24.5.3

All changes

Fixes

  • Support serialization of Vaadin scoped beans (#20394)
    Commit · Pull request · Issue

    Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Part of vaadin/kubernetes-kit#140

  • Resume client to server communication after web socket reconnection (#20283)
    Commit · Pull request · Issue

    When a websocket PUSH connection is closed and re-established because of a network failure, the RequestResponseTracker.hasActiveRequest is not reset, prenvint the Flow client to send additional messages to the server. This change will reset the flag on reconnection. It also will track unsent PUSH message over websocket, to retry the delivery once the connection is re-established, preventing client resynchronization. In addition, it sets a default value of 12 for the Atmospehere maxWebsocketErrorRetries setting, to ensure that the Flow client will attempt to reconnect with web socket transport several times, instead of immediately downgrade to long-polling after first failed connection.

  • Theme asset collection and ComponentTracker path check (#20390)
    Commit · Pull request

    in windows. Fix componentTracker patch check in windows.

  • Ignore CDI related classes when finding component location (#20405)
    Commit · Pull request

Vaadin Flow 24.3.21

06 Nov 07:20
aebcb1b
Compare
Choose a tag to compare

No changes since 24.3.20

Vaadin Flow 24.6.0.alpha2

04 Nov 08:22
bae8c0e
Compare
Choose a tag to compare
Pre-release

Changes since 24.6.0.alpha1

All changes

New features

Fixes

  • Import parent theme lumoImports in dev bundle mode (#20325)
    Commit · Pull request · Issue

    Adds missing css imports for parent theme when given in parent theme.json with lumoImports property and running with dev bundle.

  • Remove tokenFile after production build
    Commit · Pull request

    Clean the token file after production build/execution to not make ide app execution run app in production mode. Closes #20294

  • Make push work with strict CSP
    Commit · Pull request

  • Prevent Optional capture in serializable predicate
    Commit · Pull request

    Optional is not serializable, so capturing it into a SerializablePredicate will prevent serialization to succeed.

  • Find file-routes.json in dev bundle
    Commit · Pull request · Issue

  • Client route collisions
    Commit · Pull request

    collision to not take into account client layouts as they are not route targets.

  • Add types to fix some TS warnings in vite.generated.ts
    Commit · Pull request

  • Refresh items after changing filtering or sorting with DataViews
    Commit · Pull request

  • Use capture for dragLeave
    Commit · Pull request

  • Support client route parameters in auto layout path matching
    Commit · Pull request · Issue

    Improves navigation path matching with client route templates. Adds support for matching with route parameters to find automatic Flow main layout for client routes.

  • Update default npm version
    Commit · Pull request

    Update default npm version to match the version used by node 22.10.0

  • Check for client route conflicts
    Commit · Pull request · Issue

  • Clear CurrentInstance before invoking new session tasks (#6349)
    Commit · Pull request · Issue

    Commands enqueued by VaadinSession.access() in general have nothing to do with each other. The only thing they have in common is they share the same VaadinSession (and, by implication, VaadinService). Therefore, if command №1 invoked UI.setCurrent() and command №2 invokes UI.getCurrent(), command №2 should read null, not the random UI from command №1 that it has nothing to do with.

  • Prevent possible error on embedded component disconnect
    Commit · Pull request

Vaadin Flow 24.5.3

04 Nov 08:22
6f23aed
Compare
Choose a tag to compare

Changes since 24.5.2

All changes

New features

Fixes

  • Remove tokenFile after production build (#20346)
    Commit · Pull request

    Clean the token file after production build/execution to not make ide app execution run app in production mode. Closes #20294

  • Make push work with strict CSP (#20342)
    Commit · Pull request

  • Import parent theme lumoImports in dev bundle mode (#20325)
    Commit · Pull request · Issue

    Adds missing css imports for parent theme when given in parent theme.json with lumoImports property and running with dev bundle.

  • Prevent Optional capture in serializable predicate (#20360)
    Commit · Pull request

    Optional is not serializable, so capturing it into a SerializablePredicate will prevent serialization to succeed.

  • Find file-routes.json in dev bundle (#20324)
    Commit · Pull request · Issue