joomla / joomla-cms

Home of the Joomla! Content Management System
https://www.joomla.org
GNU General Public License v2.0
4.77k stars 3.65k forks source link

[RFC] Release schedule patch releases #11921

Closed rdeutz closed 8 years ago

rdeutz commented 8 years ago

At the moment we don’t have a fixed plan when we make patch releases. We do them when someone has time or when we have many many many PR merged but the main factor is time. This proposal will give them a little bit more structure so that people are able to plan.

Proposal

Any 2nd Tuesday is Joomla! Patch Release Day.

Why any 2nd Tuesday (Arguments based on CET and Europe)?

Why at all?

There might be exceptions, not sure if Dec and Jan are good months for releases, maybe in summertime we can skip one release. But at the end of the day if we follow this we can make a plan and anybody knows.

I know that this is written from my European standpoint but at the moment a lot of people involved in maintaining the CMS are from Europe so it makes sense in my books.

Please add your thoughts and let discuss, I know that finally we need the PLT to make a decision.

This is only meant for patch releases, minor and major releases need a different plan.

jeckodevelopment commented 8 years ago

Agree. Sounds good!

brianteeman commented 8 years ago

Sounds similar to drupal. +10 from me to having a formal structure

brianteeman commented 8 years ago

Sorry got that wrong. Drupal us a Wednesday see

https://www.drupal.org/node/1173280

wilsonge commented 8 years ago

For personal reasons would prefer a Wednesday than a Tuesday release. I have prior commitments on Tuesday evenings

mbabker commented 8 years ago

You're not always going to be the person doing releases. Unless we're still in the same state where nobody else is willing to take on that responsibility like we were 2 years ago.

rdeutz commented 8 years ago

We are in the process of bringing a CMS Release Team on speed, so the situation relaying on one or two should be hopefully over soon

dgrammatiko commented 8 years ago

Apple: there's an APP for that Joomla: there's a GROUP for that 😄

wilsonge commented 8 years ago

Quite

nibra commented 8 years ago

I don't have strong feelings for or against this, but having a (reliable) structure is always a good thing. So I support this proposal.

widmann-it commented 8 years ago

I think the proposal of Robert very well.

AlexRed commented 8 years ago

I don't think it's a good idea to set a precise date of the monthly release. We know that there are often delays and is difficult to keep a rhythm so locked. I prefer the old way :smile:

JacquesR commented 8 years ago

A regular release date sounds good.

From a site admin perspective, I think we should follow Drupal's example of having security releases separate from bug-fix releases.

A site admin or user should never have to make the choice between a broken site or a vulnerable site, and that's happened a few times in the past.

For Drupal core, the current policy for security releases is that they occur on a different date than the monthly bug fix/feature release window:

Bug fix/feature release window on the first Wednesday of the month Security release window on the third Wednesday of the month Whenever a security release is created, it contains just the security fixes applied to the previous Drupal core release. The next bug fix/feature release, when it happens, will contain the previous security fixes plus all other fixes in the branch to date.

This approach is intended to allow site builders to upgrade immediately once a security hole is found, without the difficulty of wrangling patches, and without the terror of accidentally breaking their sites by pulling in other upstream changes that have not been widely tested yet.

(whichever day and week is chosen)

brianteeman commented 8 years ago

I see the argument for separating security and bug releases but my worry would be that people dont bother with the security releases and just do the bug releases. That would be impossible in our structure.

mbabker commented 8 years ago

They'd still get them.

Suppose 3.6.3 is released and includes security fixes only. 3.6.4 is the next scheduled bug release. Both of those would include the security fixes from 3.6.3 unless someone screwed up the build order and merging fixes to the correct branches first.

Basically you branch from the 3.6.2 release tag, apply the fixes, tag that as 3.6.3, then merge that into staging. Whenever staging's tagged as 3.6.4, it's all good.

Now what IS impossible with our current structure is having the update component decipher between bug and security releases. 4.0 really needs to redesign how we serve core updates and update notifications.

JacquesR commented 8 years ago

The way they describe it is a bit confusing. (or the way I said it) I don't suggest that a bug release dont have security fixes in it (since it would always have historical security fixes too, according to how our updates work.)

What I'm trying to say is that a security update should only have security fixes in it. It should not be mingled with bug fixes that increases the chance of there being a site-breaking issue in a security release.

It would of course be great if the alert for security fixes were different, but seems from @mbabker comment that that's not currently possible.

wilsonge commented 8 years ago

The last security releases have been where the security release has introduced the bugs rather than the bug fixes introducing the bugs shrug so it's a non-argument to me

conconnl commented 8 years ago

I totally agree with the proposal. It's similar to Microsoft and in my line of work, it's good to maintain a cycle like that and Microsoft is doing it every week. Off course every week is to much for Joomla.

Please don't wait with security updates. So once a month bugfix update on Tuesday is good. But when there is a security fix even when it's the second Tuesday just release it.

