|
|
# Release Policy
|
|
|
|
|
|
|
|
|
|
|
|
This policy is a draft: we haven't decided when we will try it out.
|
|
|
|
|
|
See the [[backport process](./org/teams/NetworkTeam/Backports|)] for how we handle backport tickets.
|
|
|
|
|
|
## Current Process
|
|
|
|
|
|
At the moment, here's how we do releases:
|
|
|
• If we have an active alpha series, put out an alpha every few weeks.
|
|
|
• Put out a stable release every 1-2 months.
|
|
|
• Put out oldstable and LTS releases as needed.
|
|
|
|
|
|
https://trac.torproject.org/projects/tor/wiki/org/meetings/2019BrusselsNetworkTeam/Notes/StableMaintainer#CurrentProcess
|
|
|
|
|
|
## Potential Changes
|
|
|
|
|
|
### Regular Release Dates
|
|
|
|
|
|
Do we want to schedule our stable releases on set dates?
|
|
|
|
|
|
Here's one possible schedule:
|
|
|
* alpha release: every 2 weeks, on a Wednesday
|
|
|
* we expect alpha releases to be more irregular: we only do them as needed
|
|
|
* early in the stable release: check if a new release is needed, every 4 weeks, on a Wednesday
|
|
|
* maintenance releases: as needed, but usually at the same time as a stable or alpha release
|
|
|
* includes oldstable and LTS releases
|
|
|
|
|
|
I chose Wednesday because it's the middle of the week. Friday failures can lead to weekend work, and some people's Mondays and Fridays overlap with other people's weekends.
|
|
|
|
|
|
Suggested policies:
|
|
|
* we don't do oldstable and LTS releases, unless there is an important, user-visible change
|
|
|
* we can skip a release if the changes are trivial (or there are no changes)
|
|
|
* trivial changes are any change that users won't notice, or won't want to upgrade if they knew about it
|
|
|
* if a change doesn't need a separate reviewer, it's probably a trivial change
|
|
|
* we can do a release early for urgent fixes. After an urgent fix, we reschedule future releases every 2-4 weeks from that date
|
|
|
* we can reschedule releases if people are on leave
|
|
|
|
|
|
### Mini-Freezes
|
|
|
|
|
|
We will declare a soft freeze for some amount of time before each stable release date, and say that nothing inessential gets backported in that time.
|
|
|
|
|
|
Freezes will start on the previous Wednesday.
|
|
|
|
|
|
If we discover urgent fixes, we should delay the release another week, so the new fixes get some nightly testing.
|
|
|
|
|
|
Alpha releases don't have mini-freezes, but we should avoid merging any major changes in the day or two before the release.
|
|
|
|
|
|
### Transitioning between Early Stable and Maintenance
|
|
|
|
|
|
Every 4 weeks, we check if we need to do an early stable release.
|
|
|
If we go 8 weeks without doing an early stable release, we transition
|
|
|
that stable release to the stable maintainers.
|
|
|
|
|
|
That is, if a stable release series requires lots of urgent patches,
|
|
|
we keep it with the master maintainers until those bugs are fixed. |
|
|
\ No newline at end of file |