Main issues not the fault of X-Perl:
Dueling and Suspending a pet from dropdown menus will cause a WoW "Action Blocked" popup. This is unavoidable atm due to a fault in the API. Please use command line alternatives for the moment.
If your MT List won't work and you're using CTRA, upgrade to CTRA 1.62 (1.61 or previous is broken)

Coming soon:
Party pet placement options.

2.0.5
NEW: Global option for unit tooltips.
Changed: Party anchoring sorted out. Spacing now applies to left and right distance if LEFT or RIGHT anchor used. All direction anchoring now works.
Fixed: Party pets weren't be updated correctly when group changed.
Fixed: Party spacing on startup.
Fixed: Druid bar overlapping problem.

2.0.4
Changed: Reduced amount of raid frame refreshing done on options changes, and implemented an update throttle to improve performance.
Changed: Re-implemented highlight tanker feature.
Fixed: Occasional errors when joining raid.
Fixed: Raid Debuff display option hotkeys gave an error if used before options were displayed.
Fixed: Party frame not showing again after you were in a raid once with hide party in raid option on.
Fixed: Player frame click overlay anchors changed to not inhibit the stats frame from growing to accomodate druid bar in combat.
Fixed: Party leader icon showing for party1. Not updating this on a full redraw atm to see if we can manage like this. It's actually a bug with the API, with GetPartyLeaderIndex() sometimes returning 1 even when it should be 0.
Fixed: Locked options in options weren't always locking correctly, leading to stuff being clickable when in combat.
Removed: Other targets from the MT list. Causing more trouble that it was worth, and it could never have been anything more than a visual aid. Would have been frustrating more than anything.
Removed: 2.0.3 change "Unit frame targetting/casting clicks now occur on mouse down instead of mouse up. Both events registered for this." Causes problems with the template click handlers by targetting units when you try to only cast on them. This is bad.

2.0.3
Changed: Unit frame targetting/casting clicks now occur on mouse down instead of mouse up. Both events registered for this.
Fixed: nil error in XPerl_Target.lua line 277.
Fixed: nil error in XPerl_init.lua when XPerl_Party mod not loaded.
Fixed: Raid Debuff display option hotkeys weren't updating the buffs immediately.
Fixed: Error with teamspeak monitor showing on raid frames.

2.0.2
Changed: Raid frame anchoring finished. Can now anchor to top, left, bottom or right of the title. This is the anchor point for first cell, frames grow oposite from this point. So TOP anchor anchors the top of the first cell to the title, and the rest of the frames in that group anchor their top to the previous cell, and so on. Options still needs some tidying.
Fixed: Debuff highlight checker was reading old return values from UnitDebuff.
Fixed: Raid and Party frames didn't have UIParent as parent (so would show when hiding UI).
Fixed: Raid Key Bindings (show/hide & sort) weren't working.
Fixed: Full screen warnings options error.

2.0.1
NEW: Align Left option for raid frames.
NEW: Bottom and right anchor options for party and raid. (Not perfect yet, but close)
Changed: Target debuff display limit increased to 40. You can still restrict this by limiting the number of display rows. And of course, buff icons are created on demand so zero overhead if you don't use them all.
Changed: Party pets are now a child of the party members frame. This is to fix a bug in the WoW API which still gives pet details for non existant party members, therefor the UnitWatch (secure part of WoW API) keeps showing pets for people that don't exist. This will effect the scaling of party pets, because pets are now a subframe. But I had no choice on this.
Fixed: Option titles for non-English clients. (Still looking for French & Spanish translations for X-Perl)
Fixed: Aggro alert from showing when option is off.
Fixed: Raid frames hide/show options.
Fixed: Party frames 'Hide party in raid' option.
Fixed: Party targets option was not working.

2.0.0 (beta10)
NEW: Focus frame scaling option.
NEW: Anchor option to grow the party members to right instead of downwards. Will do up and left as soon as I get the math working for moving the anchor frame. If someone wants to point me to some code that will change the anchor point of a frame without moving the frame, that would help tonnes.
NEW: Anchor option to grow the raid members to the right instead of downwards.
NEW: MT List indicates the WoW assigned Main Assist with a * (as assigned via the blizzard player raid menus). Beats me how you assist that assigned player though. Here's hoping they add that, or did I miss something? (NOTE: This is currently available on TBC only)
Changed: By default, all unit frames now target when any/all key modifiers are used with the left mouse button. So click == ctrl+click == shift+click and so on. This allows players to retain their habit of holding down a modifier for a spell then clicking a unit without releasing the key. These can of course be re-defined by click heal mods.
Fixed: Focus frame hit indicator position.
Fixed: Pet's buffs tooltip error.
Fixed: Error when assigning a Main tank option from raid frames dropdown menu.
Fixed: Party targets.

2.0.0 (beta9)
Changed: Added in-combat block to edit boxes and buttons and more of the in-combat blocks in place for options. Let me know if any are missing or causing problems, like not updating when options changed. You shouldn't be able to change position, size or scale or displayed frame segment options for any unit frame when in combat.
Changed: Improved the display of in-combat locked check buttons.
Fixed: Party pets weren't updating properly when freshly summoned.
Fixed: Party frame spacing problem.

2.0.0 (beta8)
Fixed: Arcane bar startup error on fresh install.
Fixed: Tooltips for target and target's target frames.
Fixed: Target's Target (and TTT) was not registering as a click casting frame.
Fixed: Blizzard Combo points were giving an error.
Fixed: Errors in player's pet.
Changed: Added in-combat block to scaling sliders in options.

2.0.0 (beta7)
Fixed: Stupid target problems.
Fixed: Couple of other reported issues.

2.0.0 (beta6)
Fixed: Party pet code changes done.
Fixed: Odd issue with party frame movement with mouse.
Fixed: Click casting wouldn't work on target frame.
Fixed: Disabling Target's Target and Target's Target's Target frames would not hide the frame if shown once until a reload.

2.0.0 (beta5)
Fixed: Target frame error.
Fixed: Party frames now hide/show correctly (deja vu) but no.. Worked out the issues with this and tested it a lot and it's not thrown any problems up recently.
Fixed: Raid frames showing/hiding correctly also.
Fixed: Assists frame no longer shows duplicate entries if you mouse click a unitframe.
Fixed: Various blocked actions.
Fixed: Raid frame dropdown menu (main tanks part).
Changed: MT List tank target updates now only occur when a player switches target. The only OnUpdate checking now is for health updates of indirect targets.
Changed: MT List changes now wait until you're out of combat before refreshing the MT List.
Changed: Target's Target frames no longer resise if the unit has no mana bar. Instead the mana bar is simply hidden. This was a necessary change due to complications in the new API.

