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 references, less const by @Nerixyz in #5953
- feat: delete messages from context menu by @Nerixyz in #5956
- fix: use WEBP images for BTTV emotes by @Nerixyz in #5957
- fix: update the input style sheet when scaling by @Nerixyz in #5960
- fix: opening a usercard from
/live
no longer makes failing ivr API call by @kyleScarmack in #5959 - fix: ensure settings save after reauthenticating by @brockgilman in #5958
- feat: add snapshot tests for eventsub messages by @Nerixyz in #5965
- chore(ci): try to include twitch-eventsub-ws in coverage by @pajlada in #5969
- feat(eventsub): use custom
String
type by @Nerixyz in #5968 - chore(tests): try to generate coverage better by @pajlada in #5972
- fix(eventsub/string): minor cleanups by @Nerixyz in #5973
- Use prebuilt httpbox binaries for ubuntu by @Wissididom in #5970
- feat(notifications): show user avatar when sending live notification on Linux by @4rneee in #5971
- chore(eventsub): add operator== and indicator for shared chat by @Nerixyz in #5974
- chore(eventsub): simplify building for system messages by @Nerixyz in #5980
- fix: typo in color input selector. changed from red to blue by @Zakary2841 in #5982
- feat(eventsub): implement clearchat by @Nerixyz in #5981
- Added Zakary2841 to the contributors list by @Zakary2841 in #5984
- chore(deps): bump lib/WinToast from
79756c6
to1c841d3
by @dependabot in #5987 - chore(deps): bump ncipollo/release-action from 1.15.0 to 1.16.0 by @dependabot in #5986
- chore(deps): bump lib/miniaudio from
4a5b74b
to350784a
by @dependabot in #5989 - feat(eventsub): implement (shared-chat-)ban by @Nerixyz in #5985
- feat(eventsub): implement unban by @Nerixyz in #5990
- feat(eventsub): implement mode changes by @Nerixyz in #5992
- feat(eventsub): implement (shared chat) delete by @pajlada in #5993
- feat(eventsub): use special flag and timestamps from metadata by @Nerixyz in #5996
- Chatterino warning fixes by @TheComputerGuy96 in #5998
- feat(eventsub): implement (shared-chat) timeout by @Nerixyz in #5995
- feat(eventsub): implement AutoMod term actions by @Nerixyz in #6000
- feat(eventsub): implement (un)mod by @Nerixyz in #6001
- feat(eventsub): Add support for
/(un)raid
by @pajlada in #6002 - feat(eventsub): add
automod.message.*
andchannel.suspicious_user.*
by @Nerixyz in #6003 - feat(eventsub): implement automod message hold by @Nerixyz in #6005
- chore(deps): bump dawidd6/action-download-artifact from 8 to 9 by @dependabot in #6004
- chore(deps): bump codecov/codecov-action from 5.3.1 to 5.4.0 by @dependabot in #5999
- feat(eventsub): implement suspicious user message by @Nerixyz in #6007
- feat(eventsub): implement automod message update by @Nerixyz in #6010
- fix: don't save commands on exit by @pajlada in #6011
- feat(eventsub): implement channel.chat.user_message_(hold/update) by @pajlada in #6008
- feat(eventsub): implement suspicious user update by @Nerixyz in #6012
- feat(eventsub): implement timeout stacking by @Nerixyz in #6013
- feat(eventsub): don't listen to PubSub if EventSub is on by @Nerixyz in #6015
- feat(overlay): inherit zoom and add zoom factor by @Nerixyz in #6016
- feat(notifications): linux notification actions by @4rneee in #5976
- fix(eventsub): connection race by @pajlada in #6017
- reduce pubsub/liveupdates pubsub clients "wait for clean exit" time from 1s to 100ms by @pajlada in #6019
- fix: try to avoid crash on image load when app is exiting by @pajlada in #6018
- chore: remove dead code and get rid of MSVC warnings by @Nerixyz in #6024
- refactor: use some more SettingWidget & restyle external tools page by @pajlada in #6023
- feat:
setHighlightSounds
&openSubscriptionPage
split hotkeys by @brian6932 in #5856 - feat: Search KeyboardSettingsPage [1/9] by @apa420 in #5884
- deps: update crash handler by @Nerixyz in #6026
- fix(eventsub): infer
AsISO8601
for chrono time point by @Nerixyz in #6027 - Addition extensions: Trim IDs and ignore empty strings by @MiguVT in #5997
- feat(eventsub): implement untimeout by @Nerixyz in #6028
- Add MiguVT as contributor by @MiguVT in #6029
- chore: Cleanup of hotkeys & settings in #5856 by @brian6932 in #6030
- feat: add "Open in custom player" to toast options by @Nerixyz in #5880
- fix: Qt 6.4.3 build by @pajlada in #6032
- chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /lib/twitch-eventsub-ws/ast by @dependabot in #6033
- feat(eventsub): reconnect by @Nerixyz in #6035
- refactor(eventsub): use backoff over retry count by @Nerixyz in #6036
- feat: allow custom chat font weight by @Nerixyz in #6037
- fix: enable Twitch EventSub by default by @pajlada in #6040
- refactor(eventsub): Respect "Hide moderation actions" explicitly by @pajlada in #6041
- feat: support
/watching
on all platforms by @Nerixyz in #6031 - feat: Hide messages from suspicious users in streamer mode by @pajlada in #6042
- fix: make borders on windows 11 thinner by @Nerixyz in #5836
- refactor(eventsub): consume date.h as submodule by @Nerixyz in #6044
- chore(deps-dev): bump black from 23.3.0 to 24.3.0 in /lib/twitch-eventsub-ws/ast by @dependabot in #5894
- fix: set application policy on macOS for extension by @Nerixyz in #6043
- Revert "refactor(eventsub): consume date.h as submodule" by @pajlada in #6046
- fix: only hide messages from restricted users, not all suspicious users by @pajlada in #6049
- refactor(eventsub): conditionally use Howard's date lib by @pajlada in #6048
- fix: special shortcut for Windows live notifications by @8thony in #5975
- feat: gracefully shut down on SIGINT/SIGTERM on Linux/mac by @pajlada in #6053
- fix: make QLineEdit's less ugly in light themes by @pajlada in #6055
- fix: close known windows on exit by @Nerixyz in #6054
- fix: crash when searching uninitialized channel by @pajlada in #6057
- fix(eventsub): check keepalive by @Nerixyz in #6058
- fix(eventsub): close connection after timeout by @Nerixyz in #6059
- feat: Add compact tabs to settings and implement them by @apa420 in #5858
- feat: apply tabular number formatting to timestamp by @pajlada in #6062
- chore: check if WEBP is supported by @Nerixyz in #6073
- refactor: some mini feature changes in BaseWindow by @pajlada in #6074
- chore: Enable plugins in builds by default by @pajlada in #6075
- feat(eventsub): handle multi enum constant keys by @pajlada in #6078
- chore(eventsub): some more tests & print if message is ignored by @pajlada in #6079
- feat: check scopes when logging in by @Nerixyz in #6072
- fix: emote button is now rendered smoothlier by @pajlada in #6080
- fix: correctly scale SelectChannelDialog by @pajlada in #6081
- fix: qt 6.4.3 stringbuilding shenanigans with scope check message by @pajlada in #6083
- fix: don't add tests to autostart by @Nerixyz in #6084
- feat(eventsub): handle unban requests by @Nerixyz in #6086
- deps: update
tools/crash-handler
by @Nerixyz in #6087 - fix: apply same margin to svg buttons as to pixmap buttons by @pajlada in #6085
- fix(eventsub): stack bans by @Nerixyz in #6092
- fix(eventsub): retry if the WS session expired by @Nerixyz in #6093
- Release v2.5.3-beta.1 by @pajlada in #6095
- fix: focus input after updating visibility by @Nerixyz in #6096
- fix: use a palette for dialogs by @Nerixyz in #6098
- fix: disable precompiled headers for macOS by @pajlada in #6104
- Move "Delete message" to a sub-menu by @pajlada in #6100
- feat: Add a basic implementation of shared chat profile pictures by @treuks in #5760
- fix: don't set binding for "toggle local r9k" on macOS by @jacob-thompson in #5764
- add jacob-thompson to contributors list by @jacob-thompson in #6105
- fix: don't show moderation buttons on your own usercard by @Jujufrost in #6107
- add Jujufrost as a contributor by @pajlada in #6109
- Release v2.5.3 by @pajlada in #6108
New Contributors
- @T0biii made their first contribution in #5950
- @kyleScarmack made their first contribution in #5959
- @brockgilman made their first contribution in #5958
- @Zakary2841 made their first contribution in #5982
- @TheComputerGuy96 made their first contribution in #5998
- @MiguVT made their first contribution in #5997
- @jacob-thompson made their first contribution in #5764
- @Jujufrost made their first contribution in #6107