Vaadin 19.0.0.alpha3
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 18
Here are the highlighted new and improved features in Vaadin 19. To see the full list of bug fixes and improvements, check Included Projects and Change Log.
Flow
Application Theme
The application theme is a simplified theming system that works for all Vaadin applications
and can be packaged into a reusable dependency.
npm build compatibility for OSGi applications
Flow developers can use npm based build and deploy their applications in production mode.
Breaking Changes
- Use data view filter and sorting only to that component (
vaadin-checkbox-flow
vaadin-combo-box-flow
vaadin-grid-flow
vaadin-list-box-flow
vaadin-radio-button-flow
vaadin-select-flow
)
In-memory filtering and sorting are now stored directly in component, which gives an opportunity to change it through the data view API for a certain component separately from other components bound to the same data provider.
Fusion
Offline start and navigation
The @pwa annotation became more powerful in Vaadin 19. It enables starting the app and navigating between client-side routes offline, much easier customizations to the Service Worker, and an update to the loading indicator / reconnect dialog to add a clear indication to the users when the app is offline.
Breaking Changes
- Entity field with
@Id
annotation in Java is now optional in the generated TypeScript code.
Given an entity with id field, now instead of usingentity.id
, you might need to change toentity.id!
orentity.id?
.
Collaboration Engine
The Collaboration Engine is included in Vaadin platform for the first time. It enables end-users to see who else is present in the same view, and edit forms together in real-time.
Components
Changes in 19 of 35 components
- TypeScript type definitions for component events
Typed events in all Vaadin components allow using code-completion in IDEs and build time TS compiler checks when creating event listeners for Vaadin components
Changes in vaadin-grid-pro-flow
- ⧉ Add EditOnClick feature. PR:480. Ticket:73
Add API to enable edit mode to Grid Pro with a single click on the cell.
Changes since 19.0.0.alpha2
- Vaadin Accordion (web component v1.2.0)
- Vaadin App Layout (web component v2.2.0)
- Vaadin Avatar (web component v2.0.0-alpha1)
- Vaadin Button (web component v2.4.0)
- Vaadin Checkbox (web component v3.0.0-alpha1)
- Checkbox
- Checkbox Group
- Vaadin Combo Box (web component v6.0.0-alpha1)
- Vaadin Context Menu (web component v5.0.0-alpha2)
- Vaadin Custom Field (web component v2.0.0-alpha1)
- Vaadin Date Picker (web component v5.0.0-alpha1)
- Vaadin Date Time Picker (web component v2.0.0-alpha1)
- Vaadin Details (web component v1.2.0)
- Vaadin Dialog (web component v2.5.2)
- Vaadin Form Layout (web component v2.3.0)
- Vaadin Grid (web component v6.0.0-alpha1)
- Grid
- Tree Grid
- Grid Context Menu
- Vaadin Icons (web component v4.3.2)
- Vaadin List Box (web component v2.0.0-alpha1)
- Vaadin Login (web component v2.0.0-alpha1)
- Vaadin Menu Bar (web component v2.0.0-alpha1)
- Vaadin Notification (web component v1.6.0)
- Vaadin Ordered Layout (web component v1.4.0)
- Horizontal Layout
- Vertical Layout
- Flex Layout
- Vaadin Progress Bar (web component v1.3.0)
- Vaadin Radio Button (web component v1.5.1)
- Radio Button
- Radio Button Group
- Vaadin Select (web component v3.0.0-alpha1)
- Vaadin Split Layout (web component v4.3.0)
- Vaadin Tabs (web component v4.0.0-alpha4)
- Vaadin Text Field (web component v3.0.0-alpha1)
- Text Field
- Text Area
- Password Field
- Big Decimal Field
- Email Field
- Integer Field
- Number Field
- Vaadin Time Picker (web component v3.0.0-alpha1)
- Vaadin Upload (web component v5.0.0-alpha1)
- Vaadin Board (PRO) (web component v3.0.0)
- Vaadin Charts (PRO) (web component v8.0.1)
- Vaadin Confirm Dialog (PRO) (web component v2.0.0)
- Vaadin Cookie Consent (PRO) (web component v2.0.0)
- Vaadin Crud (PRO) (web component v2.0.0-alpha2)
- Vaadin Grid Pro (PRO) (web component v3.0.0-alpha1)
- Vaadin Rich Text Editor (PRO) (web component v2.0.0-alpha2)
Support
Vaadin 19 is supported for one month after Vaadin 20 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 (6.0.0.alpha4)
- Vaadin Spring Addon (16.0.0.alpha3)
- Vaadin CDI Addon (12.0.1). You can use the add-on with V10+, see https://github.com/vaadin/cdi#using-with-vaadin-10 for instructions.
- Maven Plugin for Vaadin (19.0.0.alpha3)
- Gradle plugin for Flow (1.2)
- Vaadin Multiplatform Runtime (Prime)
Components
Vaadin flow components
All listed components' Java integration follow the Vaadin version 19.0.0.alpha3
Vaadin Web Components
- Vaadin Accordion (web component v1.2.0)
- Vaadin App Layout (web component v2.2.0)
- Vaadin Avatar (web component v2.0.0-alpha1)
- Vaadin Button (web component v2.4.0)
- Vaadin Checkbox (web component v3.0.0-alpha1)
- Checkbox
- Checkbox Group
- Vaadin Combo Box (web component v6.0.0-alpha1)
- Vaadin Context Menu (web component v5.0.0-alpha2)
- Vaadin Custom Field (web component v2.0.0-alpha1)
- Vaadin Date Picker (web component v5.0.0-alpha1)
- Vaadin Date Time Picker (web component v2.0.0-alpha1)
- Vaadin Details (web component v1.2.0)
- Vaadin Dialog (web component v2.5.2)
- Vaadin Form Layout (web component v2.3.0)
- Vaadin Grid (web component v6.0.0-alpha1)
- Grid
- Tree Grid
- Grid Context Menu
- Vaadin Icons (web component v4.3.2)
- Vaadin Item (web component v3.0.0-alpha1)
- Vaadin List Box (web component v2.0.0-alpha1)
- Vaadin Login (web component v2.0.0-alpha1)
- Vaadin Menu Bar (web component v2.0.0-alpha1)
- Vaadin Notification (web component v1.6.0)
- Vaadin Ordered Layout (web component v1.4.0)
- Horizontal Layout
- Vertical Layout
- Flex Layout
- Vaadin Progress Bar (web component v1.3.0)
- Vaadin Radio Button (web component v1.5.1)
- Radio Button
- Radio Button Group
- Vaadin Select (web component v3.0.0-alpha1)
- Vaadin Split Layout (web component v4.3.0)
- Vaadin Tabs (web component v4.0.0-alpha4)
- Vaadin Text Field (web component v3.0.0-alpha1)
- Text Field
- Text Area
- Password Field
- Big Decimal Field
- Email Field
- Integer Field
- Number Field
- Vaadin Time Picker (web component v3.0.0-alpha1)
- Vaadin Upload (web component v5.0.0-alpha1)
- Vaadin Board (PRO) (web component v3.0.0)
- Vaadin Charts (PRO) (web component v8.0.1)
- Vaadin Confirm Dialog (PRO) (web component v2.0.0)
- Vaadin Cookie Consent (PRO) (web component v2.0.0)
- Vaadin Crud (PRO) (web component v2.0.0-alpha2)
- Vaadin Grid Pro (PRO) (web component v3.0.0-alpha1)
- Vaadin Rich Text Editor (PRO) (web component v2.0.0-alpha2)
Themes
Router
- Vaadin Router (v1.7.2)
Tools
- Vaadin Designer (Pro) (Release notes)
- Vaadin TestBench (Pro) (6.4.0)
Getting Started with Vaadin
App starters
The best way to get started with Vaadin is to go to https://vaadin.com/start and pick an app template for the technology stack you’re interested in.
Note
Vaadin 19 starters are not available just yet in vaadin.com. You can use Vaadin 14 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>19.0.0.alpha3</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 19 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:
- 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).
- Issues that are not component-specific (e.g. requests for new components) or encompass multiple components should be posted in vaadin-flow-components repository.
- 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