Synapse 1.77 released
16.02.2023 00:00 — Releases — Mathieu VeltenGreetings Matrix fans! We've published Synapse version 1.77 as the new stable release this week. Synapse admins are encouraged to upgrade to it at their convenience.
Greetings Matrix fans! We've published Synapse version 1.77 as the new stable release this week. Synapse admins are encouraged to upgrade to it at their convenience.
Hey all,
Matrix 1.6 is out there! Like Matrix 1.5 back in November, this release is largely a maintenance update. Matrix 1.1 through 1.4 have been relatively major upgrades, so a little time between features doesn’t feel like a bad idea :)
As with all spec releases, we encourage implementations to gradually update over the next few months rather than have support for everything on release day - please be kind to the projects you use, and help them gain support if able.
Matrix 1.6 sees just 7 MSCs get merged, though this is to be expected from a maintenance release. Check out Matthew’s Matrix 2.0 talk at FOSDEM for an idea of what’s expected over the next few releases.
We’ve covered a couple of the MSCs below, but read on to the full changelog for the full picture.
Greetings Matrix fans! We've published Synapse version 1.76 as the new stable release this week. Synapse admins are encouraged to upgrade to it at their convenience. Please take a look at the upgrade notes for any important information about upgrading.
We published Synapse version 1.75 as the new stable release this week. Synapse admins are encouraged to upgrade to it at their convenience. It seems like the blog post for version 1.74 was eaten by Santa's reindeer, so this post will also cover changes from it.
And here is another update to your beloved Matrix homeserver implementation, Synapse 1.73.
When releasing Synapse 1.69 a couple of months ago, we also announced the removal of old Prometheus metrics that have been replaced by more aptly named ones. he list of these metrics can be found here.
Synapse 1.73 implements the final phase of this plan and entirely removes support for those metrics. As a result,
the enable_legacy_metrics
configuration option, which was introduced in
Synapse 1.71, has also been removed.
Server administrators who are still relying on these legacy metric names are encouraged to update their dashboards at their earliest convenience. For more information, please refer to the upgrade notes.
A bunch of performance improvements have been included in this release, specifically around
the /messages
endpoint.
Improvements to event filtering on the client-server API gave the matrix.org homeserver a first nice bump as visible on this graph:
Various optimizations around fetching bundled aggregations resulted in yet another nice improvement:
Note that the graph from the first image, and the second graph from the second image are apdexes, which is a measure that shows improvement when it goes up (as opposed to e.g. response times, which improve when they go down).
Experimental support for Extensible Events has landed in Synapse.
This is exciting since this global rework of events presentation has been in talks for a while, and having an implementation to experiment with greatly helps bringing the feature closer to completion.
Note that this support is still very much experimental as the related MSCs are still under review and could change at any time, and therefore not recommended for use in production.
See the full changelog, for a complete list of changes in the release. Also please have a look at the upgrade notes for this version.
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) schmop, Ashish Kumar, realtyem, and Brennan Chapman as well as anyone helping us make Synapse better by sharing their feedback and reporting issues.
It's not Christmas yet, but it's time for a new release! Say hello to Synapse 1.72.
It seems like this blog didn't self update through AI for the 2 preceding updates so this post will cover 1.70 to 1.72, sorry if this is a bit long but it's been a while :)
PostgreSQL 10 has reached End Of Life: Synapse will no longer support it beginning with version 1.72 so please upgrade your database if you have not already done so.
In previous versions of Synapse, some Prometheus metrics were emitted under two different names, an older name that was non-compliant with OpenMetrics and Prometheus conventions and a new compliant name.
Synapse 1.71 and later have the old metric names switched off by default.
For now it's still possible to get them by using enable_legacy_metrics: true
,
however server administrators still using legacy metric names are highly
encouraged to migrate, as they will be removed in 1.73.
You can find the full list of renamed metrics here.
Following the implementation of MSC3905, Synapse now only considers local users to be interesting to application services. In other words, the users namespace regex in an app service's registration file is only applied against local users of the homeserver.
Please note, this probably doesn't affect the expected behavior of your application service, since an interesting local user in a room still means all messages in the room (from local or remote users) will still be considered interesting.
You can find a bit more info in the MSC and in the upgrade notes.
Several MSCs related to threads got implemented:
This should significantly improve user experience related to threads, being through behavior or performance impact.
Relationships are great, even more between events than humans!
MSC3664 allows Matrix clients to be notified in real time of related events, so you can now be made quickly aware of this cat emoji reaction that your cat photo clearly deserved.
Additionally, Synapse 1.72 includes an implementation of MSC3912, allowing users to redact the relations of a message alongside the message itself. This is particularly helpful in cases like edits, where users usually want to see their edits redacted at the same time as the original message. Note that this implementation is currently incomplete and still experimental, though, so watch this space!
We continue our journey to get everything going as transparently as possible when doing fast remote room joins.
If you missed it you can refer to this previous blog post to get a lot more infos, and feel free to grep Synapse changelog and the numerous related issues/PRs for all the gory details.
See the full changelogs (1.70, 1.71, 1.72) for a complete list of changes in the releases. Also please have a look at the upgrade notes for this version.
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) Nico, sando38, realtyem, aceArt GmbH, Tuomas Ojamies, Ashish Kumar, asymmetric, Beeper, Ryan Miguel, Paul Tötterman, Abdullah Osama, Finn, Ivan Shapovalov, Dirk Klimpel, Jonathan de Jong, MichaIng and Aaron Raimist as well as anyone helping us make Synapse better by sharing their feedback and reporting issues.
Hey all,
We’ve just released Matrix 1.5, a largely maintenance update for the spec. We intentionally haven’t landed any major features in this release as Matrix 1.4, just shy of 2 months ago, had introduced fairly large features for clients and servers to consider. As with all spec releases, we encourage implementations to gradually update over the next few months rather than expect them to have support for everything on release day.
Matrix 1.5 sees just 2 MSCs get merged, though this is to be expected from a maintenance release. We expect that the next release (in Q1 2023) will have a few more exciting features to it :)
We’ve covered both MSCs below, but read on to the full changelog for the full picture.
Already supported implicitly by the spec up until now, reference relations are a way to simply reference another event. Usually these sorts of relations are used for events which need to be related to each other, but a dedicated relationship type doesn’t make a lot of sense.
In-room verification and MSC3381: Polls are examples of how these relations get used.
MSC3905 fixes an issue in the specification where appservices (usually bridges) specifying a users regex without homeserver domain would end up receiving far more event traffic than they would have intended. With the MSC, appservices are now only considered interested in “local” users, regardless of how vague their users namespace is.
Overall this should have no effect on most bridges/appservices, however if an appservice in the wild really does need to listen to all users on all homeservers, it can specify a non-exclusive namespace on all rooms instead.
While writing this MSC into the spec we took some time to clarify the appservice registration requirements more generally: check them out here.
MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. Check out the full changelog below, and the Spec Change Proposals page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the Matrix Live episode where Matthew covers the proposal process).
Backwards Compatible Changes
m.reference
relations, as per MSC3267. (#1206)m.key.verification.request
msgtype for in-room verification. (#1271)Spec Clarifications
device_one_time_keys_count
in /sync
. (#1266)/_matrix/client/v3/directory/rooms/{roomAlias}
. (#1286)set_sound
push rule action by set_tweak
. (#1318)PUT /_matrix/client/v3/pushrules/{scope}/{kind}/{ruleId}
. (#1319).m.rule.master
has a higher priority than any push rule. (#1320)refresh_token
at endpoint POST /_matrix/client/v3/refresh
. (#1323)GET /_matrix/client/v3/sync
response example. (#1341)Spec Clarifications
Spec Clarifications
Spec Clarifications
No significant changes.
Spec Clarifications
No significant changes.
Backwards Compatible Changes
Spec Clarifications
resolve-additional-types
template. (#1303)Hey everyone, it's time for a new Synapse release! Synapse 1.69 is out, fresh out of the oven. But before we take a look at it, here's a quick announcement:
We have recently disclosed a moderate severity security vulnerability, which was fixed in Synapse 1.62 (released on July 5th 2022). This issue affects all homeservers running a version of Synapse older than 1.62 with open federation. If this is the case for your deployment, please update to a more recent version of Synapse at your earliest convenience.
See advisory GHSA-jhjh-776m-4765 and CVE-2022-31152 for more information.
Now let's see what's new in Synapse 1.69!
Hey all,
It’s finally here: threads, edits, and private read receipts. v1.4 has been a little later than usual in the quarter because we wanted to make sure we nailed down all the core MSCs for threads before publishing the spec itself, but we’ve done that now and we’re excited about it.
We're excited to announce the first tech preview of Third Room, an open, standards-based, decentralised vision of the metaverse for the open Web, built entirely on Matrix… without cryptocurrencies, NFTs or walled gardens.
To see what it's all about, head over to https://thirdroom.io/preview - or come chat in #thirdroom-dev:matrix.org to learn more!