Translate all remaining German sections in docs/CHANGELOG.md and docs/ROADMAP.md to English for consistency across the repository. Previously English sections left unchanged.
This commit is contained in:
+99
-87
@@ -1,13 +1,12 @@
|
||||
# Changelog — Hellion Chat
|
||||
|
||||
Alle nutzersichtbaren Änderungen an Hellion Chat. Das Format orientiert sich an
|
||||
[Keep a Changelog](https://keepachangelog.com/de/1.0.0/), die Version-Nummern folgen
|
||||
[Semantischer Versionierung](https://semver.org/lang/de/).
|
||||
All user-facing changes to Hellion Chat. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
version numbers follow [Semantic Versioning](https://semver.org/).
|
||||
|
||||
Detaillierte Release-Notes pro Version stehen direkt am
|
||||
[Gitea-Release](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases) und im Plugin-Changelog-Block
|
||||
(`HellionChat/HellionChat.yaml` → `changelog:`). Diese Datei fasst die Releases als Überblick zusammen und verlinkt für
|
||||
Details auf die Release-Pages.
|
||||
Detailed release notes per version are available directly on the
|
||||
[Gitea Release page](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases) and in the plugin
|
||||
changelog block (`HellionChat/HellionChat.yaml` → `changelog:`). This file summarises releases as an overview and links
|
||||
to the release pages for details.
|
||||
|
||||
---
|
||||
|
||||
@@ -40,8 +39,8 @@ Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
|
||||
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
|
||||
- `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
|
||||
@@ -105,7 +104,7 @@ Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
|
||||
---
|
||||
|
||||
## Hellion Chat 1.3.0 - Plugin Integrations: Honorific
|
||||
## 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
|
||||
@@ -118,7 +117,7 @@ the original FFXIV title.
|
||||
- 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>
|
||||
Modding & support: join Hellion Forge — <https://discord.gg/X9V7Kcv5gR>
|
||||
|
||||
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
|
||||
@@ -177,7 +176,7 @@ Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
|
||||
## v1.2.0 — Layout Refresh (2026-05-05)
|
||||
|
||||
### 1.2.0 Added
|
||||
### Added
|
||||
|
||||
- Sidebar tab modernization: icon-only at fixed 44 px, tooltip on hover, vertical accent pill for active tab
|
||||
- Top tabs: accent underline pill replaces background fill on active tab
|
||||
@@ -190,12 +189,12 @@ Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
- Unread indicator: pulsing red dot in the top-right corner of any sidebar tab icon with unread messages, 2-second
|
||||
sine-wave pulse, respects `Configuration.ReduceMotion`
|
||||
|
||||
### 1.2.0 Changed
|
||||
### Changed
|
||||
|
||||
- Migration v14 → v15: deprecated Configuration fields `HellionThemeEnabled` and `HellionThemeWindowOpacity` removed
|
||||
- Appearance settings cleaned: legacy theme-engine bindings replaced by Themes tab (introduced in v1.1.0)
|
||||
|
||||
### 1.2.0 Fixed
|
||||
### Fixed
|
||||
|
||||
- Settings save no longer wipes chat history by default — the heavy `ClearAllTabs + FilterAllTabsAsync` cycle now only
|
||||
runs when a filter-relevant setting actually changed (Privacy filter, persisted channels, per-tab channel selection).
|
||||
@@ -206,75 +205,78 @@ Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
|
||||
- Sidebar child window no longer paints the top padding area with its frame background
|
||||
- Status bar version slot (`vX.Y.Z · Hellion`) no longer clips its rightmost character
|
||||
|
||||
### 1.2.0 Notes
|
||||
### Notes
|
||||
|
||||
- Polish phase (animations, theme crossfade, header quick-picker) follows in v1.3.0
|
||||
- Top-Tab icon prefixes were considered but dropped: Dalamud's default font atlas does not include FontAwesome
|
||||
codepoints, so mixed-font in a single TabItem label renders as tofu. Underline pill alone is the v1.2.0 visual
|
||||
treatment for top tabs. Resolution would require Font-Atlas merge at FontManager level — out of scope.
|
||||
|
||||
---
|
||||
|
||||
## [1.1.0] — 2026-05-05 — Theme Foundation
|
||||
|
||||
Erster großer UI-Cycle nach v1.0.0. Theme-Engine, fünf Built-In-Themes, Custom-Themes via JSON, Settings-Card-Grid.
|
||||
First major UI cycle after v1.0.0. Theme engine, five built-in themes, custom themes via JSON, settings card grid.
|
||||
|
||||
### Hinzugefügt
|
||||
### Added
|
||||
|
||||
- **Theme-Engine** mit fünf Built-In-Themes: Hellion Arctic (Default), Chat 2 Klassik, Event Horizon, Moonlit Bloom,
|
||||
- **Theme engine** with five built-in themes: Hellion Arctic (default), Chat 2 Classic, Event Horizon, Moonlit Bloom,
|
||||
Mint Grove.
|
||||
- **Settings → Themes** mit Mini-Mockup-Preview pro Theme. Klick auf eine Card switcht sofort das ganze Plugin (Chat,
|
||||
Settings, Pop-Out).
|
||||
- **Custom-Themes via JSON** in `pluginConfigs/HellionChat/themes/`. Beim ersten Start wird `example-theme.json` als
|
||||
Vorlage abgelegt.
|
||||
- **Optional Theme-Chat-Channel-Colors**: Themes können eigene Channel-Farben mitliefern. Beim Switch erscheint ein
|
||||
Banner mit _Übernehmen / Behalten_ — nie automatisch.
|
||||
- **Settings-Card-Grid**: neue Übersicht beim Öffnen, Card-Klick führt in die Detail-Ansicht der Section. Breadcrumb +
|
||||
ESC führen zurück.
|
||||
- **`docs/THEME-AUTHORING.md`** als Anleitung zum Schreiben eigener Themes, mit Hellion-Forge-Branding.
|
||||
- **Settings → Themes** with mini mockup preview per theme. Clicking a card instantly switches the entire plugin (chat,
|
||||
settings, pop-outs).
|
||||
- **Custom themes via JSON** in `pluginConfigs/HellionChat/themes/`. On first start, `example-theme.json` is placed
|
||||
there as a template.
|
||||
- **Optional theme chat channel colours**: themes can ship their own channel colours. On switch, a banner appears with
|
||||
_Apply / Keep current_ — never applied automatically.
|
||||
- **Settings card grid**: new overview on open, clicking a card navigates into the section's detail view. Breadcrumb +
|
||||
ESC navigate back.
|
||||
- **`docs/THEME-AUTHORING.md`** as a guide for writing custom themes, with Hellion Forge branding.
|
||||
|
||||
### Geändert
|
||||
### Changed
|
||||
|
||||
- **Plugin-Icon** auf Hellion Forge Hammer (vorher ChatTwo-Derivat).
|
||||
- **Settings-Detail-View** verwendet die volle Breite — die zweite Tab-Liste links ist weg, weil die Card-Übersicht den
|
||||
Wechsel übernimmt.
|
||||
- **`HellionStyle.PushGlobal`** ist jetzt theme-driven (`PushGlobal(theme, opacity)`) statt const-palette-driven.
|
||||
- **Configuration v13 → v14**: alle User landen auf `hellion-arctic`. Wer den Upstream-Look will, wählt `chat2-classic`
|
||||
in Settings → Themes.
|
||||
- **Plugin icon** updated to Hellion Forge hammer (previously a ChatTwo derivative).
|
||||
- **Settings detail view** uses the full width — the second tab list on the left is gone because the card overview
|
||||
handles navigation.
|
||||
- **`HellionStyle.PushGlobal`** is now theme-driven (`PushGlobal(theme, opacity)`) instead of const-palette-driven.
|
||||
- **Configuration v13 → v14**: all users land on `hellion-arctic`. Those who prefer the upstream look can select
|
||||
`chat2-classic` in Settings → Themes.
|
||||
|
||||
### Veraltet
|
||||
### Deprecated
|
||||
|
||||
- `Configuration.HellionThemeEnabled` und `HellionThemeWindowOpacity` bleiben für ein Release lesbar als Safety-Net,
|
||||
werden aber nicht mehr ausgewertet. Entfernung geplant in v1.2.0.
|
||||
- `Configuration.HellionThemeEnabled` and `HellionThemeWindowOpacity` remain readable for one release as a safety net
|
||||
but are no longer evaluated. Removal planned for v1.2.0.
|
||||
|
||||
### Sicherheit
|
||||
### Security
|
||||
|
||||
- Custom-Theme-JSON-Loader prüft `schemaVersion`, Pflichtfelder und Hex-Format. Ungültige Themes werden mit Warning
|
||||
übersprungen, das Plugin lädt mit Built-Ins weiter.
|
||||
- Custom theme JSON loader validates `schemaVersion`, required fields and hex format. Invalid themes are skipped with a
|
||||
warning; the plugin continues loading with built-ins.
|
||||
|
||||
### Intern
|
||||
### Internal
|
||||
|
||||
- 51 lokale Unit-Tests (Theme-Records, Registry, JSON-Round-Trip, Sanity pro Built-In-Theme). Tests sind gitignored.
|
||||
- 51 local unit tests (theme records, registry, JSON round-trip, sanity per built-in theme). Tests are gitignored.
|
||||
|
||||
---
|
||||
|
||||
## [1.0.3] — 2026-05-04 — Polish patch
|
||||
## [1.0.3] — 2026-05-04 — Polish Patch
|
||||
|
||||
Vier kleine Polish-Items aus dem Backlog gebündelt:
|
||||
Four small polish items from the backlog bundled together:
|
||||
|
||||
- **Hide bei New Game+ Menü**: Optionaler globaler Toggle der Hellion Chat (und alle weiteren Plugin-Fenster wie
|
||||
Settings, DB-Viewer, Pop-Outs) ausblendet, solange das NG+-Menü offen ist. Settings → Fenster → Rahmen, Default aus.
|
||||
Skipt analog zum bestehenden LoadingScreens-Pattern den gesamten `WindowSystem.Draw()`-Pfad.
|
||||
- **Channel-Selector-Färbung**: Optionales Tinting des Channel-Auswahl-Knopfs (Comment-Icon) neben dem Eingabefeld in
|
||||
der aktuellen Channel-Farbe. Settings → Aussehen → Chat-Farben, Default an. Konsistent zur bestehenden
|
||||
Eingabetext-Färbung, ExtraChat-Override wird übernommen.
|
||||
- **(De)Buff-Icon Aspect-Ratio-Fix**: `PayloadHandler.InlineIcon` quetschte alle Hover-Icons auf 32×32. Status-Icons mit
|
||||
nicht-quadratischen Dimensionen (Debuffs mit Pfeil-Indikator) sind jetzt aspekt-erhaltend geshrinkt. Eigenständige
|
||||
Float-Math-Implementierung mit Zero-Size-Guard statt Cherry-Pick aus dem offenen ChatTwo PR #157 (der hatte eine
|
||||
int-Division-Falle).
|
||||
- **HideState-Logging-Sweep**: Alle HideState-Transitions (Battle/Cutscene/User/Override plus die Pop-Out-Spiegelung)
|
||||
loggen sich auf Verbose-Level. Aus by default, Aktivierung via `/xllog set HellionChat verbose` für
|
||||
Bug-Report-Diagnose.
|
||||
- **Hide on New Game+ menu**: optional global toggle that hides Hellion Chat (and all other plugin windows such as
|
||||
Settings, DB Viewer, pop-outs) while the NG+ menu is open. Settings → Window → Frame, default off. Skips the entire
|
||||
`WindowSystem.Draw()` path analogous to the existing LoadingScreens pattern.
|
||||
- **Channel selector colouring**: optional tinting of the channel-select button (comment icon) next to the input field
|
||||
in the current channel colour. Settings → Appearance → Chat Colours, default on. Consistent with the existing input
|
||||
text colouring; ExtraChat override is carried over.
|
||||
- **(De)buff icon aspect-ratio fix**: `PayloadHandler.InlineIcon` was squashing all hover icons to 32×32. Status icons
|
||||
with non-square dimensions (debuffs with an arrow indicator) are now shrunk aspect-preserving. Standalone float-math
|
||||
implementation with zero-size guard instead of a cherry-pick from the open ChatTwo PR #157 (which had an int-division
|
||||
trap).
|
||||
- **HideState logging sweep**: all HideState transitions (Battle/Cutscene/User/Override plus pop-out mirroring) log at
|
||||
verbose level. Off by default; enable via `/xllog set HellionChat verbose` for bug-report diagnostics.
|
||||
|
||||
[Release-Notes 1.0.3](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v1.0.3)
|
||||
[Release Notes 1.0.3](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v1.0.3)
|
||||
|
||||
---
|
||||
|
||||
## [1.0.1] — 2026-05-04 — Window Position Recovery
|
||||
|
||||
@@ -287,61 +289,71 @@ Bundled housekeeping since v1.0.0: documentation restructured into `docs/`, stal
|
||||
cleaned up, Pidgin parser library bumped from 3.3.0 to 3.5.1, GitHub Actions bumps for `actions/setup-dotnet` (4 → 5)
|
||||
and `github/codeql-action` (3 → 4).
|
||||
|
||||
[Release-Notes 1.0.1](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v1.0.1)
|
||||
[Release Notes 1.0.1](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v1.0.1)
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] — 2026-05-03 — Standalone Major Release
|
||||
|
||||
Erste vollständig eigenständige Version. Code-Namespace, IPC-Kanäle und Source-Tree-Struktur wurden auf `HellionChat.*`
|
||||
konsolidiert. Plugin verweigert den Start bei aktivem Upstream Chat 2 (bilinguale Konflikt-Meldung). SQLite-Native auf
|
||||
3.50.3 gepinnt (CVE-2025-6965, CVE-2025-7709). Tab-Layout-Default für neue Installationen und für User auf
|
||||
Config-Version 12 oder älter neu strukturiert (5 thematische Tabs statt 6+ kitchen-sink). Sweep aus Critical- und
|
||||
Major-Findings aus dem Codebase-Audit eingearbeitet.
|
||||
First fully independent release. Code namespace, IPC channels and source tree structure consolidated under
|
||||
`HellionChat.*`. Plugin refuses to start alongside an active upstream Chat 2 (bilingual conflict message). SQLite native
|
||||
pinned to 3.50.3 (CVE-2025-6965, CVE-2025-7709). Tab layout default for new installs and users on config version 12 or
|
||||
older restructured (5 thematic tabs instead of 6+ kitchen-sink). Sweep of critical and major findings from the codebase
|
||||
audit incorporated.
|
||||
|
||||
[Release-Notes 1.0.0](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v1.0.0)
|
||||
[Release Notes 1.0.0](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v1.0.0)
|
||||
|
||||
---
|
||||
|
||||
## [0.6.1] — 2026-05-03 — Pop-Out Discoverability & /tell Auto-Pop-Out
|
||||
|
||||
Pop-Out-Button im Chat-Header sichtbar, einmaliger Hint-Banner für die Pop-Out-Funktionalität. Neue Einstellung "Neue
|
||||
/tell-Tabs direkt als Pop-Out öffnen". Pop-Out-Input ist jetzt standardmäßig aktiv. Bugfixes: Ghost-Windows bei LRU-Drop
|
||||
/ Logout, Dead-Zone unter dem Input-Bar bei aktivem Hint-Banner.
|
||||
Pop-out button visible in the chat header, one-time hint banner for the pop-out feature. New setting "Open new /tell
|
||||
tabs directly as pop-out". Pop-out input is now active by default. Bug fixes: ghost windows on LRU-drop / logout, dead
|
||||
zone below the input bar when the hint banner is active.
|
||||
|
||||
[Release-Notes 0.6.1](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.6.1)
|
||||
[Release Notes 0.6.1](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.6.1)
|
||||
|
||||
---
|
||||
|
||||
## [0.6.0] — 2026-05-03 — UX Polish: Pop-Out Input + Colour Presets
|
||||
|
||||
Zwei opt-in UX-Features. Pop-Out-Fenster bekommen optional eine kompakte Eingabe-Bar mit channel-farbigem Icon-Button
|
||||
und unabhängigem Text-Buffer pro Pop-Out. Sieben Built-in-Color-Presets (Klassik, High-Contrast, Pastell,
|
||||
Dark-Mode-Tuned, Hellion, Night Blue, Indigo Violet) zum One-Click-Apply. Konfigurations-Migration v10 → v11.
|
||||
Two opt-in UX features. Pop-out windows optionally get a compact input bar with a channel-coloured icon button and an
|
||||
independent text buffer per pop-out. Seven built-in colour presets (Classic, High Contrast, Pastel, Dark Mode Tuned,
|
||||
Hellion, Night Blue, Indigo Violet) for one-click apply. Configuration migration v10 → v11.
|
||||
|
||||
[Release-Notes 0.6.0](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.6.0)
|
||||
[Release Notes 0.6.0](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.6.0)
|
||||
|
||||
---
|
||||
|
||||
## [0.5.4] — 2026-05-02 — WrapText Hardening
|
||||
|
||||
`ImGuiUtil.WrapText` von Pointer-Arithmetik auf Span- und Index-basierten Control-Flow umgestellt. Schließt das
|
||||
wiederkehrende CodeQL-Critical-Alert "unvalidated local pointer arithmetic" dauerhaft. Keine nutzersichtbare
|
||||
Verhaltensänderung — Word-Wrap-Output ist byte-identisch zu 0.5.3.
|
||||
`ImGuiUtil.WrapText` rewritten from pointer arithmetic to Span- and index-based control flow. Permanently closes the
|
||||
recurring CodeQL critical alert "unvalidated local pointer arithmetic". No user-visible behaviour change — word-wrap
|
||||
output is byte-identical to 0.5.3.
|
||||
|
||||
[Release-Notes 0.5.4](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.5.4)
|
||||
[Release Notes 0.5.4](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.5.4)
|
||||
|
||||
---
|
||||
|
||||
## [0.5.3] — 2026-05-02 — Pointer Arithmetic Hardening
|
||||
|
||||
Erster Anlauf zur Schließung des CodeQL-Critical-Alerts in `ImGuiUtil.WrapText`. Encoded-Byte-Buffer-Length wird vor der
|
||||
Pointer-Arithmetik via `GetByteCount` validiert.
|
||||
First attempt at closing the CodeQL critical alert in `ImGuiUtil.WrapText`. Encoded byte buffer length is validated via
|
||||
`GetByteCount` before pointer arithmetic.
|
||||
|
||||
[Release-Notes 0.5.3](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.5.3)
|
||||
[Release Notes 0.5.3](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases/tag/v0.5.3)
|
||||
|
||||
---
|
||||
|
||||
## Frühere Versionen
|
||||
## Earlier Versions
|
||||
|
||||
Releases vor 0.5.3 (Bootstrap-Phase 0.1.0 bis 0.5.2) sind direkt am GitHub-Release-Stream einsehbar:
|
||||
Releases before 0.5.3 (bootstrap phase 0.1.0 to 0.5.2) are available directly on the Gitea release stream:
|
||||
|
||||
[Alle Releases](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases)
|
||||
[All Releases](https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases)
|
||||
|
||||
---
|
||||
|
||||
## Pflege-Hinweis
|
||||
## Maintenance Note
|
||||
|
||||
Die Source-of-Truth für den nutzersichtbaren Changelog ist der `changelog:`-Block in `HellionChat/HellionChat.yaml`.
|
||||
`repo.json` und der GitHub-Release-Body werden daraus gespeist. Diese Datei (`docs/CHANGELOG.md`) ist eine kuratierte
|
||||
Zusammenfassung mit Verweis auf die Release-Pages und wird beim Versions-Bump manuell ergänzt.
|
||||
The source of truth for the user-facing changelog is the `changelog:` block in `HellionChat/HellionChat.yaml`.
|
||||
`repo.json` and the GitHub release body are fed from there. This file (`docs/CHANGELOG.md`) is a curated summary with
|
||||
links to the release pages and is updated manually on each version bump.
|
||||
|
||||
Reference in New Issue
Block a user