Vaadin Framework 8 is out!

The long wait is over and I’m privileged to announce that Vaadin Framework 8.0.0 is released today! Version 7 was released over four years ago. Even though there have been 7 minor releases since the initial release, that have added countless of new major features, major releases are always more exciting. With them we can revise the core API and drop some legacy to gain more velocity for the upcoming “major minors”.

The new main features in version 8 are:

  • Modern typesafe API optimized for Java 8. The most relevant changes are in

    • displaying data in select components and grid

    • binding data to fields

  • Faster (CPU) and more memory efficient data binding

  • Easier to implement custom form fields

  • Java 8 now supported for developing client side extensions as well

  • Improved defaults - less boilerplate code

There are so many exciting new features that we can’t list them all here. Thus we created a separate page listing the new features with code snippets and screenshots.

What is new in Vaadin 8

Upgrading from Vaadin 7 in a snap

Some of the old time Vaadin users may remember some largish changes one needed to upgrade from Vaadin 6 to 7. This time, although we have touched the really core component APIs with some breaking changes, the upgrade is smooth as a baby's bottom. Vaadin 7 compatible component implementations and legacy interfaces like Containers are still there, but just moved to a separate compatibility package that should be used by projects upgrading from Vaadin 7.

To make the upgrade even easier, we have created a simple tool, available also as a goal in the Maven plugin, that automatically changes your current code to use these legacy components. Just run that, add the compatibility module to your build and you are running your app on 8.0.0. You can start taking advantage of the new features gradually, instead of going through all your code at once.

The only thing that could hinder your upgrade is add-ons. Luckily all relevant Vaadin add-ons and many community maintained add-ons are already available for 8.

What next?

Although Vaadin 8.0.0 brings in a lot of nice enhancements, it is also a basis for further enhancements. Dropping support for old JDK versions and unmaintained Internet Explorers, we’ll be able to deliver new things much faster. In the next minor release, scheduled already for April, we’ll add often requested hierarchy, drag and drop and component support to the Grid component.

Naturally we’ll also continue our regular bugfix releases, so in case you face “.0 bugs”, report them right away via github.

To learn more about the new and upcoming features, join our next week's “What’s new in Vaadin 8” webinar. Sign up now and pose questions of new features or what you’d like to see in upcoming releases.

Webinar: What’s new in Vaadin 8

Add Comment
> we’ll add often requested hierarchy, drag and drop and component support to the Grid component

Really need this component support on Grids. Thank you. Can't wait for this April release. But surely will start using Vaadin 8 right now!
Posted on 2/21/17 2:56 PM.
I expected as much when gave me a gradle file with 8.0.0 as vaadin version!

The changelog is quite jaw dropping (only had seen some parts of these changes before, but that might be lack of effort on my part). I thought I might miss Viritin integration but it seems that most things I use are either obsolete or integrated!

Keep up the great work!
Posted on 2/21/17 3:20 PM.
Vaadin 8 is just a start of a new era. It should be much faster now to add new features when we don't need to think about legacy browser support nor unsupported JDK versions. There is still lot of room for improvements.

I'll try to squeeze out the first V8 compatible Viritin during the weekend, just been way too busy lately with the release material and "teasing" the R&D team about the new APIs ;-)
Posted on 2/21/17 7:02 PM in reply to Peter Streef.
Hi Matti,

Although I was not trying to get you to work in the weekend it is obviously appreciated! The method chaining keeps code a lot cleaner! I will hold off my migration efforts for a bit longer than!

Btw, why is there no notification about the release? Usually I get triggered by the notification icon on the top of the site, now I had to go look for the blogpost!
Posted on 2/22/17 7:50 AM in reply to Matti Tahvonen.
Notification is on its way, waiting for new V8 grapchis...
Posted on 2/22/17 7:59 AM in reply to Peter Streef.
Great Work !
I like the new dataprovider (with lazy, sort and filter abilities) and especially since Vaadin 8 beta2 emoticon.
And there are nice code samples here
Posted on 2/22/17 11:14 AM.
I've created a new Vaadin 8 Project, and imported my old theme: I've added the "vaadin-compatibility-themes" import, but when I try to run a mvn install it fails, seems not recognizing the old scss syntax...

