Blog

Stability in production – Bleeding edge in development

By  
Jonatan Kronqvist
·
On Mar 8, 2018 8:50:00 AM
·

We have been thinking hard about how to bring more value with our products. A part of the solution is the Vaadin platform itself; what features and tools we add. Another major part is how that value is delivered.

Us developers can be divided roughly into two groups. To those of us who value stability and support, and those who value access to all the modern features the web platform has to offer as soon as they arrive. With this in mind, we have rethought how we release our products.

Sidenote: What is a release?

Starting with the release of Vaadin 10, for which we just released a beta, each platform release will consist of the specific versions of Vaadin's components, Vaadin Flow, and all tools, such as Vaadin Designer, and all the other parts that are part of the platform. All of these are verified to work together awesomely as a whole. This ensures that you get the benefit of stable, predictable, and supported releases, while still allowing you to upgrade individual parts as you see fit.

-

Release trains

Starting with Vaadin 10, releases will happen according to a release train model. We have set a timetable for the releases, and a train will be loaded with all of the products as shown above. The fact that releases happen on specific dates means that the release might not contain the very latest version of a specific product, say Vaadin Board. The version it does contain is, however, guaranteed to be stable and tested to work together with other products in the same train.

Releases are scheduled for once a quarter: on the first Wednesday of the last month of each quarter. E.g. in 2018 the release trains will leave on March 7th, June 6th, September 5th, and December 5th. There’s one “but” here, though. As Vaadin 10 is the first major release of the new platform, we can’t guarantee that it will be released on the 7th. Starting with Vaadin 11, all releases will be on the scheduled dates.

Ensuring long-term stability

In order to ensure the long-term stability of releases, we are introducing Long Term Support (LTS) releases.

An LTS release is supported for five years. It will receive bug fixes and security updates during this time, but no features which might break your applications. We will declare a new LTS release once every two years. This means that you have plenty of time for upgrading to the next LTS release before the support ends. You can also choose how often you want to upgrade (every two, three, or four years). We plan to work hard to document the changes between the LTS releases well, in order to make the transition between LTS releases as smooth and easy as possible.

*This chart is only an estimation and subject to changes, to find more information about future releases please visit vaadin.com/roadmap.

How will the LTS model benefit me?

Say you start developing an application. You start with whatever the latest version of the Vaadin platform is, and build on that. Whenever we release a new version, we recommend that you update your project to this. Once your application stabilizes for release, you can move to the following LTS release. This way you can be sure that the platform you’ve built on is stable and supported for the next five years. You also roughly know when the next LTS will be released, so you can plan accordingly.

What about products with a lifetime of more than five years?

Not to worry. You can always get commercial support for your version of Vaadin. In addition to this, we release a new LTS every two years. You have up to three years of time to move to the next release, which is supported for five years. This means that you can ride a wave of long-term supported releases until you decide to sunset your application.

All while surfing the bleeding edge

The LTS model allows us to innovate quicker between releases, without compromising stability. Regular versions of the Vaadin platform can, and will, contain new, bleeding edge features. All this allows you to make effective use of new technologies in your applications/products.

In addition to the quarterly Vaadin releases, new versions of each distinct product, e.g. Vaadin Designer, or Vaadin Flow, will be published as they are completed. You can adopt any of these versions separately, to make use of the new features, as they are released just by changing the dependency. The products will then all be gathered into the next quarterly releases of the whole platform.

What about Vaadin Framework 8?

The versioning scheme of Vaadin Framework 8 will not change, nor will we introduce the LTS thinking. We already promised to support Vaadin Framework 8 for at least five years, and we will keep this promise. We will, however, introduce regular release dates for the Framework 8 series, as well. In order to spread out our releases during the year, we will have release windows for Framework 8 on the last Wednesday of the first month of each quarter. E.g. in 2018 the release trains will leave on January 31st, April 25th, July 25th, and October 31st.

Announcing prolonged support for Vaadin Framework 7

Support for Vaadin Framework 7 was scheduled to end five years after the initial release, i.e. in February 2018. We decided to prolong the support for at least one year longer until the end of February 2019. This means that we will continue to solve Warranty issues for at least one more year. Our Prime experts are happy to help you solve any other issues on a case by case basis.

---

As you see, the new release model is a great fit for most requirements – whether you want to work with the latest APIs, or need long-term stability for your production systems. Let us know what you think in the comments below!

Jonatan Kronqvist
Jonatan Kronqvist has been at Vaadin since 2006, where he's worked on almost all aspects of the business. From coding to leadership. He is currently working as a Senior Product Manager for the Vaadin platform.
Other posts by Jonatan Kronqvist