Releases: vaadin/framework
Vaadin Framework 7.7.44
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.
Vaadin Framework 8.24.0
Vaadin Framework 8.24.0 is an Extended Maintenance feature release with the following changes:
- Removed support for Adobe Flash in the form of the Flash widget and Flash type support in Embed. Adobe Flash has not been supported at all in modern browsers since 2021, and has had several known security issues long before that, to the point that security auditing tools will now actively flag the dormant Flash support code in Vaadin Framework as "harmful".
- The Flash widget and the parts of the Embedded widget specifically providing Flash support are no longer present in Vaadin Framework, meaning that any software currently relying on the Flash widget will fail to compile.
- The existing Flash widget and Embedded support is planned to be provided in the form of an add-on for those that need it, but at the time of the release of Vaadin 8.24.0 this add-on is not yet available.
- If your application still relies on Flash support, please contact support@vaadin.com or alternatively open a ticket at support.vaadin.com.
- Removed a reference to ActiveXObject used in the bootstrap script, which was a workaround needed for Internet Explorer versions up to version 9. Support for Internet Explorer 9 finally ended on January 9, 2024 for Azure customers.
- At this point, the only Internet Explorer version receiving any kind of support from Microsoft is Internet Explorer 11. Customers should be aware, though, that support for IE11 is only offered on a "best effort" basis, in that we will actively attempt to not break features that worked on IE11 in the past, but no new code or fixes are being built with IE11 or even tested against it.
It should be noted that all support for Internet Explorer 11 as well as compatibility code for IE11 may be removed from Vaadin Framework after extended support for IE11 ends.
- At this point, the only Internet Explorer version receiving any kind of support from Microsoft is Internet Explorer 11. Customers should be aware, though, that support for IE11 is only offered on a "best effort" basis, in that we will actively attempt to not break features that worked on IE11 in the past, but no new code or fixes are being built with IE11 or even tested against it.
- Fixed a Drag & Drop issue that prevented dragging of certain widgets on some browsers and operating systems, but not on others. Widget dragging behavior should now be stable on all platforms.
- See issue #12604.
- Fixed scroll bar behavior on Firefox in several widgets.
- See issue #12605.
- Made sure DataProvider I/O streams are closed eagerly to avoid resource leaks. Framework cannot reliably detect which streams are affected, so all potentially susceptible streams are now handled using a try-with-resources pattern.
- In applications that call the methods directly it's sufficient to use the pattern only with DataProviders that open I/O channels during data requests.
- See Flow issue #18551 and Flow pull request #18552.
- Several improvements have been made to Binder through Flow backports:
- Validation has been improved as follows
- Once
Binder.handleFieldValueChange
runs for a binding when readBean was used, the whole binder will be silently validated also. BinderValidationStatusHandler is called like before (only contains status from changed binding), but StatusChangeEvent is now fired considering all bindings and if possible bean validators as well. - Once
Binder.handleFieldValueChange
runs for a binding when setBean was used, doWriteIfValid will validate all bindings, not only the changed ones. This prevents writing an invalid bean in cases where one or more of the initial values are in invalid state (but not marked as such since setBean resets validation status), but they have not been changed from their initial value(s). - Calling setAsRequiredEnabled with a changed value no longer triggers validation, since that validation is now handled elsewhere when needed as stated above.
- It is now possible to check for changes for a specific binding via the
Binder.hasChanges
method. This is a backported feature from Flow. - See Flow issue #17395 and Flow pull request #17861.
- Once
- It is now possible to only write the changed properties to a Bean through an overloaded
Binder.writeBean
method that now accepts an additional Collection parameter. This is a backported feature from Flow.
- Validation has been improved as follows
- Several internal tests were fixed for improved build stability.
Vaadin Framework 8.23.0
- Implemented eager UI cleanup through the Beacon API. Previously UIs would be cleaned up after several consequtive missed heartbeats. Now, closing the browser or tab or navigating away from the page sends a message to the server to notify it of such, allowing the UI to be destroyed immediately.
This should result in lower server resource usage without any modifications to the software. However, this feature does come with some caveats:- This feature is not available for Internet Explorer clients. Our testing showed that Internet Explorer will report compatibility with the API, but fail to function as expected. As such, the feature is disabled for IE.
- Vaadin 8 included a LegacyApplication class for Vaadin 6 compatibility that was a holdover from Vaadin 7 and should have been removed with the release of Vaadin 8. This feature may cause systems extending the LegacyApplication class to close and not reopen when the first client closes their window.
If this is a problem for your application, please contact Vaadin Support. - Should you experience ANY abnormal behavior as it pertains to UI instance availability with this version of Vaadin but not with 8.22.0, please let us know by creating a support ticket.
- Improved stability of internal tests and build.
- Fixed JavaDoc generation and deployment to vaadin.com/api.
This release is available through the usual Maven repositories.
Vaadin Framework 8.22.0
Vaadin Framework 8.22.0 is an Extended Maintenance feature release with the following changes:
-
Added Read-Only mode support to Grid and Compatibility Grid.
The Read-Only mode can be engaged using the existing API
callgrid.setReadOnly(true)
. This mode disallows
editing of the Grid, while still allowing scrolling. This was
added as the previous way to disallow editing in an otherwise
editable grid was to callgrid.setDisabled(true)
, but
that would also stop users from scrolling through data. -
Added missing style class name strings in
ValoTheme
, to allow
cleaner access to menu and navigation elements in the style.
The new fields areMENU_SELECTED
MENU_TOGGLE
MENU_VISIBLE
MENU_ITEMS
MENU_USER
NAV_CONTENT
SCROLLABLE
See JavaDoc for usage descriptions. Previouly, access to these
classes had to be done through magic strings in the application. -
Fixed an issue with
DateField
event propagation when the
backend doesn't immediately service the request. Events would
get queued and then sent stale and out of order, resulting in
the server side getting false user interaction events from
theDateField
. -
Updated
jetty
dependency to address CVE-2023-36479. -
Internal test fixes
Vaadin Framework 7.7.42
The Vaadin Framework 7.7.42 is an extended-support release with the following changes:
- added read-only support to Grid. This allows disabling editing features in an otherwise editable Grid while still retaining scrolling. Use existing API method
Grid.setReadOnly(true)
. - enabled dependency convergence enforcement in Vaadin 7 to mitigate transitive dependency mismatches.
- internal test fixes