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

pre-release7 hours ago

Changes since 25.0.0-beta7

All changes

Breaking changes

  • Change UploadHandler.responseHandled to use UploadResult record
    Commit · Pull request

    Replace the boolean success and VaadinResponse parameters with an UploadResult record that encapsulates success status, response, and any exception that occurred. This makes the API extensible for future enhancements without breaking changes.

New features

  • Add signal binding for style property
    Commit · Pull request · Issue

    Allows a string signal binding for style properties, e.g.: ValueSignal backgroundColor = new ValueSignal<>("red"); textField.getStyle().bind("background-color", backgroundColor);

  • Add component-level ColorScheme support via Style interface
    Commit · Pull request

    Adds setColorScheme() and getColorScheme() methods to the Style interface, allowing developers to set the CSS color-scheme property on individual components. This complements the page-level ColorScheme API. The implementation follows existing Style interface patterns for CSS properties and uses the same ColorScheme.Value enum for type safety. Changes: - Added STYLE_COLOR_SCHEME constant to ElementConstants - Added setColorScheme(ColorScheme.Value) to Style interface - Added getColorScheme() to Style interface - Added comprehensive unit tests in HasStyleTest Usage example: component.getStyle().setColorScheme(ColorScheme.Value.DARK);

  • Add Maven goal to download Vaadin Pro license key
    Commit · Pull request

    Introduces a new 'download-license' goal that automates the process of obtaining a Pro license key through browser-based authentication. The downloaded key is saved to ~/.vaadin/proKey for use in validating commercial Vaadin components.

  • Add ColorScheme API for light/dark theme support
    Commit · Pull request · Issue

    Adds a ColorScheme API for controlling light and dark theme variants in Vaadin applications. Includes an @ColorScheme annotation for initial configuration and Page.setColorScheme() for runtime switching. Uses the HTML theme attribute approach for CSS compatibility. Initial Configuration - @ColorScheme annotation for AppShell to set the initial color scheme - Applied as inline style on element during bootstrap Runtime Control - Page.setColorScheme(ColorScheme.Value) / Page.getColorScheme() for dynamic switching - ColorScheme.Value enum: LIGHT, DARK, LIGHT_DARK, DARK_LIGHT, NORMAL - Server-side state synchronized via ExtendedClientDetails Implementation Details - Sets theme attribute on element (e.g., ) - Clears inline style.colorScheme to allow theme CSS to set the property - Enables CSS selectors: html[theme~="dark"] { color-scheme: dark; } - Client sends color scheme to server via v-cs parameter in Flow.ts - Automatic string-to-enum conversion via ColorScheme.Value.fromString() Backward Compatibility - Deprecated @Theme(variant) attribute in favor of @ColorScheme - Existing variant usage continues to work

Fixes

  • Stablize test in flow-component
    Commit · Pull request

    Part of #22767 Similar to PR #22808. This PR fixes 1 flaky test in flow-html-component: HtmlComponentSmokeTest#testAllHtmlComponents. HtmlComponentSmokeTest#testAllHtmlComponents: Add check before testing each setter method to make sure isEnabled is set to true for any instance with this attribute.

  • Rename check-permissions jobs to avoid workflow grouping issues
    Commit · Pull request

    The Formatter and Flow Validation workflows both had a job named check-permissions, causing GitHub Actions UI to incorrectly group jobs from different workflows together. This resulted in the test-results job from Flow Validation appearing under the Formatter workflow section. Renamed the jobs to be workflow-specific: - formatter.yml: check-permissions -> check-permissions-formatter - validation.yml: check-permissions -> check-permissions-validation Updated all job dependencies accordingly to ensure proper workflow execution.

  • Get ui from context if not given
    Commit · Pull request

    setting the UI to the progress handler.

  • Apply color-scheme CSS property in @colorscheme annotation
    Commit · Pull request

    Make @colorscheme annotation apply both the theme attribute and the color-scheme CSS property to the html element, matching the behavior of Page.setColorScheme() method for consistent behavior between static and dynamic color scheme configuration.

  • Use direct VAADIN path for push script URL
    Commit · Pull request · Issue

    The correct approach is to use the direct VAADIN/... path without any navigation prefix. This works because the already points to the servlet root, so relative URLs resolve correctly to {context-path}/{servlet-path}/VAADIN/...

Don't miss a new flow release

NewReleases is sending notifications on new releases.