Version @version@ built on @builddate@.

Release Notes for Vaadin Framework @version@

Overview of Vaadin Framework @version@ Release

Vaadin Framework @version@ 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. The API in this alpha version is not considered final and may change based on your feedback.

Change Log for Vaadin Framework @version@

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

Enhancements in Vaadin Framework @version-minor@

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

For enhancements introduced in Vaadin Framework 8.1, see the Release Notes for Vaadin Framework 8.1.0. For migrating from previous framework versions, see the list of incompatible changes and how to migrate to Vaadin Framework 8.

Incompatible or Behavior-altering Changes in @version-minor@

  • Row height in Grid is replaced with separate header, body and footer row heights
  • GridState variable rowHeight has been replaced by three variables.
  • Button has a new constructor that may cause constructor calls with null as first parameter to be ambiguous.
  • DataCommunicator methods getDataProviderSize and fetchItemsWithRange are now public, not protected.
  • Binder method getBindings now returns a Collection, not a Set.
  • Binder protected method handleError now takes a ValidationResult, not String.
  • BindingBuilder now works like a proper builder. Adding a converter will not mark Binding as bound allowing chaining to the same object.
  • ErrorLevel is removed from ErrorMessage and now com.vaadin.shared.ui.ErrorLevel should be used.
  • Error indicators are now <span class="v-errorindicator"></span> elements.
  • Embedded is not a LegacyComponent anymore.
  • Notification method show returns Notification, instead of void.
  • The client side SelectionModel interface has a new method isMultiSelectionAllowed.
  • AbstractDateField is not a LegacyComponent anymore.
  • AbstractDateField.formatDate is now abstract.
  • VAbstractTextualDate.updateDateVariables() is now updateBufferedResolutions() and updateAndSendBufferedValues().
  • For GridDragStartEvent and GridDragEndEvent classes, the method getDraggedItems now returns a List instead of a Set, with the first-to-last item ordering from client side.
  • For incompatible or behavior-altering changes in 8.1, please see 8.1 release notes

    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 from Vaadin Framework 7.7

    Most 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. Please note that the rename to com.vaadin.v7 has only been applied to classes that are only relevant for the compatibility modules. Some classes have also been renamed while still being part of the non-compatibility modules.

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

    There is a migration tool which helps with some of the migration steps.

    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.

    Common Upgrade Steps

    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 @version@ 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 @version@ supports the following desktop browsers:

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

    Vaadin on the Web