← Changelog

July 2026

40 versions to production, 136 development entries — the month every language converged on one consistent, informal tone, cross-chat message search shipped, multi-device sync reliability was overhauled, and real server capacity limits were found and fixed, plus a security fix for the device-recovery flow, better resilience against real network interruptions, and a broad translation-quality audit and cleanup across all 42 languages

Jul 1 v6.0.390 PROD Confirmed in production: paused accounts don't sync automatically across devices until reactivated
Jul 1 v6.0.390 PROD Connection errors between devices are now reported correctly instead of failing silently
Jul 1 v6.0.391 DEV Pasting a full invite link into the code field now correctly extracts the code
Jul 1 DEV Fixed a message counter that never decremented when a message was deleted
Jul 2 v6.0.401 PROD Fixed an intermittent timing bug that sometimes delayed connection establishment
Jul 2 v6.0.401 PROD Fixed a race condition when logging in from a second device, confirmed stable across 50 concurrent attempts
Jul 2 v6.0.403 PROD Hardened reconnection on unstable networks
Jul 2 DEV Fixed unnecessary server requests during offline sessions
Jul 2 DEV Fixed a bug that left a file marked as "corrupted" even after it was successfully resent
Jul 2 DEV Performance improvement when loading message history
Jul 2 v6.0.404 DEV Fixed a retention bug: logs for an already-accepted connection stopped being stored indefinitely
Jul 3 v6.0.404→408 DEV Built a new low-metadata way to pair two devices — scan a QR code or open a link — plus a spam-limit on pairing attempts and a fix for pairing data lingering longer than necessary
Jul 3 v6.0.411 DEV Fixed a silent-failure bug in the new pairing flow where accepting a request could fail with no feedback
Jul 3 v6.0.414 DEV Fixed a second silent-failure bug in the same pairing flow, this time triggered by a local storage error
Jul 3 v6.0.416→419 DEV Built the ability to restore your account on a new device using only your 24-word recovery phrase, without needing to remember your username, plus 3 bug fixes to make it reliable
Jul 3 v6.0.420 DEV Fixed a bug where closing the app during a pending pairing request could lose it — the invite now survives a reload or restart
Jul 3 DEV Added missing translations, a tooltip, and a link to the privacy explanation for the connection-mode selector in settings
Jul 3 v6.0.404→421 PROD The new low-metadata device-pairing flow (scan a QR code or open a link, with nothing revealing who's pairing with whom) reaches production
Jul 3 v6.0.404→421 PROD The ability to restore your account on a new device using only your 24-word recovery phrase reaches production
Jul 4 v6.0.422 DEV Added automatic detection and removal of hidden metadata (GPS location, device model, capture date) from photos before sending
Jul 4 v6.0.423 DEV Added a badge showing when a photo still carries hidden metadata, with a way to see details and remove it
Jul 4 v6.0.424→428 DEV Fixed the metadata badge not always appearing after sending, and added a per-contact preference for automatic stripping
Jul 4 v6.0.422→429 PROD Automatic photo-metadata removal, with its badge and per-contact preference, reaches production
Jul 4 v6.0.429 PROD Fixed a bug where newly published translations could take up to an hour to appear, even after a hard reload
Jul 5 v6.0.431→435 DEV Field-tested the new large-file self-repair system for the first time and fixed 2 bugs found along the way: a repaired segment that wasn't correctly re-verified, and a stuck state if the connection dropped mid-repair
Jul 5 v6.0.430→436 PROD Automatic repair for large file transfers reaches production: a corrupted segment is now re-sent and re-verified on its own instead of restarting the whole transfer
Jul 5 v6.0.436 PROD Fixed a bug where deleting a forwarded file could leave a phantom copy of the message behind and block forwarding it again
Jul 5 v6.0.437→441 DEV Found and fixed several cases where switching accounts in the same browser tab could leave the previous account's chat connection or state running under the new one
Jul 5 v6.0.437→442 PROD The account-switching fixes reach production
Jul 6 v6.0.443 DEV Extended automatic large-file repair to cover more failure cases, and fixed 3 issues where restoring an account from a backup file could lose a photo's privacy-metadata status or duplicate forwarded messages
Jul 6 v6.0.446 DEV Fixed a security issue where a contact's changed identity key could be automatically trusted with no verification prompt
Jul 6 v6.0.446 DEV Fixed a bug where the identity-verification (safety number) screen showed random values instead of the real code, making verification meaningless
Jul 7 v6.0.447→449 DEV Fixed 3 bugs in the large-file self-repair system: a leftover marker after a stalled transfer, a retry queue for reconnect timing, and a flag that didn't clear after a successful repair
Jul 7 v6.0.452 DEV Fixed the self-repair system only checking for problems when reconnecting to a contact — it now also checks periodically on its own
Jul 7 v6.0.453 DEV Fixed a bug where the receiving side had no way to accept a repair request sent after a transfer was already marked complete — a gap that existed since the feature was introduced
Jul 8 v6.0.454 DEV Fixed a bug where an unrelated file could incorrectly mark another file's repair as no longer needed
Jul 8 v6.0.456 DEV Fixed a gap in confirming that a repaired file segment was actually received correctly
Jul 9 v6.0.459 DEV Extended the large-file self-repair system so its progress survives a page reload or app restart
Jul 9 v6.0.462 DEV Fixed a bug where reloading the app could accidentally delete an in-progress repair's saved state
Jul 9 v6.0.467→468 DEV Fixed 2 more self-repair edge cases: reconnecting to a contact now correctly re-asks for any segment that's still missing, and repair requests replay correctly after your own devices reconnect to each other
Jul 9 v6.0.469→470 DEV Consolidated the internal system that retries sending messages and files to an offline contact, replacing two older, separate mechanisms with one
Jul 10 v6.0.471 DEV Fixed a rare login bug that could show every message as unverified due to a key-derivation mismatch, and a related account-recovery bug that could have erased other accounts' data on a shared device
Jul 10 v6.0.472→474 DEV Fixed the offline-resend system not actually resending in some cases, plus a rare bug where reloading the app right after sending a message could make it briefly disappear
Jul 10 v6.0.475→478 DEV Fixed a regression where attaching a file via the "+" menu could silently do nothing
Jul 10 v6.0.443→479 PROD A large batch of reliability and security work reaches production: the peer-identity auto-trust security fix, the identity-verification randomness fix, the backup-restore fixes, the large-file self-repair system (including periodic and cross-device self-healing), a more reliable offline-resend system, the vault-security and account-isolation fixes, and the file-attach regression fix
Jul 10 v6.0.479 PROD Fixed a bug where an interrupted logout on a shared device could leave a previous account still signed in
Jul 11→13 DEV Converted a large part of the app's internal message-handling engine to a more memory-safe internal design, catching and fixing several crash and memory-safety bugs along the way — part of an ongoing move to Zig, the language that will power an upcoming native desktop app
Jul 13 DEV Fixed a bug where messages received via history-sync or reconciliation with a contact could arrive without their reactions, even though the reactions were actually being sent
Jul 13 v6.0.480 DEV Added App-lock: an optional PIN and biometric (Face ID / Touch ID / Windows Hello) lock for opening the app, with an account-password fallback if you forget your PIN
Jul 13 v6.0.480 DEV Fixed a privacy gap where the browser could be prompted to save your account password on every login regardless of your security settings; it's now only offered when enhanced security mode is off
Jul 13 v6.0.481 DEV Fixed App-lock's translations, which had been mistakenly dropped for most languages before the feature shipped
Jul 13→14 DEV Migrated 5 more pieces of the app's core connection and message logic from JavaScript to Zig: retry/resume handling, vault merge rules, reconnect backoff, identity-migration verification, and the proactive-reconnect scheduler
Jul 14 DEV Fixed the automatic-reconnect system's contact rotation, which had never actually worked since it was introduced — only your fixed set of contacts stayed proactively connected, never rotating in an extra one
Jul 14 v6.0.484 DEV Fixed a bug where a spotty connection could leave a session stuck showing "session expired" indefinitely instead of recovering automatically
Jul 14 v6.0.485 DEV Fixed a bug where checking for pending pairing requests could keep failing with a session error after a reconnect, even after the rest of the app had recovered
Jul 15 v6.0.486→487 DEV Fixed a bug where logging in offline with your recovery words could open the wrong account's data on a device with more than one account, improved the login screen to show a failure clearly instead of an easy-to-miss toast, and fixed the "Save Backup" button for exporting your identity, which could silently do nothing
Jul 15 v6.0.488 DEV Fixed a message-routing bug that affected every contact connection, not just recently migrated ones
Jul 15 v6.0.491→496 DEV Continued work on restoring an identity from a backup on a new device: fixed how the backup file is encrypted and decrypted, then tracked down a deeper bug where the restored identity didn't reliably persist after a reload
Jul 16 v6.0.497 DEV Found and fixed the root cause of the identity-restore bug — confirmed working end-to-end for the first time
Jul 16 v6.0.499 DEV Fixed a bug where the "contact identity changed" notification could show a raw internal label instead of readable text
Jul 16 v6.0.479→499 PROD The JavaScript-to-Zig core rewrite reaches production — the same engine that will power an upcoming native desktop app — together with App-lock (PIN and biometric unlock, with an account-password fallback), the session-recovery and pairing-request-check reliability fixes, the message-routing fix, and 3 more bugs fixed along the way: lost message reactions after recovering from offline or history sync, the auto-reconnect system never rotating in new contacts, and identity recovery from a backup not persisting reliably across reloads
Jul 16 v6.0.500 DEV Fixed the first-time welcome message showing a raw internal label instead of readable text, in every language including Spanish
Jul 16 v6.0.501 DEV Completed full native translation of the "contact identity changed" notification across every supported language, replacing the temporary Spanish fallback
Jul 16 v6.0.502→503 DEV Fixed the last reliability gap in the message-history-sharing feature (used when a device requests older messages from a contact), so history received this way now saves through the same safe process as everything else
Jul 16 v6.0.499→503 PROD The remaining identity-notification translations and the message-history-sharing reliability fix reach production
Jul 16 v6.0.504 DEV Face ID / Touch ID now unlocks the app automatically instead of requiring an extra tap first
Jul 16 v6.0.504 DEV Made the biometric-unlock opt-in checkbox in App-lock setup easier to notice
Jul 16 v6.0.504 DEV Moved the "session identity" setting into the danger-zone section, since turning it on can strand your identity on that device without a backup
Jul 16 v6.0.505 DEV Fixed App-lock asking for your PIN a second time immediately after you had just typed your real account password to log in
Jul 16 v6.0.503→505 PROD App-lock's automatic biometric unlock, its clearer setup checkbox, the safer placement of "session identity," and the redundant PIN prompt fix all reach production
Jul 17 v6.0.505→507 DEV Fixed a sidebar-loading slowdown that could take 4-5 seconds to appear for accounts with a large message history, now well under half a second
Jul 17 v6.0.505→508 PROD The sidebar-loading speed fix reaches production
Jul 17 v6.0.509 DEV Fixed 3 popup screens (backup-word recovery, entering your 24-word recovery phrase, and account-password recovery) that could overflow a short screen, leaving the confirm button unreachable
Jul 17 v6.0.509 DEV Fixed every settings checkbox showing the browser's default color instead of the app's own accent color, and a small styling regression in the App-lock PIN input — both live since February
Jul 17 v6.0.509 PROD The popup-overflow fix and the settings-checkbox/PIN-input styling restoration reach production
Jul 17 v6.0.510 DEV Made every popup and dialog in the app scroll-safe on phones — content and action buttons now stay reachable even on a short screen or with the on-screen keyboard open
Jul 17 v6.0.510 PROD Phone-friendly scrolling for every popup and dialog reaches production
Jul 18 DEV Forwarding a file now offers the same one-tap option to remove hidden metadata (like location or device info) that sending already does — a forwarded file no longer silently keeps whatever metadata state the original had
Jul 18 DEV Extended hidden-metadata detection and removal, previously photos only, to PDF files — you can now see and strip embedded author, date, and software details from PDF attachments too
Jul 18 DEV Fixed the "delete local data and start fresh" recovery option, which for one specific storage error did nothing at all — it now works correctly and asks for confirmation before deleting anything
Jul 18 DEV Fixed some older file attachments showing a broken thumbnail or wrong icon — they now show a clean placeholder instead
Jul 18 DEV Verified the server's connection-handling engine works correctly split across multiple parallel workers instead of one — groundwork for supporting more simultaneous users, not yet turned on
Jul 18 DEV The periodic reminder to back up your data now accounts for whether you already have a second device mirroring your account — you'll see it less often instead of not at all, since a mirror alone doesn't protect against losing both devices
Jul 18 v6.0.516 DEV Fixed forwarded files sent without their own chat message not instantly appearing on your other signed-in device — they were being needlessly re-downloaded instead of copied locally
Jul 19 v6.0.517 DEV Fixed two of your own devices repeatedly reporting a data mismatch for messages that only differed in local file-download status — a false alarm, not a real sync problem
Jul 19 v6.0.517 DEV Files that could never finish downloading used to retry forever in the background — they now give up cleanly after enough attempts. Also hardened file reads against a rare, transient storage error
Jul 19 v6.0.518 DEV Removed unused legal/website text that the app was downloading on every launch in every language — the Spanish translation package alone shrank from 326 KB to 232 KB
Jul 19 v6.0.518 DEV Fixed several file-attachment detail labels (author, caption, city, date) and the empty-attachment placeholder text silently showing in Spanish for all other languages
Jul 19 v6.0.519 DEV Recovered 630 translations that only existed in an old, no-longer-used data pipeline — a fresh install of the app would have silently lost 61% of its own translations; now folded into the pipeline that's actually used
Jul 19 v6.0.513→519 PROD A large batch of reliability and translation work reaches production: instant self-fill for forwarded files between your own devices, a false-positive sync-mismatch fix, a fix for files that could never finish downloading, a smaller download size, and recovery of translations that a fresh install would have lost
Jul 19 v6.0.520 DEV Fixed the language picker being silently capped at 30 choices even though 42 fully-translated languages exist — Russian, Slovak, Swedish, Turkish, Ukrainian, and Chinese were invisible in the list and are now selectable again
Jul 19 v6.0.520 DEV Fixed the login and registration screens showing Spanish text regardless of your chosen language, for 3 labels that didn't exist in any language, not even Spanish's own file
Jul 19 v6.0.521 DEV Translated those 3 login-screen labels into English and every other language that was missing them
Jul 19 v6.0.522 DEV Corrected an outdated Maltese term for "vault" used inconsistently across the app
Jul 19 v6.0.522 DEV Delivered the remaining languages for the vault-recovery confirmation screen's button text
Jul 19 v6.0.519→523 PROD The restored language picker, the login-screen translation fix, and small Maltese and vault-recovery translation corrections reach production
Jul 19 v6.0.524 DEV Fixed PDF file previews failing to generate for every single PDF attachment, a bug in the underlying PDF-rendering library when running in the background
Jul 19 v6.0.524 DEV Fixed a bug that could repeat a "Session expired" message every 2 minutes for hours at a time — some parts of the app weren't being told about a refreshed session
Jul 19 v6.0.523→524 PROD The PDF-preview fix and the repeating "Session expired" fix reach production
Jul 19 v6.0.525 DEV Finished full translation for 6 languages (Indonesian, Malay, Norwegian Bokmål, Slovenian, Thai, Vietnamese) that had been only 21% translated since they were first added — they now match every other language's coverage
Jul 19 v6.0.525 DEV Fixed 16 more login and registration labels that were showing English text to Spanish speakers
Jul 19 v6.0.524→525 PROD The 6 newly-completed languages and the additional Spanish login-screen fixes reach production
Jul 20 v6.0.526 DEV Authored proper Spanish text for 79 more labels that had been silently showing English
Jul 20 v6.0.525→526 PROD The Spanish-text fix reaches production — Spanish-speaking users stop seeing English
Jul 20 v6.0.527 DEV Fixed your chosen display language not surviving a page reload when it differed from your browser's own language, and fixed 6 recently-completed languages not being detected at all — both silently fell back to Spanish or your browser's language
Jul 20 v6.0.526→527 PROD The language-persistence and language-detection fixes reach production
Jul 20 DEV Recovered a Persian translation file that had drifted out of sync with its source — 890 real translations that existed only in the live database were captured back, protecting them from being lost in a future rebuild
Jul 20 DEV Fixed 35 Korean phrases that had dropped a variable placeholder, like a version number or countdown, causing the number to disappear from the sentence
Jul 20 DEV Restored the full wording of 3 security-recovery warnings that had been silently shortened in 15-19 languages, dropping the part explaining that no one, not even us, can help recover a lost account
Jul 20 DEV Started standardizing the app's tone to consistently use the warmer, informal form of address across every language that distinguishes one — French is fully done, others in progress
Jul 20 v6.0.528 DEV Minor wording trim to two tooltip labels
Jul 20 DEV Converted 17 more languages (Italian, German, Dutch, Portuguese, Catalan, Danish, Norwegian, Romanian, Russian, Czech, Slovak, Slovenian, Croatian, Bulgarian, Ukrainian, Greek, Hungarian) to the same warmer, informal tone as French
Jul 20 DEV Fixed a leftover, untranslated Spanish backup-reminder message that had been silently showing in 23 other languages
Jul 20 DEV Fixed two sentences that had been accidentally copied into the wrong language's translation file (Vietnamese text appearing in Estonian, Hindi text appearing in Bulgarian)
Jul 20 DEV Converted Estonian, Lithuanian, and Latvian to the same informal tone
Jul 21 DEV Converted Indonesian, Malay, Turkish, Persian, and Chinese to the informal tone; confirmed nine other languages (Irish, Maltese, Basque, Vietnamese, Hindi, Thai, Arabic, Hebrew, Japanese) were already consistent
Jul 21 DEV Translated 9 backup-reminder labels that had never been delivered into 26 languages, silently showing raw Spanish text instead
Jul 21 DEV Fixed around 90 Romanian words missing their accent marks
Jul 21 DEV Fixed a mistranslated word for "vault" in Arabic, including the grammar it affected
Jul 21 DEV Fixed 5 Bulgarian phrases that had been written in the wrong alphabet
Jul 21 DEV Unified three different, inconsistent translations of "vault" in Catalan and Galician into one correct term, plus fixed one Catalan message left entirely in English and one with drifted, unrelated content
Jul 21 DEV Fixed a garbled character and a leftover formal-tone slip in Greek
Jul 21 DEV Converted Greek and Korean to the informal tone
Jul 21 DEV Converted the remaining 9 languages (Slovenian, Croatian, Czech, Slovak, Russian, Ukrainian, Bulgarian, Romanian, Hungarian) to the informal tone, completing the tone conversion for every applicable language
Jul 21 DEV Unified three inconsistent translations of "vault" in Vietnamese into one
Jul 21 DEV Unified two inconsistent terms for "identity" in Thai into one
Jul 21 DEV Fixed several inaccurate Korean warning messages, including one that described an unrelated kind of message entirely
Jul 21 DEV Fixed smaller wording issues across Norwegian, Polish, Slovenian, Romanian, and Czech
Jul 21 DEV Fixed 6 more Chinese wording issues found during a broader terminology review
Jul 21 DEV Fixed smaller wording and diacritic issues across Swedish, Turkish, and Ukrainian
Jul 21 DEV Fixed the last remaining incomplete security-recovery message, in Portuguese
Jul 21 DEV Fixed a mistranslated field label (shown when choosing your display name) affecting German, Hebrew, Hungarian, Indonesian, and Galician, plus several other wording fixes across those languages and Croatian and Hindi
Jul 21 DEV Fixed 6 more translation issues in Hebrew, including a mistranslated security setting and an incorrect word gender in a warning message
Jul 22 v6.0.529 DEV The full backlog of translation improvements from the previous two days ships to dev
Jul 22 v6.0.527→529 PROD The complete translation-quality batch reaches production: every applicable language now consistently uses the app's warmer, informal tone, plus dozens of accuracy and consistency fixes across many languages
Jul 22 DEV Retired an old, redundant translation-loading system that had been silently working around 15 missing Spanish (and 2 missing English) interface strings — the missing text is now included directly in the main translation files
Jul 22 DEV Fixed a bug where a device already linked to a second device of yours would repeatedly try to reconnect to it, and fail, every time the app reconnected to the network
Jul 22 v6.0.530 DEV Both fixes ship to dev
Jul 22 v6.0.529→530 PROD Two more fixes reach production: the legacy translation system is retired, recovering missing Spanish and English interface text, and a repeated-reconnection bug affecting multi-device linking is fixed
Jul 24 v6.0.531 DEV Fixed the sidebar's empty-chat-list message getting stuck in whatever language was active when the app started, even after switching languages later
Jul 24 v6.0.531 DEV Fixed theme names never being translated in any language — they had always shown their literal Spanish names since the theme picker was introduced
Jul 24 v6.0.531 DEV Fixed a missing translation key that showed English text to every user, in every language including Spanish, when regenerating an invite code
Jul 25 v6.0.534 DEV Fixed a security bug where the app's deep-cleanup troubleshooting tool would silently turn off your PIN/biometric lock while leaving you logged in, with no warning
Jul 25 v6.0.534 DEV Fixed newly-established connections briefly sending their setup information (profile, name, avatar) twice instead of once
Jul 25 v6.0.536 DEV Fixed a timing bug that could delay message and signal delivery by up to 26 seconds right after opening the app for the first time in a while
Jul 25 v6.0.530→541 PROD A batch of fixes reaches production: three translation bugs (frozen sidebar language, untranslated theme names, a missing invite-code string), a security fix for the deep-cleanup tool silently disabling PIN/biometric lock, duplicate connection-setup messages, and a startup delay of up to 26 seconds
Jul 25 v6.0.544→548 DEV Changed how the app returns to a faster, more private direct connection after being routed through a relay server: instead of giving up after about 3 minutes, it now keeps retrying periodically — and immediately after your network changes — for as long as the connection lasts
Jul 26 v6.0.551 DEV Fixed a bug where the app's automatic session-recovery could destroy the very saved credential it needed, forcing an unnecessary logout instead of quietly reconnecting
Jul 26 v6.0.552 DEV Fixed a follow-up to that recovery: even after reconnecting successfully, ongoing peer-to-peer connections could keep using the old, expired credential and silently break until the next full reload
Jul 26 v6.0.555 DEV Fixed files that had permanently failed to download being endlessly re-requested after an app update, because the give-up counter for them wasn't preserved through the update's cleanup
Jul 26 v6.0.541→555 PROD Another batch reaches production: a session-recovery bug that could force an unnecessary logout, a follow-up that could silently break peer-to-peer connections after reconnecting, the new indefinite relay-to-direct retry policy, and a fix for permanently-failed downloads being endlessly re-requested after updates
Jul 26 v6.0.556→559 DEV Fixed a rare account-recovery case where the app could show the login screen and ask for your password again, even though it still held a valid saved credential for your device
Jul 26 v6.0.562→563 DEV Fixed the app waking up and attempting to reconnect roughly once a minute while sitting in a background browser tab with nothing actually wrong — unnecessary battery and network use for anyone who keeps a tab open in the background
Jul 26 v6.0.555→563 PROD Two more fixes reach production: the rare account-recovery case above, and the background-tab reconnect loop
Jul 27 v6.0.569 DEV Fixed a gap where a file whose data had actually gone missing (due to an earlier bug) would never be detected or automatically recovered — it's now flagged and routed through the app's existing recovery system
Jul 28 v6.0.563→569 PROD The missing-file detection and recovery fix reaches production
Jul 28 v6.0.569→570 PROD Internal-only maintenance reaches production: dev-only diagnostic tooling and a documentation correction in unused code, with no visible change for users
Jul 29 v6.0.571→574 DEV Added cross-chat message search — find any message by its content across every conversation at once, with the exact match jumped to and highlighted
Jul 29 v6.0.570→574 PROD Cross-chat message search reaches production
Jul 30 v6.0.575 DEV Fixed multi-device sync so a slow-responding device can no longer silently prevent part of your message history from syncing over, especially with large chat histories
Jul 30 v6.0.576 DEV Future app updates will no longer risk wiping your existing saved data during a schema upgrade
Jul 30 v6.0.576 DEV Data saved by a newer app version now degrades gracefully instead of appearing corrupted when briefly viewed on an older version
Jul 30 DEV Reorganized parts of the app's internal code for long-term maintainability, with no behavior change for users
Jul 30 v6.0.574→576 PROD A batch of reliability improvements reaches production: safer multi-device sync for large chat histories, and better handling of saved data across app updates
Jul 30 v6.0.577 DEV Added a stronger internal check confirming multi-device sync has fully and correctly finished, instead of assuming so after a timeout
Jul 30 v6.0.578 DEV Fixed multi-device sync occasionally re-sending and double-processing the same message
Jul 30 v6.0.578 DEV Fixed a rare case where a dropped-and-reconnected sync could be marked fully complete before it actually was
Jul 30 v6.0.576→578 PROD Further multi-device sync reliability improvements reach production: a stronger completeness check, a fix for occasional duplicate message resending, and a fix for a rare false-positive sync-complete signal after a dropped connection
Jul 30 DEV Ran extensive server load-testing to understand our real capacity for simultaneous connections
Jul 31 DEV Tuned how the development server manages memory under heavy simultaneous load, so it degrades gracefully instead of risking a crash
Jul 31 v6.0.580 DEV Fixed a long-standing bug where restarting the server would silently invalidate everyone's saved login session — invisible to users thanks to an existing automatic re-login safeguard, but real and unnecessary
Jul 31 v6.0.578→580 PROD The session-invalidation fix reaches production
Jul 31 PROD Applied the same memory-management tuning to the production server
Jul 31 PROD Fixed a separate server configuration issue that was silently capping how many people could connect to the service at the same time; the fix is now automatically applied to any server we set up going forward