SUMMARY
Use-casesUsers
Contributors
Maintainers
Community Team
Deprecation Cycle
Proposal Versioning
Proposal Deprecation? |
Replies: 18 comments
|
I'm strongly for collections following semver. Even though that means that collections such as community.general will soon have version numbers in the range of Firefox/Chrome :) I'd like that collections still use Deprecation: that's a tough one. There have been some advocates for deprecation by date (see f.ex. ansible/ansible#68177), though I guess collections can also deprecate by version. (From my point of view, there's no reason why not.) Every collection should be able to decide by themselves. I guess the harder question is how big collections such as community.general and community.network should be versioned. If we don't want to stick to major version changes on every release, we need some branching / backporting to make sure no breaking changes to into minor / patch releases. |
|
Proposal A for community.general and community.network:
|
|
Proposal B for community.general and community.network:
|
|
Some details of this are available in ansible/ansible#68594 |
|
Let's split out versioning from deprecation if we can first. Please refer to the proposed versioning document at ansible/ansible#68594 for more info. |
|
Based on the official proposal in ansible/ansible#68594 and @sivel's explanation, here's a modified Proposal A: Proposal A' for community.general and community.network:
|
|
|
about release terms (min and max boundaries IMO): |
|
Copied from the email TBO, the terminology is a big source of confusion. Regarding https://semver.org/ : MAJOR version when you make incompatible API changes, And i’ve always thought that:
However, regarding https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html , So, the statement above implies that 2.8, 2.9, 2.10 etc. are major releases. Maybe Ansible base follows its own versioning rules shaped by historical reasons. Anyway, first of all, would be good to admit something clear and ubiquitous So, following the rules of the semver,
Any ideas? :) |
That isn't technically true, and the version of a collection is not intended to be linked to a version of ansible-base. The "ansible" package will bundle some collections, but that is a convenience, and users can still independently install collections outside of that, and we fully expect users to install newer versions of collections than what "ansible" has bundled. The explicitly installed version will have precedence as long as it's installed. However, with that being said, collections will be able to state what ansible-base versions they work with. We have stated that ansible-base doesn't follow semver. We may change that at some point in the future, but no immediate plans to do so. |
|
sorry for closing:( something happend to my browser. |
Maybe start with |
|
@felixfontein interesting suggestion!:) |
|
I'll have an updated proposal for deprecation policy by next Thursday, May 7th. |
|
A gist for comment: https://gist.github.com/gregdek/52e6669421d3f65cded51862e16ad0e9 |
|
Note that much of the basis for this is found in the Fedora Project's processes for orphaning and/or retiring packages. |
|
Done |
Done