Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release plan #4

Open
felixfontein opened this issue Oct 29, 2020 · 111 comments
Open

Release plan #4

felixfontein opened this issue Oct 29, 2020 · 111 comments
Labels

Comments

@felixfontein
Copy link
Collaborator

Small collections like this one don't need a complex plan like the one for community.general and community.network. So how about the following?

Release minor and patch releases whenever we want (like after adding new features or fixing bugs). Since this collection is small, there's no need to fix things in advance. Just add features, and after a feature either wait a bit longer for more features/bugs, or make a release.

I suggest releasing form main branch, as described here: https://github.com/ansible/community/wiki/ReleasingCollections#releasing-without-release-branches-for-smaller-collections

Once we release a 2.0.0 (with some breaking change relative to 1.x.y), we can have a stable-1 branch so we can backport bugfixes (or even features) if needed, and release more 1.x.y versions. We currently have some deprecation removals scheduled for 2.0.0 (see #1). Maybe scheduling 2.0.0 roughly for Ansible 2.12 (i.e. next summer) would be a good idea.

(This is essentially what other collections I work on are doing, like community.crypto, community.sops and community.routeros.)

About the next release(s): I plan to merge #1 today or tomorrow and then release an initial 0.1.0. I would suggest we quickly release a 1.0.0 version, so we can get it included in Ansible 2.10. We should do some testing with the current 0.1.0 release, maybe add bugfixes (or even features), if necessary release a 0.2.0 first, but not wait too long until 1.0.0.

What do you think?

@WojciechowskiPiotr
Copy link
Collaborator

Sounds good

@felixfontein
Copy link
Collaborator Author

I've just released community.docker 0.1.0. You can find the current state of the docs here: https://ansible.fontein.de/collections/community/docker/index.html

@felixfontein
Copy link
Collaborator Author

I didn't find any problems yet (except #17, which isn't a real problem yet since support on Ansible's side is also missing, at least in the stable-2.10 branch). How about releasing 1.0.0 next week, let's say on Tuesday?

@WojciechowskiPiotr
Copy link
Collaborator

I didn't find any problems yet (except #17, which isn't a real problem yet since support on Ansible's side is also missing, at least in the stable-2.10 branch). How about releasing 1.0.0 next week, let's say on Tuesday?

I think it's a good idea to release 1.0.0 then work on changes and new features (including handling the requests we have in queue)

@felixfontein
Copy link
Collaborator Author

Since nobody reported anything, I'm now working on the 1.0.0 release.

@felixfontein
Copy link
Collaborator Author

1.0.0 has been released 🎉 I've already created a PR for inclusion in Ansible 2.10: ansible-community/ansible-build-data#36

@felixfontein
Copy link
Collaborator Author

I released 1.0.1 with bugfix #43.

In case you're wondering, Ansible is switching from Shippable to Azure Pipelines. I'll continue @gundalow's work over the weekend, and hopefully we'll have proper (i.e. all green) CI back next week. (For the release I ignored AZP and only looked at Shippable in case you wonder. And the problems with AZP come from the fact that AZP runs docker containers in a user-defined network.)

@felixfontein
Copy link
Collaborator Author

I think it would be great if we could release 1.1.0 with a bunch of new features and bugfixes by January 4th, so it can get included in the next Ansible 2.10.5 release (ETA January 5th).

@felixfontein
Copy link
Collaborator Author

The last open PR is merged, I'll create a 1.1.0 release somewhen today.

@felixfontein
Copy link
Collaborator Author

1.1.0 has been released 🎉 The next expected release is 1.2.0; if some bugfixes are there earlier without a new feature, they will be released as 1.1.1.

@felixfontein
Copy link
Collaborator Author

I'll work on a 1.2.0 release later today - we have one feature and two bugfixes, and the last Ansible 2.10.x release will be on one of the next days.

@felixfontein
Copy link
Collaborator Author

1.2.0 has been released!

@felixfontein
Copy link
Collaborator Author

I'll do a 1.2.1 bugfix release now to get #76 out.

@felixfontein
Copy link
Collaborator Author

1.2.1 has been released. The next planned release is 1.3.0 (as before).

@felixfontein
Copy link
Collaborator Author

1.2.2 has been released, addressing CVE-2021-20191. The next planned release is 1.3.0 (as before).

@felixfontein
Copy link
Collaborator Author

1.3.0 has been released. The next expected release is 1.4.0.

@felixfontein
Copy link
Collaborator Author

1.4.0 has been released with a security fix, which potentially breaks a use-case of docker_swarm. The next expected release is 1.5.0.

@felixfontein
Copy link
Collaborator Author

Since #96 and #119 do not seem to make progress, I'll release 1.5.0 today including the recent bugfixes and features, so it can be included in Ansible 3.3.0 which is to be released this week.

@felixfontein
Copy link
Collaborator Author

1.5.0 has been released. The next expected release is 1.6.0.

@felixfontein
Copy link
Collaborator Author

felixfontein commented May 5, 2021

I plan to release 1.6.0 latest by the beginning of next week, hopefully with both #96 and #135 included. (If released by May 11th, this will make it both into the last Ansible 3.x.0 release, and into Ansible 4.0.0.)

@felixfontein
Copy link
Collaborator Author

1.6.0 has been released. The next expected release is 1.7.0.

@felixfontein
Copy link
Collaborator Author

I'll release 1.6.1 with #143 later today. (It also contains the scenario guide from ansible/ansible.) Once #142 is fixed, that will probably go into a 1.6.2 release, since I don't think that will get fixed today.

@felixfontein
Copy link
Collaborator Author

1.6.1 has been released. The next planned release is 1.7.0, though I expect there will probably be a 1.6.2.

@felixfontein
Copy link
Collaborator Author

I'll create a 1.6.2 release beginning of next week with some doc fixes.

@felixfontein
Copy link
Collaborator Author

In fact, it probably will end up as 1.7.0 since one of the doc fixes extended in a small feature (allow to tag images by ID).

@felixfontein
Copy link
Collaborator Author

1.7.0 has been released. Next expected release is 1.8.0, though I guess 1.7.1 will slip in before that :)

