Skip to content

Prepare for Matomo 6 - #90

Merged
sgiehl merged 5 commits into
6.x-devfrom
prepare6x
Aug 10, 2026
Merged

Prepare for Matomo 6#90
sgiehl merged 5 commits into
6.x-devfrom
prepare6x

Conversation

@sgiehl

@sgiehl sgiehl commented Aug 9, 2026

Copy link
Copy Markdown
Member

Description

Prepares DeviceDetectorCache for Matomo 6.

6.x-dev has been created as the plugin's Matomo 6 maintenance line, branched in parity from 5.x-dev. This PR carries the accumulated Matomo 6 work — the commits that had previously been pushed to or merged into prepare6x while no 6.x-dev branch existed — plus the remaining preparation steps:

  • Bump the plugin version to 6.0.0 and require matomo >=6.0.0-b1,<7.0.0-b1. The -b1 lower bound is required so the plugin is not disabled against a beta core.
  • Run the plugin tests on the same PHP versions as core, via the matomo6_min_php / matomo6_max_php aliases rather than pinned literals, so they follow core instead of drifting.
  • Add the MySQL 8.0 / MariaDB 10.6 database matrix.
  • Add the 6.0.0 changelog entry.

5.x-dev remains the Matomo 5 maintenance branch. No changes.json entry 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. No code change was required. The only hit is the system test's use of Live.getLastVisitsDetails, which is unaffected by Matomo 6 restricting the Live API to sites with the visits log enabled — the fixture site has it enabled. Core's matomo/device-detector constraint is unchanged at ~6.0 between the 5.x and 6.x lines, so the cached parser output stays valid.

The plugin has no composer.json, changes.json, Updates/, phpstan.neon or Vue sources, and no UI tests, 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, the plugin activates, core:update reports no pending migrations, and the unit (3) and integration (28) suites pass.

Checklist

  • [✔] Tested locally or on demo2/demo3?
  • [NA] New test case added/updated?
  • [NA] Are all newly added texts included via translation?
  • [NA] Are text sanitized properly? (Eg use of v-text v/s v-html for vue)
  • [✔] Version bumped?
  • [✔] I have understood, reviewed, and tested all AI outputs before use
  • [✔] All AI instructions respect security, IP, and privacy rules
  • [NA] Documentation updated?

sgiehl added 5 commits July 9, 2026 14:43
Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1.
* 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.
@sgiehl
sgiehl requested a review from a team August 9, 2026 15:32
@sgiehl
sgiehl merged commit cb53de7 into 6.x-dev Aug 10, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants