Blizzard has also posted an official thread on 6.0 changes .
New [ ]
New Widget type: CinematicModel, derivative of PlayerModel
New XML element type: "keyValue", currently only supported for Frames.
Functionality appears equivalent to creating a new element in ParentKey's table.
New "atlas" and "useAtlasSize" properties for textures defined in XML. Equivalent function added for texture widgets called Texture:SetAtlas . For example:
Before: file="Interface\PetBattles\PetJournal"
After: atlas="PetJournal-BattleSlot-Locked" useAtlasSize="true"
C_Timer functions added - timers with callback functionality! See C_Timer.After , C_Timer.NewTimer , and C_Timer.NewTicker for more details.
handle = C_Timer.NewTimer (lengthInSeconds, callback)
if (handle) then handle:Cancel(); --timer complete code goes here; end
Garrison stuff - AddOns/Blizzard_GarrisonUI, C_Garrison.*
Objective Tracker - AddOns/Blizzard_ObjectiveTracker (quest, achievement, auto quest popup, scenario, bonus objective, ...)
Group finder - FrameXML/LFGList.(lua,xml), C_LFGList.*
Second Void Storage page
Changes [ ]
1/(nil|0) changed to true/false all over the API, notably:
EquipmentManager_UnpackLocation () 2 new returns after bag, tab, voidSlot
GetGlyphInfo () new return (#8): specMatches
GetMapContinents () now also returns the mapID : mapID1, mapName1, mapID2, mapName2, etc.
GetMapZones () now also returns the zoneID : zoneID1, zoneName1, zoneID2, zoneName2, etc.
GetTalentInfo () has had its arguments and return values changed:
args: (index [, isInspect, talentGroup , inspectedUnit, classID ]) -> (tier, column, talentGroup [, isInspect, inspectUnit])
returns: name, iconTexture, tier, column, selected, available -> talentID, name, iconTexture, selected, available
GetTalentInfoByID () is a new function that takes a talentID as its parameter, and returns the same as GetTalentInfo ().
GetTalentLink () now takes a talentID as its parameter, as returned by GetTalentInfo ().
QueryAuctionItems new return (#11): exactMatch
GetQuestLogTitle has greatly changed returns.
returns: title, level, suggestedGroup, questTag, isHeader, isCollapsed, isComplete, isDaily, frequency , questID, startEvent, displayQuestID, isOnMap , hasLocalPOI , isTask , isStory
GetQuestTagInfo replacement for removed questTag return value from GetQuestLogTitle.
GetGossipAvailableQuests has changed returns.
returns: title, level, isTrivial, isDaily, frequency , isRepeatable, isLegendary, ...
GetAvailableQuestInfo has changed returns.
returns: isTrivial, isDaily, frequency , isRepeatable, isLegendary
GetSpellInfo has removed some returns.
returns: name, rank, icon, powerCost, isFunnel, powerType, castingTime, minRange, maxRange
GetWeaponEnchantInfo has greatly changed returns.
returns: hasMainHandEnchant, mainHandExpiration, mainHandCharges, mainHandEnchantID , hasOffHandEnchant, offHandExpiration, offHandCharges, offHandEnchantId , hasThrownEnchant, thrownExpiration, thrownCharges
A new event, LOOT_READY , signals the start of the availability of loot data for various loot-related API functions.
COMBAT_LOG_EVENT
SWING_DAMAGE/SPELL_DAMAGE/SPELL_PERIODIC_DAMAGE gain new parameters after crushing (isOffHand, multistrike)
SPELL_HEAL/SPELL_PERIODIC_HEAL gains new parameter after critical (multistrike)
SPELL_MISSED/SPELL_PERIODIC_MISSED/RANGE_MISSED/SWING_MISSED gains new parameter after isOffHand (multistrike)
New floating combat text type: PERIODIC_HEAL_CRIT
Instance difficulty
difficultyID 14 (Normal flex10-30, previously "Flex")
difficultyID 15 (Heroic flex10-30, new)
difficultyID 16 (Mythic 20, new)
difficultyID 17 (Looking For Raid flex10-30, new)
Many legacy mount-related and pet-related functions were removed and replaced by new functions in C_MountJournal.
Note: the legacy functions that remain, such as GetCompanionInfo, are almost completely broken as well.
New Globally Unique Identifier format :
For players: Player-[server ID]-[player UID] (Example: "Player-976-0002FD64")
For battle pets: BattlePet-0-[Battle Pet UID] (Example: "BattlePet-0-000000E0156B")
For creatures, pets, objects, and vehicles: [Unit type]-0-[server ID]-[instance ID]-[zone UID]-[ID]-[Spawn UID] (Example: "Creature-0-976-0-11-31146-000136DF91" )
Unit Type Names: "Creature", "Pet", "GameObject", and "Vehicle"
For vignettes: Vignette-0-[server ID]-[instance ID]-[zone UID]-0-[spawn UID] (Example: "Vignette-0-970-1116-7-0-0017CAE465" for rare mob Sulfurious)
Item links data: itemID:enchant:gem1:gem2:gem3:gem4:suffixID:uniqueID:level:reforgeId:upgradeId -> itemID:enchant:gem1:gem2:gem3:gem4:suffixID:uniqueID:level:upgradeId:instanceDifficultyID:numBonusIDs:bonusID1:bonusID2... Example of some bonusIDs:
448 - Warforged, +6 item level
449 - Heroic, +13 item level
450 - Mythic, +26 item level
451 - Looking For Raid, -12 item level
15 - Epic, +20 item level
171 - Rare, +10 item level
BonusIDs are stored in ItemBonus.db2.
BonusIDs have a massive number of uses, including but not limited to:
Random suffixes with varying stat amounts - ex. of the Fireflash: BonusIDs 19-39
Random bonus tertiary stats - BonusID 40: +Avoidance, BonusID 41: +Leech, etc
Raid typing - see above
Dungeon typing - i.e. BonusID 518 with qualifier 17 restricts Bloodmaul Slag Mines Normal mode items to have -10 level
Random quest upgrades - see above entries for 'Rare' and 'Epic'
Crafting upgrades - BonusID 525: Basic, BonusID 526: Expert, etc
BonusIDs can do the following 10 actions:
1 - Adjust Itemlevel
2 - Modify Stats
3 - Change Item Quality
4 - Add Item Titles
5 - Append Words to Item Name
6 - Add Sockets
7 - Adjust ItemAppearanceID (which controls ItemDisplayInfoID and FileDataIconID)
8 - Adjust Equip Level
9 - Unknown
10 - Unknown
You can no longer anchor a frame to another frame that has negative, or zero, width or height. Previously, this was acceptable and could be used for adjusting layouts easily by changing a frame's size when it was hidden.
Removals [ ]
AddOns
FrameXML
AnimTimerFrame.xml
FlexRaidFrame.(lua,xml)
Automated diff [ ]
Global API [ ]
Global API (5.4.8.18414 → 6.0.2.18967)
374 new functions
36 removed functions
BNGetFriendInviteInfoByAddon
C_Scenario.GetBonusCriteriaInfo
C_Scenario.GetBonusStepInfo
C_Vignettes.GetVignetteInstanceID
CloseReforge
CommentatorSetBattlemaster
CreateArenaTeam
DevTest1
DownloadSettings
GetCurrentGuildPerkIndex
GetCurrentMultisampleFormat
GetDestinationReforgeStats
GetExistingLocales
GetGuildLevel
GetGuildRosterContribution
GetGuildRosterLargestContribution
GetMaxMultisampleFormatOnCvar
GetMultisampleFormats
GetNextGuildPerkIndex
GetNumReforgeOptions
GetNumTalents
GetReforgeItemInfo
GetReforgeItemStats
GetReforgeOptionInfo
GetSourceReforgeStats
GetSpecializationNameForClassID
QueryGuildXP
ReforgeItem
SetMultisampleFormat
SetReforgeFromCursorItem
ShiftQuestWatches
TogglePerformanceDisplay
UnitGetGuildLevel
UnitGetGuildXP
UploadSettings
debughook
FrameXML [ ]
FrameXML (5.4.8.18414 → 6.0.2.18967)
30 new functions
14 removed functions
C_Timer.NewTicker
C_Timer.NewTimer
CheckBagSettingsTutorial
CheckToggleDifficulty
GetAvailableAudioLocales
GetItemIDFromHyperlink
GetLastDraenorSpellTexture
GetNewActionHighlightMark
GetZoneStoryID
HasDraenorZoneSpellOnBar
HidePreviewFrame
LFDCheckRolesRestricted
LFDPopupCheckRoleSelectionValid
LFDQueueCheckRoleSelectionValid
MarkNewActionHighlight
NormalizeLegacyDifficultyID
ReagentButtonInventorySlot
SearchBagsForItem
SearchBagsForItemLink
SetCheckButtonIsRadio
SetRaidDifficulties
ShowQuestLog
StoreShowPreview
StringToBoolean
ToggleGarrisonBuildingUI
ToggleGarrisonMissionUI
ToggleQuestLog
ToggleWorldMap
ValueToBoolean
nop
BreakUpLargeNumbers
GetApplicableMultisampleSetting
GetBindingText
GetKeyRingSize
GetMeleeMissChance
GetRangedMissChance
GetSpellMissChance
GetTimerTextColor
IsInProvingGround
PutKeyInKeyRing
ReverseQuestObjective
ShowStatInCategory
ToggleKeyRing
isRaidFinderDungeonDisplayable
Events [ ]
Events (5.4.8.18414 → 6.0.2.18967)
113 new events
9 removed events
ARENA_TEAM_INVITE_REQUEST
ARENA_TEAM_ROSTER_UPDATE
ARENA_TEAM_UPDATE
CHARACTER_UPGRADE_COMPLETE
FORGE_MASTER_CLOSED
FORGE_MASTER_ITEM_CHANGED
FORGE_MASTER_OPENED
FORGE_MASTER_SET_ITEM
PLAYER_AVG_ITEM_LEVEL_READY
Widget API [ ]
Widget API (5.4.8.18414 → 6.0.2.18967)
42 new methods
7 removed methods
Animation:GetProgressWithDelay
AnimationGroup:GetInitialOffset
AnimationGroup:SetInitialOffset
Cooldown:SetBlingDuration
Cooldown:SetLossOfControlCooldown
GameTooltip:SetHyperlinkCompareItem
GameTooltip:SetReforgeItem
Lua Enums [ ]
Lua Enums (5.4.8.18414 → 6.0.2.18967)
New/Changed
Removed
LE_ (new)
NUM_ACTIONS_PER_PAGE = 12
NUM_BONUS_ACTION_PAGES = 4
NUM_NORMAL_ACTION_PAGES = 6
LE_BAG_FILTER_FLAG (new)
_IGNORE_CLEANUP = 1
_EQUIPMENT = 2
_CONSUMABLES = 3
_TRADE_GOODS = 4
_JUNK = 5
LE_CHARACTER_UNDELETE_RESULT (new)
_OK = 1
_ERROR_COOLDOWN = 2
_ERROR_CHAR_CREATE = 3
_ERROR_DISABLED = 4
_ERROR_NAME_TAKEN_BY_THIS_ACCOUNT = 5
_ERROR_UNKNOWN = 6
LE_EXPANSION (new)
_CLASSIC = 0
_BURNING_CRUSADE = 1
_WRATH_OF_THE_LICH_KING = 2
_CATACLYSM = 3
_MISTS_OF_PANDARIA = 4
_WARLORDS_OF_DRAENOR = 5
_LEVEL_CURRENT = 5
LE_FRAME_TUTORIAL
_GARRISON_BUILDING = 9 (new)
_GARRISON_MISSION_LIST = 10 (new)
_GARRISON_MISSION_PAGE = 11 (new)
_GARRISON_LANDING = 12 (new)
_GARRISON_ZONE_ABILITY = 13 (new)
_WORLD_MAP_FRAME = 14 (new)
_CLEAN_UP_BAGS = 15 (new)
_BAG_SETTINGS = 16 (new)
_REAGENT_BANK_UNLOCK = 17 (new)
_TOYBOX_FAVORITE = 18 (new)
_TOYBOX_MOUSEWHEEL_PAGING = 19 (new)
_LFG_LIST = 20 (new)
LE_ITEM_QUALITY (new)
_POOR = 0
_COMMON = 1
_UNCOMMON = 2
_RARE = 3
_EPIC = 4
_LEGENDARY = 5
_HEIRLOOM = 7
LE_LFG_LIST_DISPLAY_TYPE (new)
_ROLE_COUNT = 1
_ROLE_ENUMERATE = 2
_CLASS_ENUMERATE = 3
_HIDE_ALL = 4
LE_LFG_LIST_FILTER (new)
_RECOMMENDED = 1
_NOT_RECOMMENDED = 2
_PVE = 4
_PVP = 8
LE_MOUNT_JOURNAL_FILTER (new)
_COLLECTED = 1
_NOT_COLLECTED = 2
LE_PAN (new)
_STEADY = 1
_NONE = 2
_NONE_RANGED = 3
_FAST_SLOW = 4
_SLOW_FAST = 5
_AND_JUMP = 6
LE_PET_JOURNAL_FLAG
_DEFAULT = 262144 (new)
LE_QUEST_FACTION (new)
_ALLIANCE = 1
_HORDE = 2
LE_QUEST_FREQUENCY (new)
_DEFAULT = 1
_DAILY = 2
_WEEKLY = 3
LE_RAID_BUFF
_HASTE = 4 (new)
_CRITICAL_STRIKE = 6 (was 7)
_MASTERY = 7 (was 8)
_MULITSTRIKE = 8 (new)
_VERSATILITY = 9 (new)
LE_TRACKER_SORTING (new)
_MANUAL = 1
_PROXIMITY = 2
_DIFFICULTY_LOW = 3
_DIFFICULTY_HIGH = 4
LE_UNIT_STAT (new)
_STRENGTH = 1
_AGILITY = 2
_STAMINA = 3
_INTELLECT = 4
_SPIRIT = 5
LE_PET_JOURNAL_FLAG
_FAVORITES
LE_RAID_BUFF
_PHYSICAL_HASTE
_SPELL_HASTE