Changes since 24.6.0
Breaking changes
-
Change minimal supported Node.js from 18 to 20
Commit · Pull requestNode.js 20 is the active LTS version. Node.js 18 will be end of life soon and new libraries like React 19 only support Node.js 20+.
New features
-
Fault-tolerant messaging for server-client communication
Docs · IssueVaadin implements "Fault-tolerance messaging" against message loose due to various network errors by using message buffers on both sides. Server (Flow server) maintains a message buffer for UIDL messages that it sends upon request from browser. Browser (Flow client) maintains a similar message buffer for RPC messages that it sends upon end-user actions. This gives additional safe-guard level in applications on top of standard TCP/IP protocol and helps to avoid UI re-syncs.
Includes the following commits:
-
Resend payload of reoccurring 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.
-
Queue message payloads
Commit · Pull request · IssueAdd sent payloads to message queue and resend if no response to message inside MaxMessageSuspendTimeout format server clear queue for push messaging.
-
-
Add support for native image build Quarkus-based applications
Commit · Pull requestAdds support for native image build in Quarkus-based application by registering classes for reflection and patching Atmosphere.
Runmvn package -Pproduction -Dquarkus.native.enabled=true
to build a native image, then execute the output file to start the application. -
Documented common reverse proxy usages
Docs
A common guide and recommendations how to start configuring reverse proxy in front of Vaadin application. -
React 19 support behind a feature flag
Commit · Pull request -
Add support for OAuth2 logout configuration
Commit · Pull request · IssueImproves
setOAuth2LoginPage
method in order to configure an OIDC logout success handler capable of handling redirection for UIDL requests. Post logout URL is by default the application root, but a method overload allows to specify a custom URL. -
Add setSrc(AbstractStreamResource)
Commit · Pull request -
Mark full size components with data attribute
Commit · Pull request -
Add feature flag for layout improvements
Commit · Pull request -
Add accessibleDisabledButtons feature flag
Commit · Pull request -
DisabledUpdateMode for ShortcutRegistration
Commit · Pull request
Code refactoring
- Use Vite official API for building sw.js
Commit · Pull request