Vaadin 21.0.0.rc1
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 20
Here are the highlighted new and improved features in Vaadin 21. To see the full list of bug fixes and improvements, check Included Projects and Change Log.
Flow
- Spring Security helpers for Vaadin Flow
- With improved helpers in vaadin-flow and vaadin-spring, we should make it easier, faster, and safer for Vaadin developers to utilize Spring security in their web apps.
- RouteScope for Flow Spring integration
- With this feature, you can share beans/component-state inside a route between different UI subparts/fragments, So that you can use DI to inject the beans to the route classes and control when state is shared and when cleaned up
- It is possible to keep your
RouteScoped
beans to be the same after refresh (together withPreserveOnRefresh
) - Make it easier for migrating your Vaadin 8 app to Latest
Fusion
- Fusion TypeScript code generation nullability change
- Previously, all the Java types are generated as required in TypeScript. Now it changes so that for any type that is nullable in Java, it is optional in TypeScript, that is, the value could be undefined.
Vaadin Components
- new feature in
Vaadin Charts
- Server-side feature in Vaadin Charts for exporting a chart as SVG image data.
- new Event type in
Vaadin Grid
- A Grid event that is thrown when a cell is focused.
- Generic types support for
vaadin-grid
,vaadin-combo-box
andvaadin-crud
web components- Custom type parameter that enables getting items property, and other public properties, methods and events typed automatically.
- Lumo utility classes
- A set of utility css classes for common styling needs.
Vaadin Collaboration Engine
- Introduce
PresenceManager
API- New API to set the user presence in a topic, keep track of the users who are currently present, and react to changes in the presence.
Support
vaadin 21 is supported for one month after Vaadin 22 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
- Vaadin Flow (8.0.0.rc1)
- Vaadin Spring Addon (18.0.0.rc1)
- Vaadin CDI Addon (13.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 (21.0.0.rc1)
- Gradle plugin for Flow (21.0.0.rc1)
- Vaadin Multiplatform Runtime (Prime)
Components
Vaadin Web Components
All listed Vaadin web components' version are using 21.0.0-rc1
Vaadin flow components
All listed Vaadin components' Java integration follows the Vaadin version 21.0.0.rc1
- 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 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 21.0.0-rc1
- Vaadin Lumo theme
- Vaadin Material theme
Router
- Vaadin Router (v1.7.4)
Collaboration Engine
- Vaadin Collaboration Engine (3.2.0.rc1)
Tools
- Vaadin Designer (Pro) (Release notes)
- Vaadin TestBench (Pro) (7.0.1)
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 21 starters are not available just yet in vaadin.com. You can use Vaadin 20 starter and manually change Vaadin version (see instructions below).
Manually changing Vaadin version for Java projects
Add the following contents to your project pom.xml.
<dependencyManagement>
...
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-bom</artifactId>
<version>21.0.0.rc1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencyManagement>
<repositories>
<repository>
<id>vaadin-prereleases</id>
<url>https://maven.vaadin.com/vaadin-prereleases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>vaadin-prereleases</id>
<url>https://maven.vaadin.com/vaadin-prereleases</url>
</pluginRepository>
</pluginRepositories>
Known Issues and Limitations
This is the prerelease version of Vaadin 21 for evaluating a number of new features and bug fixes. The API in this prerelease version is not considered final and may change based on user feedback.
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 usingAnchor
to link aStreamResource
download.
Migrating from Vaadin 8
Migrating from Vaadin 10-14
Migrating from Vaadin 17
Update the Vaadin version in the build files, and check if the project is using any of the breaking changes mentioned in the 'New and Noteworthy' section above.
In addition, in the case of using the now deprecated PolymerTemplate in views, we encourage to migrate to LitTemplate.
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:
- If you encounter an issue with the TypeScript and HTML API of Vaadin components, the repository is https://github.com/vaadin/web-components
- If you encounter an issue with the Java API of Vaadin components, the repository is https://github.com/vaadin/flow-components
- 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