prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Release SecureDrop 2.7.0
  This is a tracking issue for the release of SecureDrop 2.7.0
  
  Tentatively scheduled as follows:
  
  **Pre-release announcement:** ~10-19-2023~10-26-2023
  **Release date:** ~10-26-2023~11-07-2023
  
  **Release manager:** @zenmonkeykstop  
  **Deputy release manager:** @cfm
  **Localization manager:** @cfm
  **Communications manager:** @nathandyer 
  
  _SecureDrop maintainers and testers:_ As you QA 2.7.0, please report back your testing results as comments on this ticket. File GitHub issues for any problems found, tag them "QA: Release".
  
  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).
  
  # [QA Matrix for 2.7.0](https://docs.google.com/spreadsheets/d/1Q_dOST_87ezW3L1LO-u7Nl18h6bQsYUbQHYPGQbG448/edit#gid=361662860)
  # [Test Plan for 2.7.0](https://github.com/freedomofpress/securedrop/wiki/2.7.0-Test-Plan)
  
  # Prepare release candidate (2.7.0~rc1)
  - [ ] Link to latest version of Tails, including release candidates, to test against during QA
  - [x] Prepare 2.7.0~rc1 release changelog
  - [x] Branch off release/2.7.0 from develop
  - [x] Prepare 2.7.0
  - [ ] Build debs, preserving build log, and put up `2.7.0~rc1` on test apt server
  - [ ] Commit build log.
  
  # Prepare release candidate (2.7.0~rc2)
  - [x] Prepare 2.7.0~rc2 release changelog
  - [x] Branch off release/2.7.0 from develop
  - [x] Prepare 2.7.0
  - [x] Build debs, preserving build log, and put up `2.7.0~rc2` on test apt server
  - [x] Commit build log.
  
  
  # Prepare release candidate (2.7.0~rc3)
  - [x] Prepare 2.7.0~rc3 release changelog
  - [x] Branch off release/2.7.0 from develop
  - [x] Prepare 2.7.0
  - [x] Build debs, preserving build log, and put up `2.7.0~rc3` on test apt server
  - [x] Commit build log.
  
  # Prepare release candidate (2.7.0~rc4)
  - [x] Prepare 2.7.0~rc4 release changelog
  - [x] Branch off release/2.7.0 from develop
  - [x] Prepare 2.7.0-rc4
  - [x] Build debs, preserving build log, and put up `2.7.0~rc4` 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 release-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(and preserve build log)
  - [x] Commit package build log to https://github.com/freedomofpress/build-logs
  - [x] Pre-Flight: Test that install and upgrade from 2.6.1 to 2.7.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)
  - [ ] 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] 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
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `securedrop/version.py`
  Content:
  ```
  1 __version__ = "2.7.0~rc1"
  2
  ```
  
  Path: `securedrop/setup.py`
  Content:
  ```
  1 import setuptools
  2 
  3 long_description = "The SecureDrop whistleblower platform."
  4 
  5 setuptools.setup(
  6     name="securedrop-app-code",
  7     version="2.7.0~rc1",
  8     author="Freedom of the Press Foundation",
  9     author_email="securedrop@freedom.press",
  10     description="SecureDrop Server",
  11     long_description=long_description,
  12     long_description_content_type="text/markdown",
  13     license="AGPLv3+",
  14     python_requires=">=3.8",
  15     url="https://github.com/freedomofpress/securedrop",
  16     classifiers=[
  17         "Development Status :: 5 - Stable",
  18         "Programming Language :: Python :: 3",
  19         "Topic :: Software Development :: Libraries :: Python Modules",
  20         "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
  21         "Intended Audience :: Developers",
  22         "Operating System :: OS Independent",
  23     ],
  24 )
  25
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/securedrop/setup.py b/securedrop/setup.py
  --- a/securedrop/setup.py
  +++ b/securedrop/setup.py
  @@ -4,7 +4,7 @@
   
   setuptools.setup(
       name="securedrop-app-code",
  -    version="2.7.0~rc1",
  +    version="2.8.0~rc1",
       author="Freedom of the Press Foundation",
       author_email="securedrop@freedom.press",
       description="SecureDrop Server",
  diff --git a/securedrop/version.py b/securedrop/version.py
  --- a/securedrop/version.py
  +++ b/securedrop/version.py
  @@ -1 +1 @@
  -__version__ = "2.7.0~rc1"
  +__version__ = "2.8.0~rc1"
  
verification_info: {"golden_diff": "diff --git a/securedrop/setup.py b/securedrop/setup.py\n--- a/securedrop/setup.py\n+++ b/securedrop/setup.py\n@@ -4,7 +4,7 @@\n \n setuptools.setup(\n     name=\"securedrop-app-code\",\n-    version=\"2.7.0~rc1\",\n+    version=\"2.8.0~rc1\",\n     author=\"Freedom of the Press Foundation\",\n     author_email=\"securedrop@freedom.press\",\n     description=\"SecureDrop Server\",\ndiff --git a/securedrop/version.py b/securedrop/version.py\n--- a/securedrop/version.py\n+++ b/securedrop/version.py\n@@ -1 +1 @@\n-__version__ = \"2.7.0~rc1\"\n+__version__ = \"2.8.0~rc1\"\n", "issue": "Release SecureDrop 2.7.0\nThis is a tracking issue for the release of SecureDrop 2.7.0\r\n\r\nTentatively scheduled as follows:\r\n\r\n**Pre-release announcement:** ~10-19-2023~10-26-2023\r\n**Release date:** ~10-26-2023~11-07-2023\r\n\r\n**Release manager:** @zenmonkeykstop  \r\n**Deputy release manager:** @cfm\r\n**Localization manager:** @cfm\r\n**Communications manager:** @nathandyer \r\n\r\n_SecureDrop maintainers and testers:_ As you QA 2.7.0, please report back your testing results as comments on this ticket. File GitHub issues for any problems found, tag them \"QA: Release\".\r\n\r\nTest 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).\r\n\r\n# [QA Matrix for 2.7.0](https://docs.google.com/spreadsheets/d/1Q_dOST_87ezW3L1LO-u7Nl18h6bQsYUbQHYPGQbG448/edit#gid=361662860)\r\n# [Test Plan for 2.7.0](https://github.com/freedomofpress/securedrop/wiki/2.7.0-Test-Plan)\r\n\r\n# Prepare release candidate (2.7.0~rc1)\r\n- [ ] Link to latest version of Tails, including release candidates, to test against during QA\r\n- [x] Prepare 2.7.0~rc1 release changelog\r\n- [x] Branch off release/2.7.0 from develop\r\n- [x] Prepare 2.7.0\r\n- [ ] Build debs, preserving build log, and put up `2.7.0~rc1` on test apt server\r\n- [ ] Commit build log.\r\n\r\n# Prepare release candidate (2.7.0~rc2)\r\n- [x] Prepare 2.7.0~rc2 release changelog\r\n- [x] Branch off release/2.7.0 from develop\r\n- [x] Prepare 2.7.0\r\n- [x] Build debs, preserving build log, and put up `2.7.0~rc2` on test apt server\r\n- [x] Commit build log.\r\n\r\n\r\n# Prepare release candidate (2.7.0~rc3)\r\n- [x] Prepare 2.7.0~rc3 release changelog\r\n- [x] Branch off release/2.7.0 from develop\r\n- [x] Prepare 2.7.0\r\n- [x] Build debs, preserving build log, and put up `2.7.0~rc3` on test apt server\r\n- [x] Commit build log.\r\n\r\n# Prepare release candidate (2.7.0~rc4)\r\n- [x] Prepare 2.7.0~rc4 release changelog\r\n- [x] Branch off release/2.7.0 from develop\r\n- [x] Prepare 2.7.0-rc4\r\n- [x] Build debs, preserving build log, and put up `2.7.0~rc4` on test apt server\r\n- [x] Commit build log.\r\n\r\n\r\nAfter each test, please update the QA matrix and post details for Basic Server Testing, Application Acceptance Testing and release-specific testing below in comments to this ticket.\r\n\r\n# Final release\r\n- [x] Ensure builder in release branch is updated and/or update builder image\r\n- [x] Push signed tag \r\n- [x] Pre-Flight: Test updater logic in Tails (apt-qa tracks the `release` branch in the LFS repo)\r\n- [x] Build final Debian packages(and preserve build log)\r\n- [x] Commit package build log to https://github.com/freedomofpress/build-logs\r\n- [x] Pre-Flight: Test that install and upgrade from 2.6.1 to 2.7.0 works w/ prod repo debs (apt-qa.freedom.press polls the `release` branch in the LFS repo for the debs)\r\n- [x] Flip apt QA server to prod status (merge to `main` in the LFS repo)\r\n- [ ] Merge Docs branch changes to ``main`` and verify new docs build in securedrop-docs repo\r\n- [x] Prepare release messaging\r\n\r\n# Post release\r\n- [x] Create GitHub release object \r\n- [x] Once release object is created, update versions in `securedrop-docs` and Wagtail\r\n- [x] Verify new docs show up on https://docs.securedrop.org\r\n- [x] Publish announcements\r\n- [ ] Merge changelog back to `develop`\r\n- [ ] Update roadmap wiki page: https://github.com/freedomofpress/securedrop/wiki/Development-Roadmap\n", "before_files": [{"content": "__version__ = \"2.7.0~rc1\"\n", "path": "securedrop/version.py"}, {"content": "import setuptools\n\nlong_description = \"The SecureDrop whistleblower platform.\"\n\nsetuptools.setup(\n    name=\"securedrop-app-code\",\n    version=\"2.7.0~rc1\",\n    author=\"Freedom of the Press Foundation\",\n    author_email=\"securedrop@freedom.press\",\n    description=\"SecureDrop Server\",\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    license=\"AGPLv3+\",\n    python_requires=\">=3.8\",\n    url=\"https://github.com/freedomofpress/securedrop\",\n    classifiers=[\n        \"Development Status :: 5 - Stable\",\n        \"Programming Language :: Python :: 3\",\n        \"Topic :: Software Development :: Libraries :: Python Modules\",\n        \"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)\",\n        \"Intended Audience :: Developers\",\n        \"Operating System :: OS Independent\",\n    ],\n)\n", "path": "securedrop/setup.py"}], "after_files": [{"content": "__version__ = \"2.8.0~rc1\"\n", "path": "securedrop/version.py"}, {"content": "import setuptools\n\nlong_description = \"The SecureDrop whistleblower platform.\"\n\nsetuptools.setup(\n    name=\"securedrop-app-code\",\n    version=\"2.8.0~rc1\",\n    author=\"Freedom of the Press Foundation\",\n    author_email=\"securedrop@freedom.press\",\n    description=\"SecureDrop Server\",\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    license=\"AGPLv3+\",\n    python_requires=\">=3.8\",\n    url=\"https://github.com/freedomofpress/securedrop\",\n    classifiers=[\n        \"Development Status :: 5 - Stable\",\n        \"Programming Language :: Python :: 3\",\n        \"Topic :: Software Development :: Libraries :: Python Modules\",\n        \"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)\",\n        \"Intended Audience :: Developers\",\n        \"Operating System :: OS Independent\",\n    ],\n)\n", "path": "securedrop/setup.py"}]}