Recent Bloggers

Cleydyr de Albuquerque

Staff
2 Mensagens
25 de Outubro de 2014

Olaf Kock

Staff
79 Mensagens
23 de Outubro de 2014

Miguel Ángel Pastor Olivar

Staff
18 Mensagens
22 de Outubro de 2014

Fady Hakim

Staff
4 Mensagens
22 de Outubro de 2014

Bryan Cheung

Staff
31 Mensagens
22 de Outubro de 2014

Michael Williams

Staff
1 Mensagens
22 de Outubro de 2014

Jayaram pokuri

1 Mensagens
21 de Outubro de 2014

James Falkner

Staff
98 Mensagens
21 de Outubro de 2014

Eduardo P. Garcia

Staff
6 Mensagens
20 de Outubro de 2014

Meera Prince

17 Mensagens
18 de Outubro de 2014
« Voltar

Explaining the new versioning scheme for Liferay 6

Company Blogs 27 de Julho de 2010 Por Jorge Ferrer Staff

Along with all the functional and architectural improvements of Liferay 6, we've also tried to improve our release process based on the feedback that we've received from the community and customers during the last releases.

Let's start with the basics, here are some simple rules to interpret the meaning of a version:

  • Versions consist of a three digit number. For example, 6.0.2. These numbers represent: Major.Minor.Maintenance
  • A change in the third digit (e.g, 6.0.5 to 6.0.6) is a maintenance release (aka Service Pack). This means that:
    • Each maintenance release provides higher security / reliability.
    • Customizations are generally safe but we recommend doing a review.
    • No new features are included (although the first few maintenance releases can contain some changes to existing features based on the feedback received). There were some exceptions to this rule in some 5.2 maintenance releases but we've decided to be much more strict for Liferay 6.
    • These rules are relaxed when the minor or major release is still in beta quality.
  • A change to the second digit (e.g., 6.0 to 6.1) is a minor release:
    • This will include new features plus bug fixes from prior releases.
    • Customizations may be affected when installing. Customers should leverage the upgrade tools and documentation.
  • A change in the first digit (e.g., 6.x to 7.x) is a major release:
    • This will include major changes in functionality or add high demand functionality.
    • This may include architectural changes, changes to API's (as part of deprecation process) and may change internal schema.

Now lets get into some details of what we've improved and why we've done it. First, it's worth mentioning that one of the goals for the release of Liferay 6 was to make it the community edition release with highest quality ever.

A second motivation we had is that in the past we had noticed that people were installing in production releases that didn't have enough quality to do so. For example, I've seen installations with Liferay 5.2.0 or 5.2.1. Also we've had plenty of requests from community members who volunteered to help doing beta testing.

So we've decided that with Liferay 6 each version will have a surname that specifies the expected quality of that release. The third version number is usually hidden, but it's still visible through the logs and administration UIs. Here is the evolution of versions:

  1. Preview and Beta (6 Preview 1, Beta 1, 6 Beta 2, ...): There can be zero or more of these types within each minor or major release. These releases are meant for testing and to provide us feedback through the beta testing category in the forums. There can be changes in features between beta releases but in general they won't be major.
  2. Release Candidates (6 RC1, 6 RC2): There can be 0, 1 or more of these right after the beta releases. This are more stable and are meant for those that prefer to wait a little to test the release.
  3. General Availability (6 GA1, 6 GA2, ....): There can be 1 or more of these releases. A General Availability version is released when our engineering team and the QA team based on our own testing and the feedback from the beta testers decide that the release has good quality and can be of general use for the community. Of course this doesn't mean that it's bug free so we keep an eye on the community since at this point many more people start using the version and find new bugs (usually minor). When this happens we fix the issues and release a new GA version. Several GA versions may be made available until the engineering team moves towards releasing an EE release.
  4. Service Packs (6 SP1, 6 SP2, ...): These are maintenance releases will keep coming out for 4 years after the original release date. These releases are only available to customers who have an update service that comes with every Enterprise Edition. To ensure this we have a team dedicated to keep testing and doing corrective improvements to this release to ensure the highest quality. All fixes done in the service packs are also done in svn and will be part also of the next minor or major release. This ensures that all the community benefits from the fact that we can have more people working on QA as more customers buy our Enterprise Edition services.

The following diagram represents this in a graphic form:

