JugoUI

JugoUI is a fully modular, modern, lightweight UI replacement for WoW featuring custom unit frames, nameplates, action bars, bags, chat, tooltips, castbars, floating combat text, and quality of life features like auto-repair, fast loot, and much more...!!!

File Details

JugoUI v1.1

  • R
  • Jun 22, 2026
  • 1.64 MB
  • 40
  • 12.0.7+7
  • Classic TBC + 3

File Name

JugoUI.zip

Supported Versions

  • 12.0.7
  • 12.0.5
  • 5.5.4
  • 5.5.3
  • 2.5.5
  • 2.5.4
  • 1.15.8
  • 1.15.7

# v1.0.100 "Header-Layout" (2026-06-21)

### Fixed
- **Header-Buttons überlappten sich**: Die in v1.0.99 ergänzten „Unlock All" /
  „Lock All" landeten auf den bereits vorhandenen Header-Buttons (Zurücksetzen /
  Neu laden / Speichern). Jetzt eine saubere, überlappungsfreie Reihe (rechts ->
  links): **Unlock All · Lock All · Neu laden · Zurücksetzen**, Suchleiste schmaler
  und nach links gerückt. Der redundante „Speichern"-Button (war identisch mit
  „Neu laden", beide nur `ReloadUI`) wurde entfernt.

---

## v1.0.99 "Unlock-All" (2026-06-21)

### Added / Fixed (Layout entsperren)
- **„Unlock All" / „Lock All" sitzen jetzt oben im Settings-Header** (immer
  sichtbar, zwischen Suchleiste und Schließen-X) — nicht mehr im General-Panel
  vergraben. „Unlock All" blendet das Config-Fenster aus, damit die Mover
  erreichbar sind.
- **Raid-Frames reagieren endlich auf „Unlock All"**: `RaidFrames` hatte keine
  `Unlock`/`Lock`-Methoden und stand nicht in der Liste. Beide ergänzt (zeigt den
  bewegbaren Raid-Anker).
- **Quest-Tracker** (`Objectives`) zur Unlock-All-Liste ergänzt (hatte schon eine
  `Unlock`-Methode, war aber nicht verdrahtet).
- Alle Module mit einer `Unlock`-Methode sind jetzt in der Liste. (DataBar nutzt
  weiterhin Shift+Ziehen.)

---

## v1.0.98 "Default-Profil" (2026-06-21)

### Added
- **Empfohlenes Standard-Profil beim Erstinstall** (`Core/DefaultProfile.lua`):
  Ein frisches/leeres Profil (Neuinstallation, neuer Charakter oder nach
  vollständigem Reset) wird einmalig mit einer kuratierten Standard-Config
  befüllt — inkl. **Sprache = Englisch**, Frame-Positionen/-Größen, Modul-Toggles,
  Nameplates, Bags, Chat, Castbar, Raidframes, PvE/PvP usw. Bestehende Profile
  werden NICHT angefasst (Erkennung über `next(profile)==nil`, pcall-geschützt).
  Die großen Rollen-Presets wurden bewusst ausgelassen (keine Basis-Settings).

---

## v1.0.97 "Flat-Bars" (2026-06-21)

### Added (Actionbar-Look auf den Rest - Phase 2)
- **Flat-Stil greift jetzt auch auf Bars**: Unit-Frame-Health/Power-Bars und
  Castbars nutzen im Flat-Modus eine flache Fülltextur und blenden die Gloss-
  Overlays (Verlauf + Glanz) aus -> sauberer, einheitlicher Actionbar-Look.
  Live umschaltbar (`Util.ApplyBarStyle` für Unit-Frames; CastBar:ApplySettings
  + Skin:StyleBarGloss respektieren `Util.IsFlat`). Spark + dünne Oberkante
  bleiben. Schalter aus -> der glänzende Signature-Look kehrt zurück.
- Offen für Phase 3: Nameplates.

---

## v1.0.96 "Flat-Stil" (2026-06-21)

