Skip to content

Commit eb39a7e

Browse files
dahliaclaude
andcommitted
Branch policy documentation
Add comprehensive branch policy section to AGENTS.md and CONTRIBUTING.md explaining Fedify's structured branching strategy for managing releases and maintenance branches. [ci skip] Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 52df7d1 commit eb39a7e

2 files changed

Lines changed: 65 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,39 @@ Documentation Standards
181181
4. Include examples for new features
182182

183183

184+
Branch Policy
185+
-------------
186+
187+
Fedify follows a structured branching strategy for managing releases and
188+
maintenance:
189+
190+
### Branch Types
191+
192+
1. **main**: Contains unreleased development for the next major/minor version
193+
2. **x.y-maintenance**: Maintenance branches for released major/minor versions
194+
(e.g., `1.5-maintenance`, `1.6-maintenance`)
195+
196+
### Development Workflow
197+
198+
- **New features**: Always target the `main` branch
199+
- **Bug fixes**: Target the oldest applicable maintenance branch that contains
200+
the bug
201+
202+
### Release and Merge Strategy
203+
204+
When a bug is fixed in a maintenance branch:
205+
206+
1. Fix the bug in the oldest affected maintenance branch (e.g., `1.5-maintenance`)
207+
2. Create a new patch release tag (e.g., `1.5.1`)
208+
3. Merge the fix into the next maintenance branch (e.g., `1.6-maintenance`)
209+
4. Create a new patch release tag for that branch (e.g., `1.6.1`)
210+
5. Continue merging forward through all subsequent maintenance branches
211+
6. Finally merge into `main`
212+
213+
This ensures that all maintenance branches and the main development branch
214+
include the fix.
215+
216+
184217
Bugfix Process
185218
--------------
186219

CONTRIBUTING.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,38 @@ see the [*Building the docs* section](#building-the-docs).
8787
[setext headings]: https://spec.commonmark.org/0.31.2/#setext-headings
8888
[ATX headings]: https://spec.commonmark.org/0.31.2/#atx-headings
8989

90+
### Branch policy
91+
92+
Fedify follows a structured branching strategy for managing releases and
93+
maintenance:
94+
95+
#### Branch types
96+
97+
- **main**: Contains unreleased development for the next major/minor version.
98+
- **x.y-maintenance**: Maintenance branches for released major/minor versions
99+
(e.g., *1.5-maintenance*, *1.6-maintenance*).
100+
101+
#### Target branches
102+
103+
- **New features**: Always target the *main* branch.
104+
- **Bug fixes**: Target the oldest applicable maintenance branch that contains
105+
the bug.
106+
107+
#### Release and merge strategy
108+
109+
When a bug is fixed in a maintenance branch:
110+
111+
1. Fix the bug in the oldest affected maintenance branch
112+
(e.g., *1.5-maintenance*).
113+
2. Create a new patch release tag (e.g., `1.5.1`).
114+
3. Merge the fix into the next maintenance branch (e.g., *1.6-maintenance*).
115+
4. Create a new patch release tag for that branch (e.g., `1.6.1`).
116+
5. Continue merging forward through all subsequent maintenance branches.
117+
6. Finally merge into *main*.
118+
119+
This ensures that all maintenance branches and the main development branch
120+
include the fix.
121+
90122
### Bug fix
91123

92124
If you want to fix a bug in Fedify, please search the [GitHub issue tracker] to

0 commit comments

Comments
 (0)