chore(release): 2.0.2 -- BetterTTV out, placeholders fixed
Forge Announce / Post changelog to Hellion Forge (push) Successful in 9s
Security Scan (reusable) / Security Scan (push) Successful in 27s
Security / scan (push) Successful in 27s
Build / Build (Release) (push) Successful in 34s
Release / Build and attach release ZIP (push) Successful in 31s

BetterTTV emote support is removed rather than switched off. Its shared-emote
endpoint went behind authentication and that is where nearly all of them came
from; what was left is the 65-entry global set, eleven of those on the plugin's
own known-broken list, so 54 largely static images from Twitch's early days.
Exactly one is animated, and that one is 492 frames at 140x140 -- 37 MB of
texture memory for a single emote, uploaded one frame at a time. Not worth a
network call and an on-disk cache on every start.

Gone with it: the download path, the cache directory, the GIF renderer, the
settings section, the block list, and 13 translation keys across 50 resource
files. 1567 lines. The plugin now makes no outbound network calls at all, which
is the claim PRIVACY.md has always wanted to make without an asterisk.

EmotePayload and its MessagePack type byte stay, deliberately. Around a thousand
rows in a two-month-old database carry them, and dropping the type would make
those fail to deserialise -- the history is the one thing 2.0.0 promised not to
touch. Nothing writes one any more and a stored emote renders as the code that
was typed, which is what the sender saw when they typed it.

Five descriptions in the Window tab printed {0} where the plugin name belonged,
handed to the widget directly instead of through string.Format the way the rows
around them do. Every language was affected including English; German surfaced
it because the placeholder lands at the start of the sentence there. A test now
walks every placeholder-carrying resource string, finds its uses, and fails on
an unformatted one -- verified by putting the defect back and watching it go red.

New preview images. The old set was from 2026-05-08, older than every cycle in
2.0.0, and showed stacked ImGui defaults to anyone browsing the installer. Taken
with screenshot mode on so no character names reach a public repo. The wizard
takes the theme picker's slot.
This commit is contained in:
2026-08-19 23:34:41 +02:00
parent 39e2d91288
commit 16730d5ed9
68 changed files with 79 additions and 1609 deletions
+37
View File
@@ -11,6 +11,43 @@ releases as an overview and links to the release pages for details.
---
## [2.0.2] — 2026-08-19
### Removed
- BetterTTV emote support, in full. The shared-emote endpoint went behind
authentication and it supplied nearly all of them; what was left is a 65-entry
global set, eleven of those on the known-broken list, so 54 largely static
images. One was animated — 492 frames at 140x140, which is 37 MB of texture
memory for a single emote. Gone with it: the download path, the on-disk cache,
the GIF renderer, the settings section, the block list, and 13 translation
keys across 50 resource files. The plugin makes no outbound network calls at
all now.
- `EmotePayload` and its MessagePack type byte deliberately stay. Messages
stored before this release carry them, and removing the type would make those
rows fail to deserialise. Nothing writes one any more; a stored emote renders
as the code that was typed. `0x53` and `PayloadMessagePackType.Emote` must
never be reassigned.
### Fixed
- Five descriptions in the Window settings tab printed `{0}` where the plugin
name belonged. They were handed to the widget directly instead of through
`string.Format`, which the neighbouring rows do correctly. Every language was
affected including English, where it read less obviously — German puts the
placeholder at the start of the sentence, which is why it surfaced there.
### Added
- A test that walks every resource string containing a placeholder, finds each
use of it in the sources, and fails if one reaches a widget unformatted. It
was verified by falsification: reintroducing the defect turns it red.
- New preview images for the plugin installer. The previous set was from
2026-05-08 and showed the interface as it looked before the window rebuilds.
Taken with screenshot mode on, so no character names are in them.
---
## [2.0.1] — 2026-08-19
A same-day hotfix on 2.0.0 with nothing user-facing in it.