Welcome to the first ever Session release roundup! In these posts, we’re going to talk about all of the newest fixes, features, and future plans for Session. Every time there’s a major Session release, we’ll put out one of these — and an accompanying email newsletter — so you can see what’s changed, and what changes are coming up next. If you want these posts delivered straight to your email inbox, hop down to the bottom of the page and sign up to the Session newsletter!
Today, it’s all about the latest mobile and desktop releases of Session (1.1.0 on mobile, 1.0.7 on desktop) — available now! For this round of releases, we wanted to focus on making Session more dependable, so we’ve packed in UI polish and bug fixes instead of bundling new features. A lot of the work that went into 1.1.0 sets Session up for future updates as well — these releases will help us troubleshoot problems with closed groups, open groups, and multi-device.
On-board for delivery: Changes in the latest Session updates
There have been some widespread problems with message delivery. These changes should help make sure your messages reach their destinations and don’t get lost on the way.
- Session now correctly retries with a different Service Node if a message fails to send. iOS
- Heavily refactored Service Node communication layer to improve reliability. iOS, Android
- Various fixes and improvements to client-Service Node communication. Linux, macOS, Windows
We noticed that Session felt a little bit slooooooow. We’ve made some tweaks to improve Session’s performance.
- Made various multithreading improvements. iOS, Android
Every now and then, Session does some odd stuff. Sometimes it’s plain old crashes, sometimes it’s stranger things. This change should fix a lot of those problems.
- Changed some things which were incorrectly happening in parallel. This was causing race conditions which could cause invalid states in the app. iOS, Android
Chatting is more fun when you’re doing it with more than one. Closed groups are a core part of Session, but they needed some TLC to get them working properly.
- Closed group descriptions now show a snapshot of the group’s state per message instead of updating dynamically iOS, Android
- Closed group messaging is disabled when user is removed iOS, Android
- Ignore messages from users that aren’t in the closed group iOS, Android
- Correct message is now shown when user is removed from a closed group iOS, Android
- All closed group members now notified when a user is removed iOS, Android
- Fixed unnecessary database checks for open groups to reduce CPU usage Linux, macOS, Windows
Session’s privacy-preserving notifications turned out to be so private they didn’t even tell you when you received messages — we’ve implemented a whole new notification system to make notifications more reliable on mobile.
- Session now offers you the choice between Apple Push Notification service (iOS)/Firebase Cloud Messaging (Android) and background polling (old system) for push notifications. APNs/FCM provide more immediate and reliable push notifications. iOS, Android
Note: using Apple Push Notification service or Firebase Cloud Messaging notifications exposes your device IP to Apple or Google respectively. Of course, your messages are still encrypted and onion routed — so Apple and Google still can’t see your message contents, who you’re talking to, or when you’re sending and receiving messages.
Speaking of being notified — it should be obvious when someone @s you.
- Added @mentions in side panel of desktop client Linux, macOS, Windows
Auto-update isn’t all that useful when it doesn’t happen automatically. We’ve made some fixes so that this is (hopefully) the last version of Session Desktop that you’ll have to download manually.
- Desktop clients now auto-update successfully Linux, macOS, Windows
Here’s a riddle: how do you moderate a chat when you can’t select or delete messages? Well, you can’t… so we fixed that.
- Message selection and deletion now work properly Linux, macOS, Windows
Sent a rant about work to your boss by mistake? Accidentally sent a confession of love to your crush? We’ve got your back — just click ‘unsend’.
- Message delete button now shows ‘unsend’ for messages that can be deleted from their servers. Linux, macOS, Windows
Did someone ask for more onions? That’s right, 1-hop onion requests are now available on Session desktop. This should also make message delivery more reliable.
- Enabled 1-hop onion requests Linux, macOS, Windows
In the workshop: Changes planned for upcoming Session updates
The work that went into refactoring the Service Node communication layer is going to be super important over the next few weeks — now we’ll be able to enable onion requests and more reliably fix issues with closed groups, open groups, and multi-device.
We’ll be working on implementing three-hop routing — the reason we built the onion request system — some time over the next few weeks.
We’re also working on implementing shared sender keys, which means we’ll be able to increase closed group size! We don’t have a specific number to share with you just yet — but the number of members allowed in a closed group will increase substantially.
¿Hablas español? That’s right, we’ve been hard at work on localising Session into some of the most-requested languages, and our Spanish localisation is almost ready! We’re putting the finishing touches on the Spanish translation, so keep an eye on our social channels for the latest updates.
We’ve been busy bees lately, and there’s still plenty of work left for us to do. For now, thank you to all our community members who have helped us find all the bugs and bumpy parts of Session. We don’t use the normal privacy-invading analytics tools that other developers rely on to improve their software — so your help means the world to us.