From fe66f2eb56239c6ed9334e04e37a3273c969b3f9 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Tue, 6 Sep 2022 19:20:15 +0100 Subject: [PATCH 1/3] Define SQLite compat policy --- docs/deprecation_policy.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/deprecation_policy.md b/docs/deprecation_policy.md index b8a46e3d60e1..1b1b99d0261a 100644 --- a/docs/deprecation_policy.md +++ b/docs/deprecation_policy.md @@ -1,9 +1,9 @@ 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. +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 @@ -17,12 +17,13 @@ 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 by +[Debian oldstable](https://wiki.debian.org/DebianOldStable). Context ------- @@ -44,3 +45,8 @@ 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 From e8f57693d02a0e40f27ad5608ac5e0ded0909f8f Mon Sep 17 00:00:00 2001 From: David Robertson Date: Tue, 6 Sep 2022 19:24:00 +0100 Subject: [PATCH 2/3] Changelog --- changelog.d/13728.doc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/13728.doc diff --git a/changelog.d/13728.doc b/changelog.d/13728.doc new file mode 100644 index 000000000000..75ca7b7ec36a --- /dev/null +++ b/changelog.d/13728.doc @@ -0,0 +1 @@ +Define Synapse's compatability policy for SQLite versions. From 5e61ffe6bad63dd391b18cd8cb046d32c338cc1e Mon Sep 17 00:00:00 2001 From: David Robertson Date: Wed, 7 Sep 2022 12:35:03 +0100 Subject: [PATCH 3/3] Link to packages.debian.org --- docs/deprecation_policy.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/deprecation_policy.md b/docs/deprecation_policy.md index 1b1b99d0261a..46c18d7d3205 100644 --- a/docs/deprecation_policy.md +++ b/docs/deprecation_policy.md @@ -22,7 +22,8 @@ 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 by +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