Planned features and known bugs

- FUTURE: Support two identical items where the one with the shortest cooldown is selected
- FUTURE: Attempt to return unequipped items to their original location
- FUTURE: QuickSlots open-on-hover
- FUTURE: Add a label field to show on outfit bar buttons
- FUTURE: Auto-detect new equipment which is better for an optimized outfit (possibly too expensive computationally)
- FUTURE: Save outfit scripts to a global database where they can be instanced and used by other character
- FUTURE: Add keybinding to enable/disable automatic changes
- FUTURE: Item queueing
- FUTURE: Script timers
- FUTURE: Nurturing Instinct talent for druids adds +healing based on agility
- FUTURE: LibDataBroker support

- FUTURE: Rebuild For... menu to rebuild any type
- FUTURE: Generate outfits to maximize TankPoints and HealPoints
- FUTURE: Generate outfits which include a secondary stat
- FUTURE: Effective Health optimization (http://www.theoryspot.com/forums/theory-articles-guides/1060-effective-health-theory.html)
           will require dual-stat optimizations since armor and stamina are both factors
- FUTURE: Equip/unequip delays generate queued operations!!
- FUTURE: Add delay parameter to macro wear/unwear commands
- FUTURE: Expertise stat generation
- FUTURE: Shaman talents add +heal based on int, need to dynamically generate the coefficient tables to take these talent effects into account

- FUTURE: Numeric readout on outfit bar scaling slider
- FUTURE: Show key binding on outfit bar
- FUTURE: Change highlight color for incomplete outfits to red
- FUTURE: Change highlight color for banked outfits to blue
- FUTURE: Change highlight color for partially-obscured outfits to yellow
- FUTURE: Option to hide an outfit from the outfit bar if it's incomplete
- FUTURE: Copy of the minimap menu in the outfit bar (icon button in a corner of the bar possibly)

- FUTURE: Deposit all other outfits to bank

- BUG: End -> Shift-Home selects all but doesn't highlight properly
- BUG: Script settings/source dialog doesn't close on <esc>
- BUG: Trinket Queue fails when a trinket is already equipped or not found

Version 4.4 Changes

- FEATURE: Updated outfit optimization wording for patch 2.4 stat changes
- FEATURE: Added Dalaran to list of cities for Around Town script
- FEATURE: Added Aspect of the Dragonhawk support (uses same outfit as Hawk)
- FEATURE: Completed prismatic gem list, which should improve gear-swapping when using those (still has trouble due to WoW bugs with item-for-item swaps with prismatics)

Version 4.3.1 Changes

- BUGFIX: Corrected syntax error in German localization

Version 4.3 Changes

- FEATURE: Compatible with WotLK
- FEATURE: Quick slots and Odds 'n Ends list now support item comparisons (shift key)
- FEATURE: LibDataBroker support
- FEATURE: Russian translation provided courtesy of Delika
- FEATURE: Chnaged Fishing script to use WoW 3.0 API for controlling auto-loot behavior
- FEATURE: Added Deathknight presence scripts
- FEATURE: Shapeshift detection (stance, stealth, presence, form, etc.) works without localization
- FEATURE: Changed outfit bar icon picker to say "Suggested/equipped icons" to make it clearer which icons you'll get
- FEATURE: Support for Titan's Grip
- FEATURE: Outfits can be set to display a specific title when worn
- FEATURE: Added event parameters for scripts using the '...' parameter
- BUGFIX/FEATURE: UniqueID for items is used for matching equipment
- BUGFIX/FEATURE: Updated unique-equipped gem list for patch 3.0 (thanks regecks)
- BUGFIX: Fixed fishing script to detect track fish in patch 3.0
- BUGFIX: Fixed "player has buff" script for patch 3.0
- BUGFIX: Unequipping items now works in all locales

Version 4.3b15 Changes

- FEATURE: Removed Titan and FuBar built-in support in favor of LibDataBroker, which can be used with either of those already
- FEATURE: Added some German tooltip parsing (most non-English stat parsing is still missing however)
- BUGFIX: Fixed banking to correctly recognize base bank slots again

Version 4.3b14 Changes

- FEATURE: Added Simplified Chinese (zhTW) translation (thanks to Paul Ho and Andy52005)
- BUGFIX: FuBar support will no longer load if the real FuBar isn't present (LDB support will still be provided)
- BUGFIX: Clicking the minimap button when the menu is already open closes the menu
- BUGFIX: LibDataBroker displays should no longer get resized when the Outfitter menu is displayed
- BUGFIX: FuBar plugin text fixed

Version 4.3b13 Changes

- FEATURE: Titan Bar support is built-in (disable the TitanOutfitter plugin if you're using it)
- FEATURE: FuBar support is built-in (disable the FuBar_OutfitterFu plugin if you're using it)
- FEATURE: LibDataBroker support

Version 4.3b12 Changes

- BUGFIX: Removed erroneous debug code
- BUGFIX: Modified zone detection (should fix WSG-related outfit issues)
- BUGFIX/FEATURE: Moved ammo link cache to saved variables file (may help those having ammo problems)
- BUGFIX: Unequipping items now works in all locales
- BUGFIX: Mount/dismount detection fixed

Version 4.3b11 Changes

- BUGFIX: Removed uses of PLAYER_AURAS_CHANGED for patch 3.0 compatibility
- BUGFIX: Fixed nil pItem error when restoring the outfit stack upon login
- BUGFIX: Fixed spellcast detection to detect item-based mounts (flying broom) correctly

Version 4.3b10 Changes

- BUGFIX: Corrected spelling of Berserker in French localization (reported by DeathboyRG)
- BUGFIX: Added short delay to initialization to allow time for talent trees to load (Titan's Grip fix)
- BUGFIX/FEATURE: Updated unique-equipped gem list for patch 3.0 (thanks regecks)
- FEATURE: Added event parameters for scripts using the '...' parameter
- BUGFIX: Fixed fishing script to detect track fish in patch 3.0
- BUGFIX: Fixed "player has buff" script for patch 3.0
- BUGFIX: Removed OnEditFocusGained/Lost test messages (reported by ljudsnubbe)
- BUGFIX/HACK: Spell hit optimization should work now (still separate from melee hit, even though they're identical)
- BUGFIX/HACK: Healing optimization recognizes spell power (still separate from spell damage, even though they're now identical)

Version 4.3b9 Changes

- FEATURE: Outfits can be set to display a specific title when worn
- BUGFIX: Fixed menu item colors for patch 3.0
- BUGFIX: More attempts to get Titan's Grip working correctly

Version 4.3b8 Changes

- FEATURE: Changed outfit bar icon picker to say "Suggested/equipped icons" to make it clearer which icons you'll get
- FEATURE: Quick slots and Odds 'n Ends list now support item comparisons (shift key)
- BUGFIX: Fixed bug with dual-wielding 2H weapons courtesy of Dussander
- BUGFIX: Reverted Complete outfit scripting behavior to allow unequipping
- BUGFIX: Fixed error when scrolling the outfit list

Version 4.3b7 Changes

- FEATURE: Updated Titan plugin for WoW 3.0
- BUGFIX: Added /reloadui detection for people trying to update to 4.3 while WoW is running
- BUGFIX: Fixed Titan's Grip detection
- BUGFIX: Translated 2H sword/mace/axe names for English, German, French and Russian
- BUGFIX: Fixed bug causing inventory updates to go unnoticed after zoning

Version 4.3b6 Changes

- FEATURE: Chnaged Fishing script to use WoW 3.0 API for controlling auto-loot behavior
- FEATURE: Added Deathknight presence scripts
- FEATURE: Shapeshift detection (stance, stealth, presence, form, etc.) works without localization

Version 4.3b5 Changes

- FEATURE: Russian translation provided courtesy of Delika
- BUGFIX: Fixed script editor on live servers

Version 4.3b4 Changes

- FEATURE: Added support for dual-wielding 2H weapons (Titan's Grip)
- BUGFIX/FEATURE: Fixed script editor for WotLK changes

Version 4.3b3 Changes

- BUGFIX/FEATURE: Updated Dodge calculation for patch 2.1 formula changes
- BUGFIX/FEATURE: Added new patch 3.0 (level 71+) ratings formulas (thank you to Tayedaen for the research/fix)
- BUGFIX/FEATURE: Update All/None buttons now display correctly in WotLK
- BUGFIX/FEATURE: Fixed shapeshift detection in WotLK

Version 4.3b2 Changes

- BUGFIX: Deathknight initializes correctly
- BUGFIX: Works correctly on the live servers
- BUGFIX: Fixed numerous menu bugs
- BUGFIX: Fixed numerous scrolling bugs

Version 4.2.6 Changes

- BUGFIX/FEATURE: Outfit changes will no longer occur during a spellcast.  Once the cast is complete the equipment change will complete (within the restrictions of combat status)
- FEATURE: Riding outfit no longer has "Unequip on spellcast option" since this option is no longer useful with the new patch

Version 4.2.6b3 Changes

- BUGFIX: Fixed spellcast detection when conjuring an item that you have too many of already
- BUGFIX: Fixed spellcast detection when in a party/raid

Version 4.2.6b2 Changes

- BUGFIX: Removed spellcast detection diagnostic messages

Version 4.2.6b1 Changes

- BUGFIX/FEATURE: Outfit changes will no longer occur during a spellcast.  Once the cast is complete the equipment change will complete (within the restrictions of combat status)
- FEATURE: Riding outfit no longer has "Unequip on spellcast option" since this option is no longer useful with the new patch

Version 4.2.5 Changes

- BUGFIX: Corrected typo causing error when using the Trinket Queue script (EN/DE)

Version 4.2.4 Changes

- BUGFIX: Corrected typo causing error when updating the minimap menu

Version 4.2.3 Changes

- FEATURE/BUGFIX: Banking operations are in a submenu (reduces outfit menu to 16 items which avoids Blizzard menu taint bug)
- BUGFIX: Added support for trinkets using the phrase "Lasts nn sec." in the trinket queue script (EN/FR/DE)
- BUGFIX: Minimap menu no longer gets called an increasing number of times each time it's accessed
- BUGFIX: Fixed bug causing tooltip to sometimes stay visible when using the trinket queue script
- BUGFIX: Changes made to scripts take effect properly

Version 4.2.2 Changes

- BUGFIX: Outfit Bar no longer generates errors after using '/outfitter reset'
- BUGFIX: Low Health or Mana script updates properly on mana changes
- BUGFIX: Added '/outfitter enable' and '/outfitter disable' macro commands to control automatic changes
- BUGFIX: Outfit Bar is off by default
- BUGFIX: Added patterns to parse "+n Spell Damage and Healing" and "+n Spell Power" tooltip stat rows
- BUGFIX: Eye of the Sea is processed correctly for avoiding unique-equipped conflicts
- BUGFIX: Opening the Outfitter UI no longer causes menu taint (accessing an outfit menu will though)

Version 4.2.1 Changes

- FEATURE: Riding outfit has new "stay equipped while falling" option for Parachute Cloak users (off by default)
- FEATURE/BUGFIX: Scripts are in sub-menus by category (also avoids problems with large menus going off the screen)
- FEATURE: $SETTING type fields are no longer case-sensitive, allowing "string" and "number" to be the same as the standard Lua typenames
- BUGFIX: Solo/Party/Raid script fixed
- BUGFIX: Corrected German localization of Moonkin
- BUGFIX: Corrected default icon for Berserker Stance outfit
- BUGFIX: Default icon for single-item outfits shows correctly even if the item is banked or missing
- BUGFIX: Escape key correctly removes keyboard focus from script editbox fields
- BUGFIX: /outfitter commands which use item links work correctly (iteminfo for example)

Version 4.2 Changes

- FEATURE: New '/outfitter missing' command assists with recovering stolen/vendored items by generating a list of links for missing items
- BUGFIX: Exponential lag when using QuickSlots is fixed
- BUGFIX: Trinket Queue works. Again.

Version 4.1.6 Changes

- BUGFIX: Turned off ammo slot diagnostics

Version 4.1.5 Changes

- BUGFIX: Ammo slot contents should identify correctly
- BUGFIX: Fixed typo in ammo slot diagnostic message causing errors
 
Version 4.1.4 Changes

- FEATURE: /outfitter macro commands now support [conditionals]
- FEATURE: Added internal error checking on the ammo slot handlers, please let me know of any errors that get detected
- BUGFIX: Ammo slot should identify its contents correctly again (broken in 4.1.2)
- BUGFIX: Default icon for Aspect of the Hawk now appears correctly

Version 4.1.3 Changes

- BUGFIX: Removed unintentional notes being interpreted as code, causing numerous errors

Version 4.1.2 Changes

- FEATURE: Updated gems which are no longer unique-equipped in patch 2.4 (Chrysoprase, Fire Opal and Tanzanite families)
- FEATURE: Added support for new Eye of the Sea gem
- FEATURE: Solo script is now Solo/Party/Raid and can handle any combination of those

Version 4.1.1 Changes

- FEATURE: Updated .toc for patch 2.4
- FEATURE: Added Skinning Knife and Arclight Spanner to ignored quickslot items
- BUGFIX: Tooltip should no longer stay up when using the Trinket Queue script
- BUGFIX: Druid shapeshift should no longer sometimes give an error message

Version 4.1 Changes

- FEATURE: New outfit bar for quick access to outfits using a row or column of icons
- FEATURE: Unique-equipped gems are handled through smart ordering of equipment changes
- FEATURE: Reduced download size and texture memory usage
- FEATURE: Complete outfits can have scripts attached
- FEATURE: Unequipping a Complete outfit is now allowed (the previously-worn Complete outfit will equip instead)
- FEATURE: QuickSlots can now accomodate any number of items
- FEATURE: Quickslots now ignore Blacksmithing Hammer and Mining Pick
- FEATURE: Outfitter detects if you attempt to do a major upgrade using reloadui and warns you
- FEATURE: Right-clicking on an outfit in the list now brings up the outfit's menu
- FEATURE: Scripts are now categorized for easier browsing
- FEATURE: New Falling script equips when you are free-falling
- FEATURE: New setting to enable auto-loot whenever the Fishing outfit is equipped
- FEATURE: New setting to equip the Fishing outfit when "Track Fish" is selected
- FEATURE: New setting to disable Riding in any instance instead of just AQ40
- FEATURE: New setting to unequip Riding outfit when casting spells while mounted
- FEATURE: New setting to disable Shapeshift/stance/aspect outfits when PvP flagged or in BGs
- FEATURE: Trinket Queue supports both trinket slots simultaneously
- FEATURE: Trinket Queue detects when the current trinket's effect is still active and won't swap until it's over
- FEATURE: Settings menu item is enabled for scripts with no settings so player can see message about having no settings
- FEATURE: /outfitter sound on|off command to disable equipment sounds during gear swaps
- FEATURE: Scripts can now include a default value for a $SETTING (see the Riding script for an example)
- FEATURE: New INITIALIZE and TERMINATE events for scripts when they're loaded or unloaded
- FEATURE: Scripts can set an outfit layer using 'layer=xxx' even when an equip isn't being specified
- FEATURE: Outfitter:RemoveOutfitByName(outfitName) API added for scripting convenience

- BUGFIX: Hiding the UI during combat is no longer affected by Outfitter's presence
- BUGFIX: Free-dragging the minimap button no longer requires the ALT key to be held down the whole time
- BUGFIX: Fixed descriptions for AV, AB, and WSG scripts
- BUGFIX: Fixed parsing of strength attribute when building optimized outfits
- BUGFIX: Disable in Combat feature fixed (Tyrindor)
- BUGFIX: Edit fields in script settings now clear focus when escape is pressed
- BUGFIX: Arena detection should now work properly for Battleground outfits
- BUGFIX: Spirit Regen (five second rule) detection improved
- BUGFIX: Trinket Queue works properly when covered up by another outfit

Version 4.1b9 Changes

- FEATURE: Falling outfit
- FEATURE: Riding outfit only runs the timer when needed

- BUGFIX: Fishing script correctly equips when Fish tracking is enabled
- BUGFIX: Fishing script correctly sets auto-loot mode when equipped
- BUGFIX: Druid shapeshift outfits now unequip correctly when you die
- BUGFIX: Trinket Queue works properly when covered up by another outfit

Version 4.1b8 Changes

- BUGFIX: Fixed problem with UI not showing up under 2.4 on the PTR
- BUGFIX: Unqiue-equipped gems should now work correctly when you have more than one of them same kind
- BUGFIX: Gathering scripts no longer give an error when hovering over a node

Version 4.1b7 Changes

- BUGFIX: Fixed outfit bar initialization

Version 4.1b6 Changes

- FEATURE: Trinket Queue supports both trinket slots simultaneously
- FEATURE: Trinket Queue detects when the current trinket's effect is still active and won't swap until it's over
- FEATURE: Outfitter:RemoveOutfitByName(outfitName) API added for scripting convenience
- FEATURE: Outfit bar glow moved farther out for better visibility
- FEATURE: Outfit bar can be scaled, flipped vertical, made transparent, have its background hidden, and be locked in place
- FEATURE: Outfit bar remembers its position based on the nearest corner so that scaling and adding new outfits will grow the bar outward from that corner
- FEATURE: Outfit bar has two drag tabs so that it can be pushed all the way into a corner of the screen, if desired
- FEATURE: Spirit Regen script now has a small delay before it unequips to avoid hitting the GCD during chain casting
- FEATURE: Outfit bar has default icons for all scripts

- BUGFIX: Spirit regen is detected using spellcast events instead of mana level changes
- BUGFIX: Edit Script dialog cancel button fixed

Version 4.1b5 Changes

- FEATURE: /outfitter sound on|off command to disable equipment sounds during gear swaps

- BUGFIX: Riding no longer gets equipped after a spellcast in battlegrounds
- BUGFIX: Shapeshift and aspect outfits should equip correctly again
- BUGFIX: Fixed default icon for Druid: Bear Form

Version 4.1b4 Changes

- FEATURE: New Rogue:Lockpicking script to equip items when presented with a difficult lock
- FEATURE: Remaining unique-equipped gems added (big thanks to Dridzt and gtmsece for looking up the enchant IDs for those gems)

- BUGFIX: Tooltip-based scripts like mining, herbalism, etc. should now work properly
- BUGFIX: Dining outfit should now unequip properly
- BUGFIX: Added Resilience, Spell Haste and Melee Haste to stat optimizations
- BUGFIX: Fixed parsing of stats which begin with "Improves your ..."

Version 4.1b3 Changes

- FEATURE: Reduced download size and texture memory usage
- FEATURE: Unique-equipped gem handling should now work
    NOT SUPPORTED YET:
        Don Julio's Heart, Great Bladestone, Kailee's Rose, Mystic Bladestone, Sovereign Tanzanite, Stone of Blades, Sublime Mystic Dawnstone,
	    Sundered Chrysoprase, Don Amancio's Heart, Don Rodrigo's Heart, Mighty Blood Garnet, Mighty Blood Garnet, Unstable Amethyst,
	    Unstable Citrine, Unstable Peridot, Unstable Sapphire, Unstable Talasite, Unstable Topaz
    If you have one of these gems, use the command '/outfitter iteminfo [itemlink]' and tell me the JewelCode that
    corresponds to that gem.  All other unique-equipped gems should be entered correctly, if yours doesn't work then
    do the same thing wth the iteminfo command and let me know.

- BUGFIX: Fixed bug causing German version to give an error message on startup
- BUGFIX: didEquip and didUnequip flags now update correctly
- BUGFIX: Fixed strata of Outfitter UI so that it doesn't appear in front of the Quickslots

Version 4.1b2 Changes

- FEATURE: Quickslots now ignore Blacksmithing Hammer and Mining Pick
- FEATURE: Scripts can set an outfit layer using 'layer=xxx' even when an equip isn't being specified
- FEATURE: Outfitter detects when a player is attempting to upgrade using reloadui and warns them when it matters
- FEATURE: Added default icons for resist and naked outfits
- FEATURE: Riding script has option to disable in instances instead of just AQ40

- BUGFIX: Error in DE and FR localization files corrected
- BUGFIX: RecentCompleteOutfits table should initialize correctly
- BUGFIX: Icon picker for Outfit Bar appears in front of other windows now
- BUGFIX: A manually equipped Battleground outfit should no longer unequp when leaving the BG
- BUGFIX: Choose icon no longer crashes when the outfit bar isn't shown
- BUGFIX: QuickSlots should now appear in the correct strata and not show on top of dialogs
- BUGFIX: "Update to current items" works again
- BUGFIX: Icon picker now includes equipped items when viewing icons in your bags
- BUGFIX: Zone name is now used to identify arenas instead of the WoW APIs
- BUGFIX: Icon picker closes when the escape key is pressed
- BUGFIX: Converted unique-equipped gem codes to their equivalent enchant codes

Version 4.0.1 Changes

- Disabling Riding outfit for battlegrounds now correctly includes arenas
- Added "Unequip delay" setting to Riding outfit for parachute cloak users
- Added "Disable while PvP flagged" option to standard Riding script
- Fixed bug in outfit script error reporting
- Fixed bug which caused switching from 2H weapon to a 1H/OH combo to sometimes fail to equip the OH

Version 4.0 Changes

- Eliminated Special Occasion category.  Special Occasion outfits can now be created, renamed
  or deleted just like any other outfit
- Preset scripts are provided for all prior Special Occasion outfits
- Eliminated Mix-n-match category.  Now Accessory outfits have an option to "On equip, unequip
  all other Accessory outfits".  This provides the same functionality with an easier-to-understand interface
- New Druid: Caster outfit, worn when not in any shapeshift form
- Improved compatibility with Burning Crusade
- Stance/shapeshift outfits no longer automatically change if the player is mind-controlled

Version 4.0b11 Changes

- Fixed bug in Shadowform outfit (reported by Alianza)
- Fixed bug causing banking features to fail
- Complete outfits no longer show "on unequip" menu option

Version 4.0b10 Changes

- New "/outfitter reset" command resets Outfitter on the current character
- Arenas are now treated as a Battleground zone (reported by XMinioNX)
- Initialization of charcters below level 60 fixed (reported by Waxie)
- Free-drag minimap button saves correctly (reported by XMinioNX)
- Pending equipment changes once again get processed once the player is alive (reported by XMinioNX)
- Added translatable descriptions and titles for more scripts (reported by Dessa)
- Fixed bug with helm/cloak visibility not updating sometimes when returning to cities from instances and battlegrounds

Version 4.0b9 Changes

- Minimap button can now be freely dragged by holding the alt key
- Fixed script generation bugs affecting numerous scripts

Version 4.0b8 Changes

- Fixed script errors in Dining, Battleground (all) and Spirit Regen scripts
- Stance/shapeshift/aspect outfits no longer automatically change if the player is mind-controlled
- Stance/shapeshift/aspect outfits now swap in-place so that you can equip outfits over them and not
  have those outfits later obscured by a shapeshift/stance/aspect change
- Fixed Riding script so that disable in battlegrounds works properly
- Scripts can now specify a layer tag when equipping an outfit.  If an outfit was previously equipped
  with the same layer tag, the new outfit will be equipped into the same stack position as the previous outfit.
  This is currently used to cause shapeshift/stance/aspect outfit changes to occur in-place
- Added comments to most built-in scripts to make them easier to learn from
- Fixed bug with boolean settings in scripts being cleared after relogging

Version 4.0b7 Changes

- Fixed bug with old battleground-disable flag still being used to prevent
  outfits from equipping (reported by we7)
- Fixed display of the outfit Key Binding menu
- Fixed checkboxes in Riding outfit so that enable/disable work properly
- Default for New Outfit dialog is empty outfit instead of current outfit
- Fixed bug which would cause outfit changes to fail if an item was being held on the cursor
- Added compatibility APIs for OutfitterFu and ArkInventory
- Fixed bug with initializing or generating outfits for characters at or below level 60

Version 4.0b6 Changes

- Automated outfits are no longer treated as "complete outfits", even
  if they have all slots enabled.  This will fix problems with gear not
  seeming to unequip like it should (ie, Riding outfits which are complete
  outfits would not unequip properly)
- Fixed MCDebugLib version error
- Removed debugging code (stack trace) from MCEventLib

Version 4.0b5 Changes

- Fixed tooltip title for "used by" option (reported by Spyroware)
- Fixed "used by" option so it can be turned on/off again (reported by Spyroware)
- Added glue code for backward compatibility with TitanOutfitter, FishingBuddy and OutfitterFu (reported by Maischter et al)
- Removed "Unknown form" diagnostic message when playing a Palladin (reported by heyallo)

Version 4.0b4 Changes

- Minimap menu "disable" option now works properly (reported by we7)
- Fixed error when using key bindings on outfits
- Added corrected ratings formulas (from WoWWiki)
- When creating "Total Stats" outfits, priests mages and warlocks no longer count strength
  or agility and rogues and warriors no longer count intellect towards the total
- Outfit stat optimization now works with secondary gem colors and healing stats
- Added dodge and parry stat outfits
- Significantly reduced the number of global variables being created by Outfitter.  I doubt this
  will have a noticable effect on performance, but it's being a good lua citizen and will make reading
  taint logs a lot easier

Version 4.0b3 Changes

- Fixed bugs with swimming, riding, dining script events
- Removed hard-coded delays in unequipping druid form outfits
- Added Druid: Caster form
- Shapeshift/stance/aspect outfits equip and unequip properly
- Global disable now works for all automated outfits
- Scripts for new outfits are now activated properly

Version 4.0b2 Changes

- Fixed bug with show/hide cloak (reported by Shalyna)
- Fixed bug with druid swift flight (reported by Kargul)
- Fixed Fishing Buddy compatibility issue (reported by Maischter)
- Fixed first-time initialization (reported by NoMoreFear)

Version 3.0 Changes

- Version 3.0 revisions were performed under a separate project "Outfitter Updated"

Version 2.1.1 Changes

- "Disable in Battlegrounds" option for Riding outfit applies to arenas as well

Version 2.1 Changes

- Added preset scripts which emulate all Special Occasion outfits
- Outfit binding can now be set to "None"
- One-handed weapons in an off-hand slot now correctly list their outfits in their tooltip
- Updated German and French translations

Version 2.1b3 Changes

- Added custom script for City outfit

Version 2.1b2 Changes

- Updated German and French translations

Version 2.0.1 Changes

- Fixed bug with finding empty bag slots for German and French clients

Version 2.0 Changes

- Scripts can be attached to an outfit to automate its behavior
- Tooltips list the outfits in which an item is used
- Outfits can be updated directly from currently equipped items
- Support for Druid: Tree of Life in German versions
- QuickSlots support dragging items
- New Hunter: Viper outfit
- Various bug fixes for Burning Crusade

Version 2.0b5 Changes

- Hunter: Viper should equip properly
- Mining, Herbalism, and Skinning scripts now detect tooltip color correctly

Version 2.0b4 Changes

- Added Battleground: Eye of the Storm outfit
- Specialty bags are now automatically recognized so new bags shouldn't confuse Outfitter
- Changed riding detection again to IsMounted() (piggybacks on the swimming detection)

Version 2.0b3 Changes

- Added Hunter: Viper outfit
- Fixed Druid: Tree of Life outfit
- Fixed "ItemsAreSame" error message (hopefully)
- Added OUTFIT_EQUIP and OUTFIT_UNEQUIP script events
- Trinket queue script no longer tries to update while in combat or dead

Version 2.0b2 Changes

- Reverted mount detection to check for buff strings instead of IsMounted() API
- Changed scripts to store preset script ID so that new updates to those scripts will be automatically applied
- Added "delay" variable to scripts to cause a delay before items are worn or removed
- Modified tradeskill node scripts to delay before unequipping

Version 2.0b1 Changes

- Fixed item link format parsing for patch 2.0.3
- Fixed scripts for skinning, mining and herbalism to detect "orange" correctly

Version 2.0a5 Changes

- Updated German and French localizations for Ahn'Qiraj Temple

Version 2.0a4 Changes

- Fixed issue with tainting the chat frame, which eventually tainted the pet bar. Thank you dwex for tracking this down.

Version 2.0a3 Changes

- Fixed bug in zone list script
- Fixed Nefarian's Lair script
- Changed mount detection to use new IsMounted() API
- Added ZoneList script setting type
- Added "In Minimap Zone" script

Version 2.0a2 Changes

- Finished scripting UI design
- Added support for script settings
- Added preset scripts for low health/mana, in zone list, and trinket queue
- Cleaned up display of Enable All and Enable None buttons

Version 1.5.2 Changes

- New Druid: Tree of Life outfit
- Fixed bug causing an error when stopping swimming or switching to druid caster form

Version 1.5.1 Changes

- New Battleground: Arena special occasion outfit
- Druid-form outfits will wait 2 seconds before unequipping while in combat
- Swimming outfit will no longer unequip when jumping underwater or briefly leaving the water
- Manually equipping Special Occasion outfits works properly again
- "Occasion" is spelled correctly

Version 1.5 Changes

- New Druid: Prowl outfit
- Riding outfit can now optionally be disabled in Ahn'Qiraj Temple
- Argent Dawn outfit can now optionally be disabled in Naxxramas
- All special occassion outfits can now optionally be disabled while in combat
- Added Exodar, Silvermoon and Shattrath to Around Town city list
- Riding outfit should no longer be triggered by running or attack speed buffs (Druid Dash, Hunter Rapid Fire, Sprint, Swift Boots, Zandalar run speed, etc.)
- Updated German localization

Version 1.5b4 Changes

- Removed parenthetical English city names from German translation
- Updated German translation for Warsong Gulch

Version 1.5b3 Changes

- Special Occassion outfits should equip/unequip properly when disabled in special zones
- Fixed Shattrath City spelling
- Corrected German name for Shattrath

Version 1.5b2 Changes

- Another attempt at supporting riding/flying mounts without also triggering on Rapid Fire

Version 1.4.6 Changes

- Added ranged attack power, total stat, and updated malee attack and crit distribution values (thanks Mizzajl!)
- Changed initialization to (hopefully) be more robust in the face of future Blizzard patches
- Fixed bug causing swimming outfit updates to sometimes generate an error
- Fixed bug causing equipped items to not be recognized properly

Version 1.4.5 Changes

- Modified item parsing to recognize item families (ie, "of the ..." gear) correctly in patch 2.0

Version 1.4.4 Changes

- SWIMMING OUTFIT!

Version 1.4.3 Changes

- Added hack to prevent CT_MailMod from trying to trade equipment during outfit changes
- Partial outfits now default to Accessory type instead of Mix'n'match
- Added support for stat "ratings" system
- Added support for new profession bags

Version 1.4.2 Changes

- Stance and shapeshift outfits will now swap in the same outfit layer so
  that outfits layered on top of them (ie, Argent Dawn or FR gear) will still be on
  top of them after a stance or form change
- Druid bear form with Furor talents will delay outfit changes until combat ends once again
- Detection of AQ bug mounts should now work correctly for German versions

Version 1.4.1 Changes

- Inventory changes optimized for better performance while shooting
- Moonkin German translation corrected
- Combat detection should work better for druids shifting to bear form with Furor talents
- Druid: Cat Form should work on Korean clients now

Version 1.4 Changes

- Special Occassion outfit added for mages when evocating
- Special Occassion outfits added for the various hunter aspects
- Battleground and Around Town outfits now have German translations
- Eastern and Western Plaguelands are correctly identified by German versions
- Titan and FuBar menus will now update when renaming an outfit
- Multipart enchants are supported (ie, Zul'Gurub)
- Korean language support

Version 1.4b5 Changes

- Generating an outfit now properly recognizes items in the main bank slots
- Added Korean translation

Version 1.4b4 Changes

- Arclight Spanner is no longer counted as an unused item
- Added Small Soul Pouch (12 slot shard bag)
- Ammo slot now ignores unequipping ammo
- Multipart enchants are supported (ie, Zul'Gurub)
- Health regen items of the form "xx health per 5 sec." are supported

Version 1.4b3 Changes

- Fixed outfit optimization bug so that 2H weapons are compared correctly to 1H/OH combinations
- Fixed shapeshift/stance detection for patch 1.12
- Fixed Priest: Shadowform

Version 1.4b2 Changes

- Changed cloak to low priority when unequipping since it doesn't have durability
- Fixed inventory caching bug (sometimes caused current outfit to appear as "Custom")

Version 1.3.3 Changes

- Added a spaz filter to prevent outfits from toggling repeatedly if the user spams a key binding
- Added an on-screen message when changing outfits using a key binding
- Removed Repair Bags feature
- Added Naxxramas to the Argent Dawn zone list
- Corrected plaguelands zone names for German clients

Version 1.3.3b2 Changes

- Added Naxxramas to the Argent Dawn zone list
- Correct plaguelands zone names for German clients

Version 1.3.2 Changes

- Patch 1.11 compatibility
- Added ability to deposit only the unique items in an outfit to the bank
- Improved QuickSlot support for ammo slot
- Mining pick, skinning knife, blacksmith hammer, twilight cultist pieces and other items are now excluded
  from being displayed in the unused items list
- Dining outfit now automatically unequips once health and mana reach 99%
- Fixed initialization so that Argent Dawn, Riding, Fishing etc. outfits are automatically
  set up again
- Added ability to recover from outfit stack corruption errors

Version 1.3.2b4 Changes

- Modified behavior of Special Occassion outfits so that when they're disabled in Battlegrounds
  they'll still automatically unequip
- Added APIs to aid in external addons building an Outfit menu (third-party FuBar support)
- Added OUTFITTER_INIT message to outfit events which is sent after Outfitter finishes initialization

Version 1.3.2b3 Changes

- Fixed lockup when generating outfits which utilize weapons, rings or trinkets

Version 1.3.2b2 Changes

- Removed debug messages

Version 1.3.1 Changes

- Selected items are no longer accidentally updated if another outfit with overlapping
  items is deposited to the bank
- Outfit status is now correctly updated after depositing, withdrawing, opening or closing
  the bank window
- Battleground-specific outfits are now given priority over the general Battleground outfit
  when there is overlap
- Minimap and Titan outfit menus will now update if they're open during an outfit change
- Removed ammo items from the Unused Items list
- Identical items which are both used in an outfit will no longer list one of those items
  as being unused

Version 1.3.1b2 Changes

- Fixed bug causing a selected outfit to be modified if another outfit containing some
  of the same items was deposited to the bank
- Fixed item cache to update correctly afer the bank is opened

Version 1.3.1b1 Changes

- Outfits specific to each battleground will now be equipped on top of the general
  Battleground outfit
- Minimap and Titan outfit menus modified to update on outfit changes
- Fixed bugs causing outfit status to be incorrect after depositing or withdrawing
  them from the bank or equipping them directly from the bank
- Fixed bug causing identical items to sometimes appear in the unused items list even
  though they both were used in an outfit
- Modified unused item list to never list ammo

Version 1.3 Changes

- Repair All button for repairing everything including items in backpacks
- Show and hide helm and cloak settings are saved with each helm and cloak
- Ammo slot is now supported in outfits
- Improved performance
- Enabled outfit changes when hunters are feigning death. Changing equipment while feigned
  may cause the character to appear to stand up, but does not actually break the feign as
  previously assumed
- Titan Outfitter displays the name of the most recently equipped outfit

Version 1.2 Changes

- Added Around Town outfit which is equipped automatically in friendly cities
- Added Shaman: Ghost Wolf outfit
- Added battleground-specific outfits for AB, AV, WSG
- Added Chance to Hit with Spells outfit generation
- Gave priority to Rune and Seal of the Dawn so they're selected before the old
  commission when there's a choice
- Modified stat parsing to ignore set bonuses when generating outfits
- Modified minimap outfit menu to only list outfits which actually contain items
- Odds 'n Ends (unused items) now show icons and color-coded names

Version 1.1:

- Better performance when changing outfits and generating smart outfits
- Supports identical items which only differ by their enchantments
- Outfits with missing items are displayed in red and the missing items for that outfit
  are listed in the tooltip
- There is a new category, Odds 'n ends, which lists all equipable items which aren't part
  of any outfit
- New support for banked items when the bank window is opened:
      QuickSlots will include banked items in the list of equippable items for that slot
      Outfits with banked items are displayed in blue and the banked items for that
          outfit are listed in the tooltip
      Items for an outfit can be moved directly to or from the bank
      Outfits can be equipped directly from the bank (note that this will cause existing
          equipped items to be placed into the bank)
- Generated outfits now take contributions from other item stats into account, including:
      Agility is included in armor, dodge, and melee critical strike calculations
      Stamina is included in health calculations
      Intellect is included in mana and spell critical strike calculations
      Spirit is included in mana regen calculations
      Strength is included in blocking calculations
- Support for minimaps which have been repositioned to other corners of the screen
- Improved support for complex item swaps for weapon, trinket and ring slots
- Rings, trinkets, and weapons are now calculated correctly when generating outfits
- On-equip category-specific spell damage is now supported, such as "Equip: Increases
  damage done by Shadow spells and effects..."
- Titan Panel support

Version 1.3b10 Changes

- Fixed bug in Titan Outfitter addon which caused errors during outfit changes

Version 1.3b9 Changes

- Fixed bugs which may have caused the tooltip to appear while repairing items

Version 1.3b8 Changes

- Fixed bug causing second finger and second trinket slot to be processed incorrectly
  during equipment changes as well as causing nil pointer errors to sometimes be generated
  when unequipping items

Version 1.3b7 Changes

- Fixed bug causing GetCurrentOutfitInfo to sometimes fail (was possibly causing
  problems for Titan Outfitter)

Version 1.3b6 Changes

- Suppressed outfit change notifications until after initialization is completed  (was
  possibly causing problems for Titan Outfitter)
- Changed GetCurrentOutfitInfo to return an empty string for the name instead of nil
  when no named outfits are found (was possibly causing problems for Titan Outfitter)

Version 1.3b5 Changes

- Fixed typo in detecting Spirit stat on German clients
- Fixed outfit caching bug which could sometimes cause outfit items to be marked as missing

Version 1.3b4 Changes

- Turned off debug messages
- Added outfit name display to Titan plugin
- Added Herb Pouch (12 slot herb bag) to list of specialty bags

Version 1.3b3 Changes

- Disabled hunter feign death handling introduced in 1.2
- Changed repair in bags button strata to prevent it from being hidden behind the vendor window
- Fixed item caching bugs which caused empty slots to become unselectable

Version 1.3b2 Changes

- Slightly improved responsiveness of repair items in bags button
- Fixed repair items in bags feature so that the main backpack gets examined
- Fixed ammo slot support so ammo is now included in the outfit
- Optimized equipment/bag updates.  This should improve performance slightly when changing
  items as well as when shooting arrows/bullets.

Version 1.2b6 Changes

- Fixed bug which caused multiple errors messages on startup when using Titan Panel
- Added ability to hide label text in Titan Panel

Version 1.2b5 Changes

- Fixed broken slot enable checkboxes
- Fixed cursor updating in the outfit list

Version 1.2b4 Changes

- Added icons and quality-based name coloring to Odds 'n Ends list to make it easier to find
  the item (eventually I'll make it so that you can click the item and open the bag containing
  it but that'll have to wait for another day)
- Outfit changes will no longer take place while a hunter is feigning death
- Fixed bug with auto equipping city outfit when entering Ironforge under certain circumstances
- Added support for external addons to be notified when outfits are equipped or removed
- Added Outfitter_FindOutfitByStatID for use by external addons
- Fixed outfit changing to wait until the player is alive before changing gear

Version 1.2b3 Changes

- Added caching code to improve performance when changing outfits

Version 1.2b2 Changes

- Fixed nil pointer bug
- Fixed Disable in Battlegrounds outfit setting
- Updated French translations

Version 1.1.11 Changes

- Remove debug code

Version 1.1.10 Changes

- Worked around problem with shaepshift/stance outfits not working after leaving battlegrounds
- Corrected stat-detection strings for French clients
- Fixed bug which caused switching from a 2H to a 1H/OH combo to fail sometimes while in combat
- Changed the order in which items are unequipped so that durabiliity items are removed first

Version 1.1.9 Changes:

- Modified QuickSlots for better compatibility with other inventory slot addons
- Fixed detection of items in the main bank slots
- Fixed Rebuild Outfit to update an outfit's category after setting the new items
- Correct mount detection for French clients
- Fixed /outfitter wear and unwear commands so they behave the same as clicking in the UI

Version 1.1.8 Changes:

- Suspended updates between leaving/entering world events to slightly improve load
  screen performance
- Ammo slot checkbox is now hidden for classes which have a relic slot
- Fixed Quickslots to hide on second click if Quickslot is already opened

Version 1.1.7 Changes:

- Added support for herbalism and enchanting bags

Version 1.1.6 Changes:

- Fixed bug which caused a nil pointer error when using outfit combinations which
  don't specify every slot
- Added support for relic items (untested)

Version 1.1.5 Changes:

- Fixed Riding outfit and other features related to reading game tooltip text such as outfit generation

Version 1.1.4 Changes:

- Modified behavior so that switching between a 1H/OH weapon combo to a 2H weapon will
  put the offhand item into the left-most available bag instead of the right-most to match
  the behavior of other items when they're unequipped
- Changed base outfit to be empty instead of naked when compiling the current outfit.  This
  allows a player who don't use complete outfits to have unused slots which are left alone instead of
  being made naked.  A side effect of this will be that nothing will happen when a complete
  wardrobe is uneqipped, where previously that would've removed all armor/weapons.
- Fixed Priest: Shadowform outfit
- Updated for patch 1.10

Version 1.1.3 Changes:

- Fixed problem with outfit changes when entering or leaving an instance while in combat (again)
- Modified outfit updating to occur after all changes have been processed.  This should prevent
  problems caused by switching stances/shapeshifting outfit changes
- Changed key binding behavior to toggle the bound outfit instead of only wearing it
- Fixed bug causing toggled outfits to not unequip other outfits when worn

Version 1.1.2 Changes:

- Modified database item updating to defer until a BAG_UPDATE event is received in
  order to provide a more reliable update and avoid having outfits showing items as missing
- Changed minimap menu to skip populating the menu items if main initialization hasn't
  completed yet (fixes first-time initialization error when using Titan Panel)
- Fixed bug causing list items to become hidden when the list doesn't fill the display
- Fixed expand/collapse icons to correctly indicate the category state

Version 1.1.1 Changes:

- Removed debug messages

Version 1.1 Changes:

- Fixed moonkin form for french clients
- Fixed dire bear form for german clients
- Added TitanOutfitter support for Titan Panel

Version 1.1b8 Changes:

- Fixed bug which caused Outfitter to become confused about the combat state if
  the player entered an instance while in combat
- Fixed Quickslots so they close when the character window is closed

Version 1.1b7 Changes:

- Added deposit/withdraw outfit items
- Added coloring and tooltip to indicate banked items
- Fixed error message when using with characters that have empty bag slots

Version 1.1b6 Changes:

- Updated user's manual with descriptions of macro commands and key bindings
- Fixed bug causing weapon changes to fail when moving between main hand and secondary hand
- Improved error message when an outfit combination attempts to use the same item in two
  different positions (ie, both ring slots, both trinket slots, or both weapon slots)
- Fixed bugs in handling temporary item changes.  This was causing problems with items
  not swapping back after dining, dismounting,  or in some combat situations
- Fixed frame strata so that outfitter UI doesn't obscure the Quickslots

Version 1.1b5 Changes:

- Added outfit availability check whenever the bank window is opened or closed
- Changed outfitter frame strata to "high" so that it always opens on top of the bank window
- Changed initialization back to PLAYER_ENTERING_WORLD
- Added support for thrown weapons
- Added error checks for unrecognized inventory types

Version 1.1b4 Changes:

- Fixed initial outfit generation to correctly find items (carrot, argent dawn commission, etc.)
- Added bank slot support to QuickSlots so items can be equipped from the bank when the bank window
  is opened
- Fixed problems with switching from a 2H weapon/item to a 1H/OH combo
- Modified initialization to always re-create the special occassion outfits if they're missing
- Fixed QuickSlot behavior so that the slots only open if an item is picked up from the inventory
  slot.  This will prevent them from opening when applying poisons, oils, enchants, etc.

Version 1.0.2 Changes:

- Added Druid Moonkin form
- Modified combat detection to use REGEN_ENABLED/DISABLED instead of ENTER/LEAVE_COMBAT.  This should
  fix various problems with items not equipping properly when entering/leaving combat.
- Fixed minimap menu position for players who relocate their minimap to another part of the screen
- Improved behavior of QuickSlots to prevent them from spontaneously closing

Version 1.0.1 Changes:

- Fixed race condition which caused outfits to be accessed before they were initialized
- Fixed initialization to select the Normal outfit after it's created
- Added User's Manual

Verison 1.0 Changes:

- Fixed initialization so that a false temporary outfit isn't generated
- Fixed initialization so that the special outfits will be updated correctly
  if the state has changed since logging off (ie, logging off while mounted will
  now correctly remove the Riding outfit at the next login)
- Added tooltips explaining what the slot enable checkboxes do

Version 1.0b16 Changes:

- Fixed bug which generated a naked base outfit for weapons-only changes instead of a transparent outfit
- Updated french translation

Version 1.0b15 Changes:

- Fixed nil pointer bug when unequipping items under some circumstances
- Fixed duplicate messages when adding new items to an outfit
- Added French translation

Version 1.0b14 Changes:

- Added "Disable outfit in Battlegrounds" option.  This option is selected by default for the Riding outfit.
- Fixed outfit changes made during combat so they occur after combat is exited (again)

Version 1.0b13 Changes:

- Fixed "That slot is empty" error message caused when switching to a 2H from a 1H/OH combo
- Fixed outfit initialization so that if no previous outfits were worn the player won't be left naked after dismounting

Version 1.0b12 Changes:

- Added quivers to speciality bags
- Modified equipment changes in order to improve in-combat weapon switching

Version 1.0b11 Changes:

- Added rogue stealth outfit
- Fixed nil pointer bug when an unrecognized shapeshift type is encountered
- Items which are BoE but not yet soulbound will no longer be chosen for smart outfits
  nor selected when attempting to equip items
- Added ability to swap weapon slots during combat
- Fixed equipping dual identical weapons/rings/trinkets (again)
- Modified minimap menu to hide unused categories

Version 1.0b10 Changes:

- Fixed nil pointer error when attempting to move the minimap icon while
  the game time and minimap zoom in/out icons are hidden
- Fixed nil pointer error when changing outfits with some slots being emptied
- Changed minimap menu to hide disabled outfits

Version 1.0b9 Changes:

- Added Option panel with ability to turn off minimap button
- Added ability to create an empty outfit
- Added /outfitter command
- Fixed tooltip position on QuickSlot items
- Fixed minimap menu position
- Fixed support for 1H weapons when optimizing outfits
- Added support for displaying 1H weapons in the offhand QuickSlot
- Fixed problems with QuickSlots not staying open
- Fixed problems with multiple trinkets, rings or weapons of the same kind not equipping correctly
- Added support for druid shapeshift, priest shadowform and warrior stance special occassion outfits

Version 1.0b8 Changes:

- Added QuickSlots
- Fixed plus/minus button
- Added ability to disable an outfit
- Removed disable special occassions button
- Added Battleground special occassion outfit
- Added support for ammo pouches

Version 1.0b2 Changes:

- Fixed bug which clears the selection when an outfit is moved
- Modified slot enable checkboxes to equip drag-and-drop items
- Fixed initialization bug which caused outfits to not be created properly and errors

Version 1.0b3 Changes:

- Now remembers the outfits being worn at logoff
- Defers outfit changes made during combat until combat ends

Version 1.0b4 Changes:

- Fixed initialization bugs

Version 1.0b5 Changes:

- Added Healing outfits
- Added support for soul shard bags
- Added support for Benediction/Anathema and Thunderstrike/Shadowstrike aliases
- Equipping an item while editing an outfit will now add that item to the outfit
