github vaadin/flow 25.0.0-beta2
Vaadin Flow 25.0.0-beta2

pre-release22 hours ago

Changes since 25.0.0-beta1

All changes

Breaking changes

  • WithStatusLabel now sets field invalid state for consistent visual feedback
    Commit · Pull request · Issue

    Previously, withStatusLabel() only updated the status label but did not set the field's invalid state, resulting in inconsistent visual feedback where fields would not show the red background indicator for validation errors. This fix ensures that withStatusLabel() also delegates to the binder's handleValidationStatus() method, which properly sets/clears the field's invalid state through handleError()/clearError(). This provides consistent visual feedback (red background + status label) across all validation scenarios: - Required field validation - Custom validator failures - Conversion errors - Multiple validators

  • Add aria-hidden="true" to hr component by default
    Commit · Pull request · Issue

    The "hr" element is announced as "Horizontal Splitter" by screen readers (e.g., VoiceOver on macOS), but in most cases it's used for visual purposes only. Adding aria-hidden="true" by default improves accessibility by preventing screen readers from announcing it. Users can still override this if needed by removing the attribute.

New features

  • Add signal binding to element text (#22406)
    Commit · Pull request · Issue

    Implements signal binding to element text.

  • Add inline Content-Disposition support with filenames (#21934)
    Commit · Pull request

    Add inline() methods to DownloadEvent for RFC 6266 compliant inline content disposition headers with filenames. Update all download handlers to include filenames when in inline mode, preventing browser UUID-based filenames. Add containsHeader() to VaadinResponse to prevent overriding custom headers. 🤖 Generated with Claude Code

  • Add Image constructor for byte array content
    Commit · Pull request · Issue

    Add a convenience constructor to Image class that accepts byte array content and an image name, simplifying the creation of images from in-memory data. The constructor automatically handles DownloadHandler creation, MIME type detection via URLConnection, and sets inline content disposition for proper browser display.

  • Add support for HTML element (#14882)
    Commit · Pull request · Issue

    Add native Vaadin Flow support for the HTML abbreviation element to improve accessibility and eliminate the need for custom workarounds. - Add ABBR constant to Tag interface - Create Abbr component extending HtmlContainer with ClickNotifier - Add comprehensive test suite via AbbrTest - Support for title attribute inherited from HtmlComponent The component provides three constructors for flexible usage: empty, text-based, and component-based initialization.

  • Add ElementEffect
    Commit · Pull request

    Adds ElementEffect that does exactly same that ComponentEffect did before, but with Element API. Refactored ComponentEffect to use ElementEffect. Part of #22395

  • Allow skipping Vaadin maven plugin execution during a build
    Commit · Pull request

    • Added skip parameter to FlowModeAbstractMojo with property "vaadin.skip" - Added early return in execute() method when skip=true - Added informative log message when skipping - Created integration test and unit test for skip functionality - Parameter can be used with: mvn clean install -Dvaadin.skip 🤖 Generated with Claude Code
  • Env variable and one time message to users for usage stats
    Commit · Pull request

    There is now a GLOBAL opt out in the form of the environment variable. Log message is shown only when executed for the first time.

Fixes

  • Set Content-Length header in InputStreamDownloadHandler (#22558)
    Commit · Pull request

    InputStreamDownloadHandler now properly sets the Content-Length HTTP header when provided in DownloadResponse, enabling browsers to display download progress and allowing TransferProgressListener implementations to calculate accurate progress percentages. This aligns behavior with FileDownloadHandler. 🤖 Generated with Claude Code

  • Reconcile remaining children to prevent double removal
    Commit · Pull request · Issue

  • Move CSS imports from @theme to bootstrap JS file
    Commit · Pull request · Issue

  • No empty first line in log
    Commit · Pull request · Issue

    Added message to not log with "" and throwable.

  • Store UI reference on start
    Commit · Pull request · Issue

    Store UI ref to have a correct ui for TransferProgress even when element is detached during transfer.

  • Fix glob pattern in runtime hints registration
    Commit · Pull request · Issue

    in order to match resources in subfolders. Also adds some basic test to ensure main resources are accepted

Chore

  • Replace glob package with Node.js built-in glob
    Commit · Pull request

    Replace the external glob package dependency with Node.js built-in globSync functionality (available since Node.js 22). Changes: - Remove glob dependency from 3 package.json files - Update imports from 'glob' to 'node:fs' in theme plugins - All glob usage patterns are compatible with built-in implementation 🤖 Generated with Claude Code 🤖 Generated with Claude Code

Don't miss a new flow release

NewReleases is sending notifications on new releases.