2.0.0 (beta4)
NEW: Options window will indicate clearly when options are locked during combat. Some options will still be availalble all of the time.
NEW: Focus frame options.
Fixed: Implemented the new standard for click casting (method that Clique uses).
Fixed: Party frames now hide/show correctly (but do test this) when in combat and party members change.
Fixed: MT List working now, except that the Other targets are not clickable. And I'll probably have to do something if the MT list is changed in combat.
Fixed: Raid Frames \o\ \o/ /o/ But I had to remove some things. Moving cells, draggable member movement by leader. Have also disabled the raid pullout replacement for the moment until I get time to look at it. But, the raid frames themself should work to at least a minimal degree.
Changed: Party frame alignment options changed.
Changed: Party member frames no longer individually movable.
Removed: Most /command options removed (except menu, lock, unlock), as this would mean covering the in-combat checks twice and I'm not prepared to do that atm. Everything is on the menu anyway, and was not all in the command options.
Removed: Hotkey definitions for target first non-tanked, and smart assist. Nowe we can other pick random targets or have 10 hotkeys setup for 10 main tanks... gg

2.0.0 (beta3)
NEW: Focus frame. Copy of target frame affecting the "focus" unit instead of "target", and has a small eyeball icon to tell the difference.
Fixed: Pet frame now works.

2.0.0 (beta2)
Fixed: A few string.gfind -> string.gmatch.
Fixed: Function hooks now using securehookfunc.
Fixed: Item Checker parameter change on calls to GetItemInfo()
Fixed: Party frames now using correct Secure calls.
Changed: No longer resizing the party member frames when they die (technically very difficult and ugly to keep).
Changed: Assist Frame 50% optimised, more to come.
Changed: Some frame resizing had to change to stop the various ADDON_BLOCKED errors.
Removed: Clear Blizzard Frames option (no longer possible without tainting).
Removed: Fading frames option and functionality (no longer possible).

2.0.0 (beta1)
Changed: Initial Burning Crusade support.
Changed: Removed target's target history temporarily.
Known Issue: Raid frames will not be updated immediately if you are in combat when the raid changes.
Known Issue: Fading frames will not work. This will probably have to be removed entirely.

1.9.6 (Last release before The Burning Crusade)
NEW: Aggro notifier (part of the XPerl_RaidHelper mod), based on Ombres' Aggro mod from some time ago. Something I always used myself, so for me it made sense to incorporate it into X-Perl, rather than rework something from scratch with a biased opinion. The bonus is that all the of the checking for aggro is already done by the assists viewer, so the extra overhead for this function is next to none. Unlike CTRA's aggro notifier, this one will warn you about aggro from ANY mob, not just an MT's target. Personally I find this more useful. May well add some positional options soon, so don't ask yet.
Changed: Custom click function now considered a 3rd party click, and as such will only function if using the '3rd Party' option. This will affect Clique users, who just need to make sure the option is on.
Changed: Retracted OnClick change from 1.8.3 which put some default behaviour before click handlers, since we're now using the NameFrame as a default click area it's not needed.
Changed: Arcane bar now shows the spellname, and the spark and flash now work for channeled spells.
Fixed: Party pet options errors when party pets module not installed.
Fixed: oRA2 startup error (they'd changed a function name).
Fixed: Player's pvp flag not clearing under some conditions (ie: in combat when pvp removed)
Fixed: Priest debuff highlighting was not including disease.
Fixed: Player name was ignoring text transparency option.

1.9.5
NEW: Chinese Traditional translation. Thanks JakeLin.
NEW: Option to defer display of some Target frame elements for 0.5 seconds. This further improves the responsiveness of the target frame by reducing the average redraw time by a further 0.5ms.
NEW: Options text highlights on mouseover for clarity.
Changed: Buff scaling from options improved, and won't appear to forget some now.
Fixed: Mini Threat bar wasn't showing on MT list.
Fixed: Party Pets. YA RLY! And thanks Krafthofen for pointing out the bleeding obvious to me.

1.9.4
NEW: TeamSpeak monitor (Included in this release to get it known, will thereafter be available as a seperate download on the X-Perl pages). Define the same key in Key Bindings that you use to trigger team speak, ventrilo push-to-talk. X-Perl will monitor this and show other X-Perl users who is talking. There are obviously some limitations to this. Notably it will only work when WoW is the focussed application, so if you're browsing some web page and press your push-to-talk button, WoW won't see it. It will obviously also not work if you use voice activation. Also, due to the way WoW key bindings work, it is not possible at this time to monitor Control, Alt, Shift (or other similar modifier keys). And finally, you would want to run TeamSpeak/Ventrilo on the same PC that WoW is on, unless you fancy pressing 2 keys at once :) This is a standalone module that will work without X-Perl proper, and will be available to download seperately. It is also easy to incorporate the same functionality into other UnitFrame addons.

NEW: Debuff time remaining for raid members for a few things. Mark of Nature, Mark of Frost, Recently Bandaged, Resurrection Sickness
NEW: More bar textures. And improved texture selection in options.
NEW: Option to only highlight a player's debuff if it's something you can cure.
NEW: Tooltip options to choose which tooltips to show in MT List.
Changed: Will not hide or show Cast Party frames any longer. Use the settings in Cast Party for that now.
Changed: Updated Chinese localisation.
Changed: Optimized the the Target frame full redraw. Notably for when target is changed, I have reduced the workload if things don't need to be done. For healers constantly clicking players in the raid frames, you should notice a reduction in the target switch lag. It's worth noting that it's not entirely down to X-Perl that there is target change lag. The Target change event is fired directly when you change unit. All frames that register this event are called before the function returns. Every single individual action button also processes the PLAYER_TARGET_CHANGED event and takes on average (for me) 0.1ms to process (PER BUTTON). So 40 buttons == 4ms. Last version of X-Perl average target change was 2.5 ms for full target frame redraw, reduced now to around 1ms on average.
Changed: Threat bar no longer shown if you're out of combat, and update frequency reduced.
Changed: Party member names now centred. Didn't like that they were the exception to the rule. Now they are not. Ok ok.. It was for the comms monitor speaker icon :)
Changed: Party Pet coding changed a little, which may alleviate the problems some people are getting with the pets disappearing. Feedback please!
Fixed: Party member frame sizes were a little wonky in some configurations.
Fixed: Chinese and Korean class name localisations for guild list colouring.
Fixed: Target's Target raid icon.
Fixed: Problem where mousing over your own debuffs could erroneously shown the with/without buff tooltip info.

