ansible-collections / community.general

Ansible Community General Collection
https://galaxy.ansible.com/ui/repo/published/community/general/
GNU General Public License v3.0
814 stars 1.49k forks source link

Releasing, Versioning and Deprecation #582

Open felixfontein opened 4 years ago

felixfontein commented 4 years ago

Introduction

This issue describes how and when community.general is released, and to announce updates to the release/versioning schedule. The next section (Next release) is always updated to contain the next version to be released. Other changes to this first post are always announced by separate posts in this issue.

Next releases

10.0.0 around November 4th 9.4.0 around October 7th 8.6.6 around October 7th 7.5.9 when needed

Releasing schedule for major and minor versions

From then on:

The precise dates will be announced on time. Before Ansible releases we might introduce additional minor releases to fix issues.

If no new commit has been merged for a minor release, it must be skipped. Major versions must not be skipped.

The schedule for minor versions might be adjusted in the future (maybe once per month, maybe something else). The release schedule for patch versions (see below) would be adjusted.

Releasing schedule for patch versions

Versioning

Branching

Deprecation

Changelogs

Ansible-core support

For every new major release of community.general, the collection drops support for all ansible-core versions that have been End of Life for at least a couple of weeks before the release date.

felixfontein commented 4 years ago

bot_skip

felixfontein commented 4 years ago

