From 50724cd431dd18df89bdef199047293b919efcef Mon Sep 17 00:00:00 2001 From: sgiehl Date: Thu, 9 Jul 2026 14:43:19 +0200 Subject: [PATCH 1/5] Prepare for Matomo 6 Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1. --- plugin.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin.json b/plugin.json index 1ead9b7d..c9ad8a2f 100644 --- a/plugin.json +++ b/plugin.json @@ -1,10 +1,10 @@ { "name": "DeviceDetectorCache", "description": "Makes tracking faster by detecting many devices, operating systems, bots, and browsers from a cache.", - "version": "5.0.3", + "version": "6.0.0", "theme": false, "require": { - "matomo": ">=5.0.0-b1,<6.0.0-b1" + "matomo": ">=6.0.0-b1,<7.0.0-b1" }, "authors": [ { From ad235ca43371b4e1631f7eee71255341324b2261 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 14 Jul 2026 12:57:56 +0200 Subject: [PATCH 2/5] Run tests on same PHP versions as core (8.1, 8.5) --- .github/workflows/matomo-tests.yml | 6 +++--- .github/workflows/phpcs.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index cae01543..6d08222d 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -1,7 +1,7 @@ # Action for running tests # This file has been automatically created. # To recreate it you can run this command -# ./console generate:test-action --plugin="DeviceDetectorCache" --php-versions="matomo5_min_php,matomo5_max_php" --schedule-cron="15 3 * * 6" +# ./console generate:test-action --plugin="DeviceDetectorCache" --php-versions="8.1,8.5" --schedule-cron="15 3 * * 6" name: Plugin DeviceDetectorCache Tests @@ -37,7 +37,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ 'matomo5_min_php', 'matomo5_max_php' ] + php: [ '8.1', '8.5' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] steps: - uses: actions/checkout@v3 @@ -54,4 +54,4 @@ jobs: test-type: 'PluginTests' matomo-test-branch: ${{ matrix.target }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == 'matomo5_min_php' && matrix.target == 'maximum_supported_matomo' }} + upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' }} diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml index e41da57b..7cef1a5c 100644 --- a/.github/workflows/phpcs.yml +++ b/.github/workflows/phpcs.yml @@ -26,7 +26,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.4' + php-version: '8.1' tools: cs2pr - name: Install dependencies run: From 645eed777817908db7974bc25b1770addce0e10e Mon Sep 17 00:00:00 2001 From: Stefan Giehl Date: Mon, 20 Jul 2026 16:15:05 +0200 Subject: [PATCH 3/5] Run plugin tests against MySQL 8.0 and MariaDB 10.6 (#89) * 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. --- .github/workflows/matomo-tests.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index 6d08222d..d41bccf8 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -39,6 +39,9 @@ jobs: matrix: php: [ '8.1', '8.5' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] + database: + - { engine: 'Mysql', version: '8.0' } + - { engine: 'Mariadb', version: '10.6' } steps: - uses: actions/checkout@v3 with: @@ -52,6 +55,8 @@ jobs: plugin-name: 'DeviceDetectorCache' php-version: ${{ matrix.php }} test-type: 'PluginTests' + mysql-engine: ${{ matrix.database.engine }} + mysql-version: ${{ matrix.database.version }} matomo-test-branch: ${{ matrix.target }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' }} + upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' && matrix.database.engine == 'Mysql' }} From 3c4c4bace193be4a78e0395f5185c4181ee5332f Mon Sep 17 00:00:00 2001 From: sgiehl Date: Sun, 9 Aug 2026 17:23:49 +0200 Subject: [PATCH 4/5] Add changelog entry for Matomo 6 compatibility [ignore_release] --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a45c0b9c..fc498567 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## Changelog +6.0.0 +- Compatibility with Matomo 6.X + 5.0.3 - Added plugin category for Marketplace From 27cdee35ce42183e24a03d8d3654e8f1faa9b718 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Sun, 9 Aug 2026 17:24:17 +0200 Subject: [PATCH 5/5] Use the matomo6 PHP version aliases in the test workflow [ignore_release] --- .github/workflows/matomo-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index d41bccf8..07fb8a6b 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -1,7 +1,7 @@ # Action for running tests # This file has been automatically created. # To recreate it you can run this command -# ./console generate:test-action --plugin="DeviceDetectorCache" --php-versions="8.1,8.5" --schedule-cron="15 3 * * 6" +# ./console generate:test-action --plugin="DeviceDetectorCache" --php-versions="matomo6_min_php,matomo6_max_php" --schedule-cron="15 3 * * 6" name: Plugin DeviceDetectorCache Tests @@ -37,7 +37,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '8.1', '8.5' ] + php: [ 'matomo6_min_php', 'matomo6_max_php' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] database: - { engine: 'Mysql', version: '8.0' } @@ -59,4 +59,4 @@ jobs: mysql-version: ${{ matrix.database.version }} matomo-test-branch: ${{ matrix.target }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == '8.1' && matrix.target == 'maximum_supported_matomo' && matrix.database.engine == 'Mysql' }} + upload-artifacts: ${{ matrix.php == 'matomo6_min_php' && matrix.target == 'maximum_supported_matomo' && matrix.database.engine == 'Mysql' }}