github vaadin/flow 25.1.0-alpha4
Vaadin Flow 25.1.0-alpha4

latest releases: 24.9.11, 25.0.5
pre-release6 hours ago

Changes since 25.1.0-alpha3

All changes

Breaking changes

  • Set proper value of isFromClient when using Focusable focus() and blur()
    Commit · Pull request

  • BeforeEvent target as extends Component
    Commit · Pull request · Issue

    Have the navigationTarget in BeforeEvents Be of type Class instead of only Class

New features

  • Add Html(signal) and bindHtmlContent(signal)
    Commit · Pull request

  • Add bindWidth(Signal) and bindHeight(Signal)
    Commit · Pull request · Issue

    Adds HasSize::bindWidth(Signal) and HasSize::bindHeight(Signal).

  • Add customizable sync error messages for session desync scenarios
    Commit · Pull request · Issue

    When client and server message IDs get out of sync (e.g., after abrupt pod termination), a specific MessageIdSyncException is now thrown instead of UnsupportedOperationException. Developers can customize the error notification via SystemMessages: - setSyncErrorCaption/Message/URL for custom content - setSyncErrorNotificationEnabled(false) for silent page refresh

  • Add bindReadOnly(Signal)
    Commit · Pull request · Issue

    Adds HasValue::bindReadOnly(Signal).

  • Add HasValidation::bindErrorMessage and bindInvalid
    Commit · Pull request

  • Add HasPlaceholder::bindPlaceholder(Signal)
    Commit · Pull request

Fixes

  • Refresh error views automatically on hotswap
    Commit · Pull request

    When a class breaks during development, Flow shows an error view. Previously, when the class was fixed and hotswapped, the error view remained visible because the hotswap system only refreshed views that used the changed class in their route chain. This fix adds ErrorViewHotswapper plugin that detects when an error view is displayed (by checking if the current view implements HasErrorParameter) and triggers a browser refresh on any hotswap. The refresh re-navigates to the original URL, allowing the fixed code to be properly loaded. Adds unit tests to verify that ErrorViewHotswapper correctly: - Triggers UI refresh when an error view is shown during hotswap - Does not trigger refresh for normal views during hotswap

  • Handle translation requests when session is expired
    Commit · Pull request · Issue

    Implement SessionExpiredHandler in TranslationFileRequestHandler to serve translations even when no active session exists. This allows i18n requests to work correctly with stateless authentication.

  • Preserve URL-encoded characters in wildcard route parameters
    Commit · Pull request · Issue

    Changes: - Client: Remove premature decoding of pathname in Flow.ts to preserve encoded characters like %2F in the URL sent to server - Server: Add PathUtil.getSegmentsListWithDecoding() method that splits path by "/" then decodes each segment individually - Server: Update RouteSegment to use segment decoding for route matching This fix ensures that URL-encoded slashes (%2F) and other special characters in wildcard parameters are properly decoded while still distinguishing them from literal path separators. For example: - /wild/a/b/c creates 3 segments: ["a", "b", "c"] - /wild/a%2Fb%2Fc creates 1 segment that decodes to: ["a/b/c"] Previously, the client decoded the entire pathname causing %2F to become "/" which the server then incorrectly split as path segments, resulting in data loss. Tests added: - PathUtil segment decoding with various encoded characters - Wildcard parameter routing with encoded slashes and special chars - URL generation documentation for pre-encoding requirements do not decode baseURI as location is not handled decoded ---------

  • Respect configured nodeFolder in DevModeInitializer
    Commit · Pull request · Issue

    Flow ignored the configured nodeFolder and always attempted to resolve and download its own Node.js distribution. When nodeFolder is explicitly set, Flow should rely on the Node installation from that directory and avoid triggering the Node download logic. This change ensures that Node resolution correctly honors the nodeFolder configuration in DevModeInitializer.

  • Do not try to compute hash for frontend folders
    Commit · Pull request

    instead of a file.

Don't miss a new flow release

NewReleases is sending notifications on new releases.