# SlickUI

## 0.47.0 - First public release candidate

- Provides configurable unit, group, and nameplate frames designed for WoW 12.1 protected values.
- Adds SlickUI action bars, bags, bank, quest tracker, information bars, minimap-button organization, alerts, group controls, and movable frame tools.
- Includes load-on-demand Crafting Planner and Fishing Ledger companion addons.
- Adds gold, fishing, Mythic+, experience, group item-level, flight-time, range, and queue tracking tools.
- Prevents general aura-slot enumeration on WoW 12.1 and uses supported exact-spell queries for explicit healing effects.
- Removes the repeating full-interface edit-mode scan and reduces mover overlay overdraw for smoother frame editing.
- Synchronizes SlickUI, SlickUI_Crafting, and SlickUI_Fishing at version 0.47.0.

## 0.36.6

- Disables addon-driven aura enumeration on WoW 12.1, where protected access can fail outside combat and bypass pcall.
- Ignores protected-action events with an unknown action because they provide no actionable diagnostic information.

## 0.36.5

- Removes all SlickUI writes to UIParent anchors, including the previous full-screen compatibility reset.

## 0.36.4

- Stops resizing UIParent for information-bar clearance because WoW 12.1 Edit Mode can form anchor cycles between BuffFrame and MinimapCluster when the root is modified.

## 0.36.3

- Leaves BuffFrame and MinimapCluster anchoring entirely to Blizzard Edit Mode and clears obsolete SlickUI positions for both roots.

## 0.36.2

- Prevents secret class, threat, selection, or reaction values from being used as health-color table keys under WoW 12.1.

## 0.36.1

- Restores only explicitly saved external frames after cinematics instead of enumerating the entire interface.
- Rejects recursive execution-limit warnings before they enter SlickUI's error queue.

## 0.36.0

- Prevents cinematic viewport changes from clamping and overwriting saved frame positions, then restores saved positions after the viewport stabilizes.
- Eliminates repeated full-frame position scans on every addon load and caps the error catcher's pending queue during error storms.

## 0.35.9

- Defers protected full aura-slot scans during combat under WoW 12.1 across unit frames, group frames, cleanse alerts, and diagnostics.

## 0.35.8

- Removes named references to unrelated bag addons from SlickUI's settings and runtime messages.

## 0.35.7

- Opens SlickUI Bags alongside SlickUI Bank when both replacements are enabled and suppresses Blizzard's delayed automatic bag window.

## 0.35.6

- Replaces the protected custom bank-tab purchase action with a safe Manage Bank Tabs control that restores Blizzard's bank interface.
- Prevents `ADDON_ACTION_FORBIDDEN` errors from `PurchaseBankTab()` under WoW 12.1.

## 0.35.5

- Stops and resets Blizzard's bag-slot flash and new-item animation groups for slots that are not genuinely new.
- Prevents animated highlight state from carrying onto previously seen items and empty slots after login or reload.

## 0.35.4

- Opens SlickUI Bank from Retail's current player-interaction banker events while suppressing the native bank window.
- Adds Single Bank and Categories layouts that combine items across all purchased tabs for the selected bank type.
- Keeps the collapsible tab rail available for focusing an individual character-bank or Warband-bank tab.

## 0.35.3

- Moves the bag and bank rail collapse controls above their expanded rails so the controls remain visible and clickable.

## 0.35.2

- Matches the Bag Space and Reagent Bag counter font size, including their numbers, to the Single Bag mode label.

## 0.35.1

- Synchronizes each bag button's blue new-item overlay with Blizzard's persisted `C_NewItems` state after login and reload.
- Prevents previously seen items from inheriting the template's initial new-item glow.

## 0.35.0

- Adds a matching SlickUI bank window for both character-bank and Warband-bank tabs, including capacity totals and guarded native sorting.
- Adds a collapsible bank-tab rail using each purchased tab's name and icon.
- Adds a collapsible equipped-bag rail to SlickUI Bags for equipping, swapping, and removing carried bags.
- Adds an independent `Enable SlickUI Bank` option.

