diff --git a/composer.json b/composer.json
index b72174b6..e939b024 100644
--- a/composer.json
+++ b/composer.json
@@ -13,7 +13,7 @@
"laminas/laminas-loader": "^2.9.0",
"laminas/laminas-mime": "^2.11.0",
"laminas/laminas-stdlib": "^3.17.0",
- "laminas/laminas-validator": "^2.30.1",
+ "laminas/laminas-validator": "^2.31.0",
"symfony/polyfill-mbstring": "^1.27.0",
"webmozart/assert": "^1.11.0",
"symfony/polyfill-intl-idn": "^1.27.0"
@@ -21,16 +21,16 @@
"require-dev": {
"laminas/laminas-coding-standard": "~2.5.0",
"laminas/laminas-crypt": "^3.10.0",
- "laminas/laminas-db": "^2.17",
- "laminas/laminas-servicemanager": "^3.20",
- "phpunit/phpunit": "^10.0.17",
+ "laminas/laminas-db": "^2.18",
+ "laminas/laminas-servicemanager": "^3.21",
+ "phpunit/phpunit": "^10.1.3",
"psalm/plugin-phpunit": "^0.18.4",
- "symfony/process": "^6.2.7",
- "vimeo/psalm": "^5.8"
+ "symfony/process": "^6.2.10",
+ "vimeo/psalm": "^5.11"
},
"suggest": {
"laminas/laminas-crypt": "^3.10 Crammd5 support in SMTP Auth",
- "laminas/laminas-servicemanager": "^3.20 when using SMTP to deliver messages"
+ "laminas/laminas-servicemanager": "^3.21 when using SMTP to deliver messages"
},
"config": {
"sort-packages": true,
diff --git a/composer.lock b/composer.lock
index 758439cb..602ac21a 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": "3795c93cbf839bacfd83fbb217a384b1",
+ "content-hash": "ff7a7449f0dedf8f339662493072a3a5",
"packages": [
{
"name": "laminas/laminas-loader",
@@ -125,26 +125,26 @@
},
{
"name": "laminas/laminas-servicemanager",
- "version": "3.20.0",
+ "version": "3.21.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-servicemanager.git",
- "reference": "bc2c2cbe2dd90db8b9d16b0618f542692b76ab59"
+ "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/bc2c2cbe2dd90db8b9d16b0618f542692b76ab59",
- "reference": "bc2c2cbe2dd90db8b9d16b0618f542692b76ab59",
+ "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/625f2aa3bc6dd02688b2da5155b3a69870812bda",
+ "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda",
"shasum": ""
},
"require": {
- "laminas/laminas-stdlib": "^3.2.1",
- "php": "~8.0.0 || ~8.1.0 || ~8.2.0",
+ "laminas/laminas-stdlib": "^3.17",
+ "php": "~8.1.0 || ~8.2.0",
"psr/container": "^1.0"
},
"conflict": {
"ext-psr": "*",
- "laminas/laminas-code": "<3.3.1",
+ "laminas/laminas-code": "<4.10.0",
"zendframework/zend-code": "<3.3.1",
"zendframework/zend-servicemanager": "*"
},
@@ -156,18 +156,19 @@
},
"require-dev": {
"composer/package-versions-deprecated": "^1.11.99.5",
- "laminas/laminas-coding-standard": "~2.4.0",
+ "friendsofphp/proxy-manager-lts": "^1.0.14",
+ "laminas/laminas-code": "^4.10.0",
+ "laminas/laminas-coding-standard": "~2.5.0",
"laminas/laminas-container-config-test": "^0.8",
"laminas/laminas-dependency-plugin": "^2.2",
- "mikey179/vfsstream": "^1.6.11@alpha",
- "ocramius/proxy-manager": "^2.14.1",
- "phpbench/phpbench": "^1.2.7",
- "phpunit/phpunit": "^9.5.26",
- "psalm/plugin-phpunit": "^0.18.0",
- "vimeo/psalm": "^5.0.0"
+ "mikey179/vfsstream": "^1.6.11",
+ "phpbench/phpbench": "^1.2.9",
+ "phpunit/phpunit": "^10.0.17",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.8.0"
},
"suggest": {
- "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services"
+ "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services"
},
"bin": [
"bin/generate-deps-for-config-factory",
@@ -211,7 +212,7 @@
"type": "community_bridge"
}
],
- "time": "2022-12-01T17:03:38+00:00"
+ "time": "2023-05-14T12:24:54+00:00"
},
{
"name": "laminas/laminas-stdlib",
@@ -274,40 +275,40 @@
},
{
"name": "laminas/laminas-validator",
- "version": "2.30.1",
+ "version": "2.31.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-validator.git",
- "reference": "b7d217b5e4951955fda9a3a5ada91b717b5c8d5c"
+ "reference": "7dc274aa5afd5e23be0dbea13363e3d66ba5808b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/b7d217b5e4951955fda9a3a5ada91b717b5c8d5c",
- "reference": "b7d217b5e4951955fda9a3a5ada91b717b5c8d5c",
+ "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/7dc274aa5afd5e23be0dbea13363e3d66ba5808b",
+ "reference": "7dc274aa5afd5e23be0dbea13363e3d66ba5808b",
"shasum": ""
},
"require": {
- "laminas/laminas-servicemanager": "^3.12.0",
+ "laminas/laminas-servicemanager": "^3.21.0",
"laminas/laminas-stdlib": "^3.13",
- "php": "~8.0.0 || ~8.1.0 || ~8.2.0",
- "psr/http-message": "^1.0.1"
+ "php": "~8.1.0 || ~8.2.0",
+ "psr/http-message": "^1.0.1 || ^2.0.0"
},
"conflict": {
"zendframework/zend-validator": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "^2.4.0",
- "laminas/laminas-db": "^2.16",
- "laminas/laminas-filter": "^2.28.1",
+ "laminas/laminas-coding-standard": "^2.5",
+ "laminas/laminas-db": "^2.18",
+ "laminas/laminas-filter": "^2.32",
"laminas/laminas-http": "^2.18",
- "laminas/laminas-i18n": "^2.19",
- "laminas/laminas-session": "^2.15",
+ "laminas/laminas-i18n": "^2.23",
+ "laminas/laminas-session": "^2.16",
"laminas/laminas-uri": "^2.10.0",
- "phpunit/phpunit": "^9.5.26",
- "psalm/plugin-phpunit": "^0.18.3",
- "psr/http-client": "^1.0.1",
- "psr/http-factory": "^1.0.1",
- "vimeo/psalm": "^5.0"
+ "phpunit/phpunit": "^10.1.3",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "psr/http-client": "^1.0.2",
+ "psr/http-factory": "^1.0.2",
+ "vimeo/psalm": "^5.11"
},
"suggest": {
"laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator",
@@ -355,7 +356,7 @@
"type": "community_bridge"
}
],
- "time": "2023-01-30T22:41:19+00:00"
+ "time": "2023-05-19T09:42:26+00:00"
},
{
"name": "psr/container",
@@ -407,25 +408,25 @@
},
{
"name": "psr/http-message",
- "version": "1.0.1",
+ "version": "2.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -440,7 +441,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
@@ -454,9 +455,9 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-message/tree/master"
+ "source": "https://github.com/php-fig/http-message/tree/2.0"
},
- "time": "2016-08-06T14:39:51+00:00"
+ "time": "2023-04-04T09:54:51+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
@@ -1701,16 +1702,16 @@
},
{
"name": "laminas/laminas-db",
- "version": "2.17.0",
+ "version": "2.18.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-db.git",
- "reference": "9020ba27ffa4966c03cac743144bfd6716fdab60"
+ "reference": "4df7a3f7ffe268e8683306fcec125c269408b295"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-db/zipball/9020ba27ffa4966c03cac743144bfd6716fdab60",
- "reference": "9020ba27ffa4966c03cac743144bfd6716fdab60",
+ "url": "https://api.github.com/repos/laminas/laminas-db/zipball/4df7a3f7ffe268e8683306fcec125c269408b295",
+ "reference": "4df7a3f7ffe268e8683306fcec125c269408b295",
"shasum": ""
},
"require": {
@@ -1768,7 +1769,7 @@
"type": "community_bridge"
}
],
- "time": "2023-01-31T12:09:24+00:00"
+ "time": "2023-05-05T16:22:28+00:00"
},
{
"name": "laminas/laminas-math",
@@ -1898,16 +1899,16 @@
},
{
"name": "netresearch/jsonmapper",
- "version": "v4.1.0",
+ "version": "v4.2.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f"
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
- "reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
"shasum": ""
},
"require": {
@@ -1943,22 +1944,22 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
},
- "time": "2022-12-08T20:46:14+00:00"
+ "time": "2023-04-09T17:37:40+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.15.4",
+ "version": "v4.15.5",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e",
+ "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e",
"shasum": ""
},
"require": {
@@ -1999,9 +2000,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5"
},
- "time": "2023-03-05T19:49:14+00:00"
+ "time": "2023-05-19T20:20:00+00:00"
},
{
"name": "phar-io/manifest",
@@ -2325,16 +2326,16 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.0.2",
+ "version": "10.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "20800e84296ea4732f9a125e08ce86b4004ae3e4"
+ "reference": "884a0da7f9f46f28b2cb69134217fd810b793974"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/20800e84296ea4732f9a125e08ce86b4004ae3e4",
- "reference": "20800e84296ea4732f9a125e08ce86b4004ae3e4",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/884a0da7f9f46f28b2cb69134217fd810b793974",
+ "reference": "884a0da7f9f46f28b2cb69134217fd810b793974",
"shasum": ""
},
"require": {
@@ -2353,7 +2354,7 @@
"theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^10.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -2362,7 +2363,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.0-dev"
+ "dev-main": "10.1-dev"
}
},
"autoload": {
@@ -2390,7 +2391,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.0.2"
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.1"
},
"funding": [
{
@@ -2398,20 +2400,20 @@
"type": "github"
}
],
- "time": "2023-03-06T13:00:19+00:00"
+ "time": "2023-04-17T12:15:40+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "4.0.1",
+ "version": "4.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "fd9329ab3368f59fe1fe808a189c51086bd4b6bd"
+ "reference": "5647d65443818959172645e7ed999217360654b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/fd9329ab3368f59fe1fe808a189c51086bd4b6bd",
- "reference": "fd9329ab3368f59fe1fe808a189c51086bd4b6bd",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6",
+ "reference": "5647d65443818959172645e7ed999217360654b6",
"shasum": ""
},
"require": {
@@ -2450,7 +2452,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.1"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2"
},
"funding": [
{
@@ -2458,7 +2461,7 @@
"type": "github"
}
],
- "time": "2023-02-10T16:53:14+00:00"
+ "time": "2023-05-07T09:13:23+00:00"
},
{
"name": "phpunit/php-invoker",
@@ -2643,16 +2646,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "10.0.17",
+ "version": "10.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "b75eddcabca052312ae38c8a2bc69ff1a7b89b77"
+ "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b75eddcabca052312ae38c8a2bc69ff1a7b89b77",
- "reference": "b75eddcabca052312ae38c8a2bc69ff1a7b89b77",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2379ebafc1737e71cdc84f402acb6b7f04198b9d",
+ "reference": "2379ebafc1737e71cdc84f402acb6b7f04198b9d",
"shasum": ""
},
"require": {
@@ -2666,7 +2669,7 @@
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=8.1",
- "phpunit/php-code-coverage": "^10.0",
+ "phpunit/php-code-coverage": "^10.1.1",
"phpunit/php-file-iterator": "^4.0",
"phpunit/php-invoker": "^4.0",
"phpunit/php-text-template": "^3.0",
@@ -2692,7 +2695,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.0-dev"
+ "dev-main": "10.1-dev"
}
},
"autoload": {
@@ -2724,7 +2727,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.0.17"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/10.1.3"
},
"funding": [
{
@@ -2740,7 +2743,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-20T14:42:33+00:00"
+ "time": "2023-05-11T05:16:22+00:00"
},
{
"name": "psalm/plugin-phpunit",
@@ -3154,16 +3157,16 @@
},
{
"name": "sebastian/diff",
- "version": "5.0.0",
+ "version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "70dd1b20bc198da394ad542e988381b44e64e39f"
+ "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/70dd1b20bc198da394ad542e988381b44e64e39f",
- "reference": "70dd1b20bc198da394ad542e988381b44e64e39f",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
+ "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
"shasum": ""
},
"require": {
@@ -3208,7 +3211,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
},
"funding": [
{
@@ -3216,20 +3220,20 @@
"type": "github"
}
],
- "time": "2023-02-03T07:00:31+00:00"
+ "time": "2023-05-01T07:48:21+00:00"
},
{
"name": "sebastian/environment",
- "version": "6.0.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "b6f3694c6386c7959915a0037652e0c40f6f69cc"
+ "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/b6f3694c6386c7959915a0037652e0c40f6f69cc",
- "reference": "b6f3694c6386c7959915a0037652e0c40f6f69cc",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
+ "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
"shasum": ""
},
"require": {
@@ -3271,7 +3275,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/6.0.0"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
},
"funding": [
{
@@ -3279,7 +3284,7 @@
"type": "github"
}
],
- "time": "2023-02-03T07:03:04+00:00"
+ "time": "2023-04-11T05:39:26+00:00"
},
{
"name": "sebastian/exporter",
@@ -3823,16 +3828,16 @@
},
{
"name": "spatie/array-to-xml",
- "version": "3.1.5",
+ "version": "3.1.6",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
- "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43"
+ "reference": "e210b98957987c755372465be105d32113f339a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43",
- "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43",
+ "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/e210b98957987c755372465be105d32113f339a4",
+ "reference": "e210b98957987c755372465be105d32113f339a4",
"shasum": ""
},
"require": {
@@ -3870,7 +3875,7 @@
"xml"
],
"support": {
- "source": "https://github.com/spatie/array-to-xml/tree/3.1.5"
+ "source": "https://github.com/spatie/array-to-xml/tree/3.1.6"
},
"funding": [
{
@@ -3882,7 +3887,7 @@
"type": "github"
}
],
- "time": "2022-12-24T13:43:51+00:00"
+ "time": "2023-05-11T14:04:07+00:00"
},
{
"name": "squizlabs/php_codesniffer",
@@ -3943,16 +3948,16 @@
},
{
"name": "symfony/console",
- "version": "v6.2.7",
+ "version": "v6.2.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "cbad09eb8925b6ad4fb721c7a179344dc4a19d45"
+ "reference": "12288d9f4500f84a4d02254d4aa968b15488476f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/cbad09eb8925b6ad4fb721c7a179344dc4a19d45",
- "reference": "cbad09eb8925b6ad4fb721c7a179344dc4a19d45",
+ "url": "https://api.github.com/repos/symfony/console/zipball/12288d9f4500f84a4d02254d4aa968b15488476f",
+ "reference": "12288d9f4500f84a4d02254d4aa968b15488476f",
"shasum": ""
},
"require": {
@@ -4014,12 +4019,12 @@
"homepage": "https://symfony.com",
"keywords": [
"cli",
- "command line",
+ "command-line",
"console",
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.2.7"
+ "source": "https://github.com/symfony/console/tree/v6.2.10"
},
"funding": [
{
@@ -4035,7 +4040,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-25T17:00:03+00:00"
+ "time": "2023-04-28T13:37:43+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4106,16 +4111,16 @@
},
{
"name": "symfony/filesystem",
- "version": "v6.2.7",
+ "version": "v6.2.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "82b6c62b959f642d000456f08c6d219d749215b3"
+ "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3",
- "reference": "82b6c62b959f642d000456f08c6d219d749215b3",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd588debf7d1bc16a2c84b4b3b71145d9946b894",
+ "reference": "fd588debf7d1bc16a2c84b4b3b71145d9946b894",
"shasum": ""
},
"require": {
@@ -4149,7 +4154,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v6.2.7"
+ "source": "https://github.com/symfony/filesystem/tree/v6.2.10"
},
"funding": [
{
@@ -4165,7 +4170,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:44:56+00:00"
+ "time": "2023-04-18T13:46:08+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -4332,16 +4337,16 @@
},
{
"name": "symfony/process",
- "version": "v6.2.7",
+ "version": "v6.2.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "680e8a2ea6b3f87aecc07a6a65a203ae573d1902"
+ "reference": "b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/680e8a2ea6b3f87aecc07a6a65a203ae573d1902",
- "reference": "680e8a2ea6b3f87aecc07a6a65a203ae573d1902",
+ "url": "https://api.github.com/repos/symfony/process/zipball/b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e",
+ "reference": "b34cdbc9c5e75d45a3703e63a48ad07aafa8bf2e",
"shasum": ""
},
"require": {
@@ -4373,7 +4378,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.2.7"
+ "source": "https://github.com/symfony/process/tree/v6.2.10"
},
"funding": [
{
@@ -4389,7 +4394,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-24T10:42:00+00:00"
+ "time": "2023-04-18T13:56:57+00:00"
},
{
"name": "symfony/service-contracts",
@@ -4476,16 +4481,16 @@
},
{
"name": "symfony/string",
- "version": "v6.2.7",
+ "version": "v6.2.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "67b8c1eec78296b85dc1c7d9743830160218993d"
+ "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/67b8c1eec78296b85dc1c7d9743830160218993d",
- "reference": "67b8c1eec78296b85dc1c7d9743830160218993d",
+ "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef",
+ "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef",
"shasum": ""
},
"require": {
@@ -4542,7 +4547,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.2.7"
+ "source": "https://github.com/symfony/string/tree/v6.2.8"
},
"funding": [
{
@@ -4558,7 +4563,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-24T10:42:00+00:00"
+ "time": "2023-03-20T16:06:02+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4612,16 +4617,16 @@
},
{
"name": "vimeo/psalm",
- "version": "5.8.0",
+ "version": "5.11.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
- "reference": "9cf4f60a333f779ad3bc704a555920e81d4fdcda"
+ "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/9cf4f60a333f779ad3bc704a555920e81d4fdcda",
- "reference": "9cf4f60a333f779ad3bc704a555920e81d4fdcda",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/c9b192ab8400fdaf04b2b13d110575adc879aa90",
+ "reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90",
"shasum": ""
},
"require": {
@@ -4653,6 +4658,7 @@
"psalm/psalm": "self.version"
},
"require-dev": {
+ "amphp/phpunit-util": "^2.0",
"bamarni/composer-bin-plugin": "^1.4",
"brianium/paratest": "^6.9",
"ext-curl": "*",
@@ -4711,9 +4717,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
- "source": "https://github.com/vimeo/psalm/tree/5.8.0"
+ "source": "https://github.com/vimeo/psalm/tree/5.11.0"
},
- "time": "2023-03-09T04:14:35+00:00"
+ "time": "2023-05-04T21:35:44+00:00"
},
{
"name": "webimpress/coding-standard",
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index cfa7381d..ec78d9e6 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -13,11 +13,6 @@
disable
-
-
- ./src
-
-
@@ -73,4 +68,9 @@
+
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 70b8cdd7..88d83696 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -1,5 +1,5 @@
-
+
! is_string($email)
@@ -297,13 +297,12 @@
is_array($headers)
is_string($headerFieldNameOrLine)
-
- headers]]>
- headers]]>
-
mixed
+
+ pluginClassLoader->load($key) ?: GenericHeader::class]]>
+
$headers
$value
@@ -325,7 +324,6 @@
$current
$current
- $header
$i
$index
$name
@@ -336,10 +334,6 @@
HeaderInterface
false|ArrayIterator|HeaderInterface
-
- setEncoding
- setEncoding
-
$i
@@ -349,6 +343,9 @@
$results[0]
$results[0]
+
+ ]]>
+
@@ -612,7 +609,6 @@
$endPos
- $string
$string
escapeString($old, $new)]]>
escapeString($reference, $mailbox)]]>
@@ -629,7 +625,6 @@
$tokens[2][3]
- $string
$tokens
@@ -852,6 +847,7 @@
$aliases
+ $factories
$instanceOf
@@ -2307,9 +2303,6 @@
}
}]]>
-
- $type
-
@@ -2319,14 +2312,6 @@
-
-
- ProtocolTrait::class
-
-
- getCryptoMethod
-
-
$result
@@ -3177,10 +3162,6 @@
-
- setMethods
- setMethods
-
$connectedTimeAfterFirstMail
diff --git a/src/Header/HeaderLocatorInterface.php b/src/Header/HeaderLocatorInterface.php
index 28a93dc9..eafc1987 100644
--- a/src/Header/HeaderLocatorInterface.php
+++ b/src/Header/HeaderLocatorInterface.php
@@ -9,6 +9,10 @@
*/
interface HeaderLocatorInterface
{
+ /**
+ * @param class-string|null $default
+ * @return class-string|null
+ */
public function get(string $name, ?string $default = null): ?string;
public function has(string $name): bool;
diff --git a/src/Headers.php b/src/Headers.php
index 840edec5..626fd3a0 100644
--- a/src/Headers.php
+++ b/src/Headers.php
@@ -566,8 +566,9 @@ public function loadHeader($headerLine)
{
[$name] = GenericHeader::splitHeaderLine($headerLine);
- /** @var HeaderInterface $class */
$class = $this->resolveHeaderClass($name);
+ assert(null !== $class);
+
return $class::fromString($headerLine);
}
@@ -581,16 +582,18 @@ protected function lazyLoadHeader($index)
$key = $this->headersKeys[$index];
- /** @var GenericHeader $class */
$class = $this->resolveHeaderClass($key);
+ assert(null !== $class);
$encoding = $current->getEncoding();
$headers = $class::fromString($current->toString());
if (is_array($headers)) {
$current = array_shift($headers);
+ assert($current instanceof HeaderInterface);
$current->setEncoding($encoding);
$this->headers[$index] = $current;
foreach ($headers as $header) {
+ assert($header instanceof HeaderInterface);
$header->setEncoding($encoding);
$this->headersKeys[] = $key;
$this->headers[] = $header;
@@ -617,9 +620,9 @@ protected function normalizeFieldName($fieldName)
/**
* @param string $key
- * @return null|string
+ * @return null|class-string
*/
- private function resolveHeaderClass($key)
+ private function resolveHeaderClass($key): ?string
{
if ($this->pluginClassLoader) {
return $this->pluginClassLoader->load($key) ?: GenericHeader::class;
diff --git a/test/Header/HeaderLocatorTest.php b/test/Header/HeaderLocatorTest.php
index 5a469225..5de948e9 100644
--- a/test/Header/HeaderLocatorTest.php
+++ b/test/Header/HeaderLocatorTest.php
@@ -25,8 +25,8 @@ public static function provideHeaderNames(): array
}
/**
- * @param null|class-string $expected
- * @param null|class-string $default
+ * @param null|class-string $expected
+ * @param null|class-string $default
* @dataProvider provideHeaderNames
*/
public function testHeaderIsProperlyLoaded(string $name, ?string $expected, ?string $default = null): void
diff --git a/test/Protocol/ProtocolTraitTest.php b/test/Protocol/ProtocolTraitTest.php
index 44297ff4..c0be392f 100644
--- a/test/Protocol/ProtocolTraitTest.php
+++ b/test/Protocol/ProtocolTraitTest.php
@@ -12,7 +12,9 @@ class ProtocolTraitTest extends TestCase
{
public function testTls12Version(): void
{
- $mock = $this->getMockForTrait(ProtocolTrait::class);
+ $mock = new class {
+ use ProtocolTrait;
+ };
$this->assertNotEmpty(
STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT & $mock->getCryptoMethod(),
diff --git a/test/Protocol/SmtpPluginManagerCompatibilityTest.php b/test/Protocol/SmtpPluginManagerCompatibilityTest.php
index 7776dc28..23adfe09 100644
--- a/test/Protocol/SmtpPluginManagerCompatibilityTest.php
+++ b/test/Protocol/SmtpPluginManagerCompatibilityTest.php
@@ -13,7 +13,7 @@ class SmtpPluginManagerCompatibilityTest extends TestCase
{
use CommonPluginManagerTrait;
- protected function getPluginManager(): SmtpPluginManager
+ protected static function getPluginManager(): SmtpPluginManager
{
return new SmtpPluginManager(new ServiceManager());
}