promotional bannermobile promotional banner

AngryEra

Fork of AngryAssignments with a focus on Classic Era and Raid-Helper integration.
Back to Files

v3.3.0

File nameAngryEra-v3.3.0.zip
Uploader
mikinhomikinho
Uploaded
Jul 31, 2026
Downloads
4.0K
Size
612.5 KB
Flavors
Classic TBCClassic
File ID
8545210
Type
R
Release
Supported game versions
  • 2.5.6
  • 1.15.9

What's new

v3.3.0

  • Release: This production release introduces delegated Raid Control and consolidates every change since v3.2.3.
  • New Feature: The Blizzard raid leader can manually delegate one qualified raid assistant as Raid Controller for the current raid. The controller's own AngryEra library, categories, pages, and saved page order become canonical; the raid leader does not need a matching setup.
  • New Feature: A raid assistant can choose Menu > Request Raid Control or /ae control request; the raid leader's local permission policy determines whether that request qualifies. The leader reviews an accepted request and explicitly chooses Grant Control or Decline; while control is active, the leader can choose Menu > Reclaim Raid Control or /ae control reclaim. /ae control reports the current state.
  • New Feature: The Raid Controller becomes AngryEra's canonical publisher and controls Send, Clear, Previous/Next/First navigation, canonical active-page editing, encounter auto-advance, automatic layouts and markers, and manual layout application; protected Blizzard operations remain with the actual raid leader.
  • New Feature: Added inheritable typed $AUTOADVANCEFIRST metadata for source encounter pages with effective $AUTOADVANCE=$true. After a kill resolves its normal next sibling, AngryEra stages that page as the First Page return target and publishes the category's first page when needed; pressing First Page returns to the staged boss. It does not wrap at the end of a category, and page-level placement lets back-to-back bosses retain normal auto-advance behavior.
  • Fix: Previous, Next, and First navigation now use the same deterministic saved-order tie-break as encounter sequencing. First Page toggle memory survives failed local activation without leaking across authority changes.
  • Safety: Granting or reclaiming control never imports another player's library and never automatically selects or clears a page. The current display remains in place until the newly authorized controller or raid leader deliberately changes it.
  • Safety: A valid Raid Control grant never transfers or returns implicitly; only the Blizzard leader's explicit Reclaim action ends it normally. Safety invalidation resets the grant on a raid-leader change, relevant leader/controller AngryEra session change, leaving the raid or joining a different group, loss of the controller's raid-assistant rank, or the actual leader switching to Ignore Shared Changes, and a qualified assistant must request and receive a new grant afterward. A temporarily offline controller remains controller and pauses shared changes until returning or being explicitly reclaimed.
  • Reliability: Followers recover the active controller and current display when they join, reload, or receive a page at the same time as a grant. Grant and reclaim handoffs discard stale queued work while preserving the current page as the baseline for the next automatic layout transition.
  • Compatibility: Known participating AngryEra clients that accept shared changes but do not support delegated control block the grant instead of splitting the raid between authorities. Clients intentionally using Ignore Shared Changes do not participate in the grant check. Update every AngryEra user who should participate in a delegated raid to v3.3.0 or newer.
  • Clarification: The Blizzard raid leader remains responsible for protected leader-only operations. The controller selects the canonical page, exact desired $TANKS set, and requested $ASSISTS promotions, while the actual leader's client executes those Blizzard API changes.
  • Safety: While Raid Control is delegated, an invalid or recovering controller lease pauses protected $TANKS and $ASSISTS changes until control validates or the leader reclaims it. The actual leader remains the only client that executes Blizzard's protected operations.
  • Fix: A synchronized page owned by this installation can now be edited and saved normally while it is displayed for solo testing. AngryEra no longer misroutes that local Save through grouped assistant authorization.
  • Fix: Manual layout Apply now distinguishes the page open in the editor from the page actually displayed to the raid, names a conflicting displayed page, and directs the controller to Send the intended page first. Raid and delegated-control permission errors are reported before that page check.
  • Improvement: Raid layouts now skip named players who have not joined yet and apply every uniquely resolved assignment, making full templates usable while a raid is still filling. Ambiguous short names, duplicate assignments, and subgroup overfill remain whole-plan errors; a layout with no currently present assignments makes no moves.
  • Behavior Change: $ASSISTS is now additive. AngryEra promotes listed players who need raid assistant but never demotes unlisted or manually assigned assistants, never changes Everyone Is Assistant, and treats an empty list as a no-op. Promotions persist across page changes, and a delegated controller no longer needs to appear in the list. A current raid-leader entry remains harmless and ignored.
  • Improvement: Export → Output now preserves descriptive raid-target tags such as {SKULL}, {X}, and {SQUARE} for Discord and document posts. In-game chat output still converts them to native {rt1} through {rt8} icon tokens.
  • Fix: Granting Raid Control now schedules compatibility review and request expiry against the protocol's epoch clock instead of session uptime, preventing C_Timer.After duration is too large and bounding defensive retries to the request lifetime.

