Version 8.0.0 built on 2017-02-18.

Release Notes for Vaadin Framework 8.0.0

Overview of Vaadin Framework 8.0.0 Release

Vaadin Framework 8.0.0 is a feature release that includes a number of new features and bug fixes, as listed in the list of enhancements and change log below.

Special note for add-on developers: please test your add-on against Framework 8.0 and update your add-on as needed.

Change Log for Vaadin Framework 8.0.0

You can find the full list of all changes in GitHub.

Enhancements in Vaadin Framework 8.0

Vaadin Framework 8.0 includes many major and minor enhancements. Below is a list of the most notable changes:

The new data binding API replaces the old Container, Item, Property, FieldGroup, Validator, Converter and related classes with new mechanisms. Also components using those are replaced with updated implementations using the new API, and the old data binding API and components have been moved to separate compatibility packages for ease of migration. For more details, see the list of incompatible changes and how to migrate to Vaadin Framework 8.

For enhancements introduced in Vaadin Framework 7.7, see the Release Notes for Vaadin Framework 7.7.0.

Incompatible or Behavior-altering Changes in 8.0

Known Issues and Limitations

Getting started with Vaadin Framework

Vaadin Framework is a Java framework for building modern web applications that look great, perform well and make you and your users happy. The Framework is available under the Apache License, Version 2.0 (see the license.html in the Vaadin Framework ZIP package).

The easiest ways to start using Vaadin Framework are:

Vaadin Framework is also available as a ZIP package downloadable from Vaadin Download page.

Package Contents

Inside the ZIP installation package you will find:

See the README.TXT in the installation package for detailed information about the package contents.

For server-side development, copy the vaadin-server , vaadin-client-compiled , vaadin-shared , and vaadin-themes from the main folder and the dependencies from the lib folder to the WEB-INF/lib folder of your Vaadin project. (The vaadin-client-compiled is necessary if you do not wish to compile the widget set by your own, which you need to do if you use almost any add-on components.)

Migrating to Vaadin Framework 8.0

Vaadin Framework 7 applications need some changes when migrating to Vaadin Framework 8. In addition to updating dependencies, all references to Framework 7 style data binding and components using it need to be updated either to use new Framework 8 style data binding or to use the compatibility versions in separate packages.

Vaadin Framework 7 compatible versions of the old data binding API and components (with the exception of Form) are available in the package com.vaadin.v7 in modules vaadin-compatibility-server, vaadin-compatibility-shared etc. that can be used instead of vaadin-server, vaadin-shared etc. The package vaadin-compatibility-client-compiled contains the widgetset com.vaadin.v7.Vaadin7WidgetSet which can be used instead of DefaultWidgetSet. Note that the widgetset compilation for Vaadin7WidgetSet compilation requires at least 1G of memory. To ensure this, add <extraJvmArgs>-Xmx1G</extraJvmArgs> to the vaadin-maven-plugin configuration in your pom.xml file.

All applications using either Reindeer, Runo, Chameleon or Base theme must include the vaadin-compability-themes package.

Some Vaadin Framework 7 add-ons do not work in version 8 - please check the add-ons in Vaadin Directory for Framework version 8 support.

The Migration Tool

To ease the migration, the vaadin maven plugin has a target vaadin:upgrade8, which updates all necessary com.vaadin.* imports in java files and prefixes design files in your project to point to the legacy 7 versions, e.g. com.vaadin.ui.TextField to com.vaadin.v7.TextField. This step can be also run manually by building and running the migration tool locally. Note that you still need to add the legacy package dependencies to your pom.xml.

Common Upgrade Steps For All Versions

Always when upgrading from an earlier Vaadin Framework version, you must:

Remember also to refresh the project in your IDE to ensure that the new version of everything is in use.

By using the " ?debug " URL parameter, you can verify that the version of the servlet, the theme, and the widget set all match.

Eclipse users should always check if there is a new version of the Eclipse Plug-in available.

Maven users should update the Vaadin Framework dependency version in the pom.xml .

Vaadin Framework 8.0.0 Dependencies

When using Maven, Ivy, Gradle, or other dependency management system, all Framework dependencies are downloaded automatically. This is also the case when using the Vaadin Plugin for Eclipse.

The Vaadin Framework ZIP installation package includes the dependencies in the lib subfolder. These need to be copied to the WEB-INF/lib folder of the web application that uses Vaadin Framework.

The dependencies are listed in the Licensing description. Some are explicit dependencies packaged and distributed as separate JARs, while some are included inside other libraries.

Bean Validation

If you use the bean validation feature, you need a Bean Validation API implementation. You need to install the implementation JAR in the WEB-INF/lib directory of the web application that uses validation.

Supported Technologies

Vaadin Framework 8 is compatible with Java 8 and newer. Vaadin Framework 8 is especially supported on the following operating systems:

Vaadin Framework 8 requires Java Servlet API 3.0 but also supports later versions and should work with any Java application server that conforms to the standard. The following application servers are supported:

Vaadin Framework 8 supports the JSR-286 Portlet specification and all portals that implement the specification should work provided they support Java 8 and Servlet 3.0. The following portals are supported:

Vaadin Framework 8.0.0 supports the following desktop browsers:

Additionally, Vaadin Framework supports the built-in browsers in the following mobile operating systems:

Vaadin on the Web