diff --git a/composer.json b/composer.json index ada51578..cb31a0e5 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,7 @@ "codeception/module-cli": "^1.0", "codeception/util-universalframework": "^1.0", "rector/rector": "^0.17.0", - "wp-cli/wp-cli-bundle": "2.8.1", + "wp-cli/wp-cli-bundle": "^2.9", "phpstan/phpstan": "^1.10.0", "szepeviktor/phpstan-wordpress": "dev-master", "phpstan/extension-installer": "^1.3.1", diff --git a/composer.lock b/composer.lock index 561a46a8..09ef5070 100644 --- a/composer.lock +++ b/composer.lock @@ -4,21 +4,21 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b95bc88a23567874b9f29e94eecf7a64", + "content-hash": "4c357ca873ffffff2a63276a6d1a1839", "packages": [], "packages-dev": [ { "name": "antecedent/patchwork", - "version": "2.1.26", + "version": "2.1.27", "source": { "type": "git", "url": "https://github.com/antecedent/patchwork.git", - "reference": "f2dae0851b2eae4c51969af740fdd0356d7f8f55" + "reference": "16a1ab81559aabf14acb616141e801b32777f085" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antecedent/patchwork/zipball/f2dae0851b2eae4c51969af740fdd0356d7f8f55", - "reference": "f2dae0851b2eae4c51969af740fdd0356d7f8f55", + "url": "https://api.github.com/repos/antecedent/patchwork/zipball/16a1ab81559aabf14acb616141e801b32777f085", + "reference": "16a1ab81559aabf14acb616141e801b32777f085", "shasum": "" }, "require": { @@ -39,7 +39,7 @@ } ], "description": "Method redefinition (monkey-patching) functionality for PHP.", - "homepage": "http://patchwork2.org/", + "homepage": "https://antecedent.github.io/patchwork/", "keywords": [ "aop", "aspect", @@ -51,9 +51,9 @@ ], "support": { "issues": "https://github.com/antecedent/patchwork/issues", - "source": "https://github.com/antecedent/patchwork/tree/2.1.26" + "source": "https://github.com/antecedent/patchwork/tree/2.1.27" }, - "time": "2023-09-18T08:18:37+00:00" + "time": "2023-12-03T18:46:49+00:00" }, { "name": "behat/gherkin", @@ -174,6 +174,75 @@ }, "time": "2012-08-31T00:00:00+00:00" }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" + }, + "require-dev": { + "doctrine/dbal": "^3.7.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2023-12-11T17:09:12+00:00" + }, { "name": "codeception/codeception", "version": "4.2.2", @@ -836,16 +905,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.3.7", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + "reference": "b66d11b7479109ab547f9405b97205640b17d385" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/b66d11b7479109ab547f9405b97205640b17d385", + "reference": "b66d11b7479109ab547f9405b97205640b17d385", "shasum": "" }, "require": { @@ -857,7 +926,7 @@ "phpstan/phpstan": "^0.12.55", "psr/log": "^1.0", "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { @@ -892,7 +961,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.7" + "source": "https://github.com/composer/ca-bundle/tree/1.4.0" }, "funding": [ { @@ -908,7 +977,7 @@ "type": "tidelift" } ], - "time": "2023-08-30T09:31:38+00:00" + "time": "2023-12-18T12:05:55+00:00" }, { "name": "composer/composer", @@ -1232,16 +1301,16 @@ }, { "name": "composer/spdx-licenses", - "version": "1.5.7", + "version": "1.5.8", "source": { "type": "git", "url": "https://github.com/composer/spdx-licenses.git", - "reference": "c848241796da2abf65837d51dce1fae55a960149" + "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", - "reference": "c848241796da2abf65837d51dce1fae55a960149", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", + "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", "shasum": "" }, "require": { @@ -1290,9 +1359,9 @@ "validator" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.7" + "source": "https://github.com/composer/spdx-licenses/tree/1.5.8" }, "funding": [ { @@ -1308,7 +1377,7 @@ "type": "tidelift" } ], - "time": "2022-05-23T07:37:50+00:00" + "time": "2023-11-20T07:44:33+00:00" }, { "name": "composer/xdebug-handler", @@ -1873,16 +1942,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", "shasum": "" }, "require": { @@ -1897,11 +1966,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1979,7 +2048,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.0" + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" }, "funding": [ { @@ -1995,28 +2064,28 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:20:53+00:00" + "time": "2023-12-03T20:35:24+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d" + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "type": "library", "extra": { @@ -2062,7 +2131,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.1" + "source": "https://github.com/guzzle/promises/tree/2.0.2" }, "funding": [ { @@ -2078,20 +2147,20 @@ "type": "tidelift" } ], - "time": "2023-08-03T15:11:55+00:00" + "time": "2023-12-03T20:19:20+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.1", + "version": "2.6.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "shasum": "" }, "require": { @@ -2105,9 +2174,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -2178,7 +2247,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.1" + "source": "https://github.com/guzzle/psr7/tree/2.6.2" }, "funding": [ { @@ -2194,7 +2263,7 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:13:57+00:00" + "time": "2023-12-03T20:05:35+00:00" }, { "name": "illuminate/collections", @@ -2484,16 +2553,16 @@ }, { "name": "lucatume/wp-browser", - "version": "3.2.1", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/lucatume/wp-browser.git", - "reference": "95a189fda634fd52cb44eebbbda3fabe0fdabdb2" + "reference": "88456c4d73ded85132c6bfa594f685a90952630c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/95a189fda634fd52cb44eebbbda3fabe0fdabdb2", - "reference": "95a189fda634fd52cb44eebbbda3fabe0fdabdb2", + "url": "https://api.github.com/repos/lucatume/wp-browser/zipball/88456c4d73ded85132c6bfa594f685a90952630c", + "reference": "88456c4d73ded85132c6bfa594f685a90952630c", "shasum": "" }, "require": { @@ -2583,7 +2652,7 @@ ], "support": { "issues": "https://github.com/lucatume/wp-browser/issues", - "source": "https://github.com/lucatume/wp-browser/tree/3.2.1" + "source": "https://github.com/lucatume/wp-browser/tree/3.2.2" }, "funding": [ { @@ -2591,7 +2660,7 @@ "type": "github" } ], - "time": "2023-09-21T06:36:09+00:00" + "time": "2023-11-20T15:05:37+00:00" }, { "name": "mck89/peast", @@ -2912,19 +2981,20 @@ }, { "name": "nesbot/carbon", - "version": "2.71.0", + "version": "2.72.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "98276233188583f2ff845a0f992a235472d9466a" + "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a", - "reference": "98276233188583f2ff845a0f992a235472d9466a", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2b3b3db0a2d0556a177392ff1a3bf5608fa09f78", + "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78", "shasum": "" }, "require": { + "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", "php": "^7.1.8 || ^8.0", "psr/clock": "^1.0", @@ -2936,8 +3006,8 @@ "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4", - "doctrine/orm": "^2.7", + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "ondrejmirtes/better-reflection": "*", @@ -3014,20 +3084,20 @@ "type": "tidelift" } ], - "time": "2023-09-25T11:31:05+00:00" + "time": "2023-12-08T23:47:49+00:00" }, { "name": "nikic/php-parser", - "version": "v4.17.1", + "version": "v4.18.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" + "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", "shasum": "" }, "require": { @@ -3068,9 +3138,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" }, - "time": "2023-08-13T19:53:39+00:00" + "time": "2023-12-10T21:03:43+00:00" }, { "name": "phar-io/manifest", @@ -3185,25 +3255,27 @@ }, { "name": "php-stubs/wordpress-stubs", - "version": "v6.3.2", + "version": "v6.4.1", "source": { "type": "git", "url": "https://github.com/php-stubs/wordpress-stubs.git", - "reference": "f22b00cacd3b9addc2b07ff48290084503c48574" + "reference": "6d6063cf9464a306ca2a0529705d41312b08500b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/f22b00cacd3b9addc2b07ff48290084503c48574", - "reference": "f22b00cacd3b9addc2b07ff48290084503c48574", + "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/6d6063cf9464a306ca2a0529705d41312b08500b", + "reference": "6d6063cf9464a306ca2a0529705d41312b08500b", "shasum": "" }, "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", "nikic/php-parser": "^4.13", "php": "^7.4 || ~8.0.0", "php-stubs/generator": "^0.8.3", "phpdocumentor/reflection-docblock": "^5.3", "phpstan/phpstan": "^1.10.12", - "phpunit/phpunit": "^9.5" + "phpunit/phpunit": "^9.5", + "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.8" }, "suggest": { "paragonie/sodium_compat": "Pure PHP implementation of libsodium", @@ -3224,9 +3296,9 @@ ], "support": { "issues": "https://github.com/php-stubs/wordpress-stubs/issues", - "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.3.2" + "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.4.1" }, - "time": "2023-10-14T10:08:05+00:00" + "time": "2023-11-10T00:33:47+00:00" }, { "name": "php-stubs/wp-cli-stubs", @@ -3515,29 +3587,29 @@ }, { "name": "phpcsstandards/phpcsextra", - "version": "1.1.2", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHPCSExtra.git", - "reference": "746c3190ba8eb2f212087c947ba75f4f5b9a58d5" + "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/746c3190ba8eb2f212087c947ba75f4f5b9a58d5", - "reference": "746c3190ba8eb2f212087c947ba75f4f5b9a58d5", + "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/11d387c6642b6e4acaf0bd9bf5203b8cca1ec489", + "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489", "shasum": "" }, "require": { "php": ">=5.4", - "phpcsstandards/phpcsutils": "^1.0.8", - "squizlabs/php_codesniffer": "^3.7.1" + "phpcsstandards/phpcsutils": "^1.0.9", + "squizlabs/php_codesniffer": "^3.8.0" }, "require-dev": { "php-parallel-lint/php-console-highlighter": "^1.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcsstandards/phpcsdevcs": "^1.1.6", "phpcsstandards/phpcsdevtools": "^1.2.1", - "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0" + "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" }, "type": "phpcodesniffer-standard", "extra": { @@ -3572,35 +3644,50 @@ ], "support": { "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues", + "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy", "source": "https://github.com/PHPCSStandards/PHPCSExtra" }, - "time": "2023-09-20T22:06:18+00:00" + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2023-12-08T16:49:07+00:00" }, { "name": "phpcsstandards/phpcsutils", - "version": "1.0.8", + "version": "1.0.9", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHPCSUtils.git", - "reference": "69465cab9d12454e5e7767b9041af0cd8cd13be7" + "reference": "908247bc65010c7b7541a9551e002db12e9dae70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/69465cab9d12454e5e7767b9041af0cd8cd13be7", - "reference": "69465cab9d12454e5e7767b9041af0cd8cd13be7", + "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/908247bc65010c7b7541a9551e002db12e9dae70", + "reference": "908247bc65010c7b7541a9551e002db12e9dae70", "shasum": "" }, "require": { "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0", "php": ">=5.4", - "squizlabs/php_codesniffer": "^3.7.1 || 4.0.x-dev@dev" + "squizlabs/php_codesniffer": "^3.8.0 || 4.0.x-dev@dev" }, "require-dev": { "ext-filter": "*", "php-parallel-lint/php-console-highlighter": "^1.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcsstandards/phpcsdevcs": "^1.1.6", - "yoast/phpunit-polyfills": "^1.0.5 || ^2.0.0" + "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0" }, "type": "phpcodesniffer-standard", "extra": { @@ -3645,9 +3732,24 @@ "support": { "docs": "https://phpcsutils.com/", "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues", + "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy", "source": "https://github.com/PHPCSStandards/PHPCSUtils" }, - "time": "2023-07-16T21:39:41+00:00" + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2023-12-08T14:50:00+00:00" }, { "name": "phpstan/extension-installer", @@ -3695,16 +3797,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.40", + "version": "1.10.54", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d" + "reference": "3e25f279dada0adc14ffd7bad09af2e2fc3523bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/93c84b5bf7669920d823631e39904d69b9c7dc5d", - "reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3e25f279dada0adc14ffd7bad09af2e2fc3523bb", + "reference": "3e25f279dada0adc14ffd7bad09af2e2fc3523bb", "shasum": "" }, "require": { @@ -3753,27 +3855,27 @@ "type": "tidelift" } ], - "time": "2023-10-30T14:48:31+00:00" + "time": "2024-01-05T15:50:47+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.29", + "version": "9.2.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", - "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089", + "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -3823,7 +3925,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30" }, "funding": [ { @@ -3831,7 +3933,7 @@ "type": "github" } ], - "time": "2023-09-19T04:57:46+00:00" + "time": "2023-12-22T06:47:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -4076,16 +4178,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.13", + "version": "9.6.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" + "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", - "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1", + "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1", "shasum": "" }, "require": { @@ -4159,7 +4261,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15" }, "funding": [ { @@ -4175,7 +4277,7 @@ "type": "tidelift" } ], - "time": "2023-09-19T05:39:22+00:00" + "time": "2023-12-01T16:55:19+00:00" }, { "name": "psr/clock", @@ -4630,23 +4732,23 @@ }, { "name": "react/promise", - "version": "v2.10.0", + "version": "v2.11.0", "source": { "type": "git", "url": "https://github.com/reactphp/promise.git", - "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38" + "reference": "1a8460931ea36dc5c76838fec5734d55c88c6831" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38", - "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38", + "url": "https://api.github.com/repos/reactphp/promise/zipball/1a8460931ea36dc5c76838fec5734d55c88c6831", + "reference": "1a8460931ea36dc5c76838fec5734d55c88c6831", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.36" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { @@ -4690,7 +4792,7 @@ ], "support": { "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.10.0" + "source": "https://github.com/reactphp/promise/tree/v2.11.0" }, "funding": [ { @@ -4698,7 +4800,7 @@ "type": "open_collective" } ], - "time": "2023-05-02T15:15:43+00:00" + "time": "2023-11-16T16:16:50+00:00" }, { "name": "rector/rector", @@ -4999,20 +5101,20 @@ }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -5044,7 +5146,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" }, "funding": [ { @@ -5052,7 +5154,7 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-12-22T06:19:30+00:00" }, { "name": "sebastian/diff", @@ -5326,20 +5428,20 @@ }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -5371,7 +5473,7 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" }, "funding": [ { @@ -5379,7 +5481,7 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-12-22T06:20:34+00:00" }, { "name": "sebastian/object-enumerator", @@ -5722,16 +5824,16 @@ }, { "name": "seld/jsonlint", - "version": "1.10.0", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1" + "reference": "76d449a358ece77d6f1d6331c68453e657172202" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/76d449a358ece77d6f1d6331c68453e657172202", + "reference": "76d449a358ece77d6f1d6331c68453e657172202", "shasum": "" }, "require": { @@ -5758,7 +5860,7 @@ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "homepage": "https://seld.be" } ], "description": "JSON Linter", @@ -5770,7 +5872,7 @@ ], "support": { "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.10.0" + "source": "https://github.com/Seldaek/jsonlint/tree/1.10.1" }, "funding": [ { @@ -5782,7 +5884,7 @@ "type": "tidelift" } ], - "time": "2023-05-11T13:16:46+00:00" + "time": "2023-12-18T13:03:25+00:00" }, { "name": "seld/phar-utils", @@ -5834,16 +5936,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.7.2", + "version": "3.8.0", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", + "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", - "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5805f7a4e4958dbb5e944ef1e6edae0a303765e7", + "reference": "5805f7a4e4958dbb5e944ef1e6edae0a303765e7", "shasum": "" }, "require": { @@ -5853,7 +5955,7 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/phpcs", @@ -5872,35 +5974,58 @@ "authors": [ { "name": "Greg Sherwood", - "role": "lead" + "role": "Former lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "Current lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" } ], "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", "keywords": [ "phpcs", "standards", "static analysis" ], "support": { - "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", - "source": "https://github.com/squizlabs/PHP_CodeSniffer", - "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", + "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", + "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" }, - "time": "2023-02-22T23:07:41+00:00" + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2023-12-08T12:32:31+00:00" }, { "name": "symfony/browser-kit", - "version": "v5.4.21", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a866ca7e396f15d7efb6d74a8a7d364d4e05b704" + "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a866ca7e396f15d7efb6d74a8a7d364d4e05b704", - "reference": "a866ca7e396f15d7efb6d74a8a7d364d4e05b704", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/0ed1f634a36606f2065eec221b3975e05016cbbe", + "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe", "shasum": "" }, "require": { @@ -5943,7 +6068,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v5.4.21" + "source": "https://github.com/symfony/browser-kit/tree/v5.4.31" }, "funding": [ { @@ -5959,20 +6084,20 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2023-10-31T07:58:33+00:00" }, { "name": "symfony/console", - "version": "v5.4.28", + "version": "v5.4.34", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f4f71842f24c2023b91237c72a365306f3c58827" + "reference": "4b4d8cd118484aa604ec519062113dd87abde18c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827", - "reference": "f4f71842f24c2023b91237c72a365306f3c58827", + "url": "https://api.github.com/repos/symfony/console/zipball/4b4d8cd118484aa604ec519062113dd87abde18c", + "reference": "4b4d8cd118484aa604ec519062113dd87abde18c", "shasum": "" }, "require": { @@ -6042,7 +6167,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.28" + "source": "https://github.com/symfony/console/tree/v5.4.34" }, "funding": [ { @@ -6058,7 +6183,7 @@ "type": "tidelift" } ], - "time": "2023-08-07T06:12:30+00:00" + "time": "2023-12-08T13:33:03+00:00" }, { "name": "symfony/css-selector", @@ -6195,16 +6320,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v5.4.25", + "version": "v5.4.32", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "d2aefa5a7acc5511422792931d14d1be96fe9fea" + "reference": "728f1fc136252a626ba5a69c02bd66a3697ff201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d2aefa5a7acc5511422792931d14d1be96fe9fea", - "reference": "d2aefa5a7acc5511422792931d14d1be96fe9fea", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/728f1fc136252a626ba5a69c02bd66a3697ff201", + "reference": "728f1fc136252a626ba5a69c02bd66a3697ff201", "shasum": "" }, "require": { @@ -6250,7 +6375,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v5.4.25" + "source": "https://github.com/symfony/dom-crawler/tree/v5.4.32" }, "funding": [ { @@ -6266,20 +6391,20 @@ "type": "tidelift" } ], - "time": "2023-06-05T08:05:41+00:00" + "time": "2023-11-17T20:43:48+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.26", + "version": "v5.4.34", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac" + "reference": "e3bca343efeb613f843c254e7718ef17c9bdf7a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac", - "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e3bca343efeb613f843c254e7718ef17c9bdf7a3", + "reference": "e3bca343efeb613f843c254e7718ef17c9bdf7a3", "shasum": "" }, "require": { @@ -6335,7 +6460,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.34" }, "funding": [ { @@ -6351,7 +6476,7 @@ "type": "tidelift" } ], - "time": "2023-07-06T06:34:20+00:00" + "time": "2023-12-27T21:12:56+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7053,16 +7178,16 @@ }, { "name": "symfony/process", - "version": "v5.4.28", + "version": "v5.4.34", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b" + "reference": "8fa22178dfc368911dbd513b431cd9b06f9afe7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", - "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", + "url": "https://api.github.com/repos/symfony/process/zipball/8fa22178dfc368911dbd513b431cd9b06f9afe7a", + "reference": "8fa22178dfc368911dbd513b431cd9b06f9afe7a", "shasum": "" }, "require": { @@ -7095,7 +7220,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.28" + "source": "https://github.com/symfony/process/tree/v5.4.34" }, "funding": [ { @@ -7111,7 +7236,7 @@ "type": "tidelift" } ], - "time": "2023-08-07T10:36:04+00:00" + "time": "2023-12-02T08:41:43+00:00" }, { "name": "symfony/service-contracts", @@ -7198,16 +7323,16 @@ }, { "name": "symfony/string", - "version": "v5.4.29", + "version": "v5.4.34", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "e41bdc93def20eaf3bfc1537c4e0a2b0680a152d" + "reference": "e3f98bfc7885c957488f443df82d97814a3ce061" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/e41bdc93def20eaf3bfc1537c4e0a2b0680a152d", - "reference": "e41bdc93def20eaf3bfc1537c4e0a2b0680a152d", + "url": "https://api.github.com/repos/symfony/string/zipball/e3f98bfc7885c957488f443df82d97814a3ce061", + "reference": "e3f98bfc7885c957488f443df82d97814a3ce061", "shasum": "" }, "require": { @@ -7264,7 +7389,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.29" + "source": "https://github.com/symfony/string/tree/v5.4.34" }, "funding": [ { @@ -7280,20 +7405,20 @@ "type": "tidelift" } ], - "time": "2023-09-13T11:47:41+00:00" + "time": "2023-12-09T13:20:28+00:00" }, { "name": "symfony/translation", - "version": "v5.4.30", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "8560dc532e4e48d331937532a7cbfd2a9f9f53ce" + "reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/8560dc532e4e48d331937532a7cbfd2a9f9f53ce", - "reference": "8560dc532e4e48d331937532a7cbfd2a9f9f53ce", + "url": "https://api.github.com/repos/symfony/translation/zipball/ba72f72fceddf36f00bd495966b5873f2d17ad8f", + "reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f", "shasum": "" }, "require": { @@ -7361,7 +7486,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.30" + "source": "https://github.com/symfony/translation/tree/v5.4.31" }, "funding": [ { @@ -7377,7 +7502,7 @@ "type": "tidelift" } ], - "time": "2023-10-28T09:19:54+00:00" + "time": "2023-11-03T16:16:43+00:00" }, { "name": "symfony/translation-contracts", @@ -7459,16 +7584,16 @@ }, { "name": "symfony/yaml", - "version": "v5.4.30", + "version": "v5.4.31", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c6980e82a6656f6ebfabfd82f7585794cb122554" + "reference": "f387675d7f5fc4231f7554baa70681f222f73563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c6980e82a6656f6ebfabfd82f7585794cb122554", - "reference": "c6980e82a6656f6ebfabfd82f7585794cb122554", + "url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563", + "reference": "f387675d7f5fc4231f7554baa70681f222f73563", "shasum": "" }, "require": { @@ -7514,7 +7639,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.30" + "source": "https://github.com/symfony/yaml/tree/v5.4.31" }, "funding": [ { @@ -7530,7 +7655,7 @@ "type": "tidelift" } ], - "time": "2023-10-27T18:36:14+00:00" + "time": "2023-11-03T14:41:28+00:00" }, { "name": "szepeviktor/phpstan-wordpress", @@ -7538,12 +7663,12 @@ "source": { "type": "git", "url": "https://github.com/szepeviktor/phpstan-wordpress.git", - "reference": "28802acf3747e588981f6a4190a9c89a10a23340" + "reference": "6fbfbdfc822e70a669cff31d87545fad043f5a55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/28802acf3747e588981f6a4190a9c89a10a23340", - "reference": "28802acf3747e588981f6a4190a9c89a10a23340", + "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/6fbfbdfc822e70a669cff31d87545fad043f5a55", + "reference": "6fbfbdfc822e70a669cff31d87545fad043f5a55", "shasum": "" }, "require": { @@ -7593,20 +7718,20 @@ "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/master" }, - "time": "2023-10-16T17:31:07+00:00" + "time": "2023-11-09T00:15:27+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", "shasum": "" }, "require": { @@ -7635,7 +7760,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.2" }, "funding": [ { @@ -7643,7 +7768,7 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2023-11-20T00:12:19+00:00" }, { "name": "voku/portable-ascii", @@ -7849,16 +7974,16 @@ }, { "name": "wp-cli/checksum-command", - "version": "v2.2.4", + "version": "v2.2.5", "source": { "type": "git", "url": "https://github.com/wp-cli/checksum-command.git", - "reference": "7ae020192bc6ee9042be0bf664bd998b1861e994" + "reference": "f6911998734018da08f75464a168feb0d07b4475" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/7ae020192bc6ee9042be0bf664bd998b1861e994", - "reference": "7ae020192bc6ee9042be0bf664bd998b1861e994", + "url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/f6911998734018da08f75464a168feb0d07b4475", + "reference": "f6911998734018da08f75464a168feb0d07b4475", "shasum": "" }, "require": { @@ -7902,22 +8027,22 @@ "homepage": "https://github.com/wp-cli/checksum-command", "support": { "issues": "https://github.com/wp-cli/checksum-command/issues", - "source": "https://github.com/wp-cli/checksum-command/tree/v2.2.4" + "source": "https://github.com/wp-cli/checksum-command/tree/v2.2.5" }, - "time": "2023-08-30T13:34:47+00:00" + "time": "2023-11-10T21:54:15+00:00" }, { "name": "wp-cli/config-command", - "version": "v2.3.2", + "version": "v2.3.3", "source": { "type": "git", "url": "https://github.com/wp-cli/config-command.git", - "reference": "9de6ce3536a2db56ae5264c61b6f1a35e9132e01" + "reference": "890b6e3c8fd945dcad2bff4bf565ba6dfb33e35d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/config-command/zipball/9de6ce3536a2db56ae5264c61b6f1a35e9132e01", - "reference": "9de6ce3536a2db56ae5264c61b6f1a35e9132e01", + "url": "https://api.github.com/repos/wp-cli/config-command/zipball/890b6e3c8fd945dcad2bff4bf565ba6dfb33e35d", + "reference": "890b6e3c8fd945dcad2bff4bf565ba6dfb33e35d", "shasum": "" }, "require": { @@ -7926,7 +8051,7 @@ }, "require-dev": { "wp-cli/db-command": "^1.3 || ^2", - "wp-cli/wp-cli-tests": "^4" + "wp-cli/wp-cli-tests": "^4.2.8" }, "type": "wp-cli-package", "extra": { @@ -7976,22 +8101,22 @@ "homepage": "https://github.com/wp-cli/config-command", "support": { "issues": "https://github.com/wp-cli/config-command/issues", - "source": "https://github.com/wp-cli/config-command/tree/v2.3.2" + "source": "https://github.com/wp-cli/config-command/tree/v2.3.3" }, - "time": "2023-10-20T10:15:46+00:00" + "time": "2023-12-21T10:01:16+00:00" }, { "name": "wp-cli/core-command", - "version": "v2.1.15", + "version": "v2.1.16", "source": { "type": "git", "url": "https://github.com/wp-cli/core-command.git", - "reference": "7a81a8658620078bf5f2785836cb33aa382e8bb4" + "reference": "9d6ebb4545df0b8bc7e688a49910ddcdd86dbe93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/core-command/zipball/7a81a8658620078bf5f2785836cb33aa382e8bb4", - "reference": "7a81a8658620078bf5f2785836cb33aa382e8bb4", + "url": "https://api.github.com/repos/wp-cli/core-command/zipball/9d6ebb4545df0b8bc7e688a49910ddcdd86dbe93", + "reference": "9d6ebb4545df0b8bc7e688a49910ddcdd86dbe93", "shasum": "" }, "require": { @@ -8047,9 +8172,9 @@ "homepage": "https://github.com/wp-cli/core-command", "support": { "issues": "https://github.com/wp-cli/core-command/issues", - "source": "https://github.com/wp-cli/core-command/tree/v2.1.15" + "source": "https://github.com/wp-cli/core-command/tree/v2.1.16" }, - "time": "2023-08-30T15:54:16+00:00" + "time": "2023-11-10T23:54:33+00:00" }, { "name": "wp-cli/cron-command", @@ -8122,16 +8247,16 @@ }, { "name": "wp-cli/db-command", - "version": "v2.0.26", + "version": "v2.0.27", "source": { "type": "git", "url": "https://github.com/wp-cli/db-command.git", - "reference": "0908bf5182b830c302199037070292e20d9f4ea6" + "reference": "eea28dd115fb381c82641a2a3060856d3a67242d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/db-command/zipball/0908bf5182b830c302199037070292e20d9f4ea6", - "reference": "0908bf5182b830c302199037070292e20d9f4ea6", + "url": "https://api.github.com/repos/wp-cli/db-command/zipball/eea28dd115fb381c82641a2a3060856d3a67242d", + "reference": "eea28dd115fb381c82641a2a3060856d3a67242d", "shasum": "" }, "require": { @@ -8190,9 +8315,9 @@ "homepage": "https://github.com/wp-cli/db-command", "support": { "issues": "https://github.com/wp-cli/db-command/issues", - "source": "https://github.com/wp-cli/db-command/tree/v2.0.26" + "source": "https://github.com/wp-cli/db-command/tree/v2.0.27" }, - "time": "2023-08-30T15:50:59+00:00" + "time": "2023-11-13T12:34:44+00:00" }, { "name": "wp-cli/embed-command", @@ -8595,16 +8720,16 @@ }, { "name": "wp-cli/extension-command", - "version": "v2.1.15", + "version": "v2.1.16", "source": { "type": "git", "url": "https://github.com/wp-cli/extension-command.git", - "reference": "1fe271c5ebb1815732a8cf6bb6979c9261ee6375" + "reference": "71183254b1e403bc0f9b4a97fab48e284cfe1367" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/extension-command/zipball/1fe271c5ebb1815732a8cf6bb6979c9261ee6375", - "reference": "1fe271c5ebb1815732a8cf6bb6979c9261ee6375", + "url": "https://api.github.com/repos/wp-cli/extension-command/zipball/71183254b1e403bc0f9b4a97fab48e284cfe1367", + "reference": "71183254b1e403bc0f9b4a97fab48e284cfe1367", "shasum": "" }, "require": { @@ -8687,22 +8812,22 @@ "homepage": "https://github.com/wp-cli/extension-command", "support": { "issues": "https://github.com/wp-cli/extension-command/issues", - "source": "https://github.com/wp-cli/extension-command/tree/v2.1.15" + "source": "https://github.com/wp-cli/extension-command/tree/v2.1.16" }, - "time": "2023-10-11T14:55:49+00:00" + "time": "2023-11-10T12:24:35+00:00" }, { "name": "wp-cli/i18n-command", - "version": "v2.4.4", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/wp-cli/i18n-command.git", - "reference": "7d82e675f271359b1af614e6325d8eeaeb7d7474" + "reference": "9cf9b40f6bad64ade8660cc26bf1f28f2d223268" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/7d82e675f271359b1af614e6325d8eeaeb7d7474", - "reference": "7d82e675f271359b1af614e6325d8eeaeb7d7474", + "url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/9cf9b40f6bad64ade8660cc26bf1f28f2d223268", + "reference": "9cf9b40f6bad64ade8660cc26bf1f28f2d223268", "shasum": "" }, "require": { @@ -8755,9 +8880,9 @@ "homepage": "https://github.com/wp-cli/i18n-command", "support": { "issues": "https://github.com/wp-cli/i18n-command/issues", - "source": "https://github.com/wp-cli/i18n-command/tree/v2.4.4" + "source": "https://github.com/wp-cli/i18n-command/tree/v2.5.0" }, - "time": "2023-08-30T18:00:10+00:00" + "time": "2023-11-16T17:09:37+00:00" }, { "name": "wp-cli/import-command", @@ -8821,16 +8946,16 @@ }, { "name": "wp-cli/language-command", - "version": "v2.0.16", + "version": "v2.0.18", "source": { "type": "git", "url": "https://github.com/wp-cli/language-command.git", - "reference": "829cdf985fc1fdbe0572ef9a281b8a590aa4ee29" + "reference": "24f76e35f477887d09f1fd40a60d9011a6da18bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/language-command/zipball/829cdf985fc1fdbe0572ef9a281b8a590aa4ee29", - "reference": "829cdf985fc1fdbe0572ef9a281b8a590aa4ee29", + "url": "https://api.github.com/repos/wp-cli/language-command/zipball/24f76e35f477887d09f1fd40a60d9011a6da18bf", + "reference": "24f76e35f477887d09f1fd40a60d9011a6da18bf", "shasum": "" }, "require": { @@ -8894,22 +9019,22 @@ "homepage": "https://github.com/wp-cli/language-command", "support": { "issues": "https://github.com/wp-cli/language-command/issues", - "source": "https://github.com/wp-cli/language-command/tree/v2.0.16" + "source": "https://github.com/wp-cli/language-command/tree/v2.0.18" }, - "time": "2023-10-18T21:57:04+00:00" + "time": "2023-11-10T13:27:16+00:00" }, { "name": "wp-cli/maintenance-mode-command", - "version": "v2.0.10", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/wp-cli/maintenance-mode-command.git", - "reference": "599f8f08045ed2ef26a53d1432a4845b39d54f7d" + "reference": "2e9845a1cd1678b960dd8d0dd0c936648113788c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/maintenance-mode-command/zipball/599f8f08045ed2ef26a53d1432a4845b39d54f7d", - "reference": "599f8f08045ed2ef26a53d1432a4845b39d54f7d", + "url": "https://api.github.com/repos/wp-cli/maintenance-mode-command/zipball/2e9845a1cd1678b960dd8d0dd0c936648113788c", + "reference": "2e9845a1cd1678b960dd8d0dd0c936648113788c", "shasum": "" }, "require": { @@ -8955,22 +9080,22 @@ "homepage": "https://github.com/wp-cli/maintenance-mode-command", "support": { "issues": "https://github.com/wp-cli/maintenance-mode-command/issues", - "source": "https://github.com/wp-cli/maintenance-mode-command/tree/v2.0.10" + "source": "https://github.com/wp-cli/maintenance-mode-command/tree/v2.1.0" }, - "time": "2023-08-30T14:54:15+00:00" + "time": "2023-11-06T14:04:13+00:00" }, { "name": "wp-cli/media-command", - "version": "v2.0.20", + "version": "v2.0.21", "source": { "type": "git", "url": "https://github.com/wp-cli/media-command.git", - "reference": "49ef52c657de7ac1e50010ce3f6b0cdc40c02dc7" + "reference": "4950ed4ded35c52068d30fec080d545a33baa85c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/media-command/zipball/49ef52c657de7ac1e50010ce3f6b0cdc40c02dc7", - "reference": "49ef52c657de7ac1e50010ce3f6b0cdc40c02dc7", + "url": "https://api.github.com/repos/wp-cli/media-command/zipball/4950ed4ded35c52068d30fec080d545a33baa85c", + "reference": "4950ed4ded35c52068d30fec080d545a33baa85c", "shasum": "" }, "require": { @@ -9017,9 +9142,9 @@ "homepage": "https://github.com/wp-cli/media-command", "support": { "issues": "https://github.com/wp-cli/media-command/issues", - "source": "https://github.com/wp-cli/media-command/tree/v2.0.20" + "source": "https://github.com/wp-cli/media-command/tree/v2.0.21" }, - "time": "2023-09-01T13:08:38+00:00" + "time": "2023-11-10T21:56:52+00:00" }, { "name": "wp-cli/mustangostang-spyc", @@ -9074,20 +9199,20 @@ }, { "name": "wp-cli/package-command", - "version": "v2.4.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/wp-cli/package-command.git", - "reference": "f295538382b970cca506172b892f5f1c8adbedb2" + "reference": "71683195f8c27ad97009628e2a72d2a4155503b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/package-command/zipball/f295538382b970cca506172b892f5f1c8adbedb2", - "reference": "f295538382b970cca506172b892f5f1c8adbedb2", + "url": "https://api.github.com/repos/wp-cli/package-command/zipball/71683195f8c27ad97009628e2a72d2a4155503b2", + "reference": "71683195f8c27ad97009628e2a72d2a4155503b2", "shasum": "" }, "require": { - "composer/composer": "^1.10.23 || ~2.2.17", + "composer/composer": "^1.10.23 || ^2.2.17", "ext-json": "*", "wp-cli/wp-cli": "^2.8" }, @@ -9133,22 +9258,22 @@ "homepage": "https://github.com/wp-cli/package-command", "support": { "issues": "https://github.com/wp-cli/package-command/issues", - "source": "https://github.com/wp-cli/package-command/tree/v2.4.0" + "source": "https://github.com/wp-cli/package-command/tree/v2.5.0" }, - "time": "2023-09-06T21:10:16+00:00" + "time": "2023-12-08T10:38:16+00:00" }, { "name": "wp-cli/php-cli-tools", - "version": "v0.11.21", + "version": "v0.11.22", "source": { "type": "git", "url": "https://github.com/wp-cli/php-cli-tools.git", - "reference": "b3457a8d60cd0b1c48cab76ad95df136d266f0b6" + "reference": "a6bb94664ca36d0962f9c2ff25591c315a550c51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/b3457a8d60cd0b1c48cab76ad95df136d266f0b6", - "reference": "b3457a8d60cd0b1c48cab76ad95df136d266f0b6", + "url": "https://api.github.com/repos/wp-cli/php-cli-tools/zipball/a6bb94664ca36d0962f9c2ff25591c315a550c51", + "reference": "a6bb94664ca36d0962f9c2ff25591c315a550c51", "shasum": "" }, "require": { @@ -9196,9 +9321,9 @@ ], "support": { "issues": "https://github.com/wp-cli/php-cli-tools/issues", - "source": "https://github.com/wp-cli/php-cli-tools/tree/v0.11.21" + "source": "https://github.com/wp-cli/php-cli-tools/tree/v0.11.22" }, - "time": "2023-09-29T15:28:10+00:00" + "time": "2023-12-03T19:25:05+00:00" }, { "name": "wp-cli/rewrite-command", @@ -9329,16 +9454,16 @@ }, { "name": "wp-cli/scaffold-command", - "version": "v2.1.3", + "version": "v2.2.0", "source": { "type": "git", "url": "https://github.com/wp-cli/scaffold-command.git", - "reference": "4125a31134e1bad3d28cff71c178dcee1393f605" + "reference": "8aa906c3ec6ae7d95f38c962fc2561714f9c7145" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/4125a31134e1bad3d28cff71c178dcee1393f605", - "reference": "4125a31134e1bad3d28cff71c178dcee1393f605", + "url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/8aa906c3ec6ae7d95f38c962fc2561714f9c7145", + "reference": "8aa906c3ec6ae7d95f38c962fc2561714f9c7145", "shasum": "" }, "require": { @@ -9389,22 +9514,22 @@ "homepage": "https://github.com/wp-cli/scaffold-command", "support": { "issues": "https://github.com/wp-cli/scaffold-command/issues", - "source": "https://github.com/wp-cli/scaffold-command/tree/v2.1.3" + "source": "https://github.com/wp-cli/scaffold-command/tree/v2.2.0" }, - "time": "2023-08-30T14:29:02+00:00" + "time": "2023-11-16T15:25:33+00:00" }, { "name": "wp-cli/search-replace-command", - "version": "v2.1.3", + "version": "v2.1.4", "source": { "type": "git", "url": "https://github.com/wp-cli/search-replace-command.git", - "reference": "0b662a372483224fe93f113c2a4fa2089e951d34" + "reference": "88c9f23eda4eff4803a3eeeabd46d1a99cd17340" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/0b662a372483224fe93f113c2a4fa2089e951d34", - "reference": "0b662a372483224fe93f113c2a4fa2089e951d34", + "url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/88c9f23eda4eff4803a3eeeabd46d1a99cd17340", + "reference": "88c9f23eda4eff4803a3eeeabd46d1a99cd17340", "shasum": "" }, "require": { @@ -9449,9 +9574,9 @@ "homepage": "https://github.com/wp-cli/search-replace-command", "support": { "issues": "https://github.com/wp-cli/search-replace-command/issues", - "source": "https://github.com/wp-cli/search-replace-command/tree/v2.1.3" + "source": "https://github.com/wp-cli/search-replace-command/tree/v2.1.4" }, - "time": "2023-09-01T12:41:32+00:00" + "time": "2023-12-19T12:41:53+00:00" }, { "name": "wp-cli/server-command", @@ -9768,16 +9893,16 @@ }, { "name": "wp-cli/wp-cli-bundle", - "version": "v2.8.1", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/wp-cli/wp-cli-bundle.git", - "reference": "42e9cb9c16831c31ff720ed9dd1604e0f9871695" + "reference": "3512737e69e55507172e8dce400e09231ba95919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/wp-cli-bundle/zipball/42e9cb9c16831c31ff720ed9dd1604e0f9871695", - "reference": "42e9cb9c16831c31ff720ed9dd1604e0f9871695", + "url": "https://api.github.com/repos/wp-cli/wp-cli-bundle/zipball/3512737e69e55507172e8dce400e09231ba95919", + "reference": "3512737e69e55507172e8dce400e09231ba95919", "shasum": "" }, "require": { @@ -9808,11 +9933,11 @@ "wp-cli/shell-command": "^2", "wp-cli/super-admin-command": "^2", "wp-cli/widget-command": "^2", - "wp-cli/wp-cli": "^2.8.1" + "wp-cli/wp-cli": "^2.9.0" }, "require-dev": { "roave/security-advisories": "dev-latest", - "wp-cli/wp-cli-tests": "^3.0.7" + "wp-cli/wp-cli-tests": "^4" }, "suggest": { "psy/psysh": "Enhanced `wp shell` functionality" @@ -9820,7 +9945,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.8.x-dev" + "dev-main": "2.9.x-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -9838,20 +9963,20 @@ "issues": "https://github.com/wp-cli/wp-cli-bundle/issues", "source": "https://github.com/wp-cli/wp-cli-bundle" }, - "time": "2023-06-05T07:33:43+00:00" + "time": "2023-10-25T09:28:58+00:00" }, { "name": "wp-cli/wp-config-transformer", - "version": "v1.3.4", + "version": "v1.3.5", "source": { "type": "git", "url": "https://github.com/wp-cli/wp-config-transformer.git", - "reference": "1f80df413c0d779a813223d9dd5dd58358eee60c" + "reference": "202aa80528939159d52bc4026cee5453aec382db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/1f80df413c0d779a813223d9dd5dd58358eee60c", - "reference": "1f80df413c0d779a813223d9dd5dd58358eee60c", + "url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/202aa80528939159d52bc4026cee5453aec382db", + "reference": "202aa80528939159d52bc4026cee5453aec382db", "shasum": "" }, "require": { @@ -9880,9 +10005,9 @@ "homepage": "https://github.com/wp-cli/wp-config-transformer", "support": { "issues": "https://github.com/wp-cli/wp-config-transformer/issues", - "source": "https://github.com/wp-cli/wp-config-transformer/tree/v1.3.4" + "source": "https://github.com/wp-cli/wp-config-transformer/tree/v1.3.5" }, - "time": "2023-08-31T10:11:36+00:00" + "time": "2023-11-10T14:28:03+00:00" }, { "name": "wp-coding-standards/wpcs", diff --git a/css/styles.css b/css/styles.css index df80fb5e..f725804a 100644 --- a/css/styles.css +++ b/css/styles.css @@ -277,7 +277,12 @@ Style different log levels. color: rgb(137, 143, 156); margin-top: 0.4em; line-height: 1; - max-height: 1em; + /* max-height: 1em; */ +} + +.SimpleHistoryLogitem__occasionsAddOnsText { + margin: 0.4em 0 0 0; + line-height: 1; } .SimpleHistoryLogitem__details { diff --git a/docker-compose.yml b/docker-compose.yml index 06373894..dbd7fdd3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,8 +32,6 @@ services: db: image: "${DB_IMAGE:-mariadb:10.5}" - #image: "${DB_IMAGE:-biarms/mysql:5.5}" - #image: "${DB_IMAGE:-biarms/mysql:5.7}" container_name: simple-history-database restart: "${DOCKER_RESTART_POLICY:-unless-stopped}" environment: @@ -46,8 +44,6 @@ services: - "${DB_EXPOSE_PORT:-127.0.0.1:}:3306" volumes: - "${DB_DATA_DIR:-./data/mysql}:/var/lib/mysql" - #- "${DB_DATA_DIR:-./data/mysql-5.5}:/var/lib/mysql" - #- "${DB_DATA_DIR:-./data/mysql-5.7}:/var/lib/mysql" chrome: image: seleniarm/standalone-chromium:117.0 diff --git a/dropins/class-new-rows-notifier-dropin.php b/dropins/class-new-rows-notifier-dropin.php index ac65c7c5..5e8e91cb 100644 --- a/dropins/class-new-rows-notifier-dropin.php +++ b/dropins/class-new-rows-notifier-dropin.php @@ -90,7 +90,6 @@ public function ajax() { ); } - // $since_id = isset( $_GET["since_id"] ) ? absint($_GET["since_id"]) : null; $logQueryArgs = $apiArgs; $logQuery = new Log_Query(); diff --git a/dropins/class-quick-stats.php b/dropins/class-quick-stats.php index 8b9744b4..958ab131 100644 --- a/dropins/class-quick-stats.php +++ b/dropins/class-quick-stats.php @@ -57,7 +57,7 @@ public function output_quick_stats() { ); $cache_key = 'quick_stats_users_today_' . md5( serialize( $sql_loggers_in ) ); - $cache_group = 'simple-history-' . Helpers::get_cache_incrementor(); + $cache_group = Helpers::get_cache_group(); $results_users_today = wp_cache_get( $cache_key, $cache_group ); if ( false === $results_users_today ) { diff --git a/dropins/class-sidebar-add-ons-dropin.php b/dropins/class-sidebar-add-ons-dropin.php new file mode 100644 index 00000000..cf2dcd1c --- /dev/null +++ b/dropins/class-sidebar-add-ons-dropin.php @@ -0,0 +1,65 @@ + +
'; + // $occasions_html .= sprintf( + // /* translators: 1 is link to add-on page */ + // __( + // 'Set number of login attempts to store using the Extended Settings add-on.', + // 'simple-history' + // ), + // 'https://simple-history.com/add-ons/extended-settings/?utm_source=wpadmin' + // ); + // $occasions_html .= '
'; + // $occasions_html .= '' . wp_kses( + $message, + [ + 'a' => [ + 'href' => [], + 'target' => [], + 'class' => [], + ], + ] + ) . '
'; + } else { esc_html_e( 'Items in the database are kept forever.', 'simple-history' ); } diff --git a/js/scripts.js b/js/scripts.js index b73156d4..ee8fdd23 100644 --- a/js/scripts.js +++ b/js/scripts.js @@ -399,7 +399,7 @@ var simple_history = (function ($) { }, events: { - 'click .SimpleHistoryLogitem__occasions a': 'showOccasions', + 'click .SimpleHistoryLogitem__occasionsLink': 'showOccasions', 'click .SimpleHistoryLogitem__permalink': 'permalink' }, diff --git a/loggers/class-logger.php b/loggers/class-logger.php index cc760ed2..f291f2a9 100644 --- a/loggers/class-logger.php +++ b/loggers/class-logger.php @@ -1306,7 +1306,7 @@ public function log( $level = 'info', $message = '', $context = array() ) { $this->last_insert_context = $context; $this->last_insert_data = $data; - Helpers::get_cache_incrementor( true ); + Helpers::clear_cache(); /** * Fired after an event has been logged. diff --git a/loggers/class-simple-history-logger.php b/loggers/class-simple-history-logger.php index ef9b05be..d7e91a4b 100644 --- a/loggers/class-simple-history-logger.php +++ b/loggers/class-simple-history-logger.php @@ -160,10 +160,34 @@ public function on_updated_option( $option, $old_value, $new_value ) { /** * Get the log row details for this logger. * - * @param array $row Log row. + * @param object $row Log row. * @return Event_Details_Group */ public function get_log_row_details_output( $row ) { + + $message_key = $row->context_message_key; + + if ( $message_key === 'purged_events' ) { + // For message "Removed 24318 events that were older than 60 days" + // add a text with a link with information on how to modify this. + $message = sprintf( + /* translators: 1 is a link to webpage with info about how to modify number of days to keep the log */ + __( 'The number of days the log is kept can be changed using a filter or an add-on. More info.', 'simple-history' ), + esc_url( 'https://simple-history.com/support/change-number-of-days-to-keep-log/?utm_source=wpadmin' ) + ); + + return '' . wp_kses( + $message, + [ + 'a' => [ + 'href' => [], + 'target' => [], + 'class' => [], + ], + ] + ) . '
'; + } + $event_details_group = ( new Event_Details_Group() ) ->add_items( [ diff --git a/package.json b/package.json index 6a3fdd6b..8f13bf86 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,11 @@ "test:functional": "docker-compose run --rm php-cli vendor/bin/codecept run functional", "test:acceptance": "docker-compose run --rm php-cli vendor/bin/codecept run acceptance", "spell-check": "typos", - "spell-check:write-changes": "typos --write-changes" + "spell-check:write-changes": "typos --write-changes", + "test:log-query-mysq55": "PHP_CLI_VERSION=81 PHP_VERSION=8.1 DB_IMAGE=biarms/mysql:5.5 DB_DATA_DIR=./data/mysql-5.5 npm run test:wpunit-logquery", + "test:log-query-mysq57": "PHP_CLI_VERSION=81 PHP_VERSION=8.1 DB_IMAGE=biarms/mysql:5.7 DB_DATA_DIR=./data/mysql-5.7 npm run test:wpunit-logquery", + "test:log-query-mariadb105": "PHP_CLI_VERSION=81 PHP_VERSION=8.1 DB_IMAGE=mariadb:10.5 DB_DATA_DIR=./data/mysql npm run test:wpunit-logquery", + "test:wpunit-logquery": "docker-compose run --rm php-cli vendor/bin/codecept run wpunit:LogQueryTest" }, "lint-staged": { "*.php": [ diff --git a/phpstan.neon b/phpstan.neon index 6596b40c..daa26dab 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -13,3 +13,5 @@ parameters: bootstrapFiles: - tests/phpstan/bootstrap.php level: 2 + ignoreErrors: + - '#Access to an undefined property object::\$context_message_key.#' diff --git a/readme.txt b/readme.txt index 5424af92..e53558da 100644 --- a/readme.txt +++ b/readme.txt @@ -14,7 +14,7 @@ Simple History shows recent changes made within WordPress, directly on your dash The plugin works as a log/history/audit log/version history of the most important events that occur in WordPress. -It’s a plugin that is good to have on websites where several people are involved in editing the content. +It's a plugin that is good to have on websites where several people are involved in editing the content. Out of the box Simple History has support for: @@ -164,12 +164,14 @@ If you want to translate Simple History to your language then read about how thi Development of this plugin takes place at GitHub. Please join in with feature requests, bug reports, or even pull requests! https://github.com/bonny/WordPress-Simple-History -### Donation +### Sponsor this project If you like this plugin please consider donating to support the development. You can [donate using PayPal](https://www.paypal.me/eskapism) or you can [become a GitHub sponsor](https://github.com/sponsors/bonny). +There is also some [add-ons](https://simple-history.com/add-ons/) that you can buy to support the development of this plugin and get some extra features. + ## Frequently Asked Questions = Can I add my own events to the log? = @@ -209,6 +211,22 @@ This can be modified using the filter [`simple_history/db_purge_days_interval`]( ## Changelog +4.9.0 Unreleased + +This release comes with improvements to the SQL queries that the plugin use to fetch events. These optimizations enhance query performance and reliability on both MySQL and MariaDB. + +Additionally, the plugin now provides support for SQLite databases. + +- Added: support for SQLite Database. Tested with the WordPress [SQLite Database Integration](https://wordpress.org/plugins/sqlite-database-integration/) feature plugin. See [Let's make WordPress officially support SQLite](https://make.wordpress.org/core/2022/09/12/lets-make-wordpress-officially-support-sqlite/) and [Help us test the SQLite implementation](https://make.wordpress.org/core/2022/12/20/help-us-test-the-sqlite-implementation/) for more information about the SQLite integration in WordPress and the current status. Fixes [#394](https://github.com/bonny/WordPress-Simple-History/issues/394) and [#411](https://github.com/bonny/WordPress-Simple-History/issues/411). +- Added: Support for plugin preview button that soon will be available in the WordPress.org plugin directory. This is a very nice way to quickly test plugins in your web browser. Read more in blog post ["Plugin Directory: Preview button revisited"](https://make.wordpress.org/meta/2023/11/22/plugin-directory-preview-button-revisited/) and follow progress in [trac ticket "Add a Preview in Playground button to the plugin directory"](https://meta.trac.wordpress.org/ticket/7251). You can however already test the functionality using this link: [Preview Simple History plugin](https://playground.wordpress.net/?plugin=simple-history&blueprint-url=https://wordpress.org/plugins/wp-json/plugins/v1/plugin/simple-history/blueprint.json). +- Added: IP addresses are now shown on occasions. +- Added: Helper functions `get_cache_group()`, `clear_cache()`. +- Changed: Better support for MariaDB and MySQL 8 by using full group by in the query. Fixes multiple database related errors. Fixes [#397](https://github.com/bonny/WordPress-Simple-History/issues/397), [#409](https://github.com/bonny/WordPress-Simple-History/issues/409), and [#405](https://github.com/bonny/WordPress-Simple-History/issues/405). +- Changed: Misc code cleanup and improvements and GUI changes. +- Removed: Usage of `SQL_CALC_FOUND_ROWS` since it's deprecated in MySQL 8.0.17. Also [this should make the query faster](https://stackoverflow.com/a/188682). Fixes [#312](https://github.com/bonny/WordPress-Simple-History/issues/312). +- Removed: Columns "rep", "repeated" and "occasionsIDType" are removed from return value in `Log_Query()`. +- Fixed: Stats widget counting could be wrong due to incorrect loggers included in stats query. + ### 4.8.0 (December 2023) 🧩 This release contains minor fixes, some code cleanup, and adds [support for add-ons](https://simple-history.com/2023/simple-history-4-8-0-introducing-add-ons/)! diff --git a/templates/template-settings-tab-debug.php b/templates/template-settings-tab-debug.php index fece243a..ca399001 100644 --- a/templates/template-settings-tab-debug.php +++ b/templates/template-settings-tab-debug.php @@ -97,7 +97,11 @@ echo ''; +/** + * Number of rows in database + */ $logQuery = new Log_Query(); + $rows = $logQuery->query( array( 'posts_per_page' => 1, diff --git a/tests/wpunit/APHPVersionTest.php b/tests/wpunit/APHPVersionTest.php index 22af4385..51ba1e49 100644 --- a/tests/wpunit/APHPVersionTest.php +++ b/tests/wpunit/APHPVersionTest.php @@ -11,7 +11,7 @@ public function test_a_php_version() { // Output MySQL/MariaDB version. global $wpdb; if ( empty( $wpdb->use_mysqli ) ) { - $mysqlVersion = mysql_get_server_info(); + // $mysqlVersion = mysql_get_server_info(); } else { $mysqlVersion = mysqli_get_server_info( $wpdb->dbh ); } diff --git a/tests/wpunit/LogQueryTest.php b/tests/wpunit/LogQueryTest.php index a3174b89..dfb6f81e 100644 --- a/tests/wpunit/LogQueryTest.php +++ b/tests/wpunit/LogQueryTest.php @@ -1,35 +1,27 @@ markTestIncomplete('This test will fail in Mysql >5.5 and MariaDB until SQL bug is fixed.'); - // Add and set current user to admin user, so user can read all logs. $user_id = $this->factory->user->create( array( @@ -46,7 +38,7 @@ function test_query() { "num_new_rows": 1, "num_mysql_queries": 50, (what? why so many??) */ - $added_rows_id = []; + $added_rows_ids = []; $num_rows_to_add = 10; for ($i = 0; $i < $num_rows_to_add; $i++) { $logger = SimpleLogger()->info( @@ -56,31 +48,214 @@ function test_query() { 'message_num' => $i, ] ); - // sh_d('$logger', $logger->last_insert_context, $logger->last_insert_data, $logger->last_insert_id); - $added_rows_id[] = $logger->last_insert_id; + $added_rows_ids[] = $logger->last_insert_id; } // Now query the log and see what id we get as the latest. - $log_query_args = array( - 'posts_per_page' => 1, + $query_results = (new Log_Query())->query( ['posts_per_page' => 1] ); + $first_log_row_from_query = $query_results['log_rows'][0]; + + $this->assertEquals( + $added_rows_ids[$num_rows_to_add-1], + $first_log_row_from_query->id, + 'The id of the first row in query result should be the same as the id of the last added row.' ); + + // Add more. + for ($i = 0; $i < 4; $i++) { + $logger = SimpleLogger()->info( + 'Another test info message ' . $i, + [ + '_occasionsID' => 'my_occasion_id_2', + 'message_num' => $i, + ] + ); + } + + $logger = SimpleLogger()->info( + 'Single message ' . 0, + [ + '_occasionsID' => 'my_occasion_id_3', + 'message_num' => 0, + ] + ); + - $log_query = new Log_Query(); - $query_results = $log_query->query( $log_query_args ); - $first_log_row = $query_results['log_rows'][0]; + $hello_some_messages_message_count = 7; + for ($i = 0; $i < $hello_some_messages_message_count; $i++) { + $logger = SimpleLogger()->info( + 'Hello some messages ' . $i, + [ + '_occasionsID' => 'my_occasion_id_5', + 'message_num' => $i, + ] + ); + } + + $oh_such_logging_rows_num_to_add = 3; + for ($i = 0; $i < $oh_such_logging_rows_num_to_add; $i++) { + $logger = SimpleLogger()->info( + 'Oh such logging things ' . $i, + [ + '_occasionsID' => 'my_occasion_id_6', + 'message_num' => $i, + ] + ); + } + + // Get first result and check that it has 3 subsequentOccasions + // and that the message is + // "Oh such logging things {$i-1}" + // and that context contains message_num = {$i-1}. + $results = (new Log_Query())->query([ + 'posts_per_page' => 3 + ]); + + $first_log_row_from_query = $results['log_rows'][0]; + $second_log_row_from_query = $results['log_rows'][1]; + $third_log_row_from_query = $results['log_rows'][2]; + + $this->assertEquals( + 3, + $first_log_row_from_query->subsequentOccasions, + 'The first log row should have 3 subsequentOccasions.' + ); + + $this->assertIsNumeric($first_log_row_from_query->subsequentOccasions); + + $this->assertEquals( + 'Oh such logging things ' . ($i-1), + $first_log_row_from_query->message, + 'The first log row should have the message "Oh such logging things" ' . $i-1 + ); + + $this->assertEquals( + $i-1, + $first_log_row_from_query->context['message_num'], + 'The first log row should have the context message_num = ' . ($i-1) + ); + + // Test second message. + $this->assertEquals( + $hello_some_messages_message_count, + $second_log_row_from_query->subsequentOccasions, + "The second log row should have $hello_some_messages_message_count subsequentOccasions." + ); + + $this->assertIsNumeric($second_log_row_from_query->subsequentOccasions); - // On MariaDB $first_log_row->id is the same as the value in $added_rows_id[0] (the first added row) - // but it should be the id from the last added row, i.e. the value in $added_rows_id[9]. - sh_d('$first_log_row id', $first_log_row->id); - sh_d('$added_rows_id[0]', $added_rows_id[0]); - sh_d('$added_rows_id[max]', $added_rows_id[$num_rows_to_add-1]); + $this->assertEquals( + 'Hello some messages 6', + $second_log_row_from_query->message, + 'The first log row should have the message "Hello some messages 6"' + ); + + // Test third message. + $this->assertEquals( + 1, + $third_log_row_from_query->subsequentOccasions, + 'The third log row should have 1 subsequentOccasions.' + ); + + $this->assertIsNumeric($third_log_row_from_query->subsequentOccasions); - // $this->markTestIncomplete('This test will fail in MariaDB until bug is fixed.'); $this->assertEquals( - $added_rows_id[$num_rows_to_add-1], - $first_log_row->id, - 'The id of the first row should be the same as the id of the last added row.' + 'Single message 0', + $third_log_row_from_query->message, + 'The third log row should have the message "Single message 0"' + ); + + + // Test occasions query arg. for first returned row. + $query_results = (new Log_Query())->query([ + 'type' => 'occasions', + // Get history rows with id:s less than this, i.e. get earlier/previous rows. + 'logRowID' => $first_log_row_from_query->id, + 'occasionsID' => $first_log_row_from_query->occasionsID, // The occasions id is md5:ed so we need to use log query to get the last row, and then get occasions id.. + 'occasionsCount' => $first_log_row_from_query->subsequentOccasions - 1, + ]); + + $this->assertCount( + $oh_such_logging_rows_num_to_add - 1, + $query_results['log_rows'], + 'The number of rows returned when getting occasions should be ' . ($oh_such_logging_rows_num_to_add - 1) + ); + + // Test occasions query arg. for second returned row. + $query_results = (new Log_Query())->query([ + 'type' => 'occasions', + 'logRowID' => $second_log_row_from_query->id, + 'occasionsID' => $second_log_row_from_query->occasionsID, // The occasions id is md5:ed so we need to use log query to get the last row, and then get occasions id.. + 'occasionsCount' => $second_log_row_from_query->subsequentOccasions - 1, + ]); + + $this->assertCount( + $hello_some_messages_message_count - 1, + $query_results['log_rows'], + 'The number of rows returned when getting occasions should be ' . ($hello_some_messages_message_count - 1) + ); + + // Test occasions query arg. for third returned row. + $query_results = (new Log_Query())->query([ + 'type' => 'occasions', + 'logRowID' => $third_log_row_from_query->id, + 'occasionsID' => $third_log_row_from_query->occasionsID, // The occasions id is md5:ed so we need to use log query to get the last row, and then get occasions id. + 'occasionsCount' => $third_log_row_from_query->subsequentOccasions - 1, + ]); + + // No further occasions for this row. + $this->assertSame( + "1", + $third_log_row_from_query->subsequentOccasions, + 'The number of rows returned when getting occasions should be 0' + ); + + $this->assertCount( + 0, + $query_results['log_rows'], + 'The number of rows returned when getting occasions should be 0' + ); + } + + function test_since_id() { + // Add and set current user to admin user, so user can read all logs. + $user_id = $this->factory->user->create( + array( + 'role' => 'administrator', + ) + ); + wp_set_current_user( $user_id ); + + $logger = SimpleLogger()->info( + 'Test info message 1', + [ + '_occasionsID' => 'my_occasion_id', + 'message_num' => 1, + ] ); + + $last_insert_id = $logger->last_insert_id; + + // Query log again and use $last_insert_id as since_id. + // It should not have any new rows yet. + $query_results = (new Log_Query())->query( ['since_id' => $last_insert_id] ); + $this->assertEmpty($query_results['log_rows'], 'There should be no new rows yet.'); + + // Add two new events. + for ($i=0; $i<2; $i++) { + echo "log $i"; + $logger = SimpleLogger()->info( + 'Test info message ' . $i, + [ + '_occasionsID' => 'my_occasion_id_in_loop_' . $i, + 'message_num' => $i, + ] + ); + } + + // Test that we get two new rows. + $query_results = (new Log_Query())->query( ['since_id' => $last_insert_id] ); + $this->assertEquals(2, $query_results['total_row_count'], 'There should be two new rows now.'); } /** @@ -130,9 +305,6 @@ function test_log_query() { $this->assertTrue( property_exists( $first_log_row, 'initiator' ) ); $this->assertTrue( property_exists( $first_log_row, 'occasionsID' ) ); $this->assertTrue( property_exists( $first_log_row, 'subsequentOccasions' ) ); - $this->assertTrue( property_exists( $first_log_row, 'rep' ) ); - $this->assertTrue( property_exists( $first_log_row, 'repeated' ) ); - $this->assertTrue( property_exists( $first_log_row, 'occasionsIDType' ) ); $this->assertTrue( property_exists( $first_log_row, 'context' ) ); } } diff --git a/tests/wpunit/OldLoggerTest.php b/tests/wpunit/OldLoggerTest.php index 267b472c..b131c216 100644 --- a/tests/wpunit/OldLoggerTest.php +++ b/tests/wpunit/OldLoggerTest.php @@ -65,7 +65,7 @@ public function test_old_log_query_class() { $expected_object->initiator = 'wp_user'; $actual = $query_results['log_rows'][0]; - unset($actual->id, $actual->date, $actual->occasionsID, $actual->subsequentOccasions, $actual->rep, $actual->repeated, $actual->occasionsIDType, $actual->context); + unset($actual->id, $actual->date, $actual->occasionsID, $actual->subsequentOccasions, $actual->rep, $actual->repeated, $actual->context); $this->assertEquals($expected_object, $actual); }