What's changed?
- Major: Added support for emotes, badges, and live emote updates from 7TV. Wiki Page (#4002, #4062, #4090)
- Major: Added support for Right-to-Left Languages (#3958, #4139, #4168)
- Major: Added support for Twitch's Chat Replies. Wiki Page (#3722, #3989, #4041, #4047, #4055, #4067, #4077, #3905, #4131)
- Major: Added multi-channel searching to search dialog via keyboard shortcut. (Ctrl+Shift+F by default) (#3694, #3875)
Minor changes & bugfixes
- Minor: Added setting to keep more message history in splits. (#3811)
- Minor: Added setting to keep more message history in usercards. (#3811)
- Minor: Added ability to pin Usercards to stay open even if it loses focus. Only available if "Automatically close usercard when it loses focus" is enabled. (#3884)
- Minor: Allow hiding moderation actions in streamer mode. (#3926)
- Minor: Added highlights for
Elevated Messages. (#4016) - Minor: Removed total views from the usercard, as Twitch no longer updates the number. (#3792)
- Minor: Load missing messages from Recent Messages API upon reconnecting (#3878, #3932)
- Minor: Reduced image memory usage when running Chatterino for a long time. (#3915)
- Minor: Added the ability to execute commands on chat messages using the message context menu. (#3738, #3765)
- Minor: Added settings to toggle BTTV/FFZ global/channel emotes (#3935, #3990)
- Minor: Added an option to display tabs on the right and bottom. (#3847)
- Minor: Added a
Scroll to topkeyboard shortcut for splits. (#3802) - Minor: Added
/copycommand. Usage:/copy <text>. Copies provided text to clipboard - can be useful with custom commands. (#3763) - Minor: Added
/requestscommand. Usage:/requests [channel]. Opens the channel points requests queue for the provided channel or the current channel if no input is provided. (#3746) - Minor: Added
Go to messagecontext menu action to search popup, mentions, usercard and reply threads. (#3953) - Minor: Clicking
A message from x was deletedmessages will now jump to the message in question. (#3953) - Minor: Added
is:first-msgsearch option. (#3700) - Minor: Added
is:elevated-msgsearch option. (#4018) - Minor: Added
is:cheer-msgsearch option. (#4069) - Minor: Added
is:redemptionsearch option. (#4118) - Minor: Added
is:replysearch option. (#4119) - Minor: Added
subtier:search option (e.g.subtier:3to find Tier 3 subs). (#4013) - Minor: Added
badge:search option (e.g.badge:modto users with the moderator badge). (#4013) - Minor: Added AutoMod message flag filter. (#3938)
- Minor: Added
showInMentionstoggle for Badge Highlights. (#4034) - Minor: Added chatter count for each category in viewer list. (#3683, #3719)
- Minor: Added option to open a user's chat in a new tab from the usercard profile picture context menu. (#3625)
- Minor: Added scrollbar to
Select filtersdialog. (#3737) - Minor: Added quotation marks in the permitted/blocked Automod messages for clarity. (#3654)
- Minor: Added Quick Switcher item to open a channel in a new popup window. (#3828)
- Minor: Added information about the user's operating system in the About page. (#3663)
- Minor: Added option to hide inline whispers in streamer mode (#4076)
- Minor: Adjusted large stream thumbnail to 16:9 (#3655)
- Minor: Prevented user from entering incorrect characters in Live Notifications channels list. (#3715, #3730)
- Minor: Sorted usernames in /vips message to be case-insensitive. (#3696)
- Minor: Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running. (#3740)
- Minor: Fixed automod caught message notice appearing twice for mods. (#3717)
- Minor: Fixed being unable to load Twitch Usercards from the
/mentionstab. (#3623) - Minor: Strip leading @ and trailing , from usernames in the
/blockand/unblockcommands. (#3816) - Minor: Fixed tag parsing for consecutive escaped characters. (#3711)
- Minor: Reduced GIF frame window from 30ms to 20ms, causing fewer frame skips in animated emotes. (#3886, #3907)
- Minor: Warn when parsing an environment variable fails. (#3904)
- Minor: Migrated /announce command to Helix API. (#4003)
- Minor: Migrated /clear command to Helix API. (#3994)
- Minor: Migrated /color command to Helix API. (#3988)
- Minor: Migrated /delete command to Helix API. (#3999)
- Minor: Migrated /emoteonly command to Helix API. (#4015)
- Minor: Migrated /emoteonlyoff command to Helix API. (#4015)
- Minor: Migrated /mod command to Helix API. (#4000)
- Minor: Migrated /unmod command to Helix API. (#4001)
- Minor: Migrated /vip command to Helix API. (#4010)
- Minor: Migrated /unvip command to Helix API. (#4025)
- Minor: Migrated /untimeout to Helix API. (#4026)
- Minor: Migrated /unban to Helix API. (#4026, #4050)
- Minor: Migrated /subscribers to Helix API. (#4040)
- Minor: Migrated /subscribersoff to Helix API. (#4040)
- Minor: Migrated /slow to Helix API. (#4040)
- Minor: Migrated /slowoff to Helix API. (#4040)
- Minor: Migrated /followers to Helix API. (#4040)
- Minor: Migrated /followersoff to Helix API. (#4040)
- Minor: Migrated /raid command to Helix API. Chat command will continue to be used until February 11th 2023. (#4029)
- Minor: Migrated /unraid command to Helix API. Chat command will continue to be used until February 11th 2023. (#4030)
- Minor: Migrated /ban to Helix API. (#4049, #4164)
- Minor: Migrated /timeout to Helix API. (#4049, #4164)
- Minor: Migrated /w to Helix API. Chat command will continue to be used until February 11th 2023. (#4052)
- Minor: Migrated /vips to Helix API. Chat command will continue to be used until February 11th 2023. (#4053)
- Minor: Migrated /uniquechat and /r9kbeta to Helix API. (#4057)
- Minor: Migrated /uniquechatoff and /r9kbetaoff to Helix API. (#4057)
- Minor: Migrated /commercial to Helix API. (#4094, #4141)
- Minor: Added stream titles to windows live toast notifications. (#1297)
- Minor: Make menus and placeholders display appropriate custom key combos. (#4045)
- Minor: Migrated /chatters to Helix API. (#4088, #4097, #4114)
- Minor: Migrated /mods to Helix API. (#4103)
- Minor: Improved text selection to match Windows native behaviour. (#4127)
- Minor: Add settings tooltips. (#3437)
- Minor: Add setting to limit message input length. (#3418)
- Minor: Make built-in commands work in IRC channels. (#4160)
- Minor: Add support for
echo-messagecapabilities for IRC. (#4157) - Minor: Add proper support for IRC private messages. (#4158)
- Minor: Improved look of tabs when using a layout other than top. (#3925, #4152)
- Minor: Added support for Nicknames on IRC. (#4170)
- Bugfix: Fixed crash happening when QuickSwitcher is used with a popout window. (#4187)
- Bugfix: Fixed low contrast of text in settings tooltips. (#4188)
- Bugfix: Fixed being unable to see the usercard of VIPs who have Asian language display names. (#4174)
- Bugfix: Fixed messages where Right-to-Left order is mixed in multiple lines. (#4173)
- Bugfix: Fixed the wrong right-click menu showing in the chat input box. (#4177)
- Bugfix: Fixed popup windows not appearing/minimizing correctly on the Windows taskbar. (#4181)
- Bugfix: Fixed white border appearing around maximized window on Windows. (#4190)
- Bugfix: Fixed window scaling being applied too many times on startup, causing windows like Settings to be slow. (#4193)
- Bugfix: Fixed input text cursor flickering when selecting text in a split. (#4197)
- Bugfix: Fixed shipped resources having incorrect ICC profile (#4199)
- Bugfix: Fixed channels with two leading
#s not being usable on IRC (#4154) - Bugfix: Fixed
Add new accountdialog causing main chatterino window to be non movable. (#4121) - Bugfix: Connection to Twitch PubSub now recovers more reliably. (#3643, #3716)
- Bugfix: Fixed
Smooth scrolling on new messagessetting sometimes hiding messages. (#4028) - Bugfix: Fixed context menu not opening when username is right clicked from usercard/search/reply window. (#4122)
- Bugfix: Fixed a crash that can occur when closing and quickly reopening a split, then running a command. (#3852)
- Bugfix: Fixed a crash that can occur when changing channels. (#3799)
- Bugfix: Fixed viewers list search not working when used before loading finishes. (#3774)
- Bugfix: Fixed live notifications for usernames containing uppercase characters. (#3646)
- Bugfix: Fixed live notifications not getting updated for closed streams going offline. (#3678)
- Bugfix: Fixed certain settings dialogs appearing behind the main window, when
Always on topwas used. (#3679) - Bugfix: Fixed an issue in the emote picker where an emotes tooltip would not properly disappear. (#3686)
- Bugfix: Fixed incorrect spacing of settings icons at high DPI. (#3698)
- Bugfix: Fixed highlights triggering from own resub messages. (#3707)
- Bugfix: Fixed existing emote popups not being raised from behind other windows when refocusing them on macOS (#3713)
- Bugfix: Fixed automod queue pubsub topic persisting after user change. (#3718)
- Bugfix: Fixed viewer list not closing after pressing escape key. (#3734)
- Bugfix: Fixed users being assigned duplicate FrankerFaceZ badges. (#4155)
- Bugfix: Fixed links with no thumbnail having previous link's thumbnail. (#3720)
- Bugfix: Fixed message only showing a maximum of one global FrankerFaceZ badge even if the user has multiple. (#3818)
- Bugfix: Added an icon in the CMake macOS bundle. (#3832)
- Bugfix: Adopted popup windows in order to force floating behavior on some window managers. (#3836)
- Bugfix: Fixed split focusing being broken in certain circumstances when the "Show input when it's empty" setting was disabled. (#3838, #3860)
- Bugfix: Always refresh tab when a contained split's channel is set. (#3849)
- Bugfix: Fixed an issue where Anonymous gift messages appeared larger than normal gift messages. (#3888)
- Bugfix: Fixed crash related to logging IRC channels (#3918)
- Bugfix: Mentions of "You" in timeouts will link to your own user now instead of the user "You". (#3922)
- Bugfix: Fixed emoji popup not being shown in IRC channels (#4021)
- Bugfix: Display sent IRC messages like received ones (#4027)
- Bugfix: Fixed non-global FrankerFaceZ emotes from being loaded as global emotes. (#3921)
- Bugfix: Fixed trailing spaces from preventing Nicknames from working correctly. (#3946)
- Bugfix: Fixed crashes that can occur while selecting/copying messages and they are removed. (#4153)
- Bugfix: Fixed trailing spaces from preventing User Highlights from working correctly. (#4051)
- Bugfix: Fixed channel-based popups from rewriting messages to file log (#4060)
- Bugfix: Fixed invalid/dangling completion when cycling through previous messages or replying (#4072)
- Bugfix: Fixed incorrect .desktop icon path. (#4078)
- Bugfix: Mark bad or invalid images as empty. (#4151)
- Bugfix: Fixed
/watchingchannel jumping around. (#4169) - Dev: Got rid of BaseTheme (#4132)
- Dev: Removed official support for QMake. (#3839, #3883)
- Dev: Rewrote LimitedQueue (#3798)
- Dev: Set cmake
QT_DISABLE_DEPRECATED_BEFOREto disable deprecated APIs up to Qt 5.15.0 (#4133) - Dev: Overhauled highlight system by moving all checks into a Controller allowing for easier tests. (#3399, #3801, #3835)
- Dev: Use Game Name returned by Get Streams instead of querying it from the Get Games API. (#3662)
- Dev: Batched checking live status for all channels after startup. (#3757, #3762, #3767)
- Dev: Moved most command context into the command controller. (#3824)
- Dev: Error NetworkResults now include the body data. (#3987)
- Dev: Automatically generate resources files with cmake. (#4159, #4167)
Commits
What's Changed
- Use login name for NotificationController lookup by @iProdigy in #3648
- Added quotation marks to automod phrases by @hicupalot in #3654
- Added myself to Contributors by @hicupalot in #3660
- Adjust large stream thumbnail to 16:9 by @sando in #3655
- chore: add iProdigy to contributors list by @iProdigy in #3661
- feat: use message's original channel name when usercard popout is opened by @jammehcow in #3623
- fix(ci): dankness removed from homebrew CI by @jammehcow in #3666
- fix: build user timeout/ban message in GUI thread by @Nerixyz in #3665
- refactor(TwitchChannel): remove getGameById call by @iProdigy in #3662
- Include user's operating system information in the About page by @Mm2PL in #3663
- Update Issue Template version placeholder to 2.3.5 by @Felanbird in #3657
- Added my profile picture to Contribution List by @hicupalot in #3674
- Add missing parent pointer to few QMessageBox and QFontDialog by @kornes in #3679
- Updated contributors list by @zneix in #3677
- Add missing tooltip hide on ChannelView leave event by @kornes in #3686
- Add chatter count for each category in viewer list by @badoge in #3683
- Added
is:first-msgsearch option by @MrAuro in #3700 - Fix incorrect spacing of settings icons at high DPI by @kornes in #3698
- Add option to open a user's chat in a new tab from the usercard avatar context menu by @badoge in #3625
- Delete 'is live' messages from non-open channels by @Mm2PL in #3678
- sort /vips output by @badoge in #3696
- fix: parse irc tags with consecutive escapes by @iProdigy in #3711
- fix: raise existing emote popups from behind other windows (macOS) by @LosFarmosCTL in #3713
- Disable formatting on "contested lines" by @pajlada in #3714
- Improve Twitch PubSub connection reliability by @Nerixyz in #3643
- Fix automod crash by @pajlada in #3716
- fix: disable duplicate automod caught message handler by @iProdigy in #3717
- Prevent user from entering incorrect characters in Live Notifications channels list by @kornes in #3715
- fix: unlisten to automod on user change by @iProdigy in #3718
- Fix self-highlighting from resub messages by @jammehcow in #3708
- Add missing vector header by @zneix in #3724
- Add missing QDebug header by @zneix in #3725
- Added
/debug-envcommand by @zneix in #3727 - Bump lib/magic_enum from
b2ac762to87190b8by @dependabot in #3723 - Fix
Qt::SkipEmptyPartsdeprecation warning by @zneix in #3726 - Fixed viewer list not being closable with the escape key by @xel86 in #3734
- Store serverReceivedTime in messages by @pajlada in #3735
- Add guide for building chatterino2 on Windows with vcpkg by @Ian321 in #3634
- Fix: ignore whitespaces pasted in EmotePopup search by @kornes in #3730
- Remove unused Env member for emoteset resolver url by @zneix in #3743
- Fix QString::SkipEmptyParts for real this time by @zneix in #3747
- fix: compilation on macOS without precompiled headers by @LosFarmosCTL in #3741
- Removed unused
refreshButtonpointer by @MrAuro in #3744 - ci: cancel previous runs on PR update by @jammehcow in #3748
- Fix vcpkg manifest and finding RapidJSON and Websocketpp modules by @kornes in #3753
- Updated link to VCRedist in README by @zneix in #3749
- Make Helix an interface by @pajlada in #3756
- Fix links with no thumbnail having previous link's thumbnail by @qooq69 in #3720
- added /requests command by @badoge in #3746
- Make an IApplication interface by @pajlada in #3758
- Build GoogleTest & GoogleMock as submodules by @pajlada in #3760
- Add Visual Studio stuff to .gitignore by @kornes in #3759
- Feature: execute commands on chat messages using the context menu by @xel86 in #3738
- Batch checking live status for all channels after startup. by @xel86 in #3757
- perf: use constant time live channel lookup by @iProdigy in #3762
- Automatically place newlines at end of generated files by @dnsge in #3751
- Added /copy command by @zneix in #3763
- feat: add global channel search support by @jammehcow in #3694
- update to vs 2022 on building file by @xHeaveny in #3390
- Corrected the way we parse comma-separated "list tags" in PRIVMSGs by @zneix in #3771
- Add scrollbar to
Select filtersdialog by @xel86 in #3737 - Hide category labels when searching in Viewer list by @badoge in #3719
- Add safe checks around use of QImageReader by @kornes in #3736
- Added more streaming software to streamer mode binaries list by @badoge in #3740
- Fixed channels not being set as offline by @zneix in #3767
- Removed unused files IsBigEndian.hpp and rangealgorithm.hpp by @zneix in #3776
- Fix viewers list search when used before loading finishes by @kornes in #3774
- Optimize formatTime utility by @zneix in #3777
- Add mod button-like placeholders in right click commands by @Mm2PL in #3765
- Simplify code for fake debug messages by @zneix in #3775
- Run httpbin docker image locally in CI by @pajlada in #3778
- Bump lib/magic_enum from
87190b8to6956c56by @dependabot in #3783 - Use
setPlainTextwhen finishing a completion by @pajlada in #3785 - Corrected determination of search popup's title by @zneix in #3790
- Update Windows build docs to rename the correct folder by @Felanbird in #3795
- Updated boost convenience link by @brian6932 in #3796
- Organized version information by @zneix in #3781
- Fixed broken openssl link by @brian6932 in #3797
- Add the ability to skip generation of git and date data by @pajlada in #3800
- Overhaul highlight system by @pajlada in #3399
- Removed total views from the usercard by @mmattbtw in #3792
- Fix highlights not showing in mentions by @pajlada in #3801
- Added interface for highlights to Application by @zneix in #3808
- Bump Qt 5.12.10 to 5.12.12 by @zneix in #3809
- Fix crash that can occur when changing channels by @pajlada in #3799
- Make generic version of batcher function by @zneix in #3822
- Rewrite & optimize LimitedQueue by @dnsge in #3798
- Strip leading @ from usernames in the
/blockand/unblockcommands by @brian6932 in #3816 - Added a
Scroll to topkeyboard shortcut for splits by @brian6932 in #3802 - Add icon in the CMake macOS bundle by @exstrim401 in #3832
- Moved highlight row index numbers to enum by @MrAuro in #3829
- Update WinToast to the latest version available at 2022-06-25 by @pajlada in #3834
- feat: add Quick Switcher item to open channel in a new popup window by @leon-richardt in #3828
- Move most Command variables into the
CommandControllershared variables by @pajlada in #3824 - fix: make popup windows have a parent per default by @leon-richardt in #3836
- Allow non-message phrases to be highlighted by self by @pajlada in #3835
- Fix split focusing being broken in certain circumstances when the "Show input when it's empty" setting was disabled by @pajlada in #3838
- Updated Building On Windows OpenSSL information by @Felanbird in #3840
- Show all global FFZ badges of a user by @Jaxkey in #3818
- Add Jaxkey to contributor list by @Jaxkey in #3842
- Bump lib/magic_enum from
6956c56to4802f79by @dependabot in #3843 - Add logging to experimental IRC by @Mm2PL in #2996
- add potentially missing qt5 dependency by @jschaenz in #3851
- fix(Split): always refresh tab when channel is set by @leon-richardt in #3849
- ref: unify Split popup logic by @leon-richardt in #3848
- Fix crash when closing and quickly opening a split, then running
/clearmessagesby @dnsge in #3852 - Windows OpenSSL link update by @brian6932 in #3864
- Remove official support for QMake by @Mm2PL in #3839
- Fix crash when closing all tabs on macOS by @dnsge in #3860
- Add option to display tabs on the right and bottom by @dnsge in #3847
- fix: prevent system messages from being ignored in multi-channel search by @jammehcow in #3875
- Delete .pri files, move warnings to src/CMakeLists.txt by @dnsge in #3883
- Drop trailing whitespace from Twitch system messages by @jammehcow in #3888
- Added support for Twitch's Chat Replies by @dnsge in #3722
- [Chore] Remove unused class MessageContainer by @pajlada in #3889
- Add .clang-tidy file and CI action by @pajlada in #3890
- Only run clang-tidy CI Action on PRs by @pajlada in #3892
- Reduce GIF frame window from 30ms to 20ms by @TroyKomodo in #3886
- chore: warn when parsing environment variable fails by @leon-richardt in #3904
- Automatically load recent messages on reconnect by @dnsge in #3878
- Fix weird IRC channels causing crashes due to bad cast by @Mm2PL in #3918
- Bump lib/magic_enum from
4802f79tof4ebb4fby @dependabot in #3916 - fix: Mentions of "You" in timeouts will link to your own user now instead of the user "You" by @Nerixyz in #3922
- Added minimal supported macOS version to CI builds. by @23rd in #3923
- Bump ZedThree/clang-tidy-review from 0.8.4 to 0.9.0 by @dependabot in #3900
- Fix crash when adding recent messages to empty Channel by @dnsge in #3932
- feat: add settings to toggle BTTV/FFZ global/channel emotes by @Nerixyz in #3935
- Add AutoMod message flag filter by @pajlada in #3938
- Switch to dev branch of clang-tidy-review by @pajlada in #3937
- Add missing boost-circular-buffer dependency to vcpkg by @pajlada in #3941
- Remove unused mutex from Emotes by @pajlada in #3943
- Bump ilammy/msvc-dev-cmd from 1.10.0 to 1.11.0 by @dependabot in #3939
- Treat
reorderwarnings as errors by @pajlada in #3944 - Reduce GIF frame window from 30ms to 20ms by @TroyKomodo in #3907
- Periodically free memory from unused images by @dnsge in #3915
- Filtering trailing/leading whitespace in username field in nicknames. by @Explooosion-code in #3946
- Update gifFrameLength name as suggested by clang-tidy by @Felanbird in #3947
- Added Explooosion to contributors list by @Explooosion-code in #3948
- docs: add CLion debugging info by @Nerixyz in #3954
- Remove comment suggesting
Build Qtis a Linux only build step by @Felanbird in #3955 - Include network response body in errors by @pajlada in #3987
- feat: add
Go to messageaction in various places by @Nerixyz in #3953 - fix: retain text from input when replying by @Nerixyz in #3989
- fix: disable
autoInvokefor emote settings by @Nerixyz in #3990 - Migrate /color command to Helix API by @pajlada in #3988
- Migrate /clear command to Helix API by @aidenwallis in #3994
- Migrate /delete command to Helix API by @aidenwallis in #3999
- Migrate /mod command to Helix API by @aidenwallis in #4000
- Fix windows toast notifications opening as http by @Felanbird in #4005
- Migrate /unmod command to Helix API by @aidenwallis in #4001
- Ignore cert-err58-cpp clang-tidy warning by @pajlada in #4008
- Migrate /announce command to Helix API. by @Mm2PL in #4003
- chore: fix debug text on non-204 add mod success by @iProdigy in #4011
- Migrate /vip to Helix API by @aidenwallis in #4010
- Cleanup Changelog in preperation for the next release by @Felanbird in #4014
- fix: Show Emoji Completion in IRC Channels by @Nerixyz in #4021
- Add Basic Elevated Message support by @Felanbird in #4016
- Add
flags.elevated_messagefilter variable by @Felanbird in #4017 - Add
is:elevated-msgsearch predicate by @Felanbird in #4018 - Fix usage of FrankerFaceZ global emote API by @pajlada in #3921
- fix:
smoothScrollingNewMessagessometimes hiding messages by @Nerixyz in #4028 - Add search predicates for badges and sub tiers by @xel86 in #4013
- Migrate /unvip to Helix API by @aidenwallis in #4025
- Migrate /unban and /untimeout to Helix API by @aidenwallis in #4026
- fix: Display Sent IRC Messages Like Received Ones by @Nerixyz in #4027
- fix: set
gtest_force_shared_crtin tests by @Nerixyz in #4033 - Add
showInMentionsoption for Badge Highlights by @Felanbird in #4034 - Migrate
/raidto Helix. by @33KK in #4029 - Migrate /emoteonly and /emoteonlyoff commands to the Helix API by @Nerixyz in #4015
- Add debug hotkey for test sub messages by @Felanbird in #4037
- Enable Helix timegating by @pajlada in #4035
- Migrate Remaining Chat Settings Commands to Helix API by @Nerixyz in #4040
- fix: Double-space when using replies with an empty input box by @Nerixyz in #4041
- Bump MessageFlag underlying type to be 64-bit by @pajlada in #4042
- Add missing 403 handling for /unban by @Felanbird in #4050
- Migrate
/banand/timeoutto Helix API by @Nerixyz in #4049 - Remove trailing whitespace from Usernames in User Highlights by @Felanbird in #4051
- Migrate
/wto Helix API by @Nerixyz in #4052 - Migrate
/unraidto Helix. by @33KK in #4030 - refactor: Remove Leading Mention in Replies and Highlight Participated Threads by @Nerixyz in #4047
- Make menus and placeholders display appropriate custom key combos. by @Mm2PL in #4045
- chore: migrate /vips command to Helix call by @jammehcow in #4053
- Fix rare reply mention crash by @pajlada in #4055
- Migrate /uniquechat and /uniquechatoff to Helix API by @aidenwallis in #4057
- Fix FreeBSD Cirrus CI build by @pajlada in #4058
- Swap back to main branch of ZedThree's clang-tidy-review by @pajlada in #4059
- Update 1xelerate contributors github link by @xel86 in #4061
- Fix channel-based popups rewriting messages to file log by @xel86 in #4060
- feat: Add 7TV Emotes and Badges by @Nerixyz in #4002
- fix: missing global emotes in popup by @Nerixyz in #4062
- Prevent copying in a couple places by @zneix in #4066
- Bump ilammy/msvc-dev-cmd from 1.11.0 to 1.12.0 by @dependabot in #4063
- Add searching & filtering for bits by @Felanbird in #4069
- fix: Invalid/Dangling completion after updating input by @Nerixyz in #4072
- Hide inline whispers in streamer mode by @8thony in #4076
- Make reply thread subtext easier to click by @xel86 in #4067
- Migrated
getSubageto v2 version of the API by @zneix in #4070 - Fix .desktop icon path by @pajlada in #4078
- Remove unused values from MessageLayoutContainer by @pajlada in #4081
- Copied and adjusted BUILDING_ON_LINUX.md from SevenTV by @Wissididom in #4085
- Update IRC whisper error by @Felanbird in #4086
- Bump ZedThree/clang-tidy-review from 0.10.0 to 0.10.1 by @dependabot in #4083
- feat: Basic PubSub Manager for Live Emote Updates by @Nerixyz in #4087
- Add settings tooltips by @acdvs in #3437
- Added stream titles to windows toast notifications by @Y0dax in #2044
- Add helper function for ensuring a function is run in the GUI thread by @pajlada in #4091
- Add missing Text tag to reply message text by @mohad12211 in #4092
- Grammar: Alias to -> Alias of by @brian6932 in #4093
- Include more error messaging for failed image uploads by @pajlada in #4096
- Migrate /chatters commands to use Helix api by @cbclemmer in #4088
- Improve Appearance of Reply Curve by @dnsge in #4077
- Fix recursive fetchChatters call by @pajlada in #4097
- Update OpenSSL convenience link by @brian6932 in #4098
- Fix Reply Text Showing In Reply Thread Popup by @dnsge in #4101
- deps[conan]: update openssl and boost on Windows by @Nerixyz in #4100
- Update
jurplel/install-qt-actionGitHub Action from v2 to v3 by @pajlada in #4106 - Fix Twitch-specific filters not being applied by @pajlada in #4107
- Fix uninitialized read in
ChannelView'shighlightedMessage_by @pajlada in #4109 - Revert "Fix Twitch-specific filters not being applied (#4107)" by @pajlada in #4111
- Fix RapidJSON link not being https by @Felanbird in #4113
- Migrate /commercial command to the Helix API by @xel86 in #4094
- Harden emote parsing by @pajlada in #3885
- Migrate /mods command to helix API by @cbclemmer in #4103
- Fix chatters recursion not working by @pajlada in #4114
- Make opening threads from a usercard opened with /usercard not crash the client by @Mm2PL in #3905
- Add
is:redemptionsearch predicate by @Felanbird in #4118 - Add
is:replysearch predicate by @Felanbird in #4119 - Move ChatSettings commands to their own file by @pajlada in #4116
- Allow hiding moderation actions in streamer mode by @Mm2PL in #3926
- Update
pajlada/create-releaseaction to v2.0.4 by @pajlada in #4123 - Improve look of tabs when using a layout other than top by @dnsge in #3925
- Switch to ncipollo/release-action for generating our Nightly releases by @pajlada in #4125
- chore: update vcpkg baseline by @kornes in #4126
- Release with actual commit message by @Wissididom in #4130
- BaseTheme is no more 🦀 by @Mm2PL in #4132
- Disable use of Qt APIs deprecated in 5.15.0 and earlier versions by @kornes in #4133
- Implement initial support for RTL languages by @mohad12211 in #3958
- add mohad12211 to contributors list by @mohad12211 in #4138
- Allow Commercial API endpoint to handle commercial lengths by @xel86 in #4141
- Add debug output to channel point reward callbacks by @pajlada in #4142
- change unicode for better font support and fix some cases by @BKSalman in #4139
- Add ability to pin Usercards to stay open even if it loses focus by @goldbattle in #3884
- Fix triple click selection on message containing reply by @kornes in #4131
- Fix login dialog causing main window to be non movable by @kornes in #4121
- Add settings to increase split and usercard scrollback by @goldbattle in #3811
- Fix context menu not opening when username is right clicked from usercard/search/reply window by @kornes in #4122
- feat: Live Emote Updates for 7TV by @Nerixyz in #4090
- Improved text selection by @kornes in #4127
- Add setting to prevent or highlight message overflow by @acdvs in #3418
- Initial backend test for user-based data/customizations by @pajlada in #4144
- Bump ncipollo/release-action from 1.11.1 to 1.11.2 by @dependabot in #4150
- fix: Mark Bad or Invalid Images as Empty by @Nerixyz in #4151
- Fix tab wrapping with vertical tab layout by @dnsge in #4152
- Fix crashes that can occur when selecting/copying text by @pajlada in #4153
- Fix users being assigned duplicate FrankerFaceZ badges by @pajlada in #4156
- Make cleanChannelName a NOOP for IRC by @Mm2PL in #4154
- Make builtin commands work in IRC channels by @Mm2PL in #4160
- Add echo-message support for IRC by @Mm2PL in #4157
- docs: add documentation for AddressSanitizer on MSVC by @Nerixyz in #4161
- Add better support for IRC private messages by @Mm2PL in #4158
- 🔨 Automatically generate resources files with cmake by @AnotherFoxGuy in #4159
- fix:
/banmessages for self/mod bans by @Nerixyz in #4164 - fix sample redemption messages by @pajlada in #4165
- Fix Linux CMake build for old installs by @pajlada in #4167
- fix: Limiting the height of a message that contains some RTL text causes a crash by @Nerixyz in #4168
- fix:
/watchingchannel jumping around by @Nerixyz in #4169 - Add support for Nicknames on IRC by @Mm2PL in #4170
- Have
clang-format-all.shalso reformat test files by @pajlada in #4171 - Fix issue with VIPs who have Asian Language display names by @Felanbird in #4174
- fix: don't ignore
mousePressEventinSplitInputby @Nerixyz in #4177 - chore(msvc): replace /W3 with /W4 by @Nerixyz in #4175
- fix: don't parent popup windows on Windows OS by @leon-richardt in #4181
- Fix low contrast of text in settings tooltip by @kornes in #4188
- Fix crash happening when QuickSwitcher is used with popout window by @kornes in #4187
- fix neutral elements order in multiple lines by @mohad12211 in #4173
- Fix white border appearing around maximized window by @kornes in #4190
- Sort and force grouping of includes by @pajlada in #4172
- perf: Speed Up Opening of Settings Dialog by @Nerixyz in #4193
- Fix unnecessary clears of split input selection by @kornes in #4197
- fix: iCCP - known incorrect sRGB profile by @Nerixyz in #4199
- Release v2.4.0 by @pajlada in #4200
New Contributors
- @hicupalot made their first contribution in #3654
- @kornes made their first contribution in #3679
- @badoge made their first contribution in #3683
- @mmattbtw made their first contribution in #3792
- @exstrim401 made their first contribution in #3832
- @Jaxkey made their first contribution in #3818
- @jschaenz made their first contribution in #3851
- @TroyKomodo made their first contribution in #3886
- @Explooosion-code made their first contribution in #3946
- @8thony made their first contribution in #4076
- @Wissididom made their first contribution in #4085
- @mohad12211 made their first contribution in #4092
- @cbclemmer made their first contribution in #4088
- @BKSalman made their first contribution in #4139
Full Changelog: v2.3.5...v2.4.0