• v1.4.7 d3fdcdf43d

    v1.4.7
    Security / scan (push) Successful in 23s
    Build / Build (Release) (push) Successful in 30s
    Forge Announce / Post changelog to Hellion Forge (push) Successful in 7s
    Release / Build and attach release ZIP (push) Successful in 39s
    Stable

    JonKazama-Hellion released this 2026-05-13 09:07:52 +00:00 | 132 commits to main since this release

    v1.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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2. Based on
    Chat 2 by Infi and Anna, also EUPL-1.2.

    Downloads
  • v1.4.6 1d88cb4c42

    v1.4.6
    Security / scan (push) Successful in 22s
    Build / Build (Release) (push) Successful in 29s
    Release / Build and attach release ZIP (push) Successful in 37s
    Forge Announce / Post changelog to Hellion Forge (push) Failing after 7s
    Stable

    JonKazama-Hellion released this 2026-05-12 19:28:29 +00:00 | 147 commits to main since this release

    v1.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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2. Based on
    Chat 2 by Infi and Anna, also EUPL-1.2.

    Downloads
  • v1.4.5 2e057ce6c4

    v1.4.5
    Security / scan (push) Successful in 22s
    Build / Build (Release) (push) Successful in 31s
    Forge Announce / Post changelog to Hellion Forge (push) Successful in 8s
    Release / Build and attach release ZIP (push) Successful in 40s
    Stable

    JonKazama-Hellion released this 2026-05-12 13:32:45 +00:00 | 166 commits to main since this release

    v1.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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2. Based on
    Chat 2 by Infi and Anna, also EUPL-1.2.

    Downloads
  • v1.4.4 61d5a33683

    v1.4.4
    Security / scan (push) Successful in 21s
    Build / Build (Release) (push) Successful in 28s
    Forge Announce / Post changelog to Hellion Forge (push) Successful in 7s
    Release / Build and attach release ZIP (push) Successful in 39s
    Stable

    JonKazama-Hellion released this 2026-05-12 09:50:53 +00:00 | 177 commits to main since this release

    v1.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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2. Based on
    Chat 2 by Infi and Anna, also EUPL-1.2.

    Downloads
  • v1.4.3 e594258cf3

    v1.4.3
    Build / Build (Release) (push) Successful in 41s
    Release / Build and attach release ZIP (push) Successful in 2m4s
    Forge Announce / Post changelog to Hellion Forge (push) Successful in 11s
    Stable

    gitea-actions released this 2026-05-09 06:42:49 +00:00 | 221 commits to main since this release

    Downloads
  • v1.4.2 c64fcfd4d1

    v1.4.2 Stable

    JonKazama-Hellion released this 2026-05-07 21:21:28 +00:00 | 243 commits to main since this release

    Hellion 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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.4.1 cb612044ea

    v1.4.1 Stable

    JonKazama-Hellion released this 2026-05-07 18:05:14 +00:00 | 248 commits to main since this release

    Hellion 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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.4.0 de9d1ac60b

    v1.4.0 Stable

    JonKazama-Hellion released this 2026-05-07 17:07:17 +00:00 | 256 commits to main since this release

    Hellion 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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.3.0 d257a41660

    v1.3.0 Stable

    JonKazama-Hellion released this 2026-05-06 20:25:21 +00:00 | 267 commits to main since this release

    Hellion 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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads
  • v1.2.3 eead8d813c

    v1.2.3 Stable

    JonKazama-Hellion released this 2026-05-06 12:24:31 +00:00 | 289 commits to main since this release

    Hellion 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:

    1. In XIVLauncher: Settings → Experimental → Custom Plugin Repositories
    2. Add the URL:
      https://raw.githubusercontent.com/JonKazama-Hellion/HellionChat/main/repo.json
    3. Enable, save, then /xlplugins → search Hellion Chat → install

    Project documents

    Licence

    EUPL-1.2.
    Based on Chat 2 by Infi and Anna,
    also EUPL-1.2.

    Downloads