github vaadin/platform 22.0.0
Vaadin 22.0.0

latest releases: 24.3.11, 24.4.0.beta1, 24.4.0.alpha25...
2 years ago

Vaadin 22.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 Since Vaadin 21

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

Vaadin Fusion

  • Stateless Fusion
    • By default Fusion will not create server sessions, and use the token-based authentication mechanism. The server then is stateless, allowing easier horizontal scaling of instances and high availability of services.

Vaadin Components

LitRenderer API for Java counterparts

Added LitRenderer API to replace the now deprecated TemplateRenderer for Grid, Combo Box and Virtual List. Check out Grid documentation and Using Lit Renderers guide. Note that web components are not based on Lit yet.

Accessibility fixes to components

Fixes to accessibility issues in Vaadin components, so that they can be used with assistive technologies (AT) like screen readers. Check out Upgrading to Vaadin 22 for the full list of related changes in components DOM and styling.

Other components changes

  • Vaadin Charts:

    • Upgrade to latest Highcharts version
    • provide API for configuring inactive series styling
      • By default, when a chart series is hovered, it is considered "active", and all other ("inactive") series are grayed out. It should be possible to configure how the inactive series are styled or to disable the inactive state entirely, to prevent this effect.
    • Lumo and Material styling for Charts
    • provide position and modifier-key metadata in click events
      • Add information about absolute X and Y positions and modifiers (alt, ctrl, meta, shift) to the Point and Series Legend Item Click events in Java API so that developers can handle the events differently depending on these properties. This information is already available in the client-side events.
  • Vaadin Date Picker

    • Flow DatePicker custom format support
  • Vaadin Notification

    • Convenience show method for NotificationElement
  • Vaadin CRUD

    • Improved configurability of CRUD

Vaadin Collaboration Engine

  • SystemConnectionContext API
    • Support Collaboration Engine features together with external systems that are not directly associated with a specific user when they are using a Vaadin UI.
  • MessageManager API
    • Introduce a data access API to handle messages in topics. Provide a data layer access that lets you submit messages to a Topic and react when a new message is submitted to the same Topic. The developer doesn’t need to use the low-level Topic API that has none of the higher level concepts.

Vaadin Quarkus

  • Official Quarkus support for Vaadin Flow

Special thanks

  • Special thanks to @knoobie, for the invaluable help with testing, feedback, and guidance with the accessibility work!
  • Special thanks to @mvysny, for helping with the development of the Quarkus integration.

Support

Vaadin 22 is supported for one month after Vaadin 23 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

Vaadin Web Components

All listed Vaadin web components' version are using 22.0.0

Vaadin flow components

All listed Vaadin components' Java integration follows the Vaadin version 22.0.0

  • Vaadin Accordion
  • Vaadin App Layout
  • Vaadin Avatar
  • Vaadin Button
  • Vaadin Checkbox
    • Checkbox
    • Checkbox Group
  • Vaadin Combo Box
  • Vaadin Context Menu
  • Vaadin Custom Field
  • Vaadin Date Picker
  • Vaadin Date Time Picker
  • Vaadin Details
  • Vaadin Dialog
  • Vaadin Form Layout
  • Vaadin Grid
    • Grid
    • Tree Grid
    • Grid Context Menu
  • Vaadin Icons
  • Vaadin Item
  • Vaadin List Box
  • Vaadin Login
  • Vaadin Menu Bar
  • Vaadin Messages
  • Vaadin Notification
  • Vaadin Ordered Layout
    • Horizontal Layout
    • Vertical Layout
    • Flex Layout
  • Vaadin Progress Bar
  • Vaadin Radio Button
    • Radio Button
    • Radio Button Group
  • Vaadin Renderer
  • Vaadin Select
  • Vaadin Split Layout
  • Vaadin Tabs
  • Vaadin Text Field
    • Text Field
    • Text Area
    • Password Field
    • Big Decimal Field
    • Email Field
    • Integer Field
    • Number Field
  • Vaadin Time Picker
  • Vaadin Upload
  • Vaadin Virtual List
  • Vaadin Board (PRO)
  • Vaadin Charts (PRO)
  • Vaadin Confirm Dialog (PRO)
  • Vaadin Cookie Consent (PRO)
  • Vaadin Crud (PRO)
  • Vaadin Grid Pro (PRO)
  • Vaadin Rich Text Editor (PRO)

Themes

All listed Vaadin themes' version are sharing 22.0.0

  • Vaadin Lumo theme
  • Vaadin Material theme

Router

Collaboration Engine

  • Vaadin Collaboration Engine (4.0.0)

Tools

Getting Started with Vaadin

App starters

The best way to get started with Vaadin is to go to https://start.vaadin.com and configure your new application by setting up your views, entities, styles, and the technology stack you’re interested in.

Note

Vaadin 22 starters are not available just yet in vaadin.com. You can use Vaadin 21 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 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=22.0.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=22.0.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>22.0.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

Read more about upgrading to Vaadin 22 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 :
  • Chrome on the operating systems supported by the product.
  • Firefox on the supported platforms
  • Safari on macOS 10.15 or later
  • Edge Chromium on the systems supported by the vendor.

Mobile Browsers

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

  • Safari starting from 14.1 (iOS 14.5)
  • 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, 11 and 17 of any JDK or JREs. More about Java support in FAQ.

Maven and Gradle

  • Maven: vaadin supports Maven 3.5 or newer versions
  • Gradle: vaadin supports Gradle 5.0 or newer versions

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
  • Karaf (4.2+)

Supported Node.js and npm versions

A supported version of Node.js: 10.x, 12.x, 14.x or newer.

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

See https://vaadin.com/docs/latest/flow/integrations/osgi/basic

Migrating from Vaadin 8

See the migration guide

Migrating from Vaadin 10-14

See the migration guide

Migrating from Vaadin 15

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 or enhancement request:

  1. If you encounter an issue with the TypeScript and HTML API of Vaadin components, the repository is https://github.com/vaadin/web-components
  2. If you encounter an issue with the Java API of Vaadin components, the repository is https://github.com/vaadin/flow-components
  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.