## 0.34.3

- Renames Unified View to Single Bag and separates reagent-bag slots into their own labeled section.
- Adds aligned main-bag and reagent-bag used-capacity counters with green, yellow, and red fullness states.

## 0.34.2

- Shows a centered `Sorting bags...` overlay with an animated progress bar while native sorting temporarily hides the item grid.
- Extends the sorting recovery window for larger unified bag layouts.

## 0.34.1

- Freezes SlickUI bag rendering while Blizzard's native bag sorter moves items, then performs one clean refresh after `BAG_UPDATE_DELAYED`.
- Prevents repeated sorting clicks and adds an eight-second recovery timeout if Blizzard does not signal completion.

## 0.34.0

- Prevents bundled oUF aura updates from testing Blizzard secret booleans introduced by the 12.1 patch.
- Safely skips aura-slot scans when Blizzard temporarily restricts aura access in tainted execution.

## 0.33.9

- Explicitly refreshes bag-slot icons, stack counts, lock shading, and cooldowns from the current container API.
- Restores item visuals when the native 12.1 container-button update leaves correctly mapped slots blank.

## 0.33.8

- Initializes native bag-button bag and slot identifiers before the first layout pass, preventing `SetID(nil)` errors when SlickUI Bags opens.
- Validates identifiers before calling Blizzard's native container-button methods.

## 0.33.7

- Moves the external Minimap Button Bar collapse tab to the panel's right edge so it remains beside the minimap instead of floating at the hidden panel's far-left boundary.

## 0.33.6

- Adds a persistent collapse tab outside the left edge of the Minimap Button Bar without changing the configured icon spacing or capacity.
- Hides and disables the full button panel while collapsed, leaving the external tab available to restore it.

## 0.33.5

- Detects when Blizzard restores the full-screen UIParent anchors after login and automatically reapplies enabled information-bar screen insets.
- Prevents buffs, the native damage meter, the minimap, and other UIParent-anchored frames from returning underneath a top or bottom information bar after reloads.

## 0.33.4

- Keeps Blizzard's player buff frame below enabled top information bars after login and UI layout refreshes.
- Preserves the buff frame's horizontal placement and any player-selected position already below the bar.
- Clamps saved movable windows, including the native damage meter and minimap, inside the information-bar-adjusted screen area.
- Corrects and persists legacy positions that would otherwise be restored underneath a top or bottom information bar.

## 0.33.3

- Restores reliable mouse interaction for minimap buttons organized outside the minimap by parenting them to the Minimap Button Bar.
- Returns organized buttons to their original parents when the bar releases them.

## 0.33.2

- Queues, deduplicates, and throttles captured Lua errors so an error storm cannot exhaust SlickUI's execution budget.

## 0.33.1

- Updates SlickUI for World of Warcraft 12.1.0.
- Fixes the quest-log enhancement loading against the addon namespace instead of treating the namespace table as the SlickUI core object.
- Restores quest-log mouse-wheel and scrollbar enhancement initialization after the 12.1 update.

## 0.33.0

- Adds a small **Copy** control to each chat window.
- Opens a movable, scrollable chat-history window with selectable plain text.
- Use **Select All for Copy**, press **Ctrl+C**, and paste into another application.
- Adds `/slickchatcopy` as a keyboard-friendly way to copy the currently selected chat tab.
- Keeps normal chat links, whispers, tabs, input, and scrolling unchanged.

## 0.32.0

- Adds a dedicated Minimap Button Bar that organizes addon minimap icons while preserving their original clicks and tooltips.
- Supports horizontal or vertical layouts with one, two, or three rows/columns.
- Adds adjustable visible length, icon size, and spacing.
- Mouse-wheel paging provides access to overflow buttons without making the bar excessively long.
- Includes a visible lock control, saved placement, button rediscovery, and a dedicated settings page.

## 0.31.1