@felixfontein
Copy link
Collaborator Author

I'm currently planning for 1.8.0 by the end of this week / beginning of next week. It should include #157 and #159. If someone wants to fix / improve something else until then, feel free to do so :)

@felixfontein
Copy link
Collaborator Author

2.7.6 and 3.4.7 have been released with a bugfix.

@felixfontein
Copy link
Collaborator Author

3.4.8 has been released for inclusion in Ansible 8.1.0 and now uses semantic markup.

@felixfontein
Copy link
Collaborator Author

3.4.9 has been released with docs updates and vendored code alignments.

@felixfontein
Copy link
Collaborator Author

3.4.10 has been released with docs updates and a bugfix.

@felixfontein
Copy link
Collaborator Author

2.7.7 and 3.4.11 have been released with bugfixes.

@felixfontein
Copy link
Collaborator Author

2.7.8 and 3.5.0 have been released with new features and bugfixes. The bugfixes are mostly about (in-)compatibility with Docker SDK for Python 7.0.0, released on Friday evening. The feature is better platform support for docker_container. There's also a deprecation for the default value ignore of docker_container's image_name_mismatch option; it will switch to recreate in community.docker 4.0.0.

@felixfontein
Copy link
Collaborator Author

I created a 3.6.0-b1 release with a bunch of new modules:

The collection now includes a bunch of new docker_image_* modules that move features out of the rather complex docker_image module. These new modules are easier to use and can better declare whether they support check mode, diff mode, or none of them.

This version also features modules that support the Docker CLI plugins buildx and compose. The docker_image_build module uses the docker buildx command under the hood, and the docker_compose_v2 module uses the docker compose command. Both these modules use the Docker CLI instead of directly talking to the API. The modules support mostly the same interface as the API based modules, so the main difference is that instead of some Python requirements, they depend on the Docker CLI tool docker.

