Battle for Azeroth alpha UI changes observations

Ellypse edited this page May 8, 2018 · 48 revisions

Welcome. You will find here my personal observations on the changes in the game's UI code for each new build of the Battle for Azeroth alpha. Please keep in mind those are my personal observations and I might miss or misunderstand things. If an error is found I will do my best to correct it as soon as possible. These observations I made from observing the "diffs" from build to build and some of them have no in-game confirmation yet, so keep that in mind.

I am also trying to update the Wowpedia article for the Patch 8.0.1/API changes when I can confirm and check the changes and new APIs in game. If you can participate in documenting the changes, please come help us :)

If you like my work, please consider participating to my Patreon and following me on Twitter (but no pressure, do what you want ^^).

You might also want to look at Blizzard's official post on the changes for add-ons (although they left out many things that I found here ^^)

8.0.1 (26567 - 2018-05-08

New APIs

  • New C_IslandsQueue API to get info about the expedition islands
  • New C_Map.GetMapPosFromWorldPos(continentID, worldPosition, overrideUiMapID) and C_Map.GetWorldPosFromMapPos(uiMapID, mapPosition) to convert map and world coordinates back and forth.
  • New C_EncounterJournal.GetDungeonEntrancesForMap(mapID) to get the dungeon entrances available on a given map
  • New C_Map.GetMapLinksForMap(mapID) to get links between maps (like in the latest raids, for navigating between floors)

APIs remove

  • QuestUtils_CanUseAutoGroupFinder(questID, isDropdownRequest) has been removed

New UIs

  • New battlefield map (it uses the same data provider model as the world map)
  • New Communities settings UI
  • New Banner, Dungeon Entrance, Contributions, Map links and Selectable graveyards POI Providers for the World Map
  • New expedition islands queue frame
  • New community related alerts

UI changes

  • Some Quest related constants have been removed, new ones are in (Quest tags can be found in Enum.QuestTag for example)
  • Changes to the Communities UI to pick an avatar.
  • There are a lot of changes in the warfront UI code (unit info, etc.)
  • TestWorldMapFrame has finally been renamed to WorldMapFrame. WorldMapFrame code has been remove except for a few functions that are doing nothing for now but are marked for being reimplemented
  • Prestige icons are hidden in free for all or neutral PvP environment

8.0.1 (26530) - 2018-04-30

New APIs

  • New C_Map.GetPlayerMapPosition(uiMapID, unitToken) returns a Vector2DMixin.
  • New C_MapExplorationInfo API with two methods: GetExploredAreaIDsAtPosition(uiMapID, normalizedPosition), returns a table of areaID; and GetExploredMapTextures(uiMapID), returns an overlayInfo of type UiMapExplorationInfo
  • New method in C_PetInfo: GetPetTamersForMap(uiMapID)
  • New method in C_QuestLog: IsOnQuest(questID)
  • New method in C_ResearchInfo: GetDigSitesForMap(uiMapID)
  • New methods in C_TaxiMap: GetAllTaxiNodes() and GetTaxiNodesForMap(uiMapID)
  • New CancelSpellByName(spellName) function to remove a buff from the player, to replace CancelUnitBuff("player", name, rank)
  • The PlayerLocation API (to abstract GUID & co when calling APIs) can now create a location from a voice member ID PlayerLocation:CreateFromVoiceID(memberID, channelID)
  • New GameTooltip_SetTitle(tooltip, text, overrideColor, wrap),GameTooltip_AddNormalLine(tooltip, text, wrap),GameTooltip_AddInstructionLine(tooltip, text, wrap), and GameTooltip_AddColoredLine(tooltip, text, color, wrap) to easily handle setting and adding texts to the GameTooltip. Note that the color argument must be from the ColorMixin
  • New CallMethodOnNearestAncestor(frame, methodName, ...) to call the first available method corresponding to the method name in the parents of the given frame.

Modified APIs

  • Some functions have been removed
  • The UNIT_SPELLCAST_SENT args are now unit, target, castGUID, spellID instead of `unit, guidString, spellID
  • C_TransmogCollection.GetAppearanceSources(appearanceID) now accepts an optional slot number as a second parameter.
  • The PARTY_LOOT_METHOD_CHANGED has been removed

New UIs

  • The guild recruitment UI has been moved to a separate frame with refactored code.
  • The Communities feature received new UIs to display guild news, perks, info and rewards directly in the Communities UI. (It sounds like the guild UI is gonna be deprecated at some point :thinking:)
  • Dig sites, flight points, pet tamers, and garrison plots have been added to the new World Map Frame (new DigSiteDataProvider, FlightPointDataProvider, PetTamerDataProvider and GarrisonPlotDataProvider)
  • New UIWidgetTemplateBulletTextList to display a list with a bullet texture before the text.
  • New UIWidgetTemplateHorizontalCurrencies to display currency info in a list and UIWidgetTemplateIconTextAndCurrencies to display currencies as icons with text on the side
  • New UIWidgetTemplateTextWithState to display a text where the text color depends on the state (passed via widgetInfo.colorState)
  • The tutorials have been added back to the new World Map Frame
  • New toasts for Island Expeditions to show Azerite gains
  • New keybindings to toggle self mute and self deafen in voice chat

UI changes

  • The master loot button has been removed from the raid UI (RIP)
  • They have added back the behavior to right-click on players on the map during battlegrounds to report them for being AFK.
  • The World Quest map pin provider now supports displaying spell effects (for the instant finisher I suppose)
  • The Battlefield minimap has been commented out from UIParent for now, they are probably looking into implementing a small World Map Frame
  • There was a few changes in the UIDropDownMenu.lua code, I will have to check if that's to fix the taint (finally) or not

8.0.1 (26491) - 2018-04-23

  • Only changes are in Blizzard's feedback addon. It's renamed PTR_IssueReporter. It's position is now saved between sessions. It will now pop-up when some activities (island expeditions, warfronts) are completed by the player to gather feedback.

8.0.1 (26476) - 2018-04-19

In this build add-ons and /script, /run, /dump commands are now enabled. The interface version number has been incremented to 80000.

New APIs

  • C_AreaPoiInfo received it functions (it was empty before), like GetAreaPOIForMap(uiMapID) and GetAreaPOIInfo(uiMapID, areaPoiID).
  • New C_MapOverlayInfo API to GetMapOverlays(uiMapID) info
  • New C_CampaignInfo API with functions to track the current chapter of the campaign and get info.
  • New CustomBindingHandler and CustomBindingManager used to create CustomBindingButton to use to bind keys of different types (special for Push to talk). Documentation says "Utility to mimic game action-binding functionality, while allowing metakeys to be recognized on their own. t's currently not allowed for addons to add custom binding types, but that should only prevent this button from appearing in the keybinds window, it's still permitted that addons can make their own systems that leverage these bindings. "
  • New MapUtil.FindBestAreaNameAtMouse(mapID, normalizedCursorX, normalizedCursorY) to get the name of a region/sub-zone at map coordinates.
  • New TextureLoadingGroupMixin, use :AddTexture(texture) to add a Texture (the widget, not the path) to the group, then use :IsFullyLoaded() to check if the entire group of textures has been fully loaded (used for the map textures, see more below).


  • The quest log has new UI for the war campaign. It shows the chapters for the expansion's main campaign. Note that the button is inside the scroll view and will scroll alongside it (while the previous story-lines button was outside of the scroll frame and stayed fixed).
  • The new world map is now active (the name of the frame is still TestWorldMapFrame so anything that uses WorldMapFrame will not be shown on this new frame!). You can use WorldMapFrame:Switch() to switch back to the old world map.
  • Map textures are now pre-loaded when the player enters a zone, so they are available when the map is opened
  • New code to bind push to talk to keys
  • The channel frame display voice chat status (muted, currently speaking).
  • New voice activity notifications to display who is talking.
  • The adventure map has been added to the BfA mission table (like in Legion)
  • New Gossip POI (probably for gossip indicators like the bronze dragons to switch phases), Map Exploration POI and Shared Map POI provider for the map

8.0.1 (26433) - 2018-04-13

New APIs

  • C_AreaPoiInfo, empty for now.
  • New PlayerLocation mixin, used to abstract a Player. It is used in some new APIs instead of giving a unitID, a GUID or a PlayerName-RealmName token. Use PlayerLocation:CreateFromUnit(unitToken), PlayerLocation:CreateFromGUID(guid) or PlayerLocation:CreateFromChatLineID(chatLineID) and use the object in the APIs that uses those.
  • C_InvasionInfo with functions like AreInvasionsAvailable(), GetInvasionInfo(invasionID) or GetInvasionForUiMapID(uiMapID)
  • New KeyCommand API that handles fireing commands on key presses. KeyCommand_Create(command, runOnUp, key) create a command a new KeyCommand. (It's not protected as far as I can see, but it probably won't stay that way)
  • New DoublyLinkedListMixin to create a list with PushFront, PushBack, PopFront, and PopBack methods, and Remove and Insert.
  • New QuestLogOwnerMixin used for assigning the QuestLog Frame from to the (new) Map Frame. This is probably temporary and will be removed in the future as it is used in the temporary compatibility layer between the new and the old WorldMap Frames.

Modified APIs

  • New ChatChannelType Communities
  • C_ChatInfo now has CanReportPlayer(PlayerLocation) and ReportPlayer(complaintType, PlayerLocation, comment) functions.
  • C_Map now has GetBestMapForUnit(unitToken), only work for player and party members, returns the current uiMapID. Instead of using C_Map.GetCurrentMapID() (which outputs the map currently shown in the UI), the UI code use C_Map.GetBestMapForUnit("player") to get the current map of the player.
  • C_VignetteInfo now has functions to get vignette info and positions using a vignette GUID
  • There are a bunch of modifications for voice chat, to handle voice strenght and display it visually to the player.
  • The new WorldMapFrame has received its scrolling controller canvas (now a mixin), its minimize and maximize buttons, the QuestFrame has been anchored to it, Invasions and Vignettes now have WorldMapDataProviders. It is almost ready for testing!
  • The Communities features has a lot of changes, and a lot of it is protected and not accessible to add-ons. The dialog to add or create a community, to pick an avatar. But creating a community still doesn't work and the feature is not ready for testing just yet

  • Framestack's code to handle key commands (alt to move in stack, ctrl to open in table inspect) has been refactored. Hitting ctrl-C on a texture will copy the texture path to the clipboard!
  • The limit on chat channels joined has been increased from 10 to 20 chat channels.
  • Players can be reported for voice chat language offense.
  • The ShowQuestLog() functions is gone in favor of OpenQuestLog(mapID) (mapID is optional).
  • New OpenWorldMap(mapID) (mapID is optional).
  • The StatusTrackingBar mixin now has a priority property used to know which status bar should be displayed in priority when multiple things are being tracked (XP, rep, honor, azurite, etc.)

New UIs

  • New UI for chat frame scrolling (the background is no longer visible, the back-to-bottom button is smaller to fit the scroll thumb
  • Voice chat is now available. You get a notification to join instance voice chat when you join a instanced group.

New Widgets

  • New AzeriteBar to show an XP-like bar for Azerite power.
  • New UIWidgetTemplateStackedResourceTracker used to show widgetInfo.resources info (text, tooltip, icon) that are stack upon each other. They are automatically anchored on as a list from top to bottom (used in the Warfront UI for resources)

8.0.1 (26367) - 2018-04-03

New APIs

  • C_CreatureInfo with function to GetClassInfo(classID) and GetRaceInfo(raceID) to get the localized name and client (non-localized name) using IDs.
  • C_FogOfWar used for a fog of war effect on the expeditions islands, you can GetFogOfWarForMap(mapID) and GetFogOfWarInfo(fogOfWarID). A fog of war has a background texture atlas, a mask atlas and a mask scalar.
  • C_Spell used to get data from spell IDs. You can check DoesSpellExist(spellID) and IsSpellDataCached(spellID), and you can RequestLoadSpellData(spellID) (there is no direct access to the spell info in the API as for now, you still have to use the older functions).
  • C_Map and C_PartyPose have their in-game documentation added (the APIs themselves were added in the previous build).
  • New Spell object-oriented API. Use Spell:CreateFromSpellID(spellID) to create a Spell object and get its info using the object's methods :GetSpellName(), :GetSpellDescription(), :GetSpellSubtext().
  • New PredictedSetting mixin, created using CreatePredictedSetting(wrapTable). The wrapTable must have methods to set a setting value setFunction(value) and get the setting value getFunction(). You can use the PredictedSetting created to :Get() or :Set(value) a setting. If the value was set using :Set(value), the :Get() method will return a cached value instead of calling the getFunction(). This is used in the talent UI to immediately set a talent choice and use that choice as the current value, while the client sends the command and receive the answer from events. Calling the :Clear() method reset the cached value. There is PredictedToggle mixin with the same effect, for boolean values. It offers a :Toggle() method that invert the current value.

API changes

  • The ChatChannelType enumeration table now references PrivateParty and PublicParty instead of Party, Raid, Instance, Battleground. There might be a consolidation of the channel types.
  • The subtext (rank info) of many of the spell and buff/debuff stuff has been removed. This means many of the functions now returns less values (UnitAura doesn't return the second value rank, GetMacroSpell(id) returns one value instead of 3, UnitCastingInfo(unit) 2nd return value is gone). This is an upcoming issue in many add-ons that retrieves spell or buff/debuff info as many return values shifted places. spellName and nameSubtext has been removed from the arguments of many spell related unit events (UNIT_SPELLCAST_FAILED, UNIT_SPELLCAST_INTERRUPTED, etc.). The UI code has been updated in many many places to reflect this change.
  • The C_VoiceChat API now reference push to talk bindings and voice activation sensitivity.
  • The functions deprecated in 7.x have now been removed (they were re-implemented in Lua to stay available for a while, in files that are no longer loaded)
  • A UIMapIDToWorldMapAreaID file has been added to the Blizzard_Deprecated folder. The file itself doesn't run code, but it has a CSV formatted table to map old map area IDs to the new UIMapIDs (this was asked on the #wowuidev IRC)
  • More data provider has been added for the new World Map, like active quests, fog of war, landmarks, scenario data (still not available for testing yet).

UI changes

  • The PTR Feedback tool now ignores a hard-coded list of locations (but I don't know what IDs correspond to yet).
  • Archeology uses some of the new APIs introduced recently.
  • The keybindings button has been refactored to use mixins and templates. The code to handle modifier keys has been refactored too.
  • There are a bunch of changes to the Communities and Voice chat UI code (those are still not available for testing yet).
  • Many parts of the UI now uses C_CreatureInfo to get class info.
  • The new World Map should now have more UI elements to it (navigation bar, tracking button, emissaries UI). Those elements have been re-implemented as mixins and XML templates. (The map is still not ready for testing and doesn't replace the current world map, it's frame name is still TestWorldMapFrame).
  • The audio options lets you set the voice chat mic sensitivity
  • The quest UI now handles up to 50 quests in the list (the server limit is still 25)
  • The Dark iron dwarfs and Mag'har orcs have been added to the character creation code
  • First Aid has been removed from the background texture of the spellbook, but the text strings are still here.

New UI Widgets

  • New UIWidgetTemplateTooltipFrame template that automatically show and hide the GameTooltip on enter and leave, and uses self.tooltip for the tooltip text.
  • New UIWidgetTemplateStatusBar template that defines a standard status bar with a label. The info that shall be passed to :Setup(widgetInfo) must contain a barMin, barMax, barValue, and text field. The widget will automatically compute the percentage and set the status bar filling status.
  • New UIWidgetTemplateDoubleIconAndText template (two text with an icon on the right).

New frame scripts

  • New OnUiMapChanged script handler.
  • New OnRequestNewSize script handler

8.0.1 (26310) - 2018-03-27

New APIs

  • New C_QuestLine API to get available quest lines and their info (name, questID, etc.)
  • New C_Map API, modern way to interact with the map. Use C_Map.GetCurrentMapID() to get the current map ID, C_Map.GetMapInfo(mapID) to get some info, C_Map.GetMapArtLayerTextures(mapID, level) to get the map textures (as a table) for a specific level, C_Map.SetMap(mapID) to set the world map
  • New MapUtil table with various methods to check map types and get some info.
  • New VehicleUtil, with VehicleUtil.GetVehicleInfo(vehicleType) to get info (texture, size) for vehicle a type.

New world map

  • New world map Blizzard add-on Blizzard_WorldMap (instead of a Frame file). The entire code is now a Lua mixin and XML templates. It is probably not ready yet to be tested as the old world map is still here, and the new frame is called TestWorldMapFrame. It looks like everything has been rewritten.
  • A lot of the world map indicators (the text at the top that says the zone name and required level, the battlefield falgs, bonus objectives, corpse, dungeon entrance, group memebers, quest points, vehicles, world quests) have been refactor into their own individual files (Lua mixins and XML templates) inside the Blizzard_SharedMapDataProviders folder.
  • The fancy flight map (the one that can zoom) now supports more POI types. The zooming behavior has been tweaked.

New UIs

  • New PartyPose UI, related to the Islands scenarios. It shows the winning team, with their 3D models and a banner of their faction in the victory UI. Note that there is a PartyPose module that is broad, and an IslandsPartyPose that uses the first module specifically for the Islands stuff, meaning we could see this victory UI used elsewhere.
  • New UIWidgetTemplateIconTextAndBackground (from that new UI widget module), same as UIWidgetTemplateIconAndText but with a background
  • Fishing is getting a tradeskill UI, probably for upgrades like mining or herbalism.

Modified stuff

  • The map "expansions" IDs have changed, you can find the new IDs at the top of the FrameXML/WorldMapFrame.lua
  • The maximum number of quests is no longer hardcoded in the UI but instead retrieved from C_QuestLog.GetMaxNumQuests(), which could indicate that this number will change. At the moment it returns 50!
  • The BattlegroundChatFilters (to filter out "x leaved/joined" at the start and end of battlegrounds) now uses a mixin BattlegroundChatFiltersMixin instead of a bunch of global functions. Many of the variables and "constants" it uses are now local, so they can't be modified by others.
  • The functions SetItemButtonTexture, SetItemButtonTextureVertexColor and SetItemButtonDesaturated now support buttons with icon textures accessed via button.Icon, on top of button.icon and _G[button:GetName().."IconTexture"] because sticking to a naming convention is hard.
  • They remove the print() that was left in the LFG UI

8.0.1 (26287) - 2018-03-22

  • The chat channels UI has been moved out of the Social frame, into a separate frame. You now access it using the speaker icon on the chat frame.
  • New Communities and Voice channels. Internal name for functions for the Communities is Club and Voice channels is VoiceChat.
  • Communities: You can create clubs, invite people, they can accept or decline, you can leave, you can send a club chat to a regular chat window. The owner can delete messages, kick people. It has tickets that you can redeem (no idea what this is yet). It remembers where you were. You can set a channel subject, privilege access. It's essentially Discord. Bnet channels shows your Bnet avatar from the launcher. It doesn't seem to support SendAddonMessage, I will have tot test that.
  • Voice channels are built on top of communities. It what you'd expect. You can choose an input, set volumes, mute people or edit their volume (for you or everyone). They can be used for party/instance/raid too. You can use push to talk or voice detection.
  • The audio options has been adapted for this.
  • Changes to the keybinding UI. The code was refactored, but I couldn't find new interesting things.
  • A lot of the code for the friends has been refactored to use new stuff for the toast notifcations.
  • Framestack now also highlight individual textures and indicates their asset name, using a new GetTextureInfo(region) function.
  • Changes to how portraits are displayed in the UI (the round texture in the top left corner of many frames). SetPortraitTextureFromCreatureDisplayID(texture, displayInfo) allow displaying anything there as long as you have display info for the model you want to have.
  • The character frame indicates if the player armor reduction is effective against the target
  • The "garrison" mission table for BfA was added. OrderHall UI code has been moved around.
  • Modifications and fixes to the Azerite system and UI (both temporary and final)
  • PvP talent frame fixes.
  • The character button in the micro menu buttons bar will pulse if you can upgrade Azerite empowered items.
  • Fixes to the new UIWidgets templates.
  • The code for autocompletion has been modified in many places (not sure the impact of it)
  • There are a bunch of new intrinsic Frames (if you don't know, those are Widgets defined in Lua and XML, that you can use directly like a standard widget. The ScrollingMessageFrame was made a intrinsic widget a few patches ago). ContainedAlertFrame can be used to show alert frame buttons at the bottom of the screen, like loot toast. The AlertFrameSystem system has been changed to use those and the loot alerts use them.
  • The FauxScrollFrame code has been modernized a little.
  • The SearchBoxTemplate and TruncatedTooltipScripts has been moved to the SharedUIPanelTemplates.lua file, with the other similar stuff.
  • New AzeriteUtil global table, with EnumerateEquipedAzeriteEmpoweredItems() and DoEquippedItemsHaveUnselectedPowers() helper methods.
  • New CanAccessObject(obj) function, returns true if the object (Frame, Button, whatever) is accessible, or false if it is forbidden (either always or because of combat).
  • New tIndexOf(table, item) function to get the index of an item in a table.
  • New Wrap(value, max), to wrap back when incrementing numbers. For example, if value is 21 but max is 20, it will return 1.
  • New ExecuteFrameScript(frame, script, ...) function. It tries to get the script, and if it exists it securely call the script of the frame with the args
  • New EventRegistrationHelper mixin. Inherit and call self:AddEvents(listOfEvents) to quickly register a list of events.
  • New TabGroupMixin. Use CreateTabGroup(frame1, frame2, frame3) to create a group of frame (editbox) that can be tabbed to (like in a form). Then call tabGroup:OnTabPressed() when your frames received OnTabPressed to have it automatically move the focus to the next frame. It supports the Shift modifier to go back to the previous field.
  • New ObjectAPI: ContinuableContainer, used when you want to execute something when the info for multiple Item is loaded. You :AddContinuable(continuable) to it and the callback you give it via :ContinueOnLoad(callback) will be called when all items info are loaded.
  • A new BattlegroundChatFilters system to filter out system messages when many player leave or join a battleground when it starts or end.
  • They removed more code from the old voice chat system removed in 7.2 that was somehow still there.

8.0.1 (26231) - 2018-03-14

  • Temporary UI for Azerite empowered item was added. The temporary UI is used on regular clients, while GM clients use the previously implemented (and probably buggy) permanent UI.
  • Some fixes to the tradeskill UI (like categories lines)
  • New UIWidgetTemplateDoubleStatusBar widget in the new UIWidgets layout thing. It's a widget with two status bars side by side. You call UIWidgetTemplateDoubleStatusBarMixin:Setup(widgetInfo) to set the values, widgetInfo should have fields to indicate the values (current, min and max) for the leftBar and for the rightBar. The right bar is filled from the right to the left. The bars have icons at each extremity. It is not used anywhere yet. An implementation of this widget can be found in the Island Expeditions UI, the two bars at the top, width the right bar filling from right to left.
  • New DevBuildAlerts on the login (Glue) screen (similar to maintenance announcements), the content is received via the SHOW_DEV_BUILD_ALERT event
  • CompactUnitFrame now shows buffs and debuffs stacks up to 99 (was 9 before)
  • New TransformTree mixins (TransformTreeBaseNodeMixin, TransformTreeTextureNodeMixin, TransformTreeFrameNodePoolMixin) used to animate/transform UI stuff using 2D vectors. It seems quite advanced and beyond my grasp 😅 Stuff are linked, and pushed, and moved 🤔 It is used to animate the glowing rings around an Azerite empowered item (it's multiple textures animated together, glowing brighter the more it is empowered (ranks))

8.0.1 (26175) - 2018-03-07

  • BattlefieldDocumentation renamed back to PvpInfoDocumentation
  • New UIWidgetManager, with a bunch of mixins to manage a pool of instances of the same UI Widget and manage their layout in relation with each other (stacked frames or grids) and decorate the frame (via a :Setup(info) method called on the frames created). You give the info for the widget using a function you define when registering a manager. When a new element is added to the stack, the layout is refreshed and the element sorted. Some of the stuff using this new layout system are UIWidgetBelowMinimapFrame, UIWidgetTemplateCaptureBar, UIWidgetTemplateIconAndText. A good example of the usage is Blizzard_UIWidgetTemplateIconAndText
  • A lot of IconOverlay textures were added everywhere in the UI, hidden by default. As pointed out by @Gethe the iconOverlay is to display an overlay on Azerite empowered items.
  • Modifications to the PvP talents inspection frame.
  • Blizzard_PTRFeedback addon is back
  • The Model widget seems to accept a second display info ID when using the :SetDisplayInfo(displayInfoID) method, used as a mount for the model (used in the quest frame 3D model drawer)
  • The Model widget's scale attribute is now modelScale, probably to avoid confusion with the Frame's scale attribute.

8.0.1 (26131) - 2018-02-27

There is nothing interesting in this BfA alpha build ¯\_(ツ)_/¯ Mostly bug fixes and improvements to existing stuff.

8.0.1 (26095) - 2018-02-22

  • C_BattlefieldInfo namespace renamed to C_PvP, documentation has new methods about the war game mode.
  • PvP talent frame changes (it seems pvp talent are available at level 20 instead of 100)
  • More of the UI and code for the war game mode
  • Removed /pvp command to toggle PvP flag
  • New CurrencyContainerUtil global table. Only has one function GetCurrencyContainerInfo(currencyID, numItems, name, texture, quality), which returns name, texture, numItems, quality. Used in the LFG and quest UIs to get info about a currency reward.
  • New UIExpandingButtonTemplate and UIExpandingButtonMixin with methods to create a button that expands a frame (like a drawer). A direction can be specified, left or right. Used in the player talents frame to open the PvP frame

8.0.1 (26032) - 2017-02-14

  • New ChatInfo documentation about addon messages, with functions like RegisterAddonMessagePrefix, SendAddonMessage. The documentation also mentions a new SendAddonMessageLogged(prefix, message, chatType, [target]) documented as Intended for plain text payloads; logged and throttled.
  • New FrameUtil global table with two methods: FrameUtil.RegisterFrameForEvents(frame, events) and FrameUtil.UnregisterFrameForEvents(frame, events) to quickly register a table of Events for a Frame.

8.0.1 (25976) - 2018-02-07

  • Dressing room for battle pets and mounts (ctrl-click on links to preview)
  • Main menu bar (micro menu) is now a mixin (table with methods) instead of many individual functions (means it can be reused 🤔)
  • Changes in the new multi-action bar layout (minimum scaling, layout changes)
  • The quests ignore/unignore button has been removed from the code (was hidden in UI since 7.2)
  • Duplicated code in the realm list UI has been removed.

8.0.1 (25902) - 2018-01-28 (First alpha build)

  • New documentations for A LOT (probably all) of events, with their arguments.
  • New Object API documentation, for object-oriented programming, currently for Items and ItemLocations. You can create items object (Item:CreateFromBagAndSlot(bagID, slotIndex) or Item:CreateFromEquipmentSlot(equipmentSlotIndex)) and then use their methods to get data from them (ItemMixin:GetItemName(), ItemMixin:GetItemQuality(), ItemMixin:GetItemIcon()).
  • Some event names changed (like UNIT_PORTRAIT_UPDATE is now PORTRAITS_UPDATED or UNIT_POWER is now UNIT_POWER_UPDATE)
  • New Azerite item empowering UI code
  • New Warfront UI code
  • Voice chat related code that was still here has been removed or commented out
  • New StatusTrackingBarTemplate (progress bar above action bar), and new ExpBar, ReputationBar, ArtifactBar, HonorBar, StatusTrackingBar UI codes to use it. Old code has been removed (everything was stuffed inside MainMenuBar)
  • New keyboard shortcut to toggle debug aid (ToggleDebugAIDisplay(), not sure what it does yet)
  • The GM survey UI has been removed
  • Micro menu buttons and bags have been moved (visible on Blizzcon previews)
  • New honor (PvP) talents UI is being hinted at in the code comments
  • Changes to how additional action bars are handled (since everything moved)
  • Changes to how quests POI on the maps are displayed (colored for daily etc.)
  • More alert dialogs have the locked cancel button for a few seconds behavior to avoid human error (LFG queues, BG queues)
  • New UIDropDownMenuTemplates (maybe a way to use native dropdown without taint?)
  • Slash commands that require a target (/invite) now outputs an error message if no target is specified
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.