Changes since 25.1.0-alpha1
Breaking changes
-
Make wrapperElement field private
Commit · Pull requestMake the wrapperElement field private and move to UIInternals. Closes #22008
-
Prevent lumo utility classes to be imported automatically
Commit · Pull request · Issue
New features
-
Add signal constructor to HTML components
Commit · Pull request · IssueThis change introduces signal-based constructor overloads for HTML components that have shorthand constructors delegating to setText(...). The new overloads delegate to bindText(...), aligning constructor APIs with signal-based usage. The new constructors explicitly disallow null signal arguments and document this in JavaDoc, as passing a null signal at initialization has no meaningful semantics.
-
Add HasValue::bindValue(WritableSignal)
Commit · Pull request · IssueAdds default bindValue(WritableSignal) to HasValue. Adds implementation for it in AbstractField and AbstractCompositeField.
-
Add HasText::bindText
Commit · Pull request · Issue
Fixes
-
Unpack production bundle eagerly
Commit · Pull request · IssueUnpack the production bunlde eagerly before any generate tasks. This way generation can override bundle files if necessary.
-
Fix VaadinHotswapper ServiceLoader registry
Commit · Pull request -
Binder to update value on validation success
Commit · Pull request · IssueAfter failed validation for null value write null to bean when validatio passes.
-
Avoid removing out-of-viewport items from cache
Commit · Pull request · IssueSimplifies the implementation and restores the behavior to what it was in Vaadin 24, where items were removed from the key mapper but remained in the hierarchy mapper. Note, as part of the fix, a new objects() method was added to KeyMapper to allow HierarchicalDataCommunicator to get all items that have keys and clean up those that are no longer in the viewport. Since KeyMapper always contains fewer items than the Cache, this API helps reduce the number of iterations needed during cleanup.