# A.X.I.O.M. — Version Control
All published releases from [CurseForge](https://www.curseforge.com/wow/addons/axiom/files), newest first.


## v4.3.3 (Apr 17, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Fixes
- **Message + G-Invite:** Fixed the automated invite function silently failing on cross-realm targets by removing an `Ambiguate` name wrapper which improperly stripped the realm parameter. 
- **Permanent Blacklist Bug:** Automated recruitment operations now pass an `isAutoInvite` flag into the blacklist structure. The background scanner now strictly verifies this tag and quietly deletes automated holds upon successful recruit entry into the active guild roster, preventing new members from being accidentally locked into the Permanent Blacklist.
- **TBC "World Only" Filter Bug:** Synchronized the core zone data structures across Retail and TBC client variants with the exhaustive Classic `Data.lua` structure. The scanner now accurately rejects active group formations within legacy dungeons and raids spanning 20+ years of active WoW history.
- **Blacklist Import:** Fixed the GUI import script's parser to safely sanitize Windows-style carriage returns (`\r`), resolving immediate import sequence failures. Removed a conditional block that erroneously prevented users from uploading their own local exports.

---

## v4.3.0 — Beta (Mar 10, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Features
- **Class Colours in Raid Roster:**  Player names in the sign-up raster (Tank, Healer, DPS, Bench, Tentative, Absent, No Show) now display in their WoW class colour. Makes it easy to see team composition at a glance without hovering or memorizing names.

### Fixes
- **Raid Roster Sync — Offline Sign-ups:**  Fixed a critical issue where players coming online would not see sign-ups made while they were offline. The addon's network layer (prefix registration, message listener, sync requests) was only starting when the Raid Roster tab was opened. It now initializes at login, so sync data is received immediately — even before opening the tab.
- **Roster Sync — Broken Timestamps:**  The full roster broadcast was transmitting an undefined field (`member.time`) instead of the actual stored timestamp (`member.ts`), causing every synced roster to carry a revision of zero. This broke the smart-diff comparison entirely, making the addon unable to tell who had newer data. Timestamps now transmit correctly.
- **Roster Sync — Data Wipes on Sync:**  Removed the destructive `ROSTER_CLEAR` message that wiped the receiver's entire roster before new data arrived. If any follow-up data chunk was lost or delayed, this left players with an empty or incomplete roster. The addon now merges incoming sign-up data additively — duplicates are handled automatically.
- **Roster Sync — Message Throttling:**  Full roster broadcasts previously fired all data chunks in a single burst, risking silent message drops from Blizzard's internal throttle. Outgoing chunks are now paced at 0.3-second intervals to ensure reliable delivery, even for large rosters.

---

## v4.2.9 — Hotfix (Mar 8, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Fixes
- **Recruitment & Permissions:** Resolved issues that left the Recruitment Requirements tab blank across all clients and added a safety fix for guild permissions in Classic.
- **Armory Stability:** Fixed a critical syntax error and initialization bugs that were preventing the Armory module from loading correctly.
- **UI & Visuals:** Polished the Armory interface by fixing item slot layering, removing redundant borders, and adjusting transparency for a cleaner look.

- **Officer & Public Notes:**  Notes are now stored exclusively within AXIOM's internal database, bypassing Blizzard's recently restricted guild note APIs. Saving and loading notes works reliably again.

### Adjustments
- **Debug Output Setting:**  Added a toggle in Settings → Advanced to show or hide GRS NET, GRS DEBUG, and GRS QUEUE messages in chat. Off by default.
- **Cleaner Chat Output:**  Removed several noisy load-time prints (Vulture Protocol, Roster UI Built) and renamed internal banners to use consistent AXIOM branding.
- **TBC Classic:**  Applied the same print cleanup to TBC — load banners, Recruitment History, and RaidRoster sync messages now match Retail output.

### New Client Support
- **MoP Remix / Classic:**  MoP is now fully supported as a client target.

---

## v4.2.8 — Hotfix (Feb 27, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Fixes
- Level Range Cap:  Raised the maximum level range for GRS recruitment scans from 80 to 999 across all files (`UI_Home_Controls.lua`, `Settings.lua`, `Engine.lua`, `Compact_Mode.lua`, `core.lua`). The value now aligns with the default in `Constants.lua`.
- Level Min Reset Bug:  Fixed a bug where the minimum level input defaulted to 80 instead of 1 on reset (`core.lua`).

### Cleanup
- Redundant Settings Pane:  Removed the duplicate "Level Range Defaults" pane from Settings (General tab). The level range controls on the Home tab are the single source of truth.
- Removed Dead Code:  Deleted `Settings_New.lua`, an unused staging file that was never loaded via the TOC.

---

## v4.2.7 — Hotfix (Feb 27, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Fixes
- Guild recruiters system: Raised the max level input to 99.
- TBC Classic: Fixed the blacklist. It now records the playername-realm correctly.

---

## v4.2.6 — Hotfix (Feb 23, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Features
- Copy Name-Realm:  Added a "Copy Name-Realm" option to all player context menus across the addon (global menus, whisper headers, guild roster). Clicking it opens a centered popup with the full Name-Realm text pre-selected for Ctrl+C. Available in both Retail and TBC Classic.
- Blacklist Select All:  Added a "Select All" checkbox to the header row of both the Temporary and Permanent blacklist lists. Checking it marks all entries as selected for bulk removal via "Reset Selection (Both)". Available in both Retail and TBC Classic.

### Fixes
- Bottom Control Bar Width:  Fixed the bottom control bar (Send Mode, Slider, Blacklist Selected, Send Batch) being squeezed to header column width instead of spanning the full center pane. Caused by `OnSizeChanged` overriding two-point anchoring with a fixed width.
- Cross-Realm Blacklist Import:  Removed the hard realm-check that blocked the entire import when encountering a single entry from a different realm. The addon now builds a connected-realm set via `GetAutoCompleteRealms()`, imports all valid entries regardless of realm origin, and prints a categorized summary: `[A.X.I.O.M.] Imported X entries (Y local, Z cross-realm)`. Available in both Retail and TBC Classic.

---

### Detailed File Changes

### Feature: Copy Name-Realm
Added a "Copy Name-Realm" option to all player context menus. Clicking it opens a small centered popup with the full `Name-Realm` text pre-selected for Ctrl+C.

 Files Modified: 
| File | Change |
|------|--------|
| `Core.lua` | Added `NS.ShowCopyPopup(text)` helper function |
| `TBC/Core.lua` | Added `NS.ShowCopyPopup(text)` helper function (TBC parity) |
| `Engine.lua` | Added "Copy Name-Realm" to global context menus (player, friend, chat, party, raid) |
| `UI/UI_Home_Chat.lua` | Added "Copy Name-Realm" to Retail whisper header context menu |
| `TBC/UI/UI_Home_Chat.lua` | Added "Copy Name-Realm" to TBC whisper header context menu |
| `TBC/UI.lua` | Added "Copy Name-Realm" to TBC whisper header context menu |
| `TBC/UI/UI_Home_Results.lua` | Added "Copy Name-Realm" to TBC whisper header context menu |
| `Guild Roster/Roster_OfficerLogic.lua` | Added "Copy Name-Realm" to Retail guild roster context menu |
| `TBC/Guild Roster/Roster_OfficerLogic.lua` | Added "Copy Name-Realm" to TBC guild roster context menu |

---

### Feature: Blacklist Select All Checkboxes
Added a "Select All" checkbox to the header row of both the Temporary and Permanent blacklist lists.

 Files Modified: 
| File | Change |
|------|--------|
| `Blacklist.lua` | Added select-all checkbox to both list headers in `BuildList()` |
| `TBC/Blacklist.lua` | Same change for TBC parity |

---

### Bugfix: Bottom Control Bar Width
Fixed the bottom control bar (Send Mode, Slider, Blacklist Selected, Send Batch) being locked to header column width instead of spanning the full center pane.

 Root Cause:  `OnSizeChanged` handler used `bot:SetWidth(headF:GetWidth())` instead of two-point anchoring.

 Files Modified: 
| File | Change |
|------|--------|
| `UI/UI_Home_Results.lua` | Changed `bot:SetWidth(headF:GetWidth())` → `bot:SetPoint("BOTTOMRIGHT", -15, 5)` |

---

### Bugfix: Cross-Realm Blacklist Import
Removed the hard realm-check that blocked the entire import when encountering a single entry from a different realm. Now imports all entries regardless of realm and prints a categorized summary.

 Root Cause:  Import handler compared each entry's realm against `GetNormalizedRealmName()` and aborted the entire import on the first mismatch — breaking imports for connected-realm clusters and cross-realm blacklist data.

 Fix:  Builds a set of known realms via `GetAutoCompleteRealms()`, imports all valid entries, and prints: `[A.X.I.O.M.] Imported X entries (Y local, Z cross-realm)`.

 Files Modified: 
| File | Change |
|------|--------|
| `Blacklist.lua` | Replaced import `OnClick` handler with two-pass import logic |
| `TBC/Blacklist.lua` | Same change for TBC parity (with `GetNormalizedRealmName` nil-guard) |

---

## v4.2.5 — Hotfix (Feb 11, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Fixes
- GRM Import:  Fixed the GRM import functionality. It was toppled over.
- Guild Roster Alt Assignment:  Fixed an issue where assigned Alts would still show up in the list when assigning alts to a different Main.
- QoL:  Fixed some overall performance of the addon.

### Adjustments
- Guild Recruiter System:  Added deletion functionality to the Filters/Message Templates in the GRS tab.

---

## v4.2.0 (Feb 10, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Features
- Target Inspector — Character Model Resolution:  Character model resolution now follows a three-priority chain: snapshot appearance data (raceID/sexID sent by the remote client) → GUID-based API lookup → SocialDB fallback. This fixes cases where allied-race or cross-faction characters displayed the wrong model. HD display IDs have been added for every allied race, Dracthyr, and Earthen.
- Social Panel — Year Fields:  Join Date, Promotion Date, and Birthday inputs now include an optional Year field, and the display strings render the year when present, giving a complete historical record.
- Customizable GRS Columns:  The Recruitment Scan results list now builds its data columns dynamically based on the active Guild Mode's column selection. Columns that are toggled off are no longer created, freeing horizontal space and keeping the layout clean.
- Fastest Key Info:  The Guild Roster now captures and stores the dungeon name of a member's highest timed key (e.g. "Murder Row +14") in addition to the key level, giving more context at a glance.
- Settings Reorganization:  Settings are now split into six sidebar-navigated pages — General, UI Mode, Appearances, Tools, Language, and Advanced — with a redesigned dark-themed layout, nav buttons with gold active borders, and scrollable sub-pages.
- Theme Presets:  Added eight curated color presets (Default, Obsidian, Arcane, Destruction, Healer, Protector, Crusader, Iron Man) with one-click application and live-preview color sliders for Header, Background, and Button tones.
- MOTD Display:  The Guild Roster tab now renders the Guild Message of the Day at the top of the view, updating live via GUILD_MOTD events.
- Scrollbar Styling:  Scrollbar arrow buttons across the addon now use styled dark-background glyphs with hover highlights instead of the hidden default Blizzard arrows, improving scroll usability.
- Lockout Broadcast Channel:  Registered the GRS_LOCKOUT addon message prefix so lockout data syncs automatically between guild members on login, equipment change, and manual sync.

---

## v4.1.5 — Hotfix (Feb 8, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Fixes
- Blacklist:  Blacklist had lost some bits and pieces, they've been found and restored.
- Realm Names:  Fixed the realm name functionality for servers with spaces. These are now stored without spaces (e.g. Twisting Nether → TwistingNether, Culte De La Rive Noire → CulteDeLaRiveNoire).

---

## v4.1.0 (Feb 7, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Features
- Retail:  Implemented the feature to Send Guild Invites only, or Message + Guild Invite.
- TBC Classic:  Implemented the feature to Send Guild Invites only, or Message + Guild Invite.

### Fixes
- TBC Classic:  Fixed some minor bugs and visual bugs.
- UI Fixes:  Some minor visual glitches and functionalities have been fixed and restored.

---

## v4.0.5 (Feb 5, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Features
- TBC Classic Port:  The addon has been ported from Retail to Classic as well.

---

## v4.0.0 (Feb 4, 2026)
 Game Version:  12.0.1, 12.0.0, 2.5.5

### Features
- Localization — Expanded Language Support:  The addon now officially supports 11 languages: 🇬🇧 English, 🇩🇪 Deutsch, Español (EU), 🇲🇽 Español (Latin America), 🇫🇷 Français, 🇮🇹 Italiano, 🇧🇷 Português, 🇷🇺 Русский, 🇰🇷 한국어, 🇨🇳 简体中文, 🇹🇼 繁體中文. Language selection is available in the Settings panel.

### Adjustments
- Quality of Life:  A round of UI and layout polishing across the addon to improve clarity, consistency, and overall usability. Several panels now behave more predictably, with better spacing and alignment.
- Stability & Usability:  General refinements aimed at making the addon feel more solid and easier to navigate during longer sessions.
- Cleaner Tabs & Icons:  Improved tab icon visibility for a cleaner, more modern look.
- Scrollbars & Lists:  Multiple lists now use improved scrollbars for better readability and a more consistent Blizzard-style appearance.
- Raid Roster:  Improved layout and readability with better spacing and a more stable layout.
- Optional Advanced Columns:  You can now disable advanced Raid Roster columns if you prefer a simpler view.
- Settings Reorganized:  Settings adjusted for better flow, with key actions moved to more intuitive locations.

---

## V37.7 — Hotfix (Jan 31, 2026)
 Game Version:  12.0.1, 12.0.0

### Fixes
- Some minor QoL fixes.
- The advanced Inspection module was persisting through disable. Now fixed.
- Some synchronization issues with the raid roster. Now fixed.

---

## V37.6 — Hotfix (Jan 30, 2026)
 Game Version:  12.0.1, 12.0.0

### Fixes
- Blacklist synchronisation wasn't functioning properly, was toppled over (again).

---

## V37.5 — Hotfix (Jan 30, 2026)
 Game Version:  12.0.1, 12.0.0

### Fixes
- Blacklist synchronisation wasn't functioning properly, was toppled over. Added new sync status visibility.

### Features
- Import / Export:  Since some might have a blacklist of nearly 500+, added an Import / Export functionality. Else you'd have to wait for 10 minutes or more for everything to sync.

---

## V36 (Jan 29, 2026)
 Game Version:  12.0.1, 12.0.0

### Features
- Officer Alt Management:  It is now possible, as an officer, to set Main characters within the guild roster and add alts. This stays stored and notifies the player about changes if they install the addon.
- Raid Tools:  New Raid Tools part added to the Raid Roster. Create, add, and push updates to raid members. Live session in beta.
- GRM Import:  Added Social activity data (Birthdays, anniversaries) to guild members. Use import to bring in details from GRM.
- Custom Background:  Choose customized backgrounds for the addon. File extension is .tga, files need power-of-2 dimensions.

### Adjustments
- Adjusted and split some code for efficiency and stability.
- Added AXIOM Situational Awareness Inspection into this addon.
- Added import and export for GRM data.
- Added customization settings.

---

## V35.01 — Hotfix (Jan 27, 2026)
 Game Version:  12.0.1, 12.0.0

### Fixes
- Quickly added a CLOSE (X) button to the Macro Tool. Re-open with `/axi macro`.

---

## V35 (Jan 26, 2026)
 Game Version:  12.0.1, 12.0.0

### Features
- A.X.I.O.M. Macro Dashboard:  Added a new secure panel to manage and execute boss-specific raid macros.
- Live Strategy Streaming:  Strategists can now broadcast map movements in real-time to the entire raid.
- Awareness Enforcer:  Added a tool for raid leads to force open the tactical map on all group members' screens.
- WCL Integration:  Added a new import tool to populate raid attendance directly from Warcraft Logs CSV data.
- Roster Audit Log:  Added a detailed logging system to track all status changes and manual edits for every event.

### Adjustments
- No-Show Tracking:  Added a dedicated "No-Show" category to the roster.
- Map Save System:  Expanded boss-specific saves to 10 slots with custom naming and gold selection borders.
- UI Performance:  Optimized the Roster "Lite" member browser with faster sorting and class filtering.
- Networking:  Improved data compression for map syncing to ensure stability during combat.
- Visual Clarity:  Added gold selection borders to event cards.

---

## V32 (Jan 23, 2026)
 Game Version:  12.0.1, 12.0.0

### Features
- Compact Mode:  Added new Compact mode and minimization functionality. Adjust the addon to be more compact, or minimize it entirely while searching or sending batches.
- Settings:  New option to make the addon more Compact if you're in a rush to recruit.

### Adjustments
- Refactored the code and split up the UI file. Now using even less CPU and RAM, functions more stably.

---

## V31.2 — Hotfix (Jan 22, 2026)
 Game Version:  12.0.1

### Fixes
- Unguilded Players List:  Now has a permanent background.
- Shifted the heroic and mythic columns.
- Fixed the Automated Welcome message.
- Recruitment History:  Addon was pulling information too fast, causing server rejection. Now fixed — force-refresh wipes memory and pulls again.

---

## V23 (Jan 8, 2026)
 Game Version:  11.2.7

### Adjustments
- Main/Alt Assignment Timer:  Introduced a 24-hour self-assignment window for Main characters. If no Main is selected within this timeframe, the addon automatically assigns the character with the highest item level as Main. All remaining characters are automatically nested as Alts.
- Officer Visibility:  Added an Officer-only view displaying Main ↔ Alt relationships.

---

## V22.5 — Hotfix (Jan 7, 2026)
 Game Version:  11.2.7

### Fixes
- Raid Roster:  Fixed the raid roster not syncing properly. Fixed the inspection part — you can now move/adjust sign-ups with checkboxes instead of individual adjustment.
- Guild Roster:  Offset alt names by 15 pixels to correctly indicate alts.

---

## V22 (Jan 5, 2026)
 Game Version:  11.2.7

- Renamed the addon in-game to A.X.I.O.M. (Automated Xenial Index & Operations Matrix). Addon listens to `/grs` and `/axi`.

### Features
- Message Placeholders:  You can now use `[player]`, `[ownname]`, `[Guild]`, `[playerclass]` to have your recruitment message feel more personal.

### Adjustments
- Active Whisper:  Increased the active whispers window size by 30 pixels.
- Recruitment History:  Better memory and understanding of guild activity.
- Raid Roster:  New background, more generic.
- General code refactoring for stability.

---

## V21.4 (Jan 2, 2026)
 Game Version:  11.2.7

### Fixes
- Sign Up Roster:  Removed the DB wipe for Sign-Up roster. With each new update, the sign-up roster will retain its history.
- Blacklist:  Messaged players are now properly added to the blacklist. These players won't populate the search list anymore.

### Adjustments
- Active Whisper:  Increased the active whispers from 4 to 6.
- General code refactoring for stability.

---

## V20.4 — Hotfix (Jan 2, 2026)
 Game Version:  11.2.7

### Fixes
- Character Sign-Up Duplication:  Players that use the Sign-up method in the Raid roster will not sign-up twice anymore (previously added both playername and playername-servername).

---

## V20.3 (Dec 29, 2025)
 Game Version:  11.2.7

### Fixes
- Character Nesting Sync:  Now correctly auto-links alts to mains. Log in, set a character as main, and let the addon handle the rest on alts.

### Adjustments
- Online Status Colors:  Green → Online on main, Orange → Online on an alt, Grey → Offline.
- Adjusted the Scrollbar + buttons to snap to the left-side of the guild chat.

---

## V15.5 (Dec 29, 2025)
 Game Version:  11.2.7

### Features
- Select All (Candidate Search):  Added a SELECT ALL checkbox when searching for candidates to streamline bulk selection.

### Fixes
- Message Template UI Cleanup:  Fixed text bleed in the message template; readability and layout are now significantly cleaner.
- Synchronization Improvements:  Resolved multiple synchronization issues and implemented sync in the Guild Roster tab. Auto-syncs every hour. Manual Refresh button also triggers the same process.
- Main/Alt Character Linking:  Fixed and tested locally. Note: separate Blizzard licenses under the same Battle.net account are not linked yet.
- Expand Button Styling:  Updated visuals to match the addon's color scheme.
- Guild Progression Insight:  Restored accurate guild member progression insights. Raider.IO must be enabled.

---

## V15.1.19 — Hotfix (Dec 27, 2025)
 Game Version:  11.2.7

### Fixes
- Active Whispers:  Paging restored — 4 whisper windows per page, 5th opens on a new page.
- Scan Scope Selector:  No longer bugged, chosen scope now applies correctly (Retail / Remix / All).
- Refresh / Reset Results:  The Refresh List function works again.
- Message Template Character Count:  The character count indicator is back.
- Alt/Main Character Linking:  Lua errors related to linking resolved, process is now fully automated.

### Features
- Recruitment Requirements Sync:  Implemented a dedicated Sync button to synchronize Recruitment Requirements with fellow officers.

---

## Stable Release (Dec 27, 2025)
 Game Version:  11.2.7

Transitioned from debug/hotfix version to a fully packaged release.

### Features
- Recruitment System:  Fully functional scan with advanced filters (Race, Class, Level, Remix, Retail/All). Integrated in-addon whispering with message templates and active whisper tracking.
- Blacklist System:  Internal blacklist table synchronized between GRS users. Tooltip integration for flagged players.
- Recruitment Requirements:  Officers/RLs can define recruitment needs; data syncs automatically with other GRS users.
- Recruitment History (Guild Log):  Displays guild join/leave/kick/promote/demote activity. New caching system reduces API calls.
- Advanced Guild Roster:  Shows Level, Zone, Achievement Points, Item Level, M+ Score, and Time Offline. Auto-links alts to mains. Color indicators (Green/Orange/Grey).
- Raid Roster:  Full in-game event/raid creation system. Officers can create, modify, or delete signups. Data syncs every 15 minutes.
- Settings:  Scale adjustment slider. Future-ready options panel.

### Adjustments
- Optimized background texture handling with fallback when .TGA is missing.
- Reorganized code to reduce redundant frame calls.
- Cleaned up debug output, improved stability on reloads.

---

## V10.9.18 — Hotfix (Dec 18, 2025)
 Game Version:  11.2.7

### Fixes
- Critical: Scanner Self-Diagnostic Loop.  Resolved an initialization error where Debug Mode was hardcoded to TRUE by default. The scanner was trapped in a self-diagnostic loop, only returning the user's own profile. Default operational state switched to Live Scanning. The engine now correctly queries the Blizzard SendWho server for unguilded candidates.

---

## V10.9.17 (Dec 15, 2025)
 Game Version:  11.2.7

### Fixes
- Raider.IO Progression Data:  Fixed fetching from previous raid tiers instead of the current season. Updated API hook to use `p.raidProfile.progress` (singular) instead of the deprecated list. Implemented strict name filter for "Manaforge" (case-insensitive). Restored correct parsing for Difficulty IDs (2 = Heroic, 3 = Mythic).

---

## Initial Release (Dec 15, 2025)
 Game Version:  11.2.7

### Features
- Movable and resizable main interface window
- Slash command `/grs` toggles addon visibility
- Create, edit, and save custom search filters
- Filter searches by Class, Race, and Name
- Define minimum and maximum level range for searches
- Toggle scan scope: Retail, Remix, or All Zones
- Create, edit, and save custom message templates
- Manually blacklist selected players to prevent re-messaging
- Reset button wipes blacklist and activity history
- Clear Results button empties the current player list
- Reload UI button for quick interface refreshes
- Recent History list shows the last six actions
- Search button initiates scans with active cooldown timer
- Fetches and displays Raider.IO Score and Progress
- Automatically excludes blacklisted and duplicate players
- Sortable result columns: Name, Class, Level, Score, etc.
- Color-coded text for Classes and Raider.IO scores
