github vaadin/platform 16.0.0
Vaadin 16.0.0

latest releases: 23.5.10, 24.5.4, 24.4.16...
4 years ago

Vaadin 16.0.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.

New and Noteworthy

Here are the highlighted new and improved features in Vaadin 16. To see the full list of bug fixes and improvements, check Included Projects and Change Log.

Automatic Node installation

  • Available from Vaadin versions 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 globally 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

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

RTL Language Support

All components have full support for right-to-left languages (e.g. arabic, hebrew) so that they render correctly when the UI is in RTL mode.

Hierarchy column renderer

Component renderer can be used in TreeGrid hierarchy column.

Grid hidden columns performance fix

Hidden columns are no longer rendered to the DOM, which improves Grid/TreeGrid/GridPro performance with a large number of hidden columns.

Components

  • New component: Vaadin DateTimePicker
  • Draggable, Resizable and Modal configuration for Dialog
  • vaadin-ordered-layout: support for more flexbox features in FlexLayout and Scroller for scrolling overflowing content
  • vaadin-time-picker: New max and min time API

Support

Vaadin 16 is supported for one month after Vaadin 17 has been released. The latest LTS (long term support) version is Vaadin 14. More details of our release model are available on our roadmap page.

Vaadin also provides commercial support and warranty.

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.

Java Web Framework

Components

Themes

  • Vaadin Lumo theme (v1.6.0)
  • Vaadin Material theme (v1.3.2).

Router

Tools

Getting Started with Vaadin

App starters

The best way to get started with Vaadin is to go to https://vaadin.com/start and pick an app template for the technology stack you’re interested in.

Note

Vaadin 16 starters are not available just yet in vaadin.com. You can use Vaadin 14 starter and manually change Vaadin version (see instructions below).

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 is currently one Maven archetype available, the vaadin-archetype-application which corresponds to the project base for Flow. 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=16.0.0\
                -DgroupId=org.test \
                -DartifactId=vaadin-app \
                -Dversion=1.0-SNAPSHOT \
                && cd vaadin-app \
                && mvn package jetty:run

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>16.0.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

Read more about upgrading to Vaadin 16 from vaadin.com.

Note: Vaadin 15 is compatible with Spring 5.2.0 or newer, and Spring Boot 2.2.0 or newer. See more info from vaadin.com.

Supported Technologies

Operating Systems

Development is supported with the following operating systems:

  • 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
      • Latest Firefox ESR is supported (starting from Firefox ESR 68)
    • Safari on macOS 10.15 or later (starting from Safari 13, available also for macOS 10.14.5 and 10.13.6)
    • Edge on Windows 10 or later. Note: Vaadin 15 supports only Edge Chromium and does not provide support for EdgeHTML.

Mobile Browsers

The following built-in browsers in the following mobile operating systems:

  • Safari starting from iOS 13
  • 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

Vaadin supports version 8 and 11 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
  • Payara Server
  • Payara Micro

Supported Node.js and npm versions

Node.js version 10.x for the npm mode.

Breaking changes

This lists products that have breaking changes from V14

Known Issues and Limitations

Flow

  • The Template-in-Template feature has some limitations
  • Links matching the context do not result in browser page load by default, instead they are handled with application routing. To opt-out, set the router-ignore attribute on the anchor element. This opt-out is needed for cases when native browser navigation is necessary, e. g., when using Anchor to link a StreamResource download.

OSGi support

OSGi does not work in V15.

Migrating from Vaadin 8

See the migration guide

Migrating from Vaadin 10-14

See the migration guide

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:

  1. 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
  2. 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
  3. 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
  4. If you encounter an issue with Designer, the repository is https://github.com/vaadin/designer
  5. If you encounter an issue with TestBench, the repository is https://github.com/vaadin/testbench

Don't miss a new platform release

NewReleases is sending notifications on new releases.