### Added (Actionbar-Look auf den Rest - Phase 1)
- **Flat-Stil-Schalter** (Allgemein → Frame Design, Standard an): vereinheitlicht
  Icon-Elemente auf den Actionbar-Look (schwarzer 1px-Rand statt Theme-Farbe).
  Greift in Phase 1 auf **Buff-Icons** (PlayerBuffs) und den **Trinket-Tracker**;
  semantische Ränder (Debuffs rot, Immunität-Typ, Interrupt rot) bleiben farbig.
  Shared-Helfer `Util.IsFlat` / `Util.IconBorderColor` für die weitere Ausweitung.
- Geplant für Folge-Phasen: Bars/Castbars (flache Statusbar-Textur, dünne Ränder)
  und Nameplates.

---

## v1.0.95 "WoW-Icons" (2026-06-21)

### Changed
- **Alle Menü-Icons sind jetzt echte WoW-(Blizzard-)Icons**, thematisch passend
  zum jeweiligen Namen (Buffs = Seelenstärke, Bags = Tasche, Minimap = Karte,
  PvP = PvP-Abzeichen, Nameplates = Ziel-Schuss, Castbar = Arkanschlag, usw.).
  Die Config-Nav-/Breadcrumb-Icons werden voll farbig (kein Kategorie-Tint mehr)
  und mit gecroppten Rändern gezeigt. Das Lock-Icon nutzt Blizzards Lock-Button-
  Textur. (Rollen-Preset-Icons waren bereits Blizzard-Icons.)

---

## v1.0.94 "Frame-Größe-Fix" (2026-06-21)

### Fixed
- **Unit-Frame-Größe (Player/Target/Focus) wurde scheinbar nicht gespeichert**:
  Beim Ziehen des Größen-Sliders setzte `ResizeFrame` die Breite als
  `volleBreite + 52`, während der Frame beim Reload aus `frameSize.X.width` mit
  `barWidth = volleBreite - 50` neu gebaut wurde. Live war der Frame also ~50px
  breiter als nach `/reload` -> es sah aus, als würde die Größe „zurückgesetzt".
  `ResizeFrame` rechnet die volle Breite jetzt intern auf die Bar-Breite um (wie
  bei der Erstellung), Live-Größe == Reload-Größe. (Positionen + Höhe waren
  bereits korrekt.)

---

## v1.0.93 "Kampf-Reload-Fix" (2026-06-21)

### Fixed (Reload während des Kampfes)
- **Ursache:** Beim `/reload` im Kampf bauen die Module ihre Frames neu auf, aber
  `SetAttribute` (Secure-Unit-Buttons), `RegisterUnitWatch`, `SetCVar` und das
  Erstellen secure Bars sind im Kampf **geschützt**. Folge: halb-getaintete
  Frames -> `TargetUnit()` forbidden beim Klick, Target/Focus/Boss-Frames dauerhaft
  sichtbar (RegisterUnitWatch lief nie), Actionbars „resettet".
- **`UnitFrames:Initialize`** verschiebt den KOMPLETTEN Aufbau jetzt auf
  `PLAYER_REGEN_ENABLED`, wenn es im Kampf startet (vorher nur `RegisterUnitWatch`
  deferred, aber `SetAttribute` nicht -> Taint).
- **`CustomBars:Initialize`** wartet jetzt ebenfalls sauber aufs Kampfende
  (`PLAYER_REGEN_ENABLED`) statt im 2s-Takt zu pollen -> Bars stehen nach dem
  Kampf wieder wie gespeichert.
- Nameplates waren bereits abgesichert (CVar-Re-Apply bei Kampfende); im Kampf
  selbst lassen sich die Nameplate-CVars nicht setzen -> Platten kommen direkt nach
  Kampfende zurück.

---

## v1.0.92 "Glow-Crash-Fix" (2026-06-21)

### Fixed
- **`LibActionButton-1.0:2588: attempt to call a nil value`** (durch v1.0.91): Die
  LAB-Fork ruft `LCG.ShowOverlayGlow`/`LCG.HideOverlayGlow`, die es in
  LibCustomGlow gar nicht gibt (die echte API ist `ButtonGlow_Start`/`_Stop`).
  Solange LibCustomGlow fehlte, war `LCG` nil und der Aufruf wurde übersprungen;
  mit der nachgereichten Lib lief er ins nil -> Crash **während der Button-
  Erstellung**, was das ganze Actionbar-Setup abbrach -> Bars standen nicht mehr
  wie gespeichert. Fix: LAB nutzt jetzt `ButtonGlow_Start/Stop` (pcall-geschützt).
  Damit stehen die Bars wieder korrekt UND die Proc-Glows funktionieren.

