github vaadin/flow 2.5.0
Vaadin Flow 2.5.0

latest releases: 24.4.0.beta2, 24.3.10, 24.4.0.beta1...
3 years ago

Flow 2.5.0 is a final release targeted to Vaadin 14.5.0.

New Features in 2.5

LitTemplate support

  • Using LitTemplate is recommended over PolymerTemplate for doing layouts with HTML and UI logic in Java.
  • It is recommended to use TypeScript for the template and this has been updated to the examples in the documentation.
  • Starting from Vaadin 14.5 (and 18), the initial attribute values in the template are reflected to the server side state when @Id mapping components. This applies to PolymerTemplate too.
  • More information on the template support in the blog.

Extended URL parameters support

Parameters in the middle of the URL (#2740) and multiple optional parameters (#4213) are now supported.
Please read the documentation for more information.

Other improvements in 2.5

  • Enable fetching browser URL. PR:10024

    Page::fetchCurrentUrl can be used to asynchronously get the current url from the browser. Closes #1897

  • Add getters for used Unit to HasSize (#9824). PR:10089

    Related to #8533 (comment)

  • Add HasOrderedComponents in HTML layout elements. PR:9734

    Closes #8188 This PR implements HasOrderedComponents for all common HTML layout elements: - Aside - Article - Div - Footer - Header - Main - Nav - Section The test is created in the base test class to simplify the unit testing of all components. To make sure that the interface isn't removed by accident, every class implements the test explicitly and fails if the interface is removed.

  • Implement NativeDetails as html component. PR:9735

    NativeDetails is based on vaadin-details except that the html property is called open instead of opened and the event is called Toggle like the html dom event. To reduce the API noise NativeDetails extends HtmlComponent instead of HtmlContainer. HasText and HasComponents would interfere with the already set <summary> inside the <details>.

Breaking Changes:

  • Support current pnpm versions. PR:9848

    If you are using pnpm (instead of default npm), starting from version 2.5 the Flow build will automatically update the pnpm to a newer version. In case you've installed the pnpm version manually on your system and the automatic update fails, the build will fail with a clear message telling you to update to a newer version of pnpm.

    • Supported version of pnpm is upgraded to 5.0 (previously was 4.4)
    • Default pnpm version is upgraded to 5.15.1 (previously was 4.5.0)

    Remove pnpm-lock.yaml when package.json dependencies are updated to work around pnpm/pnpm#2587. Invoke pnpm via npx instead of relying on global installation or installing into ~/.vaadin/node_modules.

  • Make VaadinService.dependencyFilters unmodifiable

    While the change is backwards compatible from API perspective, it could be considered a behavior change although there is quite low risk of exposure in apps. Thus targeting 2.5 for the LTS and the recently released 5.0.

All changes since Flow 2.4

Changes in Flow from 2.5.0.rc1

  • Fixes:
    • Close InputStream properly in FrontendUtils. PR:10338

All changes since previous version

Don't miss a new flow release

NewReleases is sending notifications on new releases.