Threema Web Changelog
This changelog lists the most important changes for each released version. For the full log, please refer to the git commit history.
⚠️ Note: Threema Web is in maintenance mode while we are working on a new solution that should resolve some of the long-standing issues we were having with Threema Web. We will still do regular maintenance and fix critical bugs, but for now there will be no major new features or non-critical bugfixes. See #996 for more details.
v2.4.0 Lütispitz (2022-04-28)
Changes:
- [feature] Allow quoting all message types, if the app supports it (#1125)
- [feature] Add dedicated userconfig override file, ignore env vars if present (#1121, #1128)
- [change] Add scan instructions on welcome page (#1126)
- [change] Upgrade many dependencies (#1129)
v2.3.20 (2022-03-31)
Changes:
- [bug] Workaround for Firefox non-standard PDF download behavior (#1120)
- [change] Upgrade many dependencies (#1110, #1119)
v2.3.19 (2022-01-10)
Changes:
- [bug] Fix logic error in marking messages as read (#1104)
- [change] Reset unread count only when necessary (#1100)
- [change] Update Ukrainian translation
v2.3.18 (2021-11-23)
Changes:
- [change] Upgrade KDF for keystore to scrypt (#1091)
- [change] Replace 128-bit fingerprint with 256-bit public key (#1093)
- [cange] Extract user configuration into separate
userconfig.js
(#1094, #1098) - [feature] Dockerfile: Allow overriding all userconfig variables (#1095, #1098)
Note: If you do any postprocessing / patching of the Threema Web configuration
before or after building, those processes might need to be updated because a
lot of the config variables have been moved into the userconfig file. This
should make it much easier to override the variables (compared to a sed
based
process that patches the minified JS bundle). Simply append
window.UserConfig.MYVAR = 'myvalue';
to the userconfig.js
file. See
docker/entrypoint.sh
if you need an example.
v2.3.17 (2021-10-22)
Changes:
- [feature] Support in-memory session password if the backend supports it (#1087)
- [bug] Use
hasValue
for checking browser name and version (#1085) - [change] Improved visibility of keyboard focus on buttons
- [change] Mention font license in about dialog (#1086)
- [change] Upgrade many dependencies (#1088)
v2.3.16 (2021-09-16)
Changes:
- [bug] Fix version info dialog in minimal UI variant (#1076)
- [bug] Correctly handle paste items when pasting images (#1078)
- [bug] Fix copy-paste XSS in debug log visualizing tool (#1079)
- [change] Upgrade many dependencies (#1083)
Note: The XSS does not affect regular users. However, if you are self-hosting Threema Web and use the troubleshooting log visualizing tool from time to time, you should upgrade.
Contributors:
v2.3.15 (2021-07-29)
Changes:
- [bug] Prevent drafts from being associated with the wrong conversation (#1037)
- [change] Do not show caption input field when sending multiple files (#1074)
v2.3.14 (2021-06-07)
Changes:
- [feature] Add Traditional Chinese translation (#1063)
- [feature] Troubleshooting tool: Check for notification permission (#1066)
- [bug] Allow editing single-member groups (#1069)
v2.3.13 (2021-05-04)
Changes:
- [bug] Fix regression that prevented starting new chats (#1058)
v2.3.12 (2021-04-27)
Changes:
- [feature] Add Japanese translation
- [feature] Support conversations marked as unread (#1050)
- [bug] Don't show a browser warning for Firefox on iOS (#1048)
v2.3.11 (2021-03-16)
Changes:
- [feature] Add support for HMS push tokens (#1044)
- [bug] Revert clearing of search when clicking on conversation / contact (#1042)
v2.3.10 (2021-03-03)
Changes:
- [bug] Fix playback of audio messages in newer Chromium browsers (#1039)
- [bug] Do not allow adding own ID to groups / distribution lists (#1040)
v2.3.9 (2021-02-23)
Changes:
- [feature] Allow easily clearing search box (#92, #1026)
- [feature] Add option for minimal user interface (#1029)
- [feature] Allow scanning QR codes on inverted background (#1027)
- [feature] Add Bulgarian, Korean, Romanian translations (#1036)
- [feature] Update emoji to Unicode 13 (#1034)
- [feature] Emoji picker: Use shortname as title text (#1034)
- [bug] Translate title in error dialog (#1033)
- [change] Remove feature mask checks (#1035)
Contributors:
v2.3.8 (2021-01-12)
Changes:
- [feature] Add a setting for inverted newline/submit behavior (#274, #1007)
- [feature] Add Turkish, Russian, Hungarian and partial Esperanto translations (#1021)
- [bug] Fix double newlines when pasting text (#1012)
- [bug] Fix typing indicator on focus loss (#992)
- [bug] Provide the mime type when creating a Blob (#999)
- [bug] Fix logic for determining whether a point in time was yesterday (#1014)
- [change] Upgrade many dependencies (#1011)
Contributors:
v2.3.7 (2020-04-06)
Changes:
- [feature] Make Threema Web a simple PWA (#972)
- [feature] Improved error and exception logging (#981 / #978)
- [change] Design update: New font, new logo (#979)
- [change] Password input field: Remove autocomplete=off attribute (#976)
- [bug] Only send typing update to contact receivers (#974)
- [bug] Correctly handle invalid / revoked contacts (#980)
Changes relevant when self-hosting:
- If you deployed Threema Web on a server with restrictive CSP rules, make sure
to add
static.threema.ch
as an allowed style / font source (#979)
Contributors:
v2.3.6 (2020-03-12)
Changes:
v2.3.5 (2020-02-24)
Changes:
- [bug] Fix auto-reconnecting in Chrome 80+ (#969)
- [bug] Don't add null quote objects to outgoing messages (#966)
- [feature] Show message ID in history dialog (#965)
v2.3.4 (2020-01-22)
Changes:
- [bug] Do not fail the session when the data channel has been closed (#961)
v2.3.3 (2020-01-14)
Changes:
- [bug] Handle valueTooLong error when sending text message (#956)
- [bug] Reintroduce dual stack TURN servers (#957)
- [bug] Do not show protocol error alert when data channel closes (#958)
v2.3.2 (2020-01-08)
Changes:
- [feature] Ignore case when translating shortcodes (#953)
- [bug] Fix compose area size calculation (#950)
- [bug] Update ICE servers in troubleshoot tool to reflect config (#952)
- [change] Revert PR #893 (#954)
Contributors:
v2.3.1 (2019-12-19)
This is a small bugfix release, no new features.
Changes:
- [bug] Don't connect if another session is active (#927)
- [change] Update translation strings
v2.3.0 Säntis (2019-12-17)
Changes:
- [feature] Allow sending files larger than 15 MiB (#769 / #594 / #7)
- [feature] Add support for
https://threema.id/
URLs (#918) - [feature] Add graphical password strength indicator (#929)
- [feature] Update emoji to 12.1, add skin tone selector (#933)
- [feature] Add Polish translations (#941)
- [change] CI: New Threema / Threema Work themes (#904)
- [change] Improved URL parsing (#935)
- [change] Allow dismissing the "device unreachable" dialog (#931)
- [change] Add length limits to text input fields (#938)
- [change] Improve TURN pairing (#910)
- [change] Disable Grammarly on compose area (#911)
- [change] Upgrade dependencies (#921 / #928)
- [bug] Fix bug where scrolling up sometimes fails (#18 / #923)
- [bug] Fix feature level check when sending image/video messages (#936)
- [bug] Fix some race conditions in connection handling (#893)
- [bug] Handle rejected pushes gracefully (#894)
- [bug] Fix max text message size checks (#903)
- [bug] Show warning if browser does not support TextDecoder (#891)
Contributors:
- @vortex852456
- Karol Kołaciński (PL translations)
v2.2.1 (2019-08-08)
Changes:
- [change] Show warning if browser does not support WebAssembly (#887)
- [change] Invert order of messages in notifications (#888)
v2.2.0 Fluebrig (2019-08-08)
This is quite a big release. It contains improvements to device wakeup functionality, adds support for five new languages, provides a new log reporting tool for troubleshooting and fixes a lot of bugs.
For the detailed list of changes, see below. Note that changes to your web server configuration are required in case you're self-hosting Threema Web.
Changes:
- [feature] Improvements to the device wakeup functionality, automatic reconnects after connection loss should now be more reliable (#792 / #815 / #816 / #817 / #818)
- [feature] Add Dutch, Portuguese, Slovak, Spanish and Ukrainian translations
- [feature] New log reporting tool (#839 / #826)
- [change] Rewritten compose area, many bugs should now be fixed (#773, fixes #502 / #674 / #679 / #821)
- [change] Revised VoIP status message texts (#787)
- [change] Better MIME handling for audio messages (#756)
- [change] Improve message upload preview and thumbnails (#858)
- [change] Troubleshooting tool: Actually establish a P2P connection (#838)
- [bug] Fixed connection problems when large profile picture was set (#768)
- [bug] Workaround for connection loss detection in latest Chrome (#844)
- [bug] Markup parser: Ignore markup in URLs (#778)
- [bug] Hide input for blocked contacts (#462)
- [bug] Only show pin/unpin button if conversation exists (#752)
- [bug] Clamp text in quotes (#767)
- [bug] Fix connection bar being flaky (#824)
- [bug] Allow adding all contacts to distribution lists (#837)
- [bug] Fix sending files and pictures to distribution lists (#394)
- [bug] iOS: Recurrent wakeup for unsent messages (#856)
- [bug] Fix send button when sending only emoji (#822)
- [bug] Fix fallback image for contacts without avatar (#851)
- [bug] Fix support for japanese IME (#777)
- [bug] Accessibility improvements for emoji picker (#811)
Changes relevant when self-hosting:
- Since Threema Web now contains WebAssembly, the web server hosting the files
must set the correct MIME-Type (
application/wasm
) for*.wasm
files. See self hosting docs. - We now provide a Docker Image.
Changes relevant to developers:
- We switched from Browserify to Webpack
Contributors:
- @IndianaDschones
- @joelfischerr
- Artem Nachtigall (UK translations)
- Boris Klokoc (SK translations)
- Fernando Alvarez Junco (ES translations)
- frau_lutzn (NL translations)
- Johannes Müller (PT translations)
- Maik Holzhauer (ES translations)
- Marcel Krüse (PT translations)
- Nuno_M (PT translations)
- Sergiy Kotyk (UK translations)
- vollkorntomate (NL translations)
v2.1.7 (2019-02-07)
Changes:
- [bug] Fix state reloading after iOS reconnects (#728)
v2.1.6 (2019-01-31)
Changes:
- [feature] Show connection state and unread state in favicon (#720)
- [change] Ensure that webapp loads on browsers without ES2015 support (#733)
- [change] Change color of Safari pinned tab favicon (#746)
- [change] Update Czech translations
- [bug] Fix relative paths to emoji images (#743 / #748)
- [bug] Fix the use of non-breaking spaces when pasting text (#745)
v2.1.5 (2019-01-24)
Changes:
- [change] Switch from Emojione to Twitter Emoji (Unicode 11.0) (#721)
- [bug] Fix pasting of emoji (#722)
- [bug] Fix UI bug when loading conversations (#723)
v2.1.4 (2019-01-17)
Changes:
- [change] Update many dependencies
- [change] Strip sourceMappingURL lines from release files (#709)
- [bug] Fix collapsing of consecutive whitespace in message (#706)
- [bug] Android: Fix out-of-sync after reconnect (#712)
- [bug] Conversations: Handle clearing of latest message (#713)
v2.1.3 (2018-12-12)
Changes:
- [feature] Add French translations (#685)
- [feature] Add Chinese translations (#690)
- [feature] Add Czech translations (#691)
- [change] Require at least Safari 11 (#683)
- [change] Style scrollbars in Firefox 64+ (#689)
Contributors:
- Valéry (FR translation)
- nickya80 (FR translation)
- vollkorntomate (FR translation)
- mingmir (CN translation)
- vit.semenec (CS translation)
v2.1.2 (2018-11-22)
Changes:
- [change] Prevent Chrome from translating Threema Web (#681)
- [bug] Contacts: Exclude hidden receivers (#655)
- [bug] Member list editor: Handle inactive contacts (#665)
- [bug] Stop validating args for create/group & create/distributionList (#666)
- [bug] Inserting emoji fixes (#574 / #671 / #672 / #673)
- [bug] Avoid flash of untranslated text (#676)
v2.1.1 (2018-10-29)
Changes:
- [feature] Improved troubleshooting tool (#648)
- [change] Latest message text: Show "GIF" for GIFs (#649)
- [bug] Accessibility improvements (#656)
Contributors:
v2.1.0 Glärnisch (2018-10-23)
Changes:
- [feature] Implement ack protocol for iOS session resumption (#551)
- [feature] Implement pinning of conversations (#361)
- [change] New stack based markup parser (#453 / #458 / #590)
- [change] Accessibility improvements (#562 / #618 / #622 / #636)
- [change] Hide WebRTC troubleshooting when using iOS (#625)
- [change] Use window focus instead of page visibility to mark messages as read (#644)
- [bug] Don't linkify latest message excerpt in conversation list (#544)
- [bug] Workaround for conversation loading bug in Safari (#602)
- [bug] Fix marking of read messages with duplicate sort key (#606)
- [bug] Compose area: Fix newlines in Safari (#613)
- [bug] Fix largeSingleEmoji setting (#610)
- [bug] Copy to clipboard: Workaround for Safari on iOS (#626)
- [bug] Clear isTyping flag when receiving message (#637)
- [bug] Fix updating of message caption (#638)
- [bug] Hide image preview when redirecting (#640)
- [bug] Fix updating of avatars in contact autocomplete box (#643)
Contributors:
v2.0.3 (2018-08-23)
Changes:
- [feature] Add reload button to connect error page (#545)
- [change] Refactor browser detection (#569)
- [change] UI performance improvements (#567)
- [bug] Compose area: Add newline workaround for Safari (#572)
Contributors:
v2.0.2 (2018-08-14)
Changes:
v2.0.1 (2018-08-07)
Changes:
- [feature] Cancel battery alert when phone is plugged in (#547)
- [bug] Fix group / distribution list contact selector (#550)
- [bug] Fix troubleshooting background image and favicon
Contributors:
v2.0.0 Grosser Mythen (2018-08-02)
This release changes the protocol version from 1 to 2. It provides preliminary support for iOS devices (currently in beta). It also improves the performance and responsiveness of Threema Web.
For the detailed list of changes, see the list below.
Changes:
- [feature] Add preliminary support for iOS / Safari, currently in Beta (#58)
- [feature] Allow viewing and editing your own profile (#221)
- [feature] Show message events (#32)
- [feature] Large single emoji (#97)
- [feature] Show distribution list members (#472)
- [feature] Add "Navigate to" entry to location message context menu
- [feature] Implement support for new per-conversation notification settings
- [feature] Hide inactive IDs in contact list (#4)
- [feature] Implement "copy to clipboard" functionality
- [feature] Show three blue dots for verified Threema Work contacts
- [feature] Implement non-work indicator for Threema Work users
- [change] Threema Web protocol version upgrade from 1 to 2
- [change] When downloading media, filename now contains timestamp
- [bug] Fix a lot of UI performance issues (#480)
- [bug] Saving profile without setting picture won't reset it anymore (#154)
- [bug] Fix race condition in password field (#445)
- [bug] When entering the wrong password, re-enable the input field
- [bug] Fix broken conversation preview (#393)
- [bug] Make message caption mouse-selectable (#303)
- [bug] Fix error message when adding an invalid contact identity
- [bug] Fix closing of chat when deleting conversation
- [bug] Improve scrolling behavior (#18)
- [bug] Fix "unread messages" indicator
Contributors:
v1.8.2 (2018-02-21)
Changes:
- [feature] Add autocomplete attribute to password fields (#441)
- [feature] Get build script to work on macOS (#406)
- [bug] Fix location of web manifest (#432)
- [bug] Fix CSS mouse pointer over contact group membership list (#435)
- [bug] Fix supportsPassive helper function (#439)
- [bug] Fix quote preview styling in Chromium
- [bug] Prevent dragging of background image (#425)
Contributors:
v1.8.1 (2018-02-06)
Changes:
- [change] Make mentions display-only (#419)
v1.8.0 (2018-02-06)
Changes:
- [feature] Replace :shortnames: with emojis (#390)
- [feature] Show preview in dialog when sending image message (#401)
- [feature] Implement mentions (#404 / #410)
- [feature] Show a dialog when local storage cannot be accessed (#402)
- [feature] Add Web App Manifest (#408)
- [bug] Workaround for sending .ogg audio in Firefox (#396)
Contributors:
v1.7.0 (2017-11-27)
Changes:
- [feature] Upgrade to Emojione 3.1 / Unicode 10.0 (#373)
- [feature] Warn if other tabs use the same session (#369)
- [bug] Fix QR code content in "my identity" view (#365)
- [bug] Fix missing caret between emoji in Firefox (#374)
- [bug] Fix multiple issues with compose area and drafts (#376 / #380 / #382)
- [bug] Fix citation text overflow (#378)
- [bug] Don't fade battery icon when charging (#372)
- [bug] Fix bottom border for marked / unread conversations (#366)
- [bug] Harmonize status icons (#345 / #385)
- [change] Link to changelog from version update alert dialog (#363)
- [change] Improve troubleshooting tool (#364)
- [change] Use powershell to run
package.sh
on Windows (#371)
Contributors:
v1.6.2 (2017-10-25)
Changes:
- [feature] Do not trigger notifications for muted conversations (#357)
- [feature] Show indicator for muted conversations (#357)
- [feature] Implement display of starred conversations (#362)
- [bug] Fix centering of caption text (#352)
- [bug] Don't display low battery notification when charging (#359)
- [bug] Fix image upload for avatar editor (#358)
v1.6.1 (2017-10-02)
Changes:
- [feature] Show desktop notifications if battery level is low (#351)
- [change] Updated STUN/TURN endpoints
v1.6.0 (2017-09-26)
Changes:
- [feature] Deal with unknown message types (#311)
- [feature] Focus input field after sending message (#316)
- [feature] Add file message preview in conversations list (#315)
- [feature] Show group creation and member count in group detail view (#255)
- [feature] Mark blocked contacts / disable sending messages to blocked contacts (#135)
- [feature] Implement deleting all messages of a chat (#50)
- [feature] Emojify nicknames (#338)
- [feature] Add mechanisms to improve protocol version upgrades (#339)
- [feature] Battery status improvements (#340)
- [bug] Do not allow ack/dec on voip status messages (#320)
- [bug] Fix missing translation in notification of voip status messages (#321)
- [bug] Show downloading indicator on downloading a message via menu (#334)
- [bug] Fix sending multiple files via attachment button (#330)
- [bug] Show caption input only on file and image messages (#332)
- [bug] Focus compose area on quoting a text (#251)
- [change] Limit image caption text characters (#343)
- [change] Don't reload data on ICE reconnect (#349)
- [change] Updated STUN/TURN endpoints
Contributors:
v1.5.0 (2017-08-29)
Changes:
- [feature] Mark Threema Work users with a suitcase icon (#310)
- [feature] Show nickname for verified contacts and in contact details (#296)
- [bug] Fix quote preview not updating when changing quote (#281)
- [bug] Auto focus input field on creating a new receiver (#289)
- [bug] Show voip status messages in the navigation view (#291)
- [change] Put unread count in window title as first element (#285)
Contributors:
v1.4.1 (2017-08-07)
Changes:
- [feature] Implement display of VoIP message types (#282)
- [feature] Make it possible to save new contacts / groups / distribution lists with enter key (#271)
- [change] Make battery icon unselectable (#275)
Contributors:
v1.4.0 (2017-07-20)
Changes:
- [feature] Show battery status indicator (#265)
- [change] Reduce browser CPU usage in conversation (#264)
- [bug] Add high DPI versions of emoji spritemaps (#261)
v1.3.1 (2017-06-22)
Changes:
- [bug] Fix bug when inserting emoji in Chrome (#256)
v1.3.0 (2017-06-22)
Changes:
- [feature] Upgrade to Emojione 3 (#54 / #201)
- [feature] Support emoji in conversation and contact names (#44)
- [feature] Fallback text in user profile if first/last name are not provided (#238)
- [bug] Make it impossible to open own contact (#231 / #235)
- [bug] When pasting text, only trim newline characters (#237)
- [bug] Fix right-to-left support (#239)
v1.2.1 (2017-05-17)
Changes:
- [feature] Check for a new version, notify user if version changed (#183)
- [bug] Fix line breaks when pasting on Windows (#134)
- [bug] Fix path to sound notification file
v1.2.0 (2017-05-17)
Changes:
- [feature] Support markup and emoji in media box caption (#177)
- [feature] Optional notification sound for incoming messages (#178)
- [feature] Consider page visibility when marking messages as read (#17 / #108 / #211)
- [feature] Support all threema url actions (#190 / #215)
- [change] Location message redesign (#185)
- [change] Enhanced desktop notification preview (#193)
- [bug] Enforce text cursor on compose box (#204)
- [bug] Fix resizing behavior of back arrow button (#205)
- [bug] Fix displaying of drafts in active conversation (#189)
- [bug] Fix MIME type handling (#90 / #59 / #202)
Contributors:
v1.1.0 (2017-03-16)
Changes:
- [feature] Make notification settings configurable (#8)
- [feature] Image preview (#11)
- [feature] Show group members in header (#6)
- [feature] Check for desktop notifications in troubleshooting tool (#150)
- [change] Immediately hide desktop notifications for read conversations (#131)
- [change] Make scrollbars in Chrome a bit wider (#144)
- [change] Increment minimal required FF version to 50 (#161)
- [bug] Fix / improve soft reconnect behavior (#167)
- [bug] Fix flickering of avatars on refresh (#143)
- [bug] Fix submitting of files with enter key (#122)
- [bug] Reset unread count after logout (#148)
- [bug] Fix TypeError when closing a dialog (#153)
- [bug] Stop supporting multi-line markup (#156)
Contributors:
v1.0.5 (2017-03-03)
Changes:
- [feature] Add diagnostics/troubleshooting page (#126 / #127)
- [bug] Fix bug resulting in slow initial load (#120)
- [bug] Add meta description to index.html (#124)
v1.0.4 (2017-03-01)
Changes:
- [feature] Enable support for TURN via TLS (except for FF <53) (#43 / #109)
- [feature] Add noscript warning (#119)
- [bug] Fix compatibility bug for older browsers (#64)
- [bug] Escape all pasted text in compose area (#86)
- [bug] Update unread count in title on initial loading (#93)
- [bug] Fix state transitions when restoring a session (#102)
- [bug] Improve performance / reduce CPU load (#117 / #20 / #39)
Contributors:
v1.0.3 (2017-02-23)
Changes:
- [feature] Autofocus on compose area when opening a conversation (#41)
- [feature] Create unique file names for downloaded files / images (#61)
- [feature] Add support for pasting data into compose area (#82)
- [feature] Split up messages that are too long into multiple messages (#48 / #79)
- [bug] Fix for some "stuck at 60%" problems (add support for TURN via TCP) (#43 / #83)
- [bug] Fix for some "stuck at 99%" problems (#38)
- [bug] Fix display of untranslated strings in dialogs (#57)
- [bug] Fix display of very long file names (#69)
Contributors:
v1.0.2 (2017-02-21)
Changes:
- [feature] Add loading indicator when sending files (#29)
- [feature] Add warning about browser plugins if PeerConnection setup fails (#46)
- [feature] Add referrer policy tag to HTML (#49)
- [feature] Add reload button to error page (#66)
- [feature] Add warning message if browser blocks local storage (#67)
- [bug] Fix pasting of HTML code that could lead to a potential XSS vulnerability (thanks Frederik Braun for reporting)
- [bug] Fix some translations
Contributors:
v1.0.1 (2017-02-15)
First public release.