---

## v1.0.91 "Procs & Timer" (2026-06-21)

### Fixed
- **Actionbar-Procs zeigten keinen Glow**: `LibActionButton`s Overlay-Glow läuft
  über `LibCustomGlow-1.0`, die gar nicht eingebettet war (`LibStub(...)` = nil ->
  `ShowOverlayGlow` tat nichts). LibCustomGlow nachgereicht (Libs/load.xml) und
  `handleOverlay = true` in der Button-Config gesetzt.
- **Channel brach ab beim erneuten Tastendruck**: Die Button-Config erzwang
  `clickOnDown = true`. Stimmt das nicht mit dem Blizzard-CVar
  `ActionButtonUseKeyDown` überein, feuert der Cast auf Down UND Up -> der zweite
  Trigger bricht den laufenden Kanal-Zauber ab. `clickOnDown` folgt jetzt dem CVar.
- **Buff/Debuff-Timer (oben rechts) unsichtbar**: Der Countdown-Text lag hinter
  dem Cooldown-Swipe (Cooldown-Frames rendern über den Icon-Regionen). Timer +
  Stacks liegen jetzt auf einem Frame ÜBER dem Cooldown.

---

## v1.0.90 "Resize-Combat-Fix" (2026-06-21)

### Fixed
- **`ADDON_ACTION_BLOCKED: JugoUI_playerFrame:SetSize()`**: Eine Unit-Frame-
  Größenänderung (Config-Slider) im Kampf rief `SetSize` auf dem Secure-Unit-
  Button, was im Kampf geschützt ist. `ResizeFrame` puffert die Änderung jetzt
  und wendet sie bei `PLAYER_REGEN_ENABLED` (Kampfende) an.

---

## v1.0.89 "Combat-Feedback" (2026-06-21)

### Changed (Combat-Text -> TukUI-Stil)
- **JugoUIs Eigenbau-Combat-Text (1145 Zeilen) komplett gelöscht.**
- **Neues Modul `CombatFeedback`** im **TukUI-Stil**: Schaden, den DU einsteckst,
  + Heilung auf dir schweben über deinem Player-Frame (Fountain-Animation aus
  TukUIs `oUF_FloatingCombatFeedback` portiert, Schulfarben, abgekürzte Zahlen).
  Über „Unlock All" / FCT-Panel verschiebbar, Größe/Skalierung einstellbar.
- **Datenquelle UNIT_COMBAT** (nicht das Combat-Log): TukUIs Original hängt am
  `COMBAT_LOG_EVENT_UNFILTERED`, dessen Registrierung für JugoUI auf 12.0.7
  `ADDON_ACTION_FORBIDDEN` auslöst und die Actionbars zerschießt. Folge:
  **ausgeteilter** Schaden ist nicht darstellbar (nur eingehender) -- dafür gibt
  es Blizzards natives FCT.
- Blizzards natives FCT wird vom neuen Modul deaktiviert (keine Doppelung).

---

## v1.0.88 "Aufgeräumt" (2026-06-21)

### Changed
- **Blizzard-Combat-Text aufgeräumt**: Das v1.0.87-Tuning war zu viel (Streuung +
  alle Auto-Angriffe + DoT-Ticks + Pet + große Zahlen = Chaos). Neues Standard-
  Preset ist sauber: keine Streuung, keine Auto-/DoT-/Pet-Flut, gerader Float,
  kleinere Zahlen (`WorldTextScale 0.9`). Neuer Schalter „Mehr Details
  (Blizzard-FCT)" holt die ausführliche Variante zurück.

