Documentation Required b/c break Code Review PR-7.0-dev Pending

User tests: Successful: Unsuccessful:

avatar TLWebdesign
TLWebdesign
15 Oct 2026

Summary of Changes

Core dispatch sites still passed event arguments by reference, tagged @todo: Remove reference in Joomla 6/7. Every one of these sites reads the value back from the event after dispatch, so listeners that change an argument through the event's update*() method keep working. Legacy listeners that changed a by-reference parameter in place no longer affect the result; that is the deprecated behaviour this removes, documented in the manual entry. onValidateContact never allowed changing the data and has no setter. This removes the & at all 21 tagged sites: contact, installer, module, menu, form, custom fields and privacy events.

Nothing in core listens by reference. The matching removal of the reference handling inside the event constructors is #47459.

Testing Instructions

  1. Apply the patch and clear the cache.
  2. Site: submit the contact form of a published contact. The email arrives with the submitted name, subject and message.
  3. API: POST /api/index.php/v1/contact/form/{id} with the same fields and a valid token. Response is 200 and the email arrives.
  4. Administrator: install an extension from upload and from a URL (System > Install), then run Update Sites > Find Updates.
  5. Site and administrator: load pages with modules in several positions and check they render with their chrome.
  6. Administrator: open Menus > Main Menu > New > Select, the list of menu item types loads. Browse the administrator menu and a submenu module.
  7. Administrator: create a custom field for articles, edit and save an article, the field value is shown on the site.
  8. Administrator: the Privacy Status dashboard module shows the privacy policy status.
  9. Optional, for plugins: a plugin subscribed to onSubmitContact that calls $event->updateData([...]) still changes the email content. A plugin subscribed to onRenderModule that calls updateAttributes() still changes the module chrome.

Actual result BEFORE applying this Pull Request

Everything works.

Expected result AFTER applying this Pull Request

Identical. No behaviour change in any of the steps above.

Link to documentations

  • No documentation changes for guide.joomla.org needed
  • Pull Request link for manual.joomla.org: joomla/Manual#714
avatar TLWebdesign TLWebdesign - open - 15 Oct 2026
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
Status New ⇒ Pending
avatar joomla-cms-bot joomla-cms-bot - change - 15 Oct 2026
Category ⇒ Front End com_contact
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
Labels Added: Documentation Required b/c break Code Review PR-7.0-dev
avatar joomla-cms-bot joomla-cms-bot - change - 15 Oct 2026
Category Front End com_contact ⇒ Administration com_fields com_installer com_menus Modules Front End com_contact Libraries
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
Title
…
[7.0] Remove deprecated reference in onValidateContact & onSubmitContact
[7.0] Remove by-reference event arguments from core dispatch sites
avatar TLWebdesign TLWebdesign - edited - 15 Oct 2026
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
The description was changed
avatar TLWebdesign TLWebdesign - edited - 15 Oct 2026
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
The description was changed
avatar TLWebdesign TLWebdesign - edited - 15 Oct 2026
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
The description was changed
avatar TLWebdesign TLWebdesign - edited - 15 Oct 2026
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
The description was changed
avatar TLWebdesign TLWebdesign - edited - 15 Oct 2026
avatar TLWebdesign TLWebdesign - change - 15 Oct 2026
The description was changed
avatar TLWebdesign TLWebdesign - edited - 15 Oct 2026

Add a Comment

Login with GitHub to post a comment