Define SQLite compat policy (#13728)

This commit is contained in:
David Robertson 2022-09-07 13:07:42 +01:00 committed by GitHub
parent b58386e37e
commit 77f3986451
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

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

@ -0,0 +1 @@
Define Synapse's compatability policy for SQLite versions.

View file

@ -1,9 +1,9 @@
Deprecation Policy for Platform Dependencies Deprecation Policy for Platform Dependencies
============================================ ============================================
Synapse has a number of platform dependencies, including Python and PostgreSQL. Synapse has a number of platform dependencies, including Python, Rust,
This document outlines the policy towards which versions we support, and when we PostgreSQL and SQLite. This document outlines the policy towards which versions
drop support for versions in the future. we support, and when we drop support for versions in the future.
Policy Policy
@ -17,12 +17,14 @@ Details on the upstream support life cycles for Python and PostgreSQL are
documented at [https://endoflife.date/python](https://endoflife.date/python) and documented at [https://endoflife.date/python](https://endoflife.date/python) and
[https://endoflife.date/postgresql](https://endoflife.date/postgresql). [https://endoflife.date/postgresql](https://endoflife.date/postgresql).
A Rust compiler is required to build Synapse from source. For any given release 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 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 people building from source should ensure they can fetch recent versions of Rust
(e.g. by using [rustup](https://rustup.rs/)). (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 Context
------- -------
@ -44,3 +46,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 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 latest version, but introducing a formal policy is hard given the constraints of
the ecosystem. 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.