Vaadin Framework 8.27.0
Vaadin Framework 8.27.0 is an Extended Maintenance feature release with the following changes:
-
Added
vaadin-push-jakarta
package for a Jakarta-based Push implementation, based on Atmosphere 3. This package is meant to be used together with thevaadin-server-mpr-jakarta
andvaadin-compatibility-server-mpr-jakarta
packages in environments like Spring 6+ and Jetty 11+.This feature is to be considered experimental for the moment; please report any and all issues you encounter with it to Vaadin Support.
-
Altered packaging of
vaadin-client
,vaadin-compatibility-client
andvaadin-client-compiler
packages to have thevaadin-server
andvaadin-compatiblity-server
dependencies with provided scope.This is a potentially breaking change if your build expects to have a transitive
vaadin-server
dependency.This change was made in order to make it easier to use the Jakarta versions of the server and push packages, namely
vaadin-server-mpr-jakarta
,vaadin-compatibility-server-mpr-jakarta
andvaadin-push-jakarta
, as they provide the same API and class structure but rely on the Jakarta namespace instead of Javax. -
Improved change detection of Binder. This is a backport from Flow pull request #19488 which fixes Flow issue #19260.
In short, previously a reverted change to a bound field would still be considered a change. With this change, the meaningfulness of the value changes is considered.
-
Fixed an issue in Binder where calling
binder.removeBinding()
could result in a null pointer exception down the line, as the removed binding was not also removed from thechangedBindings
list.This is a backport of Flow pull request #6827 which fixes Flow issue #5384.
-
Changed the internal
LayoutManager.layoutLater
method to userequestAnimationFrame
instead of a timer with a magic 100 msec timeout value to improve rendering performance and stability. We have not detected any breakage with this change, but it should nonetheless be considered a potentially breaking change, as if your client-side code for whatever reason relies on the presence of that 100 msec timer between layout cycles, you may experience rendering instability.If this is the case, contact Vaadin Support.
-
Updated the license checker, which fixes an issue where licence checking could fail due to an SSL error.
-
Vastly improved the ColorPicker widget, by improving the behavior of its history feature and made it render correctly on Valo-based themes.
-
Improved ComboBox so that it no longer unnecessarily truncates the contents of the popup list.
-
Improved ComboBox popup management. ComboBox should no longer cause constant reflows for updating the popup list position when no repositioning is necessary.
-
Fixed an oversight in the eager UI closing feature of Vaadin Server, where the browser's Beacon API would be attempted to be used to signal to the server that the session can be closed and cleaned up. The original implementation assumed browsers detected as Chrome-based to support the Beacon API, but this was found to not be a correct assumption in testing, so Beacon API availability is now detected dynamically at runtime to avoid a late-stage JavaScript execution fault.
Also made eager UI closing function on Firefox, which advertises Beacon API availability but does not actually send the message to the server. Firefox was special-cased to use the
beforeUnload
event instead.