Vaadin Flow 3.1.0 is a feature release of the Java Framework for Vaadin 16 that includes a number of new features and enhancements.
No notable changes since 3.1.0.beta2.
All changes since 3.0
3.1 Feature Highlights
Automatic Node installation
- Available from Vaadin versions 14.2 and 16
- If no global or local Node installation is found Node will be automatically installed to
~/.vaadin
- Only requires the first project to install as later can use the same installation
- No need to have Node installed for CI
- Uses proxy data from
- System properties
- {project}/.npmrc
- ~/.npmrc
- Environment variables
pnpm is the default frontend package manager
- Now pnpm is used by default instead of npm
- npm was still default in Vaadin 14.2 and 15
- No migration needed - pnpm is installed once to /.vaadin inside home folder. See differences here for more information about what has changed
- User specified local package.json dependencies are considered instead of "locked" dependencies coming from Vaadin (#8108)
Devmode is run as a separate thread to speed up server startup
- Allows server to continue startup parallel to Flow development mode process which runs pnpm/npm and webpack build
- The browser shows a white page that is automatically refreshed to open app once devmode process has finished
- As server is started up faster, there is no timeout from "run from IDE" or from server plugins
Minor improvements in 3.1
- API in
UI
for switching between direction RTL / LTR (document.dir
) - Flow 3.1 contains all improvements shipped in Flow 2.2, see release notes for detailed list.
Known Issues and Limitations in 3.1
- pnpm is not able to resolve dependencies to git commits with the "short" hash format. See details and workaround from #7406.
Deprecations since 3.0
- The
enableInstallPrompt
parameter for the@PWA
annotation has been deprecated, as the install prompt will be removed an upcoming version and not shown anymore #8038
Incompatible Changes in 3.1
- The
com.vaadin.flow.component.Direction
class has been changed to anenum
and the methodgetDirectionForLocale(java.util.Locale)
has been removed. - Some Flow internal classes related to frontend tooling installation & running have changes that are not backwards compatible. Nobody should be using these classes in their application code - in case you are, you should create an issue about what you're trying to achieve and why, so that a proper way to support that use case can be considered instead of relying on internal classes.