Vaadin 22.0.0.beta2
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.
for more info, check the release note 9.0.0.beta1 and 9.0.0.beta2
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
Changes since 22.0.0.beta1
- Vaadin Flow (9.0.0.beta3, 9.0.0.beta4)
- Breaking Changes:
-
⧉ Remove StaticFileHandler.isStaticResourceRequest. PR:12263
This simplifies static file handling so the same logic is not duplicate in two places. It also makes it possible to always query the dev server for files instead of knowing upfront what the dev server can serve. The method is removed instead of retained as there are two ways it could have been used: 1. Called to check if a given request is a static resource request 2. Overridden in a custom StaticFileHandler To keep the method we would need to do the following for the cases: 1. Make isStaticResourceRequest return serveStaticResource() != null 2. Make serveStaticResource() call isStaticResourceRequest() as the first thing We cannot do both so it is safer to remove the method to force code to be updated
-
- Breaking Changes:
- Vaadin Spring Addon (19.0.0.beta2, 19.0.0.beta3)
- Vaadin Web Component (22.0.0-beta2)
- Vaadin Flow Component (22.0.0.beta2)
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
- Vaadin Flow (9.0.0.beta4)
- Vaadin Spring Addon (19.0.0.beta3)
- 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 (22.0.0.beta2)
- Gradle plugin for Flow (22.0.0.beta2)
- Vaadin Quarkus (1.0.0.beta1)
- Vaadin Multiplatform Runtime (Prime)
Components
Vaadin Web Components
All listed Vaadin web components' version are using 22.0.0-beta2
Vaadin flow components
All listed Vaadin components' Java integration follows the Vaadin version 22.0.0.beta2
- 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-beta2
- Vaadin Lumo theme
- Vaadin Material theme
Router
- Vaadin Router (v1.7.4)
Collaboration Engine
- Vaadin Collaboration Engine (4.0.0.beta1)
Tools
- Vaadin Designer (Pro) (Release notes)
- Vaadin TestBench (Pro) (7.0.2)
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).
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>22.0.0.beta2</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 22 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
See the migration guide
Since Vaadin 18, PolymerTemplate
has been deprecated but it is still supported. LitTemplate
should be used instead for new templates and we encourage migrating to it.
Migrating from Vaadin 21
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.
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