Updates Requested bug PR-6.2-dev Pending

User tests: Successful: Unsuccessful:

avatar n3t
n3t
4 Sep 2026

Function getOldManifest searched invalid path. It relied on extension_administrator path, which is available only for components. Changed to extension_root, which is available for all extensions, and in components installer fallback to extension_administrator.

Moreover path manifest contains complete path to manifest not only filename, therefore the result path was always invalid.

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

  • changed the InstallerScriptTrait::getOldManifest function to search in correct path
  • added parameters to error message (current and new version)

Testing Instructions

Use any extension using InstallerScriptTrait with disallowed downgrades (that is by default) and try to install an old version over existing newer version.

Actual result BEFORE applying this Pull Request

The extension is installed anyway,

Expected result AFTER applying this Pull Request

The extension is not installed, error message is displayed,

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:

  • No documentation changes for guide.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar n3t n3t - open - 4 Sep 2026
avatar n3t n3t - change - 4 Sep 2026
Status New ⇒ Pending
avatar joomla-cms-bot joomla-cms-bot - change - 4 Sep 2026
Category ⇒ Libraries
avatar richard67
richard67 - comment - 4 Sep 2026

@n3t Is it a bug which happens also in 5.4? Or does it only happen in 6.x? If only in 6.x, the 6.1-dev branch is ok, but if the issue also happens in 5.4, the PR should be made for the 5.4-dev branch. See also https://github.com/joomla/joomla-cms#which-branch-should-my-pull-request-target .

avatar n3t
n3t - comment - 4 Sep 2026

@richard67 This is just Joomla 6.x related, as the InstallerScriptTrait was introduced in Joomla 6.0, should be replacement for InstallerScript class.

avatar tecpromotion tecpromotion - test_item - 9 Sep 2026 - Tested successfully
avatar tecpromotion
tecpromotion - comment - 9 Sep 2026

I have tested this item ✅ successfully on 191b7a3


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar tecpromotion
tecpromotion - comment - 9 Sep 2026

I have tested this item ✅ successfully on 191b7a3


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar joomdonation joomdonation - test_item - 12 Sep 2026 - Tested successfully
avatar joomdonation
joomdonation - comment - 12 Sep 2026

I have tested this item ✅ successfully on 191b7a3

Code review only. If code review is not accepted, @n3t will need to provide sample extensions for testing (two for each type, mean many extensions)


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar joomdonation
joomdonation - comment - 12 Sep 2026

I have tested this item ✅ successfully on 191b7a3

Code review only. If code review is not accepted, @n3t will need to provide sample extensions for testing (two for each type, mean many extensions)


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar richard67
richard67 - comment - 12 Sep 2026

I have tested this item ✅ successfully on 191b7a3
Code review only. If code review is not accepted, @n3t will need to provide sample extensions for testing (two for each type, mean many extensions)

@tecpromotion Was you test also based on code review like @joomdonation 's test? Or were you ablr to test with a real extension?

avatar tecpromotion
tecpromotion - comment - 12 Sep 2026

I have tested this item ✅ successfully on 191b7a3
Code review only. If code review is not accepted, @n3t will need to provide sample extensions for testing (two for each type, mean many extensions)

@tecpromotion Was you test also based on code review like @joomdonation 's test? Or were you ablr to test with a real extension?

Real extensions.

avatar tecpromotion tecpromotion - change - 12 Sep 2026
Status Pending ⇒ Ready to Commit
Labels Added: bug PR-6.1-dev
avatar tecpromotion
tecpromotion - comment - 12 Sep 2026

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar tecpromotion
tecpromotion - comment - 12 Sep 2026

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar HLeithner
HLeithner - comment - 5 Nov 2026

This pull request has been automatically rebased to 6.2-dev. Joomla! 6.1 is now EOL.

avatar richard67 richard67 - change - 6 Nov 2026
Title
…
[6.1] InstallerScriptTrait::allowDowngrades not working
[6.2] InstallerScriptTrait::allowDowngrades not working
avatar richard67 richard67 - edited - 6 Nov 2026
avatar richard67 richard67 - change - 6 Nov 2026
Labels Added: RTC PR-6.2-dev
Removed: PR-6.1-dev
avatar MacJoom
MacJoom - comment - 6 Nov 2026

Tested unsuccesfully with libraries, packages and files

avatar MacJoom MacJoom - change - 6 Nov 2026
Status Ready to Commit ⇒ Pending
avatar MacJoom
MacJoom - comment - 6 Nov 2026

Back to pending


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar MacJoom
MacJoom - comment - 6 Nov 2026

Back to pending


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/48368.

avatar MacJoom
MacJoom - comment - 6 Nov 2026

@n3t Thank you for your contribution - please check the update procedures for packages, libraries and files.

avatar n3t
n3t - comment - 8 Nov 2026

Ok, Installer adapters for libraries, files and packages (especially for libraries) handle manifest different (hordcoded) way. There are few options how to handle this:

  • hardcode in InstallerScriptTrait::getOldManifest (doesn't seem to be good option to me, as files and packages use one way, but libraries another, special, way)
  • add Database query (as in InstallerScript class - using getItemArray function) - this will work, but I'm not sure, if one of the point of this trait wasn't to remove this query
  • add some extra function to Adapter, which will be overwritten in descendants for libarary, files and packages to provide correct path
  • add extra path to paths array in Installer itself. Again Adapters will set this. Name 'manifest' is already used, so maybe something like 'target_manifest'?

Last option seems the best to me, but it would mean to change bit more than this single file. Using DB query to load the manifest path from database would be more simple, but it is an extra DB query. Not sure which way to choose to comply with philosophy of the Installer, could someone review this and give advice?

avatar n3t n3t - change - 8 Nov 2026
Labels Added: Updates Requested
Removed: RTC

Add a Comment

Login with GitHub to post a comment