- Keeps the native quest-log scrollbar visible whenever the quest list is scrollable.
- Enables mouse-wheel scrolling while the pointer is over the Blizzard quest list.
- Uses Blizzard's existing quest scroll frame without replacing quest buttons or quest data.

## 0.31.0

- Adds optional **SlickUI Bags**, disabled by default for a safe transition from another bag addon.
- Provides a single-bag layout or readable category sections without changing item ownership or storage.
- Uses Blizzard-native container item buttons for normal pickup, use, tooltip, cooldown, lock, and drag behavior.
- Adds bag search, native sorting, adjustable item size, spacing, columns, window scale, and saved placement.
- Adds a dedicated Bags settings page and `/slickbags` shortcut.

## 0.30.0

- Adds the optional **Mythic + Keys** information-bar widget.
- Hovering the widget shows a quick list of known keystones.
- Clicking opens a searchable roster with source and minimum-key filters.
- Adds native SlickUI party, raid, and guild key sharing.
- Imports compatible Astral Keys cache and message data and reports the current character's key in Astral's guild update format.
- Remote key visibility still requires another compatible addon user to share the data; WoW does not expose arbitrary offline characters' bags.

SlickUI is an original, clean World of Warcraft retail interface focused on readable typography, compact unit frames, smooth visual hierarchy, and compatibility with WoW 12 protected values.

## Current version

0.47.0 - First public release candidate for WoW 12.1.0, including the load-on-demand Crafting Planner and Fishing Ledger.

0.32.0 - Adds the configurable Minimap Button Bar with horizontal/vertical layouts, 1-3 rows or columns, adjustable capacity and sizing, and mouse-wheel overflow paging.

0.31.1 - Adds a visible right-side quest-log scrollbar and mouse-wheel scrolling over the native quest list.

0.31.0 - Adds optional unified or categorized SlickUI Bags with native item interaction, search, sorting, layout controls, and saved positioning.

0.30.0 - Adds the optional Mythic + Keys information-bar widget, native SlickUI key sharing, a searchable filtered keystone roster, and compatible Astral Keys cache/message exchange.

0.29.29 - Adds Soothing Mist channel tracking to the group-frame healing-effects strip.

0.29.28 - Restores Blizzard right-click unit menus on player, target, pet, party, raid, and related SlickUI unit frames.

0.29.26 - Prevents Window Move from registering Blizzard's internal Report Screenshot Mode helper and removes any legacy saved position for it, avoiding anchor-family SetPoint errors when Blizzard rescales that frame. Includes the 0.29.25 Range Check widget.

0.29.25 - Adds an optional Range Check information widget with a movable, background-free target range display. Left-click toggles the display and right-click selects its font size. Exact yardage is shown when WoW exposes usable unit positions, with a safe range bracket used otherwise.

0.29.24 - Improves Gold Ledger filter-row spacing so the character dropdown no longer covers the Start Timer button at larger UI scales.

0.29.23 - Color-codes Dungeon and Raid Difficulty information as green for Normal, blue for Heroic, and purple for Mythic in the information bar, tooltip, and selection menu.

0.29.22 - Restricts the group healing-effects strip to recognized player-cast healing and mitigation effects, excluding unrelated buffs and consumables, and adds representative healing icons to group test frames.

0.29.21 - Changes the Dungeon / Raid Difficulty information widget click action into a native selection menu for Dungeon Normal, Heroic, and Mythic plus Raid Normal, Heroic, and Mythic.

0.29.20 - Fixes the group-frame healing-effects strip so current WoW aura-duration objects and protected combat icons display correctly, including Rejuvenation, Lifebloom, and Prayer of Mending.

0.29.19 - Adds optional Current Specialization and Dungeon / Raid Difficulty information-bar widgets. The specialization widget opens Blizzard's specialization screen; the difficulty widget opens the Dungeon and Raid Finder.

0.29.18 - Separates the party/raid dispel and healing-effects controls into distinct rows and moves the sizing controls down to prevent settings-panel overlap.

