Vaadin 14.0.0.rc4
The Vaadin platform consists of a set of web components, a Java web framework, configurable themes, tools and a set of app templates.
With every major release, we will change and improve things based on your feedback. This may lead to breaking changes, which will be listed for each part of the platform in the breaking changes section.
Visit vaadin.com to get started.
Platform Support
Vaadin 14 is an LTS (long term support) version, which will be supported at least 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
Here are the highlighted new and improved features in Vaadin 14. To see the full list of bug fixes and improvements, check Included Projects and Change Log.
Framework
- The possibility to use Polymer 3, npm and JavaScript Modules instead of Polymer 2, Bower and HTML Imports.
- Adding @PreserveOnRefresh on a router layout or route will preserve the user edited component state when the user refreshes the page by reusing the component instances
- Embedding Flow application is now possible by exporting it as a web component.
- When executing JavaScript from the server side Java, it is possible to get the return value of the execution to the server side using Page.executeJs(String expression, Serializable... parameters)
- It is possible to obtain details like screen width & height and time zone on the server side using Page.retrieveExtendedClientDetails( ExtendedClientDetailsReceiver receiver)
Components
- Grid rows drag and drop
- Grid columns auto-width
- Customise value representation for Grid Pro
- Menubar component added
- App Layout with drawer
- Clear button visibility APIs
- Dropdown select value change without opening
- New theme variants for Notification
Changes since 14.0.0.rc3
- Vaadin Combo Box (Flow integration 3.0.1, web component v5.0.5)
- Vaadin Grid (Flow integration 4.0.2, web component v5.4.6)
- Vaadin Charts (PRO) (Flow integration 7.0.1, web component v6.2.3)
- Vaadin Crud (PRO) (Flow integration 2.0.1, web component v1.0.5)
Included Projects and Change Log
The Vaadin platform 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 (Flow integration 2.0.0, web component v1.0.1)
- Vaadin Button (Flow integration 2.0.0, web component v2.2.0)
- Vaadin Checkbox (Flow integration 2.0.0, web component v2.2.10)
- Vaadin Combo Box (Flow integration 3.0.1, web component v5.0.5)
- Vaadin Context Menu (Flow integration 3.0.1, web component v4.3.11)
- Vaadin Date Picker (Flow integration 2.0.1, web component v4.0.2)
- Vaadin Time Picker (Flow integration 2.0.0, web component v2.0.1)
- Vaadin Details (Flow integration 2.0.0, web component v1.0.1)
- Vaadin Dialog (Flow integration 2.0.0, web component v2.2.1)
- Vaadin Select (Flow integration 2.0.1, web component v2.1.5)
- Vaadin Form Layout (Flow integration 2.0.0, web component v2.1.4)
- Vaadin Grid (Flow integration 4.0.2, web component v5.4.6)
- Vaadin Icons (Flow integration 2.0.0, web component v4.3.1)
- Vaadin Item (web component v2.1.1)
- Vaadin List Box (Flow integration 2.0.0, web component v1.1.1)
- Vaadin Menu Bar (Flow integration 1.0.0, web component v1.0.3)
- Vaadin Notification (Flow integration 2.0.0, web component v1.4.0)
- Vaadin Ordered Layout (Flow integration 2.0.0, web component v1.1.0)
- Vaadin Progress Bar (Flow integration 2.0.1, web component v1.1.2)
- Vaadin Radio Button (Flow integration 2.0.0, web component v1.2.3)
- Vaadin Split Layout (Flow integration 2.0.1, web component v4.1.1)
- Vaadin Tabs (Flow integration 2.0.2, web component v3.0.4)
- Vaadin Text Field (Flow integration 2.0.1, web component v2.4.7)
- Vaadin Upload (Flow integration 2.0.0, web component v4.2.2)
- Vaadin Custom Field (Flow integration 3.0.1, web component v1.0.6)
- Vaadin App Layout (Flow integration 2.0.1, web component v2.0.2)
- Vaadin Login (Flow integration 2.0.0, web component v1.0.1)
- Vaadin Board (PRO) (Flow integration 3.0.0, web component v2.1.0)
- Vaadin Charts (PRO) (Flow integration 7.0.1, web component v6.2.3)
- Vaadin Confirm Dialog (PRO) (Flow integration 2.0.0, web component v1.1.1)
- Vaadin Cookie Consent (PRO) (Flow integration 2.0.0, web component v1.1.1)
- Vaadin Crud (PRO) (Flow integration 2.0.1, web component v1.0.5)
- Vaadin Grid Pro (PRO) (Flow integration 2.0.1, web component v2.0.3)
- Vaadin Rich Text Editor (PRO) (Flow integration 2.0.0, web component v1.0.4)
Themes
Java Web Framework
- Vaadin Flow (2.0.2)
- Vaadin Spring Addon (12.0.2)
- Vaadin CDI Addon (11.0.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.0.0.rc4)
- Gradle plugin for Flow (1.2)
- Vaadin Multiplatform Runtime (Prime)
Tools
- Vaadin Designer (Pro) (Release notes)
- Vaadin TestBench (Pro) (6.2.0)
App Starters
All app starters are available at https://vaadin.com/start
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. There are two types of app templates available.
The Project Bases are for starting your project from scratch with only the necessary dependencies and a couple of placeholder files available.
There are also full application examples available like Bakery (Pro) and Beverage Buddy. Those show you opinionated examples on how to build different types of applications, with optionally integrating to a backend.
Getting Started Manually
For frontend projects you can get the dependencies with Bower or NPM.
- Bower by running
bower install vaadin#14.0.0.rc4
orbower install vaadin-core#14.0.0.rc4
- NPM by running
npm install @vaadin/vaadin@14.0.0.rc4
ornpm install @vaadin/vaadin-core@14.0.0.rc4
- There are also version-locked (with shrinkwrap) NPM dependencies available from
@vaadin/vaadin-shrinkwrap#14.0.0.rc4
and@vaadin/vaadin-core-shrinkwrap#14.0.0.rc4
.
For Java projects, an example of the necessary setup can be found from the Project Base.
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.0.0.rc4</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 file when updating to 2.0.2 / 14.0.0.rc4 or higher:
- webpack-config.js
If you still have issues, try removing:
- 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 on :
- Chrome on these operating systems:
- Windows 7, Windows 8.1, Windows 10 or later
- macOS 10.9 (OS X Mavericks) or later
- 64-bit Ubuntu 14.04+, Debian 8+, openSUSE 13.3+, or Fedora Linux 24+
- Firefox on these operating systems
- Windows 7, Windows 8.1, Windows 10 or later
- macOS 10.9 (OS X Mavericks) or later
- Any Linux with the following packages:
- GTK+ 3.4 or higher
- GLib 2.22 or higher
- Pango 1.14 or higher
- X.Org 1.0 or higher (1.7 or higher is recommended)
- libstdc++ 4.6.1 or higher
- Note: Firefox ESR is not considered as evergreen and therefore is not officially supported.
- Safari on macOS 10.9 (OS X Mavericks) or later
- Edge on Windows 10 or later
- Chrome on these operating systems:
- Internet Explorer 11 on Windows 7, Windows 8 and Windows 10
- (preliminary support, see Known Issues and Limitations below)
- supported only in production mode. See documentation for more information.
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 Related Technologies and Tooling Support
The included Java parts are compatible with Java 8 and newer.
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
- 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
Known Issues and Limitations
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.
Designer
- External preview doesn't work in IE11.
- Horizontal scrolling using the trackpad doesn't work Eclipse.
Migrating from Vaadin 8
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:
- If you encounter an issue when using the HTML/JS API of a component or the component renders incorrectly, the problem is likely in the web component. The web component repositories are named like https://github.com/vaadin/vaadin-button
- If you encounter an issue when using the Java API of a component, the problem is likely in the Flow integration of the web component. The Flow component integration repositories are named like https://github.com/vaadin/vaadin-button-flow
- 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