- New Pet Auto-Teach: on tame, offer to teach Growl at the best rank via the
Beast Training window (Craft API DoCraft), with a General options checkbox
and /mth growl on|off|status toggle (on by default).
- De-stagger zButton flyout bars and zBar so buttons fade in together.
- Update CHANGELOG.
Collapse all legacy/scattered SavedVariables from absorbed standalone
addons (FeedOMatic, ZHunter/zButtons, SmartAmmo, AutoQuest, AntiDaze,
AutoStrip, MinimapButton) into two persisted globals with clean per-module
nesting under .modules.<id>.
Migration engine (api/savedvariables.lua):
- MTH_SV_EnsureSchema() with schemaVersion gate, idempotent + non-destructive
- Per-module migrators map old locations -> canonical nested stores
- Driven by an ADDON_LOADED("MetaHunt") handler so it runs only AFTER WoW
loads the real SavedVariables (fixes announce-every-session bug that ran
the migration on empty pre-load defaults)
- One-time player-facing chat announce, gated on real legacy data present
Framework/config:
- core-framework InitSavedVariables no longer runs migration at file-load;
unconditionally strips account-root module aliases
- config.lua stops re-creating root[module] aliases (was duplicating data
onto disk); canonical store stays under .modules.<id>
Modules:
- feedomatic: bind FOM_* globals as runtime aliases into nested store,
drop persisted duplicates and .legacy blob
- zhunter: ZHunterMod_Saved re-pointed at .modules.zhunter
- smartammo/autoquest/antidaze/autostrip/minimapbutton read nested store
TOC trimmed to MTH_SavedVariables + MTH_CharSavedVariables only.
Profiles unchanged (already snapshot/apply the nested .modules structure).
Also includes pet-scan refinements: canonical pet key derivation and
level-independent pet signature (schema v3).
SmartPet (module never wired into modules.xml) removed entirely — server-side
pet AI on TWoW/OctoWoW makes it useless. Deleted modules/smartpet/ and
api/options-smartpet.lua.
Orphaned .tools DBC extracts (2026-03-20) never loaded via TOC, superseded by
the curated/pfQuest datastores that ship:
- data/ds-zones-dbc.lua, data/ds-zones-new-dbc.lua (bounds come from ds-zones-wma)
- data/ds-stable-prices.lua (never wired to any UI)
- data/ds-pet-spells-acquire.lua (learnMethod set at runtime by init.lua + trainer)
Also removed api/beastlore-scan.lua (8-line deprecation stub) and its
init/api.xml include. No shipped references or player-facing behaviour affected.
- Hunter's Book and options window now show a full 'DISABLED.' overlay on realm-gated realms instead of rendering content
- Pet training: new rank of an already-known ability is now recognised, announced, and reflected in tooltips
- Restore curated 'unique appearance' beast allowlist (34 beasts) in data/init.lua
- CHANGELOG updated