1.9.3
Fixed: Occasional buff timer error in XPerl_Raid.lua, line 995.
Fixed: New options for MT List weren't greying when disabled.
Fixed: Target feign death status was sticking.

1.9.2
Fixed: Forcably disabling the WT_ZoningTimeFix mod. It's very out-dated and should not be used as it breaks many mods by unregistering their frame events and not re-registering them as it should. It breaks X-Perl for precisely this reason by unregistering health update events then then not setting them again, so X-Perl appears to freeze up, as reported to me by several people.
Fixed: Combat Flashing Frames option was not disabling the option.

1.9.1
NEW: Speed option for fading bar effect.
NEW: 'Accepted' status on raid frames when someone accepts their rez, which fills the gap between Resurrected fading and them being dead for a second while WoW makes them alive.
NEW: Item Checker has channel selection dropdown to determine report channel destination.
NEW: Option to not give default Warrior tank list when not CTRA list available.
NEW: Party pet mana and level display options.
Changed: Tooltips no longer shown when frames are unlocked.
Changed: Highlight debuffs option can now highlight border or background or both.
Changed: Combat Flashing frames now take into account low alpha settings of borders and bump up the alpha for the flash.
Changed: Fade Bars will no longer occur when you switch targets, or when target's target changes.
Changed: Target and TT now show 'Feign Death' status when it can be determined.
Changed: Guild colouring now also applies to /who list.
Changed: Healer Mode option split into seperate options for player, target, party and raid.
Fixed: Party pet issues (Do let me know asap if it's still an issue for some people). It used to break when party pet names were shown. Sometimes. Simplified the anchoring, and the frames no longer move about. They're always fixed to same spot for now. Yes, I'll be allowing moving party pets at some point soon.
Fixed: Buff timers fixed now. Shouldn't be anyone missing that you are present in raid for when they receive buffs.
Fixed: More damned hunter FD things. They should need a reagent for that. Or better still durability loss, there. that would fix my problem. Well, maybe not fix, but I'd feel better about making it work.
Fixed: Options window size expanded to accomodate actual size of options tabs, so non-standard fonts shouldn't make them go off the end of window any more.
Fixed: Party only, FD colour hp bar was green instead of red.
Fixed: Raid tooltip error, XPerl_Raid.lua, 2049 when a druid's rebirth cooldown was due within 2 mins.
Fixed: Border transparency issue with target's target frame.
Fixed: Player's XP bar and Druid bar were not being setup correctly.
Fixed: JustClick support.
Fixed: Occasional irregular cell movement when people join and leave the raid.
Fixed: Player/Target gap setting when no player portrait.
Fixed: Party buff region error when a party member had a debuff and bo buff.

1.9.0
Fixed: Fade Bars problem.
Fixed: Options error message when Raid Admin isn't loaded.

1.8.9
NEW: Added support for Cast Party v4.2 (click heal mod).
NEW: Added support for Heart (click heal mod).
NEW: Fading bars (will fade away the portion of health or mana that was just removed).
NEW: Class coloured names option now (optionally) applies to your guild list also. People in same zone highlighted green. X-Perl users highlighted with red name. Level colour follows normal rules.
Changed: The 4th bar texture to something that looks less than exactly like the 3rd one.
Changed: Raid Admin hide/show option a little more consistant to what you would expect it to do. Note that this is still something that needs much work in general, it's just here as-is for now.
Changed: Raid Icon in MT list now appears over the in-combat indcation.
Fixed: A few errors when fiddling with options.
Fixed: Arcane Bar channeling wasn't clearing the casting bar when interrupted.
Fixed: Some issues causing buff times to not display. Needs testing.
Fixed: New hunter FD issue. You know I hate that feature...
Fixed: Occasional menu error when creating a raid pullout frame.
Fixed: Finally! The tooltip buff issue in raid frames.
Fixed: Key bindings for Toggle Raid Frames and Toggle Raid Sorting both gave errors.
Fixed: (Probably) The cause of the occasional border highlight sticking. Is the only thing I can think it could be atm, without any impirical evidence to the contrary.
Fixed: Arcane Bar spark was out of place and wrongly sized.
Fixed: NameFrame click override. Now clicking on nameframe will use default behaviour, bypassing click mods.
Fixed: Possible problem with target frame cursor click region.
Fixed: Arcane Bar texture was not being set.
Fixed: PVP Rank icon alpha was not set correctly. No really, it is fixed now. /sigh
Fixed: Config copier will now copy raid group positions correctly, and X-Perl will move old settings to new if you've not already placed raid frames yet.

1.8.8
Fixed: Highlight tankers error
Fixed: Fading frames option was broken.
Fixed: Some test code was left in by mistake.
Fixed: PVP Rank icon alpha was not set correctly.

1.8.7
Fixed: nil error in XPerl_Target.lua, line 478.
Fixed: nil error in XPerl.lua, line 775.
Fixed: Usage startup wasn't always kicking in when you first login.

IMPORTANT INSTALLATION NOTES WHEN UPGRADING FROM VERSION 1.8.5:
You must delete old installation of X-Perl 1.8.5 before unzipping this one. All files, folders, frame names and globals have been renamed to finally put an end to the endless naming conflicts and issues with mods thinking that X-Perl is Nymbia's Perl.

In other words, delete the following folders from your Interface/Addons folder: Perl, Perl_Player, Perl_PlayerPet, Perl_Party, Perl_PartyPet, Perl_Target, Perl_TargetTarget, Perl_RaidFrames, Perl_RaidAdmin, Perl_RaidHelper.

A temporary addon called 'Perl' has been included to copy your configuration from the old layout to the new one. Once you have logged in, enter the command /xperlcopy to copy the old configuration variables to the new. This will only need to be done once per account, even if you have multiple characters you will only need to do it once on one of them.

While every care has been taken to ensure that no settings are lost, I would still recommend backing up your WTF folder (or at least the X-Perl settings in WTF/Account/YourAccount/SavedVariables/Perl.lua).

A note for the techies: Simply renaming Perl.lua to XPerl.lua will not suffice, as the variable names within have changed.

Regretfully, window positions will not be restored (except for raid groups). For this I am sorry.

I am also quite aware that this change does temporarily break a few things (Benecast, Clique and others) that are X-Perl (or Nymbia's Perl) aware, but the long term benefits cannot be ignored.

1.8.6
NEW: FAQ (see faq.txt) for some of the Frequently Asked Questions and answers to common problems.
NEW: Equiped item scanner in the Item Checker, so you can see if people are actually wearing their Ony cloak, or did they leave it in the bank. After you've run an /raitem in X-Perl's Item Checker, click the scan button and X-Perl will actively look at the raid members around you and see if they have the selected item equiped. Note that normal inspect range rules apply, so you will have to move around the raid until everyone has been picked up. Unscanned members will always be at the top of the list. People who are offline or in another zone will be indicated as such. If members change equipment during a scan, this will be indicated by a greyed result and it will rescan them when in range again.
NEW: Tooltip for dead raid members will now also show available combat rezzers (druids with rebirth up now or within 2 minutes, and other classes who aren't in combat at the time).
NEW: Raid pets. These are not a permenant display or option, but if you need to see raid pets for anyone then you can drag either group or class from the Blizzard raid UI (as with creating the standard raid pullouts), but by holding down the Control key the unit's pets will be shown instead of the normal members. You can also toggle between owners and pets in the pull outs by right clicking on the pullout title and selecting 'Show Pets' / 'Show Owners' from the menu.
NEW: JustClick support added.
NEW: X-Perl will announce it's version and X-Perl mods used over it's own addon channel. This is more for my own benefit than anything else atm. A lot of guildies running this and it'll be handy to see what version they're running without them getting confused and such. But the info is there for anyone for the curious.
NEW: Background bar textures option, so background of all bars can use the same texture as the forground.
NEW: Target name frame reaction colour option. Will colour the whole target's name frame based on target units reaction colour.
NEW: Option for Player's Pet health/mana values.
NEW: Raid popup menu includes option to set/clear main tanks.
NEW: Changed, all tga textures into blp textures for all unit highlights (mouseover and curses), and minimap icon textures removed as alternative now used to same effect.
NEW: Option to limit the number of Main Tanks in the MT List.
Changed: Click handlers (Cast Party, Clique and so on) functionality is ignored if you click on the NAME part of a unit.
Changed: The 'Clear Blizzard Frames' option should no longer cause errors for mods that rely on default Blizzard frames, because X-Perl now replaces these with a dummy frame with no content that can be moved and shown without consequence.
Changed: More Lua 5.1 code compatability changes.
Changed: Some German localization for the Item Checker.
Changed: A lot of general improvements to the Item Checker.
Changed: Buff Helper option moved to raid options.
Changed: Player's pet frame more compact in certain option configurations (namely when portrait shown but no name plate, the buffs will slot under stats frame, to right of portrait).
Changed: Moved Addon options into All section of options, made the old 'All' into Admin options page.
Changed: Curse Highlighting improved when using the extra border highlights. Now uses a custom edge file instead of overlaying another texture above frame. Memory usage decreased overall as a result.
Fixed: (I hope) Hunter FD not always clearing on raid frames. If hunter FD's and stands very quickly, you don't always get the same set of events compared to FDing for a while and standing.
Fixed: Target's Target (and TTT) tooltip. Wasn't showing at all.
Fixed: Target debuffs on friendly target not showing correctly soon after starting up. Once one of them had been shown once it was ok. Fixed now.
Fixed: Player's pet health values were getting truncated in fat bars mode. Font size retained to small for that frame.
Fixed: Buff helper not working for CT_BuffMod, Morganti's BuffBar and in fact (in theory) all player buff mods. Now uses a much nicer approach to displaying the tooltip info.
Fixed: Pull out raid frames weren't updating their CTRA info in line with default raid frames.
Fixed: Text in Assist Frame now displayed correctly (without truncating or leaving open space) if you resize the window.
Fixed: nil error on startup when Raid_Helper used without Raid_Admin.
Fixed: nil error in Perl_Party.lua, line 223 when a party member had debuffs, and had never had buffs since startup.

1.8.5
NEW: X-Perl Item Check. Replacement for /raitem /radur /raresist /rareg. Use the old commands as before, or drop items in the left item list. Query button will perform /raitem on all ticked items (query always includes dur, reagents and resists) and you can then view and review all the results whenever, without having to re-query each item. Includes everyone in raid, so you don't have to work out who doesn't have items, it'll list them with 0 instead of no entry. This is a work in progress and has some more goodness coming to it, but it's very useful already. To come will be a Filter of some sort which you can add items to and name them, to save selecting what to query. Thanks to Boro on Bloodhoof for the idea :)
NEW: Buff Helper will also list players who's buffs are fading soon (varying times depending on length of buff, but around 5% remaining). You will only see these notices from raid buffs that you can cast, or if you are raid leader/officer.
NEW: German localization.
Changed: Some option window adjustments to cope with German translation (very long words and all that). Let me know if there's any text overlapping, wrapping wrong etc.
Changed: All X-Perl frames now clamped to screen, so they can't be accidentally moved or scaled out of view.
Changed: OnClick function names changed to remove the constant conflict of click addons expecting Nymbia's Perl. X-Perl has in-built click handler support anyway. If one is missing, let me know asap.
Changed: Full screen glow effects now occur on event triggers, rather than checking per frame. Option is also OFF by default now.
Fixed: Out of control full screen warning will no longer occur on a flight.
Fixed: nil error for FullScreen warnings for some people.
Fixed: Added a few more localized strings.
Fixed: Party targts PVP icon was ignore pvp flag option.
Fixed: MT Targets not showing again after you closed it manually.
Fixed: Party member's targets not having correct border/background colours.
Fixed: nil error in Perl.lua, 621.

1.8.4
Changed: Party buffs increased to display 16 instead of 10.
Changed: Re-implemented the 'lost' right click on MT List to target the tank from their target (assuming no other click was valid at that point via other handlers).
Fixed: Border/Background frame colours. oops.
Fixed: Buff time remaining not always showing for CTRA recognised raid buffs.
Fixed: Some Chinese localization errors.
Fixed: Buff tooltips not always working on pullouts.
Fixed: MT List not appearing in some cases.
Fixed: MT Targets for Unicode locales. Newer versions of CTRA no longer mangle the characters and mess up unicode things. So, un-mangle stuff removed.
Fixed: Some CTRA localization checking.
Fixed: nil error in Perl_target.lua, 1036. Master looter in different party than yourself.
Fixed: nil error in Perl_target.lua, 1320. perlBuffs error.

1.8.3
General Improvements: Overal memory usage lowered (initial load size decreased by around 300k), memory usage per update lowered (by around 3x), performance improvements throughout.
NEW: Buff filtering made SM4RT. For warlocks includes Soulstone Resurrection, for priests and druids includes each other's regrwoth/renew spells. For priests, always shows Weakened Soul. For everyone shows Recently Bandaged.
NEW: Raid pullouts converted to X-Perl (The thing you do when you drag Group titles or Class titles out from the Blizzard raid frame).
NEW: Raid Frame mana bars now optional.
NEW: Raid frames can now grow upward from title.
NEW: Key binding to toggle raid sorting by class/group.
NEW: Option for the fading tooltips.
NEW: Chinese localization. Thanks hughman.
NEW: Passes MT's target names to BigWigs mod to activate in plenty of time (I always forget to mouseover stuff).
NEW: STOP button for raid admin during roster load.
NEW: Copy another character's configuration.
NEW: Colour options for unit reaction types.
NEW: Option to discard (nil out) all replaced Blizzard unit frames and associated function calls, so they can be garbage collected and the memory re-used. Note that this is not reversable unless you disable the option and reloadui/relog. If you have some mods that require those frames, then turn it off again. Alternatively, it may indicate to you where you're loading more mods than necessary.
NEW: Raid Helper/Admin windows can be moved without un-pinning by holding Ctrl, Alt and Shift. For those that manage to get them stuck off the edge of screen.
NEW: Can change the colour of the options window (button next to close).
NEW: Target shows leader/master loot indicators. Note that there is no way in the current WoW API to determine master looter if they are not in your group. So this is absent for now.
NEW: An ALL option section for globally setting some unit display options.
NEW: Addon setup to enable or disable parts of X-Perl easier.
NEW: Options for PVP status icons.
NEW: Second display option for healer mode. To show deficit/max as well as the current deficit only method.
Changed: No longer looks for internal CTRA or oRA variables for main tank list, but reads it from the CTRA channel instead to ensure future compatiblity (oRA2 and such). Note that this also means all CTRA info utilities are dependant on WoW 1.12.
Changed: Resurrected colour now the same as Player ressing colour.
Changed: SS Available players coloured green.
Changed: All options strings moved to localization file. Translations for German, French and Korean wanted :)
Changed: Class Coloured names option will override pvp colour indications for targets.
Changed: Click handlers will use normal behaviour if mouse cursor has spell or item already and u click on a unit.
Changed: Perl_Raid_FindID reverted to public function by request.
Changed: Raid, Party, Party Pets, Target (and TT, TTT) buff icons created on the fly, saving an initial 200k UI memory on startup, and only creating what is necessary.
Changed: Not creating needless menus that exist elsewhere already (ie, using Blizzard's own player, target, party, raid dropdown menus instead of creating new ones)
Changed: Party optimizations (1 event/update handler instead of 4).
Changed: Party Pet optimizations (1 event/update handler instead of 4).
Changed: Raid optimizations (1 OnUpdate handler instead of 1 per unit, around 2.5 times less processing required)
Changed: Many other miscellaneous optimizations throughout, with special attention paid to performance (verified by using LuaProfiler).
Changed: Party name font reduced in size if the name using normal font exceeds frame display width.
Changed: Assisting list shows enemy mobs assisting on your target, for benefit of healer classes with players targeted.
Changed: Re-implemented old unlock/lock commands. To help avoid some confusion for other Perl version users.
Changed: 3D portrait option split into seperate options for player, pet, target and party.
Changed: Code compatible with Lua 5.1 (pre-requisite for The Burning Crusade)
Changed: Blizzard default frames that are replaced by X-Perl are now also moved off the screen as well as hidden, so even when other mods re-show them, they're still not visible. Note that this is only applicable if you're not clearing out the Blizzard frames, which has the same effect, but at a more hardcore level.
Fixed: Cured short freezes when clicking, aligning, setting gap of raid frames in some cases.
Fixed: Moved Perl_SetBuffSize from Perl_Party to Perl proper.
Fixed: Raid buffs not showing in some configurations.
Fixed: Error when using align controls on raid frames when not all raid title frames had been created. Now creates all of them when you open options.
Fixed: Hunter feign death display in raid frames. again..
Fixed: MT Targets window not updating after a reloadui. Thanks again Blizzard for not sending RAID_ROSTER_UPDATE after a reloadui when you're in a raid.
Fixed: Target Mob Type not hiding correctly when option disabled.
Fixed: Own flags (afk, dnd etc.) now cleared when you login, to prevent sticky AFK etc. after a relog/reloadui.
Fixed: Target dropdown now shows appropriate content (whisper etc).
Fixed: Added support for CT_BuffMod, to work with buff helper.
Fixed: GroupHeal mod button placement on party frames. Was compatible with Nymbia, but X-Perl's party targets and click overlay interfered.
Fixed: Raid helper showing when CTRA still holds a tank list but you're not in a raid.
Fixed: Occasional sticky afk/dnd flags on raid frames.

1.8.2
NEW: More alignment options for raid frames. Can choose to align first 4, last 4, odds, evens or all.
NEW: Position options for Blizzard style combo point dots.
Fixed: Finished off the code for the moving raid frames, shouldn't be issues with lots of movement when people join/leave raid now.
Fixed: Player's pet mood icon alignment issues when using certain display option combinations.
Fixed: Raid positions wasn't loading correctly.
Fixed: Raid frames status indication colours too dark.
Fixed: Raid frames sometimes not showing when joining raid. Some might ask why I futzed with all that, and they have.. so, when I was writing the Raid Admin, and u do a lot of group adjustments in a big block, the server sends 1 roster change event per change, so I wanted to defer re-building raid frames in such cases. It'll set a flag and just do 1 update instead of 20+ in one frame.
Fixed: Target buffs above option was not quite finished, now complete.
Fixed: Buff/Debuff stacking count >= 10 not showing.

1.8.1
Fixed: Raid not showing up when entering world after reloadui. Seems they don't send a RAID_ROSTER_UPDATE after a reloadui if you're in a raid now.
Fixed: Options error setting icon size/rows when Target's Target addon not loaded.
Fixed: 'myRoster' nil errors in Perl_Raid.lua

1.8.0
Fixed: CHAT_MSG_ADDON issue

1.7.9
NEW: X-Perl Raid Admin. Raid Leader tool for saving/loading raid group setups. Will substitute players of same class if the saved player not in raid. (Future plans will include templates and more) Again, this is a Raid LEADER tool and if you never lead raids, or arrange groups then you don't need it so can safely disable this addon.
NEW: Resurrection count on tooltip for players in raid. "I ressed him 50 times already!"
NEW: Option to display Target (and ToT, and ToToT) on top of frames, growing upward.
NEW: Civilian flag shown on target frame.
NEW: Raid Leader can right click drag and drop members in the X-Perl raid frames.
NEW: Moving raid frames. Eye-candy, optional... Who wouldn't want that?!
NEW: All Raid Tools given a Pin button to lock/unlock the window movement.
NEW: Alpha option for frame backgrounds and borders, for those that just want to change the transparency of the background, and not the details.
NEW: Reset Defaults button in options.
Changed: TOC files for 1.12
Changed: Put the rested XP back in, now that the text is more compact.
Changed: Internal. Changed the old Perl xml code for bar backgrounds from using a seperate status bar, to instead creating a layer in the main bar. Faster and more memory efficient.
Fixed: No longer displays the Combo point number frame if Blizzard combos being used.
Fixed: SS Available/Ressed was not clearing if player released.
Fixed: Res monitor was not resetting colour of someone's mana bar after they're alive.
Fixed: Buff matching error in the buff helper (tooltip which shows who's missing buffs).
Fixed: Hunter FD when unit is out of visual range. UnitIsDead() says they're alive in such cases.. :|

1.7.8
NEW: Transparency option for the assists frame background.
Changed: Curable/Castable options for buff display on party and targets are now two seperate options. Not applicable to raid as you can only show either buffs or debuffs, and not both at the same time.
Changed: Removed redundant CTRA flag checks from the OnUpdate loop in the Raid Frames as these can now be handled during the chat triggers. (In English: Performance improvement to raid frames)
Fixed: SS Available wasn't showing in raid.
Fixed: Can't be afk and dnd at same time, fixed raid display for that.
Fixed: Small error with not having raid frames addon loaded.
Fixed: Hit indicator won't show up now if there's no portrait.
Fixed: A few other reported bugs.

1.7.7
NEW: oRA compatibility. No interferance is made with the oRA maintanksframe mod regarding display of MT List, so simply disable that mod and use X-Perl's instead. And then pursuade the author of that mod to provide visiblity options for MT list, so you can still have the nice menus on the raid frame :)
NEW: Each X-Perl element (player, pet, party, target etc.) is now an optional addon!
NEW: Many X-Perl frames (target's target's target, all raid unit frames, target history) are now not created until needed, saving load time and memory if you don't use them.
NEW: RaidHelper: Can assign which of the MT Targets are the MA (/xp ma NUM or NAME), and after patch 1.12 will be able to broadcast this to other raid members (/xp ma broadcast). Will add some control to set this soon.
NEW: RaidHelper: Smart Assist Key. Cycles through Main Tanks (MA first) till it finds you a suitable target. Will prioritise a target over 10% hp. Nothing gets my goat up more than assisting and moving to a target and it dies before you get there. Will also skip MA targets if you're a tank, and move straight onto the 'Other' targets, so you can use 1 Key for all cases. If you use /xp find, you can set the name of a target to look for 'BY NAME' as a priority.
NEW: RaidHelper: KTM Mini threat bar on the MT Targets list for those that can't find space for KTM on their tidy screen layout.
NEW: RaidHelper: A new (optional) column in MT list showing the tank themself.
NEW: RaidHelper: Other target's scan is now optional.
NEW: RaidHelper: Tooltips optional on MT list.
NEW: RaidFrames: Built in resurrection monitor shows who is ressing a unit. Shows their health/mana bars in blue and gives the resser's name. (Assuming CTRA or oRA present)
Changed: No longer directly references CT_RA_Stats to retrieve information. Instead collects data from the CTRA channel, to provide compatibility with oRA.
Changed: Due to some performance issues with 40 man raids on some systems, the raid frames have been reverted to a normal addon, and not load on demand. However, don't despair. Each individual Raid Frame is not created until required, so the overhead and load time for it is very small when not in use.
Fixed: Debuff highlight from showing through from frame segments that are not visible.

1.7.6
RaidHelper: Added appropriate click support for units displayed in the target lists.
RaidHelper: Added option for MT Target's Targets.
RaidHelper: Saved variables changed to per-character, sorry but you'll need to re-do your settings. (Note, this is for the XPerl Raid Helper addon only and is not a global change for X-Perl proper).
RaidHelper: Auto hides the CTRA MT Targets list if Perl Raid Helper is enabled. (Only does this once at startup, or on option change)
RaidHelper: No longer re-making tank list every 0.3 seconds (changed the CTRA hook) and no longer calls CTRA MT Targets update if we're displaying them ourselves and the CTRA one is hidden.
RaidHelper: Fixed other targets not showing when you're mounted (Using UnitReaction instead of UnitCanAttack), and also checks that raid members targets are units YOU can attack, instead of them.
NEW: Added an option to set the upper limit of all frame scaling, for those people that use very low UI scales. This also fixed the annoyances with frame scale numbers losing the occasional 1% in setup window.
Changed: Ensured future compatibility with MobHealth3, although it worked as it was before.
Fixed: Some text frame placements to accomodate larger frame scales. Let me know of any issues (text over edges of frames, text that wraps out of view etc.)
Fixed: Small display mis-alignment with player xp rested bar.

1.7.5
Fixed: Stupid 1 time startup error. doh.

1.7.4
NEW: Raid Helper (standalone mod, does not require X-Perl proper). Replaces CTRA MT Targets window, and adds ability to select detectable untanked targets. And gives some raid target stats. Dynamically allocated frames, so won't use memory until needed.
NEW: Buff options for party and targets to limit buff display to curable/castable only.
Changed: Assists Frame moved to the Raid Helper addon. Also standalone and does not require X-Perl proper to function.
Changed: Assists Frame won't truncate strings horizontally any more, but will word wrap instead.
Fixed: CastParty, SmartHeal, ClickHeal support. They will now all pass through to default X-Perl behaviour if they're defined to within the respective addons.
Removed: Warrior Targets from the Raid Frames. As the functionality of the Raid Helper covers this and more.
Fixed: TTT frame was ignoring Selection Highlight option.
Fixed: Some window positions from not saving after using the align/gap options.

1.7.3
NEW: Hunter feign death now shows in raid view.
NEW: Resizable buff/debuff icons for Target, TT, TTT, Pet, Party. Debuffs are 20% to 50% larger than buffs, depending on frame.
NEW: Option for maximum number of buff rows to display on Target, TT, TTT.
Changed: Target, TT, TTT buff and debuff display re-written to display more rationally in allowed space.
Fixed: Fat Health Bar option wasn't updating immediately.
Fixed: Big XP numbers trimmed down to 1K values to help fit into bar.
Fixed: PVP Update - Missed the API change about UNIT_PVP_UPDATE being removed. doh.
Fixed: Made a little space for the rogue/catform energy bar ticker.
Fixed: Warrior Targets in Raid frames. Temporary fix as this will be upgraded to be more useful in near future.
Fixed: Frame level of target buffs was too low, and was hard to mouse over some buffs if the target had no mana.

1.7.2
NEW: Optional Pet names for player and party.
NEW: Party Pet frame scale.
NEW: Raid Title (Group numbers etc.) display now optional.
NEW: Key bindings for raid buff options.
NEW: Cast Party option to make clicks only apply to raid frames (Also applies to Genesis Clicks, Smart Heal).
NEW: 30 Yard Range indicators for party members (So you can see if in range for auras, group heals and such).
Changed: New 30 Yard Range Icon.. again. Opinions please :)
Changed: Defaults for HealerMode, FatHealthBars and Castable Raid Buffs were on. Now off. oops.
Changed: Tidied location of Blizzard combo point dots on target frame.
Changed: Added options for cast party, genesis clicks, smart heal to only work from raid frame.
Changed: Fat Health Bar appearance improved.
Changed: Large rework of StatsFrame code, all frames using template StatsFrame now.
Changed: Two more bar textures to choose from.
Changed: Cast Party option now changed to '3rd Party' option to cover all supported 3rd party unitframe click mods. If your click mod is not working, then this is probably why. Turn the option on :)
Fixed: For DruidBar addon; Mana will now update immediately on shapeshift.
Fixed: A few small issues with options and now forces a redraw of everything when options are closed.
Fixed: Some localizations and made some things less locale dependant. (ie, class names collected from WoW as they are encountered)
Fixed: Using the align/gap options will now move the frames relative to UIParent instead of sister frames. this means frame locations will be saved correctly. (Also see known issues)
Fixed: Combo Point (numerical display only). Didn't notice cos I use the bar version myself.
Fixed: Some alpha frame issues.
Fixed: Pet happiness flash when sad, when you had the happiness showing all the time.
Fixed: Font issue with Fat Health bars.
Fixed: CT_PartyBuffs from displaying extra buff icons. And gives a warning about not needing the mod, which you don't if you're using X-Perl.

1.7.1
Fixed: Update issue with target's target.

1.7.0
NEW: Party portraits! Don't panic if you prefer not to have them, old style retained when portraits not used.
NEW: Player's Pet portrait.
NEW: Pet happiness options. (only show when sad, flash when sad)
NEW: Raid buffs and debuffs (maximum of 8) small display, but distinctive enough to identify who's buffed (option for castable/curable only).
NEW: Target's Target's Target (with optional buffs).
NEW: Healer mode to show health deficit rather than values.
NEW: Option for FAT health bars. Was going to make that part of Healer mode, but guessed some might prefer it that way normally.
NEW: Visual aid in options to help identify what an option does. (See Known Issues before complaining about display bugs)
NEW: Option to use Blizard's Combo point dots (moving them around a little to fit X-Perl).
NEW: More display options for health/mana percentages and values.
NEW: Genesis clicks and SmartHeal support, and generalized X-Perl's OnClick handler into one call.
NEW: Player XP bar will function as reputation watcher if you are level 60.
Changed: Frame strata rationalised and made same throughout, LOW based.
Changed: By request, 'Perl_CustomClickFunction' changed to 'Perl_Custom_ClickFunction'. Makes it compatible with Perl Classic.
Changed: Clipping the border from buffs when it's a debuff, so we don't lose any more space than necessary. Buff icons have their own border, and when we're adding another border on top, it looks a bit odd.
Changed: Greater than 30 yard to target indicator now something a little more obvious (says '>30yd').
Fixed: Old Cast Bar option was not taking effect immediately, so gave the appearance of not working at all. Note, this now turns off if eCastingBar is loaded and enabled.
Fixed: Target's Target pvp rank icon was stretched over name frame.

1.6.8
NEW: Alt key mouseover a buff to show ppl WITH buff. no key for without.
Fixed occasional index error on player buff tooltips.
Fixed party targets... yeah.. had tried to cut down on combat flag updates, and it got lost in there someplace :)
Fixed Arcane Intellect now == Arcane Brilliance for tooltip helper.