alikon commented 8 years ago

we don’t have a fixed plan when we make patch releases. We do them when someone has time or when we have many many many PR merged but the main factor is time.

as we are all volunteers there is nothing strange in this

We are in the process of bringing a CMS Release Team on speed

Then your proposal have perfect sense to me

SniperSister commented 8 years ago

The proposal makes great sense to me, +1

AlexRed commented 8 years ago

for me also is important for the "Release schedule patch releases" to use the Beta and RC release before the stable.

rdeutz commented 8 years ago

We don't make beta's for patch releases as far as I know

mbabker commented 8 years ago

We don't make beta's for patch releases as far as I know

That's what the nightly builds are for.

blueforce commented 8 years ago

Very good idea! +1 a well known schedule is more efficient and can be planned better for personal tasks

csthomas commented 8 years ago

I know this will be long version number but

Can we use numbering like: 3.6.2.1 - security fixes only (auto update may be use) 3.6.3 - patches without security fixes 3.6.3.1 - security fixes only (auto update may be use) 3.6.3.2 - security fixes only (auto update may be use) 3.6.4 - patches without security fixes 3.6.4.1 - security fixes only (auto update may be use) 3.7.0 - patches and features without security fixes

The another way could be use even and odd like: 3.6.3 - security fixes only 3.6.4 - patches only 3.6.6 - patches only 3.7.0 - patches and featured

but for above 3.6.5 won't be released and this is not my favorite.

csthomas commented 8 years ago

I forgot to add that security fixes numbering may be like: 3.6.3-1 3.6.3-2

instead: 3.6.3.1 3.6.3.2

brianteeman commented 8 years ago

If a user is on 3.6.3 and then updates to 3.6.3.1 ad 3.6.3.1 but does NOT update to 3.6.4 because its not a security release what happens next. 3.6.4.1 might be a security fix to something in 3.6.4 but the user doesnt have that code There version number says 3.6.4.1 but they dont have the fixes that were in 3.6.4 the parent release.

On 7 September 2016 at 08:57, Tomasz Narloch notifications@github.com wrote:

I forgot to add that security fixes numbering may be like: 3.6.3-1 3.6.3-2

instead: 3.6.3.1 3.6.3.2

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/joomla/joomla-cms/issues/11921#issuecomment-245204452, or mute the thread https://github.com/notifications/unsubscribe-auth/ABPH8Y1w1j11RD59FW21jZkDEXn5hVRxks5qnm5kgaJpZM4J0jLv .

Brian Teeman Co-founder Joomla! and OpenSourceMatters Inc. http://brian.teeman.net/

rdeutz commented 8 years ago

This proposal is about timing and not numbering. As stated above we broke site with security releases and with non-security releases, we need to come to the point to don`t break sites with patch releases.

csthomas commented 8 years ago

@brianteeman We have to then port security fix to 3.6.3.2 for lazy users or force user to update manually to 3.6.4.1.

Bakual commented 8 years ago

There doesn't need to be a distinction between security releases and patch releases at all. According to SemVer (which we follow) both are a patch releae and both have to be backward compatible and aren't allowed to break anything. So automatic updates would be fine (same for minor versions, but not for major ones) according to the strategy. In practice it gets a bit tricky for all releases, no matter if it is security, patch, minor or major as humans tend to make errors.

wilsonge commented 8 years ago

Honestly because by definition security releases have less testing practically I think you'll find that security releases are more likely to introduce bugs than patch releases. In some cases like the session bug at the end of 2015 we may even need to introduce minor b/c breaks in order to fix security issues. So I honestly don't think you're actually achieving anything by breaking up security and bug releases.

jeckodevelopment commented 8 years ago

TBH i don't like the change in numbering. SemVer should be followed, as said by Bakual.

mbabker commented 8 years ago

People have a hard enough time reading a three digit version number and not treating it like a "proper" mathematical decimal number (the number of times people have indicated they thought something like PHP 5.4.45 was older than PHP 5.4.5 is interesting). Adding a fourth digit won't help anything.

csthomas commented 8 years ago

If you do not want to change numbering at all then please ignore my proposal.

I do not know if that is possible in Joomla, but some time ago firefox has changed version numbering to something like below.

3.7 => 37 ... [place only for 2 releases] 4.0 => 40 40.1 => security or very important fix for auto update 40.2 => security or very important fix for auto update 41 => next patch ...

B/C would be for example for 5 (or specified by PLT) releases.

The another thing is: we could break B/C step by step (but this is more complicated):

This will broke B/C step by step, not all in one version as now J4.

mbabker commented 8 years ago

All that advocates is making B/C breaking changes more frequently. It works for software with a much better support platform than an open source project run entirely by folks volunteering their free time.

yild commented 8 years ago

@csthomas don't compare to Firefox... it was marketing decision to be able to compare it with Chrome (maturity by version number) - fail imo.

brianteeman commented 8 years ago

@rdeutz can we close this RFC now?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/11921.