On behalf of the Vaadin team, I am pleased to announce a new release, Vaadin Framework 7.7.0. The release contains major improvements for widgetset handling and a bunch of bug fixes.
Much less GWT (compiling)
By default the concept of widgetset is now completely hidden and you don’t need to think about it anymore. The GWT module definition file, the one that ends with *.gwt.xml, is now by default a generated resource and should not be added to source control management systems like Git. If a developer doesn’t have any (client side) add-ons in the project, the default widgetset is used and the build is super fast. Client side add-ons added to the project are automatically detected by the build script and a generated widgetset is compiled during a normal build. So no more hassles with .gwt.xml files or @Widgetset annotations, unless you explicitly define those for advanced use cases.
The most interesting improvement, however, is that you don’t need to spend your precious CPU time to do the widgetset compilation anymore. If your project is only using publicly available add-ons, you can use a new cloud service that will compile the widgetset for you. And we’ll store each permutation of framework and add-on combinations, meaning that if somebody has ever requested the same widgetset before, you’ll get it immediately without waiting for the longish GWT compilation at all.
A third enhancement to the widgetset handling is that the cloud service can also host the compiled widgetset. This makes your war files smaller and can also speed up the launch time of your application as its resources are loaded from multiple domains. The Vaadin CDN service is geographically distributed – thus reducing the latency. Still, in production applications, we suggest to serve the whole application yourself.
A more thorough explanation can be found from a recent blog entry, but we are also hosting a webinar explaining the widgetset changes next week, sign-up for that now!
The LoginForm was deprecated a while ago, when modern browsers stopped autocompleting usernames and passwords to it. Luckily an avid community member, Ingo Kegel, found workarounds for this issue and created a LoginForm add-on that works across all modern browsers and became immensely popular.
Ingo contributed these changes to the core and the new version of the LoginForm component is heavily based on the work done in his add-on. There are some small API changes and incompatibilities with the deprecated version in Vaadin 7.X, but it now works with all modern browsers and the @Deprecated annotation is gone. Also the login form can now be customized in plain Java as opposed to the previous HTML template solution.
Build the framework yourself!
There are also some changes under the hood. Vaadin Framework is now built using Maven and the build can be really easily repeated by anyone. This makes it more agile to work with the Vaadin Framework project itself and we hope it will make it much simpler to contribute to the core framework. This is how you build your own custom version from the master branch:
Checkout the project (git clone …)
Make your desired changes
Build a snapshot version (mvn install -DskipTests)
Change your project to use your snapshot build
The long list of smaller bug fixes and enhancements can be read from the release notes.