So you might be asking yourself, which version should I use? what if I was using a previous version? Will the update to a new maintenance release cost a lot? Here are some comments and recommendations to answer all these questions.

  • You are very welcome to use any preview, beta or release candidate version. In fact that's why they exist so that as many people as possible start using it and provide us their feedback. However, we do not recommend using beta releases in production or even during development if you have tight deadlines (since you may find road blocks).
  • You should always update to the latest maintainance release available for the minor or major version you are using. This means that at the time of writing you should be using Liferay 6 GA 2, but if we later decide to release GA 3, our recommendation is that you switch to it since it includes fixes for other bugs found by other Liferay users.
  • Updating to a new maintenance release should be a process that requires little effort from the first GA forward. That is, you should be able to upgrade from Liferay 6 GA 1 to any future Liferay 6 GA or any Liferay 6 SP within hours or days in the worst case scenarios.
  • To ensure that the updates are as easy as possible (and also ease upgrades to new minor or major versions) use the best development practices when extending Liferay. I'll write a blog post (or maybe a whitepaper) with more details but at the very least you should use plugins instead of the extension environment (or ext plugin) whenever possible. And always use APIs that are meant to be public (specially when using ext). Also avoid overriding JSPs that have a lot of logic or keep a very tight control of them (and review them when updating for changes to the originals).
  • Plugins that work in any GA or SP version will work in any later maintenance version. That is, a plugin developed for Liferay 6 GA1 will also work in Liferay 6 GA  or Liferay 6 SP3, or .... This is something that we've tried to guarantee in the past but hasn't always been possible. Starting with Liferay 6 we have a testing process in place to make sure this is really guaranteed.
  • Consider investing in the updates and support services of the Enterprise Edition. This will benefit you two-fold, first because you'll be getting quality services that will add value to your Liferay installation and second because it will help evolve the product with new features that you will be able to benefit from.

And that's about it. This new process along with all the work from the QA team and the great help from beta testing volunteers all around the world (thanks again!) makes me feel that this is certainly the best CE release of Liferay ever, and not only in terms of functionality :)

PS:I've created a wiki page with a summary of this post for future reference: Liferay Versioning Policy

