This commit is contained in:
DMRobertson 2022-09-07 12:08:25 +00:00
parent d82a3a2909
commit a9ab0de46b
4 changed files with 22 additions and 8 deletions

View file

@ -147,9 +147,9 @@
</div> </div>
<h1 id="deprecation-policy-for-platform-dependencies"><a class="header" href="#deprecation-policy-for-platform-dependencies">Deprecation Policy for Platform Dependencies</a></h1> <h1 id="deprecation-policy-for-platform-dependencies"><a class="header" href="#deprecation-policy-for-platform-dependencies">Deprecation Policy for Platform Dependencies</a></h1>
<p>Synapse has a number of platform dependencies, including Python and PostgreSQL. <p>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.</p> we support, and when we drop support for versions in the future.</p>
<h2 id="policy"><a class="header" href="#policy">Policy</a></h2> <h2 id="policy"><a class="header" href="#policy">Policy</a></h2>
<p>Synapse follows the upstream support life cycles for Python and PostgreSQL, <p>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 i.e. when a version reaches End of Life Synapse will withdraw support for that
@ -161,6 +161,9 @@ documented at <a href="https://endoflife.date/python">https://endoflife.date/pyt
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 <a href="https://rustup.rs/">rustup</a>).</p> (e.g. by using <a href="https://rustup.rs/">rustup</a>).</p>
<p>The oldest supported version of SQLite is the version
<a href="https://packages.debian.org/buster/libsqlite3-0">provided</a> by
<a href="https://wiki.debian.org/DebianOldStable">Debian oldstable</a>.</p>
<h2 id="context"><a class="header" href="#context">Context</a></h2> <h2 id="context"><a class="header" href="#context">Context</a></h2>
<p>It is important for system admins to have a clear understanding of the platform <p>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 requirements of Synapse and its deprecation policies so that they can
@ -177,6 +180,10 @@ 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.</p> the ecosystem.</p>
<p>On a similar note, SQLite does not generally have a concept of &quot;supported
release&quot;; 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 <code>.deb</code> packages released by Matrix.org.</p>
</main> </main>

View file

@ -16795,9 +16795,9 @@ table. Each subject can have only one.</li>
<p>Stats correspond to the present values. Current rows contain the most up-to-date <p>Stats correspond to the present values. Current rows contain the most up-to-date
statistics for a room. Each subject can only have one entry.</p> statistics for a room. Each subject can only have one entry.</p>
<div style="break-before: page; page-break-before: always;"></div><h1 id="deprecation-policy-for-platform-dependencies"><a class="header" href="#deprecation-policy-for-platform-dependencies">Deprecation Policy for Platform Dependencies</a></h1> <div style="break-before: page; page-break-before: always;"></div><h1 id="deprecation-policy-for-platform-dependencies"><a class="header" href="#deprecation-policy-for-platform-dependencies">Deprecation Policy for Platform Dependencies</a></h1>
<p>Synapse has a number of platform dependencies, including Python and PostgreSQL. <p>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.</p> we support, and when we drop support for versions in the future.</p>
<h2 id="policy"><a class="header" href="#policy">Policy</a></h2> <h2 id="policy"><a class="header" href="#policy">Policy</a></h2>
<p>Synapse follows the upstream support life cycles for Python and PostgreSQL, <p>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 i.e. when a version reaches End of Life Synapse will withdraw support for that
@ -16809,6 +16809,9 @@ documented at <a href="https://endoflife.date/python">https://endoflife.date/pyt
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 <a href="https://rustup.rs/">rustup</a>).</p> (e.g. by using <a href="https://rustup.rs/">rustup</a>).</p>
<p>The oldest supported version of SQLite is the version
<a href="https://packages.debian.org/buster/libsqlite3-0">provided</a> by
<a href="https://wiki.debian.org/DebianOldStable">Debian oldstable</a>.</p>
<h2 id="context"><a class="header" href="#context">Context</a></h2> <h2 id="context"><a class="header" href="#context">Context</a></h2>
<p>It is important for system admins to have a clear understanding of the platform <p>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 requirements of Synapse and its deprecation policies so that they can
@ -16825,6 +16828,10 @@ 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.</p> the ecosystem.</p>
<p>On a similar note, SQLite does not generally have a concept of &quot;supported
release&quot;; 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 <code>.deb</code> packages released by Matrix.org.</p>
<div style="break-before: page; page-break-before: always;"></div><h2 id="summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs"><a class="header" href="#summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs">Summary of performance impact of running on resource constrained devices such as SBCs</a></h2> <div style="break-before: page; page-break-before: always;"></div><h2 id="summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs"><a class="header" href="#summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs">Summary of performance impact of running on resource constrained devices such as SBCs</a></h2>
<p>I've been running my homeserver on a cubietruck at home now for some time and am often replying to statements like &quot;you need loads of ram to join large rooms&quot; with &quot;it works fine for me&quot;. I thought it might be useful to curate a summary of the issues you're likely to run into to help as a scaling-down guide, maybe highlight these for development work or end up as documentation. It seems that once you get up to about 4x1.5GHz arm64 4GiB these issues are no longer a problem.</p> <p>I've been running my homeserver on a cubietruck at home now for some time and am often replying to statements like &quot;you need loads of ram to join large rooms&quot; with &quot;it works fine for me&quot;. I thought it might be useful to curate a summary of the issues you're likely to run into to help as a scaling-down guide, maybe highlight these for development work or end up as documentation. It seems that once you get up to about 4x1.5GHz arm64 4GiB these issues are no longer a problem.</p>
<ul> <ul>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long