Integration & tools · Knowledge
How do extension updates work in Joomla?
Every well-built extension ships the address of an update server: a small XML file on the developer's site that tells your Joomla which version is current and where the ZIP lives.
Joomla polls these XML files and lists findings under System → Update → Extensions – one click installs, settings survive.
The mechanism, the JStats history – and the troubleshooting order
The mechanism is refreshingly simple: the extension's manifest names an update-server URL; that XML lists available versions with their target Joomla versions, download URLs and checksums. Joomla fetches it periodically (or on demand via “Find updates”), compares versions and offers the newer one. Because the whole chain hangs on that one URL, it must stay stable for the lifetime of every installed copy – which is why the JStats update XML lives at a fixed address that we treat as untouchable, and why changelog entries 1.0.3 and 1.0.7 exist: both fixed updater issues, and since then the chain has been solid. If an update refuses to appear on your site, the troubleshooting order is: clear the update cache (Clear Cache button in the update view), check that the site can reach external URLs (some hardened servers block outgoing requests), verify the extension is the current install from this site, and as a last resort install the current ZIP manually over the old version – Joomla treats that as an update, settings included.
Key facts
- Mechanism: manifest → update-server XML → version comparison → one-click update in the backend.
- Iron rule for developers: the update-XML URL must never move – installed copies depend on it.
- JStats history: updater fixes in 1.0.3 and 1.0.7 – stable since; see the changelog.
- No update showing? Clear update cache → check outgoing connections → reinstall current ZIP over it.
- Manual ZIP-over-ZIP counts as an update: settings are preserved.