diff --git a/composer.json b/composer.json
index f78ea414..5960c9f1 100644
--- a/composer.json
+++ b/composer.json
@@ -41,7 +41,7 @@
"symfony/filesystem": "^6.4.0 || ^7.0.0 || ^8.0.0"
},
"require-dev": {
- "doctrine/coding-standard": "^12.0.0",
+ "doctrine/coding-standard": "^14.0.0",
"mikey179/vfsstream": "^1.6.11",
"phpstan/extension-installer": "^1.3.1",
"phpstan/phpstan": "^1.10.43",
diff --git a/composer.lock b/composer.lock
index 32c19486..16cb1207 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "c5feb34536fbc447bb7a97e2d2abeeee",
+ "content-hash": "5fbc94a266c318392acc8d8500f7663d",
"packages": [
{
"name": "guzzlehttp/guzzle",
@@ -2005,16 +2005,16 @@
"packages-dev": [
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
- "version": "v1.2.0",
+ "version": "v1.2.1",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/composer-installer.git",
- "reference": "845eb62303d2ca9b289ef216356568ccc075ffd1"
+ "reference": "963f0c67bffde0eac41b56be71ac0e8ba132f0bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/845eb62303d2ca9b289ef216356568ccc075ffd1",
- "reference": "845eb62303d2ca9b289ef216356568ccc075ffd1",
+ "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/963f0c67bffde0eac41b56be71ac0e8ba132f0bd",
+ "reference": "963f0c67bffde0eac41b56be71ac0e8ba132f0bd",
"shasum": ""
},
"require": {
@@ -2097,27 +2097,27 @@
"type": "thanks_dev"
}
],
- "time": "2025-11-11T04:32:07+00:00"
+ "time": "2026-05-06T08:26:05+00:00"
},
{
"name": "doctrine/coding-standard",
- "version": "12.0.0",
+ "version": "14.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/coding-standard.git",
- "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79"
+ "reference": "897a7dc209e49ee6cf04e689c41112df17967130"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/1b2b7dc58c68833af481fb9325c25abd40681c79",
- "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79",
+ "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/897a7dc209e49ee6cf04e689c41112df17967130",
+ "reference": "897a7dc209e49ee6cf04e689c41112df17967130",
"shasum": ""
},
"require": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0.0",
- "php": "^7.2 || ^8.0",
- "slevomat/coding-standard": "^8.11",
- "squizlabs/php_codesniffer": "^3.7"
+ "php": "^7.4 || ^8.0",
+ "slevomat/coding-standard": "^8.23",
+ "squizlabs/php_codesniffer": "^4"
},
"type": "phpcodesniffer-standard",
"notification-url": "https://packagist.org/downloads/",
@@ -2151,9 +2151,9 @@
],
"support": {
"issues": "https://github.com/doctrine/coding-standard/issues",
- "source": "https://github.com/doctrine/coding-standard/tree/12.0.0"
+ "source": "https://github.com/doctrine/coding-standard/tree/14.0.0"
},
- "time": "2023-04-24T17:43:28+00:00"
+ "time": "2025-09-21T18:21:47+00:00"
},
{
"name": "mikey179/vfsstream",
@@ -2493,16 +2493,16 @@
},
{
"name": "phpstan/phpdoc-parser",
- "version": "2.3.2",
+ "version": "2.3.3",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
+ "reference": "fb19eedd2bb67ff8cf7a5502ad329e701d6398a3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
- "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fb19eedd2bb67ff8cf7a5502ad329e701d6398a3",
+ "reference": "fb19eedd2bb67ff8cf7a5502ad329e701d6398a3",
"shasum": ""
},
"require": {
@@ -2534,9 +2534,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.3"
},
- "time": "2026-01-25T14:56:51+00:00"
+ "time": "2026-07-08T07:01:06+00:00"
},
{
"name": "phpstan/phpstan",
@@ -4125,32 +4125,32 @@
},
{
"name": "slevomat/coding-standard",
- "version": "8.22.1",
+ "version": "8.31.1",
"source": {
"type": "git",
"url": "https://github.com/slevomat/coding-standard.git",
- "reference": "1dd80bf3b93692bedb21a6623c496887fad05fec"
+ "reference": "0a40807a48873948bfa7ffce2a4e69ba40cf5e76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/1dd80bf3b93692bedb21a6623c496887fad05fec",
- "reference": "1dd80bf3b93692bedb21a6623c496887fad05fec",
+ "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/0a40807a48873948bfa7ffce2a4e69ba40cf5e76",
+ "reference": "0a40807a48873948bfa7ffce2a4e69ba40cf5e76",
"shasum": ""
},
"require": {
- "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.1.2",
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.2.1",
"php": "^7.4 || ^8.0",
- "phpstan/phpdoc-parser": "^2.3.0",
- "squizlabs/php_codesniffer": "^3.13.4"
+ "phpstan/phpdoc-parser": "^2.3.3",
+ "squizlabs/php_codesniffer": "^4.0.1"
},
"require-dev": {
- "phing/phing": "3.0.1|3.1.0",
+ "phing/phing": "3.0.1|3.1.2",
"php-parallel-lint/php-parallel-lint": "1.4.0",
- "phpstan/phpstan": "2.1.24",
- "phpstan/phpstan-deprecation-rules": "2.0.3",
- "phpstan/phpstan-phpunit": "2.0.7",
- "phpstan/phpstan-strict-rules": "2.0.6",
- "phpunit/phpunit": "9.6.8|10.5.48|11.4.4|11.5.36|12.3.10"
+ "phpstan/phpstan": "2.2.7",
+ "phpstan/phpstan-deprecation-rules": "2.0.5",
+ "phpstan/phpstan-phpunit": "2.0.18",
+ "phpstan/phpstan-strict-rules": "2.0.12",
+ "phpunit/phpunit": "9.6.34|10.5.63|11.4.4|11.5.56|12.5.33"
},
"type": "phpcodesniffer-standard",
"extra": {
@@ -4174,7 +4174,7 @@
],
"support": {
"issues": "https://github.com/slevomat/coding-standard/issues",
- "source": "https://github.com/slevomat/coding-standard/tree/8.22.1"
+ "source": "https://github.com/slevomat/coding-standard/tree/8.31.1"
},
"funding": [
{
@@ -4186,30 +4186,35 @@
"type": "tidelift"
}
],
- "time": "2025-09-13T08:53:30+00:00"
+ "time": "2026-07-31T10:42:43+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.13.6",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "4c378e1a528ea066890fc2397cbdd2f94eb2fc91"
+ "reference": "bbdc3d0532623e21838b7041a4364383a8126f96"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/4c378e1a528ea066890fc2397cbdd2f94eb2fc91",
- "reference": "4c378e1a528ea066890fc2397cbdd2f94eb2fc91",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/bbdc3d0532623e21838b7041a4364383a8126f96",
+ "reference": "bbdc3d0532623e21838b7041a4364383a8126f96",
"shasum": ""
},
"require": {
+ "ext-libxml": "*",
"ext-simplexml": "*",
"ext-tokenizer": "*",
"ext-xmlwriter": "*",
- "php": ">=5.4.0"
+ "php": ">=7.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
+ "phpunit/phpunit": "^8.4.0 || ^9.3.4 || ^10.5.32 || 11.3.3 - 11.5.28 || ^11.5.31"
+ },
+ "suggest": {
+ "ext-iconv": "For accurate character length calculation when the checked files contain multi-byte characters.",
+ "ext-pcntl": "For parallel processing support via the --parallel CLI option."
},
"bin": [
"bin/phpcbf",
@@ -4234,7 +4239,7 @@
"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.",
+ "description": "PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.",
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
"phpcs",
@@ -4265,7 +4270,7 @@
"type": "thanks_dev"
}
],
- "time": "2026-08-06T00:17:32+00:00"
+ "time": "2026-08-06T02:45:27+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
index e8038ca9..f20e761f 100644
--- a/phpcs.xml.dist
+++ b/phpcs.xml.dist
@@ -23,5 +23,6 @@
+