Releases: Chatterino/chatterino2
Releases Β· Chatterino/chatterino2
Nightly Release
- [2025-10-04] Bugfix: Expose the "Extra extension IDs" setting on non-Windows systems too. (#6509)
- [2025-10-04] Dev: Refactored
Emotes
intoEmoteController
. (#6516) - [2025-10-03] Dev: Removed unused method in
Emojis
. (#6517) - [2025-10-02] Minor: Added link support to plugin message API. (#6386)
- [2025-09-30] Dev: Merged emote element flags from different providers into two. (#6511)
More Changes
- [2025-09-28] Dev: Correct handling of eventsubs without any account. (#6503)
- [2025-09-28] Minor: Badges now link to their home page like emotes in the context menu. (#6437)
- [2025-09-28] Minor: Added setting for character limit of deleted messages. (#6491)
- [2025-09-28] Dev: Removed dependency to Qt5 Compatibility module by updating libcommuni. (#6500)
- [2025-09-27] Dev: Remove unused QTextCodec includes. (#6487)
- [2025-09-27] Dev: Find Boost's CMake Config file instead of module file. (#6499)
- [2025-09-27] Dev: Update release documentation. (#6498)
- [2025-09-27] Dev: Fix the WinGet release workflow. (#6497)
- [2025-09-27] Minor: Fixed usercard resizing improperly without recent messages. (#6496)
- [2025-09-25] Dev: Fix 32-bit compile in PluginRepl. (#6483)
- [2025-09-25] Dev: Make code sanitizers opt in with the
CHATTERINO_SANITIZER_SUPPORT
CMake option. After that's enabled, use theSANITIZE_*
flag to enable individual sanitizers. (#6493)
v2.5.4
This is the full release of v2.5.4.
The full changelog can be found at https://chatterino.com/changelog#2.5.4
Commit list
- chore(conan): don't create
CMakeUserPresets.json
by @Nerixyz in #6117 - Fix: Don't create native messaging manifest file if browser directory doesn't exist by @4rneee in #6116
- fix(cmake): use
--force-openssl
on Qt 6.8+ by @Nerixyz in #6129 - fix: make reply-cancel button less coarse-grained by @leungbk in #6106
- make paused chat indicator more apparent by @jacob-thompson in #6123
- fix: receive bttv live updates again by @iProdigy in #6132
- fix cmd+backspace behavior in main chat dialog input by @jacob-thompson in #6111
- Fixes #3545 Allow disabling fading recent messages by @fourtf in #6121
- fix: allow scrolling by inputs in settings by @Nerixyz in #6128
- fix: missing space char in settings by @mastondzn in #6134
- feat(plugins): add
c2.WebSocket
by @Nerixyz in #6076 - fix: complete Twitch commands with slash by @Nerixyz in #6143
- Only draw outline for overlay when hovered over by @teknsl in #6140
- Add cached emotes fallback for failed provider fetches by @occluder in #6125
- fix: don't clear message when closing reply by @pajlada in #6145
- Add occluder to contributors list by @occluder in #6149
- refactor: split by @pajlada in #6148
- fix: add more image sizes to shared chat badge by @Nerixyz in #6146
- Feat: (Linux) Themes allow transparency on chat windows background by @apa420 in #6137
- Feature/user notes Fixes #2413 by @fourtf in #6122
- fix: split drag & drop on KDE Plasma by @pajlada in #6147
- feat: make filters searchable with Settings dialog search by @apa420 in #5890
- chore(deps): bump ZedThree/clang-tidy-review from 0.20.1 to 0.21.0 by @dependabot[bot] in #6142
- chore(deps): bump lib/expected-lite from
54ca18b
to194b3f6
by @dependabot[bot] in #6089 - chore(deps): bump lib/twitch-eventsub-ws/lib/date from
d18e8b1
toa45ea7c
by @dependabot[bot] in #6112 - fix: don't include
.inc
in outputs by @Nerixyz in #6154 - fix: handle
aboutToQuit()
by @Nerixyz in #6159 - refactor: trim down PubSub implementation by @Nerixyz in #6158
- fix: use qlogging in eventsub lib (through a hoop) by @pajlada in #6161
- feat(6156): disable tab renaming on double-click via setting by @jupjohn in #6163
- chore(deps): bump lib/settings from
c141a40
to104e1c8
by @dependabot[bot] in #6150 - chore(deps): bump lib/qtkeychain from
ad7344c
to35c4f40
by @dependabot[bot] in #6135 - chore(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot[bot] in #6152
- feat: update emojis to Unicode 16.0 by @Nerixyz in #6155
- fix: emote popup logging messages to "Other" directory by @pajlada in #6165
- chore(deps): bump DoozyX/clang-format-lint-action from 0.18 to 0.20 by @dependabot[bot] in #6151
- chore: re-export Qt's string literals by @Nerixyz in #6175
- chore: bump deprecated cutoff to Qt 6.4.3 by @Nerixyz in #6169
- dep: update googletest to v1.17.0 by @pajlada in #6180
- fix: don't include blocked users in join/part messages by @pajlada in #6181
- refactor(TwitchAccount): mostly include cleanup by @pajlada in #6182
- feat: add tooltip for rename on double-click setting by @jupjohn in #6184
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.16 to 1.2.18 by @dependabot[bot] in #6179
- chore(deps): bump jurplel/install-qt-action from 4.1.1 to 4.2.1 by @dependabot[bot] in #6170
- chore: bump settings version by @pajlada in #6185
- Do not hide WebSocket API when missing permission by @Mm2PL in #6186
- feat: run-and-kill script by @pajlada in #6188
- refactor(WindowManager): remove some
getApp
uses by @pajlada in #6194 - Add hotkey action for opening account switcher by @teknsl in #6192
- fix(plugins): TSTL
HTTPRequest.create
generation by @2547techno in #6190 - feat(uploader): extend JSON selectors by @Nerixyz in #6193
- refactor: fix some spelling mistakes by @pajlada in #6196
- fix: crash that could occur when force-closing 7tv/bttv live updates by @pajlada in #6197
- refactor: move event api initializations to TwitchIrcServer by @pajlada in #6198
- feat: make Nicknames searchable with settings dialog search bar by @apa420 in #5886
- docs: update natvis repo by @Nerixyz in #6202
- use
QMetaObject::invokeMethod
to post to thread by @pajlada in #6203 - fix: send weak ptr to session's checkKeepalive timer by @pajlada in #6204
- chore(deps): bump lib/WinToast from
1c841d3
to11e76e5
by @dependabot[bot] in #6090 - chore(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot[bot] in #6211
- chore: remove bad event api init comments by @pajlada in #6212
- fix: don't construct images after we're quitting by @pajlada in #6213
- attempt to fix crashes on exit by @pajlada in #6187
- refactor(notebook): merge top/bottom and left/right layout by @Nerixyz in #6215
- refactor: use std::_Exit in rungui instead of _exit by @pajlada in #6218
- refactor: move
TimeoutStackStyle
to its own file by @pajlada in #6216 - refactor: move Notebook enums to their own file by @pajlada in #6220
- refactor: remove Application.hpp dependency in Plugin.hpp by @pajlada in #6219
- Forward declare some things to speed up compile by @Mm2PL in #6162
- Fix plugin docs: HTTPRequest enum by @ynot01 in #6225
- Add ynot01 to contributors list by @ynot01 in #6226
- fix: crash on older versions of Qt by @pajlada in #6229
- refactor: floatify messages by @Nerixyz in #6231
- fix(plugins): TSTL static method generation by @2547techno in #6223
- refactor: buttons by @Nerixyz in #6102
- fix: don't indent inner namespaces by @pajlada in #6235
- chore: require clang-format 19 by @Nerixyz in #6236
- fix(once-flag): make
flag
atomic by @Nerixyz in #6237 - chore: update .git-blame-ignore-revs by @pajlada in #6239
- feat: add support for automatic streamer mode check from flatpak by @ilya-zlobintsev in #6250
- chore(deps): bump lib/twitch-eventsub-ws/lib/date from
a45ea7c
to6d7739e
by @dependabot[bot] in #6252 - fix: use integers for message layout bounds by @Nerixyz in #6254
- fix(button): use DPR for cached pixmap scale by @Nerixyz in https://github.com/Ch...
v2.5.4-beta.1
This is the first beta release of v2.5.4.
The full changelog can be found at https://chatterino.com/changelog#2.5.4
New Contributors
- @leungbk made their first contribution in #6106
- @mastondzn made their first contribution in #6134
- @occluder made their first contribution in #6125
- @ynot01 made their first contribution in #6225
- @iZarrios made their first contribution in #6260
- @SimplyCrow made their first contribution in #6280
- @knobby-tires made their first contribution in #6284
- @droidicus made their first contribution in #6338
- @vincent0955 made their first contribution in #6357
- @cqttv made their first contribution in #6407
- @isgkm made their first contribution in #6413
- @x3rt made their first contribution in #6387
Commit list
- chore(conan): don't create
CMakeUserPresets.json
by @Nerixyz in #6117 - Fix: Don't create native messaging manifest file if browser directory doesn't exist by @4rneee in #6116
- fix(cmake): use
--force-openssl
on Qt 6.8+ by @Nerixyz in #6129 - fix: make reply-cancel button less coarse-grained by @leungbk in #6106
- make paused chat indicator more apparent by @jacob-thompson in #6123
- fix: receive bttv live updates again by @iProdigy in #6132
- fix cmd+backspace behavior in main chat dialog input by @jacob-thompson in #6111
- Fixes #3545 Allow disabling fading recent messages by @fourtf in #6121
- fix: allow scrolling by inputs in settings by @Nerixyz in #6128
- fix: missing space char in settings by @mastondzn in #6134
- feat(plugins): add
c2.WebSocket
by @Nerixyz in #6076 - fix: complete Twitch commands with slash by @Nerixyz in #6143
- Only draw outline for overlay when hovered over by @teknsl in #6140
- Add cached emotes fallback for failed provider fetches by @occluder in #6125
- fix: don't clear message when closing reply by @pajlada in #6145
- Add occluder to contributors list by @occluder in #6149
- refactor: split by @pajlada in #6148
- fix: add more image sizes to shared chat badge by @Nerixyz in #6146
- Feat: (Linux) Themes allow transparency on chat windows background by @apa420 in #6137
- Feature/user notes Fixes #2413 by @fourtf in #6122
- fix: split drag & drop on KDE Plasma by @pajlada in #6147
- feat: make filters searchable with Settings dialog search by @apa420 in #5890
- chore(deps): bump ZedThree/clang-tidy-review from 0.20.1 to 0.21.0 by @dependabot[bot] in #6142
- chore(deps): bump lib/expected-lite from
54ca18b
to194b3f6
by @dependabot[bot] in #6089 - chore(deps): bump lib/twitch-eventsub-ws/lib/date from
d18e8b1
toa45ea7c
by @dependabot[bot] in #6112 - fix: don't include
.inc
in outputs by @Nerixyz in #6154 - fix: handle
aboutToQuit()
by @Nerixyz in #6159 - refactor: trim down PubSub implementation by @Nerixyz in #6158
- fix: use qlogging in eventsub lib (through a hoop) by @pajlada in #6161
- feat(6156): disable tab renaming on double-click via setting by @jupjohn in #6163
- chore(deps): bump lib/settings from
c141a40
to104e1c8
by @dependabot[bot] in #6150 - chore(deps): bump lib/qtkeychain from
ad7344c
to35c4f40
by @dependabot[bot] in #6135 - chore(deps): bump codecov/codecov-action from 5.4.0 to 5.4.2 by @dependabot[bot] in #6152
- feat: update emojis to Unicode 16.0 by @Nerixyz in #6155
- fix: emote popup logging messages to "Other" directory by @pajlada in #6165
- chore(deps): bump DoozyX/clang-format-lint-action from 0.18 to 0.20 by @dependabot[bot] in #6151
- chore: re-export Qt's string literals by @Nerixyz in #6175
- chore: bump deprecated cutoff to Qt 6.4.3 by @Nerixyz in #6169
- dep: update googletest to v1.17.0 by @pajlada in #6180
- fix: don't include blocked users in join/part messages by @pajlada in #6181
- refactor(TwitchAccount): mostly include cleanup by @pajlada in #6182
- feat: add tooltip for rename on double-click setting by @jupjohn in #6184
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.16 to 1.2.18 by @dependabot[bot] in #6179
- chore(deps): bump jurplel/install-qt-action from 4.1.1 to 4.2.1 by @dependabot[bot] in #6170
- chore: bump settings version by @pajlada in #6185
- Do not hide WebSocket API when missing permission by @Mm2PL in #6186
- feat: run-and-kill script by @pajlada in #6188
- refactor(WindowManager): remove some
getApp
uses by @pajlada in #6194 - Add hotkey action for opening account switcher by @teknsl in #6192
- fix(plugins): TSTL
HTTPRequest.create
generation by @2547techno in #6190 - feat(uploader): extend JSON selectors by @Nerixyz in #6193
- refactor: fix some spelling mistakes by @pajlada in #6196
- fix: crash that could occur when force-closing 7tv/bttv live updates by @pajlada in #6197
- refactor: move event api initializations to TwitchIrcServer by @pajlada in #6198
- feat: make Nicknames searchable with settings dialog search bar by @apa420 in #5886
- docs: update natvis repo by @Nerixyz in #6202
- use
QMetaObject::invokeMethod
to post to thread by @pajlada in #6203 - fix: send weak ptr to session's checkKeepalive timer by @pajlada in #6204
- chore(deps): bump lib/WinToast from
1c841d3
to11e76e5
by @dependabot[bot] in #6090 - chore(deps): bump codecov/codecov-action from 5.4.2 to 5.4.3 by @dependabot[bot] in #6211
- chore: remove bad event api init comments by @pajlada in #6212
- fix: don't construct images after we're quitting by @pajlada in #6213
- attempt to fix crashes on exit by @pajlada in #6187
- refactor(notebook): merge top/bottom and left/right layout by @Nerixyz in #6215
- refactor: use std::_Exit in rungui instead of _exit by @pajlada in #6218
- refactor: move
TimeoutStackStyle
to its own file by @pajlada in #6216 - refactor: move Notebook enums to their own file by @pajlada in #6220
- refactor: remove Application.hpp dependency in Plugin.hpp by @pajlada in #6219
- Forward declare some things to speed up compile by @Mm2PL in #6162
- Fix plugin docs: HTTPRequest enum by @ynot01 in #6225
- Add ynot01 to contributors list by @ynot01 in #6226
- fix: crash on older versions of Qt by @pajlada in #6229
- refactor: fl...
v2.5.3
This is the full release of v2.5.3.
The changelog can be found at https://chatterino.com/changelog#2.5.3
Commit list
- Fix: Take Lua HTTP callbacks as sol::main_protected_function by @Mm2PL in #5800
- chore: bump winget-releaser action by @pajlada in #5793
- build(conan): π· update version and dependencies by @Nerixyz in #5776
- Update release docs by @pajlada in #5809
- consolidate firefox incognitobrowser logic (and deprecate opera/launcher) by @teknsl in #5805
- Remove iexplore, because it is EOL by @Wissididom in #5810
- fix: update winget repo url by @pajlada in #5813
- fix: winget url fix by @pajlada in #5814
- chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.2 by @dependabot in #5772
- fix: missing word wrap in update popup by @8thony in #5811
- fix: don't block with update prompt on macos/linux by @pajlada in #5818
- feat: stack
/clear
messages by @Nerixyz in #5806 - fix: set initial size of widgets by @Nerixyz in #5794
- fix: use non-capturing group for highlight boundaries by @Nerixyz in #5784
- fix: only use window scale in children by @Nerixyz in #5833
- fix: support boost 1.87 by @pajlada in #5832
- chore(ci): build & test macos with Boost 1.87 by @pajlada in #5835
- fix: use
serverReceivedTime
overparseTime
for stacking by @Nerixyz in #5824 - fix: only remove logging channels if we added them by @Nerixyz in #5828
- Update chatterino.d.ts to match plugin-meta.lua by @Mm2PL in #5792
- chore(deps): bump lib/settings from
9e9c2f6
to6c95e5d
by @dependabot in #5779 - chore(tests): print more errors when snapshot tests fail by @pajlada in #5839
- chore(tests): don't use variants π by @pajlada in #5840
- chore(deps): bump lib/expected-lite from
5b5caad
to6ea9ca0
by @dependabot in #5829 - chore(deps): bump ncipollo/release-action from 1.14.0 to 1.15.0 by @dependabot in #5822
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.14 to 1.2.16 by @dependabot in #5821
- Fixed a potential way to escape the Lua Plugin sandbox by @Mm2PL in #5846
- refactor: merge adjecent words into one
TextElement
by @Nerixyz in #5847 - chore(deps): bump codecov/codecov-action from 5.1.2 to 5.2.0 by @dependabot in #5849
- chore(deps): bump dawidd6/action-download-artifact from 6 to 8 by @dependabot in #5848
- chore(deps): bump lib/settings from
6c95e5d
to6f0328b
by @dependabot in #5851 - chore(deps): bump codecov/codecov-action from 5.2.0 to 5.3.0 by @dependabot in #5852
- feat: prefer visible/selected channels when joining by @Nerixyz in #5850
- fix: visually hide deleted messages immediately by @Nerixyz in #5844
- fix: more force relayout on timeout/clear/delete by @pajlada in #5854
- fix: properly stack/merge PubSub & IRC timeouts again by @pajlada in #5855
- fix: Allow announcements to show up in /mentions by @M4tthewDE in #5857
- chore(deps): bump lib/settings from
6f0328b
tod1a2e48
by @dependabot in #5859 - fix: make suspicious treatment updates searchable by @iProdigy in #5865
- docs: update linux & test docs by @pajlada in #5864
- fix: use upstream qtkeychain (for real this time) by @Nerixyz in #5871
- fix(hotkeys): remove (self-)buddy from
argumentsDescription
by @Nerixyz in #5869 - chore(deps): bump lib/WinToast from
a78ce46
tof693b8e
by @dependabot in #5823 - chore(deps): bump lib/expected-lite from
6ea9ca0
to54ca18b
by @dependabot in #5866 - feat(filters): filter by author user ID by @apa420 in #5862
- fix: don't show reply button on inline whispers or announcements by @M4tthewDE in #5863
- chore(deps): bump lib/WinToast from
f693b8e
to637229e
by @dependabot in #5876 - chore(ci): bump twitch pubsub server version to v1.0.8 by @pajlada in #5877
- chore(deps): bump codecov/codecov-action from 5.3.0 to 5.3.1 by @dependabot in #5860
- feat: improve create clip error messaging by @pajlada in #5879
- Disable QT keywords to avoid clashes with other libraries. by @camporter in #5882
- deps: update
libcommuni
by @Nerixyz in #5883 - feat: add initial experimental Twitch Eventsub support by @pajlada in #5837
- nit: fix some eventsub mini things by @pajlada in #5895
- fix: force quit miniaudio thread after 1s by @pajlada in #5896
- chore(pubsub): remove unused whisper code π·π»ββοΈ by @pajlada in #5898
- refactor(eventsub): generate entire files by @Nerixyz in #5897
- refactor(eventsub): Allow for skipping generation of json implementations by @pajlada in #5904
- doc(ci): explain ubuntu docker image stuff by @pajlada in #5905
- refactor(eventsub): remove empty line start of implementation by @pajlada in #5910
- refactor(eventsub): enforce static error categories by @Nerixyz in #5903
- fix: address clang-tidy warnings by @Nerixyz in #5915
- refactor(eventsub): use
snake_case
transform by default by @pajlada in #5916 - chore(eventsub): run pytest in ci by @pajlada in #5920
- refactor(eventsub): use variants for sum types by @Nerixyz in #5930
- chore: disable Qt5 builds in CI by @pajlada in #5933
- chore(ci): bump macos runners from 13 to 14 by @pajlada in #5934
- feat: add Linux support for Live Notifications toasts w/ libnotify by @camporter in #5881
- fix(eventsub): don't require pip if venv works by @Nerixyz in #5935
- fix(cmake): generate resources in build directory by @Nerixyz in #5940
- Delete unused .docker directory by @Wissididom in #5906
- deps: bump
googletest
to v1.16.0 by @Nerixyz in #5942 - feat(eventsub): Add support for
channel.moderate
Warn by @pajlada in #5932 - refactor(notifications): remove platform specifier by @apa420 in #5914
- feat(eventsub): properly unsubscribe once no more handles are interested by @pajlada in #5943
- fix: show rewards early, replace later by @Nerixyz in #5948
- fix: reuse one channel for emote search by @Nerixyz in #5946
- chore(ci): bump freebsd image from 14.0 to 14.2 by @pajlada in #5949
- fix: receive redemptions despite pubsub shutdown by @iProdigy in #5947
- fix github action status badge by @T0biii in #5950
- chore(deps): bump lib/WinToast from
637229e
to79756c6
by @dependabot in #5951 - feat(eventsub): add basic parse tests and benchmark by @Nerixyz in #5952
- refactor(eventsub): more refer...
v2.5.3-beta.1
This is the first beta release of v2.5.3.
The full changelog can be found at https://chatterino.com/changelog#2.5.3
Commit list
- Fix: Take Lua HTTP callbacks as sol::main_protected_function by @Mm2PL in #5800
- chore: bump winget-releaser action by @pajlada in #5793
- build(conan): π· update version and dependencies by @Nerixyz in #5776
- Update release docs by @pajlada in #5809
- consolidate firefox incognitobrowser logic (and deprecate opera/launcher) by @teknsl in #5805
- Remove iexplore, because it is EOL by @Wissididom in #5810
- fix: update winget repo url by @pajlada in #5813
- fix: winget url fix by @pajlada in #5814
- chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.2 by @dependabot in #5772
- fix: missing word wrap in update popup by @8thony in #5811
- fix: don't block with update prompt on macos/linux by @pajlada in #5818
- feat: stack
/clear
messages by @Nerixyz in #5806 - fix: set initial size of widgets by @Nerixyz in #5794
- fix: use non-capturing group for highlight boundaries by @Nerixyz in #5784
- fix: only use window scale in children by @Nerixyz in #5833
- fix: support boost 1.87 by @pajlada in #5832
- chore(ci): build & test macos with Boost 1.87 by @pajlada in #5835
- fix: use
serverReceivedTime
overparseTime
for stacking by @Nerixyz in #5824 - fix: only remove logging channels if we added them by @Nerixyz in #5828
- Update chatterino.d.ts to match plugin-meta.lua by @Mm2PL in #5792
- chore(deps): bump lib/settings from
9e9c2f6
to6c95e5d
by @dependabot in #5779 - chore(tests): print more errors when snapshot tests fail by @pajlada in #5839
- chore(tests): don't use variants π by @pajlada in #5840
- chore(deps): bump lib/expected-lite from
5b5caad
to6ea9ca0
by @dependabot in #5829 - chore(deps): bump ncipollo/release-action from 1.14.0 to 1.15.0 by @dependabot in #5822
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.14 to 1.2.16 by @dependabot in #5821
- Fixed a potential way to escape the Lua Plugin sandbox by @Mm2PL in #5846
- refactor: merge adjecent words into one
TextElement
by @Nerixyz in #5847 - chore(deps): bump codecov/codecov-action from 5.1.2 to 5.2.0 by @dependabot in #5849
- chore(deps): bump dawidd6/action-download-artifact from 6 to 8 by @dependabot in #5848
- chore(deps): bump lib/settings from
6c95e5d
to6f0328b
by @dependabot in #5851 - chore(deps): bump codecov/codecov-action from 5.2.0 to 5.3.0 by @dependabot in #5852
- feat: prefer visible/selected channels when joining by @Nerixyz in #5850
- fix: visually hide deleted messages immediately by @Nerixyz in #5844
- fix: more force relayout on timeout/clear/delete by @pajlada in #5854
- fix: properly stack/merge PubSub & IRC timeouts again by @pajlada in #5855
- fix: Allow announcements to show up in /mentions by @M4tthewDE in #5857
- chore(deps): bump lib/settings from
6f0328b
tod1a2e48
by @dependabot in #5859 - fix: make suspicious treatment updates searchable by @iProdigy in #5865
- docs: update linux & test docs by @pajlada in #5864
- fix: use upstream qtkeychain (for real this time) by @Nerixyz in #5871
- fix(hotkeys): remove (self-)buddy from
argumentsDescription
by @Nerixyz in #5869 - chore(deps): bump lib/WinToast from
a78ce46
tof693b8e
by @dependabot in #5823 - chore(deps): bump lib/expected-lite from
6ea9ca0
to54ca18b
by @dependabot in #5866 - feat(filters): filter by author user ID by @apa420 in #5862
- fix: don't show reply button on inline whispers or announcements by @M4tthewDE in #5863
- chore(deps): bump lib/WinToast from
f693b8e
to637229e
by @dependabot in #5876 - chore(ci): bump twitch pubsub server version to v1.0.8 by @pajlada in #5877
- chore(deps): bump codecov/codecov-action from 5.3.0 to 5.3.1 by @dependabot in #5860
- feat: improve create clip error messaging by @pajlada in #5879
- Disable QT keywords to avoid clashes with other libraries. by @camporter in #5882
- deps: update
libcommuni
by @Nerixyz in #5883 - feat: add initial experimental Twitch Eventsub support by @pajlada in #5837
- nit: fix some eventsub mini things by @pajlada in #5895
- fix: force quit miniaudio thread after 1s by @pajlada in #5896
- chore(pubsub): remove unused whisper code π·π»ββοΈ by @pajlada in #5898
- refactor(eventsub): generate entire files by @Nerixyz in #5897
- refactor(eventsub): Allow for skipping generation of json implementations by @pajlada in #5904
- doc(ci): explain ubuntu docker image stuff by @pajlada in #5905
- refactor(eventsub): remove empty line start of implementation by @pajlada in #5910
- refactor(eventsub): enforce static error categories by @Nerixyz in #5903
- fix: address clang-tidy warnings by @Nerixyz in #5915
- refactor(eventsub): use
snake_case
transform by default by @pajlada in #5916 - chore(eventsub): run pytest in ci by @pajlada in #5920
- refactor(eventsub): use variants for sum types by @Nerixyz in #5930
- chore: disable Qt5 builds in CI by @pajlada in #5933
- chore(ci): bump macos runners from 13 to 14 by @pajlada in #5934
- feat: add Linux support for Live Notifications toasts w/ libnotify by @camporter in #5881
- fix(eventsub): don't require pip if venv works by @Nerixyz in #5935
- fix(cmake): generate resources in build directory by @Nerixyz in #5940
- Delete unused .docker directory by @Wissididom in #5906
- deps: bump
googletest
to v1.16.0 by @Nerixyz in #5942 - feat(eventsub): Add support for
channel.moderate
Warn by @pajlada in #5932 - refactor(notifications): remove platform specifier by @apa420 in #5914
- feat(eventsub): properly unsubscribe once no more handles are interested by @pajlada in #5943
- fix: show rewards early, replace later by @Nerixyz in #5948
- fix: reuse one channel for emote search by @Nerixyz in #5946
- chore(ci): bump freebsd image from 14.0 to 14.2 by @pajlada in #5949
- fix: receive redemptions despite pubsub shutdown by @iProdigy in #5947
- fix github action status badge by @T0biii in #5950
- chore(deps): bump lib/WinToast from
637229e
to79756c6
by @dependabot in #5951 - feat(eventsub): add basic parse tests and benchmark by @Nerixyz in #5952
- refactor(eventsub): m...
v2.5.2
This is the full release of v2.5.2.
The changelog can be found at https://chatterino.com/changelog#2.5.2
Commit list
- ci: add workflow for WinGet by @Nerixyz in #5365
- docs: fix typo by @fossdd in #5368
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.12 to 1.2.13 by @dependabot in #5370
- build: add doxygen target by @pajlada in #5377
- tests: better test initializing allowing for better printing by @pajlada in #5379
- fix: prefer reporting error over status for 200 OK by @Nerixyz in #5378
- chore(deps): bump lib/settings from
70fbc72
to03e8af1
by @dependabot in #5382 - Release plugins alpha by @Mm2PL in #5288
- Add custom image functionality for inline mod buttons. by @Mm2PL in #5369
- fix: Missing includes when building with
USE_PRECOMPILED_HEADERS=OFF
by @brian6932 in #5389 - refactor: cleanup and document
Scrollbar
by @Nerixyz in #5334 - Use Qt's High-DPI scaling on Windows by @Nerixyz in #4868
- fix: update color of usernames & boldness of usernames on the fly by @pajlada in #5300
- fix: don't use DPI aware functions on Qt 5 (Windows 7/8) by @Nerixyz in #5391
- revert: use max(minimum, min(bottom, value)) over clamp(..) by @Nerixyz in #5393
- Added
flags.action
filter variable by @Mm2PL in #5397 - fix: don't attempt to scale windows opted out of scaling by @Nerixyz in #5400
- chore(deps): bump ZedThree/clang-tidy-review from 0.18.0 to 0.19.0 by @dependabot in #5394
- fix: get rid of duplicate scale events by @Nerixyz in #5404
- fix: usercard jumping when loading data by @Nerixyz in #5406
- chore(deps): bump jurplel/install-qt-action from 3.3.0 to 4.0.0 by @dependabot in #5408
- fix(luals-meta): generate globals in
c2
and echo @lua commands by @Nerixyz in #5385 - chore: remove unused timegates by @Nerixyz in #5361
- fix: use
irc-unknown
when irc server couldn't be loaded by @pajlada in #5419 - Add feature to duplicate tabs by @KleberPF in #5277
- Update Windows Qt6 version from 6.5.0 to 6.7.1 by @pajlada in #5420
- chore: update vcpkg baseline (Qt 6.7.0) by @kornes in #5422
- chore(deps): bump lib/settings from
03e8af1
to80b8cb6
by @dependabot in #5427 - Fix: tabs move animation for duplicated tabs by @kornes in #5426
- feat(emote-popup): save size of popup by @Nerixyz in #5415
- Fixed restricted users' usernames not being clickable by @pajlada in #5405
- chore: refactor TwitchIrcServer by @pajlada in #5421
- refactor: load images in workers and push immediately by @Nerixyz in #5431
- fix: global emotes not loading by @pajlada in #5435
- feat: notify mods when users are warned by @iProdigy in #5441
- force install newer version of the windows CRT in the windows test runner by @pajlada in #5448
- Improved error messaging for Update Channel API by @JakeRYW in #5429
- chore(deps): bump dawidd6/action-download-artifact from 3 to 6 by @dependabot in #5454
- fix: Add brave & google-chrome-stable to incognito browser list by @Niller2005 in #5452
- fix: handle older VC redist versions by @Nerixyz in #5447
- Clean up QtCreator's package manager setup by @hemirt in #5305
- fix: ignore late pings by @Nerixyz in #5457
- feat: allow timeout-related commands to be used in multiple channels by @pajlada in #5402
- Show line indicator instead of rectangle while dragging in tables by @Nerixyz in #5256
- fix: git permission errors in Ubuntu builds by @pajlada in #5458
- chore: unsingletonize UserDataController by @pajlada in #5459
- make TwitchPubSubClient.DisconnectedAfter1s test less flaky by @pajlada in #5461
- chore: unsingletonize Resources/Resources2 by @pajlada in #5460
- chore: unsingletonize SoundController by @pajlada in #5462
- Add niller2005 to contributors list by @Niller2005 in #5464
- fix: check state when completing commands by @Nerixyz in #5401
- chore: post some ssl info on startup by @pajlada in #5475
- Introduce HTTP API for plugins by @Mm2PL in #5383
- feat: add
/warn
command by @iProdigy in #5474 - feat: notate power-up automatic reward redemptions by @iProdigy in #5471
- refactor: cleanup browser extension by @Nerixyz in #5465
- chore(deps): bump lib/expected-lite from
3634b0a
to182165b
by @dependabot in #5469 - chore(deps): bump lib/settings from
80b8cb6
tof3e9161
by @dependabot in #5468 - Adding JakeRYW to contributor list by @JakeRYW in #5481
- chore: change pajlada's profile picture to v2 by @pajlada in #5482
- fix(windows): wait for Qt before getting bounds by @Nerixyz in #5478
- chore: remove old Qt 5.12 code, update docs and FreeBSD runner by @Nerixyz in #5396
- dev: remove macos artifact from nightly release by @pajlada in #5483
- Add
Network
to plugin info schema by @2547techno in #5492 - fix plugin http types & docs by @2547techno in #5494
- Enable antialiasing for reply button by @dnsge in #5491
- chore: Update settings library to v0.2.0 by @pajlada in #5496
- fix: use selected window for
/clearmessages
by @Nerixyz in #5489 - refactor: add
Channel::addSystemMessage
function by @pajlada in #5500 - show running qt version if it differs from compiled version by @Nerixyz in #5501
- Support more firefox variants for incognito link opening by @teknsl in #5503
- Fixed splits staying paused after unfocusing Chatterino in certain configurations by @Mm2PL in #5504
- Add extra context to messages that are added to channels, allowing the logging controller to take more responsibility in what messages to log by @pajlada in #5499
- feat: strip prefixes and suffixes in links by @Nerixyz in #5486
- Added option to log streams by their ID, allowing for easier "per-stream" log analyzing by @pajlada in #5507
- Display message being replied to above input box by @dnsge in #4350
- chore: make
FlagsEnum
constexpr by @Nerixyz in #5510 - chore: mini refactorings and dead code removal by @Nerixyz in #5512
- fix: disallow more characters in links by @Nerixyz in #5509
- feat: add option to suppress live notifications on startup by @Nerixyz in #5388
- fix: restore input layout (almost) by @Nerixyz in #5519
- ci: collect code coverage by @Nerixyz in #5516
- chore: remove Singleton & replace getIApp with getApp by @pajlada in https://github.com/Chatterin...
v2.5.2-beta.1
This is the first beta release of v2.5.2.
The full changelog can be found at https://chatterino.com/changelog#2.5.2
Commit list
- ci: add workflow for WinGet by @Nerixyz in #5365
- docs: fix typo by @fossdd in #5368
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.12 to 1.2.13 by @dependabot in #5370
- build: add doxygen target by @pajlada in #5377
- tests: better test initializing allowing for better printing by @pajlada in #5379
- fix: prefer reporting error over status for 200 OK by @Nerixyz in #5378
- chore(deps): bump lib/settings from
70fbc72
to03e8af1
by @dependabot in #5382 - Release plugins alpha by @Mm2PL in #5288
- Add custom image functionality for inline mod buttons. by @Mm2PL in #5369
- fix: Missing includes when building with
USE_PRECOMPILED_HEADERS=OFF
by @brian6932 in #5389 - refactor: cleanup and document
Scrollbar
by @Nerixyz in #5334 - Use Qt's High-DPI scaling on Windows by @Nerixyz in #4868
- fix: update color of usernames & boldness of usernames on the fly by @pajlada in #5300
- fix: don't use DPI aware functions on Qt 5 (Windows 7/8) by @Nerixyz in #5391
- revert: use max(minimum, min(bottom, value)) over clamp(..) by @Nerixyz in #5393
- Added
flags.action
filter variable by @Mm2PL in #5397 - fix: don't attempt to scale windows opted out of scaling by @Nerixyz in #5400
- chore(deps): bump ZedThree/clang-tidy-review from 0.18.0 to 0.19.0 by @dependabot in #5394
- fix: get rid of duplicate scale events by @Nerixyz in #5404
- fix: usercard jumping when loading data by @Nerixyz in #5406
- chore(deps): bump jurplel/install-qt-action from 3.3.0 to 4.0.0 by @dependabot in #5408
- fix(luals-meta): generate globals in
c2
and echo@lua
commands by @Nerixyz in #5385 - chore: remove unused timegates by @Nerixyz in #5361
- fix: use
irc-unknown
when irc server couldn't be loaded by @pajlada in #5419 - Add feature to duplicate tabs by @KleberPF in #5277
- Update Windows Qt6 version from 6.5.0 to 6.7.1 by @pajlada in #5420
- chore: update vcpkg baseline (Qt 6.7.0) by @kornes in #5422
- chore(deps): bump lib/settings from
03e8af1
to80b8cb6
by @dependabot in #5427 - Fix: tabs move animation for duplicated tabs by @kornes in #5426
- feat(emote-popup): save size of popup by @Nerixyz in #5415
- Fixed restricted users' usernames not being clickable by @pajlada in #5405
- chore: refactor TwitchIrcServer by @pajlada in #5421
- refactor: load images in workers and push immediately by @Nerixyz in #5431
- fix: global emotes not loading by @pajlada in #5435
- feat: notify mods when users are warned by @iProdigy in #5441
- force install newer version of the windows CRT in the windows test runner by @pajlada in #5448
- Improved error messaging for Update Channel API by @JakeRYW in #5429
- chore(deps): bump dawidd6/action-download-artifact from 3 to 6 by @dependabot in #5454
- fix: Add brave & google-chrome-stable to incognito browser list by @Niller2005 in #5452
- fix: handle older VC redist versions by @Nerixyz in #5447
- Clean up QtCreator's package manager setup by @hemirt in #5305
- fix: ignore late pings by @Nerixyz in #5457
- feat: allow timeout-related commands to be used in multiple channels by @pajlada in #5402
- Show line indicator instead of rectangle while dragging in tables by @Nerixyz in #5256
- fix: git permission errors in Ubuntu builds by @pajlada in #5458
- chore: unsingletonize UserDataController by @pajlada in #5459
- make TwitchPubSubClient.DisconnectedAfter1s test less flaky by @pajlada in #5461
- chore: unsingletonize Resources/Resources2 by @pajlada in #5460
- chore: unsingletonize SoundController by @pajlada in #5462
- Add niller2005 to contributors list by @Niller2005 in #5464
- fix: check state when completing commands by @Nerixyz in #5401
- chore: post some ssl info on startup by @pajlada in #5475
- Introduce HTTP API for plugins by @Mm2PL in #5383
- feat: add
/warn
command by @iProdigy in #5474 - feat: notate power-up automatic reward redemptions by @iProdigy in #5471
- refactor: cleanup browser extension by @Nerixyz in #5465
- chore(deps): bump lib/expected-lite from
3634b0a
to182165b
by @dependabot in #5469 - chore(deps): bump lib/settings from
80b8cb6
tof3e9161
by @dependabot in #5468 - Adding JakeRYW to contributor list by @JakeRYW in #5481
- chore: change pajlada's profile picture to v2 by @pajlada in #5482
- fix(windows): wait for Qt before getting bounds by @Nerixyz in #5478
- chore: remove old Qt 5.12 code, update docs and FreeBSD runner by @Nerixyz in #5396
- dev: remove macos artifact from nightly release by @pajlada in #5483
- Add
Network
to plugin info schema by @2547techno in #5492 - fix plugin http types & docs by @2547techno in #5494
- Enable antialiasing for reply button by @dnsge in #5491
- chore: Update settings library to v0.2.0 by @pajlada in #5496
- fix: use selected window for
/clearmessages
by @Nerixyz in #5489 - refactor: add
Channel::addSystemMessage
function by @pajlada in #5500 - show running qt version if it differs from compiled version by @Nerixyz in #5501
- Support more firefox variants for incognito link opening by @teknsl in #5503
- Fixed splits staying paused after unfocusing Chatterino in certain configurations by @Mm2PL in #5504
- Add extra context to messages that are added to channels, allowing the logging controller to take more responsibility in what messages to log by @pajlada in #5499
- feat: strip prefixes and suffixes in links by @Nerixyz in #5486
- Added option to log streams by their ID, allowing for easier "per-stream" log analyzing by @pajlada in #5507
- Display message being replied to above input box by @dnsge in #4350
- chore: make
FlagsEnum
constexpr by @Nerixyz in #5510 - chore: mini refactorings and dead code removal by @Nerixyz in #5512
- fix: disallow more characters in links by @Nerixyz in #5509
- feat: add option to suppress live notifications on startup by @Nerixyz in #5388
- fix: restore input layout (almost) by @Nerixyz in #5519
- ci: collect code coverage by @Nerixyz in #5516
- chore: remove Singleton & replace getIApp with getApp by @pajlada in https://github....
v2.5.1
v2.5.0
What's Changed
- Major: Twitch follower emotes can now be correctly tabbed in other channels when you are subscribed to the channel the emote is from. (#4922)
- Major: Added
/automod
split to track automod caught messages across all open channels the user moderates. (#4986, #5026) - Major: Moderators can now see restricted chat messages and suspicious treatment updates. (#5056, #5060)
- Minor: Migrated to the new Get Channel Followers Helix endpoint, fixing follower count not showing up in usercards. (#4809)
- Minor: Moderation commands such as
/ban
,/timeout
,/unban
, and/untimeout
can now be used via User IDs by using theid:123
syntax (e.g./timeout id:22484632 1m stop winning
). (#4945, #4956, #4957) - Minor: The
/usercard
command now accepts user ids. (/usercard id:22484632
) (#4934) - Minor: Added menu actions to reply directly to a message or the original thread root. (#4923)
- Minor: The
/reply
command now replies to the latest message from the user. Due to this change, the message you intended to reply to is now shown in the reply context, instead of the first message in a thread. (#4919)
More Changes
- Minor: The chatter list button is now hidden if you don't have moderator privileges. (#5245, #5336)
- Minor: Live streams that are marked as reruns now mark a tab as yellow instead of red. (#5176, #5237)
- Minor: Allowed theming of tab live and rerun indicators. (#5188)
- Minor: The Restart on crash setting works again on Windows. (#5012)
- Minor: Added an option to use new experimental smarter emote completion. (#4987)
- Minor: Added support for FrankerFaceZ channel badges. These can be configured at https://www.frankerfacez.com/channel/mine - currently only supports bot badges for your chat bots. (#5119)
- Minor: Added support to send /announce[color] commands. Colored announcements only appear with the chosen color in Twitch chat. (#5250)
- Minor: The whisper highlight color can now be configured through the settings. (#5053)
- Minor: Added an option to always include the broadcaster in user completions. This is enabled by default. (#5193, #5244)
- Minor: Added a warning message if you have multiple commands with the same trigger. (#4322)
- Minor: Chatters from message history are now added to autocompletion. (#5116)
- Minor: Added support for the
{input.text}
placeholder in the Split -> Run a command hotkey. (#5130) - Minor: Added
--activate <channel>
(or-a
) command line option to focus or add a certain Twitch channel on startup. (#5111) - Minor: Added the
--incognito/--no-incognito
options to the/openurl
command, allowing you to override the "Open links in incognito/private mode" setting. (#5149, #5197) - Minor: Added the ability to change the top-most status of a window regardless of the Always on top setting (right click the notebook). (#5135)
- Minor: Added the ability to show AutoMod caught messages in mentions. (#5215)
- Minor: Added the ability to configure the color of highlighted AutoMod caught messages. (#5215)
- Minor: Updated to Emoji v15.1. Google emojis are now used as the fallback instead of Twitter emojis. (#5182)
- Minor: Added icons for newer versions of macOS. (#5148)
- Minor: Added more menu items in macOS menu bar. (#5266)
- Minor: Improved color selection and display. (#5057)
- Minor: Added a System theme setting that updates according to the system's color scheme (requires Qt 6.5). (#5118)
- Minor: Normalized the input padding between light & dark themes. (#5095)
- Minor: The account switcher is now styled to match your theme. (#4817)
- Minor: Added a fallback theme field to custom themes that will be used in case the custom theme does not contain a color Chatterino needs. If no fallback theme is specified, we'll pull the color from the included Dark or Light theme. (#5198)
- Minor: Added a new completion API for experimental plugins feature. (#5000, #5047)
- Minor: Added a new Channel API for experimental plugins feature. (#5141, #5184, #5187)
- Minor: Introduce
c2.later()
function to Lua API. (#5154) - Minor: Added
--safe-mode
command line option that can be used for troubleshooting when Chatterino is misbehaving or is misconfigured. It disables hiding the settings button & prevents plugins from loading. (#4985) - Minor: Added wrappers for Lua
io
library for experimental plugins feature. (#5231) - Minor: Added permissions to experimental plugins feature. (#5231)
- Minor: Added missing periods at various moderator messages and commands. (#5061)
- Minor: Improved Streamlink documentation in the settings dialog. (#5076)
- Minor: The installer now checks for the VC Runtime version and shows more info when it's outdated. (#4847)
- Minor: All sound capabilities can now be disabled by setting your "Sound backend" setting to "Null" and restarting Chatterino. (#4978)
- Minor: Added an invisible resize handle to the bottom of frameless user info popups and reply thread popups. (#4795)
- Minor: Updated the flatpakref link included with nightly builds to point to up-to-date flathub-beta builds. (#5008)
- Minor: Image links now reflect the scale of their image instead of an internal label. (#5201)
- Minor: IPC files are now stored in the Chatterino directory instead of system directories on Windows. (#5226)
- Minor: 7TV emotes now have a 4x image rather than a 3x image. (#5209)
- Minor: Add
reward.cost
reward.id
,reward.title
filter variables. (#5275) - Minor: Change Lua
CompletionRequested
handler to use an event table. (#5280) - Minor: Changed the layout of the about page. (#5287)
- Minor: Add duration to multi-month anon sub gift messages. (#5293)
- Minor: Added context menu action to toggle visibility of offline tabs. (#5318)
- Minor: Report sub duration for more multi-month gift cases. (#5319)
- Minor: Improved error reporting for the automatic streamer mode detection on Linux and macOS. (#5321)
- Bugfix: Fixed a crash that could occur on Wayland when using the image uploader. (#5314)
- Bugfix: Fixed split tooltip getting stuck in some cases. (#5309)
- Bugfix: Fixed the version string not showing up as expected in Finder on macOS. (#5311)
- Bugfix: Fixed links having
http://
added to the beginning in certain cases. (#5323) - Bugfix: Fixed topmost windows from losing their status after opening dialogs on Windows. (#5330)
- Bugfix: Fixed a gap appearing when using filters on
/watching
. (#5329) - Bugfix: Fixed an issue where certain emojis did not send to Twitch chat correctly. (#4840)
- Bugfix: Fixed the
/shoutout
command not working with usernames starting with @'s (e.g./shoutout @forsen
). (#4800) - Bugfix: Fixed capitalized channel names in log inclusion list not being logged. (#4848)
- Bugfix: Trimmed custom streamlink paths on all platforms making sure you don't accidentally add spaces at the beginning or end of its path. (#4834)
- Bugfix: Fixed a performance issue when displaying replies to certain messages. (#4807)
- Bugfix: Fixed an issue where certain parts of the split input wouldn't focus the split when clicked. (#4958)
- Bugfix: Fixed an issue in the
/live
split that caused some channels to not get grayed-out when they went offline. (#5172)\ - Bugfix: User text input within watch streak notices now correctly shows up. (#5029)
- Bugfix: Fixed selection of tabs after closing a tab when using "Live Tabs Only". (#4770)
- Bugfix: Fixed input in the reply thread popup losing focus when dragging said window. (#4815)
- Bugfix: Fixed the Quick Switcher (CTRL+K) sometimes showing up on the wrong window. (#4819)
- Bugfix: Fixed the font switcher not remembering what font you had previously selected. (#5224)
- Bugfix: Fixed too much text being copied when copying chat messages. (#4812, #4830, #4839)
- Bugfix: Fixed issue on Windows preventing the title bar from being dragged in the top left corner. (#4873)
- Bugfix: Fixed an issue where Streamer Mode did not detect that OBS was running on MacOS. (#5260)
- Bugfix: Remove ":" from the message the user is replying to if it's a /me message. (#5263)
- Bugfix: Fixed the "Cancel" button in the settings dialog only working after opening the settings dialog twice. (#5229)
- Bugfix: Fixed an issue where the setting
Only search for emote autocompletion at the start of emote names
wouldn't disable if it was enabled when the client started. (#4855) - Bugfix: Fixed an empty page being added when showing the out of bounds dialog. (#4849)
- Bugfix: Fixed an issue preventing searching a redemption by it's title when the redemption contained user text input. (#5117)
- Bugfix: Fixed an issue where reply context didn't render correctly if an emoji was touching text. (#4875, #4977, #5174)
- Bugfix: Fixed the input completion popup sometimes disappearing when clicking on it on Windows and macOS. (#4876)
- Bugfix: Fixed Twitch badges not loading correctly in the badge highlighting setting page. (#5223)
- Bugfix: Fixed double-click text selection moving its position with each new message. (#4898)
- Bugfix: Fixed an issue where notifications on Windows would contain no or an old avatar. (#4899)
- Bugfix: Fixed headers of tables in the settings switching to bold text when selected. (#4913)
- Bugfix: Fixed tooltips appearing too large and/or away from the cursor. (#4920)
- Bugfix: Fixed thread popup window missing messages for nested threads. (#4923)
- Bugfix: Fixed an occasional crash for channel point redemptions with text input. (#4949)
- Bugfix: Fixed triple-click on message also selecting moderation buttons. (#4961)
- Bugfix: Fixed badge highlight changes not immediately being reflected. (#5110)
- Bugfix: Fixed emotes being reloaded when pressing "Cancel" in the settings dialog, causing a slowdown. (#5240)
- Bugfix: Fixed double-click selection not correctly selecting words that were split onto multiple lines. (#5243)
- Bugfix: Fixed some emotes not ...
v2.5.0 beta 1
What's Changed
- Major: Twitch follower emotes can now be correctly tabbed in other channels when you are subscribed to the channel the emote is from. (#4922)
- Major: Added
/automod
split to track automod caught messages across all open channels the user moderates. (#4986, #5026) - Major: Moderators can now see restricted chat messages and suspicious treatment updates. (#5056, #5060)
- Minor: Migrated to the new Get Channel Followers Helix endpoint, fixing follower count not showing up in usercards. (#4809)
- Minor: Moderation commands such as
/ban
,/timeout
,/unban
, and/untimeout
can now be used via User IDs by using theid:123
syntax (e.g./timeout id:22484632 1m stop winning
). (#4945, #4956, #4957) - Minor: The
/usercard
command now accepts user ids. (/usercard id:22484632
) (#4934) - Minor: Added menu actions to reply directly to a message or the original thread root. (#4923)
- Minor: The
/reply
command now replies to the latest message from the user. Due to this change, the message you intended to reply to is now shown in the reply context, instead of the first message in a thread. (#4919)
More Changes
- Minor: The chatter list button is now hidden if you don't have moderator privileges. (#5245)
- Minor: Live streams that are marked as reruns now mark a tab as yellow instead of red. (#5176, #5237)
- Minor: Allowed theming of tab live and rerun indicators. (#5188)
- Minor: The Restart on crash setting works again on Windows. (#5012)
- Minor: Added an option to use new experimental smarter emote completion. (#4987)
- Minor: Added support for FrankerFaceZ channel badges. These can be configured at https://www.frankerfacez.com/channel/mine - currently only supports bot badges for your chat bots. (#5119)
- Minor: Added support to send /announce[color] commands. Colored announcements only appear with the chosen color in Twitch chat. (#5250)
- Minor: The whisper highlight color can now be configured through the settings. (#5053)
- Minor: Added an option to always include the broadcaster in user completions. This is enabled by default. (#5193, #5244)
- Minor: Added a warning message if you have multiple commands with the same trigger. (#4322)
- Minor: Chatters from message history are now added to autocompletion. (#5116)
- Minor: Added support for the
{input.text}
placeholder in the Split -> Run a command hotkey. (#5130) - Minor: Added
--activate <channel>
(or-a
) command line option to focus or add a certain Twitch channel on startup. (#5111) - Minor: Added the
--incognito/--no-incognito
options to the/openurl
command, allowing you to override the "Open links in incognito/private mode" setting. (#5149, #5197) - Minor: Added the ability to change the top-most status of a window regardless of the Always on top setting (right click the notebook). (#5135)
- Minor: Added the ability to show AutoMod caught messages in mentions. (#5215)
- Minor: Added the ability to configure the color of highlighted AutoMod caught messages. (#5215)
- Minor: Updated to Emoji v15.1. Google emojis are now used as the fallback instead of Twitter emojis. (#5182)
- Minor: Added icons for newer versions of macOS. (#5148)
- Minor: Added more menu items in macOS menu bar. (#5266)
- Minor: Improved color selection and display. (#5057)
- Minor: Added a System theme setting that updates according to the system's color scheme (requires Qt 6.5). (#5118)
- Minor: Normalized the input padding between light & dark themes. (#5095)
- Minor: The account switcher is now styled to match your theme. (#4817)
- Minor: Added a fallback theme field to custom themes that will be used in case the custom theme does not contain a color Chatterino needs. If no fallback theme is specified, we'll pull the color from the included Dark or Light theme. (#5198)
- Minor: Added a new completion API for experimental plugins feature. (#5000, #5047)
- Minor: Added a new Channel API for experimental plugins feature. (#5141, #5184, #5187)
- Minor: Introduce
c2.later()
function to Lua API. (#5154) - Minor: Added
--safe-mode
command line option that can be used for troubleshooting when Chatterino is misbehaving or is misconfigured. It disables hiding the settings button & prevents plugins from loading. (#4985) - Minor: Added wrappers for Lua
io
library for experimental plugins feature. (#5231) - Minor: Added permissions to experimental plugins feature. (#5231)
- Minor: Added missing periods at various moderator messages and commands. (#5061)
- Minor: Improved Streamlink documentation in the settings dialog. (#5076)
- Minor: The installer now checks for the VC Runtime version and shows more info when it's outdated. (#4847)
- Minor: All sound capabilities can now be disabled by setting your "Sound backend" setting to "Null" and restarting Chatterino. (#4978)
- Minor: Added an invisible resize handle to the bottom of frameless user info popups and reply thread popups. (#4795)
- Minor: Updated the flatpakref link included with nightly builds to point to up-to-date flathub-beta builds. (#5008)
- Minor: Image links now reflect the scale of their image instead of an internal label. (#5201)
- Minor: IPC files are now stored in the Chatterino directory instead of system directories on Windows. (#5226)
- Minor: 7TV emotes now have a 4x image rather than a 3x image. (#5209)
- Minor: Add
reward.cost
reward.id
,reward.title
filter variables. (#5275) - Minor: Change Lua
CompletionRequested
handler to use an event table. (#5280) - Minor: Changed the layout of the about page. (#5287)
- Minor: Add duration to multi-month anon sub gift messages. (#5293)
- Bugfix: Fixed an issue where certain emojis did not send to Twitch chat correctly. (#4840)
- Bugfix: Fixed the
/shoutout
command not working with usernames starting with @'s (e.g./shoutout @forsen
). (#4800) - Bugfix: Fixed capitalized channel names in log inclusion list not being logged. (#4848)
- Bugfix: Trimmed custom streamlink paths on all platforms making sure you don't accidentally add spaces at the beginning or end of its path. (#4834)
- Bugfix: Fixed a performance issue when displaying replies to certain messages. (#4807)
- Bugfix: Fixed an issue where certain parts of the split input wouldn't focus the split when clicked. (#4958)
- Bugfix: Fixed an issue in the
/live
split that caused some channels to not get grayed-out when they went offline. (#5172)\ - Bugfix: User text input within watch streak notices now correctly shows up. (#5029)
- Bugfix: Fixed selection of tabs after closing a tab when using "Live Tabs Only". (#4770)
- Bugfix: Fixed input in the reply thread popup losing focus when dragging said window. (#4815)
- Bugfix: Fixed the Quick Switcher (CTRL+K) sometimes showing up on the wrong window. (#4819)
- Bugfix: Fixed the font switcher not remembering what font you had previously selected. (#5224)
- Bugfix: Fixed too much text being copied when copying chat messages. (#4812, #4830, #4839)
- Bugfix: Fixed issue on Windows preventing the title bar from being dragged in the top left corner. (#4873)
- Bugfix: Fixed an issue where Streamer Mode did not detect that OBS was running on MacOS. (#5260)
- Bugfix: Remove ":" from the message the user is replying to if it's a /me message. (#5263)
- Bugfix: Fixed the "Cancel" button in the settings dialog only working after opening the settings dialog twice. (#5229)
- Bugfix: Fixed an issue where the setting
Only search for emote autocompletion at the start of emote names
wouldn't disable if it was enabled when the client started. (#4855) - Bugfix: Fixed an empty page being added when showing the out of bounds dialog. (#4849)
- Bugfix: Fixed an issue preventing searching a redemption by it's title when the redemption contained user text input. (#5117)
- Bugfix: Fixed an issue where reply context didn't render correctly if an emoji was touching text. (#4875, #4977, #5174)
- Bugfix: Fixed the input completion popup sometimes disappearing when clicking on it on Windows and macOS. (#4876)
- Bugfix: Fixed Twitch badges not loading correctly in the badge highlighting setting page. (#5223)
- Bugfix: Fixed double-click text selection moving its position with each new message. (#4898)
- Bugfix: Fixed an issue where notifications on Windows would contain no or an old avatar. (#4899)
- Bugfix: Fixed headers of tables in the settings switching to bold text when selected. (#4913)
- Bugfix: Fixed tooltips appearing too large and/or away from the cursor. (#4920)
- Bugfix: Fixed thread popup window missing messages for nested threads. (#4923)
- Bugfix: Fixed an occasional crash for channel point redemptions with text input. (#4949)
- Bugfix: Fixed triple-click on message also selecting moderation buttons. (#4961)
- Bugfix: Fixed badge highlight changes not immediately being reflected. (#5110)
- Bugfix: Fixed emotes being reloaded when pressing "Cancel" in the settings dialog, causing a slowdown. (#5240)
- Bugfix: Fixed double-click selection not correctly selecting words that were split onto multiple lines. (#5243)
- Bugfix: Fixed some emotes not appearing when using Ignores. (#4965, #5126)
- Bugfix: Fixed a freeze from a bad regex in Ignores. (#4965, #5126)
- Bugfix: Fixed lookahead/-behind not working in Ignores. (#4965, #5126)
- Bugfix: Fixed Image Uploader accidentally deleting images with some hosts when link resolver was enabled. (#4971)
- Bugfix: Fixed a rare crash with the Image Uploader when closing a split right after starting an upload. (#4971)
- Bugfix: Fixed an issue on macOS where the Image Uploader would keep prompting the user even after they clicked "Yes, don't ask again". (#5011)
- Bugfix: The usercard button is now hidden in the User Info Popup when in special channels. (#4972)
- Bugfix: Fixed support for Windows 11 Snap layouts. (#4994, #5175)
- Bugfix: Fixed some windows appeari...