Say Hello to Vaadin 20!

Mikael Sukoinen
Mikael Sukoinen
On Jun 2, 2021 3:22:19 PM
In Product

Vaadin 20 release

Our latest feature release, Vaadin 20, is finally here. V20 brings both new features and updates, including official Gradle support, Spring Security Helpers and TypeScript type event definitions for 15 more components since Vaadin 19.

Vaadin 20 contains frameworks, tools and components. You can see the full list of included products in the Included Projects and Change Log section of the release notes

Not sure about the difference between the two frameworks? Read the introduction to Vaadin Flow and Fusion for details.

The previous feature release, V19, will continue to receive support for a month.

Official support for Gradle

Impacts: Flow and Fusion

Gradle is the second-most-popular build tool for Java users. We now provide full support, including warranty and automated integration tests, enabling you to build and test your Vaadin projects using Gradle with confidence.

The Gradle plugin offers the same functionality and terminology as the existing Maven plugin. You can execute the same build goals as before after making the swap from Maven to Gradle to build your Vaadin application.

Read documentation

Spring Security Helpers

Impacts: Flow and Fusion

Enjoy less boilerplate code to configure Spring Security and spend the freed-up time on developing your business logic. The Vaadin Spring Security Helpers take care of Vaadin’s authentication for you, so you only need to worry about application-specific Spring Security configuration.

Read documentation

New Message components

Impacts: Flow

Collaboration Engine now enables users to chat within the application, with the newCollaborationMessageList andCollaborationMessageInput components. Try the demo app or download a project with Collaboration Engine pre-installed from

Read documentation

Example of the CollaborationMessageList and CollaborationMessageInput components:

CE Demo app

User userEntity = userService.getCurrentUser();
UserInfo userInfo = new UserInfo(userEntity.getId(),
userEntity.getName(), userEntity.getImageUrl());
String topicId = "general";
CollaborationMessageList messageList = new CollaborationMessageList(
userInfo, topicId);
CollaborationMessageInput messageInput = new CollaborationMessageInput(


TypeScript type definitions for Vaadin component events

Impacts: All components

Continuing from V19, all Vaadin components now support TypeScript type definitions.

You no longer need to rely on your memory or the documentation for the available events and TypeScript types when using Vaadin components in TypeScript code. Your IDE will show the options in auto-complete. The TypeScript compiler automatically ensures that you use the correct types when accessing event details in event handlers.

Read documentation


Should I upgrade to V20?

We recommend V20 if you are building with Vaadin Fusion and want to try the latest features immediately and provide us feedback, or if you are already on V19. The feature releases, such as V20, receive 4 months of support. 

Will the features be backported to V14?

The Collaboration Engine updates will be available for V14.7. The old Gradle plugin is already ported for V14, but the officially supported version will not be backported.

How can I get started with V20?

You can configure a V20 project for both Vaadin Flow and Fusion at Don’t worry about making the wrong choice; the frameworks are interoperable.

What’s next?

We create a feature release roughly every quarter. Find details on the Vaadin roadmap.

Any more questions? Ask away by commenting below!

Mikael Sukoinen
Mikael Sukoinen
Mikael has a passion for writing text, code and music. He’s currently utilising his skills to explain difficult concepts in plain language at Vaadin Ltd.
Other posts by Mikael Sukoinen