Vaadin 14.7.0
Vaadin 14.7.0
Vaadin consists of a set of web components, a Java web framework, configurable themes, tools and a set of app templates.
Visit vaadin.com to get started.
Support
Vaadin 14 is an LTS (long term support) version, which will be supported for 5 years after the GA (general availability) release. More details of our release model are available on our roadmap page.
Vaadin also provides commercial support and warranty.
New and Noteworthy Since 14.6
-
The new
Messages
component- A collection of components to display messages and to build chats and comment sections.
-
A new maven archetype has been published:
vaadin-archetype-spring-application
(see the Maven Archetypes section below).
Breaking Changes and Deprecations (details)
-
In order to make it easy for users to manage their reusable themes and align the file handling in newer vaadin versions, we have moved generated theme files to
frontend/generated
.
Autogenerated 'theme-generated.js' file has been moved to 'frontend/generated/' folder and renamed to 'theme.js'. Thus, if you use TypeScript views in your project and apply the custom theme by calling toapplyTheme()
, please change the import to be pointed to 'generated/theme' instead of 'themes/theme-generated.js'.The example shown below imports
applyTheme
intofrontend/views/some-view/my-view.ts
:
import { applyTheme } from '../../generated/theme';
instead of
import { applyTheme } from 'themes/theme-generated.js';
-
Deperecate
PageConfigurator
since it has broken design.
Deprecated due to multiple issues on the feature design, like it won't work together with thePreserveOnRefresh
annotation. Will not be removed until after the next long term support version. UseBoostrapListener
instead, which provides API for modifying the bootstrap page and access to theUI
, which provides further replacement API likeUI#getLoadingIndicatorConfiguration()
.AppShellConfigurator
is the replacement since Flow 3+ (Vaadin 15+) -
API behavior change: add support for parsing query string in QueryParameters.
A minor API behavior change:Location::getQueryParameters
is unified with howHttpServletRequest
works: For a query string?foo&bar
a list containing""
is returned for bothfoo
andbar
whereas the existing implementation returned empty lists.
Included Projects and Change Log
Vaadin includes the following projects. Release notes with detailed change logs for each project are linked below.
Projects marked as (Pro) are available for users with Pro or Prime subscriptions. Everything else is free and open source.
Components
- Vaadin Accordion (web component v1.2.0)
- Vaadin App Layout (web component v2.2.0)
- Vaadin Avatar (web component v1.0.4)
- Vaadin Button (web component v2.4.0)
- Vaadin Checkbox (web component v2.5.1)
- Checkbox
- Checkbox Group
- Vaadin Combo Box (web component v5.4.7)
- Vaadin Context Menu (web component v4.5.0)
- Vaadin Custom Field (web component v1.3.1)
- Vaadin Date Picker (web component v4.4.1)
- Vaadin Date Time Picker (web component v1.4.0)
- Vaadin Details (web component v1.2.0)
- Vaadin Dialog (web component v2.5.2)
- Vaadin Form Layout (web component v2.3.0)
- Vaadin Grid (web component v5.8.4)
- Grid
- Tree Grid
- Grid Context Menu
- Vaadin Icons (web component v4.3.2)
- Vaadin Item (web component v2.3.0)
- Vaadin List Box (web component v1.4.0)
- List Box
- Multi Select List Box
- Vaadin Login (web component v1.2.0)
- Vaadin Menu Bar (web component v1.2.2)
- Vaadin Messages (web component v1.0.1)
- Vaadin Notification (web component v1.6.1)
- Vaadin Ordered Layout (web component v1.4.0)
- Horizontal Layout
- Vertical Layout
- Flex Layout
- Vaadin Progress Bar (web component v1.3.0)
- Vaadin Radio Button (web component v1.5.2)
- Radio Button
- Radio Button Group
- Vaadin Select (web component v2.4.1)
- Vaadin Split Layout (web component v4.3.0)
- Vaadin Tabs (web component v3.2.0)
- Vaadin Text Field (web component v2.8.5)
- Text Field
- Text Area
- Password Field
- Big Decimal Field
- Email Field
- Integer Field
- Number Field
- Vaadin Time Picker (web component v2.4.0)
- Vaadin Upload (web component v4.4.2)
- Vaadin Board (PRO) (web component v2.2.0)
- Vaadin Charts (PRO) (web component v6.3.1)
- Vaadin Confirm Dialog (PRO) (web component v1.3.0)
- Vaadin Cookie Consent (PRO) (web component v1.2.0)
- Vaadin Crud (PRO) (web component v1.3.1)
- Vaadin Grid Pro (PRO) (web component v2.3.0)
- Vaadin Rich Text Editor (PRO) (web component v1.3.0)
Themes
Java Web Framework
- Vaadin Flow (2.7.0)
- Vaadin Spring Addon (12.4.0)
- Vaadin CDI Addon (11.3.0). You can use the add-on with V10+, see https://github.com/vaadin/cdi#using-with-vaadin-10 for instructions.
- Maven Plugin for Vaadin (14.7.0)
- Gradle plugin for Flow (1.2)
- Vaadin Multiplatform Runtime (Prime)
Tools
- Vaadin Designer (Pro) (Release notes)
- Vaadin TestBench (Pro) (6.4.0)
Getting Started with Vaadin 14
App starters
The best way to get started with Vaadin 14 is to go to https://vaadin.com/start and pick an app template for the technology stack you’re interested in.
Maven Archetypes
Maven is the de-facto build tool for Java web applications. Major IDEs also support Maven out of the box and most often you'll be using Maven via your favorite IDE.
There are currently two Maven archetypes available, the vaadin-archetype-application
which corresponds to the project base for Flow and the corresponding vaadin-archetype-spring-application
if you prefer use Flow with Spring.
The version of the archetype should match the platform version. After you have Maven installed, you can quickly create and run a Vaadin app with the following command:
mvn -B archetype:generate \
-DarchetypeGroupId=com.vaadin \
-DarchetypeArtifactId=vaadin-archetype-application \
-DarchetypeVersion=14.7.0\
-DgroupId=org.test \
-DartifactId=vaadin-app \
-Dversion=1.0-SNAPSHOT \
&& cd vaadin-app \
&& mvn package jetty:run
mvn -B archetype:generate \
-DarchetypeGroupId=com.vaadin \
-DarchetypeArtifactId=vaadin-archetype-spring-application \
-DarchetypeVersion=14.7.0 \
-DgroupId=org.test \
-DartifactId=vaadin-app \
-Dversion=1.0-SNAPSHOT \
&& cd vaadin-app \
&& mvn
Manually changing Vaadin version for Java projects
Add the following dependency to dependencyManagement in pom.xml.
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-bom</artifactId>
<version>14.7.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Note
If you are using any pre-release version of Flow 2.0 / Vaadin 14 in your project, remove the following files and directories when updating to 14.X:
- webpack-config.js
- package.json
- package-lock.json
- node_modules
Supported Technologies
Operating Systems
Development is supported with the following operating systems, for any OS version that supports either frontend development (Bower/npm as package manager) or Java 8
- Windows
- Linux
- macOS
Desktop Browsers
- Evergreen versions of the following browsers :
- Internet Explorer 11 on Windows 7, Windows 8 and Windows 10
- (see Known Issues and Limitations below)
Mobile Browsers
The following built-in browsers in the following mobile operating systems:
- Safari starting from iOS 9
- Google Chrome evergreen on Android (requiring Android 4.4 or newer)
Development environments
Any IDE or editor that works with the language of your choice should work well. Our teams often use Eclipse, IntelliJ, Atom and Visual Studio Code among others (including Emacs and Vim).
Vaadin Designer supports the following IDEs:
- Eclipse Java EE versions: Photon, 2018 and 2019.
- JetBrains IntelliJ IDEA 2017, 2018 and 2019. Community or Ultimate edition.
Java
The server-side parts of Vaadin support version 8, 11 and 17 of any JDK or JREs. More about Java support in FAQ.
Application Servers
Vaadin Flow requires Java Servlet API 3.1 (JSR-340) or newer. It is tested on:
- Apache Tomcat 8.0.x, 8.5, 9
- Apache TomEE 7.0.4->
- Oracle WebLogic Server 12.2.1
- IBM WebSphere Application Server 8.5 Liberty Profile and 9
- RedHat JBoss EAP 7
- WildFly 14, 15, 16
- Jetty 9.4 (Check: the recommended minimum version of Jetty Maven plugin for Vaadin project )
- Payara Server
- Payara Micro
Supported Node.js and npm versions
Node.js version 10.x for the npm mode.
npm version 5.6.0 or greater.
Breaking changes
This lists products that have breaking changes from V13
Flow
- Flow needs you to explicitly enable compatibility mode to keep running as before. You can read more about compatibility mode in 14 from the documentation.
App Layout 2
- AbstractAppRouterLayout was removed. AppLayout itself now implements RouterLayout.
- AppLayoutMenu and AppLayoutMenuItem were removed.
Migration guide available in vaadin.com/docs
ComboBox and Datepicker
- The clear button is now hidden by default. To make it visible, use setClearButtonVisible(true). (Note: if the value of the combo box is empty, the clear button is always hidden.)
Known Issues and Limitations
OSGi support
- OSGi with npm does not work in V14.0.0-V14.1.0. We are working on a fix for V14.x.
- OSGi with Bower has problems with V14.0.0-V14.1.0
Performance
- Due to the limitation of web components polyfills, component rendering on IE11 and EdgeHTML can be upto 5-10 times slower than on other browsers
Flow
- The Template-in-Template feature has some limitations
- There are some issues in using Web Sockets as the Push channel in certain OSGi environments, but long polling works.
Components
- The dark theme preset does not work in IE11 when applied to the
<html>
element.
Migrating from Vaadin 8
Migrating from Vaadin 10-13
Reporting Issues
We appreciate if you try to find the most relevant repository to report the issue in. If it is not obvious which project to add issues to, you are always welcome to report any issue at https://github.com/vaadin/platform/issues.
A few rules of thumb will help you and us in finding the correct repository for the issue:
- Bug tickets and enhancement requests that are specific to a certain Vaadin component should be posted in the component's Web Component repostory (e.g. https://github.com/vaadin/vaadin-button for Button).
- Issues that are not component-specific (e.g. requests for new components) or encompass multiple components should be posted in vaadin-flow-components repository.
- If you encounter an issue with Flow which does not seem to be related to a specific component, the problem is likely in Flow itself. The Flow repository is https://github.com/vaadin/flow
- If you encounter an issue with Designer, the repository is https://github.com/vaadin/designer
- If you encounter an issue with TestBench, the repository is https://github.com/vaadin/testbench