1.6.7
Fixed buff tooltip helper to not report people who are offline/dead.
Fixed buff tooltip helper to be sensible about PW:F and Prayer of Fortitude matching (as well as spirit and shadow).
Fixed debuff highlights, they were colouring as if it was something YOU could dispell, when there was any debuff.

1.6.6
Fixed party click target thing... doh

1.6.5
Fixed growing buff tooltip error (non-duration buffs only)
Fixed click error in raid frames
Fixed stupid 'p' error. Thx Sentox

1.6.4
NEW: Energy ticker for rogues/cat form types.
NEW: Debuff borders now coloured according to debuff type on all frames.
NEW: Highlight of raid members who are cursed, poisoned etc.
NEW: Highlight of target's target in raid (if your target is hostile) or highlight of target's target's target (if your target is friendly).
NEW: Key Bindings to toggle Raid Windows and Options Window.
NEW: Party buffs and debuffs are now optional.
NEW: Party values for health and mana are now optional.
NEW: Hit Indicators (dmg/heal numbers that flash over portraits) are now optional.
NEW: Colour choices for most bars.
NEW: Tooltips on buffs will show who's missing it.
Fixed Cast Party (please test this)
Fixed tooltip nil error in some cases (with ctra info).
Fixed a variable missing for first time users, if they try and move raid group windows.
Fixed options window error if you'd disabled the options addon. It needs to be enabled to work, but won't load till required. It will automatically enable the addon now if you ask for it, and will work after reloadui.
Fixed a couple of CastParty frame calls.
Removed references to distance library, as this became obsolete in WoW 1.6.

