Vaadin Flow Components V25.3.0-alpha4
Pre-releaseVaadin Flow Components 25.3.0-alpha3
This is a release of the Java integration for Vaadin Components to be used from the Java server side with Vaadin Flow.
Changes in Flow Components from 25.3.0-alpha2
Changes in All Components
Changes in vaadin-combo-box-flow
- Breaking Changes:
-
⧉ Update multi-select-combo-box to synchronize on change. PR:9631. Ticket:9611
## Description With
@Pushand two push frames around a server-sidesetValue, MultiSelectComboBox could reset its value to empty because theselected-items-changednotification also fires for programmatic changes and gets echoed back as a spurious client value change. - Synchronized the value on the web componentchangeevent instead ofselected-items-changed, so only genuine user gestures are treated as client changes - Updated TestBench helpers to dispatchchange(anddeselectAllto useclear()) - Added integration tests for the push scenario and user value commits > [!WARNING] > Client-side changes to the web componentselectedItemsproperty no longer synchronize to the server unless achangeevent is dispatched. Server-sidesetValueand end-user interactions are unaffected. ## Type of change - Behavior altering fix --- 🤖 Generated with Claude Code ---------
-
Changes in vaadin-grid-flow
-
Breaking Changes:
-
⧉ Do not generate data for hidden columns. PR:6798. Ticket:6737
## Description Value providers, tooltip generators, and part name generators run for every row regardless of column visibility. This adds unnecessary load when these callbacks do expensive work. Each column's data generators are now wrapped in a
CompositeDataGeneratorthat only runs them while the column is visible, and the row-level tooltip and part name generation are skipped for hidden columns too. Showing a previously hidden column refreshes the viewport so its data is generated again (but not reloaded from the data provider). Depends on - vaadin/flow#24895 - #9661 > [!WARNING] > Hidden columns no longer send data to the client side. ## Type of change - [ ] Bugfix - [x] Feature ## Checklist - [x] I have read the contribution guide: https://vaadin.com/docs/latest/contributing/overview - [x] I have added a description following the guideline. - [x] The issue is created in the corresponding repository and I have referenced it. - [x] I have added tests to ensure my change is effective and works as intended. - [x] New and existing tests are passing locally with my change. - [x] I have performed self-review and corrected misspellings. ---------
-
-
New Features:
-
⧉ Add GridI18n API for selection and sorter accessible names. PR:9666
## Description Part of vaadin/web-components#3471 - Added
GridI18n,setI18nandgetI18nbased on the web componenti18nproperty. - Removed no longer needed logic for setting sortersaria-labelfrom the connector. ## Type of change - Feature ---------
-
-
Fixes:
-
⧉ Render grid data when cache is populated before attach. PR:9689. Ticket:9674
When the connector receives data while the grid is still detached from the DOM, for example when a grid is rendered inside another grid's component renderer, there is no data provider call, so nothing sets the grid's
_hasDataproperty. After attaching, the grid then doesn't render the cached rows (the_flatSizeChangedobserver only updates the virtualizer when_hasDatais set) and also sends an unnecessary data request to the server. This change makes the connector set_hasDatawhen resolving pending callbacks, which covers this case since populating the cache always ends with aconfirmcall. > [!NOTE] > The new client-side test also requires vaadin/web-components#12035, which stops the web component from discarding items added to its cache before attach. The test will keep failing until that fix is included in a platform alpha and the version is bumped here. ---------
-
Changes in vaadin-grid-pro-flow
- Breaking Changes:
-
⧉ Do not generate data for hidden columns. PR:6798. Ticket:6737
## Description Value providers, tooltip generators, and part name generators run for every row regardless of column visibility. This adds unnecessary load when these callbacks do expensive work. Each column's data generators are now wrapped in a
CompositeDataGeneratorthat only runs them while the column is visible, and the row-level tooltip and part name generation are skipped for hidden columns too. Showing a previously hidden column refreshes the viewport so its data is generated again (but not reloaded from the data provider). Depends on - vaadin/flow#24895 - #9661 > [!WARNING] > Hidden columns no longer send data to the client side. ## Type of change - [ ] Bugfix - [x] Feature ## Checklist - [x] I have read the contribution guide: https://vaadin.com/docs/latest/contributing/overview - [x] I have added a description following the guideline. - [x] The issue is created in the corresponding repository and I have referenced it. - [x] I have added tests to ensure my change is effective and works as intended. - [x] New and existing tests are passing locally with my change. - [x] I have performed self-review and corrected misspellings. ---------
-
Changes in vaadin-split-layout-flow
- New Features:
-
⧉ Add SplitLayoutI18n for customizing split-layout separator label. PR:9694
## Description Part of vaadin/web-components#951 ## Type of change - Feature
-
Changes in vaadin-spreadsheet-flow
- Fixes:
-
⧉ Style spreadsheet overlays when nested in a shadow root. PR:9713
Since #9303, spreadsheet overlays (context menu, popup-button filters, cell comments, tooltips) live in a
#spreadsheet-overlayscontainer in the component's light DOM, styled by a global<style>indocument.head. When<vaadin-spreadsheet>is nested in another element's shadow root — for example embedded as a web component, as in the docs filtering example — the container ends up inside that shadow tree, which the document-level stylesheet cannot cross, so the overlays render unstyled. To reproduce: open the docs "spreadsheet filtering" example (the spreadsheet is embedded as a web component) and open a column filter — the popup shows with no rounded corners, background, or shadow. On attach, also adopt the overlay stylesheet onto the container's own root (this._overlays.getRootNode()) when that root is aShadowRoot, so the scoped#spreadsheet-overlays …rules apply inside the shadow tree. Top-level usage is unchanged: the root is the document, already covered by the existingdocument.headstylesheet. Follow-up to #9303 --- 🤖 Generated with Claude Code https://claude.ai/code/session_01QjNdPXWEUciMEXQe9hMgMt ---------
-
Compatibility
- This release use Web Components listed in Vaadin Platform 25.3.0-alpha3
- Tested with Vaadin Flow version 25.3.0-alpha3