0.29.13 - Cleans up the Action Bars settings layout by placing the movement and reset buttons beneath the full two-column slider area.

0.29.12 - Enforces disabled friendly-player and friendly-NPC nameplates both at the Blizzard CVar level and on any already-spawned SlickUI plates.

0.29.11 - Adds the Blizzard Settings panel to Windows: Move so the SlickUI control panel can be repositioned while its page is open.

0.29.10 - Keeps the LFG/LFR waiting timer anchored while the queue-eye tooltip is inspected; the timer now resets only after WoW reports that the active queue has ended.

0.29.9 - Adds an optional compact strip to party and raid frames showing short-duration helpful effects cast by your character, including healing-over-time effects, shields, and similar spells.

## Included

- Configurable Minimap Button Bar that retains addon-owned icon clicks and tooltips, supports 1-3 rows/columns, and pages overflow icons with the mouse wheel
- Native quest-log scrollbar visibility and mouse-wheel scrolling
- Optional SlickUI Bags with unified and category-section layouts, search, native sorting, adjustable sizing, and saved position
- Optional Current Specialization and Dungeon / Raid Difficulty information-bar widgets with hover details and safe out-of-combat panel shortcuts
- Clean two-column Party/Raid settings layout with separated controls and sliders
- Secure saved-position restoration for protected Blizzard windows, including Player Spells and its talent interfaces
- Queue waiting timers keyed to the active dungeon/raid queue, with clean resets between queue sessions
- Optional Group Item Levels information-bar widget with cached party/raid item levels, hover details, and a scrollable roster window
- Throttled one-member-at-a-time inspection that pauses in combat and labels offline, out-of-range, pending, and unavailable members
- Window Move support for Blizzard's dynamically pooled alert popups, including the "You received" reward toast
- Friendly target and nameplate casts use the neutral cast color; hostile and mind-controlled attackable units retain interruptibility colors
- Secure left-click resurrection on dead party and raid frames: learned battle resurrection in combat and learned normal resurrection out of combat
- Normal left-click targeting for living group members and unchanged right-click unit menus
- Optional **My healing effects** strip on party and raid frames for short-duration helpful effects cast by your character, such as Rejuvenation, Prayer of Mending, shields, and similar healing effects
- Dedicated Class Buffs settings page that lists supported group-wide buffs learned by the current class and specialization
- Individual enable/disable controls for each available class buff, with Mark of the Wild, Arcane Intellect, Power Word: Fortitude, Battle Shout, Blessing of the Bronze, Skyfury, and Devotion Aura support
- Automatic rebuff reminder when the player or a nearby, connected, living party or raid member is missing an enabled buff
- Protected-value-safe range and aura checks that ignore unavailable or unreadable group members instead of generating false reminders
- Item levels shown directly on every equipped item in the character pane
- Actual enchant names shown in green beside enchantable equipment slots
- Prominent red missing-enchant warnings, including safe off-hand weapon detection
- Independent Show item levels and Show enchants controls directly on the character pane
- Ground-hazard warning preview with the original looping Double Buzzer and large flashing red MOVE OUT OF DANGER message
- Automatic ground-effect detection on legacy clients only; WoW 12 disables it cleanly because combat-log events are forbidden to addons
- Ten-row independently scrollable tracked-spell list beneath the Cooldown Ready picker and test controls
- Per-specialization cooldown watch lists keyed by specialization ID, with automatic switching on spec changes
- One-time migration of the existing shared cooldown list into the currently active specialization
- Vertically scrollable Alerts settings content with the section navigation remaining fixed
- Movable LFG/LFR queue popup showing the current queued activity and exact elapsed waiting time
- Group-found acceptance countdown bar synchronized to Blizzard's proposal events, with accepted/waiting-for-others state
- General setting to enable or disable the queue-status popup
- Dedicated SlickUI Edit Mode for moving personal, group, boss, role, and action-bar anchors without the Settings window covering the screen
- Adjustable 8-100 pixel visual grid with optional grid snapping
- Optional edge, center, and adjacent-frame snapping between visible SlickUI frames
- A persistent Close SlickUI Edit Mode button that locks the layout and removes the grid
- Automatic Edit Mode movers for safe, named top-level Blizzard and third-party addon frames
- A Hidden Frames chooser for loaded common panels, plus persistent placeholders for externally moved hidden frames
- Persistent external-frame positions reapplied after login, UI reloads, and lazy addon loading
- General-page Unlock & Move Frames button with a synchronized Lock & Finish Moving state
- Action-bar layout controls for the Main Bar, Bottom Left, Bottom Right, both right-side bars, and Bars 5-7
- Independent action-bar button size, spacing, buttons-per-row, scale, opacity, and saved movable positions
- Per-bar Show selected bar control that remembers visibility without unexpectedly enabling previously hidden bars
- Optional hiding of action-bar hotkeys, macro names, and stack counts
- Combat-safe deferred action-bar layout updates while Blizzard retains secure clicks, paging, keybinds, and visibility
- Player, target, focus, pet, and target-of-target frames
- Reaction-aware target and nameplate colors: red hostile units, yellow neutral units, and preserved grey tapped units
- Combat-aware neutral nameplates that turn red while engaged and return to yellow after disengaging
- Optional targeted-nameplate enlargement with an adjustable 1.00x-2.00x scale
- Full action-button hover and click regions across every row of custom SlickUI bar layouts
- Explicit zero-inset action-button hit regions with mouse motion and click handling across the complete visible square
- Automatic action-bar layout reapplication after stable slot, spell, CVar, specialization, and paging refresh events
- Standard WoW unit tooltips when hovering personal, target, focus, pet, target-of-target, and boss frames
- Up to two top and two bottom Information Bars with independent height and opacity
- Optional automatic top/bottom screen insets so interface content clears enabled bars
- Draggable information blocks with configurable 20-pixel snap spacing, intentional gaps, and position swapping
- Live drag placeholders that match each information widget's dimensions and show its exact snapped destination before release
- Per-bar lock buttons that switch between layout dragging and appropriate data-block click actions
- Information Bars settings page for bar visibility, locking, height, opacity, screen adjustment, snap spacing, and assigned data
- Live discovery of external LibDataBroker data sources and launchers, including addon-provided icons, text, tooltips, and click actions
- Automatic right-to-left open-slot placement for newly enabled data blocks, with lock-button clearance and overlap prevention
- Optional system-wide Blizzard font styling for general UI, chat, tooltips/quests, and number/combat categories
- Reversible font application that preserves original Blizzard font paths, sizes, and flags during the session
- Green, yellow, and red durability values plus gold-colored currency values on Information Bars
- Addon Memory data with a largest-first per-addon tooltip and click-to-refresh support
- Movement Speed data with percentage and yards-per-second details
- Independent FPS and network-latency health coloring for at-a-glance performance checks
- Persistent income and expense ledger opened by clicking the Gold Information Bar block
- Current Character and All Characters Gold Ledger scopes with consistently filtered transactions, summaries, categories, and totals
- Optional automatic grey-item sales at merchants with per-item and total-value chat reports
- Optional automatic repairs using personal funds, guild funds only, guild-first fallback, or personal-first fallback
- Toggleable Gold Ledger views for individual transactions or summed income, expenses, net gold, and transaction count by category
- Daily and current-session totals with transaction-type, period, and category filters
- Optional timed farming tracker with elapsed time, income, expenses, net gold, and net gold per hour
- Persistent fishing ledger with character, zone, current-session, and all-time catch filters
- Load-on-demand fishing history window plus optional large cast/catch indicator and catch sound
- Automatic session XP tracking with XP per hour and estimated time remaining to the next level
- Clickable Experience data block with pause, resume, and reset controls
- Initial Gold, Bag Space, Durability, Location, Clock, Performance, and Experience/Level information blocks
- Movable boss1-boss5 frame stack with shared appearance and display settings
- Player, target, and focus cast bars
- Protected-value-safe health, power, prediction, range, aura, and cast handling through current oUF
- Prominent dispellable-debuff alerts on party and raid frames using the removable aura icon plus Magic, Curse, Disease, Poison, Enrage, or Bleed coloring supplied by WoW
- Roboto interface typography and PT Sans secondary typography
- Dark panel design with warm-gold accents
- Unlock, drag, lock, and reset controls
- `/slick`, `/slick lock`, `/slick unlock`, and `/slick reset`
- Native Escape > Options > AddOns > SlickUI control panel
- Optional non-blocking Lua error catcher with persistent history, copy controls, and alert sound
- Original dark-and-gold SlickUI icon for the AddOns list and minimap
- Red pulsing minimap alert while newly captured Lua errors are waiting for review
- Minimap hover totals for new and stored Lua errors; left-click opens the report when errors are waiting
- `/slick errors` opens a selectable report suitable for pasting into Codex
- Draggable minimap button with a visibility setting
- Persistent left-side settings navigation with swappable content pages
- Per-frame enable, width, height, scale, power-bar, and spacing controls
- Responsive bottom-center party/raid dock with adaptive large-raid scaling
- Editable numeric value boxes above every Unit Frames slider
- Party/raid preview modes for 5, 10, 20, 30, and 40 members
- Horizontal-first or vertical-first party/raid layouts
- Optional party-style self frame while playing solo
- Left, center, or right growth anchoring for stable group placement
- Optional independently draggable Main Tank and Main Assist raid windows whose headings remain hidden when no matching members exist
- Reversible checkbox for hiding Blizzard's default party and raid frames
- Optional thick dispellable-debuff outlines on party, raid, Main Tank, and Main Assist frames
- Bright type colors for removable Magic, Curse, Disease, Poison, Enrage, and Bleed effects
- Centered pending, accepted, and declined summon indicators on all group-frame variants
- Centered pending resurrection indicators on all group-frame variants
- Large centered ready-check marks without extra backing plates
- Standard WoW unit tooltips when hovering party, raid, Main Tank, and Main Assist frames
- Configurable Buff and Debuff rows for player, target, focus, pet, and target-of-target
- Independent aura visibility, placement, icon size, spacing, and icon-count controls per frame
- Above, below, left, and right aura placement with automatic same-side row separation
- Frame-width-aware horizontal aura wrapping with the configured maximum icon count retained as the total limit
- Dispel-category borders, stealable-buff glow, cooldown spirals, stack counts, and player-applied debuff markers
- Optional current-character spellbook filtering for timed, non-passive class buffs on every personal frame
- Group healing-effect strips now retain Monk Soothing Mist for its actual channel duration, including mouseover-cast group targets
- Independent recognized-consumables inclusion for Well Fed effects, flasks/phials, oils, and augment runes
- Configurable hostile, friendly-player, and friendly-NPC nameplates
- Nameplate health, name, level, percentage, elite/rare classification, quest, and raid-target displays
- Configurable left, center, and right nameplate text slots with classification, health, power, name, level, and status choices
- Interruptible and protected nameplate cast bars with spell icons and remaining time
- Matching orange, green-interruptible, and red-protected cast colors on nameplate, target, and focus bars
- Protected-value-safe threat borders and clear current-target emphasis
- Shared hostile-red coloring across enemy nameplates, target, focus, and target-of-target frames
- Gold Elite, Rare, Rare Elite, and Boss classification badges on relevant personal frames
- Nameplate width, height, scale, font, cast-bar, overlap-spacing, and visibility controls
- Out-of-combat nameplate preview mode

## Deferred

- Secure action bars
- Chat styling
- Minimap restyling and data panels

## Third-party components

See `THIRD_PARTY_NOTICES.md`. HydraUI is not bundled and no HydraUI source or proprietary textures are used.
