Pulled live from the source repository · Addon Expert on codebit.nl
Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
uninstall (REMOVED) event before handing off to EE's native uninstall. (Removals done via EE's own Add-Ons screen still aren't captured — EE provides no hook for it.)Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
- its template tags {exp:<short>:…} in templates (layout templates included) and snippets,
- channel fields whose fieldtype is the add-on,
- extension hooks it registers (informational — removed with the add-on).
If nothing is found it reports "No usage detected — safe to remove"; otherwise it lists the references with a "Remove anyway" confirmation. Heuristic — it can't see tags built dynamically or PHP that calls the add-on, so it's a guard rail, not a guarantee.
Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
updates.nivoli.com changelog, GitHub sources to their releases page — so you can see what changed before updating.Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
requires.ee and whether the package is namespaced (the EE6/7-era structure), plus a small high-signal legacy scan (accessory files, removed in EE3; and the EE2 $plugin_info array). Hover the badge for the underlying signals. It's a heuristic — same "verify before relying on it" caveat as the force-install feature scan.Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
→ vX badge when a newer release is tracked, or "update pending"), the author, and the same inline actions: install / update-from-release / EE update / settings / remove / download ZIP. Requirement-override and incompatibility flags are shown inline on the row.Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
class_exists() on a conventional extension class name (e.g. Content_toc_ext) even for add-ons that ship no ext.<short>.php — which trips EE's autoloader into a bare require() of the missing file and fatals. The extension block is now guarded by an is_file() check on the actual ext file before the class is touched. The add-on's files and module version finalize correctly as before; only the spurious extension step is skipped.Surfaced when installing a module-only add-on (e.g. Content TOC) through the registry: the file swap and module_version bump both succeeded, only the post-step finalize reported a (harmless, self-retrying) error.
Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
A dedicated screen to choose, per installed add-on, where its updates come from — a GitHub repo or a license-gated registry — for add-ons that don't declare a source in their own addon.setup.php.
owner/repo) or Registry (url + product), or leave it untracked. Add-ons that declare a source in their manifest show it read-only (the manifest always wins). The admin map now stores registry sources alongside GitHub repos (which keep their plain-string, backward-compatible format).Registry license keys remain on the Settings screen (one key per vendor host).
Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.
Private and paid add-ons can now update through Addon Expert without a public GitHub repo. An add-on declares a registry source in its addon.setup.php:
```php
'registry' => [
'url' => 'https://your-vendor/releases/latest',
'product' => 'your_slug',
],
```
Addon Expert then tracks and installs it exactly like a GitHub release — through a vendor endpoint that validates a license key and returns a signed, checksum-verified download.
$config['addon_expert_registry_key'], the per-host addon_expert_registry_keys array, or the ADDON_EXPERT_REGISTRY_KEY environment variable. Stored in system/user/config/addon_expert_registry_keys.json.sha256 is verified against the manifest before the atomic swap (the registry equivalent of GitHub trust-on-first-use). A mismatch hard-blocks the install and is written to the Audit Log.license-gated badge and the same one-click install; a missing key links to Settings. The "Source" column and copy were generalised from GitHub-only.Nothing about the existing GitHub tracking changed — registry and GitHub sources are handled independently.
Install: extract addon_expert/ into system/user/addons/, then Developer → Add-Ons → Addon Expert → Update.