v3.2.3

  • Packaging: Renamed .pkgmeta to pkgmeta.yaml and changed Git externals from fixed commit revisions to CurseForge-compatible tag: latest dependencies, restoring automatic package generation.

v3.2.2

  • Release: This production release consolidates every change since v3.1.1, including the v3.2.0-beta and v3.2.1-beta previews.
  • Compatibility: Use AngryEra v3.2.2 or newer on every client that must interpret priority assignments, group layouts, variable families, imported raid-role variables, automatic raid-tank or raid-assistant assignments, or Key=Value boolean metadata. Pages using only features common to v3.1 remain compatible with v3.1.x clients.
  • New Feature: Added priority assignments. A variable or $ marker value written as Name > Name > Name resolves to the first listed player who is present and alive, so raid markers and displayed text follow whoever is available. Assignments re-resolve when the group roster or player state changes.
  • New Feature: Mouseover marker keybindings now mark a hostile unit under the cursor and fall back to your current target when there is no valid unit. A new Smart Markers setting can relax the restriction to mark any live unit, including friendly players.
  • New Feature: Added optional display auto-hide. The assignment fades out when the mouse is away, fades back in over its rendered area, and remains visible for three seconds after the page or displayed content changes.
  • Improvement: Fade in Combat replaces the old hide-on-combat behavior. When enabled, a visible assignment stays at 10% opacity during combat without changing its manual hidden state; leaving combat restores the exact prior opacity, auto-hide progress, and page-reveal state.
  • Improvement: /ae is now the canonical slash command throughout AngryEra. /aa remains a temporary compatibility alias and prints a local deprecation notice once per login.
  • New Feature: Added inheritable raid group layouts. Put a standard $LAYOUT on a category, override only the encounter pages that differ, render up to eight named raid subgroups with {layout}, and optionally apply the same plan to the live raid.
  • New Feature: Layout slots fill from the live roster: a name, a priority list A > B > C, a class fill *MAGE/*MAGE x2, or group:2. Auto-fill picks present-and-alive members and never assigns anyone twice.
  • New Feature: Added a Group Layout editor on the page right-click menu. Drag members from the roster into the eight raid subgroup boxes, drag between boxes to move or swap them, and right-click a member to take them out. An Edit as text toggle switches the same layout to one group per line.
  • New Feature: The Group Layout grid can also be edited by clicking. Click a box title to name that group, so a spore rotation reads as Spores instead of Group 3, a member to edit their slot, or an empty row to add one. Layouts can be built solo, before there is a roster to drag from.
  • New Feature: A layout slot can hold a {{Variable}}, so one name change updates the note and the layout together. Whatever the variable holds is classified afterwards, so it may be a name, a priority list, or a class fill, and an unset one leaves its slot out.
  • New Feature: The Group Layout editor now has a Variables column to the right of Unrostered. It lists unused effective inherited string variables and drags their exact {{KEY}} tokens into layout slots instead of copying the values they currently resolve to. A used token and any alias currently resolving to the same assigned player disappear until that slot is removed; manual and text-mode edits reject duplicate variable or target assignments too. Numeric variables remain available inside manually written expressions such as *MAGE x{{Count}}.
  • New Feature: Added composable variable families for reusable ordered role pools. HEALER*=PRIESTS*,PALADINS*,DRUID* reads numbered string sources in numeric order, compacts them into ordinary HEALER1...N variables for notes and layouts, follows inheritance, can compose other families, allows exact numbered exceptions, and rejects cycles or oversized results.
  • New Feature: Edit Variables can take a reviewable snapshot of Blizzard-assigned roles as managed RAID_TANK1..., RAID_HEALER1..., and RAID_DPS1... variables. It does not guess specialization, alter Blizzard roles, or update automatically; re-import after role changes. Saved names remain short unless cross-realm ambiguity requires Name-Realm, and the generated roles can feed custom families or layouts.
  • New Feature: Added inherited, leader-only $TANKS metadata to keep Blizzard's assigned Tank role equal to a comma-separated roster. A nearer page overrides its category, an absent key leaves roles unmanaged, and an explicit empty value clears assigned Tanks without changing Healer or Damage roles.
  • New Feature: Added inherited, leader-only $ASSISTS metadata for actual raid-assistant rank. When present, AngryEra disables Everyone Is Assistant and reconciles the exact comma-separated list by promoting missing assistants and demoting extras; an explicit empty value clears the list.
  • Improvement: Raid-tank and raid-assistant automation accepts unique short names or Name-Realm, allows the same non-leader player in both lists, stays silent when no change is needed, supersedes unissued work with the latest exact display, and rechecks any already-issued change before continuing.
  • Improvement: Missing-roster warnings from automatic layouts and $TANKS/$ASSISTS setup now print once for the current raid instead of repeating while pages are cycled or the roster is assembled. Explicit Apply attempts and operational failures still report every result, and joining a later raid starts a fresh warning cycle.
  • Improvement: Tank-role reconciliation now matches Classic's live enum values, recognizes its numeric no-role value, requires Blizzard's documented boolean acceptance, falls back to the string API when an enum wrapper errors, validates hard class-role limits before making any raid-assignment change, and exposes compact /ae debug role-call results.
  • Clarification: $TANKS assigns Blizzard's ordinary Tank role for role icons and sorting. The protected Main Tank flag that populates the dedicated Tank raid-frame row requires a secure player action and is not changed by automatic page updates.
  • Fix: Raid-role automation now fails closed on incomplete inherited variables or unavailable Blizzard state, waits for transient roster settlement, paces synchronous role events, and invalidates old-page work as soon as a newer display starts transferring.
  • Fix: Qualified-assistant edit proposals cannot change the effective privileged $TANKS or $ASSISTS metadata that the raid leader applies.
  • Improvement: An accepted assistant edit that makes no effective change no longer republishes the full page, avoiding unnecessary raid traffic while still returning the correlated result.
  • New Feature: Categories have a Group Layout too, edited the same way from their right-click menu. A category holds the raid's standard arrangement and every page under it inherits that, so only the fights that move people — spore rotations, resist groups — need a layout of their own. The category record stays local; its effective variables and layout travel with a displayed descendant page as rendering context.
  • New Feature: The raid leader or a qualified raid assistant can manually apply a validated layout to the raid, moving members into the subgroups it lays out. In combat, the exact displayed page is queued until combat ends. Raid assist alone does not grant the action by default; officer qualification also requires the current raid leader to be in that officer's guild, while local trusted-assistant and allow-all settings remain explicit overrides.
  • New Feature: Added inherited $AUTOAPPLYLAYOUT metadata for leader-only display transitions. After AngryEra records its initial display state, moving from no page or another page to a different destination page can apply that page's effective layout. Set $AUTOAPPLYLAYOUT=$true on a category, use $AUTOAPPLYLAYOUT=$false for descendant exceptions, and retain the same validation and combat queue; qualified raid assistants remain manual-only.
  • New Feature: The Group Layout editor now has an explicit Inherit layout checkbox. The nearest ancestor layout remains visible but read-only; saving while checked removes the local override and resumes that default, while unchecking creates an editable custom copy.
  • Improvement: Imported roles, custom families, inherited layouts, $AUTOAPPLYLAYOUT, $TANKS, and $ASSISTS can form one reusable raid template: refresh or reorder the source lists once, and descendant notes, layouts, raid roles, and permissions keep the same stable assignments unless a page declares an exception.
  • Behavior Change: Key=Value booleans now use exact $true and $false literals. Unprefixed true/false in any capitalization are ordinary strings so players named True or False work in assignments, families, layouts, and marker targets. JSON retains native booleans; legacy unprefixed automation flags are no longer enabled.
  • Improvement: Applying an already-satisfied raid layout now stays silent instead of repeatedly announcing zero moves; actual moves, combat queues, and errors still report normally.
  • New Feature: Encoded AA export and import now have default-on variables-and-metadata options. Complete exports preserve raw Key=Value or JSON variables, families, assigned-role snapshots, layouts, markers, and automation metadata at every included hierarchy level; content-only exports and imports omit them without erasing an overwritten root page or category's existing setup. Complete exports retain earlier AA Encoding compatibility, while older clients safely reject the new content-only format.
  • New Feature: Pages and categories can be pinned or unpinned from their right-click menus. A pinned category protects received pages throughout its subtree, and every pin remains local to that installation.
  • New Feature: Added a confirmed Menu > Wipe Unpinned action for clearing the local page library. It removes every unpinned page and category regardless of ownership, keeps pinned pages and complete pinned-category subtrees, and safely rehomes a kept pin when an unpinned ancestor is removed.
  • Improvement: The first upgrade automatically pins topmost locally owned categories when no live pins already exist. Existing prerelease pin choices are preserved, and /ae migratepins safely re-runs the additive step without removing any pins.
  • Improvement: The page tree now marks pins with a persistent gold favorite-star icon and orders each sibling level as pinned categories, pinned pages, a divider, then unpinned items in their existing manual order. Nested pages stay in their categories, and raid navigation order is unchanged.
  • New Feature: Added optional cleanup of pages received from others. A Page Library setting removes them automatically at login, and a Clean Received Pages button removes them on demand. Pinned pages, descendants of pinned categories, and the current display are always kept; pages you created or imported are never removed.
  • Fix: Layout application now fails before moving anyone when a name is missing or ambiguous, a player appears twice, or a variable, class, or roster expansion would overfill a subgroup.
  • Fix: A combat-queued layout is bound to the exact displayed page, revision, and inherited context. Changing any of them cancels the request; when combat ends, AngryEra recomputes the plan from the live roster, rechecks permission, and applies it once.
  • Fix: Raid layouts now move one identity at a time, wait for Classic to acknowledge each change, and resolve fresh raid indices before continuing, preventing roster renumbering and API throttling from targeting the wrong player.
  • Improvement: Full-raid layout application now prioritizes reciprocal swaps and the shortest available subgroup cycles before using unbound fillers. Complete 40-player raids stay within the five-player subgroup cap while requiring substantially fewer protected raid calls for large rearrangements.
  • Fix: Group Layout editing preserves JSON-form variables, merges into the latest saved variable state, and never applies an older layout while an assistant proposal is pending.
  • Fix: Group Layout editing uses the exact authoritative inheritance context for an actively displayed received page, and saving or applying an unchanged inherited layout no longer creates a page override.
  • Fix: Escape and the close button now dismiss only the Group Layout or Edit Variables child editor, keep the main AngryEra window open, and ask before discarding an unsaved layout, inheritance choice, or variable draft.
  • Fix: The editor applies only the exact displayed page, while category layouts direct the user to display an inheriting page; /ae applylayout consistently uses the actively displayed page.
  • Fix: Saved raid templates now round-trip category and page variables, including category layouts and page-specific overrides, without publishing a newly loaded page before its variables are present.
  • Fix: Short player names are now accepted only when unique across the current group; priority assignments, automatic markers, and raid layouts no longer guess the local-realm player when another realm has the same name.
  • Fix: JSON-backed variable edits preserve the distinction between empty objects and empty arrays when managed metadata is inserted or updated.
  • Fix: The Group Layout window is now fixed to show all eight subgroup boxes without outer vertical scrolling; the Unrostered and Variables palettes scroll independently when either exceeds its available column.
  • Improvement: The Group Layout editor now uses native-style five-slot subgroup rows, centered subgroup labels, clearer drag previews and continuous drop highlights, and modal group-name prompts that keep the parent editor inactive until dismissed.
  • Improvement: Edit Variables and Group Layout now use matching action footers: Cancel and Save/Close align at the right, Apply remains at the left, and the resizable variable editor keeps its actions clear of the resize grip. Their primary action reads Close while the draft is clean, changes to Save after an edit, and stays open as Close after a successful save.
  • Improvement: Group Layout preserves slot order in the editor and rendered note. Apply guarantees subgroup membership, but does not force physical row order because Blizzard exposes no direct safe within-subgroup position operation.
  • Fix: Edit Variables no longer shadows Lua's type() function while saving, and a stale dialog cannot report success, write through a deleted/replaced/newly read-only page or category, or overwrite a newer variable edit.
  • Fix: Received-page cleanup now fails closed when ownership metadata is missing or corrupt, and repaired identity counters no longer reuse pruned page identifiers.
  • Fix: Startup now sanitizes corrupt saved settings and window/display state, repairs invalid hierarchy links and cycles, and rehomes affected pages or categories instead of allowing malformed data to break the editor.
  • Fix: Oversized or invalid local edits and imports are rejected before AngryEra allocates identifiers, mutates the page library, or publishes a change.
  • Fix: Version checks and display recovery no longer repeat redundant requests, stale group-session work is discarded, and long-running request tracking remains bounded through roster and leadership changes.
  • Fix: Disabling and re-enabling AngryEra now tears down pending work and auxiliary editors cleanly, closes import/export windows, and reuses the existing assignment display instead of leaking UI state.
  • Packaging: Corrected package-metadata YAML and Markdown changelog handling, normalized embedded-library path case, restored the canonical Bindings.xml filename, made the root embed manifest valid XML, pinned Git externals to tested commits, and added the project's BSD 3-Clause license.

v3.1.1

  • BREAKING CHANGE: Rebuilt shared assignments for the current group. This release cannot share assignments or displayed pages with earlier AngryEra or AngryAssignments versions. Everyone who participates in shared assignments must update before the raid.
  • BREAKING CHANGE: The current party or raid leader is now the only player who can select or clear the shared display. AngryEra shares the active page and the variable context needed to render it instead of mirroring entire page libraries through the guild.
  • Improvement: Existing pages, categories, settings, and legacy permission choices migrate automatically. Downgrading after opening this release requires restoring a pre-upgrade SavedVariables backup.
  • New Feature: Added inherited variables across nested categories. Values merge from the outermost category through nested categories to the page, with the nearest value winning.
  • New Feature: Added inherited $ metadata for assignment automation and addon integrations.
  • New Feature: Added automatic raid-marker assignments using $STAR, $CIRCLE, $DIAMOND, $TRIANGLE, $MOON, $SQUARE, $X/$CROSS, and $SKULL page metadata.
  • New Feature: Added boss-kill auto-advance with $AUTOADVANCE, $ENCOUNTER, and $ENCOUNTERID. Only the leader advances after a successful kill, and sequences use locally owned sibling pages inside one category.
  • New Feature: Added ANGRYERA_NOTE_UPDATE and public getters for the displayed note, resolved variables, metadata, and hierarchy for WeakAuras and other addons.
  • New Feature: Added session-only /aa debug, /aa debug on, /aa debug off, and /aa debug status diagnostics.
  • New Feature: Added Leader + Qualified Assistants, Leader Only, and Ignore Shared Changes receive policies, plus Trusted Assistants and Allow All Raid Assistants controls.
  • New Feature: Qualified raid assistants can propose name, variable, and content edits to the exact active shared page. They must currently have raid assist and also be a guild officer or higher in the leader's guild, be listed as trusted, or be covered by Allow All Raid Assistants.
  • Improvement: The leader serializes accepted assistant edits and publishes the final page. Conflicting or superseded assistant work remains visible as a recoverable draft instead of being silently discarded.
  • Improvement: Page changes are faster and ordered. Rapid Previous/Next navigation settles on the final selection, and an older delayed update cannot replace the newest page.
  • Improvement: Late joiners, reloaded clients, dropped display responses, and raid-leader changes automatically recover the leader's current page.
  • Improvement: Received-page revisions preserve each player's local category placement and ordering. Replacing read-only received data during import creates a uniquely named local copy.
  • Improvement: Restore loads an older content version as an unsaved draft; the page changes only after Save.
  • Improvement: Version checks now focus on the current party or raid and report same or different versions, clients not accepting shared changes, and clients without the addon. The current leader and raid assistants can run the check, while automatic version discovery stays leader-driven.
  • Improvement: Strengthened validation and size limits for encoded imports and shared data, including tighter decompression bounds for data received on the general sharing channel.
  • Fix: Stopped unnecessary idle sharing requests and stale responses that could cause repeated background traffic.
  • Fix: Prevented page jumping, stale leader state, and updates from a former leader after group leadership changes.
  • Fix: Hardened automatic marker cleanup so AngryEra does not fight manual marker changes.
  • Fix: Hardened auto-advance against wipes, ambiguous encounter bindings, missing next pages, and temporary send failures.
  • Fix: Removed the invalid PARTY_CONVERTED_TO_RAID event registration that caused an error on Classic clients.
  • Fix: Saving a shared page that has no effective changes no longer reports a false page-update conflict.
  • Fix: Corrupt or hand-edited saved data no longer prevents the addon from loading. Invalid page or category records are dropped with a notice so migration and synchronization still start.
  • Fix: A malformed trusted-publisher setting is ignored safely instead of silently rejecting every assistant edit.
  • Fix: Retained bookkeeping for deleted local pages and categories is now bounded, so saved data does not grow without limit for players who create and remove many templates.
  • Fix: Guild roster updates refresh the display through a cancelable timer that stops cleanly when the addon is disabled.
  • Developer: Added broad regression coverage for permissions, leader handoffs, active-page delivery, variables, metadata, automatic markers, auto-advance, imports, migrations, and the public API.
  • Developer: Auto-advance reports its decisions, including why a kill did not advance, through /aa debug.
  • Developer: Corrected the protocol-3 synchronization contract notes, removed unused permission helpers, and restored formatter conformance.

v3.0.1

  • New Feature: Added recursive variable references, allowing variables such as LIP1={{FURY12}} to resolve through other page or category variables.
  • Fix: Named raid target tags such as {STAR}, {CIRCLE}, {X}, and {SKULL} now output the corresponding native {rt1} through {rt8} chat tokens in every chat-output mode.
  • Developer: Added regression coverage for recursive, missing, and cyclic variable references and named raid target chat output.

v3.0.0

  • New Feature: Added Smart Marker keybindings for assigning every raid target icon to the current target or mouseover unit.
  • New Feature: Added a keybinding to clear all raid target icons.
  • Improvement: Updated compatibility for Classic Era 1.15.9 and Burning Crusade Anniversary 2.5.6.
  • Improvement: Decomposed the addon into focused core, utility, UI, and domain modules to improve maintainability.
  • Improvement: Added strict syntax, formatting, static-analysis, and regression-test coverage.
  • Fix: Restored addon bootstrap and embedded-library load ordering after the module refactor.
  • Fix: Updated Settings panel navigation to use the numeric category ID required by current Classic clients.
  • Fix: Added compatibility wrappers and guards for shared APIs that differ between Classic clients.
  • Fix: Corrected invalid tooltip text arguments when displaying or hovering over assignment trees.
  • Fix: Preserved the visible tree order when exporting category output.

v2.8.0-BETA1

  • Developer: Decomposed monolithic Core.lua and Data.lua into 20 focused modules under modules/ (core, utils, ui, and domain modules).
  • Fix: Bulk Manage Pages now correctly nests subcategories under their parents, with page checkboxes rendered inside their category group.

v2.7.1

  • Improvement: Hardened JSON parsing with stricter number handling, preserved JSON null values (app.JSON_NULL), and maximum nesting-depth limits.
  • Improvement: Added import safety guardrails for encoded, decoded, and decompressed payload sizes, plus stricter payload validation.
  • Improvement: Unified party/raid roster member iteration and hardened guild-officer refresh behavior when APIs are unavailable.
  • Improvement: Reduced UI redraw churn by batching tree/page refreshes during category import and move-item operations.
  • Fix: Resolved a Classic Era nil-global crash path in tag processing ({boss} / {journal}).
  • Fix: Reduced chat disconnect risk by throttling chat output bursts with AceTimer.
  • Developer: Expanded LDoc/lint/test/check documentation and added JSON regression coverage for newline and null edge cases.

v2.7.0

  • BREAKING CHANGE: Changed the underlying message broadcasting system. PAGE packets will now pass the raw template syntax ({{MT}}) across the network directly, along with a payload containing resolved Category Variables. This ensures your local templates won't be silently overwritten by the Raid Leader. Older versions of standard AngryAssignments in your raid without AngryEra may see raw bracket formats instead of resolved names on initial receipt.

v2.6.4

  • New Feature: Added /aa first slash command (and keybind macro) to easily toggle to the first page of the current category, tracking the previous page so you can jump back.
  • Improvement: Ensured the Edit Window will dynamically jump to the actively displayed page upon opening (if one is set).

v2.6.3

  • Packaging: Explicitly excluded all unnecessary LibDeflate directories (tests, tools, etc.) to resolve persistent blacklist issues.

v2.6.2

  • Packaging: Further refined LibDeflate exclusions to ensure blacklisted files are not included.

v2.6.1

  • Packaging: Excluded LibDeflate documentation and example files to resolve CurseForge upload issues.

v2.6.0

  • New Feature: Double-Click to Send! Double-clicking a page in the tree view now automatically sends it to the display.
  • Fix: Mustache Templates: Ensure custom variables are correctly passed to the rendering engine.
  • Fix: Markdown Formatting: Italic text (*text*) no longer matches across multiple lines, preventing formatting issues with lists.

v2.5.1

  • Fix: Resolved a visual bug where the display background would appear offset during initialization.

v2.5.0

  • New Feature: Recursive Category Export/Import! Full categories with all sub-categories and pages can now be exported and imported as a single Encoded AA string.
  • New Feature: Smart Import Conflict Resolution. When importing a page or category that already exists, you can now choose to:
    • Replace the existing item (preserving its exact position and sort order).
    • Import as New (automatically appends a unique suffix like (1) to the name).
  • Improvement: Import/Export Reliability. Page and Category strings now use a shorter AA: prefix (AA:Page:1:) for efficiency.
  • Improvement: UI Polish:
    • Centralized Import: Main menu now has a single "Import" category with sub-menus for Encoded AA and JSON.
    • Added a Search Box with a clear icon to the tree view for easier navigation.
    • Improved category and page indentation in the tree.
    • Categories and pages now use distinct colors in the tree.

v2.4.0

  • New Feature: Added configuration option for chat output format (Name only or Acronym).
  • Fix: Improved permission checks for guild officer ranks.

v2.3.9

  • New Feature: JSON Import/Export:
    • Easily Import pages or categories from text strings via the Menu. Supports automatically creating categories from headers (# Header).
    • Export pages or categories to JSON (backup), Markdown (raw text), or Output (processed text for Discord).
  • Support: Added AngryEra_TBC.toc for Burning Crusade Anniversary (20505) integration.
  • Documentation: Updated repository description.

v2.2.1

  • New Feature: Drag and Drop reordering! You can now drag pages and categories within the tree view to reorder them or move them into other categories.
  • New Feature: New Shortcuts:
    • Directional: {left}, {right}, {up}, {down} (High-visibility arrows)
    • Polarity: {+}, {-}, {positive}, {negative} (Thaddius/Mechanic icons)
    • Dynamic: {page} is replaced by the title of the currently displayed page.
  • Improvement: Visual Polish:
    • Tree View icons (Expand/Collapse, Page, Settings) are now pixel-perfectly aligned.
    • Dragging items now shows a visual insertion line using the raid cursor.
    • Root and Nested items have optimized indentation for better hierarchy.
  • Improvement: Templates:
    • Loading Raid Templates now preserves the correct boss order.
    • All Raid Templates now automatically include a ## {page} header.
    • Added "The Silithid Royalty" to AQ40 template.
  • Fix: Dropdown menus now close automatically when starting a drag operation or moving items.
  • Fix: Resolved an issue where the Toggle Window keybinding could fail.

v2.1.5

  • Optimization: Rewrote 'Next Page' and 'Previous Page' logic to be significantly faster (O(n) without table allocation/sorting).

v2.1.4

  • Fix: Resolved a crash when moving pages to a category ("attempt to get length of local 'menuList'").
  • Fix: "Edit Variables" for pages now correctly receives the page ID.

v2.1.3

  • Core: Mustache templates are now rendered before sending to chat/other players. This ensures backward compatibility with clients that do not support templating (or if the sender leaves the raid).
  • Fix: Removed references to the deprecated "Revert" button which could cause errors.
  • Fix: The "Edit Variables" menu option for Categories functionality restored.
  • Data: Corrected "Sunder Armor" icon.
  • Data: Added "Holy Water" (Stratholme Holy Water) to consumables list.

v2.1.2

  • Fix: Corrected spelling of "Noth the Plaguebringer" in Naxxramas templates.

v2.1.1

  • Documentation: Updated README with comprehensive guide on Templates, Variables, and Markdown.
  • Credits: Added maintainer information.

v2.1.0

  • New Feature: Template System. "Load Raid" menu now supports saving your own custom templates from existing categories, in addition to the standard raid templates.
  • UI Overhaul:
    • Tree View: Cleaner look with left-aligned expand toggles and hover-only "Gear" icons for context menus.
    • Context Menus: Unified menu system. Right-click or use the Gear icon to Rename, Delete, or Save templates.
    • Editor: Decluttered bottom bar by moving actions to a "Menu" dropdown.
    • Bulk Management: Improved dialog with dark background and smart selection (click category to toggle all children).
  • Markdown Support: Assignments now support basic markdown syntax:
    • Headers: ## Header (Displays in Gold + Uppercase)
    • Lists: - Item (Displays with bullet point)
    • Bold: **text** (Displays in White)
    • Italic: _text_ (Displays in Grey)
  • Template System: Assignments now support Mustache templates for dynamic content based on raid composition.
    • Examples: {{me}}, {{#classes.WARRIOR}}{{name}} {{/classes.WARRIOR}}
    • Variables: Use "Edit Variables" in the menu to define custom JSON data (e.g. {"MT": "TankName"}) usable in templates as {{MT}}.
    • Fix: Names in templates now correctly utilize Class Colors if the player is in the Raid or Guild.
    • Fix: Chat Output (e.g. "Output" button) now correctly renders templates before sending.
    • UI: Added visual indicator (‡) for pages/categories with custom variables.
  • Added templates for MC, BWL, AQ40 and Naxxramas
  • New Feature: Improved Backup system. Click "Restore" to browse and restore past versions.
  • New Feature: Added "Highlight" button to the editor. Automatically colorizes player names in your assignment based on their class.
  • Refactoring: Moved static data (icons, colors, shortcuts) to Data.lua and cleaned up Core.lua logic.
  • Formatting: Expanded single-line code blocks for better readability.
  • Shortcuts: Added a comprehensive list of raid utility shortcuts:
    • Warrior: , , , , , , , , ,

This mod has no additional files