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

pre-releaseone day ago

Changes since 25.0.0-beta9

All changes

Breaking changes

  • Move FileIOUtils to more appropriate package
    Commit · Pull request

  • Move ExecutionFailedException to frontend package
    Commit · Pull request

    It is related only to FallibleCommand which is in .frontend

New features

  • Add download-offline-license Maven goal
    Commit · Pull request

    Add a new Maven goal that provides a URL for downloading an offline license key. Unlike download-license which opens a browser and downloads the license automatically, this command displays a machine-specific URL that users can visit to manually download an offline license. The offline license is tied to the machine's hardware ID and must be saved to ~/.vaadin/offlineKeyV2.

  • Add reflection hints for ClientCallable types
    Commit · Pull request · Issue

    Adds a Spring AOT processor that scans application code for ClientCallable annotated methods and registers reflection hints for native build for method return type and parameter types.

  • Add ColorScheme.Value.SYSTEM for intuitive system preference support
    Commit · Pull request · Issue

    Add SYSTEM enum constant to ColorScheme.Value that provides a more intuitive name for developers wanting to follow system color scheme preferences. This addresses the confusion around LIGHT_DARK and DARK_LIGHT naming. SYSTEM maps to the CSS value "light dark" (same as LIGHT_DARK), supporting both light and dark modes while defaulting to light when system preference cannot be determined.

  • Optimize StyleSheet css for production build
    Commit · Pull request · Issue

    Minify and inline imports for css imported using StyleSheet annotation.

Fixes

  • Avoid "leaking" experimental features to stable interfaces
    Commit · Pull request

    Note, might be still binary incompatible, but at least shouldn't for users to implement this yet.

  • Ignore bundling for Lumo utilities in live updater
    Commit · Pull request

  • Import resolution when no Theme
    Commit · Pull request

    is no (a)Theme available in the project. normalizePath works correctly. Closes #22725

  • Convert null signal value to blank in bindText
    Commit · Pull request · Issue

    Element.setText(String) already converts null to blank. This change makes bindText to work in the same way with null signal value.

  • Do not log an error if the user aborts an upload
    Commit · Pull request

  • Allow non-Serializable beans in Element.callJsFunction
    Commit · Pull request

    Element.callJsFunction was incorrectly using Serializable[] for parameter storage and System.arraycopy to copy Object[] arguments. This caused ArrayStoreException when passing non-Serializable objects like plain beans or records. Changed to use Object[] instead, matching the implementation pattern used in Element.executeJs and Page.executeJs, which correctly support all Jackson-serializable types including non-Serializable beans. Added test to verify beans can be passed to callJsFunction.

  • Ensure themes stylesheets pattern is relative to context root
    Commit · Pull request · Issue

    Aura and Lumo stylesheets are loaded by the servelt container so they should not be potentially prefixed by the Vaadin servlet URL mapping.

  • Clean comments from content
    Commit · Pull request · Issue

    Clean the comments from the css content before collecting imports to not handle commented out imports.

  • Add reflection hints for Dependency class
    Commit · Pull request · Issue

    In previous Flow versions, Dependency class had a toJson method that created an elemental JsonObject to be sent to the client as JSON. However, the method has been removed and replaced by Jackson serialization. This causes wrong JSON serialization in native executables because reflection is required, but metadata is not stored for the Dependency class. This change adds the missing reflection hint for the Dependency class. It also replaces a useless JSON to string to JSON conversion.

  • Ensure route annotation is on component class
    Commit · Pull request · Issue

    Throws an exception at startup if a Route annotation is put on a class that does not extend Component.

Don't miss a new flow release

NewReleases is sending notifications on new releases.