Heads up that we released Synapse 0.8.1 a little while back, but we’ve all been too busy writing software to announce it… you know how it goes. Anyway, here are the changes:
Disable registration by default. New users can be added using the included register_new_matrix_user script or by enabling registration in the config.
Add metrics to synapse. To enable metrics use config options enable_metrics and metrics_port.
Fix bug where banning only kicked the user.
Note that first one in particular: if you set up a new install, you won’t be able to register new users using the API by default. This means random people on the Internet can’t create accounts on your Home Server unless you actually choose to let them. Also, if you were trying to ban users and noticed that didn’t work… yeah, we fixed that.
As of today you can install the basic reference Matrix client on iOS from the App Store. We’ve called the app “Matrix Console” to try to make it clear that it’s very much a developer/poweruser tool for experimenting with Matrix and showcasing the Matrix APIs and an example of how to use the iOS SDK – whilst it can be used as a great replacement to IRC, it’s by no means meant to be a glossy polished app like Hangouts or Slack.
The mobile apps currently act very similarly to the reference web app – providing group chat (text/images/video etc) in decentralised public and private rooms, with room history kept in sync across all your different Matrix-enabled apps. They don’t yet do VoIP, although we’re working on it. Please give the apps a go and file all your bugs and feedback into JIRA or #ios:matrix.org and #android:matrix.org so we can make them even better :)
The iOS app in particular showcases one of the coolest new features in Matrix: the ability for homeservers to support highly configurable push notifications, ensuring you never miss messages on Matrix ever again. The way this works is that when you install the Matrix Console app from iTunes and log in, the app tells your homeserver to send push notifications to a simple push server on Matrix.org running the sygnal codebase (you can also run your own sygnal for your own Matrix apps). You can then configure some excitingly comprehensive push settings in the settings page of the web client (we haven’t exposed the UI to configure these on the mobile apps yet) to configure what events in Matrix should trigger push notifications – and then you will automatically receive the desired pushes even when the app isn’t running.
We think this is incredibly powerful: there are no longer *any* client-side notification settings. Instead, all your notifications are stored server-side – per-room, per-user, per-word and as many other extensible rules as you desire (plus some helpful common special cases). This means that the rules that determine whether you see notifications on the desktop from the webclient are *identical* to the notifications you receive push notifications on your mobile devices. We hope this is a huge improvement over the inflexible notification rules that iMessage, Hangouts etc push onto you (so to speak).
To support the new push rules we’ve just released a new version of the web client – 0.6.5. This implements the new rule configuration UI – see below for example UI.
The full list of changes in matrix-angular-sdk 0.6.5 is as per below. We hope you enjoy the new clients and push settings – thanks for flying Matrix :)
Changes in Matrix Angular SDK 0.6.5 (2015-03-12)
================================================
Features:
- Push notifications can now be set up in the Settings page.
- Text entered into the input box for a room will be preserved across
room swaps.
Bug fixes:
- Fixed a bug where auto-scroll for images did not work correctly.
- Fixed a bug which resulted in a partially populated room when another
device joined a room.
- Fixed a bug which prevented files with the same name being uploaded
sequentially.
- Correctly remove redacted event text from the recent activity list.
- Firefox: Can now join rooms which have a double ## alias.
Improvements:
- Modified Settings page layout.
- Angular SDK now relies on the Javascript SDK for new API features.
- Transparent images will now be shown on a white background.
- GIFs are now marked as such on the thumbnail for the image.
- The web client version is now shown in Settings.
We released Synapse 0.7.1 this morning – This release includes more critical federation stability and performance updates – please upgrade as soon as you can!. You can get the code and installation instructions from http://github.com/matrix-org/synapse as normal.
Other than the federation improvements, the big new feature that lands here is the long-awaited Application Service API. This is a set of simple extensions to the Client-Server API to make it much easier to build powerful gateways and other application logic on top of Matrix. You can think of it being somewhere between IRC Services, IMS application services and XMPP components – but with the simplicity of an IRC bot. The extensions let you register application services as privileged Matrix clients, and create virtual users and virtual rooms in bulk within Matrix (e.g. bridging an entire IRC network into Matrix). The API also lets your application service receive inbound events as HTTP pushes rather than having to poll. The end result is that it’s suddenly become a lot easier to bridge existing communities with Matrix!
Changes in synapse v0.7.1 (2015-02-19)
======================================
* Initial alpha implementation of parts of the Application Services API.
Including:
- AS Registration / Unregistration
- User Query API
- Room Alias Query API
- Push transport for receiving events.
- User/Alias namespace admin control
* Add cache when fetching events from remote servers to stop repeatedly
fetching events with bad signatures.
* Respect the per remote server retry scheme when fetching both events and
server keys to reduce the number of times we send requests to dead servers.
* Inform remote servers when the local server fails to handle a received event.
* Turn off python bytecode generation due to problems experienced when
upgrading from previous versions.
Some updates on the conferences Matrix attended over the last 3 weeks: WebRTC Summit in Santa Clara, TAD Summit in Istanbul, WebRTC World West in San José and fOSSa in Rennes. Great shows, ending in lots of interesting discussions and new excitement in Matrix!
WebRTC Summit (Santa Clara, November 4-6)
Matrix was a sponsor at the Santa Clara WebRTC Summit at CloudExpo, and opened the WebRTC track alongside our friends at Open Peer / Hookflash. Matthew presented Matrix as the missing signalling layer for WebRTC and as a good federated complement to MQTT and COAP for IoT use cases: you can find his presentation here.
Great techie discussions and debates down there, the stand was flooded with interested people and John had a hardtime answering everyone by himself on day 2!
But he still found a few minutes to do a TV interview for SYSCon TV on Tuesday evening! :)
TAD Summit (Istanbul, November 12-13)
Matrix was a partner at TAD Summit in Istanbul this year, a great opportunity to meet a very good mix of developers, industry players and mobile networks! TAD mixes conferences and technical workshops where everyone gets involved to create a vibrant ecosystem for Telecom Application Developers. Again really productive discussions and meetings as we continue our search for partners to help support the uptake of Matrix.
Matthew’s talk was fully recorded so just watch the video to get the real pitch!
WebRTC World (San Jose, November 18-20)
Matrix’s attendance at WebRTC World in San Jose was more rewarding than expected! The team was ready to be part of the expo and give a talk on FOSS WebRTC options… but didn’t hesitate to jump at the opportunity when a demo slot opened up! And that was a worthwhile decision as Matrix ended up winning not one but TWO awards from the demo: The Audience Choice Award as the audience’s favourite demo of the 10 shown on Tuesday, and also the overall Best Social Integration Awardfrom the Jury! So a big congrats to the dev team who were rushing to get the fine details ready in time and to Matthew for getting the audience’s attention! And of course a even bigger thank you to everyone who voted for us, including in the Jury!
Of course this drew lots of interest, and WebRTC Expo ended up the busiest show ever for the team who pitched solidly at the booth for 2 days in a row!
fOSSa (Rennes, November 20)
And eventually, while Matthew and John were celebrating in San José (or flying home, more accurately), Amandine was also evangelising at home in Rennes (France), where fOSSa was gathering experts from the opensource world for 3 days. Matrix was presented within the Serendipity section on the conférence, “Le Carrefour des Possibles”: 6 minutes to pitch an open project that making dreams possible.
So if you speak French or are not afraid to only read from the slides, check out the video the team made of the pitch. The official one should be available soon!
It’s been an incredibly busy few weeks in Matrixland – we’ve had our heads down rushing to get new stuff ready for today’s TechCrunch Disrupt London hackathon.
The big news is that we have our first alpha releases of native Mobile SDKs available today for Matrix for iOS & Android! These are entirely new projects – you can check out the SDKs and demo apps (which implement a basic Matrix chatroom client similar to the webclient demo at:
We still have a lot of polishing and lipstick to apply to these, but it should be a good starting point for folks who’d like to hack on mobile apps for Matrix! We haven’t had a chance to generate appledoc/javadoc for these yet, but we’ll post them on matrix.org shortly.
There’s also been some work going into restructuring our documentation and finalising the spec – all Matrix generic documentation now lives in a new git project at http://github.com/matrix-org/matrix-doc. We’re still working on wrapping all the details of the spec into a single canonical document, but it’s getting there and should be locked down shortly.
Meanwhile, we’re also pleased to announce the new Synapse 0.4 release series of the reference Matrix homeserver. Our focus on Synapse over the last few weeks has been on implementing the remaining pieces of the Matrix security model and getting the server to the point where folks can deploy it properly in production environments.
Synapse 0.4 deliberately breaks backwards compatibility on the server-server federation protocol, as we now cryptographically sign all federation traffic at the HTTP layer (using Authorization headers) in order to have a strong assertion to the identity of the servers which exchange traffic. We can’t really use SSL client/server certificates for this as it’s incompatible with Synapse deployments which are hosted behind generic SSL loadbalancers.
Meanwhile we have two other major development branches on Synapse which will land shortly – one of which cryptographically signs all events, thus preventing tampering with room history, and the other of which performs strict authorization on all traffic received through federation to avoid malicious events being injected and breaking the consistency of the distributed room. These should be landing shortly – at which point the full security model of Matrix will be implemented in Synapse and we can finally remove the “don’t use this in production!” warnings!
API developers: be aware that this release also fixes the confusion over timestamps in the client-server (and server-server) API. Events now have only one well-defined timestamp – event.origin_server_ts; the localtime on the homeserver which first receives a message. This replaces the previous confusing event.ts and event.content.hsob_ts timestamps. This should be a trivial change to implement.
Finally, we’ve also had a detour into robotics to build our new mascot (Sentinel)… pictures forthcoming shortly!
Thanks for supporting Matrix – please let us know how you get on with the new releases at #matrix:matrix.org!
Changes in synapse 0.4.1 (2014-10-17)
=====================================
Webclient:
* Fix bug with display of timestamps.
Changes in synpase 0.4.0 (2014-10-17)
=====================================
This release includes changes to the federation protocol and client-server API
that is not backwards compatible.
The Matrix specification has been moved to a separate git repository:
http://github.com/matrix-org/matrix-doc
You will also need an updated syutil and config. See UPGRADES.rst.
Homeserver:
* Sign federation transactions to assert strong identity over federation.
* Rename timestamp keys in PDUs and events from 'ts' and 'hsob_ts' to 'origin_server_ts'.
We just pushed our first major update since matrix.org launched for Synapse, the reference Matrix homeserver:
Changes in synapse 0.2.2 (2014-09-06)
Webclient:
* Fix desktop notifications
* Add support for captchas on registration
* Handle `m.room.aliases` events.
* Implement local echo when sending message
* Inform the UI when a message failed to send.
* Only autoscroll on receiving a new message if the user was already at the bottom of the screen.
* Add support for ban/kick reasons.
* Add /join support for IRC acolytes
* Make IRC-style commands a little more forgiving
Homeserver:
* Validate `m.room.power_level` events.
* When the server returns state events it now also includes the previous content if any to aid pagination
* Add support for inviting people when creating a new room.
* Make the homeserver inform the room via `m.room.aliases` when a new alias is added for a room.
The matrix.org homeserver & webclient has already been updated to the latest version – if you’re running your own homeserver, please update. v0.2.2 retains backwards compatibility with previous homeserver releases.
Recent Comments