From 3a446c21f81ee1c33225b499972dce30882056e2 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Tue, 30 Mar 2021 11:29:21 +0100 Subject: [PATCH 1/5] Update changelog --- CHANGES.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 395deb40ee..ff84a556ad 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,10 @@ Synapse 1.31.0rc1 (2021-03-30) ============================== +**Note:** As announced in v1.25.0, and in line with the deprecation policy for platform dependencies, this is the last release to support Python 3.5 and PostgreSQL 9.5. Future versions of Synapse will require Python 3.6+ and PostgreSQL 9.6+. + +This is also the last release that the Synapse team will be publishing packages for Debian Stretch and Ubuntu Xenial. + Features -------- @@ -15,7 +19,7 @@ Bugfixes - Fix a longstanding bug that could cause issues when editing a reply to a message. ([\#9585](https://github.com/matrix-org/synapse/issues/9585)) - Fix the `/capabilities` endpoint to return `m.change_password` as disabled if the local password database is not used for authentication. Contributed by @dklimpel. ([\#9588](https://github.com/matrix-org/synapse/issues/9588)) -- Checks if passwords are allowed before setting it for the user. ([\#9636](https://github.com/matrix-org/synapse/issues/9636)) +- Check if local passwords are enabled before setting them for the user. ([\#9636](https://github.com/matrix-org/synapse/issues/9636)) - Fix a bug where federation sending can stall due to `concurrent access` database exceptions when it falls behind. ([\#9639](https://github.com/matrix-org/synapse/issues/9639)) - Fix a bug introduced in Synapse 1.30.1 which meant the suggested `pip` incantation to install an updated `cryptography` was incorrect. ([\#9699](https://github.com/matrix-org/synapse/issues/9699)) @@ -44,8 +48,8 @@ Internal Changes - Introduce flake8-bugbear to the test suite and fix some of its lint violations. ([\#9499](https://github.com/matrix-org/synapse/issues/9499), [\#9659](https://github.com/matrix-org/synapse/issues/9659)) - Add additional type hints to the Homeserver object. ([\#9631](https://github.com/matrix-org/synapse/issues/9631), [\#9638](https://github.com/matrix-org/synapse/issues/9638), [\#9675](https://github.com/matrix-org/synapse/issues/9675), [\#9681](https://github.com/matrix-org/synapse/issues/9681)) - Only save remote cross-signing and device keys if they're different from the current ones. ([\#9634](https://github.com/matrix-org/synapse/issues/9634)) -- Rename storage function to fix spelling and not conflict with another functions name. ([\#9637](https://github.com/matrix-org/synapse/issues/9637)) -- Improve performance of federation catch up by sending events the latest events in the room to the remote, rather than just the last event sent by the local server. ([\#9640](https://github.com/matrix-org/synapse/issues/9640), [\#9664](https://github.com/matrix-org/synapse/issues/9664)) +- Rename storage function to fix spelling and not conflict with another function's name. ([\#9637](https://github.com/matrix-org/synapse/issues/9637)) +- Improve performance of federation catch up by sending the latest events in the room to the remote, rather than just the last event sent by the local server. ([\#9640](https://github.com/matrix-org/synapse/issues/9640), [\#9664](https://github.com/matrix-org/synapse/issues/9664)) - In the `federation_client` commandline client, stop automatically adding the URL prefix, so that servlets on other prefixes can be tested. ([\#9645](https://github.com/matrix-org/synapse/issues/9645)) - In the `federation_client` commandline client, handle inline `signing_key`s in `homeserver.yaml`. ([\#9647](https://github.com/matrix-org/synapse/issues/9647)) - Fixed some antipattern issues to improve code quality. ([\#9649](https://github.com/matrix-org/synapse/issues/9649)) From 5fe38e07e74869574b79f0d91e3d607069313352 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Wed, 31 Mar 2021 14:17:52 -0400 Subject: [PATCH 2/5] Revert "Use 'dmypy run' in lint.sh instead of 'mypy' (#9701)" (#9720) --- changelog.d/9720.misc | 1 + scripts-dev/lint.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/9720.misc diff --git a/changelog.d/9720.misc b/changelog.d/9720.misc new file mode 100644 index 0000000000..9dd0bc9cff --- /dev/null +++ b/changelog.d/9720.misc @@ -0,0 +1 @@ +Revert using `dmypy run` in lint script. diff --git a/scripts-dev/lint.sh b/scripts-dev/lint.sh index 41415ee07b..9761e97594 100755 --- a/scripts-dev/lint.sh +++ b/scripts-dev/lint.sh @@ -95,4 +95,4 @@ isort "${files[@]}" python3 -m black "${files[@]}" ./scripts-dev/config-lint.sh flake8 "${files[@]}" -dmypy run +mypy From fc8695d62102a12baf1de59b505adb18ded9ed95 Mon Sep 17 00:00:00 2001 From: Jonathan de Jong Date: Fri, 2 Apr 2021 12:22:21 +0200 Subject: [PATCH 3/5] Fix version for bugbear (#9734) --- changelog.d/9734.misc | 1 + setup.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/9734.misc diff --git a/changelog.d/9734.misc b/changelog.d/9734.misc new file mode 100644 index 0000000000..20ed9a06a9 --- /dev/null +++ b/changelog.d/9734.misc @@ -0,0 +1 @@ +Pin flake8-bugbear's version. \ No newline at end of file diff --git a/setup.py b/setup.py index 1939a7b86b..29e9971dc1 100755 --- a/setup.py +++ b/setup.py @@ -99,7 +99,7 @@ CONDITIONAL_REQUIREMENTS["lint"] = [ "isort==5.7.0", "black==20.8b1", "flake8-comprehensions", - "flake8-bugbear", + "flake8-bugbear==21.3.2", "flake8", ] From a888cbdd314a84cbb477e5b04bd27b7053f08495 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Tue, 6 Apr 2021 13:07:36 +0100 Subject: [PATCH 4/5] Add deprecation policy doc (#9723) Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Co-authored-by: Patrick Cloke --- INSTALL.md | 3 ++- README.rst | 11 ++++++++++- changelog.d/9723.doc | 1 + docs/deprecation_policy.md | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 changelog.d/9723.doc create mode 100644 docs/deprecation_policy.md diff --git a/INSTALL.md b/INSTALL.md index 808243719e..7b40689234 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -38,6 +38,7 @@ There are 3 steps to follow under **Installation Instructions**. - [URL previews](#url-previews) - [Troubleshooting Installation](#troubleshooting-installation) + ## Choosing your server name It is important to choose the name for your server before you install Synapse, @@ -542,7 +543,7 @@ Alternatively, you can do so from the command line. This can be done as follows: register_new_matrix_user -c homeserver.yaml http://localhost:8008 ``` -This will prompt you to add details for the new user, and will then connect to +This will prompt you to add details for the new user, and will then connect to the running Synapse to create the new user. For example: ``` New user localpart: erikj diff --git a/README.rst b/README.rst index 6a1e713590..655a2bf3be 100644 --- a/README.rst +++ b/README.rst @@ -314,6 +314,15 @@ Testing with SyTest is recommended for verifying that changes related to the Client-Server API are functioning correctly. See the `installation instructions `_ for details. + +Platform dependencies +===================== + +Synapse uses a number of platform dependencies such as Python and PostgreSQL, +and aims to follow supported upstream versions. See the +``_ document for more details. + + Troubleshooting =============== @@ -389,7 +398,7 @@ likely cause. The misbehavior can be worked around by setting People can't accept room invitations from me -------------------------------------------- -The typical failure mode here is that you send an invitation to someone +The typical failure mode here is that you send an invitation to someone to join a room or direct chat, but when they go to accept it, they get an error (typically along the lines of "Invalid signature"). They might see something like the following in their logs:: diff --git a/changelog.d/9723.doc b/changelog.d/9723.doc new file mode 100644 index 0000000000..2bfc9a4ca6 --- /dev/null +++ b/changelog.d/9723.doc @@ -0,0 +1 @@ +Add a document describing the deprecation policy for platform dependencies. diff --git a/docs/deprecation_policy.md b/docs/deprecation_policy.md new file mode 100644 index 0000000000..06ea340559 --- /dev/null +++ b/docs/deprecation_policy.md @@ -0,0 +1,33 @@ +Deprecation Policy for Platform Dependencies +============================================ + +Synapse has a number of platform dependencies, including Python and PostgreSQL. +This document outlines the policy towards which versions we support, and when we +drop support for versions in the future. + + +Policy +------ + +Synapse follows the upstream support life cycles for Python and PostgreSQL, +i.e. when a version reaches End of Life Synapse will withdraw support for that +version in future releases. + +Details on the upstream support life cycles for Python and PostgreSQL are +documented at https://endoflife.date/python and +https://endoflife.date/postgresql. + + +Context +------- + +It is important for system admins to have a clear understanding of the platform +requirements of Synapse and its deprecation policies so that they can +effectively plan upgrading their infrastructure ahead of time. This is +especially important in contexts where upgrading the infrastructure requires +auditing and approval from a security team, or where otherwise upgrading is a +long process. + +By following the upstream support life cycles Synapse can ensure that its +dependencies continue to get security patches, while not requiring system admins +to constantly update their platform dependencies to the latest versions. From 1d8863c67d3956c5d50baa0991595af8fc2525a2 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Tue, 6 Apr 2021 13:09:56 +0100 Subject: [PATCH 5/5] 1.31.0 --- CHANGES.md | 23 ++++++++++++++++++++--- changelog.d/9720.misc | 1 - changelog.d/9723.doc | 1 - changelog.d/9734.misc | 1 - debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 6 files changed, 27 insertions(+), 7 deletions(-) delete mode 100644 changelog.d/9720.misc delete mode 100644 changelog.d/9723.doc delete mode 100644 changelog.d/9734.misc diff --git a/CHANGES.md b/CHANGES.md index ff84a556ad..27483532d0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,10 +1,27 @@ -Synapse 1.31.0rc1 (2021-03-30) -============================== +Synapse 1.31.0 (2021-04-06) +=========================== -**Note:** As announced in v1.25.0, and in line with the deprecation policy for platform dependencies, this is the last release to support Python 3.5 and PostgreSQL 9.5. Future versions of Synapse will require Python 3.6+ and PostgreSQL 9.6+. +**Note:** As announced in v1.25.0, and in line with the deprecation policy for platform dependencies, this is the last release to support Python 3.5 and PostgreSQL 9.5. Future versions of Synapse will require Python 3.6+ and PostgreSQL 9.6+, as per our [deprecation policy](docs/deprecation_policy.md). This is also the last release that the Synapse team will be publishing packages for Debian Stretch and Ubuntu Xenial. + +Improved Documentation +---------------------- + +- Add a document describing the deprecation policy for platform dependencies. ([\#9723](https://github.com/matrix-org/synapse/issues/9723)) + + +Internal Changes +---------------- + +- Revert using `dmypy run` in lint script. ([\#9720](https://github.com/matrix-org/synapse/issues/9720)) +- Pin flake8-bugbear's version. ([\#9734](https://github.com/matrix-org/synapse/issues/9734)) + + +Synapse 1.31.0rc1 (2021-03-30) +============================== + Features -------- diff --git a/changelog.d/9720.misc b/changelog.d/9720.misc deleted file mode 100644 index 9dd0bc9cff..0000000000 --- a/changelog.d/9720.misc +++ /dev/null @@ -1 +0,0 @@ -Revert using `dmypy run` in lint script. diff --git a/changelog.d/9723.doc b/changelog.d/9723.doc deleted file mode 100644 index 2bfc9a4ca6..0000000000 --- a/changelog.d/9723.doc +++ /dev/null @@ -1 +0,0 @@ -Add a document describing the deprecation policy for platform dependencies. diff --git a/changelog.d/9734.misc b/changelog.d/9734.misc deleted file mode 100644 index 20ed9a06a9..0000000000 --- a/changelog.d/9734.misc +++ /dev/null @@ -1 +0,0 @@ -Pin flake8-bugbear's version. \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 18dc04cd82..09602ff54b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.31.0) stable; urgency=medium + + * New synapse release 1.31.0. + + -- Synapse Packaging team Tue, 06 Apr 2021 13:08:29 +0100 + matrix-synapse-py3 (1.30.1) stable; urgency=medium * New synapse release 1.30.1. diff --git a/synapse/__init__.py b/synapse/__init__.py index 419299bf01..1d2883acf6 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -48,7 +48,7 @@ try: except ImportError: pass -__version__ = "1.31.0rc1" +__version__ = "1.31.0" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when