Vaadin Flow 24.7.0.alpha1
Pre-releaseChanges since 24.6.0.beta3
New features
-
Resend payload of reoccuring client request
Commit · Pull requestIf the client request contains the previous id and exactly the same message content respond with the same payload as previously.
Fixes
-
Prevent generated pwa icons to be added to manifest
Commit · Pull requestGenerated PWA icons are served at runtime by PwaHandler, that also takes care of adding a subset of them to the web manifest for caching. However, the Vite inject-manifest-to-sw plugin adds all generated icons to the manifest with /pwa-icons path prefix making them pre-cached by the browser and potentially breaking pre-defined security rules. This change prevents generated icons to be added to the manifest, preserving the previous behavior.
-
Wrap UI closing to catch exceptions
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
Commit · Pull requestRelated to #20577
-
Remove timeout for browser websocket connection for Vite
Commit · Pull request -
Enforce plugin-required dependencies and log incompatibilities
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.
-
Remove modal component on route refresh
Commit · Pull request · IssueModal 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.
-
Add vite-ping subprotocol to Vite websocket proxy
Commit · Pull request · Issue -
Include all component tracker locations
Commit · Pull requestSome filtering was already earlier moved to Copilot and handling everything in the same place is easier
-
Compute unique key for artifact
Commit · Pull requestComputes a unique key for maven artifacts when collecting dependencies for the Flow maven plugin isolated classloader.
-
Prevent hotswap failure if class is not found
Commit · Pull requestReferences #20389
-
Multiple fast navigate calls
Commit · Pull request · Issueand 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.