The idea is to wait for 2-3 weeks to fix potential problems, especially with the new docker_compose_v2 module, and if needed add some more features.

@felixfontein
Copy link
Collaborator Author

3.6.0-b2 contains another new module (docker_compose_v2_pull), some reworked modules (docker_stack*), a new collection dependency (community.library_inventory_filtering_v1 for filter functionality for inventory plugins), and some option normalization.

@felixfontein
Copy link
Collaborator Author

3.6.0-rc1 contains a few more changes. I plan to do the final 3.6.0 release on Sunday or Monday, and until then I won't merge any new features, only bugfixes (if there are any).

@felixfontein
Copy link
Collaborator Author

There will be at least one new feature in docker_container for 3.6.0 which is necessary to continue to be able to set MAC addresses for containers with Docker API 1.44 (see #763).

@felixfontein
Copy link
Collaborator Author

3.6.0 is finally out! 🎉 This is a week before the Ansible 9.2.0 release, so we have time to fix some bugs in case something is found, especially with the new modules.

@felixfontein
Copy link
Collaborator Author

3.7.0 is out with new features and bugfixes for the Docker Compose v2 modules, and with a new docker_image_export module for exporting Docker images.

@felixfontein
Copy link
Collaborator Author

3.8.0 is out with new features and bugfixes for docker_container and the Docker Compose v2 modules.

@felixfontein
Copy link
Collaborator Author

2.7.9 and 3.8.1 have been released with bugfixes and security fixes for the inventory plugins.

@felixfontein
Copy link
Collaborator Author

3.9.0 is out with new bugfixes and features.

@felixfontein
Copy link
Collaborator Author

3.10.0 is out with new features and a deprecated docker_compose module (finally :) ).

@felixfontein
Copy link
Collaborator Author

3.10.1 is out with a hotfix for requests 2.32.0 compatibility. CI is currently pretty red since everything that combines requests 2.32.0 with Docker SDK for Python fails. I upstreamed the fix I used as docker/docker-py#3257.

@felixfontein
Copy link
Collaborator Author

3.10.2 is out with an updated fix that also works with the just released requests 2.32.2, and should be forward compatible with newer requests releases.

@felixfontein
Copy link
Collaborator Author

2.7.10 and 3.10.3 have been released with bugfixes.

@felixfontein
Copy link
Collaborator Author

2.7.11 and 3.10.4 have been released with a bugfix.

@felixfontein
Copy link
Collaborator Author

2.7.12 and 3.11.0 have been released with bugfixes (one for 2.7.12) and new features (3.11.0 only).

@felixfontein
Copy link
Collaborator Author

3.12.0 is out with several bugfixes and features. One notable feature is support for Docker Compose 2.29.0's JSON stream progress writer.

@felixfontein
Copy link
Collaborator Author

I'm planning a new major release around end of October / beginning of November (Ref: #954). At that time 2.x.y will become End of Life.

@felixfontein
Copy link
Collaborator Author

3.12.1 is out announcing the deprecation (see above) and updating communication links.

@felixfontein
Copy link
Collaborator Author

2.7.13 and 3.12.2 are out with a bugfix for the docker_prune module.

@felixfontein
Copy link
Collaborator Author

3.13.0 is out with two new docker_compose_v2* modules.

@felixfontein
Copy link
Collaborator Author

3.13.1 is out. I'll bump main to 4.0.0 soon (#971) and create stable-3 before that.

@felixfontein
Copy link
Collaborator Author

4.0.0 is out with the old docker_compose module removed, some deprecated features removed and one default for docker_container changed, support for some End of Life versions of Ansible/ansible-base/ansible-core removed, and one new feature for docker_compose_v2. The 3.x.y release stream will only receive bugfix releases from now on, and the 2.x.y release stream will see a final End of Life release later today.

@felixfontein
Copy link
Collaborator Author

2.7.14 is out and 2.x.y is now End of Life, and CI for stable-2 has been disabled.

@felixfontein
Copy link
Collaborator Author

3.13.2 and 4.0.1 are out with bugfixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants