__ Development __

__ New in 4.57-beta1 - By Bl4ut0 __
- Improved /itemrack dump with automatic, bounded combat-breakout diagnostics. Capture each slot's discovery/filter counts, sampled tooltip rejection text, cache changes and incomplete rendering stages, plus client build, API providers, custom-icon switches and loaded addons. Public item samples omit player GUIDs; secret/inaccessible values are redacted. Reproduce the empty breakout and send one dump before reloading. The underlying Forever combat-breakout issue remains under investigation.

__ New in 4.56.1 - By Bl4ut0 __
- Fixed weapon-only set hotkeys failing to swap weapons in combat when "Full-set hotkeys swap weapons in combat" is OFF and the set has a specialization checkbox assigned to the current spec or on a single-spec character. Weapon-only sets now keep their immediate combat macro unless equipping the set requires switching talent groups, and set bindings refresh when the active talent group changes.

__ New in 4.56 - By Bl4ut0 __
- Reorganized the main Settings list by feature area (Quick-Access Buttons, Breakouts & Flyout Menus, Character Sheet, Sets/AutoQueue/Events, Cooldowns, Tooltips, Minimap & Options Window, and Actions) while keeping character/account scope explicit in tooltips. Added character-specific Quick-access breakout side (Saved/Top/Bottom/Left/Right) and Quick-access breakout direction (Saved/Up/Down/Left/Right) selectors with a compact settings-row dropdown frame so item breakouts can attach to a chosen button edge, grow along a chosen direction, and wrap outward away from the button (e.g. Side: Top + Breakout: Right wraps upward) without changing minimap, set-button or character-sheet directions or saved drag docking. Added side+direction, wrap-geometry, selector and tooltip-scope regressions; live layout acceptance is pending.

- Forever build 1.60.1.70338: quick-access equipment breakouts now preserve their last successful out-of-combat item list during combat instead of collapsing to only Empty Slot when live item data becomes restricted. The fix covers every equipment slot, retains exact item identities, and uses the existing deferred combat queue.

- Fixed scale changes reusing old button anchors: clear anchors before absolute repositioning and preserve docking relationships. Added reported 4x repeat and docking regression coverage; live verification is pending.

- Set button scale now supports 0.5-4x; equipment and menu scale limits are unchanged. Added 4x position-preservation and combat-deferral coverage.

- Added a character-specific Set button scale control for the Equip 20/current-set button. Existing profiles inherit their current button scale; later changes affect only slot 20, preserve its screen position, and defer safely during combat.

__ New in 4.55 - By Bl4ut0 __
- Venruki's Forever report: added an account-wide, default-on Always compare breakout items option so users see equipped-item comparisons on ItemRack flyout rows without holding the client comparison modifier. It does not change WoW's account CVar; turning it off restores native behavior. Menu on Shift suppression and missing-API safety are preserved, with permanent production-Lua coverage.

__ New in 4.54 - By Bl4ut0 __
- Forever character slots now explicitly dispatch hover handling through ItemRack when the frame remains bound to Blizzard's captured original function. A live Hands-slot dump proved the old global replacement was not the frame's actual OnEnter script. Registration preserves one native tooltip call and is idempotent; permanent production-Lua and initialization regressions cover the reported binding. The reporter confirmed the installed Dev build resolved the observed right-to-left tooltip hop after reload.
- GitHub #30 follow-up: secure full-set hotkeys now show every still-pending item on character-sheet and quick-access slots. Secure weapon completion clears only the completed weapon icon while deferred armor stays visible until combat exit; pending tooltips match the projected item and no duplicate swap work is created. Added a permanent production-Lua regression; the reporter confirmed all five 4.54-beta2 in-client acceptance checks.
- Renamed Swap set weapons during combat to Full-set hotkeys swap weapons in combat and expanded its tooltip. Only saved-set keys assigned with Sets > Bind Key use the secure combat path; flyout clicks, /itemrack equip macros, events, and queues defer. GitHub #30's reporter confirmed 4.54-beta1 queues slots 16-18 and equips them after combat without Lua errors.
- Published GitHub betas automatically submit the verified universal ZIP to CurseForge as Beta; stable releases remain Release. Both include all supported game-version tags, with existing verification and duplicate-upload safeguards. Added permanent trigger and tagged-beta upload regressions; existing release tags are unchanged.
- Consolidated shared Codex/Antigravity guidance in AGENTS.md, moved maintained references under docs, archived the historical v4.24-v4.45 audit, and migrated workflows to .agents/workflows. Removed obsolete rules/scratch guidance and added path regressions; accepted release tags are unchanged.
- Replaced the obsolete 2.2-era readme shipped inside ItemRack with a current self-contained Universal guide covering supported clients, controls, exact-item sets, Queue editing, combat deferral, event ownership, script approval and diagnostics. Added scope, fresh defaults, dependencies, interactions, ranges and detailed explanations for every main, Set, Queue, Event, binding, reset, SoD rune and sound setting. Removed stale future plans/non-overlap advice and added permanent guide/catalog regressions.
- GitHub #30: defer ordinary Lua weapon/shield/relic swaps until combat ends, retaining requested items instead of failing protected pickups. Secure weapon-hotkey macros remain unchanged. Reported-item regressions verify both toggle states, slot queues, final post-combat equipment and cleanup; live TBC acceptance is pending.
- Corrected competing native/manual character-tooltip anchors without resetting item contents or owner. Restricted positioning to the active character slot/flyout and cleared stale row offsets. Permanent regression covers modeled refreshes and neighboring tooltip contexts; the reporter confirmed the final in-client behavior after the character-slot dispatch correction above, while broader client and taint checks remain acceptance.
- Fixed missing set-name lines on modern Forever item tooltips; kept legacy Classic hooks and copy-specific matching. Added permanent tooltip regression coverage. Live Forever acceptance is pending.
- Restored full-texture icon proportions without enlarging 36px buttons; aligned breakout icons and cooldowns. Added independent Breakout spacing (0-24, default 4), including scaled wrapping and frame sizing. Default scales are unchanged; live visual acceptance is pending.

__ New in 4.53 - By Bl4ut0 __
- **CurseForge Release Deployment**: Approved stable GitHub releases submit the verified universal ZIP with both addon folders intact. Read-only setup checks validate credentials, client versions and tag contents; attempt markers and receipts prevent automatic duplicate retries. Beta uploads remain explicitly requested.
- Queue icon search now includes other classes' player/profession spell artwork for the matching Era/TBC/Forever client family, with English game-data aliases alongside localized known spell names. Lightning Bolt and Chain Lightning are searchable on a rogue. Fixed string-valued numeric icon IDs, already qualified paths and Classic spellbook-token compatibility; filtered tooltips show the matching name. Permanent regressions retain queue policies, scoped edits and terminal equipment.
- Added Add stop marker to the right Queue panel. It restores a deleted marker at the end, selects/scrolls it into view for relocation, and prevents duplicates. Global/per-set ownership, item order, settings and queue enablement remain intact; permanent regressions cover recovery, save snapshots and the existing stop boundary.
- Added live search to the Queue item-icon picker. Partial player spellbook names, item/texture names and client-resolvable full spell names/IDs narrow the choices. Filtered pagination, empty results, clear/reopen and Reset preserve queue scope, policies and set-icon choices; guarded Classic/modern lookups use private data with permanent regression coverage.
- Queue controls now appear in a small right-side panel while the Queue editor is open, leaving the item list and queue scope footer unobstructed. Selecting an item retains the slot header and Auto Queue toggle. Reorder/delete, icon picker/reset and global/per-set item policies retain their existing ownership; permanent layout and editor-flow regressions cover the change.
- Fixed Queue availability checks calling a missing legacy GetContainerNumSlots global. Resolve namespaced/legacy bag APIs for bags and bank; retain saved entries and show unknown availability when neither provider exists. Added the supplied item-6256 regression with both legacy container and color globals absent.
- Options header uses compact IRU branding (IRU-B for beta builds), with the full Universal name and version in a hover tooltip above it. Bounded title/hover regions preserve tab spacing; added permanent label, tooltip and layout regressions.
- Fixed Queue-page crashes when the legacy GetItemQualityColor global is absent. Use the namespaced item API, native quality constants, or white fallback without altering queue policies; added a permanent Hunting Boots trace regression and neighboring compatibility cases.
- Queue items support custom icons in the left-side icon picker, with Reset to original inside the popup. Icons follow global/per-set queue ownership and survive set saves. Character-sheet and item-flyout styling have separate default-off options; item identities, tooltips and swap policy remain unchanged.
- Queue editor coalesces empty/zero item-field duplicates while preserving distinct enchants and runes. Saved unavailable items remain configurable and are labeled not carried; exact items in the open bank are labeled in bank. Queue tooltips show the saved variant instead of a different carried same-base copy. Added permanent production-Lua coverage. The Era 4.51 screenshot's exact saved/live identities are still needed to confirm its cause.
- Default quick-access icons fill the button and align with their cooldown overlays at every scale. Removed the icon inset while preserving decorative borders and Masque skin control.
- Unified addon-list, Options and keybinding titles as ItemRack Universal. Future release posts use the same Universal title; stable ItemRack and ItemRackOptions module/folder names remain compatible.
- GitHub #29: confirm dependent weapon moves before resolving displaced sources again, guard equipment-source identities, park slot-restricted displaced items, preserve implicit source-slot restoration history, and release reservations at set completion. Added permanent reported and neighboring production-Lua regressions; live-client acceptance remains required.
- Restored secure weapon-only combat hotkeys and added the default-off Swap set weapons during combat option for full sets. Remaining gear and failed weapons finish after combat. Combat presses equip, not toggle; rune-specific and empty-slot weapons remain deferred.
- Hardened Forever icon loading using private lists and guarded API calls; notices fall back when floating combat text is unavailable.
- PR #28 (msromike): defer binding saves at login until the binding set is account or character, then save once.
- PR #26 (msromike): add Auto/Up/Down/Left/Right minimap flyout direction choices without changing Auto behavior.
- Includes the unpublished 4.51 candidate's item-link normalization, minimap set detection, paired-slot and queue-aware matching, and disabled character-sheet menu suppression.

__ New in 4.51 - By Bl4ut0 __
- Added ItemRack.NormalizeItemFields so empty colon fields from TBC Anniversary item links match zero-filled stored fields symmetrically.
- UpdateCurrentSet now scans saved sets to auto-detect worn sets when CurrentSet is unequipped or undefined, restoring the active set and minimap icon when all items are equipped manually or via macros.
- IsSetEquipped now allows single-slot ring/trinket cross checks and only gates queue readiness on slots with an active AutoQueue.
- Fixed character sheet breakout menus appearing when CharacterSheetMenus is disabled by immediately hiding open menus and returning early, ignoring PaperDollFrame as keep-alive in MenuMouseover, and dismissing menus on toggle OFF.

__ New in 4.50 - By Bl4ut0 __
- Replaced the old TBC-focused README and CurseForge project copy with new universal documentation covering supported clients, installation, features, script-event protection, diagnostics, and support requirements. Removed obsolete parallel client-release guidance.
- Release tooling now creates one ItemRack-universal archive for Classic Era, Anniversary/TBC, and Forever/Camelot. Shared TOCs and local deployment cover the official clients plus the Forever _classic_beta_ client.
- Ported Forever/Camelot compatibility guards for modern item, spec, mouseover, movement, tooltip, and Equipment Manager APIs into the shared addon code.
- Fixed permanently blank, multiply-highlighted entries in the set icon picker when Forever or an uncached item returned no texture. Missing slot/item icons now use a question mark, late item data refreshes the grid, invalid spell icons are skipped, and saved nil icons are repaired when edited.

