Repository: freedomofpress/securedrop

Issue:
Release SecureDrop 2.5.0
This is a tracking issue for the release of SecureDrop 2.5.0

# Schedule:

**Feature / string freeze:** 2022-09-27
**Pre-release announcement:** 2022-10-04
**Release date:** 2022-10-11
**Release manager:** @zenmonkeykstop 
**Deputy release manager:** @cfm 
**Communications manager:** @nathandyer 
**Deputy CM:** @eloquence 
 **Localization manager:** @cfm 
**Deputy LM:** @eaon 

# Testing:

QA team: TK
Test scenarios:  [QA Matrix for 2.5.0](https://docs.google.com/spreadsheets/d/1O8FrIh1UYRgFw8m1AnMw5tVe19TFjpBqE0aaA7rc-iY/edit)
_SecureDrop maintainers and testers:_ As you QA 2.5.0, please report back your testing results as comments on this ticket. File GitHub issues for any problems found, tag them "QA: Release", and associate them with the [2.5.0 milestone](https://github.com/freedomofpress/securedrop/milestone/79) for tracking (or ask a maintainer to do so).

Test debian packages will be posted on https://apt-test.freedom.press signed with [the test key](https://gist.githubusercontent.com/conorsch/ec4008b111bc3142fca522693f3cce7e/raw/2968621e8ad92db4505a31fcc5776422d7d26729/apt-test%2520apt%2520pubkey)

## Test plan: 
- [x] #6558
- [x] #6596
- [x] #6637 

## [Test Plan for 2.5.0](https://github.com/freedomofpress/securedrop/wiki/2.5.0-Test-Plan)

# Localization management
High-level summary of these steps can be found here: https://docs.securedrop.org/en/stable/development/i18n.html#two-weeks-before-the-release-string-freeze Duplicating that content as checkboxes below, for visibility:

- [x] Update translations on latest develop, following [docs for i18n procedures](https://docs.securedrop.org/en/stable/development/i18n.html#update-strings-to-be-translated)
 - [x] Update strings served on Weblate, [following docs](https://docs.securedrop.org/en/stable/development/i18n.html#merge-develop-to-weblate) 
- [x] [Update Weblate screenshots](https://docs.securedrop.org/en/stable/development/i18n.html#update-weblate-screenshots) so translators can see new or modified source strings in context.
- [x] Update the [i18n timeline](https://forum.securedrop.org/t/about-the-translations-category/16) in the translation section of the forum.
- [x] Add a [Weblate announcement](https://weblate.securedrop.org/admin/trans/announcement) with the translation timeline for the release. Important: make sure the Notify users box is checked, so that translators receive an email alert.
- [x] Remind all developers about the string freeze in [Gitter](https://gitter.im/freedomofpress/securedrop).
- [x] Remind all translators about the string freeze in the Localization Lab channel in the [IFF Mattermost](https://internetfreedomfestival.org/wiki/index.php/IFF_Mattermost).


# Release management
## Prepare release candidate (2.5.0~rc1)
- [x] Link to latest version of Tails, including release candidates, to test against during QA
- [x] Prepare 2.5.0~rc1 release changelog
- [x] Branch release/2.5.0 from develop
- [x] Prepare 2.5.0~rc1
- [x] Build debs, preserving build log, and put up `2.5.0~rc1` on test apt server
- [x] Commit build log.

## RC2 skipped


# Release management
## Prepare release candidate (2.5.0~rc3)
- [x] Link to latest version of Tails, including release candidates, to test against during QA
- [x] Prepare 2.5.0~rc3 release changelog
- [x] Branch release/2.5.0 from develop
- [x] Prepare 2.5.0~rc3
- [x] Build debs, preserving build log, and put up `2.5.0~rc3` on test apt server
- [x] Commit build log.

## Final release
- [x] Ensure builder in release branch is updated and/or update builder image
- [x] Push signed tag 
- [x] Pre-Flight: Test updater logic in Tails (apt-qa tracks the `release` branch in the LFS repo)
- [x] Build final Debian packages for 2.5.0 (and preserve build log)
- [x] Commit package build log to https://github.com/freedomofpress/build-logs
- [x] Upload Debian packages to apt-qa server via PR from `release` branch in LFS repo
- [x] Pre-Flight: Test that install and upgrade from 2.4.2 to 2.5.0 works w/ prod repo debs (apt-qa.freedom.press polls the `release` branch in the LFS repo for the debs)
- [x] Flip apt QA server to prod status (merge to `main` in the LFS repo)
- [x] Merge Docs branch changes to ``main`` and verify new docs build in securedrop-docs repo
- [x] Prepare release messaging


## Post release
- [x] Create GitHub release object 
- [x] Once release object is created, update version in `securedrop-docs` (version information in Wagtail is updated automatically)
- [x] Verify new docs show up on https://docs.securedrop.org
- [x] Publish announcements
- [ ] Merge changelog back to `develop`
- [ ] Update roadmap wiki page: https://github.com/freedomofpress/securedrop/wiki/Development-Roadmap


Discussion:

Resolving patch:
diff --git a/securedrop/version.py b/securedrop/version.py
--- a/securedrop/version.py
+++ b/securedrop/version.py
@@ -1 +1 @@
-__version__ = "2.5.0~rc1"
+__version__ = "2.6.0~rc1"
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@
 
 setuptools.setup(
     name="securedrop-app-code",
-    version="2.5.0~rc1",
+    version="2.6.0~rc1",
     author="Freedom of the Press Foundation",
     author_email="securedrop@freedom.press",
     description="SecureDrop Server",


Test patch:
diff --git a/molecule/builder-focal/tests/vars.yml b/molecule/builder-focal/tests/vars.yml
--- a/molecule/builder-focal/tests/vars.yml
+++ b/molecule/builder-focal/tests/vars.yml
@@ -1,5 +1,5 @@
 ---
-securedrop_version: "2.5.0~rc1"
+securedrop_version: "2.6.0~rc1"
 ossec_version: "3.6.0"
 keyring_version: "0.1.6"
 config_version: "0.1.4"