docs: add v1.3.0 release-notes drafts and trim manifest changelog
This commit is contained in:
@@ -110,350 +110,6 @@ changelog: |-
|
|||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||||
|
|
||||||
**Hellion Chat 1.2.1 — Settings Cleanup**
|
|
||||||
|
|
||||||
Re-sorted the settings menu so related options live together. Card names
|
|
||||||
now describe their contents in plain words — "Theme & Layout", "Fonts &
|
|
||||||
Colours", "Data Management" — and each card has a short subtitle so you
|
|
||||||
don't have to guess where a setting lives. No new features, just
|
|
||||||
housekeeping.
|
|
||||||
|
|
||||||
Card changes:
|
|
||||||
|
|
||||||
- Theme & Layout (new) collects the theme picker, window frame style
|
|
||||||
(title bar, sidebar, hide button, pop-out title bar) and the timestamp
|
|
||||||
style options.
|
|
||||||
- Fonts & Colours (new) is the new home for font choice, font size and
|
|
||||||
per-channel chat colours.
|
|
||||||
- Data Management (new) is everything you do with stored messages:
|
|
||||||
retention windows, cleanup, export, the database viewer and the
|
|
||||||
advanced shift-click tools. All previously scattered between Privacy
|
|
||||||
and Database.
|
|
||||||
- Privacy is now focused on one job: the privacy filter.
|
|
||||||
- Chat absorbs the Auto-Tell-Tabs history preload slider that used to
|
|
||||||
live under Privacy.
|
|
||||||
- General groups the keybind mode under Input where it belongs.
|
|
||||||
|
|
||||||
Cleanup:
|
|
||||||
|
|
||||||
- Removed legacy "Style override" option and the unused style-name field
|
|
||||||
— both made obsolete by the Themes system in 1.1.0.
|
|
||||||
- Removed the legacy WindowAlpha slider; if you had it set, the value is
|
|
||||||
automatically migrated to Theme & Layout → Window Style → Window
|
|
||||||
Transparency.
|
|
||||||
- Removed the unused ShowThemeQuickPicker schema field.
|
|
||||||
|
|
||||||
Migration v15 → v16:
|
|
||||||
|
|
||||||
- A backup of your previous config is written to
|
|
||||||
pluginConfigs/HellionChat.json.pre-v16-backup before the schema change,
|
|
||||||
in case you want to roll back manually.
|
|
||||||
- All other settings are preserved unchanged.
|
|
||||||
- One-time toast on first start if you previously had Style override
|
|
||||||
enabled — it explains the change. Users who never touched that setting
|
|
||||||
see no toast.
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
**Hellion Chat 1.2.0 — Layout Refresh**
|
|
||||||
|
|
||||||
Second UI cycle: tab layouts modernised in both modes, a new
|
|
||||||
bottom status bar, card-rows as default message render, and
|
|
||||||
Auto-Tell tabs that you can finally tell apart at a glance.
|
|
||||||
|
|
||||||
Sidebar (icon-only, fixed 44 px):
|
|
||||||
|
|
||||||
- Tab name on hover-tooltip, vertical accent pill on the
|
|
||||||
active tab, child background no longer paints the top
|
|
||||||
padding area.
|
|
||||||
- Per-tab custom icons via Settings → Tabs.
|
|
||||||
- Auto-Tell tabs: each partner gets a hashed icon (envelope/
|
|
||||||
star/heart/bell/bookmark/flag/fire) plus hashed color
|
|
||||||
(12-color palette) — 84 distinct combinations.
|
|
||||||
- Pulsing red dot in the top-right of any tab with unread
|
|
||||||
messages, subtle 2-second sine pulse, respects
|
|
||||||
Configuration.ReduceMotion.
|
|
||||||
|
|
||||||
Top tabs:
|
|
||||||
|
|
||||||
- Accent underline pill on the active tab instead of the old
|
|
||||||
background fill. Icon prefixes were attempted but reverted
|
|
||||||
— Dalamud's default font atlas has no FontAwesome glyphs.
|
|
||||||
|
|
||||||
Bottom status bar (22 px, 1×/sec cached):
|
|
||||||
|
|
||||||
- Active channel with color dot, Privacy-First badge, tab +
|
|
||||||
message counters, auto-tell counter (hidden at zero),
|
|
||||||
plugin version (right-aligned, muted).
|
|
||||||
|
|
||||||
Message rendering:
|
|
||||||
|
|
||||||
- Card rows by default — sender header in channel color, body
|
|
||||||
on its own line, subtle border between cards.
|
|
||||||
- Compact-Density toggle in Appearance returns the classic
|
|
||||||
single-line `[HH:mm] Sender: Text` layout.
|
|
||||||
|
|
||||||
Bug fixes from in-game testing:
|
|
||||||
|
|
||||||
- Settings save no longer wipes chat history. Refilter cycle
|
|
||||||
only runs when filter-relevant settings actually changed
|
|
||||||
(privacy, channel selection); cosmetic changes leave the
|
|
||||||
chat intact. Persistent and Auto-Tell tabs both survive.
|
|
||||||
- Hellion Schrift (Exo 2) no longer blocks font-size
|
|
||||||
adjustment — 4K users can scale up properly.
|
|
||||||
- Sidebar buttons align with the first message row, status
|
|
||||||
bar version slot is no longer clipped.
|
|
||||||
|
|
||||||
Migration v14 → v15: legacy theme fields removed
|
|
||||||
(HellionThemeEnabled, HellionThemeWindowOpacity). All other
|
|
||||||
settings preserved.
|
|
||||||
|
|
||||||
Polish (lerps, theme crossfade, header quick-picker) follows
|
|
||||||
in v1.3.0.
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
**Hellion Chat 1.1.0 — Theme Foundation**
|
|
||||||
|
|
||||||
First major UI cycle after the standalone v1.0.0 cut. Theme engine,
|
|
||||||
five built-in themes, customisable JSON themes, modernised settings
|
|
||||||
layout.
|
|
||||||
|
|
||||||
New themes (Settings → Themes):
|
|
||||||
|
|
||||||
- **Hellion Arctic** — the brand default, Arctic Cyan + Ember Glow
|
|
||||||
on industrial slate.
|
|
||||||
- **Chat 2 Klassik** — Steel Blue on neutral grey, eckige Kanten.
|
|
||||||
The upstream Chat 2 look on the new engine.
|
|
||||||
- **Event Horizon** — Cosmic Purple on near-black. Deep-space mood.
|
|
||||||
- **Moonlit Bloom** — Bloom Magenta + Soft Sage on deep-violet
|
|
||||||
night.
|
|
||||||
- **Mint Grove** — Mint Green + Honey Amber on deep forest. First
|
|
||||||
member of the Grove family.
|
|
||||||
|
|
||||||
Theme engine highlights:
|
|
||||||
|
|
||||||
- Slug-based selection in Settings → Themes with mini-mockup
|
|
||||||
previews per theme.
|
|
||||||
- Click a theme card and the whole plugin (chat, settings,
|
|
||||||
pop-outs, viewer) repaints instantly.
|
|
||||||
- Custom themes via JSON in pluginConfigs/HellionChat/themes/.
|
|
||||||
Example template seeded on first launch.
|
|
||||||
- Optional per-theme chat-channel colours. When a theme proposes
|
|
||||||
its own chat colours and yours differ, a dezent banner offers
|
|
||||||
Apply / Keep — never auto-overwriting.
|
|
||||||
- Migration v13 → v14: existing users land on Hellion Arctic. Pick
|
|
||||||
Chat 2 Klassik to keep the upstream look.
|
|
||||||
|
|
||||||
Settings layout:
|
|
||||||
|
|
||||||
- New card-grid overview on Settings open. Click a card to drill
|
|
||||||
into the section.
|
|
||||||
- Breadcrumb back to overview, ESC also returns.
|
|
||||||
- Detail view drops the redundant tab list — section content uses
|
|
||||||
the full width.
|
|
||||||
|
|
||||||
Branding:
|
|
||||||
|
|
||||||
- Plugin icon swapped from the ChatTwo derivative to the Hellion
|
|
||||||
Forge hammer.
|
|
||||||
- New docs/THEME-AUTHORING.md walks you through writing your own
|
|
||||||
themes with the Forge logo on top.
|
|
||||||
|
|
||||||
Technical:
|
|
||||||
|
|
||||||
- HellionStyle.PushGlobal is now theme-driven. Configuration.
|
|
||||||
HellionThemeEnabled is deprecated and will be removed in v1.2.0.
|
|
||||||
- New ThemeRegistry singleton with LastWriteTime-cached custom-
|
|
||||||
theme loader.
|
|
||||||
- 51 local unit tests cover the data model, registry, JSON round-
|
|
||||||
trip and built-in sanity checks.
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
**Hellion Chat 1.0.3 — Polish patch**
|
|
||||||
|
|
||||||
- New: optionally hide chat (and every other plugin window) while the
|
|
||||||
New Game+ menu is open. Toggle in Settings → Window → Frame, default
|
|
||||||
off. Closing the menu restores all windows.
|
|
||||||
- New: optionally tint the channel selector button next to the input
|
|
||||||
field with the currently active channel's colour. Toggle in
|
|
||||||
Settings → Appearance → Colours, default on. Matches the existing
|
|
||||||
input-text tint and respects ExtraChat overrides.
|
|
||||||
- Fix: status, item and other inline hover icons keep their original
|
|
||||||
aspect ratio. Debuff icons with non-square dimensions are no longer
|
|
||||||
visually squished into a 32×32 box.
|
|
||||||
- Diagnostic: hide-state transitions (battle, cutscene, user-hide,
|
|
||||||
cutscene override) are now logged on Verbose level for easier bug
|
|
||||||
reports — off by default, enable with `/xllog set HellionChat verbose`.
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
**Hellion Chat 1.0.1 — Window Position Recovery**
|
|
||||||
|
|
||||||
- Automatic bounds check on the first draw after plugin load.
|
|
||||||
When the persisted window position has no overlap with the
|
|
||||||
primary viewport, the window snaps to a safe top-left default.
|
|
||||||
Helpful after a monitor disconnect, resolution change or
|
|
||||||
multi-monitor layout switch between sessions.
|
|
||||||
- New "Reset Window Position" button in Settings → Window → Frame
|
|
||||||
as a manual escape hatch for edge cases the automatic check
|
|
||||||
doesn't catch.
|
|
||||||
|
|
||||||
Tested on Linux/Wayland with a hard-cut three-monitor reduction;
|
|
||||||
window recovers cleanly without manual JSON editing.
|
|
||||||
|
|
||||||
Housekeeping carried over since v1.0.0:
|
|
||||||
|
|
||||||
- Documentation restructured into docs/ folder. New CHANGELOG,
|
|
||||||
CONTRIBUTORS, LEARNING-JOURNEY and ROADMAP added
|
|
||||||
- Stale ChatTwo/* paths in repo configs updated to HellionChat/*
|
|
||||||
- Pidgin parser library bumped from 3.3.0 to 3.5.1 (CIString
|
|
||||||
Unicode fix relevant for non-ASCII channel/tab names)
|
|
||||||
- GitHub Actions: actions/setup-dotnet bumped 4 → 5,
|
|
||||||
github/codeql-action bumped 3 → 4
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
**Hellion Chat 1.0.0 — Standalone Major Release**
|
|
||||||
|
|
||||||
First fully standalone release. Internal cleanup plus a sweep of
|
|
||||||
pre-existing correctness, security, threading and resource-leak
|
|
||||||
fixes carried over from the upstream codebase. No user action
|
|
||||||
required — auto-update applies cleanly, configuration and database
|
|
||||||
paths unchanged.
|
|
||||||
|
|
||||||
Standalone identity:
|
|
||||||
|
|
||||||
- Code namespace consolidated from ChatTwo.* to HellionChat.* across
|
|
||||||
all source files
|
|
||||||
- IPC channels migrated from ChatTwo.* to HellionChat.* (6 channels:
|
|
||||||
Register, Available, Unregister, Invoke, GetChatInputState,
|
|
||||||
ChatInputStateChanged) — third-party plugins that bound to the old
|
|
||||||
channels need to be updated; none known at release time
|
|
||||||
- ImGui popup ID renamed to hellionchat-context-popup
|
|
||||||
- Repository folder restructured (ChatTwo/ → HellionChat/), all CI
|
|
||||||
and build paths updated accordingly
|
|
||||||
- Public-facing descriptions reworded from upstream-fork framing to
|
|
||||||
standalone framing (Chat 2 attribution preserved per EUPL-1.2)
|
|
||||||
- Colour preset 'ChatTwo Default' is now 'Klassik (Chat 2 Default)'
|
|
||||||
|
|
||||||
Safety:
|
|
||||||
|
|
||||||
- Plugin now refuses to load when upstream Chat 2 is also active —
|
|
||||||
bilingual conflict message in EN/DE, throw before any subsystem
|
|
||||||
initialization, prevents the runtime crash that previously occurred
|
|
||||||
when both plugins replaced the same chat window in parallel
|
|
||||||
- SQLite native binary bumped to 3.50.3 (CVE-2025-6965 memory
|
|
||||||
corruption from aggregate-term overflow, CVE-2025-7709)
|
|
||||||
- NuGet restore now honors packages.lock.json so transitive
|
|
||||||
dependencies don't drift between machines or CI runs
|
|
||||||
|
|
||||||
Default tab layout sharpened (one-time tab reset on first start):
|
|
||||||
|
|
||||||
The first-run tab layout is reorganized into five thematic tabs
|
|
||||||
based on external tester feedback. General contains only Say,
|
|
||||||
Yell and Shout (immediate-surroundings public chat). System
|
|
||||||
absorbs the gameplay-event streams (NpcDialogue, Loot, Crafting,
|
|
||||||
Gathering, PF recruitment pings) and announcement noise
|
|
||||||
(BattleSystem, FreeCompanyAnnouncement, PvpTeamAnnouncement)
|
|
||||||
that previously lived in General. FreeCompany, Group and
|
|
||||||
Linkshell each own their channel set. The static Tell tab is
|
|
||||||
gone — Auto-Tell-Tabs spawns per-conversation tabs on demand.
|
|
||||||
The Beginner / Novice-Network preset is no longer added by
|
|
||||||
default but is still available via Settings, Tabs.
|
|
||||||
|
|
||||||
This is a one-time tab-layout reset for users on config version
|
|
||||||
12 or older. Privacy, Retention, Theme and every other setting
|
|
||||||
is preserved. Your previous tab configuration is written to
|
|
||||||
pluginConfigs/HellionChat.json.pre-v13-backup so you can restore
|
|
||||||
it manually if you prefer the old layout.
|
|
||||||
|
|
||||||
Crash-class fixes (formerly latent in upstream):
|
|
||||||
|
|
||||||
- MathUtil.HasOverlap now uses a correct AABB test; identical or
|
|
||||||
edge-touching rectangles are no longer reported as non-overlapping
|
|
||||||
- ChatCode.Equals compares fields directly instead of GetHashCode;
|
|
||||||
removes the hash-collision anti-pattern
|
|
||||||
- IpcManager.Dispose uses UnregisterAction to match the matching
|
|
||||||
RegisterAction call; previous mismatch leaked the action
|
|
||||||
subscription on every plugin reload
|
|
||||||
- ExtraChat.Dispose now unsubscribes all three IPC subscriptions
|
|
||||||
(was only the first); leaks closed
|
|
||||||
- TellTarget.FromTarget guards against a zero IPlayerCharacter.Address
|
|
||||||
before dereferencing the unsafe Character* cast
|
|
||||||
- GameFunctions ResolveTextCommandPlaceholderDetour null-checks the
|
|
||||||
Hook reference instead of using the null-forgiving operator
|
|
||||||
- Popout.cs and SettingsTabs/Tabs.cs bounds-check list indexing so
|
|
||||||
a tab drop or empty-worlds list no longer crashes the UI
|
|
||||||
- Debugger.cs now declares IDisposable so the existing Dispose runs
|
|
||||||
|
|
||||||
Correctness fixes:
|
|
||||||
|
|
||||||
- GlobalParametersCache.GetValue captures Cache into a local before
|
|
||||||
the bounds check, so a concurrent Refresh can't slip a different
|
|
||||||
array between check and read
|
|
||||||
- IconUtil binary search bounds initialized to entries.Length-1 and
|
|
||||||
reset on redirect-restart; entries.Length==0 short-circuits
|
|
||||||
- Sheets.WorldsOnDatacenter now compares DataCenter.RowId (was
|
|
||||||
Region.RowId) so it actually returns same-DC worlds
|
|
||||||
- Message.cs back-reference loop iterates the processed Sender/Content
|
|
||||||
properties so chunks added by CheckMessageContent get Message set
|
|
||||||
- Language.zh-Hans Webinterface_Start_Success corrected to
|
|
||||||
"网页界面已启动" (was "网页界面已停止")
|
|
||||||
|
|
||||||
Threading and async:
|
|
||||||
|
|
||||||
- AutoTranslate Entries/ValidEntries are now serialized behind a
|
|
||||||
single lock; the preload worker thread and main thread no longer
|
|
||||||
race on the underlying dictionary/hash set
|
|
||||||
- Privacy retention and cleanup workers bound their framework-refresh
|
|
||||||
waits to 5 seconds with a logged timeout; a hung framework tick can
|
|
||||||
no longer deadlock the background worker
|
|
||||||
|
|
||||||
Resource handling:
|
|
||||||
|
|
||||||
- EmoteCache reuses the static HttpClient instead of allocating a new
|
|
||||||
one per call (closed socket leak)
|
|
||||||
- FontManager wraps HttpClient/HttpResponseMessage in using-blocks
|
|
||||||
and adds EnsureSuccessStatusCode; failed downloads no longer
|
|
||||||
silently produce a zero-byte font file
|
|
||||||
- SearchSelector mixes the row index into the ImGui ID stack so
|
|
||||||
selectables don't collapse to a single ambiguous ID
|
|
||||||
- SettingsTabs/Chat blocked-emote add-button now opens its selector
|
|
||||||
popup on left-click
|
|
||||||
|
|
||||||
Performance:
|
|
||||||
|
|
||||||
- DbViewer text export caches filteredHistory.Count once instead of
|
|
||||||
re-enumerating the IEnumerable on every batch (O(N) instead of
|
|
||||||
O(N²) on large histories)
|
|
||||||
|
|
||||||
License attribution (NOTICE.md, COPYRIGHT, THIRD_PARTY_NOTICES.md
|
|
||||||
and the Credits section in README) is unchanged.
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
**Hellion Chat 0.6.1 — Pop-Out Discoverability & /tell Auto-Pop-Out**
|
|
||||||
|
|
||||||
- Pop-out button now visible in the chat header (no more hunting
|
|
||||||
through the right-click menu)
|
|
||||||
- One-time hint banner explains pop-out tabs and the right-click
|
|
||||||
shortcut
|
|
||||||
- New setting: open new /tell tabs directly as pop-out windows
|
|
||||||
(Settings → Chat → Auto-Tell-Tabs)
|
|
||||||
- Pop-out input is now enabled by default — closing a pop-out still
|
|
||||||
returns the tab to the sidebar
|
|
||||||
- Bugfix: dropping or logging out with an LRU/popped auto-tell tab
|
|
||||||
now also closes its pop-out window (no more ghost windows)
|
|
||||||
- Bugfix: dead zone below the chat input bar when the v0.6.0 pop-out
|
|
||||||
hint banner was visible (also fixed retroactively for the v0.6.0
|
|
||||||
banner inside pop-outs)
|
|
||||||
|
|
||||||
Modding & support: join Hellion Forge — https://discord.gg/X9V7Kcv5gR
|
|
||||||
|
|
||||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Earlier history: https://github.com/JonKazama-Hellion/HellionChat/releases
|
Earlier history: https://github.com/JonKazama-Hellion/HellionChat/releases
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
**Hellion Chat 1.3.0 - Plugin Integrations: Honorific**
|
||||||
|
|
||||||
|
EN - First plugin-integration cycle:
|
||||||
|
- Honorific titles now show in the chat header above the message log
|
||||||
|
- Live updates, auto-hide when Honorific is not installed
|
||||||
|
- New "Integrations" settings tab with status indicator and toggle
|
||||||
|
- Maintainer attribution buttons for Honorific repo and Caraxi profile
|
||||||
|
- Coming soon: context menu actions, smart notifications, RP status block, ExtraChat channels, quick DMs
|
||||||
|
|
||||||
|
DE - Erste Plugin-Integration:
|
||||||
|
- Honorific-Titel jetzt im Chat-Header über dem Message-Log
|
||||||
|
- Live-Update, Auto-Hide wenn nicht installiert
|
||||||
|
- Neuer "Integrations"-Settings-Tab mit Status-Indikator und Toggle
|
||||||
|
- Maintainer-Attribution-Buttons für Honorific-Repo und Caraxi-Profil
|
||||||
|
- Bald: Kontextmenü, Notifications, RP-Block, ExtraChat, schnelle DMs
|
||||||
|
|
||||||
|
Got integration ideas? Hop on the Hellion Forge.
|
||||||
|
Idee für eine Integration? Schreib mir auf der Forge.
|
||||||
|
|
||||||
|
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
## 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).
|
||||||
Reference in New Issue
Block a user