Repository navigation
Releases: Chatterino/chatterino2
Release list
Nightly Release
- [2026-10-26] refactor: SVGify update icon (#7363)
- [2026-10-25] fix: categorize submysterygift messages as subscriptions (#7181)
- [2026-10-25] fix: relayout after changing theme (#7305)
- [2026-10-25] fix: show more notices about users in usercards (#7341)
- [2026-10-25] test: ensure contributor avatars & syntax is sane (#7277)
More Changes
- [2026-10-25] refactor: move twitch oauth token to Helix class (#7386)
- [2026-10-25] fix: display special characters in twitch gif tooltips (#7284)
- [2026-10-25] refactor: rename serverReceivedTime to timestamp (#7280)
- [2026-10-25] feat: add scaling setting for twitch gifs (#7315)
- [2026-10-25] feat: add whisper button to usercard (#7325)
- [2026-10-24] refactor: Move settings from Notebook to SplitNotebook (#7286)
- [2026-10-24] fix: cleanup user display name formatting (#7381)
- [2026-10-24] fix: show which browser registration failed (#7308)
- [2026-10-24] fix: make timestamp format completion case-sensitive (#7285)
- [2026-10-24] fix: do not block
Enterwhen the completion popup is empty (#7301) - [2026-10-24] fix: show inline twitch gif tooltips without link previews enabled (#7283)
- [2026-10-24] refactor: use the settings SVG icon on windows too (#7367)
- [2026-10-24] fix: prevent crash when removing an edited model row (#7287)
- [2026-10-24] fix: avoid window flicker when toggling always on top (#7370)
- [2026-10-24] fix: mark elevated macOS windows as managed (#7369)
- [2026-10-21] feat: rework highlights & their UI (#6695)
- [2026-10-17] fix: update stacked timeout notices in usercards (#7342)
- [2026-10-17] feat: username completion in /whispers (#7324)
- [2026-10-17] chore: add tests for custom commands (#7357)
- [2026-10-17] feat: continue tab completion cycling after popup completion (#7290)
- [2026-10-17] fix: settings cancel to work on more settings (#7366)
- [2026-10-17] fix: lifetime in indirectChannelChangedConnection (#7360)
- [2026-10-17] fix: ignore moves from/to invalid parents (#7358)
- [2026-10-17] fix: memory leak in helix pagination (#7361)
- [2026-10-11] fix: multiple listen on channel rewards (#7344)
- [2026-10-10] chore: low trust user single message (#7310)
- [2026-10-10] Move spellcheck suggestions to the top of the context menu (#7298)
- [2026-10-04] chore: bump versions to v2.5.6 (#7348)
- [2026-10-04] ci: checkout pr head if pr triggered job (#7347)
- [2026-10-03] fix: don't update user state (mod, vip, etc.) from recent-messages (#7330)
- [2026-10-03] fix: disconnect old channel signals on channel change (#7337)
- [2026-10-03] fix: message deduplication in global search (#7339)
- [2026-10-01] fix: memory leak in usercard avatar downloads (#7343)
- [2026-09-27] fix: handle unknown automod reasons (#7326)
- [2026-09-27] fix: channel name for moderation messages (#7319)
- [2026-09-27] fix: preserve quotes in /pin command input (#7323)
- [2026-09-27] chore: address more compilation warnings (#7328)
- [2026-09-27] fix: silence some compiler warnings (#7318)
- [2026-09-26] fix(notebook): refresh tab size before notifying (#7329)
- [2026-09-26] fix: alpha parsing in short hex codes (#7320)
- [2026-09-26] fix: relayout after rejecting oversized images (#7314)
- [2026-09-20] chore: make automod caught messages a single message (#7307)
- [2026-09-20] feat: manual registration for browser integration in portable chatterino (#7275)
- [2026-09-20] fix: show full channel names in quick switcher (#7291)
- [2026-09-20] chore: make MessageBuilder's
parseHighlightsfunction public & nodiscard (#7306) - [2026-09-20] fix: add copytext to inline twitch gifs (#7282)
- [2026-09-17] fix: strip
@prefix from usernames passed to low trust commands (#7300) - [2026-09-17] fix(notebook): Consistently apply horizontal spacing (#7297)
- [2026-09-14] refactor(notebook): Move saving to
SplitNotebook(#7149) - [2026-09-13] refactor: remove unused parseTime from Message (#7279)
- [2026-09-13] refactor: extract image frame storage (#7259)
- [2026-09-13] chore: Mark
NetworkRequest[[nodiscard]](#7278) - [2026-09-13] feat: Add backup functionality to window layout (#7272)
- [2026-09-13] fix: hide completion popup when recalling input history (#7243)
- [2026-09-13] feat: custom recent-messages URL in settings UI (#7104)
- [2026-09-13] fix: use message timestamps for R9K similarity check (#7248)
- [2026-09-13] fix: scroll tabs from tab strip background (#7271)
- [2026-09-13] fix(buttons): Disable smooth pixmap transform for cached content (#7270)
- [2026-09-13] chore: fix contributor avatar file extension (#7273)
- [2026-09-13] fix: support zen browser (#7274)
- [2026-09-12] feat: Fill remaining space in horizontal tab layout (#7254)
- [2026-09-12] chore: add catquery to contributor list (#7269)
- [2026-09-12] fix: round start offset when painting messages (#7241)
- [2026-09-12] fix: allow command tab completion in replies (#7250)
- [2026-09-12] fix: respect username style in live notifications (#7267)
- [2026-09-12] fix: prevent use after free in settings dialog (#7253)
- [2026-09-12] feat: add Twitch gifs as images (#7223)
- [2026-09-12] fix: use WebSocket ping/pong to detect a stuck connection (#7168)
- [2026-09-12] fix: update changelog window title (#7251)
- [2026-09-12] fix: preserve undo history after input completion (#7257)
- [2026-09-12] fix: count message length in unicode codepoints (#7256)
- [2026-09-12] fix: 1px border rendering around text input at fractional dpi scaling (#7266)
- [2026-09-12] fix: replace ivr follow age with helix call for usercard follow age (#7260)
- [2026-09-11] fix: pulse entire text input on successful send (#7265)
- [2026-09-11] fix: mention that live notifications require login (#7264)
- [2026-09-11] fix: correct emote position after ignore replacement (#7261)
- [2026-09-08] fix: Crash when releasing only split in container (#7255)
- [2026-09-08] fix: prevent use after free in chatter list (#7252)
- [2026-09-07] fix: use full timestamps for live update grouping (#7244)
- [2026-09-07] fix: remove invalid SvgButton documentation (#7242)
- [2026-09-07] fix: respect "Don't stack" timeout setting (#7245)
- [2026-09-07] fix: respect incognito mode when opening browser player (#7246)
- [2026-09-07] fix: exclude gtest/gmock from cmake --install (#7247)
- [2026-09-06] fix: disable scrollbar animations when resizing (#7240)
- [2026-09-06] fix: prevent duplicate live notifications from /watching (#7216)
- [2026-09-06] fix: handle twitch link actions in reply threads (#7214)
- [2026-09-06] fix: support image uploads in reply threads (#7217)
- [2026-09-06] fix: show streamlink message in selected window (#7231)
- [2026-09-06] fix: use entire width for message seperation line (#7215)
- [2026-09-06] fix: Show account and follow age in local time (#7237)
- [2026-09-06] fix: make selecting non-text elements easier (#7232)
- [2026-09-06] ci: Use clang-cl for tests on Windows (#7233)
- [2026-09-06] fix: reduce ascii art wrapping width (#7235)
- [2026-09-06] feat: add Twitch gifs as links (#7222)
- [2026-09-05] fix: prevent input focus from remaining on another tab (#7230)
- [2026-09-05] fix: clear optional image uploader settings on import (#7225)
- [2026-09-05] refactor: Message tokenization (#7221)
- [2026-09-05] cmake: Reuse PCH from chatterino-lib for tests (#7229)
- [2026-09-04] fix(ignores): Remove partially overlapped emotes (#7224)
- [2026-09-04] fix: store
lengthfor Twitch specials (#7220) - [2026-09-04] refactor: Generalize Twitch emote parsing (#7219)
- [2026-09-04] fix: add missing vector include (#7228)
- [2026-09-03] isearch: return plain text from incremental history search (#7227)
- [2026-09-01] ci: check generated LuaLS metadata (#7213)
- [2026-08-31] refactor: move MessageParseArgs to its own file (#7209)
- [2026-08-30] clang-tidy: disable alias for static-assert (#7207)
- [2026-08-30] chore: document chatterino sound license (#7206)
- [2026-08-30] fix: turn watchstreaks into a single message (#7205)
- [2026-08-30] refactor: cleanup TwitchIrcServer (#7178)
- [2026-08-30] fix: make subscriptions a single message (#7203)
- [2026-08-29] Add Iore to contributors list (#7202)
- [2026-08-29] refactor: remove dependency on QtSvgWidgets (#7139)
- [2026-08-29] feat: wrap ascii art at default web chat width (#7199)
- [2026-08-29] fix: incognito links on MacOS (#7183)
- [2026-08-28] refactor: use string views for emote lookup (#7200)
- [2026-08-24] fix: make announcements a single message (#7196)
- [2026-08-23] plugins: include exhaustiveFlags in clone (#7195)
- [2026-08-23] feat: Add strong view aliases (#7194)
- [2026-08-23] messageelement: allow for exhaustive flag test (#7192)
- [2026-08-23] clang-tidy: disable misc-static-assert check (#7191)
- [2026-08-22] win32: Link against Crypt32.lib when building with vcpkg (#7184)
- [2026-08-22] contributing: document fluent icons (#7190)
- [2026-08-22] refactor: Allocate less in parseTwitchEmotes (#7187)
- [2026-08-22] ci: use official download-artifact action (#6954)
- [2026-08-21] fix(ci): persist credentials for nightly-build tag (#7189)
- [2026-08-20] ci: Harden actions and dependabot (a bit) (#7188)
- [2026-08-15] fix(plugins): Message:append_element(MessageElement) unreachable (#7176)
- [2026-08-15] fix: show window on creation if specified (#7171)
- [2026-08-15] refactor(app): Separate connecting and reload emotes in Twitch IRC server (#7172)
- [2026-08-15] feat(commands): add element.copytext placeholder (#7174)
- [2026-08-09] feat(plugins): Allow messages to be cloned (#6990)
- [2026-08-09] feat: allow opening arbitrary urls with streamlink (#7162)
- [2026-08-09] feat(plugins): Add signal for context menus (#6961)
- [2026-08-08] fix(plugins): don't crash on invalid plugin meta (#7166)
- [2026-08-08] fix: use channel type from
IndirectChannel(#7153) - [2026-08-05] fix: add missing span include (#7159)
- [2026-08-05] feat(plugins/datetime): Add local/UTC conversion (#7122)
- [2026-08-03] Add voiceofgrog to contributors list (#7154)
- [2...
v2.5.6
v2.5.5
This is the full release of v2.5.5.
The full changelog can be found at https://chatterino.com/changelog#2.5.5
Commit list
What's Changed
- chore: make sanitizers opt in by @pajlada in #6493
- fix: use qsizetype zerovalue instead of
0LLby @pajlada in #6483 - fix: usercard resizing improperly without recent messages by @teknsl in #6496
- ci: fix WinGet release workflow by @pajlada in #6497
- doc: fix release docs by @pajlada in #6498
- dev: find boost's CMake Config file instead of module by @pajlada in #6499
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #6443
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #6442
- chore(deps): bump ncipollo/release-action from 1.18.0 to 1.20.0 by @dependabot[bot] in #6438
- chore(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in #6444
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.18 to 1.2.19 by @dependabot[bot] in #6460
- fix: remove QTextCodec include by @pajlada in #6487
- deps: update libcommuni and required packages by @Nerixyz in #6500
- feat: add setting for character limit of truncated deleted messages by @jacob-thompson in #6491
- fix: expose home page of badges (if available) by @Nerixyz in #6437
- chore(deps): bump lib/expected-lite from
e45e8d5toa0c4e02by @dependabot[bot] in #6478 - dev: correct handling of eventsubs without any account by @teknsl in #6503
- Refactor font update logic in SplitInput by @Obertura777 in #6473
- Add obertura777 to contributor list by @Obertura777 in #6505
- refactor: merge emote element flags by @Nerixyz in #6511
- Add support for plugin links by @Mm2PL in #6386
- chore: remove unused
Emojis::initializeby @Nerixyz in #6517 - ci(freebsd): skip imageformats install by @pajlada in #6518
- refactor: turn
EmotesintoEmoteControllerby @Nerixyz in #6516 - Enable browser integration settings on all platforms by @crazysmc in #6509
- fix: compilation error with Clang 21 by @Nerixyz in #6519
- fix: set Qt definitions
PUBLICin chatterino-lib/-version by @Nerixyz in #6520 - chore(deps): bump lib/qtkeychain from
d972099to7668a63by @dependabot[bot] in #6512 - fix: add explanation for the logging feature under moderation by @Nikk0o in #6514
- fix: warnings when compiling with Qt 6.10 by @Nerixyz in #6422
- dev: disable AppImage builds by @pajlada in #6504
- refactor: move LuaLS meta to a subdirectory by @Nerixyz in #6530
- fix: overflow when computing scrollbar rect by @Nerixyz in #6547
- fix: my changelog entries by @Nerixyz in #6550
- update miniaudio to v0.11.23 by @pajlada in #6477
- fix: prevent edit hotkey dialog opening as normal window by @jupjohn in #6540
- dev: fix Arch Linux deps by @pajlada in #6553
- fix: do forceLayoutChannelViews on font change by @teknsl in #6536
- fix: set parent for settings dialog from account switcher by @Nerixyz in #6543
- Plugin links pt 2: Link::InsertText by @Mm2PL in #6527
- fix: Get rid of warnings on clang-cl by @Nerixyz in #6528
- fix: Access correct channel in search popup by @Nerixyz in #6539
- feat: menu action to sort tabs alphabetically by @teknsl in #6551
- docs: replace debian bookworm deps with trixie by @teknsl in #6557
- fix: set windows.h definitions on
WIN32instead ofMSVCby @Nerixyz in #6534 - refactor: consolidate font picking into one dialog by @teknsl in #6531
- chore(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #6556
- chore(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #6555
- refactor(splits): Store container nodes as shared pointers by @Nerixyz in #6435
- fix(websockets): add query to URL by @Nerixyz in #6141
- cmake: use FetchContent for some dependencies by @pajlada in #6560
- chore: add mocks as header set if supported by @Nerixyz in #6561
- fix(plugins): Log potential errors in HTTP request callbacks by @Nerixyz in #6452
- fix: set stroke color when drawing restore button by @Nerixyz in #6565
- docs: create serialize/signals/settings tag on release by @pajlada in #6566
- cmake: rename RapidJSON declaration to
rjlibby @pajlada in #6567 - fix: disable package registry export by @Nerixyz in #6569
- chore(deps): bump cmake/sanitizers-cmake from
0573e2etobcb1fc6by @dependabot[bot] in #6564 - refactor(liveupdates): use
WebSocketPoolover websocketpp by @Nerixyz in #6308 - fix(wayland): use system move by @Nerixyz in #6573
- fix: certify & serialize licenses by @pajlada in #6575
- fix: add Unicode license by @pajlada in #6579
- fix: middle-clicking username in local channels by @Julia-Roman in #6577
- feat: add setting to show title in live message by @Julia-Roman in #6572
- Add Supa as a contributor by @Julia-Roman in #6580
- feat: seperate watchstreak highlights from sub highlights by @devPoland in #6571
- fix: remove dead code from watch streak highlight seperation by @devPoland in #6581
- add devPoland as contributor by @devPoland in #6582
- fix(test): Set settings directory in
Pathsby @Nerixyz in #6584 - Add solomoncyj to contributors.txt by @solomoncyj in #6585
- test(plugins): check unwinding and version by @Nerixyz in #6586
- feat(plugins): add JSON parsing/serialization by @Nerixyz in #6420
- feat: add poll and prediction commands for broadcasters by @iProdigy in #6583
- feat: add ability to limit message snapshot size by @Nerixyz in #6602
- Fix crash in notifyTwitchChannelOffline when snapshot is empty by @vxtk in #6604
- refactor: remove
LimitedQueueSnapshotby @Nerixyz in #6606 - chore(deps): bump hendrikmuhs/ccache-action from 1.2.19 to 1.2.20 by @dependabot[bot] in #6603
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #6593
- chore(deps): bump ZedThree/clang-tidy-review from 0.21.0 to 0.22.2 by @dependabot[bot] in #6601
- refactor: simplify uses of
getMessageSnapshotby @Nerixyz in #6607 - chore: disable
llvm-prefer-static-over-anonymous-namespaceby @Nerixyz in #6610 - feat: add options to close multiple visible tabs in context menu by @otaviobia in #6515
- feat: add /endpoll and /cancelpoll commands for broadcasters by @iProdigy...
v2.5.5-beta.1
This is the first beta release of v2.5.5.
The full changelog can be found at https://chatterino.com/changelog#2.5.5
New Contributors
- @Nikk0o made their first contribution in #6514
- @Julia-Roman made their first contribution in #6577
- @devPoland made their first contribution in #6571
- @solomoncyj made their first contribution in #6585
- @vxtk made their first contribution in #6604
- @Juliapixel made their first contribution in #6642
- @ruinivist made their first contribution in #6710
- @SonicSegFault made their first contribution in #6725
- @Nevicar made their first contribution in #6729
- @Leafyzito made their first contribution in #6743
- @achow101 made their first contribution in #6782
Commit list
- chore: make sanitizers opt in by @pajlada in #6493
- fix: use qsizetype zerovalue instead of
0LLby @pajlada in #6483 - fix: usercard resizing improperly without recent messages by @teknsl in #6496
- ci: fix WinGet release workflow by @pajlada in #6497
- doc: fix release docs by @pajlada in #6498
- dev: find boost's CMake Config file instead of module by @pajlada in #6499
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #6443
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #6442
- chore(deps): bump ncipollo/release-action from 1.18.0 to 1.20.0 by @dependabot[bot] in #6438
- chore(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 by @dependabot[bot] in #6444
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.18 to 1.2.19 by @dependabot[bot] in #6460
- fix: remove QTextCodec include by @pajlada in #6487
- deps: update libcommuni and required packages by @Nerixyz in #6500
- feat: add setting for character limit of truncated deleted messages by @jacob-thompson in #6491
- fix: expose home page of badges (if available) by @Nerixyz in #6437
- chore(deps): bump lib/expected-lite from
e45e8d5toa0c4e02by @dependabot[bot] in #6478 - dev: correct handling of eventsubs without any account by @teknsl in #6503
- Refactor font update logic in SplitInput by @Obertura777 in #6473
- Add obertura777 to contributor list by @Obertura777 in #6505
- refactor: merge emote element flags by @Nerixyz in #6511
- Add support for plugin links by @Mm2PL in #6386
- chore: remove unused
Emojis::initializeby @Nerixyz in #6517 - ci(freebsd): skip imageformats install by @pajlada in #6518
- refactor: turn
EmotesintoEmoteControllerby @Nerixyz in #6516 - Enable browser integration settings on all platforms by @crazysmc in #6509
- fix: compilation error with Clang 21 by @Nerixyz in #6519
- fix: set Qt definitions
PUBLICin chatterino-lib/-version by @Nerixyz in #6520 - chore(deps): bump lib/qtkeychain from
d972099to7668a63by @dependabot[bot] in #6512 - fix: add explanation for the logging feature under moderation by @Nikk0o in #6514
- fix: warnings when compiling with Qt 6.10 by @Nerixyz in #6422
- dev: disable AppImage builds by @pajlada in #6504
- refactor: move LuaLS meta to a subdirectory by @Nerixyz in #6530
- fix: overflow when computing scrollbar rect by @Nerixyz in #6547
- fix: my changelog entries by @Nerixyz in #6550
- update miniaudio to v0.11.23 by @pajlada in #6477
- fix: prevent edit hotkey dialog opening as normal window by @jupjohn in #6540
- dev: fix Arch Linux deps by @pajlada in #6553
- fix: do forceLayoutChannelViews on font change by @teknsl in #6536
- fix: set parent for settings dialog from account switcher by @Nerixyz in #6543
- Plugin links pt 2: Link::InsertText by @Mm2PL in #6527
- fix: Get rid of warnings on clang-cl by @Nerixyz in #6528
- fix: Access correct channel in search popup by @Nerixyz in #6539
- feat: menu action to sort tabs alphabetically by @teknsl in #6551
- docs: replace debian bookworm deps with trixie by @teknsl in #6557
- fix: set windows.h definitions on
WIN32instead ofMSVCby @Nerixyz in #6534 - refactor: consolidate font picking into one dialog by @teknsl in #6531
- chore(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #6556
- chore(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #6555
- refactor(splits): Store container nodes as shared pointers by @Nerixyz in #6435
- fix(websockets): add query to URL by @Nerixyz in #6141
- cmake: use FetchContent for some dependencies by @pajlada in #6560
- chore: add mocks as header set if supported by @Nerixyz in #6561
- fix(plugins): Log potential errors in HTTP request callbacks by @Nerixyz in #6452
- fix: set stroke color when drawing restore button by @Nerixyz in #6565
- docs: create serialize/signals/settings tag on release by @pajlada in #6566
- cmake: rename RapidJSON declaration to
rjlibby @pajlada in #6567 - fix: disable package registry export by @Nerixyz in #6569
- chore(deps): bump cmake/sanitizers-cmake from
0573e2etobcb1fc6by @dependabot[bot] in #6564 - refactor(liveupdates): use
WebSocketPoolover websocketpp by @Nerixyz in #6308 - fix(wayland): use system move by @Nerixyz in #6573
- fix: certify & serialize licenses by @pajlada in #6575
- fix: add Unicode license by @pajlada in #6579
- fix: middle-clicking username in local channels by @Julia-Roman in #6577
- feat: add setting to show title in live message by @Julia-Roman in #6572
- Add Supa as a contributor by @Julia-Roman in #6580
- feat: seperate watchstreak highlights from sub highlights by @devPoland in #6571
- fix: remove dead code from watch streak highlight seperation by @devPoland in #6581
- add devPoland as contributor by @devPoland in #6582
- fix(test): Set settings directory in
Pathsby @Nerixyz in #6584 - Add solomoncyj to contributors.txt by @solomoncyj in #6585
- test(plugins): check unwinding and version by @Nerixyz in #6586
- feat(plugins): add JSON parsing/serialization by @Nerixyz in #6420
- feat: add poll and prediction commands for broadcasters by @iProdigy in #6583
- feat: add ability to limit message snapshot size by @Nerixyz in #6602
- Fix crash in noti...
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.jsonby @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-opensslon 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.WebSocketby @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
54ca18bto194b3f6by @dependabot[bot] in #6089 - chore(deps): bump lib/twitch-eventsub-ws/lib/date from
d18e8b1toa45ea7cby @dependabot[bot] in #6112 - fix: don't include
.incin 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
c141a40to104e1c8by @dependabot[bot] in #6150 - chore(deps): bump lib/qtkeychain from
ad7344cto35c4f40by @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
getAppuses by @pajlada in #6194 - Add hotkey action for opening account switcher by @teknsl in #6192
- fix(plugins): TSTL
HTTPRequest.creategeneration 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::invokeMethodto 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
1c841d3to11e76e5by @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
TimeoutStackStyleto 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
flagatomic 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
a45ea7cto6d7739eby @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.jsonby @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-opensslon 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.WebSocketby @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
54ca18bto194b3f6by @dependabot[bot] in #6089 - chore(deps): bump lib/twitch-eventsub-ws/lib/date from
d18e8b1toa45ea7cby @dependabot[bot] in #6112 - fix: don't include
.incin 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
c141a40to104e1c8by @dependabot[bot] in #6150 - chore(deps): bump lib/qtkeychain from
ad7344cto35c4f40by @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
getAppuses by @pajlada in #6194 - Add hotkey action for opening account switcher by @teknsl in #6192
- fix(plugins): TSTL
HTTPRequest.creategeneration 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::invokeMethodto 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
1c841d3to11e76e5by @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
TimeoutStackStyleto 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
/clearmessages 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
serverReceivedTimeoverparseTimefor 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
9e9c2f6to6c95e5dby @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
5b5caadto6ea9ca0by @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
TextElementby @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
6c95e5dto6f0328bby @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
6f0328btod1a2e48by @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
argumentsDescriptionby @Nerixyz in #5869 - chore(deps): bump lib/WinToast from
a78ce46tof693b8eby @dependabot in #5823 - chore(deps): bump lib/expected-lite from
6ea9ca0to54ca18bby @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
f693b8eto637229eby @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
libcommuniby @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_casetransform 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
googletestto v1.16.0 by @Nerixyz in #5942 - feat(eventsub): Add support for
channel.moderateWarn 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
637229eto79756c6by @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
/clearmessages 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
serverReceivedTimeoverparseTimefor 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
9e9c2f6to6c95e5dby @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
5b5caadto6ea9ca0by @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
TextElementby @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
6c95e5dto6f0328bby @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
6f0328btod1a2e48by @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
argumentsDescriptionby @Nerixyz in #5869 - chore(deps): bump lib/WinToast from
a78ce46tof693b8eby @dependabot in #5823 - chore(deps): bump lib/expected-lite from
6ea9ca0to54ca18bby @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
f693b8eto637229eby @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
libcommuniby @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_casetransform 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
googletestto v1.16.0 by @Nerixyz in #5942 - feat(eventsub): Add support for
channel.moderateWarn 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
637229eto79756c6by @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
70fbc72to03e8af1by @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=OFFby @brian6932 in #5389 - refactor: cleanup and document
Scrollbarby @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.actionfilter 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
c2and echo @lua commands by @Nerixyz in #5385 - chore: remove unused timegates by @Nerixyz in #5361
- fix: use
irc-unknownwhen 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
03e8af1to80b8cb6by @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
/warncommand 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
3634b0ato182165bby @dependabot in #5469 - chore(deps): bump lib/settings from
80b8cb6tof3e9161by @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
Networkto 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
/clearmessagesby @Nerixyz in #5489 - refactor: add
Channel::addSystemMessagefunction 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
FlagsEnumconstexpr 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
70fbc72to03e8af1by @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=OFFby @brian6932 in #5389 - refactor: cleanup and document
Scrollbarby @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.actionfilter 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
c2and echo@luacommands by @Nerixyz in #5385 - chore: remove unused timegates by @Nerixyz in #5361
- fix: use
irc-unknownwhen 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
03e8af1to80b8cb6by @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
/warncommand 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
3634b0ato182165bby @dependabot in #5469 - chore(deps): bump lib/settings from
80b8cb6tof3e9161by @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
Networkto 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
/clearmessagesby @Nerixyz in #5489 - refactor: add
Channel::addSystemMessagefunction 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
FlagsEnumconstexpr 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....