Add deprecation policy doc (#9723)

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
This commit is contained in:
Erik Johnston 2021-04-06 13:07:36 +01:00 committed by GitHub
parent fc8695d621
commit a888cbdd31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 2 deletions

View file

@ -38,6 +38,7 @@ There are 3 steps to follow under **Installation Instructions**.
- [URL previews](#url-previews) - [URL previews](#url-previews)
- [Troubleshooting Installation](#troubleshooting-installation) - [Troubleshooting Installation](#troubleshooting-installation)
## Choosing your server name ## Choosing your server name
It is important to choose the name for your server before you install Synapse, 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 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: the running Synapse to create the new user. For example:
``` ```
New user localpart: erikj New user localpart: erikj

View file

@ -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 Client-Server API are functioning correctly. See the `installation instructions
<https://github.com/matrix-org/sytest#installing>`_ for details. <https://github.com/matrix-org/sytest#installing>`_ 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
`<docs/deprecation_policy.md>`_ document for more details.
Troubleshooting Troubleshooting
=============== ===============
@ -389,7 +398,7 @@ likely cause. The misbehavior can be worked around by setting
People can't accept room invitations from me 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 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 error (typically along the lines of "Invalid signature"). They might see
something like the following in their logs:: something like the following in their logs::

1
changelog.d/9723.doc Normal file
View file

@ -0,0 +1 @@
Add a document describing the deprecation policy for platform dependencies.

View file

@ -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.