## Version 1.2.2 - Midnight Rescue

### 🔧 Midnight 12.0 Fixed
The addon was loading but silently doing nothing on Midnight. Two root causes found and fixed:

## Version 1.2.1 - Midnight Taint Fix

### 🐛 Critical Fix: AceEvent30Frame Forbidden Error on Midnight
Fixed a Midnight 12.0 error: `ADDON FORBIDDEN: AceEvent30Frame:RegisterEvent()`

**Root cause:** AceEvent-3.0 creates a globally-named shared frame (`AceEvent30Frame`) that every addon using the library reuses via LibStub's singleton pattern. Midnight's stricter taint tracking means if *any* other addon taints that shared frame, every subsequent `RegisterEvent` call on it is blocked as a protected function call.

**Fix:** Replaced the AceEvent-3.0 embed with a private, unnamed event frame. Our frame is not shared with other addons and cannot be externally tainted. The single `CHAT_MSG_GUILD_ACHIEVEMENT` event now registers on our private frame with zero cross-addon exposure.

### 🧹 Library Cleanup
Removed three unused libraries that were bloating the addon:
- **AceComm-3.0** and its bundled **ChatThrottleLib** - no AceComm usage anywhere in the code
- **AceDBOptions-3.0** - we don't use AceDB's profile UI
- **AceEvent-3.0** - replaced with a 10-line private frame (see above)

Reduces addon zip size and eliminates three potential sources of lib conflicts.

---

## Version 1.2.0 - Midnight Release

### 🌙 World of Warcraft: Midnight (12.0.1) Support
Full compatibility with the Midnight expansion! The addon now recognizes and celebrates all the new Midnight achievement categories with custom TBC-style humorous messages themed around Quel'Thalas, the Voidstorm, and Xal'atath's machinations.

### 🏆 New Midnight Achievement Categories
- **Midnight Raids** (30+ messages) - Voidspire, Dreamrift, March on Quel'Danas (Belo'ren & Midnight Falls/L'ura)
- **Midnight Keystones** (20+ messages) - Season One Mythic+ with Calamitous Carrion references
- **Midnight Delves** (10+ messages) - Brann Bronzebeard approves
- **Midnight Exploration** (10+ messages) - Eversong Woods, Zul'Aman zone, Harandar, Voidstorm
- **Prey System** (10+ messages) - Preyseeker's Journey and Murder Row hunts
- **Housing** (12+ messages) - The new Azeroth housing system
- **Midnight Class** (10+ messages) - Devourer DH spec and class tuning jabs
- **Haranir** (8+ messages) - The new bioluminescent allied race

### 🎉 Midnight-Specific Level 90 Messages
30 new messages for hitting level 90 in Midnight, replacing the old MoP-themed level 90 messages when playing on retail. References Xal'atath, Silvermoon, the Sunwell, Prey, Delves, Housing, and more.

### 🔧 Technical Improvements
- Added `## IconTexture` to the TOC so Blizzard's AddOn menu shows the addon icon
- Bumped Interface-Retail to 120001 (Midnight 12.0.1)
- Added `C_AchievementInfo.GetCategoryInfo` detection for modern category API
- Wrapped achievement API calls in safe pcalls to prevent errors on client updates
- Added Midnight-specific keyword detection for achievements with unknown category IDs
- Smart category fallback: if a Midnight category has no messages, uses the closest generic equivalent (Raids, Dungeons, Exploration, etc.)
- Minimap button settings shortcut now works on Classic/BCC/Wrath (uses `InterfaceOptionsFrame_OpenToCategory` fallback)

### 📦 Build System
- GAME_VERSIONS bumped to include 12.0.1 (replacing 11.2.5)

---

## Version 1.1.3

### 🐛 Bug Fixes
- Fixed paid boost spam: if a player boosts through multiple milestones at once, only the highest milestone is congratulated instead of every one

---

## Version 1.1.2

### 🔧 The Burning Crusade Classic - Milestone Level-Up Tracking
- Added full support for Burning Crusade Classic (BCC and BCC Anniversary) where achievements don't exist in the game
- Polls guild roster every 30 seconds to detect milestone level-ups for online guildies
- Milestone levels: 10, 20, 30, 40, 50, 58 (Dark Portal!), 60 (Classic cap), 70 (TBC cap!)
- Special level 58 messages celebrating entry into Outland through the Dark Portal
- All 195 messages are themed around The Burning Crusade, Outland, Illidan, and the level 70 cap
- Only congratulates on actual dings - must see level tick from previous to new level
- Players who join the guild are not congratulated until their level actually increases
- Only tracks online players - offline progress is never tracked or compared
- Verifies players are still in the guild before sending congratulations
- Automatically detects BCC client and switches to polling mode

