Conversation
Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1.
Matomo 6 removes the deprecated Db::optimizeTables() and Db::isOptimizeInnoDBSupported() wrappers; call the Schema instance directly instead.
* Run plugin tests against MySQL 8.0 and MariaDB 10.6 The workflow inherited the shared action's MySQL 5.7 default, which is below Matomo's new minimum. Pin the database-backed jobs to the supported floor: PluginTests now runs a MySQL 8.0 + MariaDB 10.6 matrix, and the UI/JS jobs run on MySQL 8.0. * Only upload plugin test artifacts for the MySQL matrix leg PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition matched both legs and uploaded twice. Restrict the upload to the MySQL leg.
… Puppeteer 24) (#327) * Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24) * Stabilise queue-enabled toggle click under the new headless Chrome Scroll the toggle to the viewport centre before clicking; under Chrome 149 it could otherwise be reported as 'not clickable' when behind a sticky header. * Use a JS click for the queue-enabled toggle under modern headless Chrome page.click() reports the Materialize lever as not clickable on the new Chrome even after scrolling it into view; dispatching the click directly fires the toggle handler reliably. * Wait for the password-confirmation modal before interacting with it After enabling the queue toggle the submit opens a password-confirmation modal; under the modern headless Chrome its input is not focusable and its confirm button not clickable until the open animation finishes. Wait for them to be visible and use a JS click for the confirm button. * Use a JS click for the settings submit button page/element click can be reported as not clickable under the modern headless Chrome, so the password-confirmation modal never opened; dispatch the click directly to trigger it reliably. * Fix the queue-enabled error test for the modern headless Chrome Three Chrome-149 issues stacked in this test: the queue toggle was clicked via its label span (which no longer reliably flips the checkbox), so the setting never changed; and the password-confirmation modal selectors were unscoped, so they matched a closed .confirm-password-modal instance instead of the open one. Click the checkbox input directly, JS-click the submit button, and scope all modal interactions to .modal.open. Verified locally: the redis connection error is now shown as expected. * Update settings_save_error expected screenshot for Chrome 149 * Shorten UI-test comments added during the Puppeteer 24 migration * Run the plugin UI tests on Node 24 Match the Node 24 / Puppeteer 24 screenshot-testing stack; the UI job was still pinned to Node 16.
Teal brand screenshots on 6.x-dev plugin base; synced from matomo-org/matomo run 30405694397.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Prepares QueuedTracking for Matomo 6.
6.x-devhas been created as the plugin's Matomo 6 maintenance line, branched in parity from5.x-dev. This PR carries the accumulated Matomo 6 work — the commits that had previously been pushed to or merged intoprepare6xwhile no6.x-devbranch existed — restacked onto it, plus the remaining preparation steps:6.0.0and requirematomo >=6.0.0-b1,<7.0.0-b1. The-b1lower bound is required so the plugin is not disabled against a beta core.Piwik\Db::optimizeTables()/Piwik\Db::isOptimizeInnoDBSupported()withPiwik\Db\Schema::getInstance().matomo6_min_php/matomo6_max_phpaliases rather than pinned literals, so they follow core instead of drifting.6.0.0changelog entry.5.x-devremains the Matomo 5 maintenance branch. Nochanges.jsonentry was added — Matomo 6 compatibility is not a user-facing feature.The full Matomo 6 breaking-changes catalogue was swept against the plugin — removed PHP APIs, removed HTTP API methods, removed global functions, changed interfaces, the Monolog 3 / PHP-DI 7 / Symfony 6.4 / php-tracker 4 / PHPUnit 9 dependency upgrades, the
#[JsonResponse]controller contract, removed Less variables and stylesheets, and the removed JS APIs. The only hit isTasks.phpusing theDb\Schemareplacement API, which is the intended target. The plugin has nocomposer.json,changes.json,phpstan.neonor Vue sources, so those preparation steps do not apply.Issue No
Part of the Matomo 6 plugin preparation; no separate issue.
Steps to Replicate the Issue
Not applicable — this is a compatibility change with no user-visible behaviour change.
Verified locally against a Matomo 6 checkout (PHP 8.1, MySQL 8.0, Node 24): PHPCS clean across all 52 files, the plugin activates, and
core:updatereports no pending migrations.Checklist
🤖 This pull request was prepared with Claude Code.