Synapse 1.0 is the reference implementation of the Matrix 1.0 spec. The goal of the release overall has been to focus on security and stability, such that we can officially declare Synapse (and Matrix) out of beta and recommended for production use. This means changing the default room protocol version used for new rooms to be v4, which includes the new state resolution algorithm, as well as collision-resistant event IDs, which are now formatted to be URL safe.
Synapse 1.0 also ships with support for the upcoming v5 room protocol (which enforces honouring server key validity periods), but this will not be used as the default for new rooms until a sufficient number of servers support it.
Please note that Synapse 1.0 does not include significant performance work or new features - our focus has been almost exclusively on providing a reference implementation of the Matrix 1.0 protocol. But having cleared our backlog on security/stability issues we will finally be now unblocked to pursue work around reducing RAM footprint, eliminating forward-extremity build up, and shipping new features like Edits, Reactions & E2E cross-signing support.
As part of the security work, Synapse 1.0 contains a breaking change that requires a valid TLS certificate on the federation API endpoint. Servers that do not configure their certificate will no longer be able to federate post 1.0.
It is also worth noting that Synapse 1.0.0 is the last release that will support Python 2.x and Postgres 9.4. For more information see here but the TL;DR is that you should upgrade asap.
This release has been a long time coming. Many thanks indeed to everyone who helped test the release candidates and provided feedback along the way.
Synapse 1.0 is just one component of a larger Matrix 1.0 release, which you can read all about here.
Fix bug where attempting to send transactions with large number of EDUs can fail. (#5418)
Improved Documentation
Expand the federation guide to include relevant content from the MSC1711 FAQ (#5419)
Internal Changes
Move password reset links to /_matrix/client/unstable namespace. (#5424)
Synapse 1.0.0rc3 (2019-06-10)
Security: Fix authentication bug introduced in 1.0.0rc1. Please upgrade to rc3 immediately
Synapse 1.0.0rc2 (2019-06-10)
Bugfixes
Remove redundant warning about key server response validation. (#5392)
Fix bug where old keys stored in the database with a null valid until timestamp caused all verification requests for that key to fail. (#5415)
Fix excessive memory using with default federation_verify_certificates: true configuration. (#5417)
Synapse 1.0.0rc1 (2019-06-07)
Features
Synapse now more efficiently collates room statistics. (#4338, #5260, #5324)
Add experimental support for relations (aka reactions and edits). (#5220)
Ability to configure default room version. (#5223, #5249)
Allow configuring a range for the account validity startup job. (#5276)
CAS login will now hit the r0 API, not the deprecated v1 one. (#5286)
Validate federation server TLS certificates by default (implements MSC1711). (#5359)
Update /_matrix/client/versions to reference support for r0.5.0. (#5360)
Add a script to generate new signing-key files. (#5361)
Update upgrade and installation guides ahead of 1.0. (#5371)
Replace the perspectives configuration section with trusted_key_servers, and make validating the signatures on responses optional (since TLS will do this job for us). (#5374)
Add ability to perform password reset via email without trusting the identity server. (#5377)
Fixes client-server API not sending "m.heroes" to lazy-load /sync requests when a rooms name or its canonical alias are empty. Thanks to @dnaf for this work! (#5089)
Prevent federation device list updates breaking when processing multiple updates at once. (#5156)
Fix worker registration bug caused by ClientReaderSlavedStore being unable to see get_profileinfo. (#5200)
Fix race when backfilling in rooms with worker mode. (#5221)