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
+2 -2
View File
@@ -22,7 +22,7 @@ namespace HellionChat.Ui;
// fields, and CommitPending() applies only the non-null ones so
// users who skip a step never get their existing config overwritten.
//
// This is the first thing a tester ever sees, and until v1.15.0 it was the last
// This is the first thing a tester ever sees, and until v2.0.0 it was the last
// surface still drawn in ImGui defaults -- stock buttons under a hardcoded
// bronze that ignored the theme. It speaks the window's language now: the
// settings backdrop, tracked-caps headings, the chamfered accent pill for the
@@ -66,7 +66,7 @@ public sealed class FirstRunWizard : Window
};
}
// Until v1.15.0 the wizard could only ever open once per session, so its
// Until v2.0.0 the wizard could only ever open once per session, so its
// state living as long as the plugin never showed. /hellion wizard makes
// reopening possible, and a second run that started on step 4 with the
// first run's choices still pending would commit picks the user never saw.