Create stateless views with TypeScript

You can find more information about this feature in our blog post An introduction to client-side TypeScript views in Vaadin 15.

In your Java code, you define an endpoint and Vaadin takes care of creating the client TypeScript code for the endpoint methods and used entity types

import com.vaadin.flow.server.connect.Endpoint;

/**
 * A Vaadin endpoint that counts numbers.
 */
@Endpoint
public class CounterEndpoint {
    /**
     * A method that adds one to the argument.
     */
    public int addOne(int number) {
        return number + 1;
    }
}

In your LitElement-based view, you can call the endpoint using TypeScript.

// Other imports
import * as counterEndpoint from './generated/CounterEndpoint';

// Other code
counterEndpoint.addOne(1).then(result => console.log(result));

See how to get started with TypeScript in Vaadin in the Quick Start Guide.

Use the new pnpm option for a faster build

pnpm, a.k.a. performant npm, is a better front-end dependency management option. With pnpm, packages are cached locally by default and linked (instead of downloaded) for every project. This results in reduced disk space usage and faster recurring builds when compared to npm.

See switch npm to pnpm.

Binder improvements make form building easier

  • It is easier to create forms with the new "save-as-draft" functionality, by using Binder::writeBeanAsDraft(BEAN) 
  • Form bindings can now be triggered between required and non-required states, with setRequiredEnabled(boolean) 
  • BeanValidationBinder can now include nested properties for scanning when building the JSR-303 validators for bindings.

Which of the Vaadin 15 features will be included in Vaadin 14.2?

The Binder improvements, pnpm option, and several other minor improvements and fixes, will be included in Vaadin 14.2.

  • Flow 2.2 up to 2.2.0-alpha12 is included in Flow 3.0. Flow 3.0 fixes are only available in Vaadin 15 and later.
  • Flow 2.2 will receive more features and it will be released in Vaadin 14.2.

Update instructions

If you don't plan to use the new TypeScript views feature, in most cases, all you need to do is to update the version number in your project pom.xml to 15.0.6. Note that there are some breaking API changes listed in the release notes. If you are using Spring, make sure you're using Spring 5.2.0 or newer, and Spring Boot 2.2.0.

If you want to use TypeScript views, you should either follow these update instructions or create a new project.

Supported technologies

  • No longer supported:
    • Support for Internet Explorer 11, Edge with EdgeHTML browser engine, and Safari 9-12 browsers has been dropped.
    • Bower (compatibility mode) and WebJars are no longer supported.
    • A number of deprecated APIs have been removed. See Flow 3.0 release notes for the full list.
  • Supported in Vaadin 15:
    • Latest versions of Edge Chromium, Firefox, Chrome and Safari browsers are supported. Also, the latest ESR version of Firefox is supported.
    • Java 8, Java 11 and the latest Java are supported

Vaadin 15 is maintained until July 2020

Vaadin 15 is a regular release and is maintained until one month after version 16.0 is released in June 2020. Maintenance guarantees start from the general availability release (GA). Vaadin 14 is the current long-term support (LTS) version and is the recommended version for most users.