__ New in 4.49 - By Bl4ut0 __
- Fixed queue diagnostic branch attempting to call global ResolveProxy (nil) instead of ItemRack.ResolveProxy, resolving Lua errors during queue and trinket evaluation on Classic Era (PR #25).
- Fixed ItemRackOptItemStatsPriority failing to anchor to ItemRackOptItemStatsDelay in ItemRackOptions.xml due to an errant virtual="true" attribute.
- Added C_Item shims and nil guards for GetItemFamily, IsEquippableItem, GetItemInfo, and GetTalentTabInfo to ensure robust operation on modern and classic client variants.

__ New in 4.48 - By Bl4ut0 __
- Fixed Ghost Wolf events on clients reporting stance 1 but zero shapeshift-bar forms. Named forms now support legacy names and modern spell IDs, with language-independent matching for packaged Druid forms. Added permanent Ghost Wolf, named-form, and shared Mounted restoration regressions.
- Fixed set execution discarding preflight's exact-copy reservations, which could let an earlier substitute take the enchanted/gemmed copy saved for a later slot. Observed multi-slot transaction regressions now guard this behavior.

__ New in 4.47 - By Bl4ut0 __
- Fixed movement-gated Mounted events restoring the physical trinket but losing the prior set name and its per-set queues. Event frames now carry the manual base-set identity through final restoration.
- Restored legacy partial-set behavior: unavailable saved items are reported and skipped without blocking valid moves, while full-bag and unsafe two-hand transitions remain fail-closed.
- Contained incomplete cooldown-module loads so the periodic timer reports one actionable warning instead of producing repeated Lua errors.
- Fixed GitHub #24 by distinguishing same-base copies with different enchants, gems, suffixes, or runes in sets, direct clicks, queues, searches, and the queue editor. Full identities are preferred, compatible fallback remains available when the recorded copy is absent, and intentionally bare defaults remain wildcards.

__ New in 4.46 - By Bl4ut0 __
- Refactored ItemRackTransaction.lua and ItemRackEquip.lua so non-conflicting gear moves in a set swap pipeline simultaneously in a single frame, restoring 1-frame instant equipment transformations while preserving full atomic rollback safety if any destination or server check fails.
- Fixed dual-spec Enhancement Shaman keybind/set equips bouncing gear on and off in an infinite loop and failing with "dont have dual spec". Off-hand weapons are safely deferred until after the spec transition completes, equipping immediately upon talent group change.
- Fixed the minimap button lock function by integrating with LibDBIcon-1.0 (LDBIcon:Lock / Unlock) and adding an explicit "Lock minimap button" checkbox under Interface & Misc options.
- Reconciles active equipment transactions immediately when ITEM_LOCK_CHANGED fires, eliminating the 200ms timer delay between individual item swaps while preserving complete transaction safety.
- Trinkets driven by a separate item (such as Serpent-Coil Braid keyed to mana gems) are no longer treated as permanently ready by AutoQueue. Cooldowns and aura holds resolve through ItemRack.CooldownProxies.

__ New in 4.45 - By Bl4ut0 __
- Linking a gear set to a talent specialization (Primary/Secondary Spec) no longer automatically enables the associated Event by default, preventing unexpected double set swaps when equipping a spec-changing set.
- Saving a valid Script event through ItemRack's editor now approves its exact name, trigger, and Lua source. Scripts introduced or changed outside the editor stay disabled until the player enables and accepts them through a warning prompt; unchanged packaged defaults remain privately trusted.
- Added fail-closed registration, dispatch, and logout checks. Rejected or invalid new Script events are removed before they can persist, while rejected changes restore the last approved version disabled.
- Added deterministic production-Lua stress coverage for large profiles: 64 overlapping sets, a 96-entry event/queue context, 931 legacy queues, and 97 serialized multi-slot equipment transactions now run in the standard release gate.
- Fixed same-event generation replacement leaving gear from slots that the newer event set no longer owned. Replacement now emits one coalesced plan that restores dropped slots, keeps retained targets stable, and preserves their original lower restoration history.
- Beta publication notes now include the current beta plus every earlier beta from the same version line, while the in-addon changelog keeps each beta separate for clean stable consolidation.
- This beta is the primary reliability overhaul produced by the v4.24-to-development audit of historical source, packages, GitHub reports, and CurseForge comments. It replaces accumulated event, transaction, queue, cooldown, binding, and button workarounds with explicit ownership/state boundaries and production-Lua regression coverage for live-client beta validation.
- Uses ordered event frames with per-slot restore ownership so shared Ghostwolf/Mounted sets, buried removal, repeated sets, Zone-under-Mounted rebasing, stale generations, and manual gear changes cannot restore over a newer owner.
- Captures legacy event order and restore history before defaults load, backs up ambiguous state instead of guessing, and suspends automatic swaps without rewriting unknown future schemas.
- Routes set, popup, AutoQueue, deferred, empty-slot, and two-hand moves through one serialized, observed transaction with exact identity checks, preflight space validation, bounded retry, and unified cleanup. ItemRack never changes the global Sound_EnableSFX setting.
- Resolves queue owner/list/enabled state atomically and migrates all legacy queue entries with backups, unknown-field preservation, corruption quarantine, and fail-closed gap and future-schema handling.
- Preserves the newest manual set choice or explicit toggle-off over pending automatic or specialization work even when readiness, casting, or locks delay it, and cancels deferred automatic work whose authorizing generation has ended.
- Uses one generation-aware cooldown authority for buttons, popups, queues, and notifications, while coalescing inventory and protected post-combat refresh work.
- Replaces inherited Blizzard action-button templates with ItemRack-owned button templates, keeps slot 20 visual-only, and avoids forcing GameTooltip:Show() from insecure hooks.
- Uses an empty protected carrier for bound sets and one captured set-level request. Protected requests reconcile after combat; ItemRack no longer emits synthetic /equipslot [combat] macros or promises arbitrary in-combat set swaps.
- Replays deferred Script events once with their original arguments and preserves exact-first rune-copy identity across queue, swap, tooltip, and engraving paths.
- Splits stable delivery into a locally installed production candidate and an approved public finalization, with exact committed/tagged-tree packages, verified manifests, and a hard failure when no local client target exists.

__ New in 4.43-beta4 - By Bl4ut0 __
- Fixed the keybinding overwrite confirmation Lua error by passing dynamic prompt text through Blizzard's formatted-text argument path. Set and event names containing percent signs are now safe, and a failed popup no longer leaves the binding controls disabled.
- Hardened the complete set and slot hotkey lifecycle: explicit unbinds are saved, rejected replacements restore both prior keys, secondary keys and extended mouse buttons are recognized, screenshot bindings are protected, and all ItemRack click bindings consistently activate on key release.
- Removed persistent set bindings and stale secure callbacks when a bound set is deleted. Startup reconciliation no longer overwrites unrelated game bindings, and generated set-button callbacks retain the correct set name.
- Fixed issue #21: an explicitly selected set that switches talent specs is preserved even when a different default set is assigned to the destination specialization event. Matching defaults are adopted without a duplicate equip.
- Paused automatic event-set and AutoQueue swaps during summon confirmation, loading screens, and a three-second post-zone settlement window. Mounted swaps now wait for a stable mount state before touching equipment.
- Kept one-item swaps active until WoW releases their equipment and bag locks, and added independent watchdog recovery for lost item-unlock events. Persistent client locks cancel ItemRack's pending callbacks after ten seconds instead of accumulating an apparent combat queue.
- Preserved event/deferred swap provenance across transition pauses and added transition, lock-reason, watchdog, and event-swap fields to support dumps.
- Removed GameTooltip:Show() from insecure set-membership hooks so item hovers cannot taint protected action-button updates.
- Completed rune-aware comparison coverage for equipped-set checks, paired slots, weapon shuffles, dual-wield retries, tooltips, queues, and secure in-combat mismatch recovery while retaining legacy base-item fallback.
- Prevented disabled events from unwinding manually equipped matching sets and forced specialization evaluation when same-spec events or the global event system are re-enabled.
- Reset the lock watchdog for each waiting request, retained the newest manual request for one bounded retry, and reconciled the displayed set state after a partial-swap timeout.
- Unified beta and stable release preparation with complete validation, beta-note consolidation, checksummed exact-source packages, generated GitHub/CurseForge copy, and exact-package local testing.

__ New in 4.43-beta3 - By Bl4ut0 __
- Fixed a major regression in MoveItem where container-to-inventory and inventory-to-container swaps failed to place displaced items into source slots, causing occupied slot swaps to abort with AbortSwap=4, leave orphaned bag slot reservations in LockList, and freeze stance/set swaps into SetsWaiting. Reported by Thoare on CurseForge.
- Ensured ItemRack.ClearLockList is invoked whenever IterateSwapList aborts early, preventing failed or interrupted swaps from locking bag slots in ItemRack's cache.
- Enhanced GetStanceNumber to resolve Druid stance names (Bear, Cat, Aquatic, Travel, Moonkin, Tree of Life) dynamically against GetShapeshiftFormInfo, preventing stance bar index shifts on lower-level or specialized Druids from breaking stance event evaluation.
- Refreshed Season of Discovery engraving data when the bank opens and moved bank-flyout rune markers above Masque and ItemRack's bank-only border so their icons remain visible.
- Fixed a Season of Discovery character-sheet hover error by translating main-bank slots through BankButtonIDToInvSlotID before querying the engraving API; unsupported negative containers are ignored safely.
- Made saved sets, AutoQueue entries, combat-queue completion, bank lookup, and burn-on-use tracking rune-aware so identical gear carrying different runes is matched and swapped by its saved rune. Legacy entries without rune metadata retain the existing base-item fallback for Era and TBC compatibility.
- Added a SoD-only "Show SoD rune icons" option synchronized with Blizzard's native always-show setting. ItemRack now marks engraved items in flyout menus, quick-access buttons, the set editor, and AutoQueue rows, including cached learned-rune icons for saved bank entries.
- Kept same-item AutoQueue entries with different runes distinct when the Queue options are opened or rebuilt; legacy non-rune entries retain base-item de-duplication.

__ New in 4.43-beta2 - By Bl4ut0 __
- AutoQueue now skips queue candidates that exist only in an equipped paired ring/trinket slot and continues to the next ready item carried in bags; additional matching bag copies remain eligible. Reported by Bloodasha on CurseForge.
- Cleared the inherited ItemRackButton20Count action-button region so numeric counts can no longer cover the current set name. Reported by smackadack on CurseForge.
- Restored the set button's Classic Era right-click behavior: with "Menu on right click" enabled, right-click toggles the gear-set list, while Alt+Right-click still opens the Sets options tab. Reported by gizmo22 on CurseForge.
- Fixed bound set and weapon swaps being ignored during combat on Classic Era/Season of Discovery 1.15.9 and TBC Anniversary 2.5.6 by explicitly configuring secure set-binding buttons for key-up activation (PR #20, contributed by Hamdor). Superseded in Development: bindings now capture one set-level request and reconcile it after combat instead of issuing synthetic in-combat /equipslot macros.
- Changed the AutoQueue diagnostic flight recorder to collect entries only while Queue diagnostics or master debugging is enabled, and to release its buffer when tracing is disabled.
- Initialized all supported debug tags explicitly and added diagnostic tracking markers so per-tag toggles and support dumps remain consistent.

__ New in 4.43-beta1 - By Bl4ut0 __
- Gated queue evaluation behind ItemRack.QueueStateReady to prevent queue checks during loading screens or before item data is resolved.
- Implemented TryInitializeQueueState to safely scan all 20 equipment slots via native GetInventoryItemID, deferring initialization if any occupied slot has unresolved item data (GetID == 0).
- Validated persisted EquipTimers on UI reload/login against table schemas, numeric timestamps, exact item IDs, and the 0-30s elapsed time window.
- Preserved snapshot baseline across PLAYER_ENTERING_WORLD zone and instance transitions without resetting equip timers or generating false equip penalties.
- Captured post-activation cooldown provenance (LastActivation) for dual trinkets (slots 13 & 14), enforcing an 8-point rejection guard to prevent burning follower trinkets in macros while permitting independent trinket and ring activations.
- Converted Burn-on-Use to 100% event-driven activation (ReflectItemUse), removing legacy duration-based burn inference (> 30s) and establishing slot-aware equip hold thresholds.
- Added empty-to-item transition handling for RecordEquipTime when equipping items into empty slots, and guaranteed non-blocking OnUnitInventoryChanged event processing.

__ New in 4.42 - By Bl4ut0 __
- Updated interface version from 11508 to 11509 in TOC files for Classic Era 1.15.9 (build 68808) support while retaining TBC Anniversary 2.5.5 and 2.5.6 support.

__ New in 4.41 - By Bl4ut0 __
- Fixed a bug where quick-access buttons that had been toggled off (removed) would reappear as empty grey squares on login or character reload. Securely wrapped the button's Show() method to prevent external addons (like Masque) or Blizzard's internal Action Bar system from showing buttons that are not currently active in the user's layout.
- Fixed summon, portal, and instance transitions that forcibly dismount the player while a mount set is active. Mounted events now unwind before destination Zone sets apply, preventing inactive mount entries and corrupted restoration chains while preserving gear when the mount survives the transition.
- Implemented real-time oldset cycle prevention (PreventLiveOldsetCycle) to automatically detect and splice circular set loops (SetA -> SetB -> SetA) during live set swaps without breaking gear restoration chains.
- Allowed weapon slot swaps (Mainhand, Offhand, Ranged) to execute immediately during combat when not spellcasting, while armor slots continue to defer safely to CombatQueue.
- Added real-time event spin-down (SpinDownEvent) and spin-up (SpinUpEvent) when checking/unchecking or deleting events in the options menu or toggling events globally. Unchecking an active event immediately pops it and restores base gear.

__ New in 4.40 - By Bl4ut0 __
- Added TBC PTR 2.5.6 support by adding interface version 20506 to ItemRack.toc.
- Fixed character sheet left-side popout menus rendering off-screen by default in the default WoW UI (Issue #17) - Fix provided by physixtential. Defaulted LeftSlotsGoRight to "ON" and added a one-time profile migration to update existing configurations.
- Fixed ADDON_ACTION_BLOCKED taint errors on Blizzard action buttons (SetAttribute) caused by calling tooltip:Show() inside ListSetsHavingItem under insecure hooks. Removed the redundant Show() call.
- Resolved a bug where equipping an item set containing multiple items already on cooldown (with Auto-Queue enabled) only swapped the first slot. Subsequent slots were deferred to the combat queue and got stuck outside of combat. ItemRack.LocksChanged() now sequentially processes deferred combat queue swaps and waiting sets.
- Fixed a bug where manual item or set swaps queued during combat were deleted from the combat queue if the currently equipped item was ready (cooldown finished). Added an AutoQueueFlag check to ensure only auto-queued items are removed from the queue.

__ New in 4.40-beta2 - By Bl4ut0 __
- Resolved a bug where equipping an item set containing multiple items already on cooldown (with Auto-Queue enabled) only swapped the first slot. Subsequent slots were deferred to the combat queue and got stuck outside of combat. ItemRack.LocksChanged() now sequentially processes deferred combat queue swaps and waiting sets.
- Fixed a bug where manual item or set swaps queued during combat were deleted from the combat queue if the currently equipped item was ready (cooldown finished). Added an AutoQueueFlag check to ensure only auto-queued items are removed from the queue.

__ New in 4.40-beta1 - By Bl4ut0 __
- Fixed a bug where manual item or set swaps queued during combat were deleted from the combat queue if the currently equipped item was ready (cooldown finished). Added an AutoQueueFlag check to ensure only auto-queued items are removed from the queue.

__ New in 4.39.9 - By Bl4ut0 __
- Enabled screen clamping for the main options frame (ItemRackOptFrame) and the event script editor (ItemRackFloatingEditor) to prevent windows from clipping off-screen when scaled up.

__ New in 4.39.8 - By Bl4ut0 __
- Added Options panel accessibility sizing checkboxes (Default, Bigger, Biggest) to scale the settings UI (100%, 130%, 160% scale).
- Split the menu wrapping functionality into two independent settings: "Quick menu wrap" (horizontal expansion, e.g. for quick access buttons) and "Char sheet wrap" (vertical expansion, e.g. for slot hover menus) to prevent layout conflicts.
- Fixed a layout bug where floating-point values returned from WoW's slider API caused popout menu wrapping to fail, leaving backdrop frames broken.

__ New in 4.39.7 - By Bl4ut0 __
- Fixed a bug where right-side character sheet slots (Gloves through Rings) would have their tooltips anchor to the left and overlap the popout menus by replacing coordinate-based layout checks with a deterministic settings-based evaluation.

__ New in 4.39.6 - By Bl4ut0 __
- Fixed tooltip anchoring inconsistency for right-side character sheet slots to pop out to the left by default (matching the pre-4.39.4 default behavior) and aligned AnchorTooltip to match.

__ New in 4.39.5 - By Bl4ut0 __
- Centralized event recheck scheduler triggers automatic settled rechecks at 0.5s/1.5s on world loading and zone boundaries.
- Unified combat and casting stop triggers to re-evaluate all event types instead of only buffs.
- Implemented signature-aware zone transitions using instance ID to resolve overlaps and clear manual override across separate dungeons of the same type.
- Handled buff and stance exclusions as state transitions to unwind active events immediately.
- Ordered pending zone transitions deterministically by executing unequips before equips in alphabetical priority.
- Fixed mount set lookup in ProcessZoneEvent and added defensive nil guards for event lookups.
- Fixed Masque skinning for Quick Access buttons by passing explicit button regions (Icon, Cooldown, Count, HotKey) to AddButton.
- Fixed a bug where the swap menu frame (ItemRackMenuFrame) background was rendered as a solid white texture in recent client patches. Re-anchored bgFile to DialogBox-Background.
- Fixed a bug where the diagnostic log and state dump window (/itemrack dump) appeared entirely blank due to the multiline edit box collapsing to 0 height. Added an OnTextChanged height recalculator script.

__ New in 4.39.4 - By Bl4ut0 __
- Fix: Fixed a major regression where active, dynamically-managed settings (such as the minimap icon position, events database version, show set info in tooltips, and action bar sound suppression settings) were pruned on startup by the SavedVariables auditor, causing them to reset on every logout or reload.
- Fix: Reorganized diagnostic dump output section order, added debug states (DebugAll, DebugChat, DebugTags) and restored the ItemRackUser.Buttons layout configuration. Reorganized options settings list.
- Fix: Generalized the mount check in ProcessZoneEvent to search the active event stack for any active event with the Anymount flag set, allowing custom mount event names (like "pvp mount").
- Fix: Resolved code duplication syntax warnings in ItemRack.lua. Added automated Lua validation checks.

__ New in 4.29.3 - By Bl4ut0 __
- Fix: Removed stray macro/action name text from Blizzard's ActionBarButtonTemplate leaking onto ItemRack quick access buttons. The inherited Name FontString is now cleared and permanently blocked for slots 0-19.

__ New in 4.29 - By Bl4ut0 __
- Fix: Resolved "ADDON_ACTION_BLOCKED" taint errors that caused Blizzard action bar buttons to break after opening the character sheet. Two taint vectors fixed: (1) GameTooltip.SetOwner replacement permanently tainting the table key — now uses post-handler ClearAllPoints/SetPoint with alpha-hide. (2) ActionBarButtonTemplate dispatcher registration propagating taint from ItemRack buttons to real action buttons — ButtonOnLoad now unregisters from all shared dispatchers.
- Fix: Button nil scaling errors on clients with older profile data (SoD / Classic Era).
- Added: "Highlight unequipped in tooltip" setting — unequipped set items shown in Orange.
- Improved: Tooltip placement for character sheet popout menus no longer overlaps buttons.

__ New in 4.28 - By Bl4ut0 __
- Fix: "Show set info in tooltips" now reliably shows the "ItemRack Set:" label on all items. Uses new exact item-field matching (enchant/gem aware) that handles TBC item string format changes. Internal sets are now hidden from tooltips.
- Added: Blizzard Keybindings panel integration — all 20 equipment slots now appear under AddOns > ItemRack with descriptive slot names.
- Improved: Large Numbers cooldown display now uses mm:ss format with dynamic coloring (white > 60s, yellow < 60s, red < 5s) and THICKOUTLINE font.
- Improved: Suppressed WoW's native cooldown countdown numbers on ItemRack buttons to prevent duplicate text.
- Improved: Hotkey text rendering — subtle gray color and proper hide/show when no key is bound.

__ New in 4.27.1 - By Bl4ut0 __
- Fixed Spec Swap Bug:
  - Ensured "Custom" label correctly updates to the set name after a specialization change.
  - Improved UI synchronization with a 2-second login delay and internal timers.
- Queue System Improvements:
  - Fixed item duplication in the queue due to minor string ID mismatches.
  - Resolved multiple "Stop Queue Here" markers appearing in the list.
  - Automatic cleanup of existing duplicates/markers upon opening the queue menu.
- UI & Interaction Refinements:
  - Smart Menu Docking: Left-side slot menus now spawn to the left to prevent overlap.
  - Repositioned minimap tooltip to avoid obstructing menus.
  - Improved Right-Click queue cycling with robust bag search.
  - Added Alt+Right-Click to open the Queue configuration panel directly.
- Display Fixes:
  - Refined stack/charge visibility on buttons.
  - Fixed empty Ranged/Ammo slot showing "0".

__ New in 4.27 - By Bl4ut0 __
- Added Adaptive Multi-Spec Support:
  - UI now adapts to show "Secondary Spec" option only if Dual Spec is learned.
  - Spec checkboxes are dynamically named based on your highest point talent tree (e.g. "Holy", "Arms") for easier identification.
  - Spec sets now auto-switch gear when you change talent specializations.
- Improved Keybind Scheme for Slot Buttons:
  - Left-Click: Use the item (trinkets, on-use effects)
  - Right-Click: Cycle to the next item in the queue (manual swap)
  - Alt+Right-Click: Open the item selection flyout menu
  - Alt+Left-Click: Toggle Auto-Queue on/off for that slot
- Fixed Issue with ItemRack Buttons inheriting ActionButton traits (Keybinds, Red Flash on Auto Attack)
- Fixed Stacked UI elements "Select a slot" and "Press a key" overlapping
- Fixed Focus Preservation: Options window no longer jumps to current set after saving

__ New in 4.26 - By Bl4ut0 __
* Corrected Right-Click action: Decoupled Right-Click "Auto-Progress" from Menu settings. Right-Clicking a queued slot now swaps to the next item by default.
* Implemented Queue Looping: Manual Right-Click swapping now wraps around to the start of the queue when reaching the end or a stop marker.
* Fixed Keybinding System: Resolved issue where keybinds (e.g., "0") would not execute due to security blocks on /script. Keybinds now use secure PostClick handlers.
* Fixed Keybinding Persistence: Keybinds assigned in options are now saved immediately to server, preventing loss after reload.
* Cleanup: Deleting a set now correctly unbinds its associated keybind to prevent orphaned bindings.

__ New in 4.25 - By Bl4ut0 __
* Fixed "Action Blocked" errors by replacing incompatible "ActionButtonTemplate" with custom secure button implementation.
* Added comprehensive API shims (C_Container, C_AddOns, C_Item) to support the modern TBC Anniversary client architecture.
* Fixed graphical glitches (Yellow Triangles) in the Options menu by cleaning up anonymous texture layers.
* Updated TOC for Interface 20504 (TBC Anniversary).

__ New in 4.23 - By Rottenbeer  __
* Fix TOC for Cata by Adal4

__ New in 4.22 - By Rottenbeer  __
* cloudbells: Fix xml errors

__ New in 4.21 - By Rottenbeer  __
* Fixes the cata bank slots

__ New in 4.2 - By Rottenbeer  __
* Fix SoD runes by romracer
* Fix "calling 'GetName' on bad self" by romracer
* Fixed item stuck on cursor when unequipping set by romracer
* Fix itemrack set matching in tooltips by romracer

__ New in 4.11 - By Rottenbeer  __
* Fix versioning

__ New in 4.10 - By mikinho __
* Fixes for SOD

__ New in 4.00 - By Rottenbeer  __
* Add Cata CI release

__ New in 3.78 - By Roadblock __
* Release Cata version
* Maybe fix for missing keybinds

__ New in 3.77 - By Rottenbeer __
* Fix curseforge release, don't commit before 10am

__ New in 3.76 - By Roadblock __
* Support for SoD
* Fix for missing keybinds

__ New in 3.75 - By Roadblock __
* WOTLK 3.4.1 compatibility
* Fix a flyout menu tooltip error

__ New in 3.74 - By Roadblock __
* WOTLK fix for Polearms + Titan's Grip.
* Fix for ammo slot not equipping the set ammo.
* Fix for JC (and possibly other) unique-equipped gems in gear.

__ New in 3.73 - By Rottenbeer __
* Classic toc update again. Thanks to @jelmerj!

__ New in 3.72 - By Rottenbeer __
* Classic toc update. Thanks to @jelmerj!

__ New in 3.71 - By Rottenbeer __
* WOTLK fixes for Titen's Grip. Thanks to @ThisIsMakena and @jelmerj!
* Classic fixes. Thanks to @jelmerj!

__ New in 3.70 - By Rottenbeer __
* WOTLK release! Thanks to @ThisIsMakena and @jelmerj!

__ New in 3.69 - By Rottenbeer __
* Fix backgrop and bindings error for wow classic 1.14, thanks minigwen

__ New in 3.68 - By Rottenbeer __
* Fix lua error on login regarding bindings
* Add tree of life event

__ New in 3.67 - By Rottenbeer __
* Add another bank slot for tbc

__ New in 3.66 - By Rottenbeer __
* Fix set display in libbroker, thanks mrbuds

__ New in 3.65 - By Rottenbeer __
* Show current set in libbroker, thanks mrbuds

__ New in 3.64 - By Rottenbeer __
* Fixed missing backdrop for tbc release, thanks to tobbi007 for the hint
* Changed library for the minimap icon, so it should integrate better with
other addons, thanks to mrbuds
* Updated toc

__ New in 3.63 - By Rottenbeer __
* Version bump for github releases

__ New in 3.62 - By Rottenbeer __
* Fix luacheck errors

__ New in 3.61 - By Rottenbeer __
* Test for github actions

__ New in 3.60 - By Rottenbeer __
* Package for bcc and classic

__ New in 3.54 - By Rottenbeer __
* Workaround for a startup race in AdiBags

__ New in 3.53 - By Rottenbeer __
* ItemRack should no longer initiate while in combat
* Updated TOC version
Thanks to wardz for the PR

__ New in 3.52 - By Rottenbeer __
* Provide LibStub which is needed for Masque support

__ New in 3.51 - By Rottenbeer __
* Masque support
Thanks to pshurgal for implementing it!

__ New in 3.50 - By Rottenbeer __
* Prevent toggle set change when player change subzone but not in raid instance.
Thanks to Cyanokaze for implementing it!

__ New in 3.49 - By Rottenbeer __
* Version bump to sync with the shown ingame version

__ New in 3.48 - By Rottenbeer __
* Add PVE instance disable flag for events to prevent mounted events to
trigger in AQ
Thanks to root and lindleywhite for the pull request

__ New in 3.47 - By Rottenbeer __
* Fix lua error when saving hotkey bindings in combat

__ New in 3.46 - By Rottenbeer __
* Add option to use different auto-queues depending on the active set
Thanks to brzGatsu for the pull request!

__ New in 3.45 - By Rottenbeer __
* Updated TOC version to 11305

__ New in 3.44 - By Rottenbeer __
* Add option for per-set cloak/helm visibility
* Added the spell fail event  for casting events

Thanks to blastehh and btnmasher!

__ New in 3.43 - By Rottenbeer __
* Fixed item swap failure during casting
Attempting to item swap during casting will now wait for an end-combat, or cancel-casting event before swapping instead of failing.
A known bug is it won't finish the swap if you complete a cast but do not enter combat (e.g. autoqueue item comes off cd while you are mounting)

Thanks to blastehh!

__ New in 3.42 - By Rottenbeer __
* Fix for alt+click queue toggle
Auto queue wasn't working due to mismatching usage of 'true' and '1'

Thanks to blastehh!
__ New in 3.41 - By Rottenbeer __
* Fix individual slot queue toggle
The addon currently tries to queue all slots and ignores the checkbox "Auto queue this slot"
This will make it check the table to see if the box was actually ticked before queuing a slot.

Thanks to blastehh
__ New in 3.40 - By Rottenbeer __
* version bump for curseforge

__ New in 3.39 - By Rottenbeer __
* ZoneEvents: check for subzones and indoor area changes

__ New in 3.38 - By Rottenbeer __
* Prevent unequipping sets that are not marked to unequip for buff events
Thanks to davismj for the pull request

__ New in 3.37 - By Rottenbeer __
* Incremented release version to fix cyclic updates on curseforge

__ New in 3.36 - By Rottenbeer __
* Manual changelog on curseforge

__ New in 3.35 - By Rottenbeer __

* Automatic packaging for curseforge

__ New in 3.32 - By Mikinho/Iblis/Sut/Reddsiq __

* Added new default event "Nefarian's Lair" so players can auto swap Onyxia Scale Cloak easily.

__ New in 3.31 - By Mikinho/Iblis/Sut/Reddsiq __

* Bug fix for Hunter trinket swap when feign death.

Note: Requires below Hunter macro

```
/petpassive
/cast Feign Death
```

__ New in 3.30 __

* Fixed queue icon not disappearing after combat
* Update UI Version

Thanks to blastehh for the PR

__ New in 3.29 __

* Decrease delay until gear is swapped for buff and zone
Suggested by ysaliens

__ New in 3.28 __

* Enabling events also starts the mounted event timer and vice versa
* Moved all logic of the mounted event timer to ItemRackEvents.lua

Thanks to seidhrhealz for the PR

__ New in 3.27 __

* Check if events are enabled before switching mounted gear

__ New in 3.26 - By Cactus __

* Added Events parameters to scripts
* Integrate itemrackautoridinggear to make mounting events more reliable. Thanks
* to seidhrhealz for the PR
* Fixed a problem with scripts not receiving event parameters. Thanks to
* plchampigny for the PR

__ New in 3.25 __

* Revert Raised minimap button strata, so it is visible with SpartanUI (or other
overhauls), since it breaks broker functionality

__ New in 3.24 __

* Raised minimap button strate, so it is visible with SpartanUI (or other
overhauls).

Thanks to poptix for the PR

__ New in 3.23 __

* Added possibility for AdiBags to create rules.
Thanks to Andrew Potter for the PR

__ New in 3.22 __

* Add option to disable set info in toolstips
* Add combat swap for sets with hotkeys
* EquipSet events triggered by hotkeys will now be able to swap weapons in
combat.

__ New in 3.20 __

* Display set info in tooltip
* Remove leftover retail functions

__ New in 3.08 - By Kharthus __

* Bug fixes for event and queue errors
* Fixed error due to UIPanelButtonTemplate2

__ New in 3.07 - By Kharthus __

* TOC update for 8.2 patch

__ New in 3.06 - By Kharthus __

* Fixes for 8.0 patch

__ New in 3.05 - By Kharthus __

* Fixes for off-hand artifact weapons (Thanks oscarucb)

__ New in 3.04 - By Kharthus __

* More fixes for PlaySound (missed the xml files)

__ New in 3.03 - By Kharthus __

* Updates for 7.3 patch

__ New in 3.02 - By Kharthus __

* TOC update for 7.2 patch

__ New in 3.01 - By Kharthus __

* TOC update for 7.1 patch

__ New in 3.00 - By Kharthus __

* Updates for 7.0.3 patch
* Removed helm/cloak hiding options

__ New in 2.98 - By Kharthus __

* Fixed items with different enchants

__ New in 2.97 - By Kharthus __

* TOC update for 6.2 patch

__ New in 2.96 - By Kharthus __

* Fixed green icons in Sets screen

__ New in 2.95 - By Kharthus __

* TOC update for 6.1 patch

__ New in 2.94 - By Kharthus __

* Properly remove disabled events

__ New in 2.93 - By Kharthus __

* Added support for bonus stats in WoD (Thanks Gello)

__ New in 2.92 - By Kharthus __

* Fixed black and white buttons and gear icons

__ New in 2.91 - By Kharthus __

* Code cleanup for 6.0.2

__ New in 2.90 - By Kharthus __

* Fixed helm/cloak hiding

__ New in 2.89 - By Kharthus __

* TOC update for 6.0.2 patch

__ New in 2.88 - By Kharthus __

* TOC update for 5.4 patch

__ New in 2.87 - By Kharthus __

* New option for Hide the ItemRack buttons during pet battles

__ New in 2.86 - By Kharthus __

* Hide the ItemRack buttons during pet battles

__ New in 2.85 - By Kharthus __

* TOC update for 5.2 patch

__ New in 2.84 - By Kharthus __

* Fixed Monk off-hands

__ New in 2.83 - By Kharthus __

* TOC update for 5.1 patch

__ New in 2.82 - By Kharthus __

* Fixed dual spec events

__ New in 2.81 - By Kharthus __

* Attempt to fix GlyphUI problem

__ New in 2.8 - By Kharthus __

* Updates for MoP

__ New in 2.73 - By Kharthus __

* TOC update for WoW 4.3.0
* Fixed GetNumMacroIcons error in 4.3

__ New in 2.72 - By Kharthus __

* TOC update for WoW 4.2.0

__ New in 2.71 - By Kharthus __

* TOC update for WoW 4.1.0

__ New in 2.7 - By Yewbacca __

* Created new consolidated patterns for ItemLink/ItemString-to-ItemRackStyleID, ItemRackStyleID-to-BaseID, ItemLink/ItemString-to-BaseID
* Created new functions that use those patterns, and various other new helper functions, in order to consolidate all ItemString-handling in one place
* Replaced all old-style handling of itemIDs (string.gsub/find/match) and made everything use the new functions instead, for more robust handling as well as easy updates in the future
* Replaced GUI drawing code with references to new functions, to get icons and tooltips to work in the GUI
* Updated the GUI code so that it always draws item tooltips using the player's current level, which ensures that mousing over heirlooms in saved sets will actually show their stats for your CURRENT level (the old code set all levels to 0 which made it so the stats were shown incorrectly as level 1)
* Improved the two functions that actually LOCATE the stored equipment set items inside the player's inventory/equipment/bank (whether it's for equipping, or simply displaying a tooltip), by making sure those functions pass the INCOMING ID through the new level updater (UpdateIRString) to ensure all old Item IDs are up to date, thus fixing the bug where leveling up would cause ItemRack to fail strict item search on all saved sets and resort to any-item-with-the-same-baseID; this injection point was chosen because it fixes the problem completely throughout the board, since everything that locates items relies on the item finding functions
* Updated the functions for getting info for an item (GetInfoByID), posting an itemlink to the chatbox when shift clicking an item in ItemRack's GUI (ChatLinkID), and the function for showing an item in a tooltip, so that they all pass the incoming ID through the level updater (UpdateIRString) in order to work with up-to-date information, since it's important that stats are correct whether it's for posting chat links or looking at a tooltip's stats
* Commented and cleaned up terrible code here and there, as I untangled the messy code (minor changes)

__ New in 2.65 - By Kharthus __

* Reverted gear swap code to 2.243 version

__ New in 2.64 - By Kharthus __

* Fixed slash commands

__ New in 2.63 - By Kharthus __

* Replaced all getglobal calls with _G
* Fixed Titan's Grip and Shaman off-hand

__ New in 2.62 - By Kharthus __

* Fixed lua errors caused by chat links
* Fixed issues with clicking on Dockable Buttons
* Fixed event code
* Fixed icon updates on gear swaps

__ New in 2.61 - By Kiki __

* Fixed lua errors caused by tooltips

__ New in 2.60 - By Kiki __

* Fixed for WoW 4.0

__ New in 2.25 __

* Fix for Titan's Grip and dual spec
* Fix for Shaman's dual wield

2.65, 10/22/10, gear swap code
2.64, 10/17/10, slash commands
2.63, 10/17/10, global variables, titan's grip, shaman DW
2.62, 10/16/10, chatframe errors, dockable buttons, event handling
2.61, 10/15/10, tooltip lua errors
2.60, 10/13/10, toc update, fix for wow 4.0
2.25, 4/17/09, toc update, TG talent fix for dual wield, shaman dual wield talent fix
2.243, 10/14/08, more DK, Titan's Grip, shaman dual wield support
2.242, 8/17/08, delayed OnLogin to timer, basic Titan's Grip support
2.241, 8/13/08, removed nil of .old in unequip, PLAYER_AURAS_CHANGED to UNIT_AURA, button font to styles
2.24, 8/9/08, added self,offset to OnVerticalScroll, changed GetPlayerBuffName to UnitAura
2.23, 7/17/08, changed "Tree of Life Form" to "Tree of Life", added "Except in PVP instances" option to buff/stance events, added "Disable alt+clicK" option, UNIT_SPELLCAST_x now watched to delay set swaps via existing SetsWaiting, changed if elseif elseif etc in OnEvent to tabled ItemRack.EventHandlers
2.22, 7/10/08, MouseIsOver in menu update checks for frame visibility, second set to /itemrack toggle, alt+left click (show hidden sets) on minimap button with "Allow hidden items" disabled will behave the same as alt+right click (toggle events), "Equip on choosen set" renamed "Equip in options" and works for slots now as well as sets, changed shine flash from default UI's fade to inhouse timer (taint issue)
2.21, 6/29/08, added options Equip on choosing set, Set menu wrap, Show minimap tooltips, alt+left click minimap button=show hidden sets, alt+right click minimap button=toggle events, added swimming, druid flight form, druid swift flight form to events, prevent mount event on taxi (SaberHawke), gear icon on minimap regardless of dockable set button status, check for existing set on tooltip
2.2, 6/19/08, added event system
2.16, 6/8/08, added item lock throttle, equippable items in container cache (updated at end of lock update), replaced buff cache with GetPlayerBuffName, Feign Death checked with GetPlayerBuffName if enUS, gear icon shows if all queues disabled, but half alpha
2.15, 5/26/08, menu strata forced high in DockWindows, item tooltips look in bank if not on person, "^Requires" exception for IsRed changed to ITEM_MIN_SKILL global, set equip/unequip wait system added, hide set checkbutton, ignore/show/hide cloak/helm buttons back for now
2.14, 5/15/08, BankFrame:IsVisible() now a flag again, ITEM_SPELL_CHARGES split to separate search strings (Maldivia), Cooldown90 option, TrinketMenuMode fixed
2.13, 5/13/08, added topLevel="true" to ItemRackMenuFrame (Romracer), Menu on Shift tooltip bug (Romracer)
2.12, 5/12/08, ITEM_SPELL_CHARGES_P1 removed, %d+ replaced with %-?%d+, empty->2h swap fix by Romracer, AnythingLocked() fixed, ValidBag uses GetItemFamily
2.1, 7/14/07, tooltip fix for 2.2 patch, minor edits/fixes over past months
2.0-beta, 1/30/07, complete rewrite.
1.991, 12/23/06, bug fixed: hide/show made combat-aware
1.99, 12/4/06, added: 2.0 changes, key bindings
1.983, 10/19/06, changed: "inventory" attribute to "item" attribute
1.982, 10/14/06, updated: for lua 5.1 (by Esamynn), uses secure action buttons
1.974, 8/22/06, toc changed
1.973, 8/2/06, bugs fixed: changed evocation to ITEMRACK_BUFFS_CHANGED, changed Spirit Tab Begin arg1 to ItemRack.Buffs
1.972, 7/29/06, bug fixes: arg1 preserved through BuffsChanged, GetMouseFocus() could be nil in BAG_UPDATE
1.971, 7/28/06, bug fixes: changed BankFrame:IsVisible to a flag when bank open/closed, SPELLS_CHANGED events now PLAYER_AURAS_CHANGED for 1.12
1.97, 7/27/06, added: bank support, ITEMRACK_BUFFS_CHANGED
1.96, 4/20/06, bug fixed: 4606 error, checked if queue empty, changed: unequip will unequip whole set even if partial unequipped, reset events will nil .old itemid's in sets
1.95, 4/6/06, changes: IsSetEquipped "optimizations" removed, temporary events reverted to earlier versions, tooltip fix scaled back to one SetOwner, queuing a worn set clears queue for those slots, added: queued item insets to character sheet
1.94, 3/29/06, bug fix: menu not appearing on bar
1.93, 3/29/06, bug fixes: nil errors from tooltip changes, added: relic slot support
1.92, 3/20/06, bug fixes: attempt to fix arithmetic on string value 4706
1.91, 3/19/06, bug fixes: invalid key for 'next', couple nil errors, changed: mount event to old style, added: option ('Show set icon labels') to show/hide set labels, option ('Auto toggle sets') to auto toggle sets, shift on chosing set toggles set
1.9, 1/24/06, release of 1.891-1.897
1.897 (1.9 beta7) 2/24/06, bug fixed: queue jams (hopefully) gone for good, added: option to show/hide cloak/helm, AQ mount checks, changed: consolidated timers
1.896 (1.9 beta6) 2/21/06, bug fixed: new user and post-combat/death error
1.895 (1.9 beta5) 2/20/06, bug fixed: hide tradables fixed
1.894 (1.9 beta4) 2/19/06, changed: options to scrollable list, form events use IR_FORM global, combat/death queue redone to a single "set" instead of a full queue, alt+click on locked bar won't add/remove slots, one-hand won't show up in offhand for non-DW'ers, items clicked on cooldown won't appear to be used, added: square minimap, large cooldown, reset events
1.893 (1.9 beta3) 2/5/06, bug fixed: TrinketMenu Mode menu fixed if only trinkets on bar, added: Large font option for event script, changed: Event scripts overhauled for new EquipSet
1.892 (1.9 beta2) 1/29/06, bug fixed: non-standard bags recognized, old freespace code removed, 2h swaps on bar immediate move
1.891 (1.9 beta1) 1/28/06, changed: new EquipSet (enchants recognized), ^Requires dropped from "red" check, player-made events won't unregister on zoning, minimap button scaling fixed, /itemrack reset fixed
1.84, 1/20/06, bug fixed: menu update only checks MouseIsOver for plugin if it's installed
1.83, 1/19/06, added: titan support/docking, bug fixed: scroll wheel on lists, changed: checks for TitanRider enabled, events unregister/register on zoning
1.82, 1/16/06, changed: ALT+click/hide behavior made an option for all but sets (default off), bugs fixed: notify with no bar on screen should reliably fire, 2h->1h+offhand swaps will moved orphaned offhand to leftmost bag again
1.81, 1/14/06, bug fixed: Mount event
1.8, 1/12/06, added: IsSetEquipped(setname) returns true if all slots in a set are currently worn, error message when attempting to equip a set that doesn't exist, TitanPanel_ItemRackUpdate, note that events are suspended when set/event window up, bugs fixed: Disenchants/enchants/etc during gear swaps will abort the swap, Bloodvine will show up in menu on enUS clients, ammo count shows again, changed: initialization done in phases, removed cooldown boundry checks, tooltip scans changed to GetItemInfo, new events: Eating-Drinking, Low Mana, Skinning, Mage:Evocation, Priest:Spirit Tap Begin, Priest:Spirit Tap End
1.74, 1/8/06: bugs fixed: bags should work properly on deDE clients, set icon will remember last set when leaving an event, "Mount" event no longer disabled if TitanRider installed
1.73, 1/7/06: bugs fixed: Scrollbars enabled properly (the thumb will appear in 1.9.1 patch), Bindings saved using new SaveBindings, Soul Bags treated like quivers, ammo slot name lifted from tooltip for SaveSet, notify will happen if bar is off screen, changed: In TrinketMenu Mode, hold Shift to keep menu open on the bar, if any event uses ITEMRACK_NOTIFY trigger notify is automatically enabled, removed: check for TitanRider
1.72, 1/3/06: added: reset button added to options, bugs fixed: items used from action bars noticed by mod, users without SCT won't have notify messages "stick", scaling fixes for 1.9, removed scalebugfix (huzzah!)
1.71, 12/21/05: changed: inventory items used elsewhere in the UI reflects in the mod, arg1 and arg2 save on delayed events, added: ITEMRACK_ITEMUSED event (arg1=item name, arg2=item slot), Insignia Ready/Insignia Used events, examples for making scripts that swap on use, bugs fixed: added pink tiger to problem mounts
1.7, 12/8/05, added: events (see events manual.txt), sets queue, sets menu on minimap button, 30 second notify, French localization by Tinou, more slash commands (/itemrack help)
1.61, 11/02/05, bugs fixed: tooltip back to standard GameTooltip (should fix issues with Tipster, TipBuddy and other tooltip mods), set builder now updates properly when nothing on the bar
1.6, 10/31/05, bug fixed: error when items on notify queue are banked, "Container" in DE localized, added: menu pops up on character sheet, audible alert on notify, changed: ItemRack_CurrentSet made global
1.5, 10/5/05, bug fixed: pairs of items of same name with one worn swap, "Container" in German, added: Flip bar growth option, alt+click items in menu to hide them, changed: selecting set equips it
1.42, 10/2/05, bug fixed: two items of same name will swap in sets, key bindings in normal key binding window force to sets
1.41, 9/30/05, bug fixed: nil error on mouseover set icon
1.4, 9/30/05, added: sets, minimap button, /itemrack opt, help text, changed: using sharpening stones/poisons/enchants/etc will work on the bar, only wearable items will show in menu, options moved to a tab on sets window, bugs fixed: ghost countdowns for real
1.32, 9/18/05, bugs fixed: overhead errors fade normally, tabard on bar with cooldown/notify won't error, switching from 2h to 1h+shield queue works properly, swapping to empty won't attempt to put items in quivers, "ghost" cooldowns no longer show on empty slots, removed check for 1.7 in supposed client bug fix for 1.7 that never happened, changed: queues process as sets in stages
1.31, 9/8/05, bug fixed: rotate menu works when bar is horizontal
1.3, 9/7/05, added: German translation by Leelaa, Alt+right click an item will add a space after it, changed: right-click will activate an item same as left click, holding Alt while mouseover items will show full tooltip if Tiny Tooltips enabled, option TrinketMenu Clicks renamed TrinketMenu Mode, while TrinketMenu Mode enabled trinkets show as one menu, bugs fixed: overlapping tooltips, queue won't process upon FD, ammo count shows when adding to rack
1.21, 9/3/05, added: ammo shows quantity, changed: custom tooltip used instead of standard, bug fixed: thrown weapons recognized, multiple ammo stacks show as one in menu, error clicking empty slot with notify on, weapons will queue while dead
1.2, 9/3/05, added: options to hide tooltips or make them smaller, notify when items ready, /itemrack scale as alternative to set scale, changed: spacers to trinkets when TrinketMenu Clicks checked, OnUpdates given ItemRack_InvFrame parent, bugs fixed: mod hides when UI hidden, hunter FD won't block item swaps
1.1, 9/2/05, added: option to swap to empty slots, option to reverse menu growth, left/right-click trinkets options added, changed: "Soulbound Only" renamed to "Hide Tradables", some slots ignore soulbound flag now: trinket, ammo, shirt, tabard. quest and conjured items now show with 'Soulbound Only' on. bug fixed: items queued while dead will swap on res before release
1.0, 8/31/05, initial release
