From 36f3bbd47298136f76a3500c1d78f95709692b76 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Mon, 24 Oct 2022 14:07:00 +0100 Subject: move other doc to other dir --- docs/SUMMARY.md | 2 +- docs/deprecation_policy.md | 53 ---------------------------------------- docs/other/deprecation_policy.md | 53 ++++++++++++++++++++++++++++++++++++++++ docs/upgrade.md | 8 +++--- 4 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 docs/deprecation_policy.md create mode 100644 docs/other/deprecation_policy.md (limited to 'docs') diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 491124b3f2..65ed6e1d48 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -107,5 +107,5 @@ - [Scripts]() # Other - - [Dependency Deprecation Policy](deprecation_policy.md) + - [Dependency Deprecation Policy](other/deprecation_policy.md) - [Running Synapse on a Single-Board Computer](other/running_synapse_on_single_board_computers.md) diff --git a/docs/deprecation_policy.md b/docs/deprecation_policy.md deleted file mode 100644 index 46c18d7d32..0000000000 --- a/docs/deprecation_policy.md +++ /dev/null @@ -1,53 +0,0 @@ -Deprecation Policy for Platform Dependencies -============================================ - -Synapse has a number of platform dependencies, including Python, Rust, -PostgreSQL and SQLite. 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](https://endoflife.date/python) and -[https://endoflife.date/postgresql](https://endoflife.date/postgresql). - -A Rust compiler is required to build Synapse from source. For any given release -the minimum required version may be bumped up to a recent Rust version, and so -people building from source should ensure they can fetch recent versions of Rust -(e.g. by using [rustup](https://rustup.rs/)). - -The oldest supported version of SQLite is the version -[provided](https://packages.debian.org/buster/libsqlite3-0) by -[Debian oldstable](https://wiki.debian.org/DebianOldStable). - -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. - -For Rust, the situation is a bit different given that a) the Rust foundation -does not generally support older Rust versions, and b) the library ecosystem -generally bump their minimum support Rust versions frequently. In general, the -Synapse team will try to avoid updating the dependency on Rust to the absolute -latest version, but introducing a formal policy is hard given the constraints of -the ecosystem. - -On a similar note, SQLite does not generally have a concept of "supported -release"; bugfixes are published for the latest minor release only. We chose to -track Debian's oldstable as this is relatively conservative, predictably updated -and is consistent with the `.deb` packages released by Matrix.org. \ No newline at end of file diff --git a/docs/other/deprecation_policy.md b/docs/other/deprecation_policy.md new file mode 100644 index 0000000000..46c18d7d32 --- /dev/null +++ b/docs/other/deprecation_policy.md @@ -0,0 +1,53 @@ +Deprecation Policy for Platform Dependencies +============================================ + +Synapse has a number of platform dependencies, including Python, Rust, +PostgreSQL and SQLite. 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](https://endoflife.date/python) and +[https://endoflife.date/postgresql](https://endoflife.date/postgresql). + +A Rust compiler is required to build Synapse from source. For any given release +the minimum required version may be bumped up to a recent Rust version, and so +people building from source should ensure they can fetch recent versions of Rust +(e.g. by using [rustup](https://rustup.rs/)). + +The oldest supported version of SQLite is the version +[provided](https://packages.debian.org/buster/libsqlite3-0) by +[Debian oldstable](https://wiki.debian.org/DebianOldStable). + +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. + +For Rust, the situation is a bit different given that a) the Rust foundation +does not generally support older Rust versions, and b) the library ecosystem +generally bump their minimum support Rust versions frequently. In general, the +Synapse team will try to avoid updating the dependency on Rust to the absolute +latest version, but introducing a formal policy is hard given the constraints of +the ecosystem. + +On a similar note, SQLite does not generally have a concept of "supported +release"; bugfixes are published for the latest minor release only. We chose to +track Debian's oldstable as this is relatively conservative, predictably updated +and is consistent with the `.deb` packages released by Matrix.org. \ No newline at end of file diff --git a/docs/upgrade.md b/docs/upgrade.md index 07b1c13445..8009cf64cb 100644 --- a/docs/upgrade.md +++ b/docs/upgrade.md @@ -726,7 +726,7 @@ will become a configuration error in Synapse v1.53.0. ## Dropping support for old Python and Postgres versions -In line with our [deprecation policy](deprecation_policy.md), +In line with our [deprecation policy](other/deprecation_policy.md), we've dropped support for Python 3.6 and PostgreSQL 9.6, as they are no longer supported upstream. @@ -983,7 +983,7 @@ Instructions for doing so are provided ## Dropping support for old Python, Postgres and SQLite versions -In line with our [deprecation policy](deprecation_policy.md), +In line with our [deprecation policy](other/deprecation_policy.md), we've dropped support for Python 3.5 and PostgreSQL 9.5, as they are no longer supported upstream. @@ -996,7 +996,7 @@ The deprecated v1 "list accounts" admin API (`GET /_synapse/admin/v1/users/`) has been removed in this version. -The [v2 list accounts API](admin_api/user_admin_api.md#list-accounts) +The [v2 list accounts API](administration/admin_api/user_admin_api.md#list-accounts) has been available since Synapse 1.7.0 (2019-12-13), and is accessible under `GET /_synapse/admin/v2/users`. @@ -1720,7 +1720,7 @@ back to v1.3.1, subject to the following: Some counter metrics have been renamed, with the old names deprecated. See [the metrics -documentation](metrics-howto.md#renaming-of-metrics--deprecation-of-old-names-in-12) +documentation](administration/metrics-howto.md#renaming-of-metrics--deprecation-of-old-names-in-12) for details. # Upgrading to v1.1.0 -- cgit 1.5.1