feat(release): 2.0.0 -- nine cycles ship, and the config starts over

v1.6.0 through v1.15.0 were never published. The whole window layer was being
rewritten from ImGui defaults to custom drawing, and repo.json deliberately kept
its links on v1.5.6 so nobody could update into a half-finished state. That work
lands here in one release.

The config is not migrated, it is replaced. A config carried across nine cycles of
window rebuilds holds values chosen against surfaces that no longer exist, and
starting over is the only way to be sure every install is on the same defaults.
The message database is a separate file and is not touched. The old config is
copied to HellionChat.json.pre-2.0.0.bak first, so rolling back to 1.5.6 stays a
file copy rather than an evening of clicking settings back in.

Config schema 27. The reset runs from the constructor, before LoadAsync seeds the
default tabs, and the self-test now fails if the tab list is empty at /xlperf --
that ordering breaking would leave every user with no tabs and nothing else in the
plugin would notice.

Default layout gains an Emote tab: custom emotes, standard emotes and echo. A
tester asked for it, emotes get lost between system notices otherwise.

Manifest, README, roadmap and the four changelog consumers are on 2.0.0. The
release notes lead with what was fixed rather than what was redrawn -- retroactive
cleanup that could never be applied, a compaction that reported deleting nothing
while deleting everything, pinned tell tabs that came up empty for a session. And
with the one behaviour change users should know about: the channel grid is
authoritative over storage now, so anyone who had unticked channels while the
unknown-channel failsafe was on stores less than they did before.
This commit is contained in:
2026-08-19 22:15:40 +02:00
parent 16557213cd
commit 89c73be71c
37 changed files with 301 additions and 156 deletions
+42
View File
@@ -11,6 +11,48 @@ releases as an overview and links to the release pages for details.
---
## [2.0.0] — 2026-08-19
Rebuilt, repaired, reset. Everything developed as v1.6.0 through v1.15.0 ships
here: those versions were never published on their own, because the whole window
layer was being rewritten from ImGui defaults to custom drawing and shipping it
half-done would have been worse than shipping nothing.
**This release resets your configuration.** Nine cycles of window rebuilds left
saved values pointing at surfaces that no longer exist, and starting over is the
only way to be sure every install is on the same defaults. The message database is
untouched — it lives in its own file. The previous config is kept alongside it as
`HellionChat.json.pre-2.0.0.bak`.
### Added
- An Emote tab in the default layout, requested by a tester: custom emotes,
standard emotes and echo, which is where emote-adjacent output lands.
- `/hellion wizard` reopens the first-run wizard. It had no way back into it at
all — the reopen button lost its call site in the four-step rewrite and nothing
replaced it, so the only route was closing the game and editing the config.
- The plugin notice on the welcome page: plugins are a grey area in this game and
do not belong in public channels.
### Changed
- The first-run wizard is drawn like the rest of the plugin. Profile cards are
tiles in the row language, sized to their own text so a privacy description is
never cut off mid-sentence, and their emoji are icon-font glyphs.
- The welcome page is opaque, unlike every other window here. It is read once and
carries a privacy decision; the game showing through it was noise.
- Config version 27 replaces the config instead of migrating it.
### Fixed
- The GDPR notice for the full-history profile is shown again. It had been
translated into 25 languages and drawn nowhere since 2026-05-18.
- Two profile cards claimed to be recommended at once: the badge sat on one while
the other still said "(recommended)" in its heading, in every language.
- Reopening the wizard no longer carries staged choices from a previous run.
---
## [1.14.0] — unreleased (local only)
The input row. It was the one surface a user actually works in and it spoke three