Renamed the internal "NR_WTC_COMPACT" format to "NR_TOURNAMENT", matching New Recruit's current name for this export style. Removed the standalone "NR_WTC" format entirely, since New Recruit no longer produces it.
Version 1.8.0: New Recruit Attached Units Support
New Recruit added support for attached units to its export formats. Both the Tournament export (a "Leading X" / "Attached to" backlink pair) and the GW-style export (an explicit "Attached Units" section, matching the official Warhammer App's convention) are now parsed, grouping each character with its led unit the same way GW App attachments already display.
Version 1.7.0: GW App Detachment Parsing Fix
Fixed a further GW App export format issue: when a list has no subfaction line, the detachment line (immediately following the faction name) was being absorbed into the faction name instead of parsed as the detachment, which also caused the bare Force Disposition line to be mislabeled as the detachment. Both are now parsed correctly regardless of subfaction or line order.
Version 1.6.6: GW App Force Disposition Fix
Fixed force disposition detection for the latest official Warhammer App export format, which dropped the "Force Dispositions:" label and now lists the disposition as a bare line (e.g. "Purge the Foe").
Version 1.6.5: Wargear Normalization and Subfaction Support
Wargear names that only differ by hyphenation (e.g. "Close Combat Weapon" vs "Close-Combat Weapon") are now treated as the same item for quantity merging, skippable-wargear rules, and abbreviations.
GW App lists with a subfaction header line (e.g. "Space Marines" / "Dark Angels") now combine into a single faction name and correctly resolve chapter-specific coloring and skippable-wargear overrides, falling back to the parent faction's rules when no override exists.
Version 1.6.4: Discord Bot Parser Fix
Fixed a bug in the Discord bot where the skippable wargear map was not passed to the list parser, preventing default/skippable wargear from being correctly identified and hidden on subunits.
Version 1.6.3: Release & Cache-Busting Fix
Fixed a browser caching issue by automatically updating build metadata and cache-busting keys at release time.
Added Khorne Berzerker spelling variants to World Eaters skippable wargear rules.
Version 1.6.2: Subunit Auto-Hiding Optimization
Automatically keep subunits hidden (even with the show subunits option checked) if all of their wargear is hidden or skippable based on the faction's skippable wargear definitions.
Version 1.6.1: Asset Cache-Busting and Timing Fix
Implemented dynamic cache-busting for CSS, JS modules, and JSON configurations using a runtime import map based on build metadata.
Resolved a timing race condition to ensure reliable UI initialization.
Version 1.6.0: Unit Abbreviation and Bracket Options
Added a new option to abbreviate unit and subunit names in compact text and image card layouts, with isolated abbreviation namespaces to prevent conflicts.
Added a new option to hide brackets and parentheses.
Fixed quote and apostrophe normalization for custom abbreviations.
Version 1.5.0: 11th Edition Format Update
Transitioned the primary entrypoints to use the new 11th Edition parsers (GW App v11 and War Organ v11) and cleaned up deprecated legacy scripts.
Version 1.4.1: Bot Logging Update
Added logging for joined guilds on bot startup.
Version 1.4.0: War Organ & Multilingual Support
Added full parsing support for 11th Edition War Organ lists (both Flat and Detailed/Indented formats).
Enhanced multilingual list support for English, French, Spanish, German, and Italian across all parsers.
Fixed pre-existing duplicate key issues in faction normalization translations.
Version 1.3.1: Mobile Edition
Introduced a phone-first Mobile UI (Preact) with full-width bottom tabs, green/black styling, and a combined Compact + Preview screen.
Auto-redirect phones/tablets to the Mobile UI; desktop override preserved via URL or preference.
Default color mode set to Faction Color; preview uses truecolor for exact picker matching (lighter grey), ANSI 90 elsewhere.
Plain Text outputs no longer wrapped in code fences.
Stability: fixed ansi_up constructor issue on Android (Brave) and ensured color behavior parity.
Version 1.2.0 - I'm winning the format war, dammit!
Introduced the Autoparser to automatically detect list formats.
Added support for ListForge (Detailed) in addition to GW App and New Recruit (WTC-Compact, GW, NR).
Various bugfixes and parser improvements.
Version 1.1.1: Thats not a wargear, that's my wife!
Minor parser and rendering fixes.
Version 1.0.0: TOTAL OVERHAUL!
Completely re-architected the application for improved performance, maintainability, and future expansion.
Introduced a new modular structure for better code organization.
Enhanced parsing capabilities for even more robust list processing.
Improved UI responsiveness and user experience.
Added "Multiline Header" option for flexible output formatting.
Added "Side Subunits" option for even more compact output.
Fixed various bugs and improved overall stability.
Version 0.1.2: Internal Updates
Rolled back some experimental changes to ensure stability.
Internal updates and stability improvements.
Version 0.1.1: The Ordo Spellcheck would like a word...
Separated "Points/Header" color option into two distinct settings: "Points" and "Header".
Added a new color option for "Wargear" to customize its appearance in the output.
Set the default color scheme to "Custom Colors" and adjusted the default color values for better readability.
Rearranged the color picker order for a more logical workflow.
Corrected a bunch of typos for all Imperium (non-Space Marine) factions.
Updated Grey Knights to match new codex.
Fixed a bug where wargear items were incorrectly displayed as "[object Object]" in the compact list view.
Version 0.1.0 - The 'No List Left Behind' Update
Overhauled GW App Parser: The parser is now significantly more robust and can handle a much wider variety of list formats and quirks.
Flexible Header Parsing: Correctly identifies the List Title, Faction, Detachment, and Points, even if they appear in a different order.
Smarter Wargear Detection: Improved logic for identifying sub-units (like squad leaders) and their wargear, leading to more accurate compacting.
Intelligent Name Matching: The abbreviation engine now smartly handles plural vs. singular unit names (e.g., "Piranha" vs. "Piranhas").
Expanded Format Support: Now correctly parses point values with separators (e.g., "2,000") and more types of bullet points (•, -, ◦).
Version 0.0.5: Modulation Mambo
Refactored JavaScript into modular components for better organization and maintainability.
Version 0.0.4: T'au Season!
Numerous parser fixes and improved wargear filtering for T'au Empire lists to prevent redundant items from appearing in the compact list.
Version 0.0.3: Fixes, Formatting, and more!
Implemented a new inline compact format for easier reading. Added more 'Copy for Discord' options for greater flexibility. Numerous parser fixes for both GW App and WTC-Compact formats to improve reliability.
Version 0.0.2: Support for GW App and WTC-Compact formats
The parser now supports both major list formats, with improved reliability for complex nested units and wargear. Abbreviation logic is now consistent across both formats.
Version 0.0.1: Initial Beta Release
The first version is live! Basic list parsing and abbreviation for most major factions is included. More features and polish to come.