chore: bump version to 1.4.9, sync manifest

Manifest version bump for the v1.4.9 release cut. Schema-required v16
stays unchanged (R1/R2/R3 are all config-neutral refactors).

Files touched:
- HellionChat/HellionChat.csproj: <Version> 1.4.8 -> 1.4.9
- HellionChat/Plugin.cs: schema-migration error string self-reference
  (v1.4.8 -> v1.4.9, required schema v16 stays)
- repo.json: AssemblyVersion, TestingAssemblyVersion, 3x DownloadLink*
  URLs all bumped to 1.4.9 / v1.4.9. Changelog field is still on v1.4.8;
  the v1.4.9 block plus v1.4.5 slim-drop land in the next commit.
- README.md: shield badge, version header in lead paragraph, project-
  status block rewritten for v1.4.9 (Plugin-Load Render Polish).
- docs/CHANGELOG.md: v1.4.9 block inserted above v1.4.8.
- docs/ROADMAP.md: v1.4.9 moved into the released-versions list,
  "Next Cycle" header now targets v1.4.10 (Render Clipper + Symbol
  Picker reserves carried over from the v1.4.9 plan).

yaml changelog block and repo.json Changelog field follow in the
docs commit so the slim-drop of v1.4.5 stays atomic with the v1.4.9
block insert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-15 11:31:35 +02:00
parent 011490368b
commit d9f6704316
6 changed files with 76 additions and 27 deletions
+14 -15
View File
@@ -2,7 +2,7 @@
[![Build](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/actions/workflows/build.yml/badge.svg?branch=main)](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/actions/workflows/build.yml)
[![License: EUPL-1.2](https://img.shields.io/badge/License-EUPL--1.2-blue.svg)](LICENSE)
[![Latest release](https://img.shields.io/badge/release-v1.4.8-brightgreen)](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/latest)
[![Latest release](https://img.shields.io/badge/release-v1.4.9-brightgreen)](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/latest)
[![Dalamud API](https://img.shields.io/badge/Dalamud-API_15-purple)](https://github.com/goatcorp/Dalamud)
[![.NET](https://img.shields.io/badge/.NET-10.0-512BD4)](https://dotnet.microsoft.com/)
[![FFXIV](https://img.shields.io/badge/FFXIV-Dawntrail-c3a37f)](https://www.finalfantasyxiv.com/)
@@ -11,7 +11,7 @@
<img src="docs/images/hellion-forge.png" alt="Hellion Forge" width="180" />
</p>
**Version 1.4.8** — Privacy-first chat plugin for FINAL FANTASY XIV / Dalamud, built on
**Version 1.4.9** — Privacy-first chat plugin for FINAL FANTASY XIV / Dalamud, built on
[Chat 2](https://github.com/Infiziert90/ChatTwo) (EUPL-1.2).
Hellion Chat is a privacy-first plugin built on the Chat 2 foundation. The majority of the engine comes from Chat 2
@@ -286,19 +286,18 @@ An optional submission to the Dalamud main plugin repo (in addition to the custo
## Project Status
**Version 1.4.8**Hook-Layer and Polish Quick-Wins. The Database Viewer now has an optional FTS5 full-text search
across the entire chat history. Toggle "Full-text search" next to the search bar; the index is built asynchronously on
first run after the update with a progress toast, and the toggle stays disabled until the build completes. Multi-word
terms match as exact phrases by default; power users can opt into raw FTS5 `MATCH` syntax by wrapping their own
double-quotes. Custom theme files auto-reload when edited while the theme is active — save the JSON in your editor and
the live render picks up the change within a second, no picker click. Retention sweep no longer blocks the framework
thread (`Framework.Run(...).Wait()` replaced by `Framework.RunOnTick(...)`), removing the ~194 ms hitch per sweep. Status
bar height is now derived from `GetTextLineHeightWithSpacing()` plus a DPI-aware spacer so the bar renders correctly at
Windows display scaling above 100 %. Receive-suppressed-tells routing is postponed to v1.5.x; the investigation in this
cycle showed that the FFXIV `ContentIdResolverHook` does not fire when other plugins suppress tells via
`CheckMessageHandled`, which means tell-partner identification breaks for AutoTellTab routing — the fix lives next to
the planned ad-block hook layer where the same `RaptureLogModule` patch surface comes up anyway. Migration v17 stays
(no schema bump). Ninth sub-patch of the v1.4.x polish sweep series (as of 2026-05-14).
**Version 1.4.9**Plugin-Load Render Polish. First-frame render cost is now well under Dalamud's 100 ms HITCH
warning threshold (~76 ms median, down from ~127 ms). The gain comes from deferring six non-essential rendering
sections on the very first Draw — bottom status bar, channel-name SeString chunks, window bounds check, hint
banner, autocomplete and input-preview calculation — so the initial ImGui layout cost is spread between frame 0
and frame 1 instead of all hitting at once. At 60 fps the user sees those sections one frame (~17 ms) later, which
is invisible inside the post-reload font-atlas build window. Slash commands `/hellion`, `/hellionView`,
`/hellionSeString` and `/hellionDebugger` are now registered centrally during plugin load so they work before
their target window is opened the first time. The configuration-button entry in Dalamud's plugin manager hangs on
the same path. Three plugin-load profiling logs (auto-translate warm-up, message-store connect, tab filter) stay
on at Information level as a regression tripwire — if a future change pushes the load past 100 ms again, the cost
is right there in `/xllog`. Migration v17 stays (no schema bump). Tenth sub-patch of the v1.4.x polish sweep
series (as of 2026-05-15).
Hellion Chat is a standalone plugin, no longer a fork in the repository sense. Fully completed: