Repository: freedomofpress/securedrop

Issue:
Release SecureDrop 2.0.0
This is a tracking issue for the release of SecureDrop 2.0.0

Tentatively scheduled as follows:

**String and feature freeze:** 2021-06-08
**String comment period:**  2021-06-08 - 2021-06-11
**Translation period:** 2021-06-11 - 2021-06-21
**Pre-release announcement:** 2021-06-15
**Release date:** ~2021-06-22

**Release manager:** @zenmonkeykstop 
**Deputy release manager:** @kushaldas
**Localization manager**: @rmol  
**Deputy localization manager**: @kushaldas 
**Communications manager:**: @rocodes

_SecureDrop maintainers and testers:_ As you QA 2.0.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.0.0 milestone](https://github.com/freedomofpress/securedrop/milestone/69) 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). An Ansible playbook testing the upgrade path is [here](https://TK/).

# [QA Matrix for 2.0.0](https://docs.google.com/spreadsheets/d/18InCOYTfaETuLDP0w2mF6m_N_Qee12pjdJphCT9HcC4/edit#gid=1698153040)
# [Test Plan for 2.0.0](https://github.com/freedomofpress/securedrop/wiki/2.0.0-Test-Plan)

# Prepare release candidate (2.0.0~rc1)
- [x] Link to latest version of Tails, including release candidates, to test against during QA
- [x] Fetch Tor 0.4.5.8 (latest stable) packages and deploy to apt-test server
- [x] Prepare 2.0.0~rc1 release changelog
- [x] Branch off release/2.0.0 from develop 
- [x] Prepare 2.0.0~rc1
- [x] Build debs, preserving build log, and put up `2.0.0~rc1` on test apt server
- [x] Commit build log.

# Prepare release candidate (2.0.0~rc2)
- [x] Prepare 2.0.0~rc2 release changelog
- [x] Prepare 2.0.0~rc2
- [x] Build debs, preserving build log, and put up `2.0.0~rc2` on test apt server
- [x] Commit build log.

# Prepare release candidate (2.0.0~rc3)
- [x] Prepare 2.0.0~rc3 release changelog
- [x] Prepare 2.0.0~rc3
- [x] Build debs, preserving build log, and put up `2.0.0~rc3` on test apt server
- [x] Commit build log.

# Prepare release candidate (2.0.0~rc4)
- [x] Prepare 2.0.0~rc4 release changelog
- [x] Prepare 2.0.0~rc4
- [x] Build debs, preserving build log, and put up `2.0.0~rc4` on test apt server
- [x] Commit build log.

# Prepare release candidate (2.0.0~rc5)
- [x] Prepare 2.0.0~rc5 release changelog
- [x] Prepare 2.0.0~rc5
- [x] Build debs, preserving build log, and put up `2.0.0~rc5` on test apt server
- [x] Commit build log.

After each test, please update the QA matrix and post details for Basic Server Testing, Application Acceptance Testing and 1.8.0-specific testing below in comments to this ticket.

# 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.0.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 (including Tor 0.4.5.8 packages)
- [x] Pre-Flight: Test that install and upgrade from 1.8.2 to 2.0.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 versions in `securedrop-docs` and Wagtail
- [x] Build readthedocs and verify new docs show up on https://docs.securedrop.org
- [x] Publish announcements
- [x] Merge changelog back to `develop`
- [x] 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__ = '1.9.0~rc1'
+__version__ = '2.1.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="1.9.0~rc1",
+    version="2.1.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: "1.9.0~rc1"
+securedrop_version: "2.1.0~rc1"
 ossec_version: "3.6.0"
 keyring_version: "0.1.5"
 config_version: "0.1.4"