No Code Attached Yet
avatar rogercreagh
rogercreagh
24 Feb 2026

As well as an update server location a changelog xml file for an extension can be specified in an extension manifest.

This is a really useful facility as it shows the changelog for the current version in the extension management screen and also the changelog for a new update in the extension updates screen so you can check it before installing

This works fine but there is an annoying quirk. The update server file location can be specified on a separate line thus:

<updateservers>
    <server>
        https://my.very.long/url/which/i/put/on/a/separate/line/for/readability.xml
    </server>
</updateservers>

which works fine as the spurious spaces before and after the url are stripped off when it is added to the database.
However when com_installer reads the changelog location from the manifest it doesn't save it in the database and it doesn't trim in so this:

<changelogurl>
        https://my.very.long/url/which/i/put/on/a/separate/line/for/readability.xml
</changelogurl>

doesn't work as the spurious spaces around the url cause $changelog->loadFromXml($changelogurl); to return an empty array as it can't find the file. It displays just a header line with no indication what is wrong.
So you have to put the <changelogurl>https://all.on/one/line.xml</changelogurl> which is okay if you know/remember but inconsistent with the updateserver presentation and a hit on the readability of the manifest xml file

The quickest fix is to add $changelogurl = trim($changelogurl); at about line 436 in administrator/components/com_installer/src/Model/ManageModel.php in the loadchangelog() function.

But Changelog::loadFromXml() might be called from elsewhere (eg if you want to display the full changelog in your extension somewhere - perhaps in the update script or an info page - and use the Changelog object to parse it so a better fix would be to make the loadFromXml() function clean the url it is passed.

As I said the changelog facility is really useful - you can keep your changelog on GitHub outside the main source for easy management - but the urls do get a bit long and it would be nice to make the manifest human readable as well.

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
3.00

avatar rogercreagh rogercreagh - open - 24 Feb 2026
avatar rogercreagh rogercreagh - change - 24 Feb 2026
Labels Removed: ?
avatar joomla-cms-bot joomla-cms-bot - change - 24 Feb 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 24 Feb 2026
avatar omkarchoudhary29
omkarchoudhary29 - comment - 7 Mar 2026

@chmst Hi, I would like to work on this issue. I’ll investigate the problem with the whitespace handling and submit a fix if appropriate.

avatar rogercreagh
rogercreagh - comment - 7 Mar 2026

Great if you could - I simply don't have time to delve into the innards of joomla, but it feels like it should be quite easy to just trim the url in loadFromXml() once you find where that is. Its one of those little annoyances/inconsistencies that tend not to get fixed because once you discover it you find how to work around it and then forget it, but it wastes time for everyone who stumbles across it.
Thanks.

Add a Comment

Login with GitHub to post a comment