Version @version@ built on @builddate@.
Release Notes for Vaadin Framework @version@
- Overview of Vaadin Framework @version@ release
- Change Log for Vaadin Framework @version@
- Enhancements in Vaadin Framework @version-minor@
- Incompatible or Behavior-altering Changes in @version-minor@
- Known Issues and Limitations
- Getting started with Vaadin Framework
- Package Contents
- Migrating from Vaadin 7.7
- Vaadin Framework @version@ dependencies
- Supported Technologies
- Vaadin Framework on the Web
Overview of Vaadin Framework @version@ Release
Vaadin Framework @version@ is a pre-release for evaluating 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:
- Recalculate column widths when vertical scrollbar hidden/shown
- Add support for "ww" in date format
- All updates to Escalator size should get reported to LayoutManager
- Ensure type safety and serializable nature of all the listeners
For enhancements introduced in Vaadin Framework 8.11, see the Release Notes for Vaadin Framework 8.11.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@
For incompatible or behavior-altering changes in 8.11, please see 8.11 release notes
Known Issues and Limitations
- @PushStateNavigation can cause browser to load resources from wrong URLs (#10329)
- Drag'n'drop in a Table doesn't work on touch devices running Internet Explorer (Windows Phone, Surface) (#5170)
- Payload based drop criteria do not work on IE11 - use criteria scripts if IE11 support of drop validation is required
- Specifying layout sizes using em is currently discouraged, because it results in fractional components sizes in many cases, which might cause unwanted 1px gaps between components.
- Up-to-date information about configuration needed for push and compatibility issues are available in
this wiki page.
The most prominent limitations are: - The Maven GWT compilation for Vaadin7WidgetSet requires at least 1G of memory, when using the vaadin-client-compatibility package. If compiled inside Eclipse, possibly even more.
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:
- Maven dependency.If using Maven, define it as a dependency or use any of the available archetypes to create a new project. More information at https://vaadin.com/maven
- IDE Plugins.If using Eclipse, use the Vaadin Plugin for Eclipse, which automatically downloads the Framework libraries. For NetBeans 8.0 and 7.4, use the official Vaadin plugin that provides Maven based wizards and code completion support for Vaadin Framework based development.
Vaadin Framework is also available as a ZIP package downloadable from Vaadin Download page.
Package Contents
Inside the ZIP installation package you will find:
- Separate server-side (vaadin-server) and client-side (vaadin-client, vaadin-client-compiler) development libraries
- Precompiled widget set (vaadin-client-compiled) for server-side development
- Shared library (vaadin-shared) for both server- and client-side libraries
- Valo theme (the only inbuilt theme) (vaadin-themes)
- Dependency libraries provided under the lib/ folder
- Vaadin 7 compatible classes for server-side (vaadin-compatibility-server, vaadin-compatibility-shared), client-side (vaadin-compatibility-client) and themes (vaadin-compatibility-themes)
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:
- Recompile your classes using the new Framework version. Binary compatibility is only guaranteed for maintenance releases of Framework.
- Unless using the precompiled widget set, recompile your widget set using the new Framework version.
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
The server-side Vaadin Framework 8 is compatible with Java 8 and 11. Note, that the client-side Java code, compiled using GWT to be run as JS on the browser side, only supports language features up to Java 9 and a subset of JDK libraries. Vaadin Framework 8 is developed and tested with Oracle JDK, but other compliant Java distributions should work as well. More about Java support in FAQ. Vaadin Framework 8 is especially supported on the following operating systems:
- Windows
- Linux
- Mac OS X
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:
- Apache Tomcat 7-9
- Apache TomEE 1.7 and 7.0
- Oracle WebLogic Server 12.2
- IBM WebSphere Application Server 9
- JBoss EAP 6
- Wildfly 8-13
- Jetty 8-9
- Glassfish 4
- Payara Server 164
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:
- Liferay Portal 6.2
- Liferay Portal 7.0
Vaadin Framework @version@ supports the following desktop browsers:
- Mozilla Firefox 54+
- Mozilla Firefox ESR 52+
- Internet Explorer 11, Edge (latest version)
- Safari 9+
- Google Chrome 59+
Additionally, Vaadin Framework supports the built-in browsers in the following mobile operating systems:
- iOS 9+
- Android 4+ with Chrome 42+
Vaadin on the Web
- vaadin.com - The developer portal containing everything you need to know about Vaadin
- vaadin.com/framework/demos - A collection of demos for Vaadin Framework
- vaadin.com/docs/v8/framework/tutorial.html - Getting started with Vaadin Framework
- vaadin.com/forum - Forums for Vaadin Framework related discussions
- vaadin.com/docs/v8 - Vaadin Docs - complete reference manual for all Vaadin products
- vaadin.com/api - Online javadocs
- vaadin.com/directory - Add-ons for Vaadin Framework
- vaadin.com/support - Commercial support for Vaadin Framework
- vaadin.com/consulting - Expert services for Vaadin Framework users
- vaadin.com/company - Information about the company behind Vaadin Framework
- vaadin.com/contribute - Contribution quide
- github.com/vaadin/framework - Github repository