File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -181,6 +181,39 @@ Documentation Standards
1811814 . 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+
184217Bugfix Process
185218--------------
186219
Original file line number Diff line number Diff 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
92124If you want to fix a bug in Fedify, please search the [ GitHub issue tracker] to
You can’t perform that action at this time.
0 commit comments