Changes since 23.2.8
Breaking changes
-
Use dedicated mapping for Vaadin push endpoint (#15188)
Commit · Pull request · IssueA dedicated fixed url is now used in Flow for PUSH requests:
/VAADIN/push
.
This might be a breaking change for configurations including reverse-proxies (see #14641) and needs a reconfiguration of the proxy redirect rules.
Also removespushUrl
configuration parameter, because it was introduced to workaround an issue in old version of JBoss and don't need to be used by developers. -
Enable auto update of installed Node by default (#15044)
Commit · Pull requestThis makes Flow keep its installed Node.js version up to date. Manually installed Node.js versions are not affected.
-
Extract addon files to frontend/generated/jar-resources instead of a fake npm package (#14979)
Commit · Pull request · IssueNo longer creates
target/flow-frontend
, so any tool or script relying on that needs to be updated to avoid the following errors:ERROR(TypeScript) Cannot find module '@vaadin/flow-frontend/Flow' or its corresponding type declarations.
Any manual import in JS/TS files from
@vaadin/flow-frontend
needs to be updated toFrontend/generated/jar-resources
.
New features
-
Add the Authentication Context bean to the Vaadin Web Security (#15129)
Commit · Pull request · IssueAdds the Authentication Context bean to the Vaadin Web Security:
AuthenticationContext
is a concrete class that gets access to the authenticated user and allows performing logout integrated with Spring Security:AuthenticationContext
is an injectable managed bean- Developers can plug additional
LogoutHandlers
inVaadinWebSecurity.addLogoutHandlers()
VaadinWebSecurity
configures aLogoutSuccessHandler
with a redirect strategy that can handle also XHR UIDL requests (UidlRedirectStrategy
).
-
Add refresh flag to navigation event (#15324)
Commit · Pull request · IssueAdd the
isRefreshEvent
toBeforeEnterEvent
andAfterNavigationEvent
to be make it possible to distinguish if the event is for a refresh of a preserve on refresh view. -
Auto-update TS config file to the latest version (#15247)
Commit · Pull requestSimplifies the upgrade to newer Vaadin versions with breaking changes in
tsconfig.json
.
Adds a version property to the defaulttsconfig.json
and:- Overrides
tsconfig.json
content if the version is obsolete - Throws an exception with explanatory message if custom content is detected in
tsconfig.json
- Doesn't override if the version is up-to-date.
- Overrides
-
Port dependency filtering from v14 gradle plugin (#15186)
Commit · Pull request · IssueFilters dependencies during
prepare-frontend
task. Speeds up theprepare-frontend
task execution for the cases when the number of dependencies of the project is very large and the types of dependencies are very different. -
Throw a meaningful exception if deployed into a Servlet 5 container
Commit · Pull request -
Allow specifying vaadin.devServerPort to connect to an already running dev server
Commit · Pull requestThis is only meant for debugging the dev server itself and the connection to it.
-
Allow excluding URLs from being handled by a root mapped Vaadin Spring servlet
Commit · Pull request · IssueThis makes it possible to make services like swagger work correctly even when Vaadin is mapped to the context root.
-
Adapt to a new auto configuration in Spring Boot
Commit · Pull request · IssueSpring Boot introduced a new location for auto configuration entries in version 2.7.0. The new location is META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports.
-
Allow rerouting to an external URL
Commit · Pull request · IssueRedirects to the given URL in
BeforeEnterEvent::forwardToUrl()
even if the servlet is deployed with a non-root context path. -
Allow setting content of the Html component
Commit · Pull requestAllow setting content of the
Html
component. AddsHtml::setHtmlContent()
method to set the content based on the given HTML fragment. -
Log why Vite recompiles using debug level and a separate logger
Commit · Pull request
Fixes
-
Do not serve Vite index.html for /index.html (#15409)
Commit · Pull requestIn dev mode, the index.html in the project was not used but instead the Vite index.html was served.
-
Use root servlet mapping for push url in OSGi case
Commit · Pull requestFallback to a root mapping for push in case if not servlet registration is available (OSGi runtime).
-
Prefix web component client app with wc- (#15315)
Commit · Pull requestAvoids conflicts with the application.
-
Add a template of old tsconfig.json used in OSGi (#15285)
Commit · Pull request -
Set useDefineForClassFields in generated tsconfig.json (#15199)
Commit · Pull request -
Set useDefineForClassFields to false in tsconfig.json (#15165)
Commit · Pull request -
Interpret a directory import as an import for index.js in the directory (#15005)
Commit · Pull request · IssueThis is only used by the theme import rewriter which traverses all imports. It does not actually affect which files are imported
-
Adapt iPad detection for iOS 15
Commit · Pull request · IssueFor iPad with iOS 15, navigator platform does not start with iPad anymore but is MacIntel. This change assumes device is an iPad when platform is MacIntel and the it is a touch device.