tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

ReleaseSeriesLifecycle.md (4266B)


Release Series Lifecycle

End Of Life On An Old Release Series

Here are the steps that the maintainer should take when an old Tor release series reaches End of Life.

Note that they are only for an entire series that has reached its planned EOL: they do not apply to security-related deprecations of individual patch versions.

1. Preliminaries

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

Write a deprecation announcement. Send the announcement out with every new release announcement.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

Send the announcement to tor-announce, tor-talk, tor-relays, and the packagers.

2. On The Day

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

- the jenkins builds - tor's Travis CI cron jobs - chutney's Travis CI tests - sbws' Travis CI tests - stem's Travis CI tests (but see https://github.com/torproject/stem/issues/51) - tor's scripts/git/gist-list-tor-branches.sh script

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

select "Admin" near the top of the screen, then select "Milestones" from the menu on the left. Click on the milestone for this version, and select the "Completed" checkbox. By convention, we select the date as the End of Life date.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker
  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

- merge_ready tickets are for backports: - if there are no supported releases for the backport, close the ticket - if there is an earlier (LTS) release for the backport, move the ticket to that release - other tickets should be closed (if we won't fix them) or moved to a supported release (if we will fix them)

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

and tor-relays. The current list of packagers is in ReleasingTor.md.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

number from their approved versions list.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker
  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

start rejecting relays that are running that release series. This ticket should be targeted for at least a month or two after the series is officially EOL, unless there is an important reason to un-list relays early.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

set of required and recommended subprotocol versions. (For the process here, see proposal 303.)

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

consensus methods. (For the process here, see proposal 290.)

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

and "029") in tor, chutney, sbws, fallback-scripts, and so on. These should be updated or removed.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

process.

Starting A New Release Series

Here are the steps that the maintainer should take to start new maint and release branches for a stable release.

Note that they are only for an entire series, when it first becomes stable: they do not apply to security-related patch release versions.

(Ideally, do this immediately after a release.)

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

release-x.y.z branch based on main. They should have the same starting point.

Push both of these branches to the canonical git repository.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

update_versions.py script, and commit this version bump.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

and main branch.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

places. See section 2 above for a list of affected locations.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

* Remove "check-best-practices" from the check-local Makefile target in the maint-x.y.z branch only. * Delete the file scripts/maint/practracker/.enablepractrackerin_hooks in the maint-x.y.z branch only. * Merge to release-x.y.z, but do not forward-port to the main branch.

  1. maint-x.y.z branch only. * Delete the file scripts/maint/practracker

process.