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
tl;dr The RELEASE_POLICY document is extremely laborious and excessively repetitive, this fixes that.
Initially I set out to use less ambiguous language like fortnightly to replace language like bimonthly, which means once every two months to sane people and only ever means fortnightly to united-statesians in specific scenarios. However upon reading it I found that it went over the same few points several times, and found this rather redundantly verbose, and frankly bothersome.
I condensed and slightly reorganised it to address my concerns.
If you feel that I'm missing important information, have made an error, or have any concerns of your, please feel free to let me know and I'll do my best to remedy those if applicable.
1.**Development** - All development and PRs target`dev`
36
-
2.**Release Candidate** - On Freeze Week, merge`dev` →`rc` (release-candidate). Only bug fixes and stabilization allowed in`rc`. `dev` remains open for new features.
37
-
3.**Release** - Merge`rc` →`master` twice per month (1st Quarter & 3rd Quarter of the Month)
38
-
4.**Snapshot** - Create snapshot releases from stable`master` branch
39
-
40
-
> **Note:** The `dev` branch is always open for new features and development every week, regardless of the release cycle. Only the `rc` (release-candidate) branch is frozen for testing and bug fixes during release preparation.
41
-
42
-
---
43
-
44
-
## Bi-monthly Release Schedule Flow
45
-
46
-
-**Week before 1st/3rd Friday (Freeze Week):**
47
-
- 🔄 Merge latest `dev` → `rc` (release-candidate)
48
-
- 🚫 `rc` branch is frozen: Only bug fixes and stabilization allowed
49
-
- ✅ `dev` branch remains open: New features and PRs accepted
50
-
-**1st/3rd Friday:**
51
-
- 🔄 Merge `rc` → `master`
52
-
- 📦 Snapshot release (when `master` is stable)
53
-
- 🔄 Preparation for next cycle/month
54
-
- ✅ `dev` branch remains open: New features and PRs accepted
55
-
56
-
57
-
#### 1st & 3rd Quarter of the month Cycle
58
-
59
-
**Week before 1st/3rd Friday (Freeze Week):**
5
+
#### Key Points
60
6
61
-
- 🔄 Merge `dev` → `rc`
62
-
- 🚫 **rc freeze** - Only bug fixes and stabilization in `rc`
63
-
- ✅ **dev open** - New features and PRs accepted
7
+
1.**🛠️Development** - All development and PRs target `dev`.
8
+
2.**🚫Freeze Week** - On Freeze Week the `dev` branch is merged into the `rc` (release-candidate) branch which is then *frozen* allowing only bug fixes and stabilisation.
9
+
3.**✅Release Week** - On Release Week the `rc` branch is merged into `master`.
10
+
4.**📦Shapshots** - Snapshots are only created when `master` is stable.
11
+
5.**🔄Schedule** - Freeze Weeks And Release Weeks alternate **every Friday** beginning with Release Week. This means that every *odd* Friday is a Release Week and every *even* Friday is a Freeze Week.
64
12
65
-
**1st/3rd Friday:**
66
-
67
-
- 🔄 Merge `rc` → `master`
68
-
- 📦 **Snapshot release** (when `master` is stable)
69
-
- 🔄 **Preparation for next cycle/month**
70
-
71
-
#### Summary
72
-
73
-
| Quarter | Freeze Week | Merge Friday | Snapshot Friday | Dev Status | RC Status |
|**1st Quarter**| Week before 1st Fri | 1st Friday | 2nd Friday | ✅ OPEN | 🚫 FROZEN |
76
-
|**3rd Quarter**| Week before 3rd Fri | 3rd Friday | 4th Friday | ✅ OPEN | 🚫 FROZEN |
77
-
78
-
**Key Rules:**
79
-
80
-
- 🚫**Freeze weeks:** Merge `dev` → `rc`. Only bug fixes to `rc`. `dev` remains open for new features.
81
-
- ✅**Open weeks:** All development welcomed in `dev`
82
-
- 📦**Snapshots:** Only when`master` is stable
83
-
- 🔄**4th Friday:** Preparation for next cycle/month
13
+
> [!NOTE]
14
+
> The `dev` branch is always open for new features and development *every* week, regardless of the release cycle. Only the `rc` branch is frozen for testing and bug fixes for release preparation during Freeze Week.
84
15
85
16
---
86
17
87
-
## Weekly Summary
18
+
## Weekly Breakdown
88
19
89
-
| Phase | Dev Branch Status | RC Branch Status | Allowed Changes | Description |
|**Freeze Week** (before 1st & 3rd Friday) | ✅**OPEN**| 🚫**FROZEN**| ❌ No new features in `rc`<br>✅ Bug fixes in `rc`<br>✅ All dev in `dev`| Testing and validation |
92
-
|**Merge Friday** (1st & 3rd of month)| ✅**OPEN**| 🔄**MERGING**| 🔄 Merge `rc` to master | Deploy stable code |
93
-
|**Stabilization Week** (after merge) | ✅**OPEN**| ✅**OPEN**| ✅ All development in `dev`<br>🔧 Critical hotfixes in `rc`| Monitor master & develop |
94
-
|**Snapshot Release**| ✅**OPEN**| 📦**RELEASE**| 📦 Create release | When `master` is stable |
20
+
| Phase | Dev Branch Status | RC Branch Status | Allowed Changes| Description |
|**Freeze Week** (during odd weeks) | ✅**OPEN**| 🚫**FROZEN**| ❌ No new features in `rc`<br>✅ Bug fixes in `rc`<br>✅ All dev in `dev`| Testing and validation |
23
+
|**Merge Friday** (on odd Fridays) | ✅**OPEN**| 🔄**MERGING**| 🔄 Merge `rc` to master| Deploy stable code |
24
+
|**Stabilization Week** (after merge) | ✅**OPEN**| ✅**OPEN**| ✅ All development in `dev`<br>🔧 Critical hotfixes in `rc`| Monitor master & develop |
25
+
|**Snapshot Release**| ✅**OPEN**| 📦**RELEASE**| 📦 Create release| When `master` is stable |
95
26
96
27
---
97
28
98
-
## Monthly Timeline
29
+
## In-Depth Monthly Timeline
99
30
100
-
| Period | Dev Status | RC Status| Master Status | Activity | Focus |
0 commit comments