March 2026
34 versions to production, 131 development entries — deterministic identity, random master key, first calls
Mar 1
v3.15.057
PROD
Unified the three separate chat notification zones (connection, identity, system messages) into a single strip
Mar 1
v3.15.061
PROD
Hardened the application's HTTP header security
Mar 1
v3.15.062
PROD
Optimized code so the application loads faster
v3.16a dedicated privacy and security hardening milestone
Mar 1
v3.16.000
DEV
User identifiers no longer appear in plaintext in error logs, only a hash
Mar 1
v3.16.000
DEV
Relay server credentials no longer include your real identifier
Mar 1
v3.16.000
DEV
Removed a database column that was never used and stored IP addresses
Mar 1
v3.16.000
DEV
Deleting an account now also cleans up its traces in the rest of the internal tables
Mar 1
v3.15.065
DEV
Signed locations shared in chat no longer disappear when the page reloads
Mar 2
v3.16.024
DEV
Files shared during sync between your devices now transfer more efficiently
Mar 2
v3.16.024
DEV
Explanatory notice the first time you enable self-destructing messages
Mar 2
v3.16.024
DEV
Unified how new messages and messages loaded from history are displayed
Mar 2
v3.16.024
DEV
Fixed a visual bug: raw translation keys briefly appearing in the header when loading was slow
Mar 2
—
DEV
Fixed the translation cache not detecting text changes when the number of keys stayed the same
Mar 2
—
DEV
Optimized binary message sending (30% less overhead) without breaking backward compatibility
Mar 3
v3.16.037
PROD
Payments are no longer linked to your user account in the internal system
Mar 3
v3.16.037
PROD
Removed the email field from accounts (it was no longer being stored)
Mar 3
v3.16.037
PROD
The connection (STUN) server is now self-hosted instead of relying on Google
Mar 3
v3.16.037
PROD
Your saved contacts are now encrypted at rest as well, not just in transit
Mar 3
v3.16.037
PROD
Sessions are no longer kept open by default between visits, unless you choose to
Mar 3
v3.16.037
PROD
The message delivery log is also encrypted at rest
Mar 3
v3.16.039
DEV
Tightened internal access to a session token (smaller attack surface)
Mar 3
—
DEV
Fixed a security bug: sensitive session data could remain stored locally longer than it should during a payment
Mar 4
v3.16.051
DEV
Fixed a regression that made connecting with another person take much longer than normal (from under 4 seconds to up to a minute)
Mar 4
v3.16.054–058
DEV
Fixed a bug that showed already-read messages as if they were new
Mar 6
v3.16.083
DEV
Fixed a backup that included unnecessary temporary data, inflating its size
Mar 6
v3.16.080
DEV
Fixed a reconnection bug when importing your identity on a new device (it couldn't find your contacts)
Mar 6
v3.16.078
DEV
The full backup now also includes your cryptographic identity, not just your messages
Mar 6
—
DEV
Fixed the server clock calculation, used to synchronize messages
Mar 6
—
DEV
Complete redesign of the backup system: strengthened encryption (1 million iterations), chunked export and import to avoid overloading memory, progress bar, and contact conflict resolution
v3.17a complete backup system redesign, incompatible with older backups
Mar 7
v3.17.018
DEV
Simplified the sidebar menu (from three rows to two, less-used options moved to a dropdown menu)
Mar 7
v3.17.019–020
DEV
The theme selector is now a custom dropdown instead of the browser's native selector
Mar 7
v3.17.021
PROD
Fixed a bug that caused the language menu to open and close on its own
Mar 7
v3.17.022–023
DEV
Fixed emojis appearing where they shouldn't in the theme selector
Mar 7
v3.17.022–023
DEV
Fixed four separate causes of a bug in the language menu
Mar 7
v3.17.017
DEV
Redesigned the dialog for creating a new tunnel, with the connection code more visible
Mar 7
v3.17.017
DEV
Investigated and fixed a regression that made connecting take 30-35 seconds instead of being instant
v3.18a same-day version-numbering false start, reverted
Mar 8
v3.18.001
DEV
Fixed a bug where reconnecting after switching devices could create a duplicate contact instead of updating the existing one
Mar 8
v3.17.040
DEV
Added an in-app explanation of why reconnecting with a restored identity doesn't merge existing tunnels
Mar 8
v3.17.036
DEV
The vault modal now shows the date of the last backup performed
Mar 8
—
DEV
Fixed a serious bug: the database deletion scripts had never actually deleted anything, in either development or production, since they were created
Mar 8
v3.17.037
DEV
Improved the error message when trying to share location from a desktop computer without GPS
Mar 8
v3.17.038–039
DEV
Added the option to disable backup reminders
Mar 8
v3.17.034
DEV
Periodic backup reminder system (daily/weekly/monthly, snooze 24h)
Mar 8
v3.17.033
DEV
Fixed some message fields (expiration date, delivery, read status) being lost when making a backup
Mar 9
v3.17.047
DEV
Relocated the three-dot menu in the chat header so it no longer runs off screen
Mar 9
v3.17.043
DEV
Fixed the "no tunnels" message overlapping with pending requests
Mar 9
v3.17.044
DEV
Fixed a bug preventing the profile photo from being saved
Mar 9
v3.17.045
DEV
Fixed profile photo changes not reaching your contacts
Mar 9
v3.17.046
DEV
Fixed accepting or rejecting an identity reconnection being silently lost
Mar 9
v3.17.042
DEV
New welcome messages when you don't have any tunnels yet, with a button to copy your invitation link
Mar 9
v3.17.042
DEV
Detection of duplicate cryptographic identity between two contacts, with an explanatory notice
Mar 9
v3.17.041
DEV
Three-dot menu to copy or delete a conversation's history
Mar 9
v3.17.041
DEV
Option to pause a tunnel without needing to delete it
Mar 9
v3.17.041
DEV
Tool to copy the full history of a conversation to another contact
Mar 10
v3.17.066
DEV
Your identity is now stored per account on the same device, preventing mix-ups between different users
Mar 10
v3.17.066
DEV
Reconnecting with your own restored identity no longer destroys or recreates the existing tunnel
Mar 10
v3.17.063
DEV
Fixed some files being left orphaned after switching devices, and a memory leak during long conversations
Mar 10
v3.17.056
DEV
Fixed a contact's connection indicator flickering between yellow and red for several minutes after they disconnected
Mar 10
v3.17.056
DEV
The duplicate identity notice now shows the contact's real name instead of a code
Mar 10
v3.17.054
DEV
Fixed four coordination bugs when connecting that sometimes prevented the tunnel from being established on the first attempt
Mar 10
—
DEV
Connection retries now wait progressively longer between attempts instead of repeating nonstop
Mar 10
—
DEV
You no longer get notifications when contacts you've never added disconnect
Mar 10
—
DEV
Persistent notice when two contacts share the same cryptographic identity
Mar 11
v3.17.085
DEV
Encrypted connection signals so the server can't see them, hardening resistance against man-in-the-middle attacks
Mar 11
v3.17.085
DEV
Backups now use stronger key encryption
Mar 11
v3.17.085
DEV
Messages and active connection signals are now padded to a fixed size to make traffic analysis harder
Mar 11
v3.17.085
DEV
Removed IP addresses from server logs
Mar 11
—
DEV
Added the option to "delete for everyone" an already-sent message, with a 60-second window
Mar 11
v3.17.081
PROD
Optimized batch vault decryption — messages and contacts load much faster
Mar 11
v3.17.082
PROD
Fixed the homepage not loading correctly on Windows
Mar 11
—
DEV
Translation audit: fixed 269 strings that were appearing in English across 26 languages
Mar 11
v3.17.078–079
DEV
Fixed the three-dot menu (it was displaying horizontally instead of vertically) and improved its wording
Mar 11
v3.17.075–076
DEV
Fixed the balance top-up button when payments are unavailable
Mar 11
v3.17.068
DEV
Fixed creating a new tunnel sometimes taking minutes to connect after accepting a request
Mar 11
v3.17.071
PROD
Fixed a message from the previous conversation reappearing when a tunnel was deleted and recreated
Mar 11
v3.17.069
PROD
Fixed the conversation list sometimes becoming invisible after accepting a connection request
Mar 12
v3.17.086
DEV
Hardened connection signal security against a server attempting to impersonate them
Mar 12
v3.17.086
DEV
A "delete for everyone" request is no longer accepted if too much time has passed since the message was sent
Mar 12
v3.17.090
DEV
Fixed a bug in connection signal encryption that could leave them unencrypted in certain cases
Mar 12
v3.17.092
PROD
Fixed a missing query when verifying a contact's security fingerprint
Mar 12
v3.17.093
PROD
Fixed a memory leak in several modules on logout, and a minor security bug when displaying a contact's name
Mar 12
—
DEV
Added the option to change your password from settings, re-encrypting your vault with the new one
Mar 12
—
DEV
Added the option to delete your account from the application settings
Mar 12
—
DEV
Implemented "forward secrecy" encryption (Double Ratchet): each message uses a different key
Mar 13
v3.17.107
PROD
Fixed an internal limit that truncated translations to 1024 strings, leaving hundreds untranslated
Mar 13
—
DEV
Thirteen mobile usability improvements: better fit on notched iPhones, less accidental zoom while typing, the Android back button no longer closes the app, the virtual keyboard no longer covers the conversation
Mar 13
v3.17.102–103
PROD
Complete redesign of the login screen, matching the visual identity of the public page
Mar 13
—
DEV
Self-destructing messages are now configured from the three-dot menu, and are stored in your vault until they expire
Mar 14
—
DEV
iOS adjustments: notice to use the app in portrait mode, larger voice buttons, fixed a notification sound that played repeatedly
Mar 14
—
DEV
Permanent messages (that don't expire) are now marked with a subtle gold border
Mar 14
—
DEV
Added eight "special touches" with sound and animation, and visual theme sync between two connected people
Mar 14
—
DEV
Added emoji reactions to messages and animated emojis in chat
Mar 14
—
DEV
Added four full-screen effects (confetti, hearts, stars, fireworks)
Mar 14
—
DEV
Fixed a bug where a contact's name appeared as "..." on mobile, caused by data stored incorrectly in a previous session
Mar 14
v3.17.115
PROD
Permanent messages with gold border and the mobile adjustments reach production
MAJOR → v4.0 / v5.0
Two identity-model generations shipped the same day. v4.0 (production, below) was the culmination of days of dev work: identity derived from your password instead of stored on the device, so corrupted local data can no longer lock you out. Hours earlier in dev, v5.0 had already moved a step further — the key protecting your vault becomes fully random and independent of your password, like a Bitcoin wallet seed.
Mar 15
v5.0.001
DEV
Architecture change: the master key protecting your vault is now random and independent of your password, like in Bitcoin
Mar 15
v4.0
PROD
New identity model: it's derived from your password instead of being stored on the device, preventing lockout from corrupted data
Mar 15
v4.0.008–010
PROD
Added an invisible additional layer tied to the device, a 24-word recovery phrase, and the ability to rotate your password without losing history
Mar 15
—
DEV
Added the option to generate a QR code of your 24-word recovery phrase, with its own security warning
Mar 15
v4.0.014
PROD
Cryptographic identity no longer depends on the website's domain, so it keeps working even if that changes
Mar 15
v4.0.026
PROD
Fixed an encryption warning that appeared in red when it just needed a moment for the connection to finish establishing
Mar 15
v4.0.026
PROD
Added a discreet "early access by invitation" notice on the login screen
Mar 16
v5.0.019
PROD
Added a button to view your 24-word recovery phrase directly from the vault
Mar 16
v5.0.019
PROD
Fixed offline access with the 24 words (it wasn't working)
Mar 16
—
DEV
Added a toggle to manually disconnect from the server without closing your active conversations
Mar 16
—
DEV
Simplified the chat header, removing redundant indicators
Mar 16
v5.0.032–034
PROD
Simplified the conversation sidebar, removing contact presence indicators out of respect for their privacy
Mar 16
—
DEV
Removed an old identity mode that was no longer needed
Mar 16
v5.0.038
PROD
Added a rotating tip about the 24-word recovery phrase
Mar 16
—
DEV
The browser can now offer to save your password, and the install prompt can be snoozed for 30 days
Mar 16
v5.0.040
DEV
First version of voice calls over the direct connection with your contact
Mar 16
—
DEV
You can now name each of your devices, visible only if you enable it
Mar 16
—
DEV
Fixed the menu sometimes not opening after logging out and back in
Mar 16
—
DEV
Added a unique verification code per device, alongside the contact's name
Mar 17
—
DEV
Improved the presentation of the device identifier, with an explanation on hover
Mar 17
v5.0.049
PROD
Increased the file size limit to 5 GB, transferring them in chunks
Mar 17
v5.0.050
PROD
Added video calling, with the option to switch from voice to video on the fly
Mar 18
—
DEV
Optimized large file transfers: up to 10 GB using disk instead of memory
Mar 18
—
DEV
Automatic resumption of interrupted file transfers
Mar 18
—
DEV
36 languages now available in the application (up from 30), including Arabic, Persian, Japanese, Korean, Simplified Chinese, and Hindi
Mar 18
—
DEV
Fixed several simultaneous-connection cases that sometimes prevented the tunnel from being established on the first attempt
Mar 19
—
DEV
Integrity verification of transferred files via cryptographic fingerprint, automatically compared between both devices
Mar 19
—
DEV
Fixed file transfer resumption after an interruption — now works end to end
Mar 20
—
DEV
Migrated real-time communication from periodic polling to WebSocket, reducing server requests by approximately 80%
Mar 20
—
DEV
Fixed a bug that caused some connection signals to be silently dropped
Mar 20
—
DEV
Improved the message shown when a connection fails, explaining the likely cause
Mar 20
—
DEV
Message context menu with monochrome icons, now also available on file messages
Mar 20
—
DEV
Integrity verification now calculated during the transfer instead of at the end — from 15 seconds down to milliseconds
Mar 20
—
DEV
The file is now saved securely on the device before it starts being sent
Mar 21
—
DEV
Built-in PDF viewer in the application, processed entirely on your own device
Mar 21
—
DEV
Voice message transcription to text, 100% local, with no connection to any external server, in 99 languages
Mar 21
—
DEV
Forgotten password recovery using your 24 words, which never leave your device
Mar 21
—
DEV
Secure password generator with one click
Mar 21
—
DEV
Fixed a rare bug that could leave the vault with incorrect data after an internal error; added checks to detect it before it happens
Mar 21
—
DEV
Messages that can't be verified correctly are now shown with a clear warning instead of failing silently
Mar 22
—
DEV
Added a high-contrast theme for accessibility, compatible with screen readers
Mar 22
—
DEV
Fixed several bugs with simultaneous connection when two people connect at the same time
v5.1switched signal delivery from periodic polling to real-time connections
Mar 22
v5.1.037
PROD
Fixed your name and profile photo not always reaching the other contact when connecting
Mar 22
v5.1.040
DEV
Fixed the device name disappearing from the chat header in certain cases
Mar 22
v5.1.057
PROD
Fixed a bug that in some cases prevented connection signals from being encrypted correctly
Mar 22
—
DEV
Fixed an unnecessary traffic loop when you only have one device connected
Mar 22
—
DEV
On iPhone, Safari can now offer to save your password
Mar 22
—
DEV
Added a help notice when identity fails to load correctly, with clear options to resolve it
Mar 23
—
DEV
Simplified the process of connecting with someone to a single button, with QR code and direct link
Mar 23
—
DEV
Removed built-in invitations with gifted balance, simplifying to a direct connection code
Mar 24
—
DEV
Added a button to install the application as a native app from the menu, on mobile
Mar 24
v5.1.085
PROD
Improved resilience to temporary server outages: smarter retries and clear warnings instead of silent failures
Mar 25
—
DEV
Fixed a bug that sometimes prevented push notifications from arriving correctly on iPhone with the app closed
Mar 25
—
DEV
The "🔔" touch now appears as a real message within the conversation, with a timestamp, and is saved in your vault
Mar 25
—
DEV
When connecting with someone, recent messages missing on one side are now automatically synced between the two
Mar 25
—
DEV
Fixed some older touches not being recognized correctly on reload
Mar 25
—
DEV
Changed the verification question at sign-up to make automated registrations harder
Mar 26
—
DEV
Added the option to stay logged in without re-entering your password, which can be disabled with the maximum-security toggle
Mar 26
—
DEV
The QR code scanner for connecting now works more reliably across different devices and distances
Mar 26
—
DEV
Added a toggle to pause and reactivate your account, giving you control over when you're charged
v5.2rebuilt the connection system to scale from hundreds to millions of simultaneous users
Mar 26
v5.2.000
DEV
Rewrote the server's real-time communication layer to scale to millions of simultaneous connections
Mar 26
—
DEV
Push notification delivery now reaches up to 3 devices per person
Mar 26
—
DEV
Added two buttons to directly share your code or scan someone else's
Mar 27
—
DEV
Decided to open public registration without requiring an invitation, with a limit of one trial account per network connection per day
Mar 28
—
DEV
Fixed push notifications on Android, which sometimes didn't arrive
Mar 28
—
PROD
Added a daily billing system with a trial period and automatic suspension if there's no balance
Mar 29
—
DEV
Restructured the application to live at its own address (solo2.net/app), separate from the public page
Mar 29
—
DEV
Two trial accounts (not production accounts) lost access to their local vault due to a browser configuration change during that same restructuring — cause identified and fixed the same day, with the protection applied immediately in production before it could affect any real user
Mar 30
—
DEV
Simplified the QR connection flow: the request is sent automatically upon scanning, with a confirmation sound
Mar 30
—
DEV
Added the option to load a QR code from a saved image, or drag it directly