github vaadin/flow 25.0.10
Vaadin Flow 25.0.10

latest releases: 24.9.16, 24.10.2
4 hours ago

Changes since 25.0.9

All changes

Fixes

  • Prevent deletion of app-shell-imports by frontend cleanup task (#24118) (CP: 25.0)
    Commit · Pull request

    TaskRemoveOldFrontendGeneratedFiles deletes files in the frontend generated folder that are not recognized as known generated files. The app-shell-imports.js and app-shell-imports.d.ts files were missing from the known files list, causing them to be deleted when vaadinPrepareFrontend runs without the index generation task, for example when IntelliJ IDEA triggers a Gradle compilation while the dev server is running with hot deploy. Add APP_SHELL_IMPORTS_NAME and APP_SHELL_IMPORTS_D_TS_NAME to the known files list. Also improve test coverage by verifying all known file types, including Hilla generated files. Related to #24108

  • Add package.json overrides for workbox dependencies (#24008) (CP:25.0)
    Commit · Pull request

    Cherry-pick of 90eb196 from main, adapted for 25.0: - Files in flow-build-tools/ on main mapped to flow-server/ on 25.0 - JUnit 5 assertions/annotations converted to JUnit 4 - temporaryFolder.getRoot() preserved (JUnit 4 TemporaryFolder) - Removed checkJacksonCompatibility test (method not on 25.0) - Kept vaadinBundlesPlugin import (25.0-specific) ---------

  • Add popover attribute to system error container (#24093) (CP: 25.0)
    Commit · Pull request

    This PR cherry-picks changes from the original PR #24093 to branch 25.0. --- #### Original PR description > E.g. Dialog can obscure the message > > Fixes #24094 >

  • Filter hop-by-hop headers in dev server proxy (#24092) (CP: 25.0)
    Commit · Pull request

    The dev server proxy in AbstractDevServerRunner forwarded all HTTP headers between the browser and the Vite dev server, including hop-by-hop headers that must not be forwarded by a proxy per RFC 9110 Section 7.6.1. It also forwarded the upstream Content-Length which may not match the actual bytes after HttpURLConnection decoding, causing broken responses on some servlet containers. This change filters hop-by-hop headers and Content-Length from proxied requests and responses, and avoids closing the output stream after sendError(). Related to #23564

  • Preserve slot attribute for initially invisible elements (#24037) (CP: 25.0)
    Commit · Pull request

    This PR cherry-picks changes from the original PR #24037 to branch 25.0. --- #### Original PR description > When a component is set invisible before being attached, Flow's client-side binding skips all attribute binding. This means structural attributes like "slot" are never applied to the DOM, breaking CSS selectors that depend on them (e.g. Aura theme's structural selectors for AppLayout drawer). > > On the server side, StateNode.collectChanges() now emits the slot attribute even for invisible nodes, without consuming the feature's change tracker so the full attribute set is still sent on visibility change. On the client side, > SimpleElementBindingStrategy applies the slot attribute to the DOM during initial bind of invisible elements. The attribute name is defined once in NodeProperties.SLOT_ATTRIBUTE and referenced by both server and client. > > Fixes vaadin/web-components#11212 ---------

  • Add missing registerStyles import to generated app-shell-imports.js (#23975)
    Commit · Pull request · Issue

    The generated app-shell-imports.js file was missing the THEMABLE_MIXIN_IMPORT line (import { css, unsafeCSS, registerStyles }), causing ReferenceError: registerStyles is not defined at startup in production mode when @CssImport with themeFor was used on an AppShellConfigurator. Also ensures import statements are moved to the top of the generated app shell file, consistent with other generated import files.

  • Prevent duplicated CSS imports in web component generated file (#23984)
    Commit · Pull request · Issue

    When a CSS file is referenced by both a regular component and a WebComponentExporter (or AppShellConfigurator), the generated web component imports file contained duplicate import statements and duplicate style registrations for the same CSS. This happened because the web component output merges multiple independently generated files, and the existing string-based deduplication could not recognize that two imports for the same file were equivalent. The fix detects duplicate CSS file imports after merging and unifies their variable references so that identical style registrations are properly deduplicated, while preserving distinct registrations when the same CSS file is intentionally used with different configurations.

Don't miss a new flow release

NewReleases is sending notifications on new releases.