Vaadin 14.1.0.rc1
Vaadin consists of a set of web components, a Java web framework, configurable themes, tools and a set of app templates.
With every major release, we will change and improve things based on your feedback. This may lead to breaking changes, which will be listed for each part of the platform in the breaking changes section.
Visit vaadin.com to get started.
NOTE
When updating from previous version to 14.1.0.rc1 it might be required to delete package-lock.json
file and node_modules
directory. In the error message only node_modules
is mentioned.
Support
Vaadin 14 is an LTS (long term support) version, which will be supported for 5 years after the GA (general availability) release. More details of our release model are available on our roadmap page.
Vaadin also provides commercial support and warranty.
New and Noteworthy
This is a RC release of Vaadin 14.1 that is going to replace Vaadin 14.0 in the 14.X LTS series.
Vaadin 14.1 introduces several improvements but also three new components: MultiSelectListBox
, IntegerField
, and BigDecimalField
. Also in this release, the Generic Drag & Drop
feature will be available as default.
From below you can find a list of new user values provided. All changes to a particular module can be found from GitHub following the link provided in the "Included Projects and Change Log" sections.
New development mode build
Improve your development experience by reducing build time in development mode significantly for big projects. For projects that have a lot of code, usually from external libraries, with 14.0 took a lot of time to start up the server and update after changes with certain reload tools. In 14.1 this will get significantly faster, in particular in Spring Boot projects that don’t have black/white-listing for the big external libraries they are using.
Generic Drag & Drop
Build applications with DnD operations inside the same UI using only Java.
Make your components draggable with DragSource
or drop targets with DropTarget
.
@PreserveOnRefresh support for Embedded Flow Components
Improve end-user experience when embedding Vaadin to another page.
In case the user has entered data to the embedded Vaadin part and the page is refreshed, the data is not lost.
Theming JS API aka vaadin-themable-mixin
JavaScript developers have much more convenient API for theming Vaadin components.
Take a deep dive in GitHub.
New component MultiSelectListBox
New field component for multi-selection. The biggest difference to the Checkbox group is that MultiSelectListBox
only has one tab stop, whereas, with the Checkbox group, you have to tab through each checkbox individually.
New component BigDecimalField
New field allows you to read/write BigDecimal type data.
Take a look in GitHub.
New component IntegerField
A field that allows you to read/write Integer type data.
More info about IntegerField
: Java Integration, WebComponent
RichTextEditor HTML write API
The users are no longer restricted to the controversial Delta format when setting value for the rich text editor, but can now set the value of the editor in HTML alternatively.
APIs available: Java Integration, WebComponent
New Grid column APIs
Grid.scrollToIndex(index)
API: Users can scroll the grid programmatically to a specific index
ColumnResizeListener
: Possibility to react to user originated column resize events and read/write new widths to the columns
ColumnReorderListener
: Possibility to react to user originated column reorder events and programmatically apply new column order
Upload all finished
You can now react to an event that occurs after all the uploads have finished, regardless if they finished successfully or not.
Crud improvements
The data editor for a selected row can be placed below/on the side of the grid alternatively to the previous mode, where the editor is always in a popup.
Minor changes and improvements
Subtrees in TreeGrid can be refreshed when needed
The developer can react to File rejected for Upload
Grid Dynamic context menu creation on click time
Flow Grid's context menu content can be updated with relevant content right before it opens.
Grid click event column reference
Enables determining which column on a grid row was clicked.
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.
Components
- Vaadin Accordion (Flow integration 2.0.0, web component v1.0.1)
- Vaadin Button (Flow integration 2.0.1, web component v2.2.1)
- Vaadin Checkbox (Flow integration 2.0.1, web component v2.2.10)
- Checkbox
- Checkbox Group
- Vaadin Combo Box (Flow integration 3.0.6, web component v5.0.9)
- Vaadin Context Menu (Flow integration 3.1.0, web component v4.3.13)
- Vaadin Date Picker (Flow integration 2.0.5, web component v4.0.5)
- Vaadin Time Picker (Flow integration 2.0.3, web component v2.0.4)
- Vaadin Details (Flow integration 2.0.0, web component v1.0.1)
- Vaadin Dialog (Flow integration 2.0.1, web component v2.2.1)
- Vaadin Select (Flow integration 2.0.2, web component v2.1.6)
- Vaadin Form Layout (Flow integration 2.0.2, web component v2.1.6)
- Vaadin Grid (Flow integration 4.1.0, web component v5.5.0)
- Grid
- Tree Grid
- Grid Context Menu
- Vaadin Icons (Flow integration 2.0.1, web component v4.3.1)
- Vaadin Item (web component v2.1.1)
- Vaadin List Box (Flow integration 2.1.0, web component v1.2.0)
- List Box
- Multi Select List Box
- Vaadin Menu Bar (Flow integration 1.0.2, web component v1.0.3)
- Vaadin Notification (Flow integration 2.0.0, web component v1.4.0)
- Vaadin Ordered Layout (Flow integration 2.0.0, web component v1.1.0)
- Horizontal Layout
- Vertical Layout
- Flex Layout
- Vaadin Progress Bar (Flow integration 2.0.2, web component v1.1.2)
- Vaadin Radio Button (Flow integration 2.0.1, web component v1.2.3)
- Radio Button
- Radio Button Group
- Vaadin Split Layout (Flow integration 2.0.3, web component v4.1.1)
- Vaadin Tabs (Flow integration 2.0.4, web component v3.0.5)
- Vaadin Text Field (Flow integration 2.1.0, web component v2.5.3)
- Text Field
- Text Area
- Password Field
- Big Decimal Field
- Email Field
- Integer Field
- Number Field
- Vaadin Upload (Flow integration 2.1.0, web component v4.2.2)
- Vaadin Custom Field (Flow integration 3.0.2, web component v1.0.9)
- Vaadin App Layout (Flow integration 2.0.4, web component v2.0.4)
- Vaadin Login (Flow integration 2.0.0, web component v1.0.1)
- Vaadin Board (PRO) (Flow integration 3.0.1, web component v2.1.1)
- Vaadin Charts (PRO) (Flow integration 7.0.2, web component v6.2.4)
- Vaadin Confirm Dialog (PRO) (Flow integration 2.0.2, web component v1.1.5)
- Vaadin Cookie Consent (PRO) (Flow integration 2.0.2, web component v1.1.2)
- Vaadin Crud (PRO) (Flow integration 2.1.0, web component v1.1.0)
- Vaadin Grid Pro (PRO) (Flow integration 2.0.3, web component v2.0.5)
- Vaadin Rich Text Editor (PRO) (Flow integration 2.1.1, web component v1.1.1)
Themes
Java Web Framework
- Vaadin Flow (2.1.0)
- Vaadin Spring Addon (12.1.0)
- Vaadin CDI Addon (11.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 (14.1.0.rc1)
- Gradle plugin for Flow (1.2)
- Vaadin Multiplatform Runtime (Prime)
Tools
- Vaadin Designer (Pro) (Release notes)
- Vaadin TestBench (Pro) (6.2.0)
Getting Started with Vaadin 14
App starters
The best way to get started with Vaadin 14 is to go to https://vaadin.com/start and pick an app template for the technology stack you’re interested in.
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>14.1.0.rc1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencyManagement>
<repositories>
<repository>
<id>vaadin-prerelease</id>
<url>https://maven.vaadin.com/vaadin-prereleases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>vaadin-prerelease</id>
<url>https://maven.vaadin.com/vaadin-prereleases</url>
</pluginRepository>
</pluginRepositories>
Known Issues and Limitations
This is the prerelease version of Vaadin 14.x 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.
OSGi support
- OSGi with npm does not work in V14.0.0-V14.1.0. We are working on a fix for V14.x.
- OSGi with Bower has problems with V14.0.0-V14.1.0
Flow
- When updating from previous version to 14.1.0.rc1 it might be required to delete
package-lock.json
file andnode_modules
directory. In the error message onlynode_modules
is mentioned. - The Template-in-Template feature has some limitations
- There are some issues in using Web Sockets as the Push channel in certain OSGi environments, but long polling works.
Components
- The dark theme preset does not work in IE11 when applied to the
<html>
element.
Migrating from Vaadin 8
Migrating from Vaadin 10-13
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:
- If you encounter an issue when using the HTML/JS API of a component or the component renders incorrectly, the problem is likely in the web component. The web component repositories are named like https://github.com/vaadin/vaadin-button
- If you encounter an issue when using the Java API of a component, the problem is likely in the Flow integration of the web component. The Flow component integration repositories are named like https://github.com/vaadin/vaadin-button-flow
- 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