### Fixed (Arena-Doppelung)
- **Eigene CC wurde doppelt angezeigt**: `LossOfControl` (großer Mitte-Alarm) UND
  `BigDebuffs` (50px auf dem Player-Frame) zeigten denselben Stun/Fear. BigDebuffs
  überspringt jetzt den **Player**, wenn Loss-of-Control aktiv ist (dynamisch,
  keine Migration). Gegner-CC auf Target/Focus bleibt unverändert.

---

## v1.0.87 "Blizzard-Combat-Text" (2026-06-21)

### Changed (Combat-Text - ElvUI/Tukui-Weg)
- **Blizzards natives Floating Combat Text ist jetzt der Standard.** ElvUI/Tukui
  haben gar kein eigenes FCT-Modul -- sie nutzen Blizzards. JugoUI tunt dessen
  CVars für einen sauberen Look (Schaden/Heilung/Pet/Periodic/Mechanics an,
  Float-Mode 2 = sanfter Bogen, WorldTextScale 1.1). Einmalige Migration stellt
  bestehende Profile auf Blizzard-nativ um.
- JugoUIs **Eigenbau-Combat-Text** bleibt als abschaltbare Option erhalten
  (FCT → „JugoUI-Eigenbau-Combat-Text", Standard aus, Reload empfohlen).

### Fixed
- **31x `ADDON_ACTION_FORBIDDEN` (Arena-Auto-Marker)**: `SetRaidTarget` ist in
  12.0.7 eine geschützte Funktion; auf einem Timer aufgerufen löst sie das
  Taint-Event aus (das `pcall` zwar den Lua-Fehler, nicht aber das Forbidden-Event
  abfängt -> 5x pro Arena-Eintritt). Auf mainline 12.0.7+ wird der Auto-Marker
  jetzt übersprungen (kein insecurer Weg zum Markieren mehr vorhanden).

---

## v1.0.86 "Pfeil-Fix & Hover" (2026-06-21)

### Fixed
- **Grüne Vierecke an den Nameplates** (Screenshot): die in v1.0.77 ergänzten
  Ziel-Pfeile nutzten die Unicode-Dreiecke ► ◄, die NICHT in `FRIZQT__.TTF`
  enthalten sind -> sie wurden als leere „Tofu"-Boxen in Theme-Farbe (grün)
  gerendert. Jetzt ASCII `>` `<` (in jeder Schrift vorhanden). Gleiche Glyphen in
  den Config-Beschreibungen ebenfalls ersetzt.

### Added (Unit-Frame-Redesign - "Optik")
- **Mouseover-Highlight** (ElvUI-Stil): dezenter heller Schimmer, wenn die Maus
  über einem Unit-Frame ist. Nativ über die Button-Highlight-Textur (kein Skript,
  kein Konflikt mit den Secure-Handlern). Schalter: Unit-Frames ->
  „Mouseover-Highlight".

---

## v1.0.85 "Aura-Source-Fix" (2026-06-21)

### Fixed
- **Fehler** `attempt to compare local 'src' (a secret string value)`
  (`UnitFrames.lua:3440`, `UpdateAuraIcons`): Der „nur eigene Auren"-Filter
  verglich `auraData.sourceUnit`, das in 12.0.7 ein SECRET-String ist. Jetzt wird
  der plain Flag `isFromPlayerOrPlayerPet` genutzt (Fallback: `Util.Plain`-
  geschützter sourceUnit-Vergleich; unbekannte Herkunft wird durchgelassen, statt
  eigene Auren zu verstecken). RaidFrames war bereits abgesichert.

---

## v1.0.84 "Spec-Icon" (2026-06-21)

### Added (Unit-Frame-Redesign, Phase 2b - "Mehr Infos")
- **Gegner-Spec-Icon**: kleines Spec-Icon oben links am Target-/Focus-Frame in der
  Arena (aus den Arena-Opponent-Specs, kein Inspect nötig). Secret-sicher, blendet
  außerhalb der Arena / wenn unbekannt sauber aus. Schalter: Unit-Frames →
  „Gegner-Spec-Icon". Hinweis: ein Klassen-Icon gibt es bereits als Portrait-Modus
  („Klassen-Icon").

---

## v1.0.83 "Heil-Absorb" (2026-06-21)

### Added (Unit-Frame-Redesign, Phase 2 - "Mehr Infos")
- **Heal-Absorb-Anzeige**: blockierte Heilung (z.B. Necrotic Wound, Brittle)
  wird als rotes Overlay auf dem rechten Teil der gefüllten Lebensleiste gezeigt
  (`UnitGetTotalHealAbsorbs`) - eingehende Heilung muss sich erst durchfressen.
  Vervollständigt das Heal-Prediction-System aus v1.0.80 (Schalter teilt sich
  mit „Heilung-Vorschau"). Secret-sicher.

---

## v1.0.82 "Trinket-Idle-Fix" (2026-06-21)

### Fixed
- **„Komische Vierecke" am Target/Focus-Frame:** Der on-frame PvP-Trinket-Tracker
  zeigte in der Arena dauerhaft einen leeren Idle-Slot (Medaillon-Platzhalter),
  weil er immer `:Show()` rief. Jetzt wird der Slot nur noch angezeigt, solange
  der Trinket tatsächlich auf **Cooldown** ist (sichtbare Box = Gegner hat den
  Trinket gezogen, CC ist möglich); bei bereitem Trinket bleibt der Frame leer.
  Der Immunity-Slot (links) erscheint ohnehin nur bei aktivem Defensiv-Cooldown.

---

## v1.0.81 "Tooltip-Secret-Fix" (2026-06-21)

### Fixed
- **Tooltip-Fehler** `attempt to perform boolean test on a secret boolean value`
  (`Tooltip.lua:280`, `OnUnitTooltip`): Beim Anzeigen der Ziel-Zeile eines
  Mouseover-Units (z.B. Pet/Gegner) liefert 12.0.7 für `UnitIsUnit`/`UnitIsPlayer`
  und den Ziel-Namen SECRET-Werte (PvP-Schutz). Der `if`-Test darauf taintete.
  Behoben: Ziel-Zeile wird übersprungen, wenn der Name geheim ist, und alle
  Identitäts-Checks laufen über `Util.Plain`. Der zweite (Spieler-)Ziel-Block und
  der Selbst-Check (Item-Level) wurden gleich mitgehärtet.

---

## v1.0.80 "Heilung-Vorschau" (2026-06-21)

### Added (Unit-Frame-Redesign, Phase 1/3 - "Mehr Infos", additiv)
- **Heal-Prediction**: eingehende Heilung wird als grünes Overlay ab der
  aktuellen Lebenskante auf der Lebensleiste angezeigt
  (`UnitGetIncomingHeals`).
- **Absorb-Schilde**: hellblaues Overlay + helle Leitkante für aktive Absorbs
  (`UnitGetTotalAbsorbs`), Blizzard-/ElvUI-Stil.
- Secret-sicher: gegnerische Lebenswerte sind in Arena/M+ geheim -> die Overlays
  werden dort sauber ausgeblendet (Heal-Prediction ist ohnehin ein
  Freundlich-Frame-Feature). Schalter: Unit-Frames -> „Heilung-Vorschau".

Hinweis: JugoUIs Unit-Frames haben bereits ein ausgeprägtes eigenes Design
(Signature-Look). Das Redesign läuft daher additiv in Phasen (mehr Infos, dann
Layout-Feinschliff), statt den bestehenden Look gegen ElvUI-flat zu tauschen.

---

## v1.0.79 "Buff-Lock-Fix" (2026-06-21)

### Fixed (Buff/Debuff-Mover - der wiederkehrende Lock-Bug)
- **Ursache gefunden:** Zwei konkurrierende Buff-Systeme liefen gleichzeitig.
  `PlayerBuffs` rendert eigene, bewegliche Buff/Debuff-Frames und versteckt
  Blizzards `BuffFrame`; das alte `Buffs`-Modul parented dasselbe (nun versteckte)
  `BuffFrame` an einen Mover und kämpfte gegen den Edit Mode. „Unlock All" zeigte
  den toten `Buffs`-Mover, der nichts Sichtbares bewegte -> „nicht gelocked".
- **Lösung (ElvUI-Ansatz):** Auf das Eigen-Render-System (`PlayerBuffs`)
  konsolidiert. Das alte `Buffs`-Modul steht still, solange `PlayerBuffs` aktiv
  ist (Standard). „Unlock All" und die Entsperr-Buttons steuern jetzt die echten,
  sichtbaren Container -> sie locken perfekt (eigene Frames, kein Edit-Mode-Kampf).
- PlayerBuffs-Container fangen Mausklicks nur noch im entsperrten Zustand ab
  (vorher immer -> blockierte Buff-Tooltips/Rechtsklick-Abbrechen).

---

## v1.0.78 "Taschen-Sortierung" (2026-06-21)

### Added
- **Taschen: Auto-Sortieren beim Öffnen** (opt-in, Bags → „Beim Öffnen
  sortieren"). Nutzt Blizzards eigene Sortierung (`C_Container.SortBags`),
  combat-sicher.

### Notes
- Der Rest der „vollen Taschen-Funktionen" war bereits da: JugoUI skinnt
  Blizzards **kombinierte** Taschen (native Suche + Sortier-Button), plus
  Item-Level-Overlay, Müll-Münz-Icon und Qualitäts-Rand. Ein kompletter
  Eigenbau-Bag (ElvUI-Stil) wäre großes Risiko fürs Inventar ohne echten
  Mehrwert -> bewusst nicht gebaut.

---

## v1.0.77 "Ticks & Pfeile" (2026-06-21)

### Added (ElvUI-Übernahme)
- **Castbar-Kanal-Ticks**: Tick-Markierungen auf Kanal-Zaubern (kuratierte Liste:
  Mind Flay, Penance, Arcane Missiles, Eye Beam, Rapid Fire …). Opt-in
  (`castbar.castTicks`, Standard an). **Approximativ** — Haste/Talente
  verschieben die echte Tickzahl, daher abschaltbar.
- **Nameplate Ziel-Pfeile**: ► ◄ zeigen auf die Plate deines aktuellen Ziels
  (Schalter „Ziel-Pfeile").
- **Nameplate Execute-Range-Glow**: roter Glow auf der Plate, wenn der Gegner
  unter der eingestellten Execute-Health-% liegt (Standard 20 %, Schwelle
  10–35 % einstellbar).

Damit ist die ElvUI/Tukui-Adoptionsrunde abgeschlossen (Cooldown-Zahlen war schon
da, Private Auras, Castbar-Ticks, Nameplate-Extras; Aura-Sortierung/-Filter/
Dispel-Färbung/Range-Check aus den vorigen Versionen).

---

## v1.0.76 "Private Auras" (2026-06-20)

### Added (ElvUI-Übernahme)
- **Private Auras** (neues Modul): blendet Blizzards verdeckte Encounter-Auren
  (12.0, v.a. M+/Raid) ein, indem eigene Slot-Frames über die offizielle
  `C_UnitAuras.AddPrivateAuraAnchor`-API als Anker registriert werden — Blizzard
  rendert Icon + Cooldown selbst hinein (die Aura bleibt „privat", wir lesen sie
  nie). 4 Slots für die Spieler-Einheit, über „Unlock All" verschiebbar. Schalter
  + Größe unter Buffs & Debuffs → Private Auras. Anker werden nach Zonenwechsel
  neu gesetzt. Auf Clients ohne die API (Classic) inaktiv.

### Notes
- **Cooldown-Zahlen „überall"** sind bereits seit Längerem aktiv (Modul
  `Cooldowns` via CVar `countdownForCooldowns`). Ein eigener OmniCC-Renderer
  würde das Addon tainten (bereits gelernt) und wird daher NICHT gebaut.

---

## v1.0.75 "Aura-Filter" (2026-06-20)

### Added (ElvUI-Idee, JugoUI-eigene Umsetzung)
- **Aura-Filter-Listen nach SpellID** für die Unit-Frame-Auren (Player/Target/
  Focus). Modus **Blocklist** (gelistete Auren ausblenden) oder **Whitelist**
  (nur gelistete zeigen), plus „Aus". Verwaltung in den Settings (Unit Frames →
  Aura-Filter): SpellID-Eingabefeld + Buttons „Zur Blocklist" / „Zur Whitelist" /
  „Filter-Listen leeren". Secret-sicher: in Arena/M+ nicht lesbare SpellIDs werden
  durchgelassen (nicht gefiltert). Greift in der bestehenden Sammeln→Sortieren-
  Pipeline (v1.0.74).

Damit ist die ElvUI-Übernahme (Sortierung, Dispel-Färbung, Filter-Listen,
Range-Check) abgeschlossen.

---

## v1.0.74 "Sortiert & in Reichweite" (2026-06-20)

### Added (aus ElvUI/MiniCC übernommen)
- **Aura-Sortierung** auf Player/Target/Focus-Frames: Auren werden gesammelt und
  nach **Restlaufzeit** sortiert (bald auslaufende zuerst); permanente bzw. in
  Arena/M+ secret-laufzeitige Auren ans Ende, stabil nach Aura-Index. Tooltip-
  Index bleibt korrekt erhalten.
- **Genaueres Range-Fading**: Raidframes nutzen jetzt **LibRangeCheck-3.0**
  (spell-basiert, ~40yd) mit Fallback auf `UnitInRange`. Lib eingebettet.

### Notes
- Dispellbar-Färbung (nach Schule) + Purge-Highlight waren bereits vorhanden.
- Aura-Filter-Listen (Block-/Whitelist) folgen als eigener (config-lastiger)
  Schritt.

---

## v1.0.73 "Kurz-Keybinds" (2026-06-20)

### Changed
- **Keybind-Labels abgekürzt** (über LibActionButtons `postKeybind`-Hook, wie
  ElvUIs FixKeybindText): `Shift-` → `S-`, `Ctrl-` → `C-`, `Alt-` → `A-`,
  Maustaste → `M`, Mausrad → `WU`/`WD`, Numpad → `N`, Leertaste → `SPC`.

---

## v1.0.72 "Bar-Feinschliff" (2026-06-20)

### Added / Fixed (LibActionButton-Bars, aus ElvUI übernommen)
- **Keybind-Text** auf den Bars: jeder Button bekommt `config.keyBoundTarget`
  (z. B. `ACTIONBUTTON1`) — so zeigt LibActionButton den Hotkey der nativen
  Bindung an, während das Override-Binding die Funktion liefert.
- **Icons füllen den Button**: Standard-Gold-Rand (NormalTexture) ausgeblendet,
  Icon auf `(0.08–0.92)` gecroppt und randlos eingepasst; dazu ein dunkler
  Hintergrund + 1px-Rand für den JugoUI-Look.
- **Cooldowns**: werden von LibActionButton gerendert (an den Icon gekoppelt) und
  sollten mit dem korrekten Button-Styling sichtbar sein.

---

## v1.0.71 "LAB-Bars" (2026-06-20)

### Changed (großer Umbau)
- **Custom-Actionbars laufen jetzt auf LibActionButton-1.0** (die Lib, die
  ElvUI/Bartender nutzen; ElvUI-Fork eingebettet als `LibActionButton-1.0-JugoUI`).
  Der vorherige selbstgerenderte Secure-Button-Ansatz konnte das 12.0.7-Paging
  (Vehicle/Override/Bonus/**Skyriding**) nicht zuverlässig — die erste Bar hing
  z. B. auf der Flug-Seite. Jetzt erledigt die Lib das Secure-Button- und
  Paging-Handling über einen `SecureHandlerStateTemplate`-Header + State-Driver
  (kein `RefreshPaging`-Workaround mehr nötig).
- Keybinds: die bestehenden Action-Bar-Tasten werden per Override-Binding auf die
  LAB-Buttons gelegt. Blizzard-Bars bleiben versteckt + maus-deaktiviert,
  Pet/Stance-Halter, Tracker-Offset und Lock/Unlock unverändert.

### Notes
- **Optik:** Die Buttons nutzen vorerst den Blizzard-Standard-Look (ActionButton-
  Template). Der dunkle JugoUI-Skin + Hotkey-Text-Feinschliff folgen als nächster
  Schritt.
- Greift nur auf Retail; Classic/MoP/TBC nutzen weiterhin die Blizzard-Bars.