1.6.3
Fixed stupid locking frame thing on party member frames.
Fixed party pets. weren't clickable.
Fixed debuff alignment when more than 12 debuffs and no mana on target. And occasional debuff appearing under first buff (when detect magic used)

1.6.2
Fixed texture error in options page.. doh!

1.6.1
Fixed player's pet mouse click error.
Fixed small issue with tooltip regarding CTRA info.

1.6.0
NEW: Configuration dialog. /perl unlock, /perl menu, /perl are now are all the same. Notice the alignment options for raid/party/player frames. And tooltips for 95% of the options.
NEW: Minimap Icon to access the new menu also.
NEW: CTRA information in raid frames (info like AFK, SS Available, Resurrected and so on).
NEW: Optional highlight on mouseover of unit frames.
NEW: Optional Class coloured names.
NEW: Added Raid Target Icon to Target and Target's Target frames.
NEW: Added a hook function for clicks for other mods (Perl_CustomClickFunction(button, unit), should return true if handled)
Made Target's Target buffs optional.
Target and Target's target buffs now stacking in rows of 8.
Fixed Target's debuffs overlapping portrait when there's no mana bar. (Will stack in 6 rather than 8 in such cases)
Fixed frame transparency.
Fixed many display issues with toggling options. Changes should now occur immediately.
Fixed the castclick overlay from instersecting first party debuff (when party debuffs to right of frame)
Fixed click/mouse event issues. Clicks will only be called from Click events now. MouseUp/Down no longer used. (mod hook friendlyness)
Fixed Hit Indicator from displaying underneath 3D portraits.
Fixed assists frame from disappearing when zoning.

