v1.2.8
*Version bump WoD 6.2.3

v1.2.5
*In addition to the 1.2.0 update which enabled you to target by class, you can now target hunter, lock and DK pets.
*The full list of keywords is now: LOCK, WAR, HUNTER, MAGE, PRIEST, DRUID, PALLY, SHAMAN, ROGUE, DK, MONK and PET

Version 1.2.7
*Interface number update

Version 1.2.6 
*Interface number update

Version 1.2.5 
*In addition to the 1.2.0 update which enabled you to target by class, you can now target hunter, lock and DK pets.
*The full list of keywords is now: LOCK, WAR, HUNTER, MAGE, PRIEST, DRUID, PALLY, SHAMAN, ROGUE, DK, MONK and PET
*Added PET as keyword

Version 1.2.4 
*Interface number update

Version 1.2.3 
*Interface number update

Version 1.2.2 
*Added MONK as keyword


Version 1.2.1
*GetNumPartyMembers() and GetNumRaidMembers() no longer exist in version 5.0.4 of World of Warcraft.
*GetNumGroupMembers() called in conjunction with IsInRaid() instead.


Version 1.2.0 
*TargetRole can now target players by role or class.

*Supported keywords:
Role: TANK, DPS, HEALER
Class: LOCK, WAR, HUNTER, MAGE, PRIEST, DRUID, PALLY, SHAMAN, ROGUE, DK

*Many improvements to efficiency.  TargetRole will only use functions which are necessary for your Macros.  For example if your macros only use the keyword TANK then it won't waste your time and bandwidth looking up class.


Version 1.0.2
*Changed syntax to include delimiters.

*You may still use:
ROLE or ROLEdefault - previous syntax

*But now you have the option of using slashes to separate defaults for readability: 
ROLE/default

*This is particularly useful if you are chaining roles as defaults:
ROLE/ROLE/ROLE/default (gently down the stream)

*Furthermore you can now enclose the key word group within <>:
<ROLE/default>
This maintains the integrity of your key words when the next character is alphanumeric.

*Consider the following:
/petattack [@TANKtarget]
Without enclosing the key word, that will set your pet onto your tank or if there is no tank it will default to target.

*Now with key word enclosed:
/petattack [@<TANK>target]
Now your pet will attack your tank's target.

*Note also in this example there is no default so if there is no tank <TANK> will simply be removed leaving you with /petattack [@target] which may work quite well anyway.


Version 1.0.1 
*Removed built in defaults in favour of user defined defaults New keyword syntax: ROLEdefault 
eg. TANKpet - will target the pet if there is no tank. 

*You can also use roles as defaults. 
eg. TANK2TANKpet - will target tank if there is no second tank, and pet if there is no tank.

*This also fixes bug whereby TANK2 was defaulting to pet2 

*find replace method change also makes code more efficient. 

*A warning will fire if you are in combat when roles change to tell you macros cannot be updated. They will be updated as soon as you leave combat.


Version 1.0.0 
*Initial Release