Skip to content

Prepare for Matomo 6 - #63

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

sgiehl merged 16 commits into
6.x-devfrom
prepare6x

Conversation

@sgiehl

@sgiehl sgiehl commented Aug 9, 2026

Copy link
Copy Markdown
Member

Description

Prepares TasksTimetable for Matomo 6.

  • Bumps the plugin to 6.0.0 and requires matomo >=6.0.0-b1,<7.0.0-b1, plus a matching changelog entry.
  • Rebuilds the Vue dist files with the Vite toolchain (Vue 3.5), fixing the declaration type errors it
    surfaces, and drops the unminified TasksTimetable.umd.js — only the minified bundle is ever served.
  • Runs the test workflow on core's supported PHP range via the matomo6_min_php / matomo6_max_php
    aliases, against a MySQL 8.0 + MariaDB 10.6 matrix, and moves the UI job to Node 24 with refreshed
    expected screenshots for the new headless Chrome.

A code-compatibility sweep against the Matomo 6 breaking-changes catalogue found no use of removed PHP
APIs, HTTP API methods, global functions, Less variables or JS/Vue APIs. Common::safe_unserialize() in
Controller.php is retained in Matomo 6 and only reads a plain string => int array, so it is unaffected
by the stricter parsing.

This is the base branch's first PR: 6.x-dev was created at the 5.x-dev tip and is the plugin's Matomo 6
maintenance line from here on.

Issue No

Related to the Matomo 6 plugin preparation effort.

Steps to Replicate the Issue

  1. Run the plugin against a Matomo 6 checkout.
  2. Expected: the plugin activates and the Scheduled Tasks page renders.
  3. Actual (before this PR): the plugin is disabled, since require.matomo capped at Matomo 5.

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?

AI Checklist

  • [✔] I have understood, reviewed, and tested all AI outputs before use
  • [✔] All AI instructions respect security, IP, and privacy rules

sgiehl added 16 commits July 9, 2026 14:43
Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1.
Type the scheduled tasks list.
Rebuild Vue dist files with the Vite build for Matomo 6 & fix ESLint violations
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.
PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition
matched both legs and uploaded twice. Restrict the upload to the MySQL leg.
Run plugin tests against MySQL 8.0 and MariaDB 10.6
Match the Node 24 / Puppeteer 24 screenshot-testing stack; the UI job was still pinned to Node 16.
Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24)
Matomo's Vue build no longer emits <Plugin>.umd.js. Only the minified
TasksTimetable.umd.min.js is ever served: PluginUmdAssetFetcher looks exclusively for
.umd.min.js, and development mode uses the .development.umd.js produced by
vue:build --watch.

The unminified bundle was a leftover from Vue CLI, whose lib build emitted it
alongside the minified one for free. See matomo-org/matomo#25027.
…lease]

The matrix and the UI job pinned 8.1/8.5 literally. The shared action resolves
matomo6_min_php/matomo6_max_php to core's supported range, so the workflow
follows core instead of drifting when that range moves.
@sgiehl
sgiehl requested a review from a team August 9, 2026 14:23
@sgiehl
sgiehl merged commit bc2abea into 6.x-dev Aug 10, 2026
12 checks passed
@sgiehl
sgiehl deleted the prepare6x branch August 10, 2026 06:50
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