Error parsing jar file invalid LOC header (bad signature)
feb 23, 2017 10:10:02 AM com.vaadin.sass.internal.handler.SCSSErrorHandler severe
GRAVE: Mixin Definition: keyframes not found
feb 23, 2017 10:10:03 AM com.vaadin.sass.internal.handler.SCSSErrorHandler severe
GRAVE: Mixin Definition: valo not found
feb 23, 2017 10:10:03 AM com.vaadin.sass.internal.handler.SCSSErrorHandler severe
GRAVE: Mixin Definition: valo-gradient not found
feb 23, 2017 10:10:03 AM com.vaadin.sass.internal.handler.SCSSErrorHandler severe
GRAVE: Mixin Definition: animation not found
feb 23, 2017 10:10:03 AM com.vaadin.sass.internal.handler.SCSSErrorHandler severe
GRAVE: Mixin Definition: box-shadow not found

etc etc etc

Failed to execute goal com.vaadin:vaadin-maven-plugin:8.0.0:compile-theme (default)
Posted on 2/23/17 9:11 AM.
You seem to have a broken jar file in your .m2 cache for some reason (Error parsing jar file invalid LOC header (bad signature)). Delete that one and try again
Posted on 2/23/17 9:18 AM in reply to Andrea Levanti.
I'll try, thanks for help ! ;)

PS: I've forgotten the most important part in my previous post...
CONGRATS for the great release, it's full of usefull improvements and cool features... I can't wait to test it! emoticon
Posted on 2/23/17 2:46 PM in reply to Artur Signell.
Dear Matti, thank you for your great work.

I'm a subscriber of ProTools and I was starting a project with v.7 but I'm getting some thoughts after the V.8 release of vthe framework to use it instead the oldest.

Most important is the fact that my deploy platform have to be Liferay 7

Please could you spend some words about the compatibilty of V.8 using Liferay 7 as develop and deploy platform ?

As you know, it is not necessary that I speak here about the importance of Liferay platform and how many Vaadin users use it togheter the Vaadin framework

Thank you for any support and/or suggest to find documentation about the above integration

Best regards,
Ivano C.
Posted on 2/23/17 10:13 PM in reply to Matti Tahvonen.
Congratulations to this huge step emoticon I am looking forward exploring the new concepts.

Meanwhile I used the compatibility layer to migrate the component-renderer (!addon/componentrenderer) to Vaadin 8 and documented my experiences in this blog post:

It went really smooth
Posted on 2/24/17 3:34 AM.
Which table-like component is the preferred choice for editing all rows at once?
Posted on 2/24/17 12:49 PM.
Thank you for all the hard work you guys put into this framework. Makes a lot of lives easier! Question, I might have missed it somewhere but has the grid been updated to allow different row heights?

Posted on 2/24/17 1:58 PM.
Is there a time picker by any chance?!?! The one thing holding us back from using this!
Posted on 2/24/17 3:51 PM.
We created a time picker based on date time picker ... we are still working to render it a standalone addon ... if you need it make a sign.
Posted on 2/24/17 4:15 PM in reply to Stan Naspinski.
That is exactly what we need! We will need a standalone time picker in the future though! When will this be added to the docs? Thank you!!!
Posted on 2/24/17 4:28 PM in reply to adil dalli.
It will be available by April.
Posted on 2/24/17 6:38 PM in reply to Stan Naspinski.
Hello, I just migrate my spring boot vaadin application using the framework8-migration-tool and I got the the error below when i tried to start my app :

Caused by: java.lang.IllegalArgumentException: @ConditionalOnMissingBean annotations must specify at least one bean (type, name or annotation)
at org.springframework.util.Assert.isTrue(
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanSearchSpec.validate(
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanSearchSpec.<init>(
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(
... 22 common frames omitted
Posted on 2/25/17 5:09 PM.

Vaadin 8 is great. Today I am porting my application from 7 to 8.

But why there are no components like NumberField? In my Vaadin 7 applications I am using NumberField from Anna Koskinen. It is working great at 7 but not working at Vaadin 8.

I think that Vaadin needs some components like NumberField, PercentField, CurrencyField, IBAN-Field, BIC-Field to use it in customer projects. Of cause not everybody needs these components, but today I am missing an input component to enter "123,456.78 €" or in german format "123.456,78 €". For this TextField is not very good.

Greetings, Thomas
Posted on 2/28/17 10:18 AM.
Wessel, no that feature has not been added yet. Stay tuned for Grid 2.0 later this year though!
Posted on 2/28/17 6:41 PM in reply to Wessel Oosthuizen.