promotional bannermobile promotional banner

Cerebro

Modern EPGP & Loot Distribution with native RCLootCouncil & Mythic+ integration.

File Details

v0.10.23

  • R
  • Mar 13, 2026
  • 5.74 MB
  • 108
  • 12.0.1+1
  • Retail

File Name

Cerebro-v0.10.23.zip

Supported Versions

  • 12.0.1
  • 11.2.7

Cerebro

v0.10.23 (2026-03-13)

Full Changelog

  • chore: Bump version to 0.10.23
    Player Management Overhaul: new /cb block, /cb unblock, /cb blockedlist commands; purge is now a soft reset; auto-discover group members as Pending; Standings rank filters and Hide Non-Guildies restored; sync field whitelist drops junk data; UTF-8 player name fix; non-guild players display '--' rank instead of 'Unknown(R99)'.
  • fix: Unknown(R99) rank display and unsafe UnitClass in group discovery
    • StandingsFrame.lua: Replace R99 sentinel with nil; display rank name
      only (no index suffix). Non-guild players now show '--' in gray instead
      of 'Unknown(R99)' in white.
    • Core.lua: Remove UnitClass(raidX) fallback in DiscoverGuildGroupMembers.
      GetRaidRosterInfo(i) and unit slot indices are not guaranteed to match —
      only use guild roster for class data when auto-discovering group members.
      Note: Savas-Stormrage wrong class is a pre-existing data corruption
      (duplicate entry from old TitleCase UTF-8 bug). Fix: /cb block Savas-Stormrage YES
      luacheck: 0 warnings / 0 errors in 29 files"
  • feat(v0.10.23): Player Management Overhaul — Block/Purge, Auto-Discovery, Standings Filters, UTF-8 Fix
    Merges PR #27. Full changelog in PR description.
    Key features:
    • New commands: /cb block, /cb unblock, /cb blockedlist
    • Purge is now a soft reset (EP/GP → 0, status → Pending)
    • Block permanently removes and prevents re-sync
    • Auto-discover group/raid members as Pending (officers only)
    • Pending players blocked from receiving EP or GP
    • Standings rank filters and Hide Non-Guildies checkbox restored
    • Sync field whitelist prevents junk field propagation
    • UTF-8 aware TitleCase for accented player names
    • Template deletion no longer reappears after sync
    • Right-click menu hidden from non-officers
      Fixes applied pre-merge (review):
    • Restored IsOfficer() PUG guild guard (security regression)
    • Moved ChatFrame filter to OnInitialize (reload dedup)
    • Reverted TOC title from '(Dev)' to 'Cerebro'
    • Deduplicated NormalizePlayerKey to module scope
  • fix: PR #27 review fixes before merge
    • Core.lua: Restore if not IsInGuild() guard in IsOfficer() PUG fallback
      (security regression — guilded raid assistants were incorrectly passing)
    • Core.lua: Move ChatFrame_AddMessageEventFilter to OnInitialize with
      dedup flag to prevent double-registration on /reload
    • Cerebro.toc: Revert title from 'Cerebro (Dev)' to 'Cerebro'
    • UI/CommandRegistry.lua: Hoist NormalizePlayerKey to module scope,
      remove 3 duplicate inner-function declarations in delete/purge/block handlers
      luacheck: 0 warnings / 0 errors in 29 files"
  • fix: restore calendar signup UI accidentally removed in PR27
  • feat(v0.10.23): block/purge separation, pending player protections, auto-discovery, context menu RBAC, standings filters
  • fix: add confirmation step before boss kill EP type choice
    Two-step flow: 'Award Boss Kill EP?' (Yes/No) then Farm/Prog.
    Prevents accidental awards and gives officers a clear opt-out.
  • feat: boss kill popup (Farm/Prog) + naming fixes
    • Replace auto-award boss kill EP with officer popup
      Farm Boss / Prog Boss / Skip buttons
    • Split epBossKill config into epFarmBoss (15) + epProgBoss (50)
    • Rename ON_TIME -> RAID_START, FULL_ATTENDANCE -> RAID_END
    • Update ConfigSchema, UISandbox, Onboarding, CommunicationV2 hash
  • fix: add RefreshAllUI to session roster popup handlers
    When the RL benched or removed a player via the leave/join popup,
    the standings checkbox and gold highlight didn't update until the
    frame was closed and reopened. Added RefreshAllUI() to all 4 popup
    button handlers (bench, remove, activate, keep-bench).
  • fix: luacheck warnings - add C_ToyBox global, suppress unused pctLabel
  • docs: compliance updates for v0.10.21
    • Session.lua: Added DescribeHealthChecks() with SESSION_STATE check
      (per CONTRIBUTING.md §10 health check requirement)
    • docs/SPEC.md: Updated §4.1 Officer flows with auto-roster, join/leave
      roster tracking, RL-only bench/remove popups, 2H duplicate slot GP popup
    • PROJECT_STATE.md: Added 6 v0.10.21 features to Recently Implemented
      (Auto-Roster, Duplicate Slot GP, Collectible Item GP, Offline Whisper
      Spam Fix, RCLC Bridge Safety, V2 Session Sync)
  • feat(v0.10.21): session EP fix, auto-roster, offline spam fix, collectibles, 2H GP popup
    Session & EP:
    • Fix EP not awarding (auto-select no longer overwrites pre-selection)
    • Fallback auto-select when no players pre-selected
    • On-time EP fires synchronously when grace period is 0
    • Auto-add Core joiners mid-session
    • RL-only bench/remove popup when player leaves raid
    • RL-only active/bench popup when bench player joins raid
    • V2 RPC session adoption (combat-safe sync)
      Loot & GP:
    • 2H duplicate slot popup for Warriors (full vs reduced GP)
    • RCLC Bridge pcall safety (no crash without RCLootCouncil)
    • Collectible item GP support (toys, pets, mounts, cosmetics, decor)
    • Tooltip shows both full and reduced GP for duplicate slot items
      Offline Whisper Spam:
    • V2 GetStalePeers filters offline peers via IsPlayerReachable
    • V1 CheckPendingSyncs re-checks online at max retry
    • ChatFrame filter suppresses 'No player named' system messages
      Other:
    • New UI/CustomEP.lua module
    • GP calculation for new slot types
    • UI layout refactor
    • Config defaults for collectible slots
    • Luacheck globals updated