# Changelog

All notable changes to this project will be documented in this file.

## [1.1] - 2026-06-01

### Added
-   **Combat Announces**: New automatic party/raid chat announcements for combat events:
    -   **Spellsteal**: Announces when you successfully steal a buff from an enemy (e.g., `Spellsteal [Ice Armor] from Enemy Mage`).
    -   **Counterspell**: Announces when you interrupt an enemy's spell cast (e.g., `Interrupted [Frostbolt] from Enemy Mage`).
    -   **Silence**: Announces once when you are affected by a silence effect (e.g., enemy Counterspell, Priest Silence, Felhunter Spell Lock).
-   **Smart Channel Detection**: Automatically posts to `/party` when in a group or `/raid` when in a raid.
-   **Combat Settings**: New "Combat Announces" section in the options menu with individual toggles for Spellsteal, Counterspell, and Silence announcements.
-   **Debug Mode**: Added `/rlmage debug` command to toggle combat event debugging for troubleshooting.
-   **Test Command**: Added `/rlmage test` command to verify group/raid channel detection.

### Fixed
-   **TBC Classic Compatibility**: Removed usage of `LE_PARTY_CATEGORY_INSTANCE` (Retail-only constant) that caused silent failures in chat announcements.
-   **CLEU Parameter Parsing**: Implemented dynamic detection of `hideCaster` parameter presence to support both old and modern TBC Classic client builds.
-   **Spellsteal vs Dispel**: Corrected event detection to distinguish `SPELL_STOLEN` (Spellsteal) from `SPELL_DISPEL` (Remove Curse, Dispel Magic) to prevent false announcements.
-   **Interrupt Logic**: Separated player-as-source (Counterspell) from player-as-dest (being interrupted) to prevent duplicate or incorrect announcements.

### Changed
-   **English Combat Messages**: Spellsteal and Counterspell announcements now use hardcoded English format for consistency across all clients.
-   **Options Frame Height**: Increased options window height from 500 to 580 pixels to accommodate new combat settings section.

## [1.0] - 2026-01-30

### Added
-   **Initial Release**: Released RL Mage for World of Warcraft: The Burning Crusade Classic (Interface 20505).
-   **Mage Bar**: Utility bar for Teleports, Portals, Food (Conjure Food/Water), and Buffs (Intellect/Armor).
-   **Smart Rank Detection**: Automatically detects and uses the highest learned rank of spells.
-   **Options Menu**: Configuration interface (`/rlmage`) to toggle categories and manage hidden spells.
-   **Localization**: Full support for English (enUS) and German (deDE) clients.
-   **Minimap Button**: Movable minimap icon for quick access to options.
-   **About Page**: Information about the creator and direct links to the bug tracker and homepage.
-   **Version Checker**: Integrated automatic version check via guild/group communication to notify users of updates.
-   **Update Notifications**: In-game notifications (Chat and About Tab) when a newer version is detected.

### Fixed
-   **Spell Casting Reliability**: Switched to explicit `/cast Name(Rank)` macros to ensure reliable spell execution and correct rank usage on all clients.
-   **Portal Detection**: Improved detection logic for Portal spells to prevent them from missing in the menu.
-   **Food & Water Ranks**: Added missing high-level spell IDs for Conjure Food and Conjure Water.
-   **API Compatibility**: Replaced deprecated or broken API calls (e.g., `GetSpellBookItemLink`) with stable alternatives (`GetSpellBookItemInfo`) to prevent Lua errors.
-   **Addon Grouping**: Corrected TOC metadata (`X-Category`, `X-Part-Of`) to ensure the addon appears correctly under "RL Addons" in management tools.
-   **Secure Buttons**: Fixed issues where buttons would sometimes not respond to clicks by refining the SecureActionButton attributes.