Respostas do tópico Autor Data
good explanation! Roger CARHUATOCTO 28 de Julho de 2010 06:22
"[...]makes me feel that this is certainly the... Juan Fernández 28 de Julho de 2010 08:44
Great post, Jorge! Brian Kim 28 de Julho de 2010 09:37
New versioning is not enough. We (as in... Szymon Gołębiewski 28 de Julho de 2010 11:49
Hi Simon, We release a new minor or major CE... Brian Kim 28 de Julho de 2010 12:06
Brian, Problem is in word "probably" and... Szymon Gołębiewski 28 de Julho de 2010 13:22
Simon, We do our best to give an estimate on... Brian Kim 28 de Julho de 2010 13:29
Great to hear that Brian. Also important is... Szymon Gołębiewski 28 de Julho de 2010 13:56
Hey Simon, Thanks for the feedback. We are... Jorge Ferrer 29 de Julho de 2010 01:06
Sir, Thanks for neat explanation! Bavithra Rajendran 2 de Setembro de 2010 22:45
Great post. Rajesh Nathi 18 de Maio de 2011 04:54
After a year of working with Liferay i will... Szymon Gołębiewski 20 de Maio de 2011 15:52
Great Explanations with cool combination's... Anil Sunkari 22 de Novembro de 2011 21:58
[...] A mai napon megjelent cégünk legfontosabb... Anônimo 7 de Janeiro de 2012 06:15
[...] De acuerdo con el esquema de versiones de... Anônimo 11 de Janeiro de 2012 01:56
[...] A mai napon megjelent cégünk legfontosabb... Anônimo 12 de Janeiro de 2012 08:32
[...] Following Liferay's versioning scheme... Anônimo 29 de Março de 2012 10:23
[...] Peter B West: Someone else has commented... Anônimo 9 de Agosto de 2012 14:09
[...] Peter B West: Someone else has commented... Anônimo 9 de Agosto de 2012 15:09
[...] Liferay Portal 6.1 CE GA2 Release ... Anônimo 13 de Agosto de 2012 10:58
[...] David H Nebinger: Beta, Release... Anônimo 13 de Dezembro de 2012 11:24

good explanation!
Postado em 28/07/10 06:22.
"[...]makes me feel that this is certainly the best CE release of Liferay ever" ++
Postado em 28/07/10 08:44.
Great post, Jorge!
Postado em 28/07/10 09:37.
New versioning is not enough. We (as in community) need to know release dates for any new version (no matter is it minor or major). I can't find any up-to-date article with roadmap for next release so I don't know should I wait a little bit longer with our projects or should I start developing them now an just apply patches from JIRA. Remember that the less project we done the less feedback and contributions will Liferay get from us emoticon
Postado em 28/07/10 11:49.
Hi Simon,

We release a new minor or major CE release every 12 months. This information can be found several places on our website, but here as well: http://www.liferay.com/downloads/liferay-portal/overview. As you may be aware, our Liferay 6 CE GA release was just made available, which means our next minor release will not be due out for probably another 12 months. We'll be posting up details of our next release in a Roadmap wiki page as soon as things have settled down a bit for this current 6 release.
Postado em 28/07/10 12:06 em resposta a Simon Gołębiewski.
Brian,

Problem is in word "probably" and "approximately". For us and our clients business there is a big difference between "it will be shipped in 1 month" and "it will be shipped in 3 months" and we need to know exact date. Look at roadmap articles on wiki (http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/RoadMap). You will see that previous shipping date for LR 6.0 CE was "2/16/2010". It was changed to "7/16/2010" FIVE months later and twelve days after the release.

Just a small change in your information process but big impact on how much we can involve ourselves in Liferay through community, testing and code development.
Postado em 28/07/10 13:22 em resposta a Brian Kim.
Simon,

We do our best to give an estimate on when we believe a release is going to be next made available. We are working to provide better estimates to our EE customers and the community. Thanks for your feedback.
Postado em 28/07/10 13:29 em resposta a Simon Gołębiewski.
Great to hear that Brian.

Also important is how fast you will inform about any change in dates.

Cheers,
Simon
Postado em 28/07/10 13:56 em resposta a Brian Kim.
Hey Simon,

Thanks for the feedback. We are completely aware that we need to keep improving in having more predictable release dates. In fact we've improved several issues that made us slip dates in the past but at the same time new challenges appeared that made those small successes invisible to the outside. In any case be sure that we are aware of this request and we will work hard to make it happen.

Also note that as a community member you can also help in several ways. One of them is participate in the beta testing process to help spot bugs in new releases so that we can get to GA status as soon as possible.
Postado em 29/07/10 01:06 em resposta a Simon Gołębiewski.
Sir, Thanks for neat explanation!
Postado em 02/09/10 22:45.
Postado em 18/05/11 04:54 em resposta a Bavithra Rajendran.
After a year of working with Liferay i will say: well well well let's see how it will work with LR 6.1 emoticon
Postado em 20/05/11 15:52 em resposta a rajesh bangaram.
Great Explanations with cool combination's ....Thanks a lot
Postado em 22/11/11 21:58.
[...] A mai napon megjelent cégünk legfontosabb szoftverének legújabb változata: a Liferay Portal 6.1 CE! (Letöltés) (Lássuk!) A Liferay termékfejlesztő- és mérnökcsapata szoros együttműködésben a projekt... [...] Read More
Postado em 07/01/12 06:15.
[...] De acuerdo con el esquema de versiones de Liferay establecido en 2010, está versión se denominará Liferay 6.1 CE GA1 y el número de versión interno será el 6.1.0 (la primera versión de la 6.1). Las... [...] Read More
Postado em 11/01/12 01:56.
[...] A mai napon megjelent cégünk legfontosabb szoftverének legújabb változata: a Liferay Portal 6.1 CE! (Letöltés) (Lássuk!) A Liferay termékfejlesztő- és mérnökcsapata szoros együttműködésben a projekt... [...] Read More
Postado em 12/01/12 08:32.
[...] Following Liferay's versioning scheme established in 2010, this release is Liferay 6.1 CE GA1. The internal version number is6.1.0 (i.e. the first release of 6.1). Future CE releases of 6.1 will be... [...] Read More
Postado em 29/03/12 10:23.
[...] Peter B West: Someone else has commented on the confusing nomenclature. I agree. the history of versions in SF files shows a sprinkling of RC1 and RC2 releases. The oddest sequence is 5.0.0 RC, 5.0.1... [...] Read More
Postado em 09/08/12 14:09.
[...] Peter B West: Someone else has commented on the confusing nomenclature. I agree. the history of versions in SF files shows a sprinkling of RC1 and RC2 releases. The oddest sequence is 5.0.0 RC, 5.0.1... [...] Read More
Postado em 09/08/12 15:09.
[...] Liferay Portal 6.1 CE GA2 Release  (http://www.liferay.com/web/james.falkner/blog/-/blogs/14850038). Here is the evolution of versions... [...] Read More
Postado em 13/08/12 10:58.
[...] David H Nebinger: Beta, Release Candidate, and Milestone. See the Versioning Wiki page (which resulted from Jorge's excellent blog post). It outlines all of the interesting bits about versioning and... [...] Read More
Postado em 13/12/12 11:24.