1.5.0
Added close button to assists view.
Fixed an issue with options (target's target scale help, and broken parameter check).

1.4.9
Fixed mouse controls in assists view.
Fixed index error in Perl_Target.lua when using self targetting viewer.
Enemies targetting you wasn't including neutral faction.
Fixed target's target history from nudging up into target's target frame when target's target had buffs. (oops)

1.4.8
Added group number display when in raid. (Optional)
Added buff/debuff stacking counts to target and party icons.
Added buff/debuff display to Target's Target.
Fixed memory leak in assists/targetters view (SimpleHTML leaks like a seive in 1.11 when you call SetText()), changed display method.
Now won't build lists for assists/targetters unless we're displaying that.
Fixed party pets not showing/hiding correctly when option changed.
Fixed druid mana not updating immediately after shape shifting.
Fixed hunter pets from disappearing when hunter FD's.
Charm warning (Bright yellow ! on frame) wasn't working for Target's Target.
Changed all scaling ranges to 0.5 to 1.5 range.
Fixed 1.11 WoW bug with stables causing player's pet frame to hide (same bug causes stable pets to disappear after swapping). Is WoW bug, rather than Perl bug, but working around it now.

1.4.7
Added scaling option for assists frame. (/perl setassistscale)

1.4.6
Fixed sorting issues in assists view.
Allowed toggle of each assist and targetting self views into same window.

1.4.5
Added a permentant assists view (click the assists counter on target frame to open/close).
Fixed pvp flag not updating when a player's pvp flag is removed (Thanks Blizzard for not sending UNIT_PVP_UPDATE msg any more..)
Fixed party member targets (when did they stop working??)
Stopped some target updates when frame is fading.

1.4.4
Fixes for patch 1.11

1.4.3
Fixed XP bar update on player and pet.
Fixed party pets sometimes not updating on death.

1.4.2
Configurable colours for borders and backgrounds.
Small tooltip fix.

1.4.1
Target's Target history (Useful for catching those over agroers who's name only pops on target's target for a split second, now it'll build a small list of names under the target's target)
Fixed party pets displaying at wrong times.

1.4.0
Complete re-write of the event handling.
Liberal usage of local functions to cut down compiled code size, and increase speed since functions are called directly rather than by name.
Fixed target name colour of non Horde/Alliance faction groups. (Using UnitReaction() rather than UnitFactionGroup())
Frames now fade out when closing.

1.3.4
Fixed pet name colours in target windows.
Added time left on target buffs/debuffs for friendly targets, if the buff is found in CTRA information. (ie: only works in a raid and only if they have CTRA)

1.3.3
Fixed party menus.. again. No really.
Normal portrait shown for target when target not visible.
Combat flash extended to show green flash for heal effects.
Added time left on party member buffs/debuffs, if the buff is found in CTRA information. (ie: only works in a raid and only if they have CTRA)

1.3.2
Fixed party menus.
Fixed combat flash from pulsing correctly on players, and rationallised some of the variables as a result. some events were being sent from the buff slots, and so we weren't getting them if there were no buffs, or getting too many if there was more than 1 buff.
Pet window won't show 'Unknown Entity' for short periods of time when summoning/dismissing, and is more responsive.

1.3.1
Optimized event usage to not bother with 99% of events while zoning. See various articles on the forums about zone times and event backlogs.
Fixed 'Feign Death' text for party and player.
Added red combat flash for frames when player, pet, target, party, partypets take damage. Optional.
Fixed party buff display.

1.3 - Zek's branch
Global optimizations some random fixes.
Fixed hunter in party FD health bar colour problem.
Added combat indicators for pet, target, target's target, party, party pets.
Added target counter. Panel in target frame will show you everyone else in party/raid who has your target selected.
Added self counter. Panel in player frame will show what/who is targetting you. Optionally only healers, and optionally *known* enemies also.
Optional 3D portrait for player and target.
