Releases: vaadin/framework
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
Vaadin Framework 8.25.1
Vaadin Framework 8.25.1 is an Extended Maintenance patch release with the following changes:
- Reverted a fix for a ComboBox issue where, if a filter was applied and the user opens the dropdown choice menu, the currently selected choice was not initially being scrolled into view. This fix had the side effect of making it impossible to scroll the dropdown menu in certain cases. The fix for the original issue will be re-implemented in a side-effect free manner in a future release.
- Fixed a packaging issue, where the Vaadin license checker and Vaadin Open were incorrectly being included as part of the vaadin-server artifact. This caused a cascade of classpath conflict warnings on startup. As far as we're aware, this problem appeared to be completely cosmetic but was causing concern for some users.
- Added a missing style rule for FormLayout's disabled caption opacity when using the light Valo theme.
- Updated the license checker version.
Vaadin Framework 8.25.0
Vaadin Framework 8.25.0 is an Extended Maintenance feature release with the following changes:
- Added feature in Grid that allows setting the order of the hidable columns as presented in the Grid sidebar menu. The list can now be sorted either as
DEFAULT
,ASCENDING
orDESCENDING
. Default order is the same as the presentation order in the Grid. Ascending and descending ordering use the set title of each hidable column, sorted alphabetically.- The new API can be found in Grid -
grid.setSidebarColumnOrder(GridConstants.SidebarColumnOrder order)
and the corresponding gettergrid.getSidebarColumnOrder()
.
- The new API can be found in Grid -
- Fixed edge-case issue #12611 where a combination of a TabSheet inside of a FormLayout inside of a TabSheet would be rendered with 0px width.
- Added a workaround for Grid issue #12608 where using a layout component containing multiple subcomponents inside a Grid cell with a
ComponentRenderer
would cause rendering to break.- This workaround schedules re-layouting of the Grid after each scroll event. As a result, minor slowdowns in complex Grids can occur in some cases.
- If you are experiencing performance issues with your Grids after upgrading to Vaadin 8.25.0, please open a support ticket at support.vaadin.com.
- Improved the documentation of the TestBench
TextFieldElement
class.