Blog

Vaadin 14, the next LTS release, is in beta testing

By  
Matti Tahvonen
Matti Tahvonen
·
On May 24, 2019 10:30:00 AM
·
In Product

Update 25th June: Most new features are production ready, but we still want to take a timeout to fix some developer experience related issues in the new npm mode. Thus we are releasing another RC this week instead of final LTS release. With the npm mode, which is the default for new projects, you'll still experience a long build time and some unexpected behavior may occur.

Big thanks for all active beta testers!

The next long-term-support version of Vaadin is about to arrive. Today we released the second beta release, 14.0.0.beta2, for which we hope to get a lot of feedback from you and on the 5th of June we are planning to push out the 14.0.0 release. Based on the feedback we have received on our new release model, we are also making certain changes that help the users of LTS releases to get some of the upcoming features to their trusted LTS release.

What is new?

Vaadin 14 is coming now just one quarter after version 13. The largest change is to a more modern client-side packaging system. Instead of using somewhat deprecated Bower to package the client-side resources, we are moving to npm based builds.

In addition to npm migration, there are a number of smaller improvements to the new Web Components based Vaadin platform. In many areas, we have now reached the feature parity with the previous Vaadin Framework 8 series.

As many corporate users need to stay with the LTS release, one could also think that we are now re-releasing all the features introduced already in versions 11, 12 and 13. A short recap of what is coming out in Vaadin 14 and what was already released after the latest LTS release:

  • Vaadin 14

    • Client-side resources now packaged using npm instead of Bower

    • Vaadin components and the template format is now based on Polymer 3

    • Drag and drop in Grid

    • Embedding Vaadin Flow applications as Web Components

    • Menubar

    • Renewed App Layout

  • Vaadin 13

    • GridPro with enhanced support for inline data editing

    • Rich Text Editor and a number of other new input fields

    • Dynamic registering of routes

    • Keyboard shortcuts API

    • Login

    • Compact mode for the Lumo theme suitable for data-intensive applications

  • Vaadin 12

    • CDI and OSGi support

    • Multi platform runtime for a smoother upgrade from Vaadin 7 and 8

    • TreeGrid

    • CRUD component

    • Context Menu

    • Performance improvements

    • PWA annotation

    • Material theme

  • Vaadin 11

    • Confirm Dialog

    • Gradle support

 

How to try it out and provide feedback

Trying out the pre-releases and giving some feedback is one of the easiest ways to give something back to the open source project. Create a fresh project by downloading base project from GitHub or configure your existing Vaadin project to use the pre-release version 14.0.0.beta2.

Our pre-releases are published in a separate Maven repository, which you’ll need to configure. You can either configure the repositories directly to your project or to your ~/m2/settings.xml file.

An example of addition to pom.xml:

<project>
   <repositories>
       <repository>
           <id>Vaadin pre-release repository</id>
           <url>http://maven.vaadin.com/vaadin-prereleases/</url>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
       </repository>
   </repositories>
   <pluginRepositories>
       <pluginRepository>
           <id>Vaadin pre-release repository</id>
           <url>http://maven.vaadin.com/vaadin-prereleases/</url>
           <snapshots>
               <enabled>false</enabled>
           </snapshots>
       </pluginRepository>
   </pluginRepositories>
</project>

Below you’ll find an example of a profile that activates Vaadin pre-release repositories in all your Maven projects via ~/m2/settings.xml configuration file:

<settings>
   <profiles>
       <profile>
           <id>vaadin-pre-releases</id>
           <activation>
               <activeByDefault>true</activeByDefault>
           </activation>
           <repositories>
               <repository>
                   <id>Vaadin pre-release repository</id>
                   <url>http://maven.vaadin.com/vaadin-prereleases/</url>
                   <snapshots>
                       <enabled>false</enabled>
                   </snapshots>
               </repository>
           </repositories>
           <pluginRepositories>
               <pluginRepository>
                   <id>Vaadin pre-release repository</id>
                   <url>http://maven.vaadin.com/vaadin-prereleases/</url>
                   <snapshots>
                       <enabled>false</enabled>
                   </snapshots>
               </pluginRepository>
           </pluginRepositories>
       </profile>
   </profiles>
</settings>

As with all bugs and enhancement issues, the main channel is GitHub. If you know which sub-project your issue is related to, add it there; if uncertain, just fill them up to platform repository and we’ll relocate them to the correct repository.

If you have less structured feedback, the Vaadin forum is a great way to discuss with our developers. Alternatively, you can voice your concerns in Gitter chat.

Changes for the release model - minors are back

Along with the Vaadin 10 release, we made some changes to how we release new Vaadin versions. The feedback hasn’t been all positive. Most complaints have been that corporations that really need to stick with the LTS version haven’t received any of the important and perfectly backward compatible enhancements that we have published after the Vaadin 10 release.

From Vaadin 14 forward, we can now release minor releases for features that we can safely backport to the latest LTS release. So for example, we have been working on Portal support with one of our customers, but it looks like that feature will not fit in 14.0. Once we get that finished, we will most likely ship it to LTS as 14.1 release.

A thing to note about the maintenance releases is that they don’t reset the five-year free support we give to Vaadin. So if we backport some feature from Vaadin 22 to 14.x, the Vaadin 14 LTS doesn’t gain an additional two years of support.

Try Vaadin 14 today

Matti Tahvonen
Matti Tahvonen
Matti Tahvonen has a long history in Vaadin R&D: developing the core framework from the dark ages of pure JS client side to the GWT era and creating number of official and unofficial Vaadin add-ons. His current responsibility is to keep you up to date with latest and greatest Vaadin related technologies. You can follow him on Twitter – @MattiTahvonen
Other posts by Matti Tahvonen