Synapse 1.58 is out! Let's dive into this new release.
If you've been reading the past few Synapse release announcements, you might have already heard about our efforts to integrate Poetry into Synapse. Poetry is a tool which manages dependencies of a Python project. Its killer feature is its lockfile, which explicitly pins all dependencies (direct and transitive) to a fixed version, even across multiple Python versions and platforms. See more about why we choose Poetry here.
During the past few months, we've been hard at work converting Synapse and its CI to use Poetry. The goal is to make our Docker images and Debian packages more reproducible and to provide a fixed, known-good environment for CI. This will help us to ensure the stability and security of Synapse installations.
Synapse 1.57's Docker image was the first to use Poetry; after a successful
trial, this was extended to Synapse 1.58's Debian packages. Installations from
pip will not use the locked environment, though everyone is
welcome to install from source using our
Huge props to David from the Synapse team for leading the work on this front.
This release of Synapse also includes performance improvements around sharing device list updates, which should greatly improve login times for large Matrix accounts.
Synapse 1.58 also features the implementation of two MSCs:
destination parameter in federation authentication headers, and
(if enabled) allows room moderators to see the content of a redacted event (as
long as it hasn't already been deleted by the homeserver).
Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including (in no particular order) Beeper, Dirk Klimpel, Famedly and Sami Olmari.