promotional bannermobile promotional banner

Cerebro

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

File Details

v0.10.31

  • R
  • Mar 20, 2026
  • 5.79 MB
  • 13
  • 12.0.1+1
  • Retail

File Name

Cerebro-v0.10.31.zip

Supported Versions

  • 12.0.1
  • 11.2.7

Cerebro

v0.10.31 (2026-03-20)

Full Changelog

  • chore: Bump version to 0.10.31
    Batch EPGP broadcast reduces boss kill sync from 120-180s to ≤5s. Adds convergence tracking, Sync Leader exclusive boss kill processing, and PR sort tiebreaker in RCLC voting frame.
  • Merge pull request #37 from Shezzannn/feature/sync-efficiency
    feat(sync): Batch EPGP broadcast, convergence tracking, Sync Leader boss kill
  • fix(sync): address PR37 validation findings — quarantine guard, dedup, ACK hardening
    C1: Add quarantine guard to BATCH_EPGP_UPDATE handler (blocks ingestion
    during factory reset window)
    C2: Add IsOfficerSafe() guard to BATCH_ACK handler (only Sync Leader
    needs convergence tracking)
    C3: Add dual-channel batch dedup via batchKey (senderName:timestamp)
    to prevent double-processing
    A1: InvalidateHashCache() before ComputeRosterHash in ACK path so
    the ACK carries post-award hash, not stale cached value
    B: Change BroadcastBatchEPGPUpdate from dual-channel (RAID+GUILD) to
    single-channel (RAID when in raid, GUILD otherwise); benched
    players receive awards via PushAfterAward snapshot sync
  • fix(ui): CustomEP popup crash on WoW 12.x (self.text → self.Text)\n\nStaticPopup frames renamed 'text' to 'Text' (capital T) in WoW 12.x.\nBoth OnShow callbacks now use defensive fallback: (self.Text or self.text)\nto support both old and new client versions.
  • fix(sync): add IsOfficer guard to BATCH_EPGP_UPDATE, Sync Leader-only heartbeat, RCLC PR sort tiebreaker\n\n- BATCH_EPGP_UPDATE handler: add IsOfficer(sender) guard at handler level\n (prevents wasted iteration and false BATCH_ACK for non-officer senders)\n- SyncScheduler:OnHeartbeat(): gate periodic V2 heartbeats to Sync Leader\n only during raids (~85% bandwidth reduction). Event-driven heartbeats\n via NotifyStateChange() are unaffected.\n- RCLC_Bridge: 3-tier tiebreaker in PR sort (PR → response rank → name)\n to eliminate visual shuffle from Lua's unstable table.sort
  • feat(sync): batch EPGP broadcast, convergence tracking, Sync Leader boss kill
    9 changes to reduce EP/GP sync latency from 120-180s to ≤5s:
    • Change 1: BroadcastBatchEPGPUpdate (1 RPC instead of N)
    • Change 2: BATCH_EPGP_UPDATE RPC handler with BATCH_ACK
    • Change 3: PushAfterAward immediate snapshot push (1s debounce)
    • Change 4: Frame-level hash caching for ComputeRosterHash/ConfigHash
    • Change 5: Batch-aware AwardEPToSelected (silent collect + batch)
    • Change 6: Sync Leader exclusive boss kill (IsSyncLeader gate)
    • Change 7: Dynamic combat exit polling via UnitAffectingCombat
    • Change 8: Silent award option for AwardEP/ChargeGP
    • Change 9: Convergence tracker with straggler retry + officer reports
      Files changed: EPGP.lua, Session.lua, CommunicationV2.lua, SyncScheduler.lua, .luacheckrc