You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document describes _how_ and _when_ community.openwrt is released and maintained.
10
10
11
-
The policies written here are meant more as guidelines than as strict rules - objective results, flexibility and adaptability are to be valued over compliance.
11
+
The policies written here are meant more as guidelines than as strict rules; objective results, flexibility, and adaptability are to be valued over compliance.
12
12
13
13
These policies become effective after the release of community.openwrt 1.0.0.
14
14
@@ -22,42 +22,46 @@ These policies become effective after the release of community.openwrt 1.0.0.
22
22
23
23
### Major versions
24
24
25
-
The collection will release major versions twice per year, around January and July. Exact dates will decided by RMs closer to the release and will be announced and published in the [Release History](https://github.com/ansible-collections/community.openwrt/issues/100) issue in GitHub.
25
+
The collection targets one major release per OpenWrt major cycle. In practice, that is approximately one
26
+
major release per year, usually between two to four weeks after a new OpenWrt major release. Exact timing
27
+
will be confirmed by RMs in the [Release History](https://github.com/ansible-collections/community.openwrt/issues/100)
28
+
issue in GitHub.
26
29
27
30
Upon releasing a major version, support is updated:
28
31
29
-
-**OpenWrt:** all the versions that are End of Life except the last one.
32
+
-**OpenWrt:** support includes the currently Supported and Security Maintenance release lines, plus at most one
33
+
End of Life release line (the most recent one).
30
34
- If OpenWrt has a release candidate (rc) published for an upcoming release by the time of the community.openwrt release, it may or may not be supported by the collection, at the discretion of the RMs.
31
35
- If an `rc` version is included in the support, it will be replaced by the official release when available.
32
-
- The automated tests use OpenWrt images with their full version number, including service release (see below for the reference about their numbering scheme). The service number for those images will be updated to match the last available release, but that will happen on a best-effort basis. At any given time, the collection might be testing against one or two service releases prior to the latest one.
36
+
- The automated tests use OpenWrt images with their full version number, including service release numbers (see below for the reference about their numbering scheme). The service number for those images will be updated to match the last available release, but that will happen on a best-effort basis. At any given time, the collection might be testing against one or two service releases prior to the latest one.
33
37
-**ansible-core:** drop support for all versions that are End of Life.
34
38
-**community.openwrt:** drop support for all previous major versions of the collection.
35
-
- Note that dropping previous major versions of community.openwrt itself simplifies its maintenance process considerably. This is going to be revisited if demand for backports builds up.
39
+
- Previous major versions do not receive routine bugfixes or feature backports.
40
+
- Exceptionally, RMs may decide to backport fixes for severe regressions or security issues.
36
41
37
42
### Minor versions
38
43
39
44
The collection will release minor versions periodically, between major versions.
40
45
41
-
- release will happen shortly after (may vary depending on circumstances) community.general `x.y.0` releases, or roughly every four weeks.
42
-
- RMs may skip a minor release if no new features were added in the previous period.
43
-
44
-
There is no dependency between community.openwrt and community.general, their releases are being used as a benchmark/reminder for the release scheduling of this collection.
46
+
- RMs aim to release approximately every two weeks.
47
+
- RMs may skip a minor release if there were no user-facing features or bugfixes in the previous period.
45
48
46
49
### Patch versions
47
50
48
51
- Patch versions `x.y.z` until the last minor release of a major release branch will only be released when necessary. The intended frequency is _never_, they are reserved for packaging failures, or fixing major breakage / security problems.
49
-
- These releases will happen regularly and when necessary.
50
52
51
53
## Deprecation policy
52
54
53
55
- Deprecations are done by version number (not by date).
54
56
- New deprecations can be added during every minor release, under the condition that they **do not break backwards compatibility**.
55
-
- Deprecations are expected to have a deprecation cycle of at least 2 major versions (that means at least 1 year). Maintainers can use a longer deprecation cycle if they want to support the old code for that long.
57
+
- A deprecated feature can only be removed in a major release.
58
+
- The first major release after a deprecation is eligible for removal only if at least 12 months have passed since the first published collection version containing that deprecation.
59
+
- If the 12-month threshold is not yet reached at that major release, removal is deferred to a later major release.
60
+
- Because major releases are aligned with OpenWrt, and OpenWrt does not publish a fixed release schedule, there is no guaranteed maximum time to removal.
56
61
57
-
Note that these policies have been copied literally from community.general, and they are not without caveats:
62
+
### Caveats
58
63
59
-
- the collection just starting its lifetime: there is no measurement, subjective or otherwise, to the demand for deprecating features in the code base
60
-
- the shell-based implementation of community.openwrt does not support the standard deprecation mechanism in modules or other plugins, so the **deprecation is documentary only**. Until that [mechanism is implemented](https://github.com/ansible-collections/community.openwrt/issues/28), there is no deprecation warnings sent to the users or developers.
64
+
- The shell-based implementation of community.openwrt does not support the standard deprecation mechanism in modules or other plugins, so the **deprecation is documentary only**. Until that [mechanism is implemented](https://github.com/ansible-collections/community.openwrt/issues/28), there are no deprecation warnings sent to users or developers.
61
65
62
66
## Collection Release Process
63
67
@@ -87,7 +91,7 @@ The collection is affected by many direct and indirect dependencies, but especia
87
91
88
92
The purpose of this section is to establish context about these dependencies' release and support policies.
89
93
This section is merely descriptive of these external dependencies and does not establish any specific policy.
90
-
However, major events in those projects might prompt adjustments or other adhoc actions related to community.openwrt releases.
94
+
However, major events in those projects might prompt adjustments or other ad hoc actions related to community.openwrt releases.
91
95
92
96
### OpenWrt
93
97
@@ -104,4 +108,4 @@ The project is governed by a [flexible release cycle](https://docs.ansible.com/p
104
108
105
109
Typically, it releases two minor versions per year. As indicated, the schedule is flexible, and the plans for upcoming releases are usually found in the [ansible-core Roadmaps](https://docs.ansible.com/projects/ansible/latest/roadmap/ansible_core_roadmap_index.html#ansible-core-roadmaps).
106
110
107
-
Per the project rules, the last 3 releases are supported with bug and security fixes.
111
+
Per the project rules, the last three releases are supported with bug and security fixes.
0 commit comments