Skip to content

Latest commit

 

History

History
2141 lines (1894 loc) · 249 KB

CHANGELOG.md

File metadata and controls

2141 lines (1894 loc) · 249 KB

v1.18.1 (2025-01-06)

A pretty quick turnaround to the next release here, fixing an issue with the release builder workflows that caused release builds from v1.18.0 to claim they are unstable and untested.

Besides that, here are some highlights:

  • We have significantly increased the translation coverage using Google Translate (and for Lojban, Baidu translate). All but two languages are now fully automatically translated. In many cases, this automated translation is not perfect, so we've also added a link next to the language selector to our Weblate page where you can fix translations you think could be improved.
  • Using LLMs, we have finished the Pirate English translation, so: Ahoy! Come aboard the qTox ship, and set sail with this scurvy-free release! We've battened down the hatches and plugged some leaks, so no more unstable builds claimin' to be untested. Shiver me timbers, we've even charted new waters with more translations than ye can shake a parrot at!
  • You can now run qtox --update-check on the command line to quickly see what the latest version is and what version you are running without starting the GUI. This might be useful for anyone who wants to write scripts around that.

Finally, we have tightened the security of qTox by avoiding any DNS lookups in the Tox bootstrap path. This means qTox will work properly even if you have no DNS server, and importantly, you will not leak access to the Tox network to any DNS servers. The only place where we still do DNS lookups is in the update check (which connects to the GitHub API), but you can disable that.

v1.18.1-rc.3 (2025-01-05)

Release candidate 3.

Bug Fixes

  • Update check is now working on Windows and AppImage (5b3a3478)
  • Audio: Notifications sounds are no longer cut off. (1624d3a9)

Features

  • Add a command line option to run the update-check. (4d5f9f94)
  • Security: Never perform DNS lookups for tox node connections. (e0cd0b75)

v1.18.1-rc.2 (2025-01-03)

Release candidate 2. RC1 didn't have binaries because the CI scripts were broken.

v1.18.1-rc.1 (2025-01-03)

Release Candidate 1.

Features

  • Languages:
    • Add a weblate link to the settings. (7024d02c)
    • Translate all of qTox to Pirate English. (715caf13)
    • Add Limburgish translation. (607ba4d2)
    • Fully translate every supported language. (779cdb39)
  • Login: Add a tooltip and WhatsThis for the password field. (04efcf82, closes #299)
  • UI: Better integration with system dark modes. (ff2a252d)

Bug Fixes

  • Languages: Recover the long lost Pirate translation. (d10ccdc8)

Performance

  • Video: Avoid copying frame buffers unnecessarily. (7e843537)

v1.18.0 (2025-01-01)

Happy New Year 2025!

It's taken us some time, but we're finally here. We hope you enjoy our new and updated qTox v1.18.0. Many bugs, especially around video calls, have been fixed. We also bring some performance improvements, but most importantly, the RCE fear is over.

There have been many rumours about remote code execution attacks on qTox for the past 2 years. Although nobody has ever actually been able to demonstrate any of them working, we've done a deep dive audit on the relevant security aspects of the areas of potential vulnerability and have made a number of changes:

  • We've completely rewritten the notification system from scratch. We now use the built-in Qt system tray notifications on all systems. Additionally, on Linux, we use the Freedesktop notification system directly (you can turn this off if it doesn't work or you're afraid we've made a mistake) instead of going through an unaudited third party library.
  • We've put additional filtering in place for any incoming text messages from the Tox network, including friend request messages. We now filter out any non-printable characters. This may break certain newer emojis such as a skin-toned handshake emoji (🤝🏾) on older systems (from 2022 or earlier). If you use our provided binaries, it should just work, as we build our binaries with the latest Qt version and dependencies.
  • We've hardened some of the low level load/store functions used for settings. There almost certainly wasn't a vulnerability here, but they can no longer be abused directly if there ever will be.

We have, as a side effect, also upgraded the toxcore used in the (windows) release. There are a great number of outdated toxcore nodes still present in the network, holding back new feature adoption such as the new group chats with moderation capabilities.

Check out the release candidates' release notes as well for a full list of changes since the 1.17.6.

As always, report any bugs or issues you find or features you'd like to see to our issue tracker. We've got a long way to go, but we're come a long way as well. Enjoy the release!

Bug Fixes

  • Avoid occasional crash when changing video devices or closing qTox. (2bd629fe)
  • Security: Harden the persistence/serialization functions. (e4735668)

v1.18.0-rc.4 (2024-12-31)

One more release candidate before our final release.

Features

Bug Fixes

  • Fix uninitialised read in contact circle widget. (afe24fbe)
  • Don't crash when closing the app after logout. (b4b0d8c9)
  • Don't crash on logout. (b244e206)
  • Avoid hanging when capture device permissions denied on macOS. (9e4b17b8)

Performance

  • Improve performance of video frame buffering. (ffcef564)

v1.18.0-rc.3 (2024-12-23)

qTox version 1.18.0 release candidate 3

Performance

  • Don't log verbose toxav messages. (349b6101)

Bug Fixes

  • Fix occasional deadlock in ending a video call. (73c253d7)
  • Disable video device selection box during call. (527c9096)
  • Make sure camera access is gained on macOS before calling. (3ebea6e9)
  • Make camera input work again on macOS. (a5d0bcc4)
  • Don't crash on quit during AV call. (ffd7b4e1)

Features

  • Add many missing emojis from the smiley packs. (2897ee56)
  • Add DBus desktop notification support. (fb4df420)

v1.18.0-rc.2 (2024-12-15)

Performance

  • Delay debug log loading to show time. (7525725b)

Bug Fixes

  • Use the last /src/ to find the source root. (62c093a9)
  • Show actual smileys in the smileypack selector. (97bc8fcd)
  • cmake file dependencies (de7c4909)
  • Fix two memory leaks. (91a02bc5)
  • Fix use-after-free when closing qTox during a call. (6da12d60)
  • Typo fix unavaliable -> unavailable. (037ac452)
  • Allow building qtox without update check. (55ec9119)
  • memory error on exit (3721ad0d)
  • Correct the tab completion regex so it works with Qt6. (1680064e)
  • security: Only allow printable characters in incoming messages. (18df99a3)

Features

  • Add caps-lock indicator in password edit on macOS. (70344bad)
  • Add a Qt object tree view in the debug widget. (a3828eca)
  • Add system tray notification support. (cfbd2bff)

v1.18.0-rc.1 (2024-11-23)