---

## Version 1.1.1 - Bug Fix

### 🐛 Fixed Self-Congratulation Bug
Fixed an issue where the addon would congratulate yourself when earning multiple achievements at once, even when "Congratulate Yourself" was disabled.

**Now fixed:**
- The `Congratulate Yourself` setting is properly respected in all scenarios:
  - Single achievements
  - Multiple achievements earned simultaneously
  - Group achievements (you're now filtered out of the player list when disabled)

---

## Version 1.1.0 - Smart Batching Update

### 🎯 Smart Achievement Batching
No more spam! The addon now intelligently batches achievements:
- **3-second collection window** - Gathers all achievements before responding
- **One player, multiple achievements?** - Combined into a single hilarious message
- **Raid boss kill?** - One celebration for the whole group instead of 25 spam messages!

### 🎉 Combo Messages - Multi-Achievement
When a single player earns multiple achievements at once (level up + dungeon + quest):
> "WHOA {player}! 3 achievements at ONCE?! Were you SAVING those up?! Show-off!"

**40 unique combo messages** for overachievers!

### 🏆 Group Celebration Messages
Different message pools based on group size:

| Group Size | Type | Example |
|------------|------|---------|
| 2-4 players | Small Group | "Squad goals ACHIEVED! LITERALLY!" |
| 5-9 players | Dungeon Party | "DUNGEON DOMINATION! The instance didn't stand a CHANCE!" |
| 10-19 players | Raid | "TEN-MAN TAKEOVER! COORDINATION LEVEL: EXPERT!" |
| 20+ players | Large Raid | "TWENTY-FIVE MAN DOMINATION! THE GUILD IS UNSTOPPABLE!" |

**110 unique group messages** across all sizes!

### 🧠 Smart Name Handling
- For groups of 5 or fewer: Lists all names ("Alice, Bob, and Charlie")
- For larger groups: "Player1, Player2, Player3, and 22 others"
- Automatic message truncation to fit WoW's 255 character limit

### 📊 Total Message Count
- **800+ individual achievement messages** (unchanged)
- **40 multi-achievement combo messages** (NEW)
- **110 group celebration messages** (NEW)
- **950+ total unique messages!**

---

## Version 1.0.0 - Initial Release

### 🎉 First Release!
Guild Achieves automatically congratulates your guildies on their achievements with hilarious, sarcastic messages!

### Features
- **Automatic Achievement Detection** - Listens for CHAT_MSG_GUILD_ACHIEVEMENT events
- **Smart Categorization** - Automatically detects achievement types (Levels, Dungeons, Raids, PvP, etc.)
- **Random Delay** - 1-3 second delay before responding (so it doesn't look like a bot!)
- **Cooldown System** - Configurable cooldown to prevent spam (default 5 seconds)

### Message Database
- **800+ unique messages** across all achievement categories
- **40 messages per category** for maximum variety
- **Special level messages** for milestones 10, 20, 30, 40, 50, 60, 70, 80, 85, and 90
- **Extra sarcastic** messages for Level 85 (highlighting the grind to 90)
- **Gear grind jokes** for Level 90 (now the REAL game begins!)

### Categories Supported
- Level Achievements (10-90)
- Quest Achievements
- Exploration Achievements  
- Dungeon Achievements
- Raid Achievements
- PvP Achievements
- Profession Achievements
- Reputation Achievements
- Pet Battle Achievements
- Scenario Achievements
- World Event/Holiday Achievements
- General (fallback for uncategorized)

### Settings & Configuration
- Enable/Disable toggle
- Per-category toggles
- Cooldown slider (0-30 seconds)
- Self-congratulation option
- Debug mode for troubleshooting
- Three UI templates (Default, Transparent, Class Color)
- Minimap button with left-click toggle and right-click settings

### Supported Game Versions
- Mists of Pandaria Classic (5.5.0)
- World of Warcraft Retail (11.2.5+)
- Classic Era (1.15.x)
- Burning Crusade Classic (2.5.x)
- Wrath of the Lich King Classic (3.4.x)
- Cataclysm Classic (4.4.x)

### Slash Commands
- /guildachieves - Open settings
- /ga - Open settings (shortcut)
