Happy 2016 everyone!
To greet the new year, we bring you all new Synapse 0.12. The focus here has been a wide range of polishing, bugfixes, performance improvements and feature tweaks. The biggest news are that the 'v2' sync APIs are now production ready; the search APIs now work much better; 3rd party ID invites now work; and we now mount the whole client-server API under the /_matrix/client/r0
URI prefix, as per the r0.0.0 release of the Client Server API from a few weeks ago. The r0
release unifies what were previously the somewhat confusing mix of 'v1' and 'v2' APIs as a single set of endpoints which play nice together.
We highly recommend all homeservers upgrading to v0.12.0 as soon as possible. Get it now from https://github.com/matrix-org/synapse/ or via our shiny new Debian packages at https://matrix.org/packages/debian/.
Full changelog follows:
πChanges in synapse v0.12.0 (2016-01-04)
- Expose
/login
under r0
(PR #459)
πChanges in synapse v0.12.0-rc3 (2015-12-23)
- Allow guest accounts access to
/sync
(PR #455)
- Allow filters to include/exclude rooms at the room level rather than just from the components of the sync for each room. (PR #454)
- Include urls for room avatars in the response to
/publicRooms
(PR #453)
- Don't set a identicon as the avatar for a user when they register (PR #450)
- Add a
display_name
to third-party invites (PR #449)
- Send more information to the identity server for third-party invites so that it can send richer messages to the invitee (PR #446)
- Cache the responses to
/initialSync
for 5 minutes. If a client retries a request to /initialSync
before the a response was computed to the first request then the same response is used for both requests (PR #457)
- Fix a bug where synapse would always request the signing keys of remote servers even when the key was cached locally (PR #452)
- Fix 500 when pagination search results (PR #447)
- Fix a bug where synapse was leaking raw email address in third-party invites (PR #448)
πChanges in synapse v0.12.0-rc2 (2015-12-14)
- Add caches for whether rooms have been forgotten by a user (PR #434)
- Remove instructions to use
--process-dependency-link
since all of the dependencies of synapse are on PyPI (PR #436)
- Parallelise the processing of
/sync
requests (PR #437)
- Fix race updating presence in
/events
(PR #444)
- Fix bug back-populating search results (PR #441)
- Fix bug calculating state in
/sync
requests (PR #442)
πChanges in synapse v0.12.0-rc1 (2015-12-10)
- Host the client APIs released as r0 by https://matrix.org/docs/spec/r0.0.0/client_server.html on paths prefixed by
/_matrix/client/r0
. (PR #430, PR #415, PR #400)
- Updates the client APIs to match r0 of the matrix specification.
- All APIs return events in the new event format, old APIs also include the fields needed to parse the event using the old format for compatibility. (PR #402)
- Search results are now given as a JSON array rather than a JSON object (PR #405)
- Miscellaneous changes to search (PR #403, PR #406, PR #412)
- Filter JSON objects may now be passed as query parameters to
/sync
(PR #431)
- Fix implementation of
/admin/whois
(PR #418)
- Only include the rooms that user has left in
/sync
if the client requests them in the filter (PR #423)
- Don't push for
m.room.message
by default (PR #411)
- Add API for setting per account user data (PR #392)
- Allow users to forget rooms (PR #385)
- Performance improvements and monitoring:
- Add per-request counters for CPU time spent on the main python thread. (PR #421, PR #420)
- Add per-request counters for time spent in the database (PR #429)
- Make state updates in the C+S API idempotent (PR #416)
- Only fire
user_joined_room
if the user has actually joined. (PR #410)
- Reuse a single http client, rather than creating new ones (PR #413)
- Fixed a bug upgrading from older versions of synapse on postgresql (PR #417)
Hi all,
We've been pretty bad at updating the blog over the last few months with all the progress that's been happening with Matrix. Whilst Matrix rooms like #matrix:matrix.org and #matrix-dev:matrix.org have been very active (and our twitter account too), in general we've ended up spending way too much time actually writing software and not enough time talking about it, at least here. When a blog goes quiet it normally means that either the authors have got bored, or they're too busy building cool stuff to keep it updated. I'm happy to say that option 2 is the case here!
As a result, there's a huge backlog of really cool stuff we should have talked about. Hopes of writing an Advent Calendar series of blog posts also went out the window as we set Christmas as an arbitrary deadline for loads of work on Synapse, the Matrix Spec and matrix-react-sdk.
So, to try to break the impasse, here's a slightly unorthodox whistle-stop tour of all the amazing blogposts we would have written if we'd had time. And perhaps some of them will actually expand into full write-ups when we have more time to spare in the future :)
Continue readingβ¦

Matrix will again be represented at the WebRTC Conference & Expo in Paris. Daniel and myself are catching the Eurostar tomorrow afternoon, and the conference will start early Wednesday morning with a panel about WebRTC for Mobile, where Daniel is one of the participants.
I'm sure we will have three days full of interesting talks and discussions (see the full schedule here). There will be demos as well, and Matrix is (of course!) also joining the demo competition. We hope to see many familiar faces - and hopefully meet some new ones as well!
If you are going to the conference, please come and say hello β we will have a stand at the expo (we're table #6 - see map here). And don't miss Daniel's Matrix One-year Status Report at 11.10am on Friday!
See you there!
Matrix will be represented at the 32nd Chaos Computer Club, Dec 27th-30th, 2015. We hope to be arranging an assembly, where people can come along to learn about Matrix and our recent work on end-to-end encryption, find out what they can use Matrix for - and also do some hacking at the same time!
UPDATE: We've snagged a table for the assembly at: "hackcenter room with C-base, a table along the pathway". In practice only Mjark is there from Matrix and may be moving around, so may be easiest to coordinate meetups via #32C3:matrix.org
The session is free of charge, although you do need a ticket to the Congress itself.
If you are interested, please register by sending an email to mark@matrix.org. All you need for the session is curiosity - but do bring your own laptop if you want to hack as well!
Anyone is welcome to join - it will basically be a fairly open-ended chat about all things relating to Matrix, and a good chance to do some deep digging into Matrix itself.
Hope to see you there!
In addition to the Android release a couple of days ago, we also released a new version of Matrix Console iOS: v0.5.6!
This release includes a new version of MatrixKit (v0.2.7) that you can take advantage of in your MatrixKit powered app. There are several changes in MatrixKit since the last release, including improved performance, better handling of unrecognized certificates and fixes of reported crash issues. We have also introduced read receipts, improved the chat history display, made room invites more obvious, and fixed a whole lot of JIRA issues.
You can find the full list of changes in the MatrixKit CHANGES.rst and the Matrix Console iOS CHANGES.rst files.
The Android Matrix Console app v0.5.2 is currently in the queue to go live on the Play store!
This release includes:
- Read receipts!
- Call ring volume is now based on device ring volume
- Accessibility tweaks from Peter VΓ‘gner - thanks!
- Better SSL support for older devices
- We fixed an echo problem in Android{'<->'}Android VOIP calls
- A ringback tone for placing outbound calls was added
- Lots of small improvements, e.g. better recent message display and add account dialog
- Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
Get it RSN from the Google play store!
Enjoy! And please do let us know your feedback in #matrix:matrix.org!
Today, we are releasing Synapse version 0.11.0. In the last week, we have had two release candidates, and this release also includes changes in v0.10.1-rc1 from October.
New features include a new Search API and better options for logging in (CAS and login fallback support) - thanks to Steven for contributing CAS support. We also introduce room tagging and as usual, there are plenty of improvements and fixes. For the full info, see the changelog below.
To upgrade, go read https://github.com/matrix-org/synapse/blob/master/UPGRADE.rst - to install for the first time, go to https://github.com/matrix-org/synapse/blob/master/README.rst.
Changes in synapse v0.11.0 (2015-11-17)
=======================================
- Change CAS login API (PR #349)
πChanges in synapse v0.11.0-rc2 (2015-11-13)
- Various changes to /sync API response format (PR #373)
- Fix regression when setting display name in newly joined room over federation (PR #368)
- Fix problem where /search was slow when using SQLite (PR #366)
πChanges in synapse v0.11.0-rc1 (2015-11-11)
- Add Search API (PR #307, #324, #327, #336, #350, #359)
- Add 'archived' state to v2 /sync API (PR #316)
- Add ability to reject invites (PR #317)
- Add config option to disable password login (PR #322)
- Add the login fallback API (PR #330)
- Add room context API (PR #334)
- Add room tagging support (PR #335)
- Update v2 /sync API to match spec (PR #305, #316, #321, #332, #337, #341)
- Change retry schedule for application services (PR #320)
- Change retry schedule for remote servers (PR #340)
- Fix bug where we hosted static content in the incorrect place (PR #329)
- Fix bug where we didn't increment retry interval for remote servers (PR #343)
πChanges in synapse v0.10.1-rc1 (2015-10-15)
- Add support for CAS, thanks to Steven Hammerton (PR #295, #296)
- Add support for using macaroons for access_token (PR #256, #229)
- Add support for m.room.canonical_alias (PR #287)
- Add support for viewing the history of rooms that they have left. (PR #276, #294)
- Add support for refresh tokens (PR #240)
- Add flag on creation which disables federation of the room (PR #279)
- Add some room state to invites. (PR #275)
- Atomically persist events when joining a room over federation (PR #283)
- Change default history visibility for private rooms (PR #271)
- Allow users to redact their own sent events (PR #262)
- Use tox for tests (PR #247)
- Split up syutil into separate libraries (PR #243)
This weekend, I went to the first Redecentralize Conference. I thought it was a good mix of traditional tech talks and sessions where we discussed how to make people aware of why the net needs to be decentralised. There were a lot of interesting people and we had some really thought-provoking discussions. Sessions in the main room were filmed and can be found here.
I did a talk on Matrix in one of the tutorial rooms, and it was great to see people with lots of questions and comments in the session. If you missed the talk - or have further questions: the FAQ might have the answer, or maybe the Spec itself - and there's always #matrix:matrix.org where you can find me and the whole matrix team.
At the end of day-panel on the first day, the question "are there any projects that are ready for mass adoption" was posed, and Ira picked Matrix as her answer, which was great to hear. We have come a long way in the last year, and I think Matrix now has "enough" features to be a realistic option for your IM/VoIP and group chat needs.
I really enjoyed redecentralize and hope it will be repeated! Thanks to the redecentralize.org gang for arranging it!
Following from the addition of voice and video calling in the previous release, we have added some new features and fixed more bugs - and released v0.5.1 of the Android version of the Matrix Console app.
Please note that installing this update will log you out of the app and require you to sign in again!
This release includes:
- Support for self-signed certificates
- Support for recording and sending video messages
- We have improved the performance when you resume the app
- We fixed a bug where a picture/video would disappear after rotation
- Fixed several reported issues/crashes - for the full list look at the CHANGES files in the console and SDK projects
Get it now from the Google play store!
Enjoy! And please do let us know your feedback in #matrix:matrix.org!