Bug Fixes

  • Fix use-after-free bug in desktop notifications. (34526c8e)
  • Add Caucasian Albanian Script writing system mapping. (42b0bc15)
  • remove extra newline in log (8fe87f17)
  • Make checkboxes more visible on wayland. (76713ff8)
  • Don't create huge font weights in themes. (9d0562a7)
  • Fixed the style selector in UI settings. (ee92a02e)
  • Don't show unicode replacement boxes on unsupported languages. (824637cb)
  • Update more deprecated stuff (e6cb2b2b)
  • don't link emoji resources into targets that don't need them (cd8af735)
  • change color equation for groupchat names (bde6dc0d)
  • correctly destroy on group remove (c9505728)
  • Replace deprecated QMutex::Recursive with QRecursiveMutex (8276141e)
  • clear custom style before update style (a97c5331)
  • Qt ressource system usage (0335f203, closes #6144)
  • Usage of random (f5f42233)
  • add missing type for Qt slot (ad139d67)
  • remove unused variables (e67cdadf)
  • Remove unnecessary null pointer check (20f948bc, closes #5785)
  • Remove empty file (e6381861)
  • empty username causes mention on ever message (641fba35, closes #2119)
  • update workerStb (dedbd184)
  • data validation during the search (fix: #5791, #5723) (e3c35c91, closes #5723, closes #5791)
  • AppManager: Don't create temporary copy of argc (2197bce6, closes #6641)
  • CI:
    • Fix commit message check on single commit PRs (e48c5573)
    • Remove "setup" from Windows zip file name (2f92a5f2)
    • Don't upload Windows setup exe to nightly release (c726b9ce)
    • Correct Wine lib path for winehq manual install (80a0a4ae, closes #6481)
    • Build in current dir in build-qtox-linux.sh (11f7f619)
    • Fix memory leak in core_test (9cd9da4a)
    • Update Wine from 5 to 7 in docker image to fix unit tests (79feb19d)
    • Grant action content write permission for release upload (1bc72ab1)
    • Fix regression in logging from docker compose run (44d867f6)
  • FriendList: exclusion of possible undefined behavior (a1b08d64)
  • History:
    • Heal duplicate peer entries with different case (9a8706a6)
    • Strictly check public_key during database upgrade (f2957013)
    • Fix alias removal SQL query after group history addition (4f45f30e)
    • Heal invalid resume_file_id's saved to history (f777aa88, closes #6553)
    • Don't cast file_id to QString before inserting (47ee51c6)
    • Correct SQL query for empty finished file transfer (2d6cc254)
    • Deep copy QByteArrays from SQL selects (27f19ec2)
    • Replace invalid Tox ID saved in peers table with Tox public key (9ac44ee0, closes #6485)
    • Fix qt deprecation warning (6c34fad9)
  • Paths:
    • Track portable state in Paths to updates paths correctly (0eb56fb9, closes #6443)
    • Default to auto paths detection mode (d0c120e0)
  • UI:
    • Centre message boxes on main window (c5fdb786)
    • Pass NetCamView's parent pointer to base QWidget (809c6957)
    • Use GenericChatItemWidget construction compact argument (f25e8558)
    • reorder the window title (d621d745)
    • contact list optimization (45b69519)
    • hide update related elements when -DUPDATE_CHECK=OFF (db8af056)
    • passing arguments from the CircleWidget constructor (e6bc355b)
    • add group widgets on start with "Activity" mode (b98801f4)
    • system translation not being updated (6527fd4f)
    • move update elements in about (31de0eaf)
    • implement and connect reloadTheme in leaf classes (3bf3128a, closes #5592, closes #5924)
    • don't notify of available update if local version is newer (82547263, closes #6112)
    • using a separate css file (03124454)
    • updating friends list color at runtime (d01fed92)
    • quit qTox on Ctrl+Q when "Close to tray" is enabled (f9f634b3, closes #5925)
  • Widget:
    • Incorrect removing of contacts (039f6ff0)
    • Update widget's core on core update (b429e562)
  • Windows:
    • Fix starting qTox from installer (beb38fa3)
    • Add missed openal dll since CI refactor (68ca7354)
    • iconengines not being installed (1e50c123)
    • libsnore-qt5 not being installed (827b2c22)
  • appImage:
    • Patch snore to enable notifications in AppImage (b05c069d, closes #6411)
    • Bundle libpangocairo which was incompatible on Arch (75648d04, closes #6454)
    • Include additional needed glib for RH based distros (12ac8332, closes #6339)
    • Patch manually copied libs to include rpath for local dir (cb8a095f)
    • Handle no TRAVIS_TAG or TRAVIS_COMMIT in AppImage build (aee189d4)
    • Use external binary path when enabling autorun from appimage (da5c165f, closes #6241)
  • apparmor:
    • Allow access to Aspell personal dictionaries (6a21d962)
    • Allow spellchecking (2ebf51b5)
  • build:
    • Remove unnecessary dependencies for Windows build (4006d9b5)
    • Remove unnecessary dependencies (0681614e)
    • Add std threading support in Windows build (057f921a)
    • don't connect UpdateCheck when -DUPDATE_CHECK=OFF (50063f76)
    • include QVector type (89fa7db9)
    • cache debug deps during 2nd stage (a686468b)
    • make pkg-config verbose about why it fails (e4c7d81a)
    • appease appstream-glib validate (dbf58826)
    • fix OpenAL Soft failing to build with newer CMake (b8d3182d)
    • fix SQLCipher build issue with OpenSSL 1.1.1 on Windows (cf8b89c5)
  • buildscripts: Fix license text for MIT derived works (88edc66f)
  • chat:
    • Undo removing of chat message insertion (b82580c8)
    • Stop spellcheck from leaking messages to logs (813643ad)
  • chatform: Scroll to bottom on load, broken on refactor (69cd33b7, closes #6314)
  • chathistory: file transfers sometimes show wrong author name (1bc97ef2)
  • chatlog:
    • Display correct system message timestamp in chatlog (25223119)
    • fixed rendering of new messages when scrolling up (1aad9194)
    • Remove invalid usages of raw chatlog indexes (4b691f93)
  • cmake: use the 'STATIC' argument for 'translations_library' (5ba63af9)
  • contacts: window with multiple friends contacts (15459452)
  • core:
    • Correct getSelfDhtId's toxcore API (faa72d56)
    • One time reset of user bootstrap node list to default (4580d3f1, closes #6452)
    • Fix logic error retrieving TCP port (6f912370)
    • Use node's TCP ports when connecting to TCP relay (e7e30ada)
    • Don't apply Windows file transfer rename on other platforms (3180d23e, closes #5242)
    • Fix missed ToxId to ToxPk constructions (56eed63f)
    • Track avatar offer file size to avoid cancelling transfers (3ac37a54)
    • extend RAII locker lifetime until end of function (55fb28b0)
    • read proxy type after personal settings are loaded (5dcea74d)
  • coreav:
    • prevent racy access to call variable (c507d266)
    • change some lock to write locks (dfcfb7d5)
    • fix assert because c-toxcore calls from unexpected thread (141cbf88)
    • avoid deadlock between CoreAV, main and Audio thread (4b9e4a57)
    • cleanup assertions (9499925f)
  • corefile: Close files of broken file transfers (5de54039, closes #6500)
  • crash: Handle nightly tag name in update check (ddebf6ee)
  • db: prepare and execute queued statements one at a time (af02542e)
  • docs:
    • Add brew prefix to macOS build instructions (3c682abc)
    • Correct Windows cross compile example command (0706c906)
    • add sqlcipher to required arch deps (82d5beee)
  • doxygen: Re-enable deploying of doxygen to qtox.github.io (d3995bc8)
  • extensions: Add toxext to CI scripts (670457a7)
  • filetransfer: Fix UI inconsistencies with pause/resume (3bc4aa52)
  • flatpak:
    • Build flatpak qTox and dependencies in Release mode (9ea6d7e8)
    • workaround unstable flathub downloads (69677831)
  • gitstats: Re-enable deploying of gitstats to qtox.github.io (5a77a18f)
  • group: Change join leave message setting default to false (0df98ce6)
  • groups: Fix invalid group list on group member join (fd243738, closes #5838)
  • i18n: Various English fixes (11b34c84)
  • ipc: allow IPC under windows by not using std::random_device with mingw (6105af82, closes #2917)
  • l10n: Added comments in qTox.desktop file (f4b7ea52)
  • libav: remove usage of a private field see signalwire/freeswitch#2202 (42303a9b)
  • logging: check if version is stable before other checks (0ee37a7a)
  • login:
    • fix a crash when many dialogs are open (c37a05f4)
    • show login screen when autologin fails (a3bbf5c4, closes #5781)
  • macOS:
    • Represent autorun state in UI persistently (ad6b5104)
    • Fix macOS autorun not loading at start (00936911, closes #2814)
    • Update video API usage for newer libavcodec (15673a52)
    • update deprecated AVFoundation API (65ff532a)
  • main: Construct ToxSave event handler (7565f8b3)
  • model:
    • take QObject receiver argument to interface signal connection macro (24e4ec37)
    • stop interfaces from inheriting from QObject (82a4f1b4)
    • return connection from interface macro (41b2b35c)
  • net: check if the node has all needed fields (ca4f14cc)
  • notification: hide snore warning log spam (ca4f9df1)
  • osx:
    • Fix product name when prompting for mic and camera permissions (fb449056, closes #6261)
    • Allow rebuild using build script (56151ea6)
    • Fix missing variables in macOS build script (360cde9d)
    • OSX updater dependency moved. (6d99e909)
    • Add camera and microphone usage description. (5f1338dd)
  • preview:
    • handle libexif missing fields, don't accept 0-value orientation (535b01a8)
    • Don't log a warning on missing exif orientation metadata (9da1e3bb)
    • Fix exif orientations (99c1753a)
  • profile:
    • load settings before starting Core (bb26d4a0)
    • write .tox file immediately on creation (49c8f9b9)
  • security: Do a better job of anonymising the log output. (ac999816)
  • settings:
    • Heal invalid ToxPk saved to Personal Settings (dd952408, closes #6506)
    • Initialize gain slider to correct position (ce1ecb42, closes #6285)
    • Unlock Settings mutex before emitting setting changed signals (0f5ba08f, closes #6218)
    • Emit correct signal when spellchecking is updated (68010986)
  • smileys: fix flag emojis (034d7671)
  • test: Don't rely on row IDs after moving tables (dc462678)
  • tests: Mock Settings for SmileyPack test (b894531c, closes #6530)
  • tools:
    • Add Windows to toxcore version update script (1d1d2b26)
    • Use correct hash when automatically updating flatpak version (1f1cb2f5)
    • use a subdirectory for release source archives (7dfd93bd, closes #6203)
  • toxcall:
    • move ToxCall ownership to correct Thread (6b468e41)
    • handle Null sink correctly (bf3921ce)
  • toxext:
    • Update toxext to fix memory corruption issues (761c2fb2)
    • Protect use of toxext modifying functions (5ddb8caa)
  • translation:
    • match text to translation files part 2 (98976547)
    • match text to translation files (251beb5b)
    • Fix Simplified Chinese format and add a message (d48d02a1)
  • travis:
    • Don't call brew update in Travis CI (abad3fc0)
    • Install virtualenv for nightly build upload script (a68f5bcc)
  • video:
    • Close video device after checking V4L video modes (9688a1e8, closes #6346)
    • only list video devices with video capture capability (98a818cb, closes #6276)

Features

  • Add desktop notifications support on Linux. (edbbee9b)
  • Add debug log view. (bd07e0ff)
  • Add new translations: Bengali, Latvian, Flemish, Vietnamese. (3423eb59)
  • add Fcitx and Uim support to AppImage (bafce795)
  • save selected search text after scrolling up (a6a0481d)
  • check chat status before start a search (76679de2)
  • CI:
    • Disallow unsafe implicit casts to QString (9571434d)
    • Disallow implicit casting of QString to char* (b5aa5dac)
    • Disallow implicit casting of QByteArray to char* or void* (f1b40116)
    • Run clang-tidy check in CI (c828a16b)
    • Run AddressSanitizer on Fedora build (bf6d0159)
    • Output on test failure in Linux CI (8d1b0d6c)
  • Core:
    • Add error parsing for Tox_Err_Options_New (2a2b0799)
    • Add error parsing for Toxav_Err_Bit_Rate_Set (a5660fb6)
    • Add error parsing for Toxav_Err_Call (47a05c75)
    • Add error parsing for Toxav_Err_Call_Control (47a20f60)
    • Add error parsing for Tox_Err_File_Send_Chunk (6c9c3809)
    • Add error parsing for Tox_Err_File_Control (978bcde5)
    • Add error parsing for Tox_Err_File_Get (040beae5)
    • Extend and deduplicate Tox_Err_File_Send error parsing (aff56633)
    • Add support for retrieving self DHT ID and port (4f9ca0a4)
    • Store default bootstrap list separate from user list (08fdd3a2)
    • use user editable bootstrap node list (365a452f, closes #5767)
  • History:
    • Add a GUI error on database schema mismatch (f4e64ee7, closes #5683)
    • Enable group history (0352ada0, closes #5452)
    • Remove group history on quit when selected (1142cc03)
    • Add self join/part messages (e740859e)
    • Save/load system messages to history (18109b2f)
  • Settings:
    • Add GUI notice for global settings upgrade failure (efc641ef)
    • Add system for versioning and upgrading Settings (2b41a06b)
    • Add setting for hiding group join and leave system messages (1be5b99d)
  • UI:
    • Add UI for removing group history (cd3c7b39)
    • Add UI For controlling group join and leave system messages setting (069ab92f)
    • add warning in GUI when running unstable version (b51e4668)
    • Make auto-accept size 0 wording less ambiguous (cbead167)
  • apparmor:
    • Update AppArmor 2.13.3 profile (a01d3144)
    • Add AppArmor 2.13.3 profile (2d22a76e)
  • build:
    • Add option to enable ThreadSanitizer (be167c92)
    • add nix-shell support (faeb699f)
    • use Debian Buster for Windows cross-compilation (4fdedba6)
  • chat: Add snore to Windows build and install for desktop notifications (7409e6b4)
  • chatlog:
    • Add support for ed2k file links (7a3474bf)
    • Add gemini:// to hyperlink regex (355dfb7a)
    • Disable join and leave system messages based on setting (de924cfd)
    • Re-implement sliding window ChatLog view (b36a38e7, closes #5878, closes #5940, closes #6223)
    • Add image preview on paste (7c218b38)
    • Add SystemMessages to SessionChatLog (916834fb)
    • Upgrade db schema to support system messages (e9131d33, closes #6221)
  • coreav: add assertions to check for threading errors (29f659c6)
  • docs: Add a security policy for disclosing vulnerabilities (a99735d0)
  • extensions:
    • Split messages on extended messages (26701283)
    • Update documentation (a11a65af)
    • UI updates for extension support (b7158150)
  • filesform: Add in progress transfers to files form (257a19ca)
  • groups: Allow being in group call if only member (46d57c68)
  • haiku:
    • Haiku doesn't use sys/errno.h (36463f6f)
    • Don't use fstack-protector on Haiku (d413e7b1)
  • i18n:
    • Handle English plural forms in translations (0cb222c0)
    • Check for new translatable strings on every PR (11450afa)
  • ipc: make IPC user specific (2fe19180, closes #6076)
  • l10n:
  • logging:
    • Hide toxcore spam when using IPv4 (ac4f01cf)
    • check if current code is tagged (90cc9628)
  • login: generate a GUI error when auto login fails (88322347)
  • macOS: Build deps from source, giving backwards compatibility (e80db6a5, closes #6260)
  • messages:
    • History and offline message support for extended messages (5f5f6128)
    • Multipacket message support (7474c6d8)
  • notification:
    • Notifications now always replace the previous one (6e163ca5)
    • Notification string generator for multiple messages (a9f6543e)
  • proxy: provide commandline tools for proxy settings (3e1e1f60)
  • style: Add clang-tidy config (877ef4ae)
  • test:
    • Bootstrap core_test off second local tox instance (5f870c28)
    • Add mock bootstrap list generator (6f3fb30f)
  • tests: Merge core and core_online tests (7d773930)
  • windows:

Performance

  • reduce repainting in animations (3c58b992)
  • Settings: Make personal settings saving consistently async (a1f7c71f)

v1.17.6 (2022-03-07)

Fix Windows installer lax permissions at non-default install locations

Bug Fixes

  • Windows: Correct Program Files directory for 32-bit Windows (47406e74)
  • macos: update deprecated AVFoundation API (484ea7ce)

v1.17.5 (2022-03-05)

Fix Windows installer lax permissions at non-default install locations

Bug Fixes

  • Update video API usage for newer libavcodec (f5fabc2f)
  • Windows:
    • Restrict non-default install directory permissions (553bd47e)
    • Build NSIS installer in Unicode mode (9f84184b)
    • Define installer language before trying to access it (1353fc93)

Features

  • Settings: Add setting for hiding group join and leave system messages (916e797c)
  • UI: Add UI For controlling group join and leave system messages setting (423049db)
  • chatlog: Disable join and leave system messages based on setting (ee0334ac)

v1.17.4 (2021-12-15)

This release only updates dependency versions including toktok/c-toxcore to v0.2.13 to address CVE-2021-44847. No code changes.

v1.17.3 (2020-11-24)

Fix failing to start on macOS Big Sur. Update deps for Windows, macOS, flatpak.

Features

  • apparmor:
    • Update AppArmor 2.13.3 profile (99321c95)
    • Add AppArmor 2.13.3 profile (3db20a60)
  • osx: Add support for macOS 10.16, remove support for macOS 10.13 (a93c5994, closes #6252)
  • windows:

Bug Fixes

  • apparmor:
    • Allow access to Aspell personal dictionaries (44299604)
    • Allow spellchecking (7cc0e695)
  • build: cache debug deps during 2nd stage (19005926)
  • osx:
    • Update deprecated QDateTime and QProcess APIs (b42b1f5e)
    • Don't tap kde-mac/kde since it us deprecated and unused (bc2d41b4)
    • Allow rebuild using build script (8f3a621f)
    • Fix missing variables in macOS build script (b40ba27b)
  • tools:
    • Add Windows to toxcore version update script (bd45095b)
    • Use correct hash when automatically updating flatpak version (4fc0fea0)
    • use a subdirectory for release source archives (953e542d, closes #6203)
  • travis: Install virtualenv for nightly build upload script (0413e8b3)
  • ui: don't notify of available update if local version is newer (9e99db51, closes #6112)
  • windows: iconengines not being installed (bedcf683)

v1.17.2 (2020-04-26)

This is a release to fix our automatic deployment scripts, no code changes.

v1.17.1 (2020-04-23)

qTox v1.17.1 release. For details see CHANGELOG.md.

Bug Fixes

  • ci: remove jenkins deploy step (48c688bf)

v1.17.0 (2020-04-20)

Since this is the first release in more than a year the changelog is quite huge. The most notable user facing changes are group chats that stay intact after disconnects or client shutdown as well as the very often requested dark theme. Advanced history search was added, as well as file transfers staying in chat history after client restart. There are of course also tons of fixes, namely much increased stability of audio and video calls as well as audio group calls.

For v1.17.0 binaries, see v1.17.1.

Bug Fixes

  • add missing type for Qt slot (b5785a1b)
  • remove unused variables (7e4f7f04)
  • hide current date at the top of the chat (bbbbc6aa)
  • scroll bar stuck to bottom (fix #5755) (38df897e, closes #5755)
  • remove reconnect button (909deb0f)
  • update workerStb (177bf12f)
  • data validation during the search (fix: #5791, #5723) (acb91ed7, closes #5723, closes #5791)
  • empty username causes mention on ever message (db802822, closes #2119)
  • check time for get num messages for friend (fix #5714) (b0f32379, closes #5714)
  • Call 'tr' in place, where text is accessible (15d72a96)
  • register RowId meta type for use in fileInserted signal (18b52ce5)
  • initialization theme (d517c3a6)
  • fix uninitialized variable (ea18b613), (52f0e2db)
  • Store groupId in D&D mime data (8499a710)
  • check valid date in getDateWhereFindPhrase (c3095ab1)
  • fix memory leak in CoreAV and missuse of std::uniqe_ptr (d776e6c3)
  • add remove history prompt, clear log area after remove (e6d40be7)
  • show the date every new day (fixes #5280) (8808c630, closes #5280)
  • correct format log files (ee0d4bb8)
  • AVForm: don't load gain when device not ready (cef773c4)
  • CircleCI: make cache depend on script files (7bbbb737)
  • TravisCI: build windows for release tags too (c53a58e6)
  • UI:
    • add vertical spacer to profileform (c13ede85)
    • fix auto-accept directory setup display (8c5cab93, closes #5917)
    • fix reversed mute/unmute hover text (0055c776)
    • fix away icon shape (b4450319, closes #5684)
    • fix 2 (1c02dc2d)
    • minor fix (161a773d), (4a6ebff6)
    • revert CMakeLists.txt (821ed526)
    • apply requested changes (f8b54b39)
    • don't forget to update UI (84e41303)
    • Added option to hide message sender and contents (3b305dd0)
    • Improved notifications (1bbe210c)
    • don't duplicate group peer name in tooltip (87a53fad)
    • show empty status as placeholder instead of as status (e9f87951)
    • fix typo, add plural to translation (0dc46cdc)
    • update peer label's style after setting audio playing property (47795073)
    • update UI when leaving group call due to being last member (7f802f59)
    • add tooltip to about friend window (4e76084c)
    • provide context when emitting friendWidgetRenamed() (0b6d6d77, closes #5495)
    • tighten idealSize() for chatlog Timestamps (c9f3830b, closes #3957)
    • remove useless variable (2557f5e0)
    • oops (d54e2106)
    • fix anything (89cb2425)
    • groupcolors fix2 (a4a8e361)
    • groupcolors fix1 (ab89ca2d)
    • allow adding friends with Tox URI (dec90ad8, closes #5385)
    • require . in www.url regex matching (13b15a87)
    • re-sort friends list on friend rename (aa7542f7, closes #5387)
    • only add chat message for call once (5f48fd4e, closes #5370)
    • amend QCheckBox background chromatic aberration (b7019a4f)
    • avatar highlight on hover in profile (064dccf8)
    • remove focus window option, fixing alert() on Windows (91bdd40f, closes #4762)
    • by default, don't grab focus on new message (dac1582b, closes #5284)
    • don't scale avatar to point of cropping in chat form header (dc7ddbeb)
    • Display most recent group member's name instead of <Empty> (11131fa0, closes #5294)
    • fix the context menu enabled/disabled behaviors (bc69c8c9)
    • don't emit filename change windows for every chat (291e86d9)
  • activity: change last activity time from QDate to QDateTime (d55332ee)
  • alias: allow clearing alias from chatformheader (dfec934f)
  • apparmor:
    • Make network rules more strict (11a32e33)
    • Fix typo in file path (4d9cc721)
    • Fix screenshot capture under AppArmor (5304ba4c)
    • Backport fix from dri-common abstraction (f6c11c9b)
    • Fix openSUSE-related AppArmor denies (7a1fb927)
    • Fix font-related denies on openSUSE (488b8a86)
    • fix file dialog denies (4565ac1b)
    • fix file dialog on KDE desktop (dffe00b4)
    • backport kde abstraction (e1ba972d)
    • Fix spam of DENIED messages on openSUSE (c8eb34f0)
    • Fix DBUS denies on Kubuntu 18.04 (1d120b15)
    • Backport dri-enumerate abstraction (79f800b3)
    • Fix .local/share/qTox/ access (e13b8a97)
    • Fix access to openssl configuration (514cd368)
    • Fix dbus access (a6c01eb0)
    • Fix hunspell access (577aeb8f)
    • Fix accessibility DBus access (a67faf29)
    • Fix qTox cache access (aef47056)
    • Add ibus abstraction (9fc89338)
    • Backport qt5 abstraction for v2.12.1 profile (6aa4435d)
    • Fix loading libraries from custom install prefix (5fad77b9)
    • Fix AppArmor profile for version 2.12.1 (f8f7a2d1)
  • audio:
    • correctly loop incoming call sound (85f90ab2, closes #5680)
    • input device not closed under certain circumstances (80f5cb5f, closes #3625)
    • specify format for sounds and make sounds follow it (5d65ab38)
  • autocomplete: don't auto-complete own nick (f188409b)
  • avatar:
    • reject avatars that are larger than 64KB (6e2ac12d)
    • set friend to identicon on empty avatar receipt (0c757356, closes #4724)
  • blocked: change blocked icon to match other used icons (ff5c9052)
  • build:
    • disable Werror by default, keep enabled on CI (9888bc2d)
    • appease appstream-glib validate (98a364ea)
    • fix OpenAL Soft failing to build with newer CMake (2419b627)
    • fix SQLCipher build issue with OpenSSL 1.1.1 on Windows (8be99c08)
    • fix cmake command in appimage/build.sh (e9665d51)
    • install and use AppImageUpdaterBridge (837416b9)
    • bundle missing libjack.so* to work with Fedora Workstation (e50b3bbd)
    • copy OpenSSL libs to AppDir (7153c1f2)
    • add required private slots (a9a953cf)
    • fix ifdefs (d23e4fd7)
    • fixup CircleCI 2.0 config (9caeb943)
    • show brew compilation progress to avoid being killed by Travis (fd709722)
    • manually update brew to workaround autoupdate bug (c9cb5fef)
    • add cmake_policy for CMP0071 to suppress warinings in cmake (6a240141)
    • fix default cmake build not actually being debug (edb306c7)
  • calls: Fix SIGSEGV on quit while in call (87eed97a)
  • chatform:
    • Prevent date line oscillations maxing CPU (64bae38b, closes #5620)
    • don't try to send empty action messages (89e94b6f)
    • fix stuck spinner on messages not at end of chatform (9819aefc, closes #5763)
    • fix a crash when there are no messages to load (040c6b95)
    • crash after opening chat in new window (59a59fdc)
    • add hack to avoid Qt bug on chat show (e8d48e87, closes #5570)
    • Issue 5115, use QSharedPointer for groupChatForms (37e5b6ce)
    • don't attempt to send messages to offline friends (d9e587e4)
    • mark message with triple click (2cdff7e9, closes #5211)
  • chatlog:
    • enable dynamic view range in chatlog with history disabled (a7f34959)
    • fix stick to bottom behavior (f2fa6010)
    • update precise selection when chatlog content changes (b95bac23, closes #5769)
    • Prepare geometry changes on chatline proxy (74d0b47c, closes #5818)
    • update multi line selection on chatlog change (2bba1217, closes #5769)
    • update timestamp when db is slower than ack (ca397aeb)
  • ci:
    • quote shell comparison to avoid errors when unset (475128d1)
    • fix travis' window build in debian docker by upgrading libseccomp2 (93c9eef5, closes #5874)
    • upgrade travis to xcode9.3 to get macos 10.13 with brew support (6fb5b205, closes #5515)
    • increase bsu_test timeout (81901696)
  • core:
    • message when peer changes group name (0b5f7511, closes #6001)
    • avoid using stack allocated memory past end of scope (9b23abc6)
    • avoid logging which bootstrap node is being connected to (731a4985)
    • don't log critical on every group join (e4f73011, closes #5118)
    • save tox profile when updating group or friend states (3d7a872f)
    • don't set core status on connect, just update UI (602671c9)
    • correctly relink ui/core when core is changed (17d5d552, closes #5710)
    • if your username is empty, use toxPK instead in groups (72bcc6ac)
    • also print PKs in group userlist (066bdc5c)
    • this should resolve message handling in persistent groups (ee500703)
    • fixed syntax (7a437c74)
    • ignore mentioning users with empty nicknames (96ad27f6)
    • fix for users without nicknames (2000bf55)
    • update group peerLists on local changes (01f79b0d)
    • support user aliases (feee0e76)
    • this fixes displaying nickname refreshes in groups (9b261fd8)
    • fix formatting (c136a17f)
    • simplify the code (8c239c8e)
    • fixed Timestamps (6872ead8)
    • remove pgc code (10a4b249)
    • set username and status on new profile (109a4ffd, closes #5369)
    • ensure QTimers are moved with the objects they belong to (26206a35)
    • Fix misuse of toxcore tox_file_send API (f988177a)
  • coreav:
    • prevent racy access to call variable (dfeca3e9)
    • change some lock to write locks (26fcea06)
    • fix assert because c-toxcore calls from unexpected thread (e340688b)
    • avoid deadlock between CoreAV, main and Audio thread (723a8e5d)
    • cleanup assertions (a4ac6d67)
  • corefile:
    • cancel file transfer when peer goes offline (6522988e)
    • handle empty avatar transfer in core (1628d495)
    • include file id in map when sending empty avatar (b1eefc3f)
  • db:
    • Support opening and upgrading to any of three SQLCipher params (2c59c920, closes #5952)
    • Add half-upgraded cipher params (deb7fbb6)
    • fix schema log to display correct version (92e51b05)
    • show full sqlite error message (86b55a0f)
    • prepare and execute queued statements one at a time (d98fe85a)
    • preserve user_version when adding or removing database password (7e07025d)
    • support databases with either SQLCipher 3.x or 4.x defaults (dafb17b5, closes #5451)
    • use SQLCipher 3.x crypto even with SQLCipher 4.x (e80dbe2d, closes #5451)
  • docs: remove extra comma in README.md (fee147d7)
  • flatpak:
  • friendlist:
    • don't update friend's last activity on every start (5f40ed8d, closes #5035)
    • don't skip half of friends when sorting by activity (3f922100)
  • group:
    • don't display netcam view for group voice calls (5b31effd, closes #5918)
    • use valid pointer, allowing source invalidation (765fce94, closes #5681)
    • Condense invalid title handling logic, clang-format (aeddf482)
    • fix logic oversight and code style (a1a37497)
    • set default group chat title when provided title is invalid (f77a0621)
    • always retain own name when updating group peer list (c772db3b, closes #5686)
    • treat empty peer names like empty friend names, by showing pk (04f1ccda, closes #5660)
  • groups:
    • Correct color of labels in group call (3205c2c4), (f27eb5b7)
    • Avoid segfault when resizing group audio window (ce9e820b), (d4d4308e)
    • Fix invalid group list on group member join (836718aa, closes #5838)
    • reduce group message size limit by 50 (6c77d57d, closes #5760)
    • remove logic that blocks parseConferenceSendMessageError (9099eea0)
    • enable AV groups after load (33d42c97, closes #5509)
    • don't add friend alias to groups they aren't in (6801298e, closes #5657)
    • fix assert on group invite accept (0f5ad725)
    • add peers if already playing audio when netcam created (e4891687)
    • don't add peers to netcam view until they play audio (7c13b8b7, closes #5536)
    • check for label in timer audio playing timer callback (d2508e7e, closes #5511)
    • avoid having to lookup peer pk (13afbf7e)
    • don't invalidate all audio sources when peer list changes (8422c09f, closes #5508)
    • don't freeze when opening AV settings during group call (093962e3, closes #5510)
    • correctly show peers in the call after joining call (d6abf76a, closes #5506)
    • only leave audio call if in a call (92d3c959)
  • history:
    • check history settings when getting initial chatlog idx (c906cdf5)
    • Prevent invalid history access (e3e6e1d9)
    • move stuck action messages to broken_messages table (746314ba)
    • display broken messages UI with error icon (1a726b54)
    • select broken messages from History, track in ChatLogMessage (f6a15366)
    • move stuck pending message into broken_messages table (b28dc300, closes #5776)
    • handle errors during db upgrade (f72f3f71)
    • select only pending history for the requested friend (64aa3eae)
    • create file_transfers table in upgrade (c12605db)
    • save name to history for friend invite message (2ccb1ec1)
  • icon:
    • use Qt tray icon in all cases, remove platform specific backends (e85d3f52, closes #5859, closes #5881)
    • make busy notification icon translucent in middle (da4928b7)
    • centre taskbars (84836cf6)
  • interface: use virtual destructors for all interfaces (2b981d88, closes #6006)
  • ipc: handle ipc failure gracefully (9dd08397, closes #5740)
  • log: don't attempt to close log file if it failed to open on exit (fae9066b)
  • logging: only log toxcore messages above TRACE level (7a98ea2d)
  • login: show login screen when autologin fails (e55e50d5, closes #5781)
  • loginScreen: make loginScreen return values comply with Qt standards (b4bc0934, closes #5781)
  • main: register IPC handlers only after starting up (bc3d3b3b)
  • messages: Fix broken sanitized name for notifications/alert messages (fef89d70)
  • model:
    • take QObject receiver argument to interface signal connection macro (3a5e28ff)
    • stop interfaces from inheriting from QObject (b7062b25)
    • return connection from interface macro (40e43586)
  • net: check if the node has all needed fields (bdb3b61e)
  • notification: implement review comments (cd50376c)
  • offlinemsg:
    • don't invalidate iterator before use (1f80173b)
    • fix offline message dispatching on history load (dbef0b75)
  • offlingmsg: only dipatch offline messages on friend online change (479b39f5)
  • osx:
    • Add camera and microphone usage description. (28341d84)
    • create /usr/local/sbin directory for brew package installation (e97b2705)
  • paths: fix bugs uncovered while developing test cases (0ea40905)
  • profile:
    • load settings before starting Core (0a30c1b1)
    • avoid deadlock with between main and core thread (aed820ba)
  • search: application crash when starting a search (77d55d5d)
  • settings:
    • apply toxcore settings for encrypted profiles (74828c92, closes #5682)
    • load personal settings before constructing core (bef9d4b7)
    • repair saved invalid proxy type due to #5311 (c8ffa1f9)
    • Add mutex locks for consistency (24f8bbf3)
    • save settings early on Windows shutdown (7839a260, closes #1969)
    • set default proxy type to None, enabling UDP by default (a2c44cbe, closes #5311)
  • status: use enum as UI property instead of untranslated string (881aa308)
  • test:
    • create db tables in defined order, verify indexes (05064771)
    • include <set> in groupmessagedispatcher_test.cpp (34e1e25b)
  • toxcall:
    • move ToxCall ownership to correct Thread (df7fe223)
    • handle Null sink correctly (f02943c1)
  • toxoptions: handle nullptr in parameters (6cce0dae)
  • transfer: Accurately represent pause state in UI (293a1d61)
  • travis:
    • update pyenv to python 3.7 after updating ubuntu to 16.04 (a44cce65)
    • fix latest nightly release not updating sometimes (9b67d261)
  • video:
    • support UYVY camera pixel format (4c42e0ea, closes #5479)
    • correctly align data passed to toxcore (5c1fe520, closes #5402)
    • don't pass invalid pixel format strings to ffmpeg (9de40e5a)
    • workaround for webcams that provide no fps value (3746bd13, closes #5082)
  • widget:
    • only change group title once (f7a2a7d6)
    • don't try to play audio if it's disable (2ea50309)
    • fix freeze on showMainGui (df62463e)
    • always force show window on activate event (08f368da, closes #5459)

Features

  • add Fcitx and Uim support to AppImage (710c32de)
  • save selected search text after scrolling up (dbf88007)
  • check chat status before start a search (ce570927)
  • prohibition to remove messages in group chat (5aeac56b)
  • remove part messages from chat (4c7ecb60)
  • edit position chat after load history (c2d5b422)
  • add action "Go to current date" (2a9648d1)
  • edit load history in search (8c4b1e00)
  • edit function "Load chat history" (6de1173c)
  • load messages from the database after date (b705ac80)
  • load messages from the database before date (fb2957c5)
  • add border for qrcode (191f89ff)
  • remove old boostrap nodes code (acef759a)
  • load bootstrap nodes directly from JSON (1f2bdf3a)
  • add color for links in palette (d35dbcc8)
  • edit reload themes (e146c11f)
  • show date in chat log (d0e8ba8b)
  • add class to retrieve bootstrap nodes from nodes.tox.chat (c3363a1f)
  • add message if text not found (4253301c)
  • Add spell checking (671b9456, closes #1301)
  • add function for generating a filter for search word only (17a97f1f)
  • add startButton in SearchForm (8dd83477)
  • add functions for change title and info in LoadHistoryDialog (3b7ba023)
  • use search settings (610e04aa)
  • create widget for search settings (87b340f4)
  • apparmor:
    • Add AppArmor profile install scripts (2e682c6e)
    • Add AppArmor v2.12.1 profile (d6ef3d2e)
    • Add AppArmor profile (89514eee)
  • build:
    • use Debian Buster for Windows cross-compilation (6bb2c7c6)
    • add the delta updater (5eea8ba2)
    • remove timestamps from build to allow reproducible builds (013771c1)
    • add option to enable AddressSanitizer (fd99dfd0)
    • update docs and tools to provide signed tar.gz (7ff1d605, closes #5278)
  • chatfom: make magnet links clickable (5b1bc7e5)
  • core:
    • add send message error handling (5289c999)
    • print a chat log entry when a user joins/leaves the group chat (cabed6de)
    • set group title for loaded groups (8db744a5)
    • prepare qTox for groupchat saving (a82eb6f3)
  • coreav: add assertions to check for threading errors (8e54805e)
  • db:
    • File transfer history review comments (25005c5c)
    • add file hash to file history (8427be66)
    • Hookup file history to the rest of the system (d9b39b31)
    • Database support for file history (567ddfb2)
    • Support schema version upgrades (fb805b9c)
  • files: Add maximum size to autoaccept downloads (c8716e9c)
  • groups:
    • Allow being in group call if only member (caf4f59f)
    • show who is in a group call before joining (ec07fd72, closes #5507)
  • login: generate a GUI error when auto login fails (74377430)
  • notify:
    • integrate desktop notifications into settings (4cb00957)
    • add desktop notifications using snorenotify (66e2c010)
  • offlinemsg:
    • Enable offline messages with no history (2283d0c1)
    • Force offline messages to always be enabled (d934cf37)
  • paths: create class to combine all qTox managed paths (3ee8c665)
  • proxy: provide commandline tools for proxy settings (31fec748)
  • settings: save friend list sorting mode (c8b156b3)
  • themes: make themes follow standard paths (133ac8de)
  • travis: publish nightly builds off Travis-CI (516c52ad)
  • ui:
    • add event icons for all statuses (17048c9c)
    • add update notification enabled with -DUPDATE_CHECK (6c9d7b59, closes #5335)
    • Added feature to generate colors for user names in tox groups (aaf5229e)
    • Add ui to setup spell checking (8d10fe47)

Performance

  • history: enable sql index on chat_id in history table (edd72906)
  • smileys:
    • create global regex object (0f90abeb)
    • use one big regex instead of constructing many small ones (58f8a14a)

v1.16.3 (2018-07-20)

This point release fixes flatpak build. No feature changes.

v1.16.2 (2018-07-15)

This point release fixes dialog spam from receiving invalid filenames and logs spam. No feature changes.

Bug Fixes

  • logging: only log toxcore messages above TRACE level (4dc74201)
  • ui: don't emit filename change windows for every chat (0ad80288)

v1.16.1 (2018-07-04)

This point release fixes our deployment of Flapak and AppImage on Github. No feature changes.

Features

  • deploy: upload Flatpak bundle to Github releases (59b5578c)

Bug Fixes

  • deploy: fix file path in AppImage deployment (64602f38)

v1.16.0 (2018-07-03)

The most notable additions in this release are a new fullscreen mode for video calls, a new call end sound and support for more camera resolutions. To distribute qTox in a more user friendly manner we now publish Flatpak and AppImage packages.

Bug Fixes

  • remove full screen btn from audio group chat (0d3f061b, closes #5202)
  • local toxcore install with bootstrap.sh (9ca38750, closes #5199)
  • simple_make.sh script (ead2152d)
  • Fix PR #5182. Eliminating the 'new' operator at ToxOptionsWrapper (9b6cd1c0)
  • Fix usage of unitialized functions (06ae7ead)
  • two crashes, uncovered by the persistent groupchat patch (48179b6a)
  • delete double initialization callDuration (dc1f5ea0)
  • Core:
    • fix use after free of proxyAddrData (26b59d31)
    • Clean illegal chars from filenames (ab85716f, closes #1304)
  • appimage: build sqlcipher form source (64a7c24b)
  • audio:
    • fix error introduced in 67f2605971cf43093c72f811e4df90ab70544dd6 (40d30153)
    • connect the correct audio callbacks (a00af087)
    • close the audio device after playing a sound (a3370173)
  • build:
    • Elimination the build warnings (Wunused-variable, Wreorder) (2cd65610)
    • correct install script nsis for win64 (25e69572, closes #4627)
    • make qTox compile with ffmpeg 4.0 and newer (44193176)
  • chatform:
    • name in window title and close detached chats (39968a31)
    • check for empty path when exporting profile (757791ee, closes #5146)
  • docs: update toxcore build instructions (b00cbc1d, closes #5133)
  • file: don't clean the filenames of avatar transfer (2a8ab03e)
  • history: don't save both action prefix and displayed name (dfd2de83)
  • leak: Fix few memory leaks (daaa5518)
  • login: start login screen on profile select by -p option (1af3ad69)
  • settings:
    • automatically disable UDP when a proxy is set (977b7fc9, closes #5174)
    • prevent segfault on wrong proxy settings (dfd5232e)
  • simple_make: correct variable initialization (1537f83e)
  • theme: clear stylesheet cache on theme colour change (8ba8ce91, closes #5092)
  • ui: increase number of low res camera options (72931514)
  • video: unsubscribe the video device correctly (e55f86c6, closes #5110)
  • wayland: Fix desktop file name in Qt properties (c1caeb58, closes #5141)

Features

  • Add ability to remove dialog from content dialog with middle click (aae567ed)
  • Add ability to quit group with middle click (228c431c, closes #2605)
  • Add middle mouse clicked signal for GenericChatroom (65fc1dc2)
  • appimage: build appimage on TravisCI (f7345e4d)
  • call: add call end sound (65896e45, closes #4905)
  • chat:
    • add UI option to mute group peers (2fae2a30)
    • full screen video chat (d6df8883)
  • core: put c-toxcore log messages in the qTox log (4faab075)
  • history: load set number of messages from history (ca32e77d, closes #3004, closes #3124)

v1.15.0 (2018-04-19)

qTox v1.15.0 release. For details see CHANGELOG.md.

Performance

  • ui: cache stylesheets to reduce memory usage (6d9d26db)

Bug Fixes

  • remove build date and time from main.cpp (23f6ad70)
  • don't use invalid reference after erasing element (1afed5f7, closes #5002)
  • IPC: Update profileName to update IPC ID after login screen (d2ad2107, closes #4948, closes #5025)
  • audio:
    • apply gain to both audio channels (f6622e40, closes #5039)
    • move audio timers to and start from audioThread (5d0f9509, closes #5053)
  • avform: Audio/Video settings tab #5011 issue bugfix (ad6ddfc4)
  • build: Remove unused vars, add default case for switch (bc18990f, closes #5006)
  • chatform: include pressed key(s) when changing focus (a8fc6e5c)
  • chattextedit: ChatTextEdit bug fix for issue #5020 Corrected (ebdc675c)
  • core: split messages on utf8 multibyte character boundary properly (869036f3, closes #4917)
  • docs:
    • include master key fingerprint instead of subkey fingerprint (3748ca6b, closes #5048)
    • update dependencies for Debian (7627d60a)
  • history: don't save own messages when history is disabled (b852809d, closes #5036)
  • import: don't use java-style iterator before first element (acea7c31, closes #4962)
  • login: Don't dereference null pointer (703876c3, closes #5032)
  • name: Clear alias on name change so that name changes are visible (c2410e0a)
  • offlinemsg: make faux offline messages purely event based (4951f909)
  • profile: don't error if no new avatar is selected (cfdc1cdb)
  • settings:
    • connect enable LAN discovery checkbox (55d8922d)
    • add missing enableTestSound to settings (65d59ba6)
  • ui: remove placeholder update UI (cb0f2635, closes #5040)
  • widget: Fix double free crash on group leave (81989406, closes #5004)

Features

  • Weblate: create script to automatically merge Weblate changes (96ae4284)
  • camera: add higher resolution camera options (04ecfe3f, closes #5065)
  • ui:
    • add setting for disabling new message notification popup (fcd88d65, closes #4979)
    • Add ability to disable LAN discovery (9f8b0fed, closes #4074)

v1.14.0 (2018-03-12)

qTox 1.14.0 release

For details see CHANGELOG.md

Bug Fixes

  • Fix crash on manipulation with friend (2a0c71d0, closes #4991)
  • Not quit on close if this setting is enabled (e73dc10c, closes #4949)
  • add search symbol ' in history (3e05279c)
  • Use real channels number (e74cc37a)
  • Allocate memory to input buffer (900f2a1a)
  • Call doAudio on timer timeout (2353a66f, closes #4904)
  • [un]subscribe output in avform (8c05399e)
  • Correct display the call confirm window (CallConfirmWidget) (f4fe343e)
  • elimination of warning '-Wreorder' (0869d3d8)
  • Use epsilon to compare float (91dabf11, closes #2394)
  • UI: prevent deadlocks on logout and profile delete (a49e3458, closes #4896)
  • avform: Hotfix for crash on video device change on 'None' (e3726ead, closes #4994)
  • build:
    • move Appdata file installation to /usr/share/metainfo (5db0bdd3)
    • add needed ffmpeg decoder to configuration (8973a521)
    • Add missing dependency for openSUSE (f7e089f7)
  • chatform: Broaden URL matching to include unicode (e564b85e, closes #4295, closes #4853)
  • chatlog:
    • Match multi-character emoticons again (9643e48e)
    • parse multi-length emoji properly (5df63f9c)
  • chatwidget: fix send file button not working (af1aebfd, closes #4854)
  • cmake:
  • core:
    • Adapt qtox to new conferences state change callback. (1111949f)
    • Use new callback API for bitrate set (d2deec7c)
    • Use new API for bitrate set (2c8f03da, closes #4935)
  • cpu: Reduce CPU usage by avatar render (8db61f96, closes #4843)
  • friendwidget: Use queued connection to avoid removing 'this' (9b4972e0, closes #4966)
  • group: Show correct count of user on first creation (0a590336, closes #4503)
  • install: Fix gzip invalid usage (266f63f6)
  • l10n: Correction of the translation into Russian (3fb42b75), (9229fdd1)
  • smiley: change license of classic smileys to CC BY-SA 4.0 (da7c12e2)
  • travis:
    • try working around Travis + gitstats issue (4c980945)
    • switch back to older Ubuntu Image (378daeaa)
  • video:
    • improve debug message (ff2fc18b)
    • choose first available resolution in preview automatically (81522dea)
    • use float framerates also for V4L2 (a2927de2)
    • allow not integer framerates (db7ee65d, closes #4866)
    • Fix square form of a video (8de8c14a)
  • widget: Fix status pic alignment (d9118cfc)
  • windows: %APPDATA -> %APPDATA% in template (f53b8282)

Features

  • Add the cmake option USE_CCACHE (aa9cff31)
  • update to the new c-toxcore 0.2.0 conferences api (d3d81bbd)
  • add hot keys for search (ffb51e8a)
  • optimise search in history (18fa8a74)
  • add search in text in group chats (7718734c)
  • remove search button and add line in context menu (8bb80c77)
  • edit load history for search (de9c9061)
  • add text search (b881d32d)
  • add form for search (863c46c7)
  • add a button to search (47d9da98)
  • Prefere new line as message break (3b52402f, closes #4113)
  • UI: new status icons for message notifications (4288785d)
  • avatar: Add outline hightlight on mouse hover (bb26485d)
  • groupchat: mark blocked users with different color (a729f2f8)
  • l10n:
    • add Macedonian translation (1a06f85d)
    • add Macedonian translation using Weblate (41420331)
    • update French translation from Weblate (a7e90969)
    • update Portuguese translation from Weblate (3bad087b), (8c3be522)

Performance

  • widget: don't save on setExpanded if categorywidget is unchanged Fix #4932 (b9845e1d, closes #4932)

v1.13.0 (2017-11-26)

In this release we added microphone voice activation and the long-awaited Github-like Identicon instead of default avatars. Of course also some bugs were fixed and new ones added :P

Bug Fixes

  • use only well known categories in the desktop file (4d36c23c)
  • add default return in Widget::getStatusIconPath to fix warning (8a9c34d8)
  • URL patterns based on RFC 3986 (6ffe4cd8)
  • using current setting in autoaccept dialog (70b235f2, closes #4777)
  • remove unnecessary semicolon to compile with -pedantic flag (37419825)
  • add missed <functional> header (5e455699)
  • Use correct initialization order (b41767d0, closes #4727)
  • remove unused variables (c089c80e)
  • build:
    • install libexif-dev on apt-based systems (2066c2e0)
    • do not build unix-specific test on Windows (d69023c9)
  • call: fix bugs introduced from ToxCall refactor (1394dd1b)
  • cameradevice: Save string in local variable to avoid errors (92def839)
  • chatForm:
  • core: Check that result of get peer name is successful (78262b41, closes #4802)
  • ffmpeg: don't use deprecated features (2f13796a)
  • friend: Add save friend alias on change (c0a7488c, closes #4706)
  • group:
  • identicon: don't set identicon as an avatar (676be5f6)
  • init: register AV connects and call after AV is ready (7170b485, closes #4651)
  • ipc: Add check if IPC init failed (c274cec8, closes #4785)
  • logout: Synchronously call showLogin to avoid multiple deletion (5046fc90, closes #4201)
  • platform: use result to remove -Wunused-result warning (729dc774)
  • preview: only downscale preview images, never upscale (45b3575d, closes #4733)
  • profile: Fix status message and username signal connection typo (d41031bd, closes #4760)
  • settings:
    • prevent signed overflow and associated warning (6d1b1f62)
    • Delete dynamically allocated members on destruction (94cb6ce1, closes #4670)
  • test: If json string not quoted is server error (7c744912)
  • toxme: Add #include <ctime> to toxmedata (2f1bf107, closes #4730)
  • travis: make Windows cross-compilation caching work (0966e91e)
  • ui: Set tooltip colour and background for all tooltips (b1f40dec, closes #4667)
  • video:
    • don't use pointers to temporary objects (5d6ae9ae, closes #4764)
    • prevent segfault when ending videocall (fed70602)
    • reduce default video bitrate to make it more usable (ecea4104)
    • Set toxav video bitrate to 0 if answering audio-only call (1613044c)

Features

Performance

  • smileys:
    • Cleanup smileys icons by timer (fa215949)
    • Use shared_ptr to automaticaly count references (c6400077)
    • Use lazy smileys loading (d83400bc)

v1.12.0 (2017-10-01)

This release provides many handy new features, most notable are mass import of contacts from a file, improvements around images in the chatlog and an experimental audio backend with echo cancelling.

Features

Bug Fixes

  • ATOMIC_FLAG_INIT can't be used inside braces initializer (f790747f)
  • Return value (f97c776a)
  • Fix crash on auto accept click in AboutFriendForm (bd6516ea, closes #4600)
  • Fix crash on accept or reject friend request (359a42f7, closes #4603)
  • Keep open and share X11 connection (ae5cb4bc)
  • IPC:
  • audio:
    • Fix signed and unsigned comparation (aa356bb7)
    • Echo cancelling supports only mono audio (809c5e6b)
  • autoaway: Improve autoaway algorithm. (9fe503c7, closes #3992)
  • avatar: Don't invert default avatar colour on connect (be324b93, closes #4629)
  • build:
    • Fix regression in how cmake finds libraries (b7ef73d4)
    • Update toxcore and Qt versions for Windows cross-compilation (80f1286e)
    • Add libexif to the Windows cross-compilation (95548c6a)
    • Fixed header file of libfilteraudio not being found (8108bfdc)
    • Windows cross-compilation didn't see libfilterudio (b0b157e7)
    • add install steps for libfilteraudio on OSX (8f2401fe)
    • make the OpenAL backend build with OpenALSoft < 1.15 (526701fa)
    • remove newline from timestamp (0843b770)
    • fix sqlcipher header inclusion (e7b5c93b)
  • chatform: Hide author on history like on new messages (28979f57, closes #4619)
  • dependency: remove unused qt sql dependency (5d159e02, closes #4567)
  • desktop: Improved the comment in qtox.desktop (38ef3ad6)
  • exit: delete heap-based QApplication before exit (a601df31, closes #4648)
  • friends: Friend request button target location (7f36ec92, closes #4631)
  • friendwidget: Add correct index calculation (ad58c176)
  • group: Fix crash on group quit (e606d3cb)
  • i18n: string Call with %1 ended. %2 is no longer translatable (56ac95da, closes #4552)
  • l10n: use native language names (817a9897)
  • platform: handle terminating POSIX signals (32b97cb9, closes #4470)
  • popup: Don't create two error popups for friend requests (1f787cc4, closes #4633)
  • receipts: Prevent double message send for received receipt (e9d63397, closes #2726)
  • threads: Always stop the camera device thread (8522141b)
  • tooltip: Set font colour to black for beige tooltip background (fc1ed101, closes #4641)
  • toxme: Remove HTML tags from ID to un-break toxme integration (5af1b4af)
  • widget: Add removing friends and group on main window close (638cdba5)
  • windows:
    • remove unneeded qt sql and fix problem when build dir exists (68c5cdf0)
    • workaround docker problem when extracting with tar (af15cd06)

v1.11.0 (2017-07-16)

The most interesting new features that were added in this release are export of history to plaintext file and outgoing call sound.

Bug Fixes

  • Invoke device methods in deviceThread (d86912ea, closes #2058)
  • Fix warning about stack protection (efcad35f)
  • Using foreach to iterate through CFLAGS_OTHER (9a0632b0, closes #4175, closes #4457)
  • Replace hardcored roaming path on QStandartPath (f616ff36, closes #4436)
  • Fix freez on circle removing (4d15aed5, closes #4419)
  • gcc-7 build (246e23ab)
  • IPC: Add update profileId in to IPC (c2f82f78, closes #4384)
  • bootstrap: qrencode url (f90da3d0)
  • build:
    • disable linux specific stuff on windows (a9d2b03c)
    • when building without XSS extension (ab622213)
    • add missing rcc options (6b7c0c73)
  • chatform: add space for current copy link (41a781d3)
  • cmake: fix icon for .exe file (cf06cc7a)
  • core:
    • use correct byte representation when bootstrapping (4e5b1915, closes #4385)
    • Add action message with friend request text (b25f5b5e)
  • emojis: Add text variants for the blush emoji (9a367ffb)
  • macro: Fixed clang warning about USING_V4L (dd59f5ee)
  • main: Use correct way to handle application quit (0b5b3fcf)
  • message size: Replaced TOX_MAX_*_LENGTH with API calls. (3963d3c1)
  • profile: set maxLength on userName QLineEdit (71a838b5, closes #4335)
  • qtox.pro: add openal.h and openal.cpp (d78a9790, closes #4380)
  • settings:
    • set default values for some important settings (da4f6222, closes #4513)
    • compute toxcore version in runtime (2d0a4e79)
  • ui:
    • Use native file picker dialog (42a9534b, closes #3494)
    • wrong size of svg images on buttons (5b0bf9fc)
    • add date message before info messages (ed453598, closes #4388)
    • do not save splitter state in multiple windows mode (7e5387ca)
    • Set Qt::Window flag in multi windows mode (6b767e47)
    • switch to settings after multiple windows mode (0c98f6a5)
    • restore splitter state (9d94cd0c, closes #4387)
  • v4l: Fixed CMakeLists.txt for v4l on FreeBSD (dfe696e2, closes #4459)

Features

  • Add message count in tooltip to LoadHistoryDialog (bb65a18d)
  • aboutform: Add OS name in issue template (7b3bd45d)
  • audio:
    • OutgoingCallSound (a06ad704)
    • split the audio interface from the backend library (28c2298a)
  • chatform:
  • l10n:
    • update Arabic translation from Weblate (3ab423da)
    • update Bulgarian translation from Weblate (79e00832)
    • update Polish translation from Weblate (5e432c5e)
    • update Slovak translation from Weblate (e8e1d41f)
    • add Tamil translation to UI (bf405e17)
    • add Tamil translation using Weblate (37a93042)
    • update Swedish translation from Weblate (040f14b3)
    • update Turkish translation from Weblate (fd8decd5)
    • update Chinese (Simplified) translation from Weblate (06519872)
    • update Estonian translation from Weblate (1d9e646b)
    • update Ukrainian translation from Weblate (bcc3c0ef)
    • update German translation from Weblate (32cd745a), (1196731f), (d8cd871e), (1ce73175), (20d31c81)
    • update Finnish translation from Weblate (e10c5247)
    • update Esperanto translation from Weblate (dfdf11d1)
    • update Russian translation from Weblate (d5831060), (317f250e), (3a252c9e)
    • update Greek translation from Weblate (b2501ed1)
    • update Spanish translation from Weblate (0cd34485)
    • update Lithuanian translation from Weblate (57f94139)
    • update Belarusian translation from Weblate (0c95284e)
    • update Romanian translation from Weblate (38374604)
  • toxid: Show NoSpam and checksum parts of ToxID in colors. (c0951a56)

Performance

  • Optimize open/close device (d704f5d2)
  • Pass std::function by reference (365d703e)

v1.10.0 (2017-05-07)

The more prominent new features are an option to autojoin groupchats and ability to select messages with triple click. More about new stuff below.

Bug Fixes

  • fix segfault while trying to send messages (b5f4628c)
  • fix OpenAL name (8a77723a)
  • fixed segfault after accepting group invite (532e05cb, closes #4327)
  • set CSS font-weight of editbox always to normal (96b2977a)
  • remove useless line that caused a warning (e9515f48)
  • fixed wrong formatting for multiple URL's in one message (08208e9a, closes #4275)
  • silence various warnings (f0cec44a)
  • Stop using deprecated avcodec_decode_video2 (f07daaf1)
  • Remove unnecessary calls to av_frame_unref (91414b4f)
  • Stop using deprecated AVStream::codec (9674bff0)
  • silence warning by not using dynamic arrays on stack (300ac12e)
  • README: Fix mardown to correct display on github (84e73f30)
  • UI:
    • fixed typos of pseudo-states in stylesheets (f35103e5)
    • rename qTox.desktopqtox.desktop to fix displaying icon (6de129fe, closes #4323)
    • improve unclear message about text being resized in chatform (c8ed535b)
  • chatform: disable Tab in add friend message text area (195e891d)
  • core:
    • add missing nullptr check (407413c6, closes #4324)
    • don't continue when the tox file is corrupted (20db8b74)
  • groupinvite: prevent multiple groupinvites to the same group from showing up (13029e30, closes #2305)
  • includes: Added missing #include <ctime> (e597d391)
  • profile: toxsave wasn't correctly encrypted (5b31cf6d, closes #4344)
  • settings:
    • remove legacy code (6a6e30d6)
    • changing language sets title to "Add Friend" (4886868e)
  • widget: Add friendWidget deletation (c7202c8b, closes #4229, closes #4254)

Features

  • stop using plaintext passwords in the code (084f3b06)
  • audio: don't use dynamic memory allocation and remove resource leak (b68ad4ce)
  • chatform: mark message with triple click (3acbc148)
  • groups: add option to automatically accept groupchat invites (6a16a2bd, closes #1197)
  • l10n:
    • add Romanian translation to UI (0192e927)
    • add Romanian translation using Weblate (8b22e962)
    • update German translation from Weblate (1dfb4a63), (87d66c01)
    • update Lithuanian translation from Weblate (c970e065)
    • update Finnish translation from Weblate (2f8e8b84)
    • update Esperanto translation from Weblate (2c158eb5)
    • update Chinese (Simplified) translation from Weblate (9d6be415)
    • update Swedish translation from Weblate (3145949c)
    • update French translation from Weblate (38bb82e5), (0748b6c6)
    • update Greek translation from Weblate (6e6d32a7)
    • update Belarusian translation from Weblate (57615230)
    • update Slovak translation from Weblate (63d5caf3)
    • update Spanish translation from Weblate (615c3614)
    • update Ukrainian translation from Weblate (9dd40bec)
    • update Russian translation from Weblate (e6b76561)
    • update Estonian translation from Weblate (e580edd1)
  • ui: grey out proxy settings if no proxy selected (77aa2e92)

v1.9.0 (2017-03-19)

The most noticeable change to UI are moved buttons in file transfer widget, lessening chance of an accidental cancellation of a file transfer.

Features

  • Switch windows portable links to stable versions (b771f87e)
  • Add version numbers in windows installer download links (b73770d7, closes #4112)
  • UI: Move filetransferwidget buttons side-by-side. (9322f29e, closes #2597)
  • l10n:
  • settings: create ui when needed instead of show/hide (12bcc261)
  • shortcut: Implemented F11 shortcut for toggling fullscreen. (3a20a4ba)
  • toxencrypt: add function to get min length for isEncrypted() to succeed (a5955c67)
  • toxpk: Add 'ToxPk::getPkSize()' method (f5c0d61a)

Bug Fixes

  • Fix incorrect headers order (0fc39113, closes #4220)
  • emoji packs path in user manual (a3e64618)
  • URL's are not affected by markdown (18c3f3a2, closes #4242)
  • iterate all blocks (7a5c5a86)
  • fixed documentation mistake (e8ed7e1f)
  • Add splitter restorer (a231532b, closes #2587)
  • changed incorrect videocall button offline tooltip (0effac2b)
  • Autoupdater trying to open files twice could fail (20ff68c3)
  • msleep in toxuri processEvents loops, to avoid 100% CPU (2d0698af, closes #1926)
  • Don't even try to add ourselves as a friend in the Tox URI handler (bfda028a)
  • Various IPC event handling and related bugs on startup (c75ee8a6, closes #1926)
  • Friend list avatars not updating (055c41bc)
  • Accept IDs as tox URIs, not just ToxDNS addresses (1d307bcc, closes #1925)
  • UI: actually load bundled Unicode font as soon as possible (bfd47733)
  • audio: alternate audio fix implementation from #4139 (62ac4801)
  • cmake: Add ability to real disable optional dependency (fb43e306)
  • core: Ignore online connection status (ea50eaae, closes #4010)
  • db: Made RawDatabase::execLater executes statements asynchronously. (54fb9f73)
  • font:
    • Made the font combobox not editable. (ba28f163)
    • Made font changes in settings apply on screen instantly. (742583bb)
  • icons: Removed unnecessary icon preparation. (fac0021a)
  • qmake: add forgotten files to qTox.pro (db2e2d7a, closes #4212)
  • toxencrypt: return the plaintext after decryption (14ee8af3, closes #4162)

v1.8.1 (2017-02-05)

qTox 1.8.1 release.

Fixes OSX deployment.

v1.8.0 (2017-02-05)

With this version build system has been migrated to cmake and qmake support is now deprecated and will be removed in the v1.9.0 release.

Features

Bug Fixes

  • Now cannot send party invite to a friend which has "Offline" status (034c507c, closes #4018)
  • Add workaround for FreeBSD and ICU (22d3aa11)
  • Remove old ChatForm code from Widget (52642578)
  • Further Windows Jenkins link errors (b6934927)
  • Jenkins Windows builds (debb6e9c)
  • fix warning about missing (removed) cdata.h (4972ac1d)
  • Fix problem with unicode symbols on FreeBSD (56d65650, closes #4012)
  • UI: fix own status message not being properly displayed in tooltip (dccef4d4)
  • addfriend:
    • create ToxId from QString before emitting the signal (a5d2c573, closes #4086)
    • do not load own Tox ID from clipboard (efcff576, closes #4024)
  • avatar: wrong conversion of own ToxId (0e4cff88, closes #4048)
  • build:
    • avoid version checking where unnecessary (bf8b23e3)
    • do not invoke version update on travis (07639011)
    • attempt to make travis happy (919a94b9)
    • set generic macOS Info.plist version by default (3a88abdd)
    • correct macOS deployment (8912e9e0)
    • add an option to compile with autotools toxcore on Windows (482757e6)
    • fix ASLR and DEP protection for windows builds (ce0590d2)
  • chatform:
  • clipboard: Made clipboard operations work the same on all OSes. (a18e0b6a)
  • cmake:
    • Add search for toxcore or libtoxcore (a4537549)
    • Fix smileys resource adding (fddda5de)
  • font: Fixed the editbox font reset problem (c84837d6)
  • icon:
  • icons: install icons for linux (6b513819, closes #4052)
  • jenkins: preserve the correct linking order (5d4609bd, closes #4079)
  • l10n: rename zh translation to zh_CN (1df9f572, closes #4080)
  • nexus: Add qRegisterMetaType call for ToxPk (328d0b6d)
  • osx: Remove useless '#ifdef Q_OS_MAC' (f0467abc)
  • toxid: Tox ID construction from ToxMe (a223510c)
  • warnings: fix some warnings about the stack protector not working (e7276e7b)

v1.7.0 (2016-12-25)

qTox v1.7.0 release

More information in the CHANGELOG.md.

Features

Bug Fixes

  • Added Kiss smiley shortcut for Universe and emojione (059bb9a3)
  • add missing Q_OBJECT macro to the PasswordEdit class (f5011cdb)
  • Fixed compact layout (f870bf19, closes #3944)
  • remove unnecessary variable when checking whether save is a TES (231e1d74)
  • Status reflection for friend calls (917812da)
  • dataToString correctness regression (a4bda265)
  • UI:
    • make link in About setting page point to all contributors (326d5219, closes #3898)
    • remove unnecessary space between a word and colon (fba5f8cc)
    • copy friend's non-truncated status message instead of truncated (9d1275b3)
    • Changed tab order to be same with visual order (f7899d7b)
  • core: don't emit idSet signal twice (355fb2ae)
  • l10n: fix wrongly positioned % in translations (e831ba94)
  • videoButton: Added disabling button while call is active (eff27f69, closes #4004)

v1.6.0 (2016-11-13)

qTox v1.6.0 release

More information in the CHANGELOG.md.

Bug Fixes

  • Fixed crash on profile import (a130a60e, closes #3660)
  • hide option to Load automatically for encrypted profiles (b5efc2bb)
  • use qAbs() instead of abs() for better platform compatibility (79c249be, closes #3613)
  • UI:
    • prevent text style from being reset during retranslation (28c29157, closes #3805)
    • bump default emoticon size, since otherwise it can be too small (bbdd4f04)
    • string for option auto-accepting files (1d4ea1ec)
  • audio:
    • Clear audio buffer when ending audio loop (244d1dc3)
    • keep the data pointed to by tmpDevName in scope (af37fa7b, closes #3786)
  • avform:
    • Fixed empty value in audio and video lists (15181c43)
    • Added shift screen region (eaccbf3d, closes #3552)
  • build:
  • chatform: remove std::dynamic_pointer_cast in favor of static cast (775b6a32, closes #3801)
  • chatlog: silence warning about unused parameters (8ff0d28a)
  • i18n:
    • Remove HTML tags from translation (f5f7b5ab)
    • remove HTML from translations (c8bde5bc, closes #3781)
    • Removed extra tag from translation (fde9ad53)
  • l10n: correct ru translation (5c901d0e)
  • rawdatabase: Added anonymizing SQL query in logs (85ee69f0, closes #3399)
  • settings:
  • settingsform: Fix layout spacing (f1975231)
  • text: Change idealSize calculation (c8512fa9, closes #1887)
  • timeformat:
    • Remove duplicate of timeformat (661388d7)
    • Make timestamp editable same as date format (d6f323ce)
    • Fixed list of available time formats (35e7da85)
  • uiform: Added format constraints (13baf932)
  • video: fix scaling issues under HiDPI displays with desktop video (ef157ca8)
  • videomode: Added ability to store negative coordinates (26a27cf3)
  • widget:
    • do not block logout on Linux desktop environments v2 (6b00779d, closes #3699)
    • do not block logout on Linux desktop environments (7ee883bc, closes #1485)

Features

v1.5.2 (2016-09-29)

Rebuilt binaries to fix a FFmpeg bug

v1.5.1 (2016-08-09)

No changes in qTox itself.

Bug Fixes

  • build: allow deployment of OSX dmg binary (4975ca9b)

v1.5.0 (2016-08-09)

The most important change is video improvements. Bored by waiting minutes for video call to start? Fixed.

Among other things, qTox has been translated into 5 new languages.

More information on features / fixes / changes below.

Features

  • audio:
    • add slider tickmarks, improving better visible orientation (431a10f8)
    • add real gain control of the input device (f72baa61)
  • avform, screenshotgrabber: Added custom screen region selection (9cfd678c)
  • bootstrap.sh: add an option to install sqlcipher (66f270ec)
  • cameradevice, avform: Added ability of screen selection (d781a4f7)
  • camerasource: Change default video mode to preferred (c3de6238)
  • capslock: Added caps lock checker (97f95e7e)
  • capslockindicator: Added tooltip (c7d485f5)
  • chat:
    • add the ui settings to alter font and size for chat messages (41c96eb1)
    • consistent use of the chat font settings (67136e29)
    • add settings to alter the chat view's base font (8ba20541)
  • chatform: Disable call buttons if friend is offline (bbefe011)
  • doxygen: Created simple doxygen config file (194c55a4)
  • emoticons: add ASCII-less version of emojione emoticons (c4b4155a, closes #3398)
  • emoticonswidget: Keep emoticon option open (d0ea5bb4)
  • genericchatform: add "Quote selected text" feature to chat window (40a805c2)
  • gui, setpassworddialog: Added buttons translation (58e503bb, closes #3479)
  • i10n: update Hungarian translation from weblate (c6938d6c)
  • i18n:
    • Make activity by time labels translated by locale (f2aada8f)
    • make Markdown settings translatable (3e22593a)
  • importProfile: Add way to import profile (9ea25d1f)
  • l10n:
  • loginform: Added caps lock indicator to newPass (cbe8fb8e)
  • loginscreen: Created new CapsLockIndicator class (fb7fcaaa)
  • main: Changed time in logs on UTC. (4018c004, closes #3554)
  • notificationscrollarea: Add ability to delete widget from traced widgets list (e3d74117)
  • profile:
    • add a dialog to indicate profile deletion error (78fd245e)
    • show warning on failure to delete profile (1dabbca9)
  • profileform: Added log toxme errors (d2d5b230)
  • settings: add RecursiveSignalBlocker (b71c919f)
  • settings, generalform, widget: Added setting for sound notification in busy status (e23eb1c5)
  • smileys: add emojione emoji-pack and make it the default (3f4a0abe, closes #3315)
  • status:
    • make status in about dialog copyable (1935d0c6)
    • add ability to copy status messages (57ce030f)
  • systemtray: add "Show" action to context menu (a851a5b1)
  • textstyle: Change markdown syntax to be more intuitive (32e48a97, closes #3404)
  • translation:
  • video:
    • add a isValid() function to ToxTUVFrame (3e7d55e8)
    • add accessor functions for sourceID and frameID (8952208e)
    • adds an ID parameter to the VideoSource class (4ac20c7b)
    • redesign and improve VideoFrame class (38b1a9b6)
    • add setting for 120p very-low-res video (6045ced3)
  • videomode: Added possible video shift (fd701df1)
  • widget: Disable sound notification for busy status (e7785ab4, closes #2893)

Bug Fixes

  • Added forgotten return statement (8bc3c3c8)
  • increase timer for checking offline messages timeout (again) (a77afca1)
  • correctly tab-complete nicks starting with $ (dbd16ae6)
  • .gitattributes: bootstrap.sh execution fails on MSYS (ad828621)
  • about-qtox: fix QString "missing argument" warning (f2f48a8f)
  • addfriendform: Fixed problem with reading friend request (7be8ad01, closes #3421)
  • audio: actually disable the audio in/out device in settings, when selected (9694d6b6)
  • avform:
    • display true video height in video mode selection (192c1e8f)
    • add missing "first" video mode back to video modes (5324e768, closes #3588)
    • Add skipped camera open call (1f9b7b13, closes #3476)
    • Added rounding height in mode name. (c2e3358d)
    • Changed "best modes" search algorithm. (6e1ef706)
    • initialize slider value from settings (c9dbfa5e)
    • make "Screen" translatable (24f0b11a)
    • Added restoring selected region (1c515821)
    • Took default resolution from middle of list (2d861ee2)
  • bootstrap.sh: add instructions for missing unzip & adjust path (fa5ee5b1, closes #3153)
  • build:
    • Link qrencode statically on Jenkins (0a976c7a)
    • Jenkins ffmpeg link order (9de833ad)
    • Fix jenkins static builds (790f9ffc)
  • capslock_x11: properly release the X display handle (f9190734)
  • capslockindicator:
    • also update indicator when the app gets focus (2fe41071)
    • fix altering the line edit height (653e0b5a, closes #3379)
    • Fix position of capslock indicator (12476901)
    • Tooltip color was changed. Tooltip translation was added (bbe158c7)
  • chat: cleanup chat css base style (989b15e6)
  • chat window: prevent right click from opening chat window (b9a392d5, closes #3205)
  • chat-settings: change order during chat-base-font UI initialization (9ec5c11c)
  • chatform:
  • chatform, screenshotgrabber: Fixed memory leak (bf7c62d6)
  • chatlog: Don't delete active transfer widget (abf7b423, closes #3275)
  • chattextedit.cpp: fix drag-and-drop to be consistent across systems (70fc247b, closes #2847)
  • contentdialog, widget: Remove "new message" bar after reading message (b2c1f468, closes #2247)
  • core: Added emit idSet after set NoSpam (e087398f, closes #1680)
  • corevideosource: Partial revert of ef641ce6d3398792c10b30bf24a81c5a6005fe06 (b1adef2f, closes #3527)
  • directshow: Fixed problem with crosses initialization (504ad534)
  • doc: CONTRIBUTING.md typos (4eed2549)
  • friendlistwidget: use nullptr instead of 0 (f1543144)
  • friendwidget:
    • check pointer before using it (e24f3dbc)
    • the limitation of the group's name in the shortcut menu (d357fe1c)
  • generalform: call UI retranslation when date or time format changes (d601599d)
  • genericchatform:
    • Fixed position of screenshot button (86e44143, closes #2427)
    • separate messages from different days (8ebad59a)
  • groupinviteform:
  • gui: don't quit application before last event (32c158bc)
  • i18n: Divide getting and translating Toxme error message (98a1f23b)
  • l10n:
    • remove unnecessary space in Czech translation (47153b3d)
    • missing argument in German translation (e6e666fa)
    • incorrect/missing arguments in Arabic translation (82bd897b)
  • loginscreen.cpp: fix password input focus after mouse click (6e8ea15a)
  • main: Closing file before removing (29ab61ef, closes #3440)
  • markdown: Remove spaces from markdown translation (fca5f155)
  • passwordedit.cpp: Fix build issue with Qt 5.3 (f18db4fd, closes #3416)
  • passwordfields: use PasswordEdit widget for all password fields (e3d0cc0e, closes #3378)
  • persistence: pass by reference to const (e852ed92)
  • platform: Added checkCapsLock OSX implementation (35a0e1fb)
  • profile:
    • Fix for opening file dialog using Nautilus file manager (881409b9, closes #3436, closes #3443)
    • change password buttons behaviour (f9edd39b, closes #3300)
  • profileform: set parent for validator (93c6aa8a)
  • qtox.pro: don't depend on GTK in order to build on Linux (2d06b996)
  • screen-grabber: fix crash (780a0179)
  • settings:
    • block signals during initialization (de438f1c)
    • Look for portable setting in module path, not CWD (17e57982)
    • correct ordering of languages (7c63594a)
    • make it clear that Markdown is about text formatting (67d01a73)
  • simple_make.sh:
    • add sqlite dependencies for Fedora (5cb271b0)
    • add missing dependencies for Fedora (5b51f71f, closes #2998)
  • status: explictly refer to this within lambda (63af0d75)
  • systemtray: don't activate qTox widget on tray icon click in Unity backend (2f0ffdd2)
  • systemtrayicon:
    • don't set an invalid and useless icon on GTK (a13c5667, closes #3154)
    • delete qtIcon in destructor (f997d51b)
  • text: Using modified text, instead of raw (f7018c42, closes #3568)
  • toxsave, profileimporter: Added remove function call before overwrite file (58ea0afe, closes #3558)
  • translator: Added layout direction reset on translation. (927d512f, closes #3542)
  • ui: Prevent suicide crash on logout (2bdd9824, closes #2480)
  • updater: Use module path, not working dir (0a2e96ab, closes #3255)
  • video:
    • guard storeVideoFrame() against freeing in-use memory (5b31b5db)
    • force the use of non-deprecated pixel formats for YUV (df3345dc)
    • use a QReadWriteLock to manage camera access (de6475f3)
    • specify color ranges for pixel formats that are not YUV (00270ee4)
    • fix invalid VideoSource ID allocation (707f7af2)
    • added declaration for missing biglock in CameraSource (c4f88df7)
    • fix a use-after-free with VideoFrame (8487dcec)
    • fix slanted video when video size is not divisible by 8 (904495d2)
    • fix memory leak caused by unfreed buffers in CoreVideoSource (3df6b990)
    • fix CoreAV and VideoSurface to conform to new VideoFrame (277ddc3d)
    • Changed minimum window size with video (f8a45b40, closes #3396)
    • do not list the same mode twice (03c39236)
    • fix video resolution setting (b4df3c8b, closes #1033)
  • videoframe: Added correct image copy (1ddc1371)
  • widget:
  • x11grab: try and use the current display (294bdab7, closes #3500)

v1.4.0 (2016-04-24)

Time flows, and with the flow come new features, new bugfixes, and hopefully no new bugs.

With this release, a partial changelog of changes since 1.3.0 is added.

Next release will contain a changelog with all changes.

We are hoping that you'll enjoy the new stuff.

Cheers. :)

PS. If it's not clear from the changelog below, audio groupchats have been ~fixed.

Bug Fixes

  • close groupcall if alone (98d51399)
  • disable netcamview if no peer left (622b543d)
  • audiocall button disabled in groupchats (db4f02a0)
  • Close logfile only after the disabling logging to file (de487890)
  • Make logMessageHandler thread-safe (a7ffc08c)
  • Deadlock while rotating logs (c1e2a3c5, closes #2920)
  • increase faux offline message timeout (76d8e193)
  • remove unnecessary qDebug call (66f96019)
  • Widget::updateIcons:
    • workaround QIcon fallback bug (0b53c4fd)
    • fix the way systray icons are loaded (90874a47)
  • addfriendform: Removed extra connect return press (66bcfdae, closes #3081)
  • addfriendform, widget: Remove Accepted Request (53071e95, closes #3066, closes #3166)
  • chatform: regression in detecting tox: type IDs (48f3fb7d)
  • core, widget: Added checks (f28c3a16, closes #3133)
  • file transfer widget: QPushButton allows image to overflow (32d588a4, closes #3042)
  • genericchatitemwidget, micfeedbackwidget: Added members init in the constructor (27faec91)
  • groupaudio:
    • don't set button to green while call running (6d355154)
    • don't play audio while call is inactive (5339ad97)
    • avoid deadlock when ending groupcall (afcd146a)
  • groupinviteform:
  • l18n: make typing notification & groupchat name translatable (43e61041)
  • login screen: Change text on login tooltip (4e065f13)
  • main: Added check sodium_init result (64a19d34)
  • profile: Don't require .ini to load profile (56a36e2e)
  • profileform:
    • Add toxme username limitation (132f87c0)
    • Deleted extra check and extra url (1f7e23d0)
    • Fixed very quick relogin segfault (88de3a0a)
    • Fixed segfault on logut (2e9295f4)
    • Fix tab order, fix loop (65ab1f4e)
  • screenshot: incorrect screenshot capture resolution under HiDPI (a36248b5)
  • systemtrayicon: only delete the systray backend that was used (1d6f32c9)
  • systemtrayicon, widget: Added deallocate memory (cbb7eeca)
  • title: Change title on initial startup on "Add friend" (47d94045, closes #3100)
  • toxme:
  • video:
    • uses explicit default screen from QGuiApplication (d2189f38)
    • usage of invalid file descriptors on error (556a8750)
    • incorrect desktop video resolution when using HiDPI (75b40d0a)
  • widget: Change focus after create group (b111c509, closes #3128)
  • widget, contentdialog: Added reset icon after activate chat window (4edc5996, closes #3139)

Features

  • install icons with make install on unix (218228b6)
  • disable building with filter_audio by default (116cc936)
  • audio: add (repair) support for group audio calls (356543ca)
  • chatform: add support for non-local file and samba share links (47764c03)
  • profileform: Added ability to change toxme server (41c5d4bf)
  • toxme:

Performance

  • camerasource: Passed parameter by reference (910c41f4)
  • contentdialog: Delete redundant conditions (904a1d49)