Here are the highlighted new and improved features in Vaadin 13. The rest of the bug fixes and improvements you can check from the full release notes.
To update to this release follow the update instructions. To start from a fresh project, we recommend using a starter.
Custom field is a component that can wrap a set of any other components as a single composite field. The component provides commonly needed `label` and `error-message` features, and the `required` and `invalid` properties.
Email field is a Text Field component extension that expects its value to be a valid email address. It also enables the specialized UI controls for typing an email address on mobile devices.
The number field component is an extension of the text field that allows numeric value input and enables the dedicated UI controls for it on mobile. The component can be decorated with decrease/increase buttons for updating the value in steps.
Text field now has a built-in clear button that can be enabled with a flag. When the feature is in use, a clear button is displayed on the right-hand side of the text field when there’s text in it. Clicking the button clears the value. The feature also works with other text field -family components like password field and text area.
Setting the autoselect flag on will select the input text of the field, whenever it gets focused. The feature also works with other text field -family components like password field and text area.
Time Picker now has a Java API for using it from server side with Flow.
The Select component is a simple dropdown and a more lightweight alternative to ComboBox. It was previously available as a Web Component, but now it also has a Java API.
Grid Pro is a Grid extension with additional high level functionality. The first release brings in a new column type specialised for inline data editing. All the existing Grid features work with Grid Pro also.
Rich Text Editor is a text input component that accepts formatted text as input / output and supports viewing and editing the text with specialized UI controls.
The component's value can be accessed either as Delta (read/write) or HTML (read).
Accordion is a component that wraps a vertically stacked set of panels that can be individually expanded.
A component to show more content when the user requests it, usually by clicking the panel header to reveal more content below it.
A component to show a login screen having a username and a password field. You can either use the full page Login Overlay with minimal needed configuration or create a more customized experience with Login Form component. Login component works with password managers.
This new client side API allows obtaining contextual information (such as the column or the item) about any type of an event that occurs inside the grid.
Context menu now supports hierarchical/nested menu items that expand as sub-menus on mouseover or keyboard navigation. The menu items can be marked as checked or disabled and dividers can be added in between the items.
New API in Flow allows you to easily assign keyboard shortcuts in Java for your application to improve the end user experience.
Now it is possible to register routes dynamically while the Flow application is running. You can register routes for all users e.g. on application startup, or just for particular user e.g. based on access rights.
The compact theme/preset defines values for the sizing and spacing properties to reduce the visual space required by components to better fit a large amount of content on the screen. It’s a Lumo-only feature and can be enabled by importing the preset file to the application.
Grid's new class name generators allow generating CSS class names for grid cells based on their row and column. This feature together with the themable mixing API leverages styling grid cells to the next level.
The theme switcher in Designer received some improvements. The dark palette variants for Lumo and Material are now available. You can disable auto-import of styles and the theme settings are now stored into the project.
For users of Vaadin 10 or later, updating the version number in the vaadin-bom is enough. This release introduced a few breaking changes from Vaadin 12.
Notice, that a few breaking changes were introduced in vaadin-combo-box in Vaadin 12.