- Work around WoWI TLS sniffing causing download errors.
- Drop $TMPDIR in preference of the XDG cache dir.
- Add new
cache clear
command.
- 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
WeakAurasCompanion
add-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
configure
command 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
--remote
option toview-changelog
command to retrieve remote add-on changelogs. - Improved
search
command 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 --installed
out into a separaterereconcile
command which allows filtering add-ons to be re-reconciled. - Fixed changing an existing profile's flavour.
- Relaxed
aiohttp
version constraint. - Fixed self-update check HTTP cache directory path.
- Extended support for the
any_flavour
strategy to GitHub add-ons. - Changed
any_flavour
logic 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 config
anddebug sources
sub-commands. - Added ability to filter add-ons by source in
view-changelog
output.
- Added support for the Classic Cataclysm beta.
- Relocated plug-in commands under
plugins
. - Removed
--retain-strategies
flag fromupdate
command. Strategies are now always respected when present; to force an update with the default strategy set, append#=
to the add-on definition. - Global
-d/--debug
flag renamed to-v/--verbose
. configure --show-active
sub-flag reimagined as thedebug
command.- 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-cache
flag 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:elvui
for ElvUI andtukui:tukui
for 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-strategies
will be respected if they result in a change. This opens up several possibilities, e.g. a baresource:alias
will unpin an add-on that was previously rolled back. - Removed
--version
option fromrollback
. Useupdate --retain-strategies
to roll back to a known version. - Added
--dry-run
option toinstall
andupdate
. Issueinstawow update --dry-run
to check for add-on updates. - Added
list-sources
command to display the active source metadata. - Added
--prefer-source
option 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
search
results. This includes identical add-ons from sources other than the one installed. Pass--no-exclude-installed
to 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.InstawowPlugin
protocol. instawow plug-ins should conform to this protocol.