-
v1.4.7
Stablereleased this
2026-05-13 09:07:52 +00:00 | 132 commits to main since this releasev1.4.7 — Backlog Cleanup and Mid-Features (2026-05-13)
Eighth sub-patch of the v1.4.x polish-sweep series. First
user-visible feature bundle since v1.4.5 — pinned tell tabs that
survive relog, opt-in Honorific glow rendering, and a configurable
sidebar.- TempTell Pin: right-click a TempTell tab in the sidebar to pin
it. Pinned tabs survive relog, keep their conversation history
(loaded on demand from the message store), and stay bound to
the same /tell partner. Hard cap of 5 pinned tabs in a pool
separate from the 15-tab auto-tell pool — total ceiling is 20
tabs. New 'Pinned' section in the sidebar with its own divider
header - Honorific Glow outline now renders when the title carries a
Glow colour. Opt-in via Settings → Integrations → 'Render glow
outlines (Honorific)' (default off, dodges the per-frame
DrawList overhead on low-end hardware). Gradient (Color3 /
GradientColourSet / Wave / Pulse) is parsed but rendered
statically — a later cycle will port the full animation - Sidebar width is now configurable in Theme & Layout (range
44–160 px). Default stays icon-only; widen to fit section
headers like 'Active Tells (3)' without truncation - Settings Save no longer pops the chat input back to /tell with
a pinned partner — Configuration.UpdateFrom now preserves the
runtime CurrentChannel across the persistent-tab merge, and
TabSwitched deep-clones the seeded channel instead of sharing
the previous tab's UsedChannel - Util/ImGuiUtil.cs DrawArrows IconButton id now uses
(id + 1).ToString() instead of the operator-precedence quirk
id + 1.ToString() — generated IDs stay numerically stable - Internal: IPluginLogProxy indirection over Dalamud's IPluginLog
routes all ~91 Plugin.Log call sites through a testable proxy.
MessageStore.Migrate0 can now run in xUnit without loading
Dalamud.dll, closing the gap F12.1 left in v1.4.6 - Internal: TempTab counter switched from an Interlocked cached
field to a derived Tabs.Count(predicate) — pin-state transitions
are cold-path and don't need lock-free reads
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the Dalamud main plugin repo. To install:
- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features,
architecture, build - Privacy notice — what
the plugin stores and sends - Third-party notices
— dependencies and licences - Security policy —
vulnerability reporting - Support — bug reports,
questions, contact paths
Licence
Downloads
- TempTell Pin: right-click a TempTell tab in the sidebar to pin
-
v1.4.6
Stablereleased this
2026-05-12 19:28:29 +00:00 | 147 commits to main since this releasev1.4.6 — Code Hygiene and Refactor (2026-05-12)
Maintenance patch. No user-visible behaviour changes; tightens the
development feedback loop, fixes two upstream-inherited bugs, and
prepares the code for the v1.4.7 backlog cleanup.- preflight.sh gains a csharpier reflow check and a markdownlint
pass so style drift and markdown violations are caught at the
pre-push gate - FontManager fallback catches the full set of atlas-toolkit
throws (IO, InvalidOperation, ArgumentException) — a corrupt
font config no longer takes down the whole atlas build - BrandingLinks and IntegrationLinks URLs validated on plugin
load — a typo in a future URL rotation now throws at startup - Cherry-picked from ChatTwo upstream f35b7d3: Chat.SetChannel
no longer leaks the native Utf8String when the linkshell check
rejects the channel - Cherry-picked from ChatTwo upstream f35b7d3: Tab.Clone now
deep-clones UsedChannel and TellTarget — PopOut and Temp tabs
no longer mutate each other's channel state - Active-tab underline scales with DPI and rounds to physical
pixels for crisp rendering above 100% scaling - IconButton width parameter no longer subtracts HUD-scaled
padding from a raw int (measured width passes through verbatim) - Internal: HellionStyle ChildBgAlpha extracted to a testable
helper; Plugin.SaveConfig clones only the temp tabs;
SettingsOverview caches the draw-list per frame;
Dalamud.Utility.Util surface routed through an IPlatformUtil
indirection (MessageStore IsWine probe is now testable in
isolation) - Built-in themes: Crystal Nocturne (sapphire and electric
magenta over obsidian, by CRYSTALLITE) replaces Moonlit Bloom.
Users with Moonlit Bloom selected fall back to Hellion Arctic
on first load
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the Dalamud main plugin repo. To install:
- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features,
architecture, build - Privacy notice — what
the plugin stores and sends - Third-party notices
— dependencies and licences - Security policy —
vulnerability reporting - Support — bug reports,
questions, contact paths
Licence
Downloads
- preflight.sh gains a csharpier reflow check and a markdownlint
-
v1.4.5
Stablereleased this
2026-05-12 13:32:45 +00:00 | 166 commits to main since this releasev1.4.5 — UX and Robustness (2026-05-12)
Sixth sub-patch of the v1.4.x polish-sweep series. Chat-log draw
failures surface as a notification, the first-run wizard has an
explicit "Later" option, the input history clears on plugin reload,
and the status bar version slot stops clipping in narrow windows.- Chat window draw errors now show a one-shot notification instead
of failing silently — stack trace stays in /xllog - First-run wizard: explicit "Later — keep defaults" button.
Closing the X no longer silently accepts the defaults; the wizard
reopens on the next plugin load if nothing was picked - InputHistoryService clears on plugin dispose so the previous
session's typed commands don't bleed into the next load - Status bar hides the version slot when the chat window is too
narrow to fit all five slots without overlap - Internal: explicit session-only Auto-Tell-Tab invariant in
Plugin.cs plus a pinning test in the Build-Suite - Internal: FontManager falls back to the system font if the
embedded Hellion font resource is missing — logs a Warning
How to install
This release is distributed via the HellionChat custom repository, not the Dalamud main plugin repo. To install:
- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features,
architecture, build - Privacy notice — what
the plugin stores and sends - Third-party notices
— dependencies and licences - Security policy —
vulnerability reporting - Support — bug reports,
questions, contact paths
Licence
Downloads
- Chat window draw errors now show a one-shot notification instead
-
v1.4.4
Stablereleased this
2026-05-12 09:50:53 +00:00 | 177 commits to main since this releasev1.4.4 — Threading and IPC safety polish (2026-05-12)
Fifth sub-patch of the v1.4.x polish-sweep series. Threading
assumptions are documented per-method, a hot-path lock falls
away, and the privacy filter speaks up when an unknown ChatType
shows up.- AutoTellTabs hot-path getter uses an Interlocked counter
instead of taking the lock on every read - Honorific integration: per-method threading banners, plus
Warning-level log on unsubscribe failure - AutoTranslate warmup thread marked IsBackground so plugin
unload doesn't wait for it - PrivacyFilter logs once per unknown ChatType so a future
patch's added channel doesn't drop off the radar - New installs persist unknown channels by default; existing
configs keep their explicit choice
How to install
This release is distributed via the HellionChat custom repository, not the Dalamud main plugin repo. To install:
- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features,
architecture, build - Privacy notice — what
the plugin stores and sends - Third-party notices
— dependencies and licences - Security policy —
vulnerability reporting - Support — bug reports,
questions, contact paths
Licence
Downloads
- AutoTellTabs hot-path getter uses an Interlocked counter
-
v1.4.3
Stablereleased this
2026-05-09 06:42:49 +00:00 | 221 commits to main since this releaseDownloads
-
v1.4.2 Stable
released this
2026-05-07 21:21:28 +00:00 | 243 commits to main since this releaseHellion Chat 1.4.2 — ChatLog Frame-Hot-Path
Third sub-patch of the v1.4.x Polish Sweep series. Per-frame
allocations from the chat-log render path eliminated.- DrawMessages card-mode hoists theme/drawList/winLeft/winRight/
borderColorAbgr out of the per-message loop. About 500
redundant calls per frame at 100 visible messages, multiplied
by every pop-out window - Auto-tell tab tint and icon use a per-tab cache. Hash
computation and string allocation only happen when the tell
target name or world drifts. AutoTellTabTint stays a pure
hash helper; cache lives in a thin TabTintCache wrapper - Status bar gates its tab aggregation behind the same
one-second cache it already used for the format strings.
LINQ Sum and Count replaced with a single foreach pass
that runs on roughly 1% of frames
Realistic frame-time recovery: 2-5% in typical scenes, more
on pop-out-heavy setups because the card-border hoist scales
per window.Modding & support: join Hellion Forge — https://discord.gg/X9V7Kcv5gR
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the
Dalamud main plugin repo. To install:- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features, architecture, build
- Privacy notice — what the plugin stores and sends
- Third-party notices — dependencies and licences
- Security policy — vulnerability reporting
- Support — bug reports, questions, contact paths
Licence
Downloads
- DrawMessages card-mode hoists theme/drawList/winLeft/winRight/
-
v1.4.1 Stable
released this
2026-05-07 18:05:14 +00:00 | 248 commits to main since this releaseHellion Chat 1.4.1 — Theme Engine Performance
Second sub-patch of the v1.4.x Polish Sweep series. Heap
pressure from the theme engine's per-frame render path
removed, plus a tenth built-in theme and hardening for
the custom-theme hot-reload.- Theme records carry a pre-computed ABGR-packed cache
for every color slot; cache is filled when the theme
is registered and refreshed defensively on every
Switch() - HellionStyle.PushGlobal reads ABGR values from the
cache instead of calling ColourUtil.RgbaToAbgr per
slot per frame; ~13 % render-time recovery measured
in typical scenes (plan estimate was 2–6 %, real
~10–15 %) - ThemeRegistry custom-theme reload distinguishes a
recoverable file lock (editor mid-save) from a
permanent IO failure; locked themes keep their
last-known-good snapshot and retry on the next
lookup instead of dropping out of the picker - New built-in: Synthwave Sunset — Hot Magenta + Cyan
on midnight violet, 80s neon-grid vibes; tenth theme
in the picker - Author credits refreshed: brand themes are credited
as "Hellion Forge"; Mint Grove and Forge Merchantman
now credited to Carla Beleandis as a community thanks
No schema bump, no user-visible behaviour change other
than smoother frames on GC-sensitive setups and one
additional colour option.Modding & support: join Hellion Forge — https://discord.gg/X9V7Kcv5gR
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the
Dalamud main plugin repo. To install:- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features, architecture, build
- Privacy notice — what the plugin stores and sends
- Third-party notices — dependencies and licences
- Security policy — vulnerability reporting
- Support — bug reports, questions, contact paths
Licence
Downloads
- Theme records carry a pre-computed ABGR-packed cache
-
v1.4.0 Stable
released this
2026-05-07 17:07:17 +00:00 | 256 commits to main since this releaseHellion Chat 1.4.0 — Critical Lifecycle Fixes
First sub-patch of the v1.4.x Polish Sweep series. Seven
known lifecycle and race bugs eliminated before any
performance refactor sits on top.- MessageStore disposal no longer triggers GC.Collect
globally; Pooling=false on the SQLite connection means
there's nothing left to clean up by hand - PendingMessage and RetentionSweep worker threads are
explicitly marked IsBackground=true so the plugin domain
can unload during XIVLauncher reload without waiting
for them - EmoteCache image and gif loaders moved from async-void
to async Task with a shared task tracker, draining
on Dispose so an in-flight load can no longer write
to a disposed EmoteImages entry - DisposeAsync 10s timeout now warns loudly instead of
silently leaving the worker behind - Plugin.Dispose flushes any pending DeferredSaveFrames
before tearing services down, so settings changes
made in the last few frames before disable are no
longer lost - The v13→v14 config migration now reads the pre-v13
backup and carries HellionThemeWindowOpacity into the
new WindowOpacity field instead of falling back to
the default 0.85
Modding & support: join Hellion Forge — https://discord.gg/X9V7Kcv5gR
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the
Dalamud main plugin repo. To install:- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features, architecture, build
- Privacy notice — what the plugin stores and sends
- Third-party notices — dependencies and licences
- Security policy — vulnerability reporting
- Support — bug reports, questions, contact paths
Licence
Downloads
- MessageStore disposal no longer triggers GC.Collect
-
v1.3.0 Stable
released this
2026-05-06 20:25:21 +00:00 | 267 commits to main since this releaseHellion Chat 1.3.0 - Plugin Integrations: Honorific
First step on the plugin-integration roadmap. HellionChat now
listens to Honorific and shows your custom title in the chat
header. The slot auto-hides when Honorific is not installed,
when no custom title is active, or when you are using the
original FFXIV title.- New "Integrations" settings tab
- Honorific integration with auto-detection and live updates
- "Coming soon" preview of the next five planned integrations:
context menu actions, smart notifications, RP status block,
ExtraChat channels, and quick DM compose - Maintainer attribution buttons for Honorific repo and Caraxi
- New service-class pattern under HellionChat/Integrations/
Modding and support: join Hellion Forge - https://discord.gg/X9V7Kcv5gR
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the
Dalamud main plugin repo. To install:- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features, architecture, build
- Privacy notice — what the plugin stores and sends
- Third-party notices — dependencies and licences
- Security policy — vulnerability reporting
- Support — bug reports, questions, contact paths
Licence
Downloads
-
v1.2.3 Stable
released this
2026-05-06 12:24:31 +00:00 | 289 commits to main since this releaseHellion Chat 1.2.3 — Theme Expansion
Four new built-in themes round out the picker. No engine changes,
no settings touched — just more colour options.- Night Blue — Royal Blue on deep marine. Cool tech-dashboard
mood, distinct from the brand themes. - Indigo Violet — Royal Violet on deep indigo with a turquoise-
mint counter for an aurora glitter feel. Sister to Event Horizon
but darker and denser; the turquoise accent keeps the two
distinguishable. - Forge Merchantman — Patina bronze on workshop slate, warm
amber counter. Hellion Forge given a theme of its own — sister
to Hellion Arctic but greener and warmer instead of cold cyan. - Hellion Spectrum — Deuteran/Protan-safe channel colours
using Wong/Okabe-Ito palette tones. Channel identity (Tell pink,
Yell yellow, Shout orange, Party blue, FC green) is preserved;
tones are chosen so each channel stays distinguishable under
red-green colour vision deficiency. Covers the ~99% of CVD cases
that are red-green.
No schema bump, no migration. Default theme is unchanged (Hellion
Arctic). Existing custom themes keep working.Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
How to install
This release is distributed via the HellionChat custom repository, not the
Dalamud main plugin repo. To install:- In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
- Add the URL:
https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json - Enable, save, then
/xlplugins→ search Hellion Chat → install
Project documents
- README — features, architecture, build
- Privacy notice — what the plugin stores and sends
- Third-party notices — dependencies and licences
- Security policy — vulnerability reporting
- Support — bug reports, questions, contact paths
Licence
Downloads
- Night Blue — Royal Blue on deep marine. Cool tech-dashboard