v2.5.2-beta.1
Pre-release
Pre-release
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 #5514
- fix: count parentheses in links by @Nerixyz in #5515
- chore(deps): bump lib/expected-lite from
182165b
to5d3c8d3
by @dependabot in #5484 - chore(deps): bump lib/WinToast from
821c481
toa78ce46
by @dependabot in #5331 - chore: improve link parser and its tests a bit by @Nerixyz in #5522
- chore: cleanup, document, and test some RTL code by @Nerixyz in #5473
- Handle panning touch gestures by @camporter in #5524
- fix: sort elements after RTL reordering by @Nerixyz in #5525
- fix: replace defines with constexpr/const and use more absolute paths for includes by @Nerixyz in #5527
- chore: silence some deprecation warnings in Qt 6.8 by @Nerixyz in #5529
- refactor: move seventv/bttv event apis to application by @pajlada in #5532
- refactor: move "delete old update files" logic to Updates by @pajlada in #5535
- chore(deps): bump DoozyX/clang-format-lint-action from 0.17 to 0.18 by @dependabot in #5536
- chore(deps): bump hendrikmuhs/ccache-action from 1.2.13 to 1.2.14 by @dependabot in #5533
- chore(deps): bump lib/expected-lite from
5d3c8d3
tof339d2f
by @dependabot in #5534 - fix: cleanly exit on shutdown by @pajlada in #5537
- refactor: rename miniaudio thread by @pajlada in #5538
- chore: rename threads on Windows too by @Nerixyz in #5539
- fix: only use IApplication::instance instead of Application::instance by @pajlada in #5540
- fix: only attempt to rename threads on Qt6 versions by @pajlada in #5544
- fix: parenting logic, fixing some windows & tooltips misbehaving by @pajlada in #5541
- feat: add
FlagsEnum::isEmpty
for checking if a FlagsEnum is empty by @pajlada in #5550 - refactor: Move MessageFlag(s) to its own file by @pajlada in #5549
- Remove experimental IRC support by @pajlada in #5547
- ci: show recent changes in nightly release by @Nerixyz in #5553
- ci: use Python 3.12 for parsing dates by @Nerixyz in #5554
- fix: typo in
SignalVector::operator[]
member access by @pastalian in #5556 - fix: tristate toggle logic for tab visibilty by @pajlada in #5530
- refactor: make a single MessageBuilder by @pajlada in #5548
- fix: ensure liveupdate pubsubs exit by @pajlada in #5557
- fix: Fixed account switch not being saved if no other settings were changed by @pajlada in #5558
- fix: benchmarks segfaulting by @pajlada in #5559
- refactor: some more Application refactors by @pajlada in #5551
- fix: remove deprecated
Application::getTwitchAbstract
by @pajlada in #5560 - refactor: some Application & style things by @pajlada in #5561
- Build for Ubuntu 24.04 by @Wissididom in #5562
- Update filenames for Ubuntu to Qt 6.7.2 by @Wissididom in #5568
- fix(streamer-mode): destroy timer on correct thread by @Nerixyz in #5571
- Update Qt for Ubuntu and Mac Tests by @Wissididom in #5572
- fix: orphan
FramelessDraggable
s too by @Nerixyz in #5576 - feat: indicate which mods start and cancel raids by @iProdigy in #5563
- fix: some tooltips not being readable by @pajlada in #5578
- refactor: load Twitch emotes from Helix by @Nerixyz in #5239
- feat(emote-popup): automatically reload Twitch emotes by @Nerixyz in #5580
- fix: don't add sets without emotes when searching by @Nerixyz in #5582
- feat: add setting for showing pronouns in user info popup by @franzitrone in #5442
- chore: clean up some of the pronoun implementation by @pajlada in #5583
- fix: only clear reply target when inline replying by @Nerixyz in #5586
- chore: cleanup some parts of qmagicenum by @Nerixyz in #5587
- fix: close logging-channels when closing channels by @Nerixyz in #5592
- chore: allow unreleased-lines to be reused on other files by @Nerixyz in #5593
- chore: ensure
static
s are only present once in the final app by @Nerixyz in #5588 - ci: set test cmake build job count to logical processor count by @jupjohn in #5595
- fix: typo in user highlights page by @pajlada in #5602
- fix: properly display global badges for anon users by @Nerixyz in #5599
- feat: include more data when copying messages as JSON by @Nerixyz in #5600
- refactor: move zero width replacement to a function by @Nerixyz in #5594
- feat: send messages over Helix by default by @Nerixyz in #5607
- test: add more input completion tests by @Nerixyz in #5604
- fix: don't initialize GIFTimer in tests by @Nerixyz in #5608
- feat: run bench in ci by @pajlada in #5610
- chore(deps): bump lib/settings from
7011003
toc58874c
by @dependabot in #5613 - fix: use correct selection index when double-clicking into the void by @Nerixyz in #5617
- deps(ci): update actionsx-prettier to node 20 by @Felanbird in #5618
- chore(deps): bump pajlads/changelog-checker from 1.0.1 to 1.0.2 by @dependabot in #5621
- fix(streamer-mode): access timer from correct thread by @Nerixyz in #5624
- feat: improve handling of shared chat messages by @iProdigy in #5606
- fix: avoid holes when moving tabs by @Nerixyz in #5612
- fix: disable correct message upon automod approve or deny by @iProdigy in #5611
- fix(emoji): use flags over strings for capabilities by @Nerixyz in #5616
- chore(deps): bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in #5614
- fix(shared-chat): check if source-channel is empty by @Nerixyz in #5625
- feat: launch arg to start logged in as a supplied user by @lbrooney in #5626
- fix: support completing emotes starting with
:
by @Nerixyz in #5603 - Add transparent overlay window by @Nerixyz in #4746
- fix: only unpause if a selected page exists by @Nerixyz in #5637
- Add skip-clang-tidy feature by @Mm2PL in #5639
- feat: indicate multi-month subs and resubs by @iProdigy in #5642
- fix: copy filters to overlay window by @Nerixyz in #5643
- Remember Popped-up Chat Size by @maliByatzes in #5635
- Add name to contributors list by @maliByatzes in #5644
- chore: improve appearance of Twitch emotes in popup by @Nerixyz in #5632
- test: add snapshot tests for MessageBuilder by @Nerixyz in #5598
- chore(deps): bump cmake/sanitizers-cmake from
3f0542e
to0573e2e
by @dependabot in #5634 - feat: Print proxy URL information in
/debug-env
command by @mavjs in #5648 - Add hint to enable beautifier extension in Qt Creator by @fourtf in #5650
- refactor(message-builder): move static helper methods to functions by @Nerixyz in #5652
- refactor: move MessageBuilder snapshot test to IrcMessageHandler by @Nerixyz in #5654
- test: use httpbox fork release by @pajlada in #5655
- fix: animate emotes when overlay is open by @Nerixyz in #5659
- test:
USERNOTICE
snapshot tests by @Nerixyz in #5656 - feat: make raid entry username clickable by @jupjohn in #5651
- chore(deps): bump lib/expected-lite from
f339d2f
to88ee08e
by @dependabot in #5653 - refactor: decouple reply parsing from MessageBuilder by @Nerixyz in #5660
- fix: invalidate buffers on
WM_DPICHANGED
by @Nerixyz in #5664 - Move plugins to Sol. by @Mm2PL in #5622
- refactor: irc message builder by @Nerixyz in #5663
- fix: only invalidate buffers for chat windows by @Nerixyz in #5666
- fix: subscribed threads not being marked as subscribed by @pajlada in #5668
- refactor: remove unused ReplyContext.highlight by @pajlada in #5669
- feat: add shared chat badge by @iProdigy in #5661
- test: add snapshots for raids, timeouts, and notices by @Nerixyz in #5671
- chore(deps): bump lib/settings from
c58874c
to4a0a1e5
by @dependabot in #5646 - chore(deps): bump lib/expected-lite from
88ee08e
to5b5caad
by @dependabot in #5667 - fix: use static version of 7tv badges by @pajlada in #5674
- fix: escape 7TV emote names by @Nerixyz in #5677
- fix: get rid of some more warnings by @Nerixyz in #5672
- fix(cmake): use boost's own cmake config file by @pajlada in #5679
- fix(luals-meta): Use opaque enum values and correct HTTP types by @Nerixyz in #5682
- fix: take indices to messages as a hint by @Nerixyz in #5683
- refactor: deduplicate IRC parsing by @Nerixyz in #5678
- highlight tabs only on unviewed messages by @hemirt in #5649
- fix(7TV): ignore
entitlement.reset
by @Nerixyz in #5685 - fix: ensure timer doesn't run if the QuickSwitcherPopup is dead by @pajlada in #5687
- feat: make usernames in USERNOTICEs clickable by @Nerixyz in #5686
- feat: show warning before blocking followed channel by @Nerixyz in #5615
- fix: handle multiline selection starting at trailing space by @Nerixyz in #5691
- chore: clarify Lua submodule version by @brian6932 in #5693
- chore: Specify qtkeychain branch to
chatterino-cmake
by @brian6932 in #5695 - chore: standardize references to FrankerFaceZ & BetterTTV in settings by @Felanbird in #5698
- feat: add setting to hide blocked term automod messages by @pajlada in #5690
- deps: use upstream qtkeychain by @Nerixyz in #5697
- fix: don't spam debug output about 7TV CreateEmoteSet by @pajlada in #5700
- chore(deps): bump ZedThree/clang-tidy-review from 0.19.0 to 0.20.0 by @dependabot in #5701
- fix: update channel-view when pausing by @Nerixyz in #5707
- Deduplicate emotes by name in smart tab emote completion strategy by @ilya-zlobintsev in #5705
- chore: keep GDI fontengine on Windows for now by @Nerixyz in #5710
- chore(deps): bump codecov/codecov-action from 4.6.0 to 5.0.0 by @dependabot in #5713
- fix: codecov v5 by @pajlada in #5715
- dev: Default building with Qt6 on all platforms by @pajlada in #5716
- chore(deps): bump jurplel/install-qt-action from 4.0.0 to 4.1.1 by @dependabot in #5709
- chore(deps): bump codecov/codecov-action from 5.0.0 to 5.0.2 by @dependabot in #5717
- chore(deps): bump lib/settings from
4a0a1e5
to46eb250
by @dependabot in #5718 - chore(deps): bump ZedThree/clang-tidy-review from 0.20.0 to 0.20.1 by @dependabot in #5719
- chore: use condition variable to shutdown websocket pools by @Nerixyz in #5721
- chore(deps): bump codecov/codecov-action from 5.0.2 to 5.0.7 by @dependabot in #5722
- fix: output --version to stdout by @pajlada in #5727
- fix: clear WinToast on exit by @pajlada in #5728
- fix: network requests timing out too early by @pajlada in #5729
- feat: Add setting to hide scrollbar thumb by @pajlada in #5731
- fix(test/once-flag): loosen requirement for tight timing by @Nerixyz in #5733
- feat: backup window-layout by @Nerixyz in #5647
- feat: Add setting to hide scrollbar highlights by @pajlada in #5732
- chore(deps): bump lib/settings from
46eb250
to8cdc44e
by @dependabot in #5735 - revert: use helix as the default chat send protocol by @Nerixyz in #5736
- Repopulate UserInfoPopup with login (for when opened with id:) by @Mm2PL in #5739
- perf: don't force-layout in
setChannel
by @Nerixyz in #5737 - feat: improve automod blocked term messaging by @pajlada in #5699
- feat: add "tags" or "keyword" support for settings by @pajlada in #5585
- fix: remove cosmetic allowCommandsAtEnd setting by @pajlada in #5745
- Add flags.similar filter variable by @Mm2PL in #5747
- chore(deps): bump lib/settings from
8cdc44e
to9e9c2f6
by @dependabot in #5749 - fix(toasts): only clear if initialized by @Nerixyz in #5752
- fix(emote-popup): ignore null gemometry by @Nerixyz in #5751
- fix: scroll to bottom when setting a channel by @Nerixyz in #5748
- fix: initial scrollbar behaviour in inactive tab by @pajlada in #5757
- fix: automod username placement by @pajlada in #5759
New Contributors
- @fossdd made their first contribution in #5368
- @JakeRYW made their first contribution in #5429
- @Niller2005 made their first contribution in #5452
- @teknsl made their first contribution in #5503
- @camporter made their first contribution in #5524
- @pastalian made their first contribution in #5556
- @franzitrone made their first contribution in #5442
- @lbrooney made their first contribution in #5626
- @maliByatzes made their first contribution in #5635