Releases: vaadin/framework
Vaadin Framework 8.27.4
Vaadin Framework 8.27.4 is an Extended Maintenance patch release with the following changes:
-
Added feature to automatically resume Push connection when a client unexpectedly loses communication with the server. Pending Push messages are now cached on the server until the session times out or connectivity is restored for a better user experience.
This is a backport of Flow pull request #20283.
-
Fixed Framework issue #11699. Previously, calling
UI.getCurrent()
inside aUI.access()
callback could return a random UI instance under certain circumastances.CurrentInstance
is now properly cleared before the current session reference is set before running any pending access callbacks.This is a backport of Flow pull request #20255.
-
Moved (some) blocking calls outside of session lock. Fixes a potential deadlock issue.
This is a backport of Flow pull request #20475.
-
Specified
pointer-events: auto
as default for overlay containers in the Valo theme. This fixes an edge case where users were unable to select values from V8 comboboxes placed inside a V14 Dialog component when running under the Vaadin Multi Platform Runtime.
Vaadin Framework 8.14.4
Vaadin Framework 8.14.4 is a maintenance release for the free/open source Vaadin Framework tree, with the following changes:
- Updated POMs to use HTTPS URLs instead of HTTP
- Updated Atmosphere version for security
- Updated commons-io, commons-cli, commons-codec and hsqldb to latest stable versions for security
- Updated animal sniffer for build stability
- Introduced Maven Flatten plugin for cleaner shipped POMs
- Added a development-time warning message to the logs to notify users that this is an unmaintained release
Vaadin Framework 8.27.3
Vaadin Framework 8.27.3 is an Extended Maintenance patch release with the following changes:
-
Added an option to disable Push disconnect on refresh. This is a special-case workaround. Normally when UI is refreshed when
@PreserveOnRefresh
is used, UI checks if an associated Push connection is active and disconnects it in order to avoid a race condition. This functionality was originally introduced to fix Framework issue #12577. However, with some containers such as Payara this can have unwanted side effects, such as CDI reporting that no session scoped context is available after refresh.This feature can now be toggled off using the
protected
UI methodsetDisconnectPushOnRefresh(false)
. -
Updated Atmosphere to detect Payara alongside Glassfish and enable async support for it. This is a workaround for a bug/feature that exists both in Glassfish and Payara that provides a null ServerContainer reference that would otherwise cause initialization to fail.
Vaadin Framework 8.27.2
Vaadin Framework 8.27.2 is an Extended Maintenance patch release with the following changes:
-
Included the
vaadin-portlet
package in the Vaadin 8 BOM. As a result, the version of thevaadin-portlet
package does not need to be defined if thevaadin-bom
artifact is imported.
This definition was originally left out due to an oversight and the omission was discovered during internal manual testing. -
Improved initialization of the eager unload feature when using Firefox, Safari or any iOS browser.
PLEASE NOTE: this feature will make the "are you sure you want to leave" confirmation not function as intended, as these browsers need to hook onto the
beforeunload
event. This will cause the session to become invalidated and will require reloading the page even if the user decides to stay.
If you need to disable the eager unload functionality for Safari/Firefox/iOS in order to display the confirmation, directly assign a handler towindow.onbeforeunload
with a JavaScript call.
Vaadin Framework 8.27.1
Vaadin Framework 8.27.1 is an Extended Maintenance hotfix release with the following changes:
- Fixed an issue with the
vaadin-push
packaging which prevented the JavaScript payload from loading. - Internal test fixes
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.
Vaadin Framework 7.7.44
The Vaadin Framework 7.7.44 is an extended-support release with the following changes:
- Internal changes needed for future development
- ComboBox popup position updates smoother when the page is scrolled
Vaadin Framework 8.26.0
Vaadin Framework 8.26.0 is an Extended Maintenance feature release with the following changes:
- Backported Binder fixes from Flow (pull requests #18760, #18770, #18891, #18833). This also fixes an issue where data entry was being prohibited by required fields with no value assigned - with multiple empty required fields with input validation enabled on the same form, clicking on one of the required fields would result in loss of UI interactivity. Validation is now only run for changed fields, not an entire field group.
- Improved GridLayout layouting. Due the timing of internal measurements, GridLayout could finish its layouting logic prematurely and then fail to account for the size of its contents once the child components finished rendering, e.g. in situations where dynamically loaded styles are applied late.
- Fixed a ComboBox issue where ComboBox would open the wrong page in the dropdown option list, or prevent navigation in some cases. This fix was previously attempted in 8.18.1 but had to be reverted in 8.25.1 due to it preventing scrolling of the list as an unforeseen side effect. These side effects are now properly detected in continuous integration tests and should not recur.
- Updated client-side compilation to use GWT 2.11.0 for better Java 11 compatibility.
Vaadin Framework 8.25.2
Vaadin Framework 8.25.2 is an Extended Maintenance patch release with the following changes:
- Defined Vaadin License Checker version as a variable in the root POM in order to fix OSGI packaging. The packaging change in 8.25.1 exposed this issue.
- Mitigated the performance overhead caused by the Grid changes in 8.25.0, namely the re-layouting of a Grid on scroll is now only performed when a ComponentRenderer is present.
Vaadin Framework 7.7.43
The Vaadin Framework 7.7.43 is an extended-support release with the following changes:
- Made ComboBox rendering faster by trying to avoid constant popup size recalculations
- Backported Upload fixed from Vaadin 8, namely preventing upload if no file has been selected, and making sure the ChangeListener still works after the first upload.
- Added things necessary for JavaDoc generation.
- Updated the license checker, fixed tests, updated the copyright dates