Changes since 25.0.0-alpha6
Breaking changes
-
Move component theme behind feature flag
Commit · Pull requestAdd 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 requestDrop translation of url for theme files.
-
No default theme loaded
Commit · Pull request · IssueDo not load Lumo as the default theme if not defined.
-
Restrict access by default with Spring Security
Commit · Pull requestFlow 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 · Issueconstruct-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 requestWhen 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 requestProvides 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 requestShows 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 requestShows 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 requestAdds 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 · IssueAdd 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 · IssueMakes 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 requestWhen 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