# AllTheThings

## [5.0.12-51-g233a46e](https://github.com/ATTWoWAddon/AllTheThings/tree/233a46e83e2596e88efdc2310e609d8c15ad4428) (2026-02-25)
[Full Changelog](https://github.com/ATTWoWAddon/AllTheThings/compare/5.0.12...233a46e83e2596e88efdc2310e609d8c15ad4428) [Previous Releases](https://github.com/ATTWoWAddon/AllTheThings/releases)

- Rebuilt DBs to include updated localization for Dire Maul.  
- Don't need DIRE\_MAUL on those quests that were moved to Dire Maul.  
- Add March 2026 Trading Post  
- Adjusted the cardinal directions to utilize a localization string.  
- Dire Maul changes (#2321)  
    Dire Maul changes:  
    [Classic] Moved moonglade quests to the dungeon to show correctly in the mainlist  
    [Classic] Added Eldreth Row submap to fix outdoor minilist  
    Use cardinal headers to localization  
- [Contrib] Reports now always include decimal coords  
- Fix many reported errors  
- [DB] Primalist Tokens are not removed, there's just a new version that seems to drop based on the currently-active Endeavor  
- No longer showing "maps" on external tooltips. (Objects, items, npc tooltips)  
- Townlong Dailies  
- Sort Mid Mounts  
- [Logic] Removed unused SetAccountCollected  
- Update Blade's Edge Mountains.lua  
    - Fix Blunder  
- Outland: Add a few Quest Objectives and QIs  
- [Logic] Achievement earned event now uses SetThingCollected instead of directly modifying the cache only  
    * Note: Newly-collected Achievements will now show the proper ATT message in chat  
    [Logic] SetThingCollected now properly stores accurate AccountWide cache values  
- [Logic] Certain BattlePets should not cache as Account-Wide  
- [UI] Fixed Lua error when searching a Thing  
- Fix a few reported errors  
- Added all DF NYI quests.  
- Classic Era: Added another areaID to The Temple of Atal'hakkar to make the instance mini list appear in all areas of the outside dungeon portion of the zone.  
- Added back missing HQT 31371.  
- Harandar Rares/Treasures  
- Add new Outland Cup vendor items  
- Classic Era: Adjusted location for Bellowrage the Elder.  
- Fixed 2 NYI factions and added the last pet into PetDB.  
- Adjusted QuestWithReputationCostCollectibles to key the quest rather than questID.  
- Added all TWW NYI quests.  
- Adjusted the Lunar Festival, Children's Week, Hallow's End, and Harvest Festival quests to show reputation gains with Horde/Alliance.  
    Horde/Alliance hidden factions are now collectible. (They always have been, but we just didn't show them.)  
- [DB] Fixed Link scripts for Beta/PTR  
- [Logic] Window Redraw is now much faster and is used by Refresh (instead of being two separate logic routines)  
- Fixed a problem with the new tab for the AH module and profession list  
- [Issue] Add Data Discrepancy report.  
- Classic: Fixed a missing L.  
- Added a localization for ALL\_RECIPES. (All Recipes)  
- Swaped icons to match calendar  
- Outland: Silence a couple of contrib reports  
- [Logic] Fixed shared-faction Achievements being wiped from AccountData cache depending on what faction character was last loaded (Blizz returns different data based on your current character for Account-based completion. Cool!)  
    * [Note: This might also require a one-time cleanup operation for some users who have not updated recently]  
- Classic: Removed the Gnomish/Goblin definitions from the Engineering Professions file. (We now use the Dynamic Categories for this.)  
    Moved pre-Cata engineering quests to where they are in the world.  
- Classic: Added back the "All Recipes" sections to Professions now that dynamic categories aren't horribly slow.  
- [DB] Terokkar Forest: Dealer Tariq  
- Added the base awp value for Flawless Arcanite Rifle.  
- Classic Era: Non-collectible achievement data no longer contributes to the statistic.  
- Classic Era: Fixed the collected icon when viewing debug/account mode.  
- Classic Era: Updated achievements to show their stastics in the row itself like retail ATT achievements do.  
- Classic: Fixed the Professions window.  
    Moved the RegisterRefreshCallback to its own function that will allow all windows to use this feature without needing to be a dynamic category.  
- valentines: fix coord for verilas (#2308)  
- Brawler's Guild achievement 'Haters Gonna Hate (Season 2)' is currently obtainable again.  
- Rebuilt all DBs.  
- Phase two (#2316)  
    * Adding an explicit false value to the fieldConverters table to prevent it from trying to call to its own metatable each lookup. Extremely minor improvement.  
    * Renamed the "CacheFields" local variable to "cache" to not assume it is referencing the CacheFields function in the List window.  
    * Renamed "GetDataCache" to "GetDatabaseRoot" as that's more appropriate for what that function actually does and will do in a few commits.  
    * Removed the unused "QuestTriggers" variable.  
    * Updated the AutoTables to be faster when not in perf mode and added 2 additional levels of layering tables. (TableOfTables and TableOfTablesOfTables)  
    If you try to cache a nil value, shame on you. No longer checking for nil either.  
    TomTomWaypointCache now uses a table of tables of tables!  
    * Caches now use the Auto Table of Tables metatable.  
    * Map Remapping now uses Auto Table of Tables.  
    * Adjusted the dynamic expansions entries in the Professions window to build themselves rather than pre-build from the cache.  
    * Moved GenerateSourcePath to where it is used .  
    * Moved GenerateSourcePathForTSM to where it is used.  
    * Updated the Cache file optimize the local lookup speed and moved unused search fields to the chopping block.  
    * Commented out the print statements from Cache. (used for benchmarking the speed)  
    * Added group text to the CacheFields print statement.  
    * Added a function to add a new generic field converter.  
    Moved generic field converters to various class files.  
    Fixed the follower class.  
    * Added GetField and GetFieldContainer.  
    * The Costs Module now uses GetField in order to ensure the cost table exists without trying to search for it.  
    * Replaced uses of SearchForFieldContainer with GetFieldContainer or GetRawFieldContainer where appropriate.  
    * Changed the World Quests window to use GetFieldContainer for its map data.  
    * Garrison Buildings Dynamic Header appears to be functional now.  
    * SearchForFieldContainer now builds the cache container when called whenever no cached data is found. (This is used by the Professions Dynamic Header)  
    No longer caching professionID on startup.  
    * decorID, illusionID, and titleID all need to be cached to provide source paths.  
    * Added a note to that previous commit.  
    * Added Noblegarden Egg to the vendor.  
    * Fixed itemID for Icy Prism.  
    * Fixed the Atiesh, Greatstaff of the Guardian quest item assignment as a provider instead of a cost.  
    * Added Luminous Bluetail.  
    * Added Slag Covered Metal to Zone Drops.  
    * GetAutomaticHeaderData no longer tries to use SearchForObject is there is no cache container for the data type.  
    * Added Ancient Elven Etching to the Zone Drops.  
    * Item providers are now counted as qItems in the Cache so that they can fallback when searched for. Cost Items are not.  
    * Adjusted the Agent of Nozdormu.  
    * Added Stone Keeper's Shard.  
    * Added Lesser Charm of Good Fortune to MOP World Drops.  
    * Added Valor and Justice Points.  
    * CacheFields doesn't get called enough to warrant local caching it.  
    * Removed leftover logic that was referencing a singular "coord" field on objects. This was changed a while ago to always export as "coords".  
    * Removed leftover logic that was referencing a singular "provider" field on objects.  
    * The field "coords" is now exported in { [mapID] = { { x, y } } } format.  
    * Added a helper function to the Debugger to convert from the old format to the new format for coords just so we don't kill anyone's debugger data.  
    This also allows us to import the old style of coords.  
    * Changed all references to "pairs" in the Cache file to use "next" instead as it is faster.  
    * Parser now accepts the exported coords format in database files.  
    * Adjusted the export format of ExplorationAreaPositionDB to account for the new coordinate system.  
    * Moved OnSavedVariablesAvailable up beyond the Settings initialize call.  
    * OnAfterSavedVariablesAvailable shifted back. Apparently some classes were using this to check Settings.  
    * Moved Crieve's Never Implemented List to the NYI folder. (preparation to delete the classic db whitelist.)  
    * Fixed some where preprocessor conditionals.  
    * Fixed some preprocessors breaking classic parse.  
    * Adjusted Blood of Heroics to use the Treasures header.  
    * Marked Allied Races as 7.3.5, temporarily.  
    * Removed the classic db whitelist for files. All files going forward must be timelined to the best of everyone's abilities!  
    * We don't seem to need \_\_auto-sources anymore, plus its breaking classic parsing.  
    * Updated Master Angler to ignore questDB's g.  
    * Removed the Legendaries section from the Character file for Classic flavors. (Will probably remove it completely eventually and make it a dynamic category instead.)  
    * Removed the creation of \_\_auto-sources and added a set of directories you can assign for JSON files in the config now.  
    * Fixed timeline assignment for Lovely Fireworks.  
    * Fixed timeline assignments for Housing.  
    * Fixed the JSON parser. Apparently you can't run it in parallel.  
    Disabled the Achievements section for Classic. (We have a dynamic category that works.)  
    Fixed timeline assignments for all of the Secrets.  
    Assigned the default timelines for Heirlooms in the Character section.  
    * The load order of directories for Wago is actually very important. Fixed "Safe Deposit" achievement detection in Classic Era.  
    * Updated timeline data for the PVP Category content.  
    * Added some raid stuff, rare stuff and icon/lores and other misc things  
    * Eversong Woods and ZulAman Rares/Treasures  
    * Moved Pet Battles into Character.  
    * Updated filter and timeline on Conspicuous Consumption.  
    * Moved all logic for generating Root Categories to Parser. (WARNING: You will need to rebuild the DBs to test moving forward on this branch.)  
    Moved all Pet Battle related root category data to Character.  
    * Moved much of the GetDatabaseRoot function to OnBuildDataCache handlers.  
    * Fixed a condition where a CriteriaType can have a number instead of a string for its name.  
    * Fixed the SettingsPrecision value being nil when viewing the MinimapButton's tooltip initially.  
    * Revert "Eversong Woods and ZulAman Rares/Treasures"  
    * Reapply "Eversong Woods and ZulAman Rares/Treasures"  
    * Revert "Eversong Woods and ZulAman Rares/Treasures"  
    * Revert "Added some raid stuff, rare stuff and icon/lores and other misc things"  
    * We don't need to prebuild Achievement Categories.  
    * Dynamic Categories now more accurately refresh their window data.  
    * The Achievements window (/attachievements) is now much more efficient and has a button to Check for Missing Achievements when viewed in ATTC.Debugging = true mode.  
    * Removed the unused ExportCompressedLuaCategories function.  
    * Yeeted unused ACHIEVEMENT\_CATEGORY\_* constants.  
    * Merged Wrath, Mists, Mainline, and Cata TOCs into the AllTheThings.toc file. Vanilla sadly still needs its own until we can reconcile Classic SOD.  
    * Adjusted the Link ATT to WoW batch files.  
    * Dynamic Categories now remember their children and no longer suffer from dementia.  
    * [Parser] No longer attempts to clone Achievements into their AchievementCategories  
    * This functionality is now provided in a dynamic window only, via /attach[ievements] to be opened as needed rather than baked into the Main list  
    * [Parser] Renamed "Categories.xml" to "Database.xml". The Database xml file now loads the LocalizationDB and can be told to include additional files. (such as for VanillaSOD)  
    * ...  
    * Added the missing "extra-database-files" property.  
    * [Parser] Array-based Config values will now default themselves to an empty array within the config retrieval rather than potentially returning null  
    * Note: Due to some oddities in how implicit operators compile, we can still get null values after a null coalesce statement on an implicit operator assignment. Defaulting empty arrays instead of null should make that safer to use the Config  
    * Simplified some Config-array logic  
    * Removed defaulted array value from retail.config  
    * Added "SortPriority" to the ignored virtual field table.  
    * Moved Timbermaw Ally (old version) to NYI.  
    * [Logic] Fixed the scope of the allowMapCaching local  
    ---------  
    Co-authored-by: gbrage <gbrage@kth.se>  
    Co-authored-by: Chun-Chi Hung <b10102229@gmail.com>  
    Co-authored-by: ImUnicke <ImUnicke+github@gmail.com>  
- [Logic] Don't show the orange (BoE unobtainable) indicator on NYI Items  
- Profession list and Auction House module are now tabs! (#2313)  
    * Tabs for the Profession Window and AH Module  
    * Disable closebutton for profwindow and ahmodule (so they can only be toggled via tab)  
    * Colour!  
    * In Retail, have the the tabs start closed to prevent issues  
    * Referenced keybind does not exist  
    * numTabs not needed  
    * Update from master (#2312)  