github vaadin/platform 14.5.1
Vaadin 14.5.1

latest releases: 24.6.0.alpha3, 23.5.10, 24.5.4...
3 years ago

Vaadin 14.5.1

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.4

Flow

  • LitTemplate support
    Using LitTemplate is recommended over deprecated PolymerTemplate 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 18, the initial attribute values in the template are reflected to the server side state when @Id mapping components. This applies to PolymerTemplate too. More information on the template support in the blog.

  • Better URL parameter support for routing

  • Breaking Changes:

    • Support current pnpm versions.
      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 to 5.0 (previously was 4.4)
      • Default pnpm version is upgraded to 5.15.1 (previously was 4.5.0)

      Remove pnpm-lock.yaml when package.json dependencies are updated to work around pnpm/pnpm#2587. Invoke pnpm via npx instead of relying on global installation or installing into ~/.vaadin/node_modules.

    • 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.

Components

  • Vaadin Avatar:

    • Avatar and AvatarGroup components. Being able to show users with name, abbreviations and image. AvatarGroup is a collection of Avatars with the possibility to truncate it to a certain number of visible avatars. It is used in Collaboration Engine
  • Breaking Changes:

    • Flow components versioning has changed, now all components are released at once with Vaadin Platform sharing the same version.

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

Themes

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

Java Web Framework

Tools

Getting Started with Vaadin 14

App starters

The best way to get started with Vaadin 14 is to go to https://start.vaadin.com/ 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 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=14.5.1\
                -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>14.5.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

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
      • Latest Firefox ESR is supported (starting from Firefox ESR 68)
    • Safari on macOS 10.9 (OS X Mavericks) or later
    • Edge on Windows 10 or later
  • 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 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.
npm version 5.6.0 or greater.

Known Issues and Limitations

OSGi support

  • OSGi feature is not supported under npm mode for the current Vaadin 14 versions.
  • OSGi feature is supported under bower mode, issues can be found from HERE

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

See the migration guide

Migrating from Vaadin 10-13

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. 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).
  2. Issues that are not component-specific (e.g. requests for new components) or encompass multiple components should be posted in vaadin-flow-components repository.
  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.