-
Notifications
You must be signed in to change notification settings - Fork 7
9.1.0 Consolidated UI Changes
- Contents
- Notable Changes
- Event Trace Tool
- API Changes by Category
- Enum Changes
- Event Changes
- FrameXML API Changes
- Widget API Changes
- XML Changes
- Deprecated APIs
- Resources
- The interface version is 90100.
- The client now supports loading TOC files specific to the Retail client. The client will first look for an "MyAddOn-Mainline.toc" file in in an addon directory and load that if present, or will fall back to the standard "MyAddOn.toc". More details can be read here.
- A new event trace tool has been added with a significantly improved feature set.
- A new scrollable data frame system is available.
- The level up notification frame has been overhauled and replaced by a more generic event toast notification system.
- The player choice UI and its associated APIs have been significantly overhauled.
- The transmogrification APIs have undergone significant changes.
- The world marker (
/wm
) command now supports target modifiers such as@cursor
when used in macros. - The
string.format
function will no longer error for the%x
,%u
, or%o
specifiers when supplied numeric values outside of a signed 32-bit integer range.
The event trace tool has been rewritten and has a significant number of quality-of-life changes that should make using the tool much easier.
- Search functionality has been added to the event log.
- Filtered events are now persisted across sessions.
- Filtered events can now be reconfigured from within the UI directly; you no longer need to worry about accidentally filtering an event you were interested in receiving.
- A set of default filters has been added for events that are generally spammy or uninteresting.
- The new event trace tool is capable of monitoring events dispatched through the global callback registry.
The new tool opens up via the same old /etrace
command straight into a tabbed interface, starting with the Log tab, which offers the view of all events captured since the window was opened.
The log can be cleared by clicking the "Discard All" button, paused and resumed via the "Pause" button, and dummy marker rows can be inserted into the list via the "Marker" button.
Events can be searched via the search box at the top-left. The search functionality supports searching for both event names as well as for elements in the payload string itself.
Double clicking an entry in the event list will automatically populate the search box with the name of the fired event, and filter the list to show only other occurrences of that event. Double clicking a row again will clear the search input and restore the full list.
The options dropdown at the top-right offers basic configuration of the new tool.
- Apply Default Filter: Clicking this will reset the configured filters to a set of defaults that filter out uninteresting or spammy events.
- Show Event Arguments: If checked, shows event payloads next to event names in the log view.
- Show Event Timestamps: If checked, shows timestamp information at the end of each row.
- Log Global Registry Events: If checked, captures and displays events dispatched through the global callback registry.
The new Filter tab allows users to control the state of any filtered events. The check/uncheck functionality allows event filters to be temporarily disabled without removing them from the list, and the red "x" button removes the filter entirely.
Barbershop APIs (both global and namespaced) have been cleaned up to remove the old pre-9.x API entirely.
- Added: C_ChallengeMode.GetDungeonScoreRarityColor
- Added: C_ChallengeMode.GetKeystoneLevelRarityColor
- Added: C_ChallengeMode.GetOverallDungeonScore
- Added: C_ChallengeMode.GetSpecificDungeonOverallScoreRarityColor
- Added: C_ChallengeMode.GetSpecificDungeonScoreRarityColor
- Added: C_ChatInfo.GetChannelInfoFromIdentifier
- Added: C_ChatInfo.GetChatTypeName
- Added: C_ChatInfo.GetNumReservedChatWindows
The new event toast system and its associated APIs replace the existing level up toasts.
- Added: C_EventToastManager.GetLevelUpDisplayToastsFromLevel
- Added: C_EventToastManager.GetNextToastToDisplay
- Added: C_EventToastManager.RemoveCurrentToast
- Added: C_Item.CanItemTransmogAppearance
- Added: C_Item.GetAppliedItemTransmogInfo
- Added: C_Item.GetBaseItemTransmogInfo
- Added: C_Item.IsDressableItemByID
- Added: C_ItemUpgrade.GetItemLevelIncrement
- Added: C_ItemUpgrade.GetItemUpgradeEffect
- Added: C_ItemUpgrade.GetNumItemUpgradeEffects
- Added: C_LFGInfo.GetDungeonInfo
- Added: C_PetJournal.GetPetAbilityListTable
- Added: C_PetJournal.GetPetInfoTableByPetID
- Removed: C_PetJournal.GetNumMaxPets
- Added: C_PlayerChoice.GetCurrentPlayerChoiceInfo
- Added: C_PlayerChoice.GetNumRerolls
- Added: C_PlayerChoice.OnUIClosed
- Added: C_PlayerChoice.RequestRerollPlayerChoice
- Added: C_PlayerChoice.SendPlayerChoiceResponse
- Added: C_PlayerInfo.GetAlternateFormInfo
- Added: C_PlayerInfo.GetInstancesUnlockedAtLevel
- Added: C_PlayerInfo.GetPlayerMythicPlusRatingSummary
- Added: C_QuestLog.GetQuestLogPortraitGiver
- Added: C_QuestLog.GetQuestType
- Added: C_Soulbinds.GetSpecsAssignedToSoulbind
- Moved: C_Soulbinds.GetConduitRankFromCollection → C_Soulbinds.GetConduitRank
- Added: C_SpellBook.GetCurrentLevelSpells
- Added: C_SpellBook.GetSpellInfo
- Added: C_SpellBook.GetSpellLinkFromSpellID
- Added: C_Transmog.CanHaveSecondaryAppearanceForSlotID
- Added: C_Transmog.CanTransmogItem
- Added: C_Transmog.GetApplyCost
- Added: C_Transmog.GetPending
- Added: C_Transmog.GetSlotEffectiveCategory
- Added: C_Transmog.IsAtTransmogNPC
- Added: C_Transmog.IsSlotBeingCollapsed
- Removed: C_Transmog.GetItemInfo
- Removed: C_Transmog.LoadSources
- Removed: C_Transmog.ValidateAllPending
- Added: C_TransmogCollection.CanAppearanceHaveIllusion
- Added: C_TransmogCollection.GetArtifactAppearanceStrings
- Added: C_TransmogCollection.GetFallbackWeaponAppearance
- Added: C_TransmogCollection.GetIllusionInfo
- Added: C_TransmogCollection.GetIllusionStrings
- Added: C_TransmogCollection.GetInspectItemTransmogInfoList
- Added: C_TransmogCollection.GetOutfitInfo
- Added: C_TransmogCollection.GetOutfitItemTransmogInfoList
- Added: C_TransmogCollection.GetPairedArtifactAppearance - Added in live build 39335.
- Added: C_TransmogCollection.IsAppearanceHiddenVisual
- Added: C_TransmogCollection.NewOutfit
- Added: C_TransmogCollection.RenameOutfit
- Removed: C_TransmogCollection.GetInspectSources
- Removed: C_TransmogCollection.GetOutfitName
- Removed: C_TransmogCollection.GetOutfitSources
- Removed: C_TransmogCollection.SaveOutfit
- Added: C_TransmogSets.GetSetPrimaryAppearances
- Removed: C_TransmogSets.IsSetCollected
- Removed: C_TransmogSets.IsSetUsable
- Added: C_UIWidgetManager.GetSpacerVisualizationInfo
- Added: C_UIWidgetManager.GetTextColumnRowVisualizationInfo
- Added: C_VoiceChat.ActivateChannelTranscription
- Added: C_VoiceChat.DeactivateChannelTranscription
- Added: C_VoiceChat.GetRemoteTtsVoices
- Added: C_VoiceChat.GetTtsVoices
- Added: C_VoiceChat.IsSpeakForMeActive
- Added: C_VoiceChat.IsSpeakForMeAllowed
- Added: C_VoiceChat.IsTranscriptionAllowed - Added in live build 39291.
- Added: C_VoiceChat.SpeakRemoteTextSample
- Added: C_VoiceChat.SpeakText
- Added: C_VoiceChat.StopSpeakingText
- Changed: PlaceRaidMarker - Added
target
parameter. This is used by the/wm
command to provide@cursor
targetting support. - Moved: GetCurrentLevelSpells → C_SpellBook.GetCurrentLevelSpells
- Moved: GetDungeonInfo → C_LFGInfo.GetDungeonInfo
- Moved: GetItemLevelIncrement → C_ItemUpgrade.GetItemLevelIncrement
- Moved: GetItemUpgradeEffect → C_ItemUpgrade.GetItemUpgradeEffect
- Moved: GetNumItemUpgradeEffects → C_ItemUpgrade.GetNumItemUpgradeEffects
- Moved: GetQuestLogPortraitGiver → C_QuestLog.GetQuestLogPortraitGiver
- Moved: SendPlayerChoiceResponse → C_PlayerChoice.SendPlayerChoiceResponse
- Removed: ApplyBarberShopStyle
- Removed: BarberShopReset
- Removed: CancelBarberShop
- Removed: ClosePlayerChoice
- Removed: GetBarberShopStyleInfo
- Removed: GetBarberShopTotalCost
- Removed: GetCustomizationDetails
- Removed: GetLevelUpInstances
- Removed: IsBarberShopStyleValid
- Removed: SetBarberShopAlternateFormFrame
- Removed: SetNextBarberShopStyle
- Added: BattlePetAbilityFlag
- Added: BattlePetAbilitySlot
- Added: BattlePetAbilityTargets
- Added: BattlePetAbilityTurnFlag
- Added: BattlePetAbilityTurnType
- Added: BattlePetAbilityType
- Added: BattlePetAction
- Added: BattlePetBreedQuality
- Added: BattlepetDbFlags
- Added: BattlepetDeletedReason
- Added: BattlePetEffectFlags
- Added: BattlePetEffectParamType
- Added: BattlePetEvent
- Added: BattlePetNpcEmote
- Added: BattlePetNpcTeamFlag
- Added: BattlePetOwner
- Added: BattlepetSlotLockCheat
- Added: BattlePetSources
- Added: BattlePetSpeciesFlags
- Added: BattlePetStateFlag
- Added: BattlePetTypes
- Added: BattlePetVisualFlag
- Added: BattlePetVisualRange
- Added: EventToastDisplayType
- Added: EventToastEventType
- Added: InputContext
- Added: ItemArmorSubclass
- Added: ItemClass
- Added: ItemConsumableSubclass
- Added: ItemGemSubclass
- Added: ItemMiscellaneousSubclass
- Added: ItemReagentSubclass
- Added: ItemRecipeSubclass
- Added: ItemWeaponSubclass
- Added: LinkedCurrencyFlags
- Added: PermanentChatChannelType
- Added: PetbattleAuraStateFlags
- Added: PetbattleCheatFlags
- Added: PetbattleEffectFlags
- Added: PetbattleEffectType
- Added: PetbattleEnviros
- Added: PetbattleInputMoveMsgDebugFlag
- Added: PetbattleMoveType
- Added: PetbattlePboid
- Added: PetbattlePetStatus
- Added: PetbattlePlayer
- Added: PetbattlePlayerInputFlags
- Added: PetbattleResult
- Added: PetbattleSlot
- Added: PetbattleSlotAbility
- Added: PetbattleSlotResult
- Added: PetbattleState
- Added: PetBattleState
- Added: PetbattleTrapstatus
- Added: ScriptedAnimationFlags
- Added: TransmogCameraVariation
- Added: TransmogIllisionFlags
- Added: TransmogModification
- Added: TransmogPendingType
- Added: TransmogSearchType
- Added: TransmogSlot
- Added: TransmogUseErrorType
- Added: UIFrameType
- Added: UIWidgetModelSceneLayer
- Added: UIWidgetTooltipLocation
- Added: VoiceTtsDestination
- Added: VoiceTtsStatusCode
- Added: WidgetTextHorizontalAlignmentType
- Removed: ScriptedAnimationTransformation
- Removed: ScriptedAnimationTransformationTiming
- Removed: TransmogModification
The following enumerations have been converted from LE_*
style global constants to the new Enum.*
format, and names have undergone casing changes.
- Moved:
LE_BATTLE_PET_{WEATHER,ALLY,ENEMY}
→Enum.BattlePetOwner.*
- Moved:
LE_BATTLE_PET_ACTION_*
→Enum.BattlePetAction.*
- Moved:
LE_ITEM_ARMOR_*
→Enum.ItemArmorSubclass.*
- Moved:
LE_ITEM_CLASS_*
→Enum.ItemClass.*
- Moved:
LE_ITEM_GEM_*
→Enum.ItemGemSubclass.*
- Moved:
LE_ITEM_MISCELLANEOUS_*
→Enum.ItemMiscellaneousSubclass.*
- Moved:
LE_ITEM_RECIPE_*
→Enum.ItemRecipeSubclass.*
- Moved:
LE_ITEM_WEAPON_*
→Enum.ItemWeaponSubclass.*
- Moved:
LE_PET_BATTLE_STATE_*
→Enum.PetBattleState.*
- Moved:
LE_TRANSMOG_SEARCH_TYPE_*
→Enum.TransmogSearchType.*
- Moved:
SCHOOL_MASK_*
→Enum.Damageclass.Mask*
- Added: CHAT_MSG_VOICE_TEXT
- Added: DISPLAY_EVENT_TOAST_LINK
- Added: DISPLAY_EVENT_TOASTS
- Added: FRAME_MANAGER_UPDATE_ALL
- Added: GARRISON_SPEC_GROUP_UPDATED
- Added: GARRISON_SPEC_GROUPS_CLEARED
- Added: UI_ERROR_POPUP
- Added: VOICE_CHAT_CHANNEL_MEMBER_STT_MESSAGE
- Added: VOICE_CHAT_CHANNEL_TRANSCRIBING_CHANGED
- Added: VOICE_CHAT_SPEAK_FOR_ME_ACTIVE_STATUS_UPDATED
- Added: VOICE_CHAT_SPEAK_FOR_ME_FEATURE_STATUS_UPDATED
- Added: VOICE_CHAT_TTS_PLAYBACK_FAILED
- Added: VOICE_CHAT_TTS_PLAYBACK_FINISHED
- Added: VOICE_CHAT_TTS_PLAYBACK_STARTED
- Added: VOICE_CHAT_TTS_SPEAK_TEXT_UPDATE
- Added: VOICE_CHAT_TTS_VOICES_UPDATE
- Removed: MYTHIC_PLUS_NEW_SEASON_RECORD
Note that each build generally has a significant number of FrameXML utility changes, of which only significant ones of interest will be listed here.
- Added: ApproximatelyEqual
- Added: AuctionHouseUtil.GetItemQualityColorFromOwnedAuctionData
- Added: CollectionWardrobeUtil.GetDefaultSourceIndex
- Added: CollectionWardrobeUtil.GetSlotFromCategoryID
- Added: CollectionWardrobeUtil.GetSortedAppearanceSources
- Added: CollectionWardrobeUtil.GetValidIndexForNumSources
- Added: CollectionWardrobeUtil.SortSources
- Added: ConvertSecondsToUnits
- Added: CopyValuesAsKeys
- Added: CreateAnchor
- Added: CreateAtlasMarkupWithAtlasSize
- Added: CreateMaskPool
- Added: EnumUtil.MakeEnum - Constructs an enum-like table where each supplied value is a key, and the value of each key is the position in the argument list. Functionally equivalent to
tInvert({ ... })
. - Added: FCF_ResetChatWindow
- Added: FlagsUtil.IsAnySet
- Added: GarrAutoCombatUtil.IsAbilityEvent
- Added: GetGenderAtlases
- Added: GridLayoutUtil.GridLayoutRegions
- Added: ipairs_reverse
- Added: IsBuiltinChatWindow
- Added: IsVoiceTranscription
- Added: ItemUtil.CreateItemTransmogInfo
- Added: MaskPool_Hide
- Added: MaskPool_HideAndClearAnchors
- Added: MergeTable - This is functionally equivalent to
Mixin(destination, source)
. - Added: QuestUtil.GetDefaultQuestBackgroundTexture
- Added: QuestUtil.GetDefaultQuestMapBackgroundTexture
- Added: QuestUtil.GetThreatPOIIcon
- Added: QuestUtil.QuestTextContrastEnabled
- Added: RuneforgeUtil.GetSigilInfoForCovenant
- Added: StaticPopup_ShowNotification
- Added: TransmogUtil.CreateTransmogPendingInfo
- Added: TransmogUtil.GetItemLocationFromTransmogLocation
- Added: TransmogUtil.GetRelevantTransmogID
- Added: TransmogUtil.IsCategoryLegionArtifact
- Added: TransmogUtil.IsCategoryRangedWeapon
- Added: TransmogUtil.IsSecondaryTransmoggedForItemLocation
- Added: TransmogUtil.IsValidTransmogSlotID
- Added: UIDropDownMenu_ClearCustomFrames
- Added: UIDropDownMenu_SetDropDownEnabled
- Added: WithinRange
- Added: WithinRangeExclusive
- Changed: CopyTable - Added a
shallow
parameter to prevent deep copying. This is functionally equivalent toMixin({}, settings)
. - Changed: CreateAtlasMarkup - Added vertex color parameters.
- Moved: ripairs → ipairs_reverse
- Removed: GetGenderAtlas
- Removed: TransmogUtil.GetCategoryForSlot
- Added: Region:ClearPointsOffset
- Added: Frame:SetFrameBuffer - If set, causes a frame to be rendered in its own framebuffer. Can be used to work around alpha-related issues.
- Added: EditBox:ClearHighlightText
- Changed: OnCursorChanged - Added context (InputContext) parameter.
- Added: GameTooltip:GetCustomLineSpacing
- Added: GameTooltip:SetCustomLineSpacing
- Added: GameTooltip:SetEnhancedConduit
- Added: DressUpModel:GetItemTransmogInfo
- Added: DressUpModel:GetItemTransmogInfoList
- Added: DressUpModel:SetItemTransmogInfo
- Removed: DressUpModel:GetSlotTransmogSources
- Added: OnDressModel
- Added: ModelSceneActor:GetItemTransmogInfo
- Added: ModelSceneActor:GetItemTransmogInfoList
- Added: ModelSceneActor:SetItemTransmogInfo
- Removed: ModelSceneActor:GetSlotTransmogSources
- Added:
frameBuffer
(boolean) - See Frame:SetFrameBuffer
The following APIs have been deprecated and will be removed in the next expansion. Migration code can be found here for functions that do not have replacements listed below.
- C_LegendaryCrafting.GetRuneforgePowersByClassAndSpec - Replaced by C_LegendaryCrafting.GetRuneforgePowersByClassSpecAndCovenant.
- C_PlayerChoice.GetPlayerChoiceInfo
- C_PlayerChoice.GetPlayerChoiceOptionInfo
- C_PlayerChoice.GetPlayerChoiceRewardInfo
- C_Transmog.GetCost
- C_TransmogCollection.CanSetFavoriteInCategory - This will now always be true.
- C_TransmogCollection.GetIllusionFallbackWeaponSource - Replaced by C_TransmogCollection.GetFallbackWeaponAppearance.
- C_TransmogCollection.GetIllusionSourceInfo
- C_TransmogCollection.GetShowMissingSourceInItemTooltips
- C_TransmogCollection.SetShowMissingSourceInItemTooltips
- C_TransmogSets.GetSetSources
- ClosePlayerChoice
- GetQuestLogPortraitGiver - Replaced by C_QuestLog.GetQuestLogPortraitGiver.
- HasAlternateForm - Replaced by C_PlayerInfo.GetAlternateFormInfo.
- IsDressableItem - Replaced by C_Item.IsDressableItemByID.
- SendPlayerChoiceResponse - Replaced by C_PlayerChoice.SendPlayerChoiceResponse.
- WardrobeCollectionFrame_ClearSearch
- WardrobeCollectionFrame_GetDefaultSourceIndex - Replaced by CollectionWardrobeUtil.GetDefaultSourceIndex.
- WardrobeCollectionFrame_GetSortedAppearanceSources - Replaced by CollectionWardrobeUtil.GetSortedAppearanceSources.
- WardrobeCollectionFrame_GetWeaponInfoForEnchant
- WardrobeCollectionFrame_OpenTransmogLink
- WardrobeCollectionFrame_SetAppearanceTooltip
- WardrobeCollectionFrame_SetContainer
- WardrobeCollectionFrame_SetTab
- WardrobeCollectionFrame_SortSources - Replaced by CollectionWardrobeUtil.SortSources.
- WardrobeCollectionFrame_UpdateProgressBar
- WardrobeCollectionFrameModel_GetSourceTooltipInfo
- WardrobeFrame_IsAtTransmogrifier - Replaced by C_Transmog.IsAtTransmogNPC.
- WardrobeUtils_GetValidIndexForNumSources - Replaced by CollectionWardrobeUtil.GetValidIndexForNumSources.
- WardrobeUtils_IsCategoryLegionArtifact - Replaced by TransmogUtil.IsCategoryLegionArtifact.
- WardrobeUtils_IsCategoryRanged - Replaced by TransmogUtil.IsCategoryRangedWeapon.