- Exclude WeakAuras add-on from WeakAuras Companion clone under retail.
- Fix registering plug-ins on Linux distros which symlink
lib64tolib.
- Merge debug subcommands into a single command.
- Redesigned game version detection.
- Added full support for Titan Refoged and Anniversary editions.
- Updated the allowable WoW TOC version range to include Midnight.
- Added support for Titan Reforged.
- Refactored the
Resolverinterface, adding support for replacing the default downloader and providing a custom disabled reason.
- Fix resolving multiple dependencies.
- Added fast path for resolving CurseForge add-ons
with the
version_eqstrategy. - Fixed fetching CurseForge add-ons from a numeric alias.
- Fixed Flatpak builds on KDE.
- Fix
Trackenum conversion.
- Split
flavourbetweentrackandflavour. - Changed the
classictrack flavour to Mists Classic.
- Added support for the Classic Mists of Pandaria beta.
- Dropped support for Classic Wrath of the Lich King.
- Added
debug profilescommand. - Added
profile erasecommand. - Fixed game installation detection edge case where a configured profile's add-on directory residing inside a valid installation path was missing.
- Improved output of
view-changelog.- The command will warn when attempting to convert changelogs without pandoc being installed.
- Resolution errors are printed to the terminal.
- Made compatible with click v8.2.
- Fixed an edge case with GitHub auth.
- Added game version extraction fallback.
- The
WeakAurasCompanionbuilder will no longer error if it is unable to read the game version from.build.info.
- The
- Added support for the
trashcommand on macOS.- Removed add-on folder will now be trashed.
- Improved reading configuration values from environment variables.
- Configuration objects will now respect nested environment overrides,
e.g.
INSTAWOW_ACCESS_TOKENS_GITHUBwill map toglobal_config.access_tokens.github.
- Configuration objects will now respect nested environment overrides,
e.g.
- Fixed caching redirects and failed range requests.
- Dropped support for Python 3.11 and added preliminary support for Python 3.14.
- Removed plug-in accessors from the
GlobalConfig. This is a breaking change. - Added
instawow.config.make_plugin_dirsutility function, returning a named plug-in's configuration, cache and state directories. - Made the
instawow.cli.promptsmodule public for use by plug-ins.
- Fixed column alignment for tables containing CJK characters.
- Hard links and symbolic links are now expanded in configuration paths.
- Access tokens can now be sourced by third-party resolvers using the
instawow.resolvers.AccessTokendecorator. _resolve_onehas once again been renamed toresolve_oneon theinstawow.resolvers.Resolverinterface.- The active configuration is no longer stored on
Resolverinstances; it must be retrieved frominstawow.config_ctx.configon demand. - The active configuration is no longer stored in the
clickcontext object; it must be retrieved frominstawow.config_ctx.configon demand. - The
instawow.progress_reportingmodule has been made public and can be used by plug-ins.
- Linux ARM builds are now available.
- Work around WoWI TLS sniffing causing download errors.
- Drop $TMPDIR in preference of the XDG cache dir.
- Add new
cache clearcommand.
- Add env var to override the CurseForge API URL.
- Read access tokens from separate configuration file if present.
- Add workaround for version pinning for CurseForge in the pathological case (where version contains an underscore).
- Suppressed intermittent range error from GitHub.
- Extract game version from WoW installation for WA updater.
The
WeakAurasCompanionadd-on's game version will always be up to date.
- Allow uninstalling add-ons from unknown sources. This can happen if e.g. the source's resolver was unregistered.
- Add
configurecommand to WA updater for storing the Wago access token. Access token migrated from top-level configuration.
- Distinguish between Curse add-on versions with the same display name. This will trigger dummy updates for up-to-date add-ons, but the release of the prepatch is as good a time as any to have that happen.
- Added pre-release fallback when a GitHub, CurseForge or Wago add-on has no stable releases.
- Improved error message when an access token is mandatory and not set.
- Stopped bundling the GUI as part of the instawow distribution.
- Fixed running the JSON-RPC server on Windows.
- Tweaked database settings.
- Fixed generic progress counter.
- Granted full disk access to the Linux flatpak.
- Fixed reconciliation skipping to the end.
- Improved Lua parser performance by inlining loops.
- Replaced Linux app images with flatpaks. Currently, only x64 binaries are precompiled.
- Added build configuration for system-native Linux packages.
- Fixed hang on close on Linux.
- Added
--remoteoption toview-changelogcommand to retrieve remote add-on changelogs. - Improved
searchcommand responsiveness. - Improved install and update progress display.
- Fixed issue with installed add-ons being removed prior to re-reconciled add-ons being downloaded.
- Fixed start-up command crashing spectacularly.
- Rolled all versions of Classic over to Cataclysm.
- Added overall install and update progress.
- Split
reconcile --installedout into a separaterereconcilecommand which allows filtering add-ons to be re-reconciled. - Fixed changing an existing profile's flavour.
- Relaxed
aiohttpversion constraint. - Fixed self-update check HTTP cache directory path.
- Extended support for the
any_flavourstrategy to GitHub add-ons. - Changed
any_flavourlogic to prioritise add-ons of the same or similar flavours. - Changed default flavour of the Classic PTR to Cataclysm.
- Added support for comma-separated interface versions in add-on TOC files.
- Added support for Python 3.13.
- Made various performance improvements.
- Added
debug configanddebug sourcessub-commands. - Added ability to filter add-ons by source in
view-changelogoutput.
- Added support for the Classic Cataclysm beta.
- Relocated plug-in commands under
plugins. - Removed
--retain-strategiesflag fromupdatecommand. Strategies are now always respected when present; to force an update with the default strategy set, append#=to the add-on definition. - Global
-d/--debugflag renamed to-v/--verbose. configure --show-activesub-flag reimagined as thedebugcommand.- Allow filtering installed add-ons by source using
list source:, replacing "source" with the source identifier.
- Added support for alternative archive openers in plug-ins.
- Reworked HTTP cache.
- Extended
--no-cacheflag to add-on downloads.
- Added support for Python 3.12.
- The CLI is now bundled as a single-file self-extracting executable using PyApp instead of PyInstaller.
- Fixed creating non-standard configuration directories.
- Stopped bundling Mozilla's root certificate store.
- Reconciliation was made to cross-reference add-ons from the GitHub catalogue.
- XDG env vars are now respected on all platforms; if $XDG_CONFIG_HOME is set, it will be preferred over the platform-native configuration directory. This is a behaviour change on macOS and Windows.
- Logs and plug-in data are stored under $XDG_STATE_HOME on Linuxes by default.
- Restored asyncio event loop policy override on Windows for Python 3.9.
- Fixed add-on alias and URL search.
- Dropped support for Tukui add-ons other than the two headline UI suites, having switched from the original API at https://www.tukui.org/api.php to https://api.tukui.org/v1. The new API is hosted by the author of CurseBreaker. The original API is unmaintained and the add-on index has fallen into disuse.
- Numeric aliases are no longer valid for Tukui add-ons; use
tukui:elvuifor ElvUI andtukui:tukuifor Tukui.
- Added WoW installation finder (Mac only). Located installations will be offered as suggestions bypassing manual add-on directory and flavour entry when configuring instawow.
- Added add-on definition mini-DSL replacing the various strategy install options.
Strategies can now be passed as URL fragments of the add-on
Defn, e.g.foo:bar#any_flavour,version_eq=1. - Strategies passed to
update --retain-strategieswill be respected if they result in a change. This opens up several possibilities, e.g. a baresource:aliaswill unpin an add-on that was previously rolled back. - Removed
--versionoption fromrollback. Useupdate --retain-strategiesto roll back to a known version. - Added
--dry-runoption toinstallandupdate. Issueinstawow update --dry-runto check for add-on updates. - Added
list-sourcescommand to display the active source metadata. - Added
--prefer-sourceoption tosearch. If an add-on is found from a preferred source, identical add-ons from other sources are omitted from the results. - Installed add-ons are now excluded from
searchresults. This includes identical add-ons from sources other than the one installed. Pass--no-exclude-installedto opt out. - Changed the Markdown flavour used to convert changelogs with pandoc from Markdown.pl to CommonMark to fix an issue with list formatting.
- Public enum members are now capitalised.
- Exposed
plugins.InstawowPluginprotocol. instawow plug-ins should conform to this protocol.