Vaadin Flow 24.4.15
Changes since 24.4.14
Fixes
-
Re-build production bundle if index.html changes (#20729)
Commit · Pull request · IssueStores index.html hash in stats.json and forces production bundle to be re-built if file contents have changed. Changes to index.html do not trigger a dev bundle re-generation since in dev mode the file is served directly from the frontend folder.
-
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 request -
Fix redirect URL for PUSH with websocket transport (#20666)
Commit · Pull request · Issue -
Wrap UI closing to catch exceptions (#20645)
Commit · Pull request · IssueWhen session destroy is triggered, wraps each UI close/detach to catch exceptions, making sure session destroy listeners are called.
-
Service destroy listener exceptions (#20622)
Commit · Pull requestRelated to #20577
-
Enforce plugin-required dependencies and log incompatibilities (#20601)
Commit · Pull request · IssueThe Flow Maven Plugin uses a class loader that combines project and plugin dependencies to ensure class scanning happens on runtime artifacts. However, plugin execution may fail if the project defines dependency versions incompatible with those used by the plugin. This change enforces the use of plugin-defined versions for certain dependencies not directly used by Flow at runtime. Additionally, it logs potential incompatibilities for other dependencies if the build fails.