We just pushed a bugfix update to Synapse 0.5, mainly to fix a memory leak where federated events could get leaked whilst retrying to send them to a remote server which is unavailable. Please upgrade, especially if you’ve noticed synapse hogging RAM!
Changes in synapse 0.5.4 (2014-12-03)
=====================================
* Fix presence bug where some rooms did not display presence updates for
remote users.
* Do not log SQL timing log lines when started with "-v"
* Fix potential memory leak.
Crazy session tonight at 5pm UK time (12 Noon Eastern Time; 9AM Pacific) on VUC as Matrix, Truphone and Jitsi were crazy enough to hack a federated demo in 48h!
Join us live for the demo from the inside by using Matrix to attend the conference (see steps below)! No browser supporting WebRTC at hand but still willing to play with Matrix? You can also follow the chatroom (bridged to IRC) by entering #vuc:matrix.org.
Register on Matrix from Chrome if not already done :)
Start a chat with @vucbot:matrix.org by entering the ID in the appropriate textfield at the bottom of the public rooms list on http://matrix.org/beta and click on “Message User”
In the chat room start a voice call by clicking on the mic icon in the top right corner. Don’t forget to allow your browser to access your mic and speakerphones!
We’re really excited to release the biggest update yet to Synapse (the python/twisted reference Matrix homeserver implementation) – version 0.5.0 is out!
This effectively concludes our alpha testing phase – Synapse’s security model is now feature complete and we are now cautiously encouraging people to run their own Synapse installation on the ‘net; federate up; and help us squash all and any bugs as we get beta testing.
Synapse 0.5.0 has huge database schema changes from previous versions as we have landed both the event-signing and federation-authorisation branches and so added full cryptographic signing of all matrix events and unified the client-server and server-server model of events/PDUs. As a result, migrating history is Hard – we recommend a clean start if possible; if not, come talk to us in #matrix:matrix.org. UPGRADE.rst has the details.
The full changelog is as per below – please upgrade your homeserver or install a new one if you’re new here and join Matrix and help us create a robust open distributed messaging fabric for the web!
Changes in synapse 0.5.0 (2014-11-19)
=====================================
This release includes changes to the federation protocol and client-server API
that is not backwards compatible.
This release also changes the internal database schemas and so requires servers to
drop their current history. See UPGRADES.rst for details.
Homeserver:
* Add authentication and authorization to the federation protocol. Events are
now signed by their originating homeservers.
* Implement the new authorization model for rooms.
* Split out web client into a seperate repository: matrix-angular-sdk.
* Change the structure of PDUs.
* Fix bug where user could not join rooms via an alias containing 4-byte
UTF-8 characters.
* Merge concept of PDUs and Events internally.
* Improve logging by adding request ids to log lines.
* Implement a very basic room initial sync API.
* Implement the new invite/join federation APIs.
Webclient:
* The webclient has been moved to a seperate repository.
Matrix has been showing off in various places these last months. But whilst drowning in the launch we haven’t managed to keep the blog updated with what’s been going on! We are now much more back on track and able to catch up at last, as well as start on new ground for upcoming events!
So you’ll find here a summary of the 4 events Matrix attended in September and October as well as all the presentations we gave!
Disrupt San Francisco (September 6-10)
Disrupt SF was the launchpad of Matrix! We participated in the Hackathon as both a sponsor and a competitor (see our live update!), and exhibited at the conference as a Product Sponsor.
Three teams announced that they were using Matrix to build their hack but eventually only Go Social presented their project: a social network for travelers with a very nice UI! Go Social used Matrix APIs to add chat to their platform. The video of Go Social’s presentation is here.
Matrix team worked on Animatrix: a chat app allowing you to build your own 3D animated cartoon and share it with any other friend using Matrix-compliant app using Unify. We had to hack together a basic Matrix Android client in order to do the demo …. You can see our project’s presentation here!
The three days conference was great in terms of reaching out to devs and getting good feedback on Matrix! We love seeing people’s eyes lighting up and people saying “Eventually someone is doing it!” when we explain what Matrix is about :) So thank you all for your support!
Disrupt Europe (London, UK – October 18-21)
After getting public in SF, Disrupt London was the next steps to release a more stable version of Matrix and encourage even more people to build on Matrix. Again we sponsored both the Hackathon and the Conference and we brought with us a very cool PhantomX robot from Trossen Robotics which was also the price we gave away during the hackathon.
Two teams pitched a Matrix project at the Hackathon this time:
Hujambo is a very cool chat app allowing you to chat in your native language to someone who is going to read you in their own native language.
Movidiam did a very ambitious hack, modelling the trends of conversation in the Matrix ecosystem and displaying them a force-directed graph visualisation using D3.
Matrix team worked on a MIDI to Matrix bridge allowing to share and display music you play in a chatroom and jam together even if in different places. Here is the demo video:
Another great time to meet a lot of interesting people and build partnerships!
WebRTC Summit Europe and Rich Communication Conference (Berlin – October 27-29)
Matrix was a Silver sponsor at WebRTC Summit and the Rich Communication events and it was a great opportunity to show the multiple ways that Matrix can be considered.
The first day was the WebRTC Summit where the focus was on the challenges and next steps of the standard. Matthew presented Matrix explained how it can be used as the missing signaling layer to WebRTC raising lots of questions and interest. You can see the presentation here.
The two next days were focusing more on Rich Communication Services (RCS) and again Matrix didn’t go unnoticed, and not only because of the lightspeed presentation from Matthew waking everyone up on Wednesday morning! This time Matthew addressed Telcos and RCS vendors with the compelling proposition of using Matrix as the bridge between RCS/IMS/PSTN and the world of over-the-top applications. The presentation is downloadable here.
Again some great feedback and lots of animated discussions over the future of the IP communication world!
WebRTC Summit (Santa Clara – November 4-5)
Beginning of November Matrix was back on the West Coast to sponsor the WebRTC Summit, collocated with the CloudExpo. Matthew opened the WebRTC track with another presentation again raising a lot of interest and question, and greatly supported by Hookflash in their following session. The presentation is available here.
And the tour continues: this week Matrix sponsored the TADSummit in Istanbul and next week we will be in San José at the WebRTC World Conference & Expo: meet us there and watch out for the upcoming TADSummit news!
As part of our semi-regular series of having Matrix core team members write about how they see the overall project, here’s Oddvar Lovaas’ view. Oddvar helps out with project management and promoting Matrix.
According to the homepage, Matrix is “a new open standard for interoperable Instant Messaging and VoIP, providing pragmatic HTTP APIs and open source reference implementations for creating and running your own real-time communication infrastructure. ”
That’s all good – but you might be asking yourself “sure, but what can it do?” And more importantly, “what can it do for me?”
The original inspiration for Matrix was to fix the problem of fragmented IP communications, by creating a standard for creating and running your own real-time communication infrastructure. This means that if you want your app or program or website to be able to communicate user to user for example, you can use Matrix. Matrix is the protocol through which your communication packets are sent and received, and we provide HTTP APIs to make it easy to make use of this protocol in your code.
The nice thing here is that the user can to talk to any other user anywhere in the Matrix ecosystem, much like email or the web. For example, let’s imagine I have an app whose goal is to keep the user updated on anything happening in the football world. Whenever any news drops in, the app is notified and thousands of users check the app for the news. This app could have a communication element where the users can talk in rooms (maybe a #general room and rooms for each football club) – or even between themselves or in groups of friends. Today, a lot of people would use an IM-client to do this, but with Matrix it wouldn’t matter if you use a dedicated IM-app or talk inside the football app – since you are using the same Matrix account, you will get the same conversations in both clients!
In fact, imagine that later on you are chatting with some (non-football) friends on your Matrix-supporting chat-application. You can then easily check the previous conversation to see if anyone’s appreciated the great joke you made earlier – without having to go back into the football app.
But Matrix’s real potential and ultimate mission is to be a generic messaging and data synchronisation system for the web – allowing people, services and devices to easily communicate with each other with full history. It’s easier to visualise the chat-application because we are used to chat-messages going back and to, but there’s nothing stopping you from putting other data instead of chat-messages. For example, you could use the Matrix protocol to exchange moves – encrypted and secured, of course – in your Chess-game. In fact, your Chess-game could use Matrix both for chatting and exchanging payloads of data.
Imagine if you open up your favourite chat-application, and your contacts there include other users of the same app and also other Matrix-users (so the app has exposed itself to Matrix). Your friend, however, much prefers a different app, but he can still talk to you over the Matrix protocol. And if he ever moves to the other app (or any other Matrix-supporting app) – he would still have all the backlog and history of the conversation!
Obviously the problem here is that we can’t instantly make the various chat-applications support Matrix. We believe if we can encourage and grow a truly open communication ecosystem, users will get used to the availability and benefits of interoperable services and they will demand it everywhere.
There’s been loads of work going on in various branches on Synapse (federation_authorization and event_signing) as we land the final features needed for Synapse to be used in production as a Matrix reference server. Meanwhile the iOS demo client and SDK has been coming on leaps and bounds too over at https://github.com/matrix-org/matrix-ios-sdk.
However, stuff has also been happening on the main Synapse development branch too, and we’ve just released 0.4.2 onto master for lots of various goodies – see release notes below.
Please upgrade your homeservers and play with the new client – the new JSON viewing/editing features are particularly useful and interesting for powerusers and developers!
Matthew
Changes in synapse 0.4.2 (2014-10-31)
=====================================
Homeserver:
* Fix bugs where we did not notify users of correct presence updates.
* Fix bug where we did not handle sub second event stream timeouts.
Webclient:
* Add ability to click on messages to see JSON.
* Add ability to redact messages.
* Add ability to view and edit all room state JSON.
* Handle incoming redactions.
* Improve feedback on errors.
* Fix bugs in mobile CSS.
* Fix bugs with desktop notifications.
Recent Comments