We did a maintenance release this morning, 0.2.1, which is 0.2.0 with all references to the master branch changed to main (see #605).

We recently also did a 0.3.0-experimental.meta.redirects release, which was taken from master at that point and has all symlinks replaced by meta/runtime.yml redirect entries. This is mainly for testing the meta redirect feature, and it is included in the current Ansible 2.10.0a2 release. It will not be continued, and community.general 1.x.y will keep the symlinks (and thus will work fine with Ansible 2.9). (Maybe community.general 2.0.0 will stop using the symlinks and stick to meta/runtime.yml redirect.) Today we also made another releases 0.3.0-experimental.meta.redirects-2 and 0.3.0-experimental.meta.redirects-3, the latest is 0.3.0-experimental.meta.redirects with references to master changed to main.

felixfontein commented 4 years ago

The 1.0.0 release will be on Friday, July 31st.

felixfontein commented 4 years ago

Version 1.0.0 has been released. From now on, bugfixes and new features that are merged need to be backported to the stable-1 branch to appear in new 1.x.y releases.

The 1.1.0 release is regularly scheduled for end of September. Since the Ansible 2.10.0 beta freeze is on 2020-08-14, we might release 1.1.0 already then.

felixfontein commented 4 years ago

It was decided at the community meeting to do the 1.1.0 release on 2020-08-18 (Ansible 2.10 beta freeze).

felixfontein commented 4 years ago

Version 1.2.0 1.1.0 has been released. It will be included in Ansible 2.10.0.

felixfontein commented 3 years ago

Version 1.2.0 will be released on 2020-09-30, i.e. next week Wednesday.

felixfontein commented 3 years ago

Version 1.2.0 has been released. Next release will be 1.3.0 at ~end of November.

felixfontein commented 3 years ago

I plan to release 1.3.0 in four days (Thursday, November 26th).

felixfontein commented 3 years ago

1.3.0 has been released. The next 1.x.y release will be 1.3.1, whenever there is sufficient content.

The next version including new features will be 2.0.0, planned for end of January 2021.

felixfontein commented 3 years ago

We decided at the community meeting that patch releases (1.3.x) will be made roughly every three weeks, resp. shortly before Ansible 2.10.x releases. Assuming there are bugfixes to release, of course. This rythm might change in February 2021 when Ansible 3.0.0 is released (with community.general 2.0.0).

felixfontein commented 3 years ago

1.3.1 will be released on December 21th (i.e. tomorrow).

felixfontein commented 3 years ago

1.3.1 has been released. 1.3.2 might be released at the beginning of January, before Ansible 2.10.5 is released, if we have any new bugfixes by then.

felixfontein commented 3 years ago

1.3.2 has been released now. The next bugfix release 1.3.3 will probably be in three weeks, i.e. similar to when 2.0.0 will be released.

felixfontein commented 3 years ago

1.3.3 has been released, addressing CVE-2021-20178. 1.3.4 will be released in ~two weeks, i.e. as planned for 1.3.3 before.

felixfontein commented 3 years ago

1.3.4 has been released, addressing CVE-2021-20180. 1.3.5 will be released in ~two weeks, i.e. as planned for 1.3.3/1.3.4 before.

felixfontein commented 3 years ago

The community meeting decided to increase the rate of minor releases of community.general, so that minor releases happen shortly before Ansible 3.x.0 releases. This will start with community.general 2.0.0. Bugfix releases of the stable-1 branch (1.3.y versions) will be released similarly for some time, as long as there are still frequent backports to stable-1 happening.

felixfontein commented 3 years ago

2.0.0 will be released on Thursday, January 28th. The release process will start around 12:00 UTC.

felixfontein commented 3 years ago

1.3.5 has been released. The next 1.3.x release will happen when necessary.

felixfontein commented 3 years ago

2.0.0 has been released. The next 2.x.y release should happen before Ansible 3.1.0 is released. If necessary, there will be a bugfix release 2.0.1 for Ansible 3.0.0.

felixfontein commented 3 years ago

1.3.6 has been released (mainly security fixes). The next 1.3.x release will happen when necessary.

felixfontein commented 3 years ago

2.0.1 has been released (mainly security fixes). The next release will be 2.1.0 approx. next week.

felixfontein commented 3 years ago

2.1.0 has been released (features and bugfixes). The next release will be 2.2.0 for Ansible 3.0.0. (There will probably be a 1.3.x release before that.)

felixfontein commented 3 years ago

2.1.1 has been released (extraordinary bugfix release). The next expected release will be 2.2.0 for Ansible 3.0.0, as planned before.

felixfontein commented 3 years ago

1.3.7 has been released (regular bugfix release). The next expected 1.3.x release will be 1.3.8, whenever needed.

felixfontein commented 3 years ago

At the next Ansible community meeting(s), there will be a discussion on potentially shifting the major release cycle of community.general to be closer to the new schedule of releasing Ansible major versions (https://github.com/ansible/community/issues/539#issuecomment-786879617). Feel free to join the discussion during the next meeting, or to write your opinions in the agenda issue (https://github.com/ansible/community/issues/539) if you cannot or do not want to attend.

felixfontein commented 3 years ago

At today's community meeting, we discussed the major release schedule for community.general and community.network. Since Ansible 4.0.0 has feature freeze on 2021-04-26, we plan to release community.general 3.0.0 shortly before that so it can get included in Ansible 4.0.0. This is earlier than the currently panned "mid of 2021". We plan to adjust the major release cycle in general so that major release are made shortly before a major Ansible release, i.e. community.general 4.0.0 will be released so it will be included in Ansible 5.0.0, etc. Since Ansible is supposed to have major releases in approximate 6 months intervals (same as the community.general major releases planned so far), this only shortens the current major release cycle, while keeping the distance between future major releases.

felixfontein commented 3 years ago

2.2.0 will be released next Monday (March 8th), so it's ready for Ansible 3.1.0 (to be released on March 9th).

felixfontein commented 3 years ago

2.2.0 as been released. The next 2.x.y release should be 2.3.0 in ~3 weeks for Ansible 3.2.0.

felixfontein commented 3 years ago

1.3.8 has been released with some security fixes; please note that one of them breaks a potential use-case for docker_swarm. The next expected 1.3.x release will be 1.3.9, whenever needed.

(These security fixes are only affecting modules that have been removed in 2.0.0; that's why there is only a 1.3.x release and no 2.x.y release.)

felixfontein commented 3 years ago

I will create new releases (1.3.9 and 2.3.0) in the next few days to fix some compatibility problems with the latest ansible-core 2.11.0 beta. The 2.4.0 release after that will still be one week later (for the next Ansible 3.x.0 release), assuming there are new features merged until then.

felixfontein commented 3 years ago

1.3.9 has been released. The next expected 1.3.x release will be 1.3.10, whenever needed.

felixfontein commented 3 years ago

2.3.0 has been released. The next expected 2.x.y release will be 2.4.0, to be released in a week (for Ansible 3.2.0).

felixfontein commented 3 years ago

2.4.0 has been released. The next expected 2.x.y release will be 2.5.0, to be released in ~three weeks (for Ansible 3.3.0).

felixfontein commented 3 years ago

Please note that 2.5.0 will (very probably) be the last minor 2.x.0 release. After 2.5.0, there will only be patch releases 2.5.x, but no minor 2.6.0 release. 3.0.0 will be released later this month, and it will receive minor releases.

felixfontein commented 3 years ago

2.5.0 will be released on Tuesday, and the main branch will change to 3.0.0 at that point.

felixfontein commented 3 years ago

2.5.0 has been released. The next stable-2 release will be 2.5.1 when needed. The next minor/major release will be 3.0.0 at the end of April.

felixfontein commented 3 years ago

2.5.1 has been released to fix some bugs found after releasing 2.5.0. The next 2.5.x release will be 2.5.2, to be released when needed (probably in a couple of weeks).

felixfontein commented 3 years ago

Version 3.0.0 will be released on Monday, April 26th (see deadline for new major releases for Ansible 4).

Please note that once c.g 3.0.0 is released, we will stop backporting regular bugfixes to stable-1. Only major bugfixes and security fixes will get backported. I plan to release 1.3.10 in parallel to 3.0.0 on Monday to get the currently accumulated bugfixes out.

felixfontein commented 3 years ago

1.3.10 has been released. This is the last regular bugfix release for stable-1. From now on, there will only be 1.3.x releases for major bugfixes or security fixes.

felixfontein commented 3 years ago

3.0.0 has been released :tada: 3.0.1 or 3.1.0 is expected in a couple of weeks.

felixfontein commented 3 years ago

3.0.1 and 2.5.2 will be released on May 4th (tomorrow).

felixfontein commented 3 years ago

Update: 2.5.2 will be released May 11th, i.e. directly before Ansible 3.4.0, the last Ansible 3.x.0 release. (The 3.0.1 release will happen tomorrow, for Ansible 4.0.0 beta 2.)

felixfontein commented 3 years ago

3.0.1 has been released today. The next expected release is 3.0.2 next week's Tuesday (May 11th), as a (hopefully) final bugfix release to be included in Ansible 4.0.0. After that 3.1.0 will be released roughly when Ansible 4.0.0 is released, and 3.2.0 when Ansible 4.1.0 is released.

felixfontein commented 3 years ago

2.5.2 has been released today. The next expected stable-2 release is 2.5.3 in a couple of weeks.

felixfontein commented 3 years ago

3.0.2 has been released today. The next expected release is 3.1.0 in a week, roughly when Ansible 4.0.0 is released.

felixfontein commented 3 years ago

3.1.0 has been released today. The next expected release is 3.2.0 in three weeks, for inclusion in Ansible 4.1.0.

felixfontein commented 3 years ago

3.2.0 and 2.5.3 will be released on Tuesday, June 8th (i.e. in a week).

felixfontein commented 3 years ago

2.5.3 has been released.

felixfontein commented 3 years ago

3.2.0 has been released. The next expected 3.x.y release is 3.3.0 at the end of June.