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 overPolymerTemplate
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 toPolymerTemplate
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
extendsHtmlComponent
instead ofHtmlContainer
.HasText
andHasComponents
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 to5.0
(previously was4.4
) - Default
pnpm
version is upgraded to5.15.1
(previously was4.5.0
)
Remove
pnpm-lock.yaml
whenpackage.json
dependencies are updated to work around pnpm/pnpm#2587. Invokepnpm
vianpx
instead of relying on global installation or installing into~/.vaadin/node_modules
. - Supported version of
-
⧉ 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.