diff --git a/lam/composer.lock b/lam/composer.lock index 6b85eedd3..dc2827614 100644 --- a/lam/composer.lock +++ b/lam/composer.lock @@ -679,26 +679,26 @@ }, { "name": "firebase/php-jwt", - "version": "v6.10.0", + "version": "v6.10.1", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "a49db6f0a5033aef5143295342f1c95521b075ff" + "reference": "500501c2ce893c824c801da135d02661199f60c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/a49db6f0a5033aef5143295342f1c95521b075ff", - "reference": "a49db6f0a5033aef5143295342f1c95521b075ff", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5", + "reference": "500501c2ce893c824c801da135d02661199f60c5", "shasum": "" }, "require": { - "php": "^7.4||^8.0" + "php": "^8.0" }, "require-dev": { - "guzzlehttp/guzzle": "^6.5||^7.4", + "guzzlehttp/guzzle": "^7.4", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "psr/cache": "^1.0||^2.0", + "psr/cache": "^2.0||^3.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0" }, @@ -736,9 +736,9 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.10.0" + "source": "https://github.com/firebase/php-jwt/tree/v6.10.1" }, - "time": "2023-12-01T16:26:39+00:00" + "time": "2024-05-18T18:05:11+00:00" }, { "name": "guzzlehttp/psr7", @@ -916,16 +916,16 @@ }, { "name": "illuminate/collections", - "version": "v10.48.3", + "version": "v10.48.12", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "36651526fa6bb5445ffc6d51899d80291f8e0486" + "reference": "f9589f1063a449111dcaa1d68285b507d9483a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/36651526fa6bb5445ffc6d51899d80291f8e0486", - "reference": "36651526fa6bb5445ffc6d51899d80291f8e0486", + "url": "https://api.github.com/repos/illuminate/collections/zipball/f9589f1063a449111dcaa1d68285b507d9483a95", + "reference": "f9589f1063a449111dcaa1d68285b507d9483a95", "shasum": "" }, "require": { @@ -967,11 +967,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-10T15:34:39+00:00" + "time": "2024-03-20T20:09:13+00:00" }, { "name": "illuminate/conditionable", - "version": "v10.48.3", + "version": "v10.48.12", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", @@ -1017,7 +1017,7 @@ }, { "name": "illuminate/contracts", - "version": "v10.48.3", + "version": "v10.48.12", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", @@ -1065,7 +1065,7 @@ }, { "name": "illuminate/macroable", - "version": "v10.48.3", + "version": "v10.48.12", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -1111,16 +1111,16 @@ }, { "name": "illuminate/pagination", - "version": "v10.48.3", + "version": "v10.48.12", "source": { "type": "git", "url": "https://github.com/illuminate/pagination.git", - "reference": "b42a851e037984e38f8964d1a96d15b0302bebfc" + "reference": "616874b9607ff35925347e1710a8b5151858cdf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pagination/zipball/b42a851e037984e38f8964d1a96d15b0302bebfc", - "reference": "b42a851e037984e38f8964d1a96d15b0302bebfc", + "url": "https://api.github.com/repos/illuminate/pagination/zipball/616874b9607ff35925347e1710a8b5151858cdf2", + "reference": "616874b9607ff35925347e1710a8b5151858cdf2", "shasum": "" }, "require": { @@ -1157,20 +1157,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-01-12T17:17:46+00:00" + "time": "2024-04-11T14:31:05+00:00" }, { "name": "illuminate/support", - "version": "v10.48.3", + "version": "v10.48.12", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "980d80017e859c8b1720892d952516e8c0b6708f" + "reference": "263f389d81488c237846b69469f91387ca2729f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/980d80017e859c8b1720892d952516e8c0b6708f", - "reference": "980d80017e859c8b1720892d952516e8c0b6708f", + "url": "https://api.github.com/repos/illuminate/support/zipball/263f389d81488c237846b69469f91387ca2729f3", + "reference": "263f389d81488c237846b69469f91387ca2729f3", "shasum": "" }, "require": { @@ -1228,20 +1228,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-11T21:46:45+00:00" + "time": "2024-05-16T21:33:51+00:00" }, { "name": "monolog/monolog", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", "shasum": "" }, "require": { @@ -1264,7 +1264,7 @@ "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", + "phpunit/phpunit": "^10.5.17", "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", @@ -1317,7 +1317,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.5.0" + "source": "https://github.com/Seldaek/monolog/tree/3.6.0" }, "funding": [ { @@ -1329,20 +1329,20 @@ "type": "tidelift" } ], - "time": "2023-10-27T15:32:31+00:00" + "time": "2024-04-12T21:02:21+00:00" }, { "name": "nesbot/carbon", - "version": "2.72.3", + "version": "2.72.5", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", "shasum": "" }, "require": { @@ -1376,8 +1376,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ @@ -1436,20 +1436,20 @@ "type": "tidelift" } ], - "time": "2024-01-25T10:35:09+00:00" + "time": "2024-06-03T19:18:41+00:00" }, { "name": "paragonie/constant_time_encoding", - "version": "v2.6.3", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", - "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105", + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105", "shasum": "" }, "require": { @@ -1503,7 +1503,7 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2022-06-14T06:56:20+00:00" + "time": "2024-05-08T12:18:48+00:00" }, { "name": "paragonie/random_compat", @@ -1561,16 +1561,16 @@ }, { "name": "php-http/discovery", - "version": "1.19.2", + "version": "1.19.4", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb" + "reference": "0700efda8d7526335132360167315fdab3aeb599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb", - "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", "shasum": "" }, "require": { @@ -1594,7 +1594,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" }, "type": "composer-plugin", "extra": { @@ -1633,9 +1634,9 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.2" + "source": "https://github.com/php-http/discovery/tree/1.19.4" }, - "time": "2023-11-30T16:49:05+00:00" + "time": "2024-03-29T13:00:05+00:00" }, { "name": "phpmailer/phpmailer", @@ -1983,20 +1984,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -2020,7 +2021,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -2032,9 +2033,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -2497,16 +2498,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -2515,7 +2516,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2544,7 +2545,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -2560,27 +2561,27 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/http-client", - "version": "v6.4.5", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "f3c86a60a3615f466333a11fd42010d4382a82c7" + "reference": "61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/f3c86a60a3615f466333a11fd42010d4382a82c7", - "reference": "f3c86a60a3615f466333a11fd42010d4382a82c7", + "url": "https://api.github.com/repos/symfony/http-client/zipball/61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05", + "reference": "61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "^3", + "symfony/http-client-contracts": "^3.4.1", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -2598,7 +2599,7 @@ "amphp/http-client": "^4.2.1", "amphp/http-tunnel": "^1.0", "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4", + "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", @@ -2637,7 +2638,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.5" + "source": "https://github.com/symfony/http-client/tree/v6.4.8" }, "funding": [ { @@ -2653,20 +2654,20 @@ "type": "tidelift" } ], - "time": "2024-03-02T12:45:30+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "1ee70e699b41909c209a0c930f11034b93578654" + "reference": "20414d96f391677bf80078aa55baece78b82647d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/1ee70e699b41909c209a0c930f11034b93578654", - "reference": "1ee70e699b41909c209a0c930f11034b93578654", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", + "reference": "20414d96f391677bf80078aa55baece78b82647d", "shasum": "" }, "require": { @@ -2675,7 +2676,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2715,7 +2716,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" }, "funding": [ { @@ -2731,20 +2732,20 @@ "type": "tidelift" } ], - "time": "2023-07-30T20:28:31+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304" + "reference": "27de8cc95e11db7a50b027e71caaab9024545947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ebc713bc6e6f4b53f46539fc158be85dfcd77304", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", + "reference": "27de8cc95e11db7a50b027e71caaab9024545947", "shasum": "" }, "require": { @@ -2792,7 +2793,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.4" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" }, "funding": [ { @@ -2808,7 +2809,7 @@ "type": "tidelift" } ], - "time": "2024-02-08T15:01:18+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -3128,16 +3129,16 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.3", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "49cfb0223ec64379f7154214dcc1f7c46f3c7a47" + "reference": "23a162bd446b93948a2c2f6909d80ad06195be10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/49cfb0223ec64379f7154214dcc1f7c46f3c7a47", - "reference": "49cfb0223ec64379f7154214dcc1f7c46f3c7a47", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/23a162bd446b93948a2c2f6909d80ad06195be10", + "reference": "23a162bd446b93948a2c2f6909d80ad06195be10", "shasum": "" }, "require": { @@ -3191,7 +3192,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.3" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.8" }, "funding": [ { @@ -3207,25 +3208,26 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-05-31T14:51:39+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.1", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -3233,7 +3235,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -3273,7 +3275,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -3289,20 +3291,20 @@ "type": "tidelift" } ], - "time": "2023-12-26T14:02:43+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/translation", - "version": "v6.4.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e" + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bce6a5a78e94566641b2594d17e48b0da3184a8e", - "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e", + "url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a", + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a", "shasum": "" }, "require": { @@ -3368,7 +3370,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.4" + "source": "https://github.com/symfony/translation/tree/v6.4.8" }, "funding": [ { @@ -3384,20 +3386,20 @@ "type": "tidelift" } ], - "time": "2024-02-20T13:16:58+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.1", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "06450585bf65e978026bda220cdebca3f867fde7" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", - "reference": "06450585bf65e978026bda220cdebca3f867fde7", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { @@ -3406,7 +3408,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -3446,7 +3448,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -3462,20 +3464,20 @@ "type": "tidelift" } ], - "time": "2023-12-26T14:02:43+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/uid", - "version": "v6.4.3", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0" + "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", - "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", + "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", "shasum": "" }, "require": { @@ -3520,7 +3522,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.3" + "source": "https://github.com/symfony/uid/tree/v6.4.8" }, "funding": [ { @@ -3536,7 +3538,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "thecodingmachine/safe", diff --git a/lam/lib/3rdParty/composer/composer/autoload_psr4.php b/lam/lib/3rdParty/composer/composer/autoload_psr4.php index d66def799..b19984ddc 100644 --- a/lam/lib/3rdParty/composer/composer/autoload_psr4.php +++ b/lam/lib/3rdParty/composer/composer/autoload_psr4.php @@ -26,7 +26,7 @@ return array( 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/src'), 'Psr\\Http\\Server\\' => array($vendorDir . '/psr/http-server-handler/src', $vendorDir . '/psr/http-server-middleware/src'), - 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'), + 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'), 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), 'Psr\\Clock\\' => array($vendorDir . '/psr/clock/src'), @@ -40,7 +40,7 @@ return array( 'Jose\\Component\\Encryption\\' => array($vendorDir . '/web-token/jwt-encryption'), 'Jose\\Component\\Core\\' => array($vendorDir . '/web-token/jwt-core'), 'Jose\\Component\\Checker\\' => array($vendorDir . '/web-token/jwt-checker'), - 'Illuminate\\Support\\' => array($vendorDir . '/illuminate/collections', $vendorDir . '/illuminate/conditionable', $vendorDir . '/illuminate/macroable', $vendorDir . '/illuminate/support'), + 'Illuminate\\Support\\' => array($vendorDir . '/illuminate/macroable', $vendorDir . '/illuminate/conditionable', $vendorDir . '/illuminate/collections', $vendorDir . '/illuminate/support'), 'Illuminate\\Pagination\\' => array($vendorDir . '/illuminate/pagination'), 'Illuminate\\Contracts\\' => array($vendorDir . '/illuminate/contracts'), 'Http\\Factory\\Guzzle\\' => array($vendorDir . '/http-interop/http-factory-guzzle/src'), diff --git a/lam/lib/3rdParty/composer/composer/autoload_static.php b/lam/lib/3rdParty/composer/composer/autoload_static.php index 96fb5f56b..5c7d66475 100644 --- a/lam/lib/3rdParty/composer/composer/autoload_static.php +++ b/lam/lib/3rdParty/composer/composer/autoload_static.php @@ -305,8 +305,8 @@ class ComposerStaticInited73ceb9c1bdec18b7c6d09764d1bce5 ), 'Psr\\Http\\Message\\' => array ( - 0 => __DIR__ . '/..' . '/psr/http-factory/src', - 1 => __DIR__ . '/..' . '/psr/http-message/src', + 0 => __DIR__ . '/..' . '/psr/http-message/src', + 1 => __DIR__ . '/..' . '/psr/http-factory/src', ), 'Psr\\Http\\Client\\' => array ( @@ -362,9 +362,9 @@ class ComposerStaticInited73ceb9c1bdec18b7c6d09764d1bce5 ), 'Illuminate\\Support\\' => array ( - 0 => __DIR__ . '/..' . '/illuminate/collections', + 0 => __DIR__ . '/..' . '/illuminate/macroable', 1 => __DIR__ . '/..' . '/illuminate/conditionable', - 2 => __DIR__ . '/..' . '/illuminate/macroable', + 2 => __DIR__ . '/..' . '/illuminate/collections', 3 => __DIR__ . '/..' . '/illuminate/support', ), 'Illuminate\\Pagination\\' => diff --git a/lam/lib/3rdParty/composer/composer/installed.json b/lam/lib/3rdParty/composer/composer/installed.json index 6ab2db70e..c0e588bc0 100644 --- a/lam/lib/3rdParty/composer/composer/installed.json +++ b/lam/lib/3rdParty/composer/composer/installed.json @@ -684,27 +684,27 @@ }, { "name": "firebase/php-jwt", - "version": "v6.10.0", - "version_normalized": "6.10.0.0", + "version": "v6.10.1", + "version_normalized": "6.10.1.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "a49db6f0a5033aef5143295342f1c95521b075ff" + "reference": "500501c2ce893c824c801da135d02661199f60c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/a49db6f0a5033aef5143295342f1c95521b075ff", - "reference": "a49db6f0a5033aef5143295342f1c95521b075ff", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5", + "reference": "500501c2ce893c824c801da135d02661199f60c5", "shasum": "" }, "require": { - "php": "^7.4||^8.0" + "php": "^8.0" }, "require-dev": { - "guzzlehttp/guzzle": "^6.5||^7.4", + "guzzlehttp/guzzle": "^7.4", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "psr/cache": "^1.0||^2.0", + "psr/cache": "^2.0||^3.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0" }, @@ -712,7 +712,7 @@ "ext-sodium": "Support EdDSA (Ed25519) signatures", "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" }, - "time": "2023-12-01T16:26:39+00:00", + "time": "2024-05-18T18:05:11+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -744,7 +744,7 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.10.0" + "source": "https://github.com/firebase/php-jwt/tree/v6.10.1" }, "install-path": "../firebase/php-jwt" }, @@ -930,17 +930,17 @@ }, { "name": "illuminate/collections", - "version": "v10.48.3", - "version_normalized": "10.48.3.0", + "version": "v10.48.12", + "version_normalized": "10.48.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "36651526fa6bb5445ffc6d51899d80291f8e0486" + "reference": "f9589f1063a449111dcaa1d68285b507d9483a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/36651526fa6bb5445ffc6d51899d80291f8e0486", - "reference": "36651526fa6bb5445ffc6d51899d80291f8e0486", + "url": "https://api.github.com/repos/illuminate/collections/zipball/f9589f1063a449111dcaa1d68285b507d9483a95", + "reference": "f9589f1063a449111dcaa1d68285b507d9483a95", "shasum": "" }, "require": { @@ -952,7 +952,7 @@ "suggest": { "symfony/var-dumper": "Required to use the dump method (^6.2)." }, - "time": "2024-03-10T15:34:39+00:00", + "time": "2024-03-20T20:09:13+00:00", "type": "library", "extra": { "branch-alias": { @@ -988,8 +988,8 @@ }, { "name": "illuminate/conditionable", - "version": "v10.48.3", - "version_normalized": "10.48.3.0", + "version": "v10.48.12", + "version_normalized": "10.48.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", @@ -1037,8 +1037,8 @@ }, { "name": "illuminate/contracts", - "version": "v10.48.3", - "version_normalized": "10.48.3.0", + "version": "v10.48.12", + "version_normalized": "10.48.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", @@ -1088,8 +1088,8 @@ }, { "name": "illuminate/macroable", - "version": "v10.48.3", - "version_normalized": "10.48.3.0", + "version": "v10.48.12", + "version_normalized": "10.48.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -1137,17 +1137,17 @@ }, { "name": "illuminate/pagination", - "version": "v10.48.3", - "version_normalized": "10.48.3.0", + "version": "v10.48.12", + "version_normalized": "10.48.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/pagination.git", - "reference": "b42a851e037984e38f8964d1a96d15b0302bebfc" + "reference": "616874b9607ff35925347e1710a8b5151858cdf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pagination/zipball/b42a851e037984e38f8964d1a96d15b0302bebfc", - "reference": "b42a851e037984e38f8964d1a96d15b0302bebfc", + "url": "https://api.github.com/repos/illuminate/pagination/zipball/616874b9607ff35925347e1710a8b5151858cdf2", + "reference": "616874b9607ff35925347e1710a8b5151858cdf2", "shasum": "" }, "require": { @@ -1157,7 +1157,7 @@ "illuminate/support": "^10.0", "php": "^8.1" }, - "time": "2024-01-12T17:17:46+00:00", + "time": "2024-04-11T14:31:05+00:00", "type": "library", "extra": { "branch-alias": { @@ -1190,17 +1190,17 @@ }, { "name": "illuminate/support", - "version": "v10.48.3", - "version_normalized": "10.48.3.0", + "version": "v10.48.12", + "version_normalized": "10.48.12.0", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "980d80017e859c8b1720892d952516e8c0b6708f" + "reference": "263f389d81488c237846b69469f91387ca2729f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/980d80017e859c8b1720892d952516e8c0b6708f", - "reference": "980d80017e859c8b1720892d952516e8c0b6708f", + "url": "https://api.github.com/repos/illuminate/support/zipball/263f389d81488c237846b69469f91387ca2729f3", + "reference": "263f389d81488c237846b69469f91387ca2729f3", "shasum": "" }, "require": { @@ -1228,7 +1228,7 @@ "symfony/var-dumper": "Required to use the dd function (^6.2).", "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." }, - "time": "2024-03-11T21:46:45+00:00", + "time": "2024-05-16T21:33:51+00:00", "type": "library", "extra": { "branch-alias": { @@ -1264,17 +1264,17 @@ }, { "name": "monolog/monolog", - "version": "3.5.0", - "version_normalized": "3.5.0.0", + "version": "3.6.0", + "version_normalized": "3.6.0.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", "shasum": "" }, "require": { @@ -1297,7 +1297,7 @@ "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", + "phpunit/phpunit": "^10.5.17", "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", @@ -1319,7 +1319,7 @@ "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, - "time": "2023-10-27T15:32:31+00:00", + "time": "2024-04-12T21:02:21+00:00", "type": "library", "extra": { "branch-alias": { @@ -1352,7 +1352,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.5.0" + "source": "https://github.com/Seldaek/monolog/tree/3.6.0" }, "funding": [ { @@ -1368,17 +1368,17 @@ }, { "name": "nesbot/carbon", - "version": "2.72.3", - "version_normalized": "2.72.3.0", + "version": "2.72.5", + "version_normalized": "2.72.5.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", "shasum": "" }, "require": { @@ -1406,15 +1406,15 @@ "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", "squizlabs/php_codesniffer": "^3.4" }, - "time": "2024-01-25T10:35:09+00:00", + "time": "2024-06-03T19:18:41+00:00", "bin": [ "bin/carbon" ], "type": "library", "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ @@ -1478,17 +1478,17 @@ }, { "name": "paragonie/constant_time_encoding", - "version": "v2.6.3", - "version_normalized": "2.6.3.0", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", - "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105", + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105", "shasum": "" }, "require": { @@ -1498,7 +1498,7 @@ "phpunit/phpunit": "^6|^7|^8|^9", "vimeo/psalm": "^1|^2|^3|^4" }, - "time": "2022-06-14T06:56:20+00:00", + "time": "2024-05-08T12:18:48+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1605,17 +1605,17 @@ }, { "name": "php-http/discovery", - "version": "1.19.2", - "version_normalized": "1.19.2.0", + "version": "1.19.4", + "version_normalized": "1.19.4.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb" + "reference": "0700efda8d7526335132360167315fdab3aeb599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb", - "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", "shasum": "" }, "require": { @@ -1639,9 +1639,10 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" }, - "time": "2023-11-30T16:49:05+00:00", + "time": "2024-03-29T13:00:05+00:00", "type": "composer-plugin", "extra": { "class": "Http\\Discovery\\Composer\\Plugin", @@ -1680,7 +1681,7 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.2" + "source": "https://github.com/php-http/discovery/tree/1.19.4" }, "install-path": "../php-http/discovery" }, @@ -2045,24 +2046,24 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "version": "1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, - "time": "2023-04-10T20:10:41+00:00", + "time": "2024-04-15T12:06:14+00:00", "type": "library", "extra": { "branch-alias": { @@ -2085,7 +2086,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -2097,7 +2098,7 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, "install-path": "../psr/http-factory" }, @@ -2565,27 +2566,27 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.4.0", - "version_normalized": "3.4.0.0", + "version": "v3.5.0", + "version_normalized": "3.5.0.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { "php": ">=8.1" }, - "time": "2023-05-23T14:45:45+00:00", + "time": "2024-04-18T09:32:20+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2615,7 +2616,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -2635,24 +2636,24 @@ }, { "name": "symfony/http-client", - "version": "v6.4.5", - "version_normalized": "6.4.5.0", + "version": "v6.4.8", + "version_normalized": "6.4.8.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "f3c86a60a3615f466333a11fd42010d4382a82c7" + "reference": "61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/f3c86a60a3615f466333a11fd42010d4382a82c7", - "reference": "f3c86a60a3615f466333a11fd42010d4382a82c7", + "url": "https://api.github.com/repos/symfony/http-client/zipball/61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05", + "reference": "61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "^3", + "symfony/http-client-contracts": "^3.4.1", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -2670,7 +2671,7 @@ "amphp/http-client": "^4.2.1", "amphp/http-tunnel": "^1.0", "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4", + "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", @@ -2680,7 +2681,7 @@ "symfony/process": "^5.4|^6.0|^7.0", "symfony/stopwatch": "^5.4|^6.0|^7.0" }, - "time": "2024-03-02T12:45:30+00:00", + "time": "2024-05-31T14:49:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2711,7 +2712,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.5" + "source": "https://github.com/symfony/http-client/tree/v6.4.8" }, "funding": [ { @@ -2731,27 +2732,27 @@ }, { "name": "symfony/http-client-contracts", - "version": "v3.4.0", - "version_normalized": "3.4.0.0", + "version": "v3.5.0", + "version_normalized": "3.5.0.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "1ee70e699b41909c209a0c930f11034b93578654" + "reference": "20414d96f391677bf80078aa55baece78b82647d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/1ee70e699b41909c209a0c930f11034b93578654", - "reference": "1ee70e699b41909c209a0c930f11034b93578654", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", + "reference": "20414d96f391677bf80078aa55baece78b82647d", "shasum": "" }, "require": { "php": ">=8.1" }, - "time": "2023-07-30T20:28:31+00:00", + "time": "2024-04-18T09:32:20+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2792,7 +2793,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.4.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" }, "funding": [ { @@ -2812,17 +2813,17 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.4", - "version_normalized": "6.4.4.0", + "version": "v6.4.8", + "version_normalized": "6.4.8.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304" + "reference": "27de8cc95e11db7a50b027e71caaab9024545947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ebc713bc6e6f4b53f46539fc158be85dfcd77304", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", + "reference": "27de8cc95e11db7a50b027e71caaab9024545947", "shasum": "" }, "require": { @@ -2844,7 +2845,7 @@ "symfony/mime": "^5.4|^6.0|^7.0", "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, - "time": "2024-02-08T15:01:18+00:00", + "time": "2024-05-31T14:49:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -2872,7 +2873,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.4" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" }, "funding": [ { @@ -3220,17 +3221,17 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.3", - "version_normalized": "6.4.3.0", + "version": "v6.4.8", + "version_normalized": "6.4.8.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "49cfb0223ec64379f7154214dcc1f7c46f3c7a47" + "reference": "23a162bd446b93948a2c2f6909d80ad06195be10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/49cfb0223ec64379f7154214dcc1f7c46f3c7a47", - "reference": "49cfb0223ec64379f7154214dcc1f7c46f3c7a47", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/23a162bd446b93948a2c2f6909d80ad06195be10", + "reference": "23a162bd446b93948a2c2f6909d80ad06195be10", "shasum": "" }, "require": { @@ -3252,7 +3253,7 @@ "symfony/framework-bundle": "^6.2|^7.0", "symfony/http-kernel": "^6.2|^7.0" }, - "time": "2024-01-23T14:51:35+00:00", + "time": "2024-05-31T14:51:39+00:00", "type": "symfony-bridge", "installation-source": "dist", "autoload": { @@ -3286,7 +3287,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.3" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.8" }, "funding": [ { @@ -3306,31 +3307,32 @@ }, { "name": "symfony/service-contracts", - "version": "v3.4.1", - "version_normalized": "3.4.1.0", + "version": "v3.5.0", + "version_normalized": "3.5.0.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" }, - "time": "2023-12-26T14:02:43+00:00", + "time": "2024-04-18T09:32:20+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -3371,7 +3373,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -3391,17 +3393,17 @@ }, { "name": "symfony/translation", - "version": "v6.4.4", - "version_normalized": "6.4.4.0", + "version": "v6.4.8", + "version_normalized": "6.4.8.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e" + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bce6a5a78e94566641b2594d17e48b0da3184a8e", - "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e", + "url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a", + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a", "shasum": "" }, "require": { @@ -3438,7 +3440,7 @@ "symfony/service-contracts": "^2.5|^3", "symfony/yaml": "^5.4|^6.0|^7.0" }, - "time": "2024-02-20T13:16:58+00:00", + "time": "2024-05-31T14:49:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3469,7 +3471,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.4" + "source": "https://github.com/symfony/translation/tree/v6.4.8" }, "funding": [ { @@ -3489,27 +3491,27 @@ }, { "name": "symfony/translation-contracts", - "version": "v3.4.1", - "version_normalized": "3.4.1.0", + "version": "v3.5.0", + "version_normalized": "3.5.0.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "06450585bf65e978026bda220cdebca3f867fde7" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", - "reference": "06450585bf65e978026bda220cdebca3f867fde7", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { "php": ">=8.1" }, - "time": "2023-12-26T14:02:43+00:00", + "time": "2024-04-18T09:32:20+00:00", "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -3550,7 +3552,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -3570,17 +3572,17 @@ }, { "name": "symfony/uid", - "version": "v6.4.3", - "version_normalized": "6.4.3.0", + "version": "v6.4.8", + "version_normalized": "6.4.8.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0" + "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", - "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", + "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", "shasum": "" }, "require": { @@ -3590,7 +3592,7 @@ "require-dev": { "symfony/console": "^5.4|^6.0|^7.0" }, - "time": "2024-01-23T14:51:35+00:00", + "time": "2024-05-31T14:49:08+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3627,7 +3629,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.3" + "source": "https://github.com/symfony/uid/tree/v6.4.8" }, "funding": [ { diff --git a/lam/lib/3rdParty/composer/composer/installed.php b/lam/lib/3rdParty/composer/composer/installed.php index 7d573f886..135ff9018 100644 --- a/lam/lib/3rdParty/composer/composer/installed.php +++ b/lam/lib/3rdParty/composer/composer/installed.php @@ -92,9 +92,9 @@ 'dev_requirement' => false, ), 'firebase/php-jwt' => array( - 'pretty_version' => 'v6.10.0', - 'version' => '6.10.0.0', - 'reference' => 'a49db6f0a5033aef5143295342f1c95521b075ff', + 'pretty_version' => 'v6.10.1', + 'version' => '6.10.1.0', + 'reference' => '500501c2ce893c824c801da135d02661199f60c5', 'type' => 'library', 'install_path' => __DIR__ . '/../firebase/php-jwt', 'aliases' => array(), @@ -119,17 +119,17 @@ 'dev_requirement' => false, ), 'illuminate/collections' => array( - 'pretty_version' => 'v10.48.3', - 'version' => '10.48.3.0', - 'reference' => '36651526fa6bb5445ffc6d51899d80291f8e0486', + 'pretty_version' => 'v10.48.12', + 'version' => '10.48.12.0', + 'reference' => 'f9589f1063a449111dcaa1d68285b507d9483a95', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/collections', 'aliases' => array(), 'dev_requirement' => false, ), 'illuminate/conditionable' => array( - 'pretty_version' => 'v10.48.3', - 'version' => '10.48.3.0', + 'pretty_version' => 'v10.48.12', + 'version' => '10.48.12.0', 'reference' => 'd0958e4741fc9d6f516a552060fd1b829a85e009', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/conditionable', @@ -137,8 +137,8 @@ 'dev_requirement' => false, ), 'illuminate/contracts' => array( - 'pretty_version' => 'v10.48.3', - 'version' => '10.48.3.0', + 'pretty_version' => 'v10.48.12', + 'version' => '10.48.12.0', 'reference' => '8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/contracts', @@ -146,8 +146,8 @@ 'dev_requirement' => false, ), 'illuminate/macroable' => array( - 'pretty_version' => 'v10.48.3', - 'version' => '10.48.3.0', + 'pretty_version' => 'v10.48.12', + 'version' => '10.48.12.0', 'reference' => 'dff667a46ac37b634dcf68909d9d41e94dc97c27', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/macroable', @@ -155,18 +155,18 @@ 'dev_requirement' => false, ), 'illuminate/pagination' => array( - 'pretty_version' => 'v10.48.3', - 'version' => '10.48.3.0', - 'reference' => 'b42a851e037984e38f8964d1a96d15b0302bebfc', + 'pretty_version' => 'v10.48.12', + 'version' => '10.48.12.0', + 'reference' => '616874b9607ff35925347e1710a8b5151858cdf2', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/pagination', 'aliases' => array(), 'dev_requirement' => false, ), 'illuminate/support' => array( - 'pretty_version' => 'v10.48.3', - 'version' => '10.48.3.0', - 'reference' => '980d80017e859c8b1720892d952516e8c0b6708f', + 'pretty_version' => 'v10.48.12', + 'version' => '10.48.12.0', + 'reference' => '263f389d81488c237846b69469f91387ca2729f3', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/support', 'aliases' => array(), @@ -182,27 +182,27 @@ 'dev_requirement' => false, ), 'monolog/monolog' => array( - 'pretty_version' => '3.5.0', - 'version' => '3.5.0.0', - 'reference' => 'c915e2634718dbc8a4a15c61b0e62e7a44e14448', + 'pretty_version' => '3.6.0', + 'version' => '3.6.0.0', + 'reference' => '4b18b21a5527a3d5ffdac2fd35d3ab25a9597654', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), 'dev_requirement' => false, ), 'nesbot/carbon' => array( - 'pretty_version' => '2.72.3', - 'version' => '2.72.3.0', - 'reference' => '0c6fd108360c562f6e4fd1dedb8233b423e91c83', + 'pretty_version' => '2.72.5', + 'version' => '2.72.5.0', + 'reference' => 'afd46589c216118ecd48ff2b95d77596af1e57ed', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => false, ), 'paragonie/constant_time_encoding' => array( - 'pretty_version' => 'v2.6.3', - 'version' => '2.6.3.0', - 'reference' => '58c3f47f650c94ec05a151692652a868995d2938', + 'pretty_version' => 'v2.7.0', + 'version' => '2.7.0.0', + 'reference' => '52a0d99e69f56b9ec27ace92ba56897fe6993105', 'type' => 'library', 'install_path' => __DIR__ . '/../paragonie/constant_time_encoding', 'aliases' => array(), @@ -230,9 +230,9 @@ ), ), 'php-http/discovery' => array( - 'pretty_version' => '1.19.2', - 'version' => '1.19.2.0', - 'reference' => '61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb', + 'pretty_version' => '1.19.4', + 'version' => '1.19.4.0', + 'reference' => '0700efda8d7526335132360167315fdab3aeb599', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../php-http/discovery', 'aliases' => array(), @@ -297,9 +297,9 @@ ), ), 'psr/http-factory' => array( - 'pretty_version' => '1.0.2', - 'version' => '1.0.2.0', - 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', + 'pretty_version' => '1.1.0', + 'version' => '1.1.0.0', + 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), @@ -399,27 +399,27 @@ 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( - 'pretty_version' => 'v3.4.0', - 'version' => '3.4.0.0', - 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', + 'pretty_version' => 'v3.5.0', + 'version' => '3.5.0.0', + 'reference' => '0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/http-client' => array( - 'pretty_version' => 'v6.4.5', - 'version' => '6.4.5.0', - 'reference' => 'f3c86a60a3615f466333a11fd42010d4382a82c7', + 'pretty_version' => 'v6.4.8', + 'version' => '6.4.8.0', + 'reference' => '61faba993e620fc22d4f0ab3b6bcf8fbb0d44b05', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-client', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/http-client-contracts' => array( - 'pretty_version' => 'v3.4.0', - 'version' => '3.4.0.0', - 'reference' => '1ee70e699b41909c209a0c930f11034b93578654', + 'pretty_version' => 'v3.5.0', + 'version' => '3.5.0.0', + 'reference' => '20414d96f391677bf80078aa55baece78b82647d', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-client-contracts', 'aliases' => array(), @@ -432,9 +432,9 @@ ), ), 'symfony/http-foundation' => array( - 'pretty_version' => 'v6.4.4', - 'version' => '6.4.4.0', - 'reference' => 'ebc713bc6e6f4b53f46539fc158be85dfcd77304', + 'pretty_version' => 'v6.4.8', + 'version' => '6.4.8.0', + 'reference' => '27de8cc95e11db7a50b027e71caaab9024545947', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), @@ -477,36 +477,36 @@ 'dev_requirement' => false, ), 'symfony/psr-http-message-bridge' => array( - 'pretty_version' => 'v6.4.3', - 'version' => '6.4.3.0', - 'reference' => '49cfb0223ec64379f7154214dcc1f7c46f3c7a47', + 'pretty_version' => 'v6.4.8', + 'version' => '6.4.8.0', + 'reference' => '23a162bd446b93948a2c2f6909d80ad06195be10', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/psr-http-message-bridge', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/service-contracts' => array( - 'pretty_version' => 'v3.4.1', - 'version' => '3.4.1.0', - 'reference' => 'fe07cbc8d837f60caf7018068e350cc5163681a0', + 'pretty_version' => 'v3.5.0', + 'version' => '3.5.0.0', + 'reference' => 'bd1d9e59a81d8fa4acdcea3f617c581f7475a80f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/translation' => array( - 'pretty_version' => 'v6.4.4', - 'version' => '6.4.4.0', - 'reference' => 'bce6a5a78e94566641b2594d17e48b0da3184a8e', + 'pretty_version' => 'v6.4.8', + 'version' => '6.4.8.0', + 'reference' => 'a002933b13989fc4bd0b58e04bf7eec5210e438a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/translation-contracts' => array( - 'pretty_version' => 'v3.4.1', - 'version' => '3.4.1.0', - 'reference' => '06450585bf65e978026bda220cdebca3f867fde7', + 'pretty_version' => 'v3.5.0', + 'version' => '3.5.0.0', + 'reference' => 'b9d2189887bb6b2e0367a9fc7136c5239ab9b05a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), @@ -519,9 +519,9 @@ ), ), 'symfony/uid' => array( - 'pretty_version' => 'v6.4.3', - 'version' => '6.4.3.0', - 'reference' => '1d31267211cc3a2fff32bcfc7c1818dac41b6fc0', + 'pretty_version' => 'v6.4.8', + 'version' => '6.4.8.0', + 'reference' => '35904eca37a84bb764c560cbfcac9f0ac2bcdbdf', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/uid', 'aliases' => array(), diff --git a/lam/lib/3rdParty/composer/firebase/php-jwt/CHANGELOG.md b/lam/lib/3rdParty/composer/firebase/php-jwt/CHANGELOG.md index 644fa0bea..2662b0502 100644 --- a/lam/lib/3rdParty/composer/firebase/php-jwt/CHANGELOG.md +++ b/lam/lib/3rdParty/composer/firebase/php-jwt/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [6.10.1](https://github.com/firebase/php-jwt/compare/v6.10.0...v6.10.1) (2024-05-18) + + +### Bug Fixes + +* ensure ratelimit expiry is set every time ([#556](https://github.com/firebase/php-jwt/issues/556)) ([09cb208](https://github.com/firebase/php-jwt/commit/09cb2081c2c3bc0f61e2f2a5fbea5741f7498648)) +* ratelimit cache expiration ([#550](https://github.com/firebase/php-jwt/issues/550)) ([dda7250](https://github.com/firebase/php-jwt/commit/dda725033585ece30ff8cae8937320d7e9f18bae)) + ## [6.10.0](https://github.com/firebase/php-jwt/compare/v6.9.0...v6.10.0) (2023-11-28) diff --git a/lam/lib/3rdParty/composer/firebase/php-jwt/README.md b/lam/lib/3rdParty/composer/firebase/php-jwt/README.md index 701de23a8..4fd140745 100644 --- a/lam/lib/3rdParty/composer/firebase/php-jwt/README.md +++ b/lam/lib/3rdParty/composer/firebase/php-jwt/README.md @@ -17,7 +17,7 @@ composer require firebase/php-jwt ``` Optionally, install the `paragonie/sodium_compat` package from composer if your -php is < 7.2 or does not have libsodium installed: +php env does not have libsodium installed: ```bash composer require paragonie/sodium_compat diff --git a/lam/lib/3rdParty/composer/firebase/php-jwt/composer.json b/lam/lib/3rdParty/composer/firebase/php-jwt/composer.json index e23dfe378..816cfd0bd 100644 --- a/lam/lib/3rdParty/composer/firebase/php-jwt/composer.json +++ b/lam/lib/3rdParty/composer/firebase/php-jwt/composer.json @@ -20,7 +20,7 @@ ], "license": "BSD-3-Clause", "require": { - "php": "^7.4||^8.0" + "php": "^8.0" }, "suggest": { "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present", @@ -32,10 +32,10 @@ } }, "require-dev": { - "guzzlehttp/guzzle": "^6.5||^7.4", + "guzzlehttp/guzzle": "^7.4", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", - "psr/cache": "^1.0||^2.0", + "psr/cache": "^2.0||^3.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0" } diff --git a/lam/lib/3rdParty/composer/firebase/php-jwt/src/CachedKeySet.php b/lam/lib/3rdParty/composer/firebase/php-jwt/src/CachedKeySet.php index ee529f9f5..65bab74f2 100644 --- a/lam/lib/3rdParty/composer/firebase/php-jwt/src/CachedKeySet.php +++ b/lam/lib/3rdParty/composer/firebase/php-jwt/src/CachedKeySet.php @@ -212,15 +212,21 @@ class CachedKeySet implements ArrayAccess } $cacheItem = $this->cache->getItem($this->rateLimitCacheKey); - if (!$cacheItem->isHit()) { - $cacheItem->expiresAfter(1); // # of calls are cached each minute + + $cacheItemData = []; + if ($cacheItem->isHit() && \is_array($data = $cacheItem->get())) { + $cacheItemData = $data; } - $callsPerMinute = (int) $cacheItem->get(); + $callsPerMinute = $cacheItemData['callsPerMinute'] ?? 0; + $expiry = $cacheItemData['expiry'] ?? new \DateTime('+60 seconds', new \DateTimeZone('UTC')); + if (++$callsPerMinute > $this->maxCallsPerMinute) { return true; } - $cacheItem->set($callsPerMinute); + + $cacheItem->set(['expiry' => $expiry, 'callsPerMinute' => $callsPerMinute]); + $cacheItem->expiresAt($expiry); $this->cache->save($cacheItem); return false; } diff --git a/lam/lib/3rdParty/composer/firebase/php-jwt/src/JWT.php b/lam/lib/3rdParty/composer/firebase/php-jwt/src/JWT.php index 263492068..e9d756398 100644 --- a/lam/lib/3rdParty/composer/firebase/php-jwt/src/JWT.php +++ b/lam/lib/3rdParty/composer/firebase/php-jwt/src/JWT.php @@ -251,6 +251,9 @@ class JWT return \hash_hmac($algorithm, $msg, $key, true); case 'openssl': $signature = ''; + if (!\is_resource($key) && !openssl_pkey_get_private($key)) { + throw new DomainException('OpenSSL unable to validate key'); + } $success = \openssl_sign($msg, $signature, $key, $algorithm); // @phpstan-ignore-line if (!$success) { throw new DomainException('OpenSSL unable to sign data'); diff --git a/lam/lib/3rdParty/composer/illuminate/collections/Collection.php b/lam/lib/3rdParty/composer/illuminate/collections/Collection.php index 0bbbe1898..c46fc052f 100644 --- a/lam/lib/3rdParty/composer/illuminate/collections/Collection.php +++ b/lam/lib/3rdParty/composer/illuminate/collections/Collection.php @@ -998,8 +998,11 @@ class Collection implements ArrayAccess, CanBeEscapedWhenCastToString, Enumerabl /** * Push all of the given items onto the collection. * - * @param iterable $source - * @return static + * @template TConcatKey of array-key + * @template TConcatValue + * + * @param iterable $source + * @return static */ public function concat($source) { diff --git a/lam/lib/3rdParty/composer/illuminate/collections/Enumerable.php b/lam/lib/3rdParty/composer/illuminate/collections/Enumerable.php index a561488e8..918f64758 100644 --- a/lam/lib/3rdParty/composer/illuminate/collections/Enumerable.php +++ b/lam/lib/3rdParty/composer/illuminate/collections/Enumerable.php @@ -789,8 +789,11 @@ interface Enumerable extends Arrayable, Countable, IteratorAggregate, Jsonable, /** * Push all of the given items onto the collection. * - * @param iterable $source - * @return static + * @template TConcatKey of array-key + * @template TConcatValue + * + * @param iterable $source + * @return static */ public function concat($source); diff --git a/lam/lib/3rdParty/composer/illuminate/collections/LazyCollection.php b/lam/lib/3rdParty/composer/illuminate/collections/LazyCollection.php index a8b7716d3..84b22ebf9 100644 --- a/lam/lib/3rdParty/composer/illuminate/collections/LazyCollection.php +++ b/lam/lib/3rdParty/composer/illuminate/collections/LazyCollection.php @@ -991,8 +991,11 @@ class LazyCollection implements CanBeEscapedWhenCastToString, Enumerable /** * Push all of the given items onto the collection. * - * @param iterable $source - * @return static + * @template TConcatKey of array-key + * @template TConcatValue + * + * @param iterable $source + * @return static */ public function concat($source) { diff --git a/lam/lib/3rdParty/composer/illuminate/pagination/AbstractCursorPaginator.php b/lam/lib/3rdParty/composer/illuminate/pagination/AbstractCursorPaginator.php index e6700789c..fa3070c24 100644 --- a/lam/lib/3rdParty/composer/illuminate/pagination/AbstractCursorPaginator.php +++ b/lam/lib/3rdParty/composer/illuminate/pagination/AbstractCursorPaginator.php @@ -205,6 +205,7 @@ abstract class AbstractCursorPaginator implements Htmlable public function getParametersForItem($item) { return collect($this->parameters) + ->filter() ->flip() ->map(function ($_, $parameterName) use ($item) { if ($item instanceof JsonResource) { diff --git a/lam/lib/3rdParty/composer/illuminate/support/Facades/Notification.php b/lam/lib/3rdParty/composer/illuminate/support/Facades/Notification.php index a588bd546..8b30997e7 100644 --- a/lam/lib/3rdParty/composer/illuminate/support/Facades/Notification.php +++ b/lam/lib/3rdParty/composer/illuminate/support/Facades/Notification.php @@ -31,6 +31,7 @@ use Illuminate\Support\Testing\Fakes\NotificationFake; * @method static void assertCount(int $expectedCount) * @method static \Illuminate\Support\Collection sent(mixed $notifiable, string $notification, callable|null $callback = null) * @method static bool hasSent(mixed $notifiable, string $notification) + * @method static \Illuminate\Support\Testing\Fakes\NotificationFake serializeAndRestore(bool $serializeAndRestore = true) * @method static array sentNotifications() * @method static void macro(string $name, object|callable $macro) * @method static void mixin(object $mixin, bool $replace = true) diff --git a/lam/lib/3rdParty/composer/illuminate/support/Str.php b/lam/lib/3rdParty/composer/illuminate/support/Str.php index ed1f1b5d6..6217bb33e 100644 --- a/lam/lib/3rdParty/composer/illuminate/support/Str.php +++ b/lam/lib/3rdParty/composer/illuminate/support/Str.php @@ -1305,14 +1305,13 @@ class Str $minorWords = [ 'and', 'as', 'but', 'for', 'if', 'nor', 'or', 'so', 'yet', 'a', 'an', 'the', 'at', 'by', 'for', 'in', 'of', 'off', 'on', 'per', 'to', 'up', 'via', + 'et', 'ou', 'un', 'une', 'la', 'le', 'les', 'de', 'du', 'des', 'par', 'à', ]; $endPunctuation = ['.', '!', '?', ':', '—', ',']; $words = preg_split('/\s+/', $value, -1, PREG_SPLIT_NO_EMPTY); - $words[0] = ucfirst(mb_strtolower($words[0])); - for ($i = 0; $i < count($words); $i++) { $lowercaseWord = mb_strtolower($words[$i]); @@ -1320,7 +1319,9 @@ class Str $hyphenatedWords = explode('-', $lowercaseWord); $hyphenatedWords = array_map(function ($part) use ($minorWords) { - return (in_array($part, $minorWords) && mb_strlen($part) <= 3) ? $part : ucfirst($part); + return (in_array($part, $minorWords) && mb_strlen($part) <= 3) + ? $part + : mb_strtoupper(mb_substr($part, 0, 1)).mb_substr($part, 1); }, $hyphenatedWords); $words[$i] = implode('-', $hyphenatedWords); @@ -1330,7 +1331,7 @@ class Str ! ($i === 0 || in_array(mb_substr($words[$i - 1], -1), $endPunctuation))) { $words[$i] = $lowercaseWord; } else { - $words[$i] = ucfirst($lowercaseWord); + $words[$i] = mb_strtoupper(mb_substr($lowercaseWord, 0, 1)).mb_substr($lowercaseWord, 1); } } } diff --git a/lam/lib/3rdParty/composer/illuminate/support/Testing/Fakes/NotificationFake.php b/lam/lib/3rdParty/composer/illuminate/support/Testing/Fakes/NotificationFake.php index df00c465f..ee610a401 100644 --- a/lam/lib/3rdParty/composer/illuminate/support/Testing/Fakes/NotificationFake.php +++ b/lam/lib/3rdParty/composer/illuminate/support/Testing/Fakes/NotificationFake.php @@ -6,6 +6,7 @@ use Closure; use Exception; use Illuminate\Contracts\Notifications\Dispatcher as NotificationDispatcher; use Illuminate\Contracts\Notifications\Factory as NotificationFactory; +use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Notifications\AnonymousNotifiable; use Illuminate\Support\Collection; @@ -32,6 +33,13 @@ class NotificationFake implements Fake, NotificationDispatcher, NotificationFact */ public $locale; + /** + * Indicates if notifications should be serialized and restored when pushed to the queue. + * + * @var bool + */ + protected $serializeAndRestore = false; + /** * Assert if a notification was sent on-demand based on a truth-test callback. * @@ -313,7 +321,9 @@ class NotificationFake implements Fake, NotificationDispatcher, NotificationFact } $this->notifications[get_class($notifiable)][$notifiable->getKey()][get_class($notification)][] = [ - 'notification' => $notification, + 'notification' => $this->serializeAndRestore && $notification instanceof ShouldQueue + ? $this->serializeAndRestoreNotification($notification) + : $notification, 'channels' => $notifiableChannels, 'notifiable' => $notifiable, 'locale' => $notification->locale ?? $this->locale ?? value(function () use ($notifiable) { @@ -349,6 +359,30 @@ class NotificationFake implements Fake, NotificationDispatcher, NotificationFact return $this; } + /** + * Specify if notification should be serialized and restored when being "pushed" to the queue. + * + * @param bool $serializeAndRestore + * @return $this + */ + public function serializeAndRestore(bool $serializeAndRestore = true) + { + $this->serializeAndRestore = $serializeAndRestore; + + return $this; + } + + /** + * Serialize and unserialize the notification to simulate the queueing process. + * + * @param mixed $notification + * @return mixed + */ + protected function serializeAndRestoreNotification($notification) + { + return unserialize(serialize($notification)); + } + /** * Get the notifications that have been sent. * diff --git a/lam/lib/3rdParty/composer/monolog/monolog/CHANGELOG.md b/lam/lib/3rdParty/composer/monolog/monolog/CHANGELOG.md index 13bb05390..fa4dfa860 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/CHANGELOG.md +++ b/lam/lib/3rdParty/composer/monolog/monolog/CHANGELOG.md @@ -1,3 +1,13 @@ +### 3.6.0 (2024-04-12) + + * Added `LineFormatter->setBasePath(...)` that allows removing the project's path from the stack trace output (#1873) + * Added `$includeExtra` option in `PsrHandler` to also use extra data to replace placeholder values in the message (#1852) + * Added ability to customize what is a duplicated message by extending the `DeduplicationHandler` (#1879) + * Added handling for using `GelfMessageFormatter` together with the `AmqpHandler` (#1869) + * Added ability to extend `GoogleCloudLoggingFormatter` (#1859) + * Fixed `__toString` failures in context data crashing the normalization process (#1868) + * Fixed PHP 8.4 deprecation warnings (#1874) + ### 3.5.0 (2023-10-27) * Added ability to indent stack traces in LineFormatter via e.g. `indentStacktraces(' ')` (#1835) @@ -106,6 +116,10 @@ New deprecations: value equal to what `Logger::WARNING` was giving you. - `Logger::getLevelName()` is now deprecated. +### 2.9.3 (2024-04-12) + + * Fixed PHP 8.4 deprecation warnings (#1874) + ### 2.9.2 (2023-10-27) * Fixed display_errors parsing in ErrorHandler which did not support string values (#1804) diff --git a/lam/lib/3rdParty/composer/monolog/monolog/README.md b/lam/lib/3rdParty/composer/monolog/monolog/README.md index d7151de4f..c54d83cb2 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/README.md +++ b/lam/lib/3rdParty/composer/monolog/monolog/README.md @@ -19,12 +19,28 @@ make sure you can always use another compatible logger at a later time. As of 1.11.0 Monolog public APIs will also accept PSR-3 log levels. Internally Monolog still uses its own level scheme since it predates PSR-3. + + ## Installation Install the latest version with ```bash -$ composer require monolog/monolog +composer require monolog/monolog ``` ## Basic Usage diff --git a/lam/lib/3rdParty/composer/monolog/monolog/composer.json b/lam/lib/3rdParty/composer/monolog/monolog/composer.json index 4ccd07211..30a99d7af 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/composer.json +++ b/lam/lib/3rdParty/composer/monolog/monolog/composer.json @@ -29,7 +29,7 @@ "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", + "phpunit/phpunit": "^10.5.17", "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", diff --git a/lam/lib/3rdParty/composer/monolog/monolog/favicon.ico b/lam/lib/3rdParty/composer/monolog/monolog/favicon.ico deleted file mode 100644 index a36dc176c..000000000 Binary files a/lam/lib/3rdParty/composer/monolog/monolog/favicon.ico and /dev/null differ diff --git a/lam/lib/3rdParty/composer/monolog/monolog/logo.jpg b/lam/lib/3rdParty/composer/monolog/monolog/logo.jpg deleted file mode 100644 index 333234a7e..000000000 Binary files a/lam/lib/3rdParty/composer/monolog/monolog/logo.jpg and /dev/null differ diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/DateTimeImmutable.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/DateTimeImmutable.php index 274b73ea1..3d9477f40 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/DateTimeImmutable.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/DateTimeImmutable.php @@ -27,6 +27,8 @@ class DateTimeImmutable extends \DateTimeImmutable implements \JsonSerializable { $this->useMicroseconds = $useMicroseconds; + // if you like to use a custom time to pass to Logger::addRecord directly, + // call modify() or setTimestamp() on this instance to change the date after creating it parent::__construct('now', $timezone); } diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php index ea555d4de..c97b9122c 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/GoogleCloudLoggingFormatter.php @@ -22,7 +22,7 @@ use Monolog\LogRecord; * * @author Luís Cobucci */ -final class GoogleCloudLoggingFormatter extends JsonFormatter +class GoogleCloudLoggingFormatter extends JsonFormatter { protected function normalizeRecord(LogRecord $record): array { diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/LineFormatter.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/LineFormatter.php index 025572a5c..7d35960cc 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/LineFormatter.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/LineFormatter.php @@ -34,6 +34,7 @@ class LineFormatter extends NormalizerFormatter protected ?int $maxLevelNameLength = null; protected string $indentStacktraces = ''; protected Closure|null $stacktracesParser = null; + protected string $basePath = ''; /** * @param string|null $format The format of the message @@ -51,6 +52,21 @@ class LineFormatter extends NormalizerFormatter parent::__construct($dateFormat); } + /** + * Setting a base path will hide the base path from exception and stack trace file names to shorten them + * @return $this + */ + public function setBasePath(string $path = ''): self + { + if ($path !== '') { + $path = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; + } + + $this->basePath = $path; + + return $this; + } + /** * @return $this */ @@ -258,7 +274,13 @@ class LineFormatter extends NormalizerFormatter } } } - $str .= '): ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . ')'; + + $file = $e->getFile(); + if ($this->basePath !== '') { + $file = preg_replace('{^'.preg_quote($this->basePath).'}', '', $file); + } + + $str .= '): ' . $e->getMessage() . ' at ' . $file . ':' . $e->getLine() . ')'; if ($this->includeStacktraces) { $str .= $this->stacktracesParser($e); @@ -271,6 +293,10 @@ class LineFormatter extends NormalizerFormatter { $trace = $e->getTraceAsString(); + if ($this->basePath !== '') { + $trace = preg_replace('{^(#\d+ )' . preg_quote($this->basePath) . '}m', '$1', $trace) ?? $trace; + } + if ($this->stacktracesParser !== null) { $trace = $this->stacktracesParserCustom($trace); } diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php index a5c99156f..134c6879f 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php @@ -210,8 +210,14 @@ class NormalizerFormatter implements FormatterInterface $accessor = new \ArrayObject($data); $value = (string) $accessor['__PHP_Incomplete_Class_Name']; } elseif (method_exists($data, '__toString')) { - /** @var string $value */ - $value = $data->__toString(); + try { + /** @var string $value */ + $value = $data->__toString(); + } catch (\Throwable) { + // if the toString method is failing, use the default behavior + /** @var null|scalar|array $value */ + $value = json_decode($this->toJson($data, true), true); + } } else { // the rest is normalized by json encoding and decoding it /** @var null|scalar|array $value */ diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/AmqpHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/AmqpHandler.php index 72265d4ba..27d773ea4 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/AmqpHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/AmqpHandler.php @@ -11,6 +11,7 @@ namespace Monolog\Handler; +use Gelf\Message as GelfMessage; use Monolog\Level; use Monolog\Formatter\FormatterInterface; use Monolog\Formatter\JsonFormatter; @@ -75,6 +76,10 @@ class AmqpHandler extends AbstractProcessingHandler $data = $record->formatted; $routingKey = $this->getRoutingKey($record); + if($data instanceof GelfMessage) { + $data = json_encode($data->toArray()); + } + if ($this->exchange instanceof AMQPExchange) { $attributes = [ 'delivery_mode' => 2, @@ -117,6 +122,10 @@ class AmqpHandler extends AbstractProcessingHandler $record = $this->processRecord($record); $data = $this->getFormatter()->format($record); + if($data instanceof GelfMessage) { + $data = json_encode($data->toArray()); + } + $this->exchange->batch_basic_publish( $this->createAmqpMessage($data), $this->exchangeName, diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php index b8ec90099..0ef2734f4 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php @@ -43,8 +43,7 @@ class DeduplicationHandler extends BufferHandler protected Level $deduplicationLevel; protected int $time; - - private bool $gc = false; + protected bool $gc = false; /** * @param HandlerInterface $handler Handler. @@ -70,13 +69,24 @@ class DeduplicationHandler extends BufferHandler return; } + $store = null; + + if (file_exists($this->deduplicationStore)) { + $store = file($this->deduplicationStore, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + } + $passthru = null; foreach ($this->buffer as $record) { if ($record->level->value >= $this->deduplicationLevel->value) { - $passthru = $passthru === true || !$this->isDuplicate($record); + $passthru = $passthru === true || !is_array($store) || !$this->isDuplicate($store, $record); if ($passthru) { - $this->appendRecord($record); + $line = $this->buildDeduplicationStoreEntry($record); + file_put_contents($this->deduplicationStore, $line . "\n", FILE_APPEND); + if (!is_array($store)) { + $store = []; + } + $store[] = $line; } } } @@ -93,20 +103,15 @@ class DeduplicationHandler extends BufferHandler } } - private function isDuplicate(LogRecord $record): bool + /** + * If there is a store entry older than e.g. a day, this method should set `$this->gc` to `true` to trigger garbage collection. + * @param string[] $store The deduplication store + */ + protected function isDuplicate(array $store, LogRecord $record): bool { - if (!file_exists($this->deduplicationStore)) { - return false; - } - - $store = file($this->deduplicationStore, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - if (!is_array($store)) { - return false; - } - - $yesterday = time() - 86400; $timestampValidity = $record->datetime->getTimestamp() - $this->time; $expectedMessage = preg_replace('{[\r\n].*}', '', $record->message); + $yesterday = time() - 86400; for ($i = count($store) - 1; $i >= 0; $i--) { list($timestamp, $level, $message) = explode(':', $store[$i], 3); @@ -123,6 +128,14 @@ class DeduplicationHandler extends BufferHandler return false; } + /** + * @return string The given record serialized as a single line of text + */ + protected function buildDeduplicationStoreEntry(LogRecord $record): string + { + return $record->datetime->getTimestamp() . ':' . $record->level->getName() . ':' . preg_replace('{[\r\n].*}', '', $record->message); + } + private function collectLogs(): void { if (!file_exists($this->deduplicationStore)) { @@ -158,9 +171,4 @@ class DeduplicationHandler extends BufferHandler $this->gc = false; } - - private function appendRecord(LogRecord $record): void - { - file_put_contents($this->deduplicationStore, $record->datetime->getTimestamp() . ':' . $record->level->getName() . ':' . preg_replace('{[\r\n].*}', '', $record->message) . "\n", FILE_APPEND); - } } diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FilterHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FilterHandler.php index 5fa558e19..66f65477a 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FilterHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FilterHandler.php @@ -150,7 +150,7 @@ class FilterHandler extends Handler implements ProcessableHandlerInterface, Rese * * If the handler was provided as a factory, this will trigger the handler's instantiation. */ - public function getHandler(LogRecord $record = null): HandlerInterface + public function getHandler(LogRecord|null $record = null): HandlerInterface { if (!$this->handler instanceof HandlerInterface) { $handler = ($this->handler)($record, $this); diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php index 1c3df386d..d4551fb9c 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php @@ -199,7 +199,7 @@ class FingersCrossedHandler extends Handler implements ProcessableHandlerInterfa * * If the handler was provided as a factory, this will trigger the handler's instantiation. */ - public function getHandler(LogRecord $record = null): HandlerInterface + public function getHandler(LogRecord|null $record = null): HandlerInterface { if (!$this->handler instanceof HandlerInterface) { $handler = ($this->handler)($record, $this); diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/PsrHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/PsrHandler.php index 6599a83b4..100e8e4a6 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/PsrHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/PsrHandler.php @@ -33,15 +33,17 @@ class PsrHandler extends AbstractHandler implements FormattableHandlerInterface protected LoggerInterface $logger; protected FormatterInterface|null $formatter = null; + private bool $includeExtra; /** * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied */ - public function __construct(LoggerInterface $logger, int|string|Level $level = Level::Debug, bool $bubble = true) + public function __construct(LoggerInterface $logger, int|string|Level $level = Level::Debug, bool $bubble = true, bool $includeExtra = false) { parent::__construct($level, $bubble); $this->logger = $logger; + $this->includeExtra = $includeExtra; } /** @@ -53,12 +55,15 @@ class PsrHandler extends AbstractHandler implements FormattableHandlerInterface return false; } - if ($this->formatter !== null) { - $formatted = $this->formatter->format($record); - $this->logger->log($record->level->toPsrLogLevel(), (string) $formatted, $record->context); - } else { - $this->logger->log($record->level->toPsrLogLevel(), $record->message, $record->context); - } + $message = $this->formatter !== null + ? (string) $this->formatter->format($record) + : $record->message; + + $context = $this->includeExtra + ? [...$record->extra, ...$record->context] + : $record->context; + + $this->logger->log($record->level->toPsrLogLevel(), $message, $context); return false === $this->bubble; } diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/RedisHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/RedisHandler.php index 5eee5dc69..977f32c75 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/RedisHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/RedisHandler.php @@ -72,7 +72,7 @@ class RedisHandler extends AbstractProcessingHandler $mode = defined('Redis::MULTI') ? Redis::MULTI : 1; $this->redisClient->multi($mode) ->rPush($this->redisKey, $record->formatted) - ->ltrim($this->redisKey, -$this->capSize, -1) + ->lTrim($this->redisKey, -$this->capSize, -1) ->exec(); } else { $redisKey = $this->redisKey; diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SamplingHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SamplingHandler.php index 511ec5854..db43d5a85 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SamplingHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SamplingHandler.php @@ -78,7 +78,7 @@ class SamplingHandler extends AbstractHandler implements ProcessableHandlerInter * * If the handler was provided as a factory, this will trigger the handler's instantiation. */ - public function getHandler(LogRecord $record = null): HandlerInterface + public function getHandler(LogRecord|null $record = null): HandlerInterface { if (!$this->handler instanceof HandlerInterface) { $handler = ($this->handler)($record, $this); diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php index 147d8f80b..0cb8b9b4a 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php @@ -86,7 +86,7 @@ class SlackRecord bool $useShortAttachment = false, bool $includeContextAndExtra = false, array $excludeFields = [], - FormatterInterface $formatter = null + FormatterInterface|null $formatter = null ) { $this ->setChannel($channel) diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php index 6466ba3af..c69237aeb 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php @@ -104,9 +104,6 @@ class SlackWebhookHandler extends AbstractProcessingHandler CURLOPT_HTTPHEADER => ['Content-type: application/json'], CURLOPT_POSTFIELDS => $postString, ]; - if (defined('CURLOPT_SAFE_UPLOAD')) { - $options[CURLOPT_SAFE_UPLOAD] = true; - } curl_setopt_array($ch, $options); diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php index feaa002fa..8fda76977 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Handler/TelegramBotHandler.php @@ -111,9 +111,9 @@ class TelegramBotHandler extends AbstractProcessingHandler string $channel, $level = Level::Debug, bool $bubble = true, - string $parseMode = null, - bool $disableWebPagePreview = null, - bool $disableNotification = null, + ?string $parseMode = null, + ?bool $disableWebPagePreview = null, + ?bool $disableNotification = null, bool $splitLongMessages = false, bool $delayBetweenMessages = false, int $topic = null @@ -137,7 +137,7 @@ class TelegramBotHandler extends AbstractProcessingHandler /** * @return $this */ - public function setParseMode(string $parseMode = null): self + public function setParseMode(string|null $parseMode = null): self { if ($parseMode !== null && !in_array($parseMode, self::AVAILABLE_PARSE_MODES, true)) { throw new \InvalidArgumentException('Unknown parseMode, use one of these: ' . implode(', ', self::AVAILABLE_PARSE_MODES) . '.'); @@ -151,7 +151,7 @@ class TelegramBotHandler extends AbstractProcessingHandler /** * @return $this */ - public function disableWebPagePreview(bool $disableWebPagePreview = null): self + public function disableWebPagePreview(bool|null $disableWebPagePreview = null): self { $this->disableWebPagePreview = $disableWebPagePreview; @@ -161,7 +161,7 @@ class TelegramBotHandler extends AbstractProcessingHandler /** * @return $this */ - public function disableNotification(bool $disableNotification = null): self + public function disableNotification(bool|null $disableNotification = null): self { $this->disableNotification = $disableNotification; diff --git a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Logger.php b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Logger.php index b04194bf9..f33c08f88 100644 --- a/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Logger.php +++ b/lam/lib/3rdParty/composer/monolog/monolog/src/Monolog/Logger.php @@ -320,15 +320,15 @@ class Logger implements LoggerInterface, ResettableInterface /** * Adds a log record. * - * @param int $level The logging level (a Monolog or RFC 5424 level) - * @param string $message The log message - * @param mixed[] $context The log context - * @param DateTimeImmutable $datetime Optional log date to log into the past or future - * @return bool Whether the record has been processed + * @param int $level The logging level (a Monolog or RFC 5424 level) + * @param string $message The log message + * @param mixed[] $context The log context + * @param DateTimeImmutable|null $datetime Optional log date to log into the past or future + * @return bool Whether the record has been processed * * @phpstan-param value-of|Level $level */ - public function addRecord(int|Level $level, string $message, array $context = [], DateTimeImmutable $datetime = null): bool + public function addRecord(int|Level $level, string $message, array $context = [], DateTimeImmutable|null $datetime = null): bool { if (is_int($level) && isset(self::RFC_5424_LEVELS[$level])) { $level = self::RFC_5424_LEVELS[$level]; diff --git a/lam/lib/3rdParty/composer/nesbot/carbon/composer.json b/lam/lib/3rdParty/composer/nesbot/carbon/composer.json index 48366b5dd..0014434ea 100644 --- a/lam/lib/3rdParty/composer/nesbot/carbon/composer.json +++ b/lam/lib/3rdParty/composer/nesbot/carbon/composer.json @@ -92,8 +92,8 @@ }, "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ diff --git a/lam/lib/3rdParty/composer/nesbot/carbon/readme.md b/lam/lib/3rdParty/composer/nesbot/carbon/readme.md index 3f4117706..97ec8ce08 100644 --- a/lam/lib/3rdParty/composer/nesbot/carbon/readme.md +++ b/lam/lib/3rdParty/composer/nesbot/carbon/readme.md @@ -123,8 +123,8 @@ Support this project by becoming a sponsor. Your logo will show up here with a l Онлайн казино CasinoHex Canada Probukmacher -Игровые автоматы Casino-portugal.pt +Игровые автоматы Slots City inkedin Онлайн казино України @@ -142,10 +142,11 @@ Support this project by becoming a sponsor. Your logo will show up here with a l Migliori Siti Non AAMS UK NonGamStopCasinos SnapTik -IG Downloader Proxidize -Blastup -AzuraCast +IG Downloader +Blastup +Organic Social Boost +AzuraCast Triplebyte GitHub Sponsors Salesforce diff --git a/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Comparison.php b/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Comparison.php index f6261d882..daee19cc9 100644 --- a/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Comparison.php +++ b/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Comparison.php @@ -994,6 +994,10 @@ trait Comparison return $this->year === (int) $tester; } + if (preg_match('/^(?:Jan|January|Feb|February|Mar|March|Apr|April|May|Jun|June|Jul|July|Aug|August|Sep|September|Oct|October|Nov|November|Dec|December)$/i', $tester)) { + return $this->isSameMonth(static::parse($tester), false); + } + if (preg_match('/^\d{3,}-\d{1,2}$/', $tester)) { return $this->isSameMonth(static::parse($tester)); } diff --git a/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Options.php b/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Options.php index 48f973977..ffad4f14b 100644 --- a/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Options.php +++ b/lam/lib/3rdParty/composer/nesbot/carbon/src/Carbon/Traits/Options.php @@ -96,9 +96,9 @@ trait Options 'v' => '([0-9]{1,3})', 'e' => '([a-zA-Z]{1,5})|([a-zA-Z]*\\/[a-zA-Z]*)', 'I' => '(0|1)', - 'O' => '([+-](1[012]|0[0-9])[0134][05])', - 'P' => '([+-](1[012]|0[0-9]):[0134][05])', - 'p' => '(Z|[+-](1[012]|0[0-9]):[0134][05])', + 'O' => '([+-](1[0123]|0[0-9])[0134][05])', + 'P' => '([+-](1[0123]|0[0-9]):[0134][05])', + 'p' => '(Z|[+-](1[0123]|0[0-9]):[0134][05])', 'T' => '([a-zA-Z]{1,5})', 'Z' => '(-?[1-5]?[0-9]{1,4})', 'U' => '([0-9]*)', diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/README.md b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/README.md index cedddd863..d2572e91c 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/README.md +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/README.md @@ -11,7 +11,7 @@ this library aims to offer character encoding functions that do not leak information about what you are encoding/decoding via processor cache misses. Further reading on [cache-timing attacks](http://blog.ircmaxell.com/2014/11/its-all-about-time.html). -Our fork offers the following enchancements: +Our fork offers the following enhancements: * `mbstring.func_overload` resistance * Unit tests diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base32.php b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base32.php index 7508b3df6..48d00b991 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base32.php +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base32.php @@ -44,8 +44,11 @@ abstract class Base32 implements EncoderInterface * @param bool $strictPadding * @return string */ - public static function decode(string $encodedString, bool $strictPadding = false): string - { + public static function decode( + #[\SensitiveParameter] + string $encodedString, + bool $strictPadding = false + ): string { return static::doDecode($encodedString, false, $strictPadding); } @@ -56,8 +59,11 @@ abstract class Base32 implements EncoderInterface * @param bool $strictPadding * @return string */ - public static function decodeUpper(string $src, bool $strictPadding = false): string - { + public static function decodeUpper( + #[\SensitiveParameter] + string $src, + bool $strictPadding = false + ): string { return static::doDecode($src, true, $strictPadding); } @@ -68,10 +74,13 @@ abstract class Base32 implements EncoderInterface * @return string * @throws TypeError */ - public static function encode(string $binString): string - { + public static function encode( + #[\SensitiveParameter] + string $binString + ): string { return static::doEncode($binString, false, true); } + /** * Encode into Base32 (RFC 4648) * @@ -79,8 +88,10 @@ abstract class Base32 implements EncoderInterface * @return string * @throws TypeError */ - public static function encodeUnpadded(string $src): string - { + public static function encodeUnpadded( + #[\SensitiveParameter] + string $src + ): string { return static::doEncode($src, false, false); } @@ -91,8 +102,10 @@ abstract class Base32 implements EncoderInterface * @return string * @throws TypeError */ - public static function encodeUpper(string $src): string - { + public static function encodeUpper( + #[\SensitiveParameter] + string $src + ): string { return static::doEncode($src, true, true); } @@ -103,8 +116,10 @@ abstract class Base32 implements EncoderInterface * @return string * @throws TypeError */ - public static function encodeUpperUnpadded(string $src): string - { + public static function encodeUpperUnpadded( + #[\SensitiveParameter] + string $src + ): string { return static::doEncode($src, true, false); } @@ -191,8 +206,11 @@ abstract class Base32 implements EncoderInterface * @param bool $upper * @return string */ - public static function decodeNoPadding(string $encodedString, bool $upper = false): string - { + public static function decodeNoPadding( + #[\SensitiveParameter] + string $encodedString, + bool $upper = false + ): string { $srcLen = Binary::safeStrlen($encodedString); if ($srcLen === 0) { return ''; @@ -222,9 +240,9 @@ abstract class Base32 implements EncoderInterface * @return string * * @throws TypeError - * @psalm-suppress RedundantCondition */ protected static function doDecode( + #[\SensitiveParameter] string $src, bool $upper = false, bool $strictPadding = false @@ -434,8 +452,12 @@ abstract class Base32 implements EncoderInterface * @return string * @throws TypeError */ - protected static function doEncode(string $src, bool $upper = false, $pad = true): string - { + protected static function doEncode( + #[\SensitiveParameter] + string $src, + bool $upper = false, + $pad = true + ): string { // We do this to reduce code duplication: $method = $upper ? 'encode5BitsUpper' diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base64.php b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base64.php index f5716179f..2e3ecc859 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base64.php +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Base64.php @@ -47,8 +47,10 @@ abstract class Base64 implements EncoderInterface * * @throws TypeError */ - public static function encode(string $binString): string - { + public static function encode( + #[\SensitiveParameter] + string $binString + ): string { return static::doEncode($binString, true); } @@ -62,8 +64,10 @@ abstract class Base64 implements EncoderInterface * * @throws TypeError */ - public static function encodeUnpadded(string $src): string - { + public static function encodeUnpadded( + #[\SensitiveParameter] + string $src + ): string { return static::doEncode($src, false); } @@ -74,8 +78,11 @@ abstract class Base64 implements EncoderInterface * * @throws TypeError */ - protected static function doEncode(string $src, bool $pad = true): string - { + protected static function doEncode( + #[\SensitiveParameter] + string $src, + bool $pad = true + ): string { $dest = ''; $srcLen = Binary::safeStrlen($src); // Main loop (no padding): @@ -129,10 +136,12 @@ abstract class Base64 implements EncoderInterface * * @throws RangeException * @throws TypeError - * @psalm-suppress RedundantCondition */ - public static function decode(string $encodedString, bool $strictPadding = false): string - { + public static function decode( + #[\SensitiveParameter] + string $encodedString, + bool $strictPadding = false + ): string { // Remove padding $srcLen = Binary::safeStrlen($encodedString); if ($srcLen === 0) { @@ -227,25 +236,21 @@ abstract class Base64 implements EncoderInterface * @param string $encodedString * @return string */ - public static function decodeNoPadding(string $encodedString): string - { + public static function decodeNoPadding( + #[\SensitiveParameter] + string $encodedString + ): string { $srcLen = Binary::safeStrlen($encodedString); if ($srcLen === 0) { return ''; } if (($srcLen & 3) === 0) { - if ($encodedString[$srcLen - 1] === '=') { + // If $strLen is not zero, and it is divisible by 4, then it's at least 4. + if ($encodedString[$srcLen - 1] === '=' || $encodedString[$srcLen - 2] === '=') { throw new InvalidArgumentException( "decodeNoPadding() doesn't tolerate padding" ); } - if (($srcLen & 3) > 1) { - if ($encodedString[$srcLen - 2] === '=') { - throw new InvalidArgumentException( - "decodeNoPadding() doesn't tolerate padding" - ); - } - } } return static::decode( $encodedString, diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Binary.php b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Binary.php index 828f3e0f6..5368e4bba 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Binary.php +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Binary.php @@ -45,8 +45,10 @@ abstract class Binary * @param string $str * @return int */ - public static function safeStrlen(string $str): int - { + public static function safeStrlen( + #[\SensitiveParameter] + string $str + ): int { if (\function_exists('mb_strlen')) { // mb_strlen in PHP 7.x can return false. /** @psalm-suppress RedundantCast */ @@ -70,6 +72,7 @@ abstract class Binary * @throws TypeError */ public static function safeSubstr( + #[\SensitiveParameter] string $str, int $start = 0, $length = null diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Encoding.php b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Encoding.php index 8649f31fc..8b7e3878e 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Encoding.php +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Encoding.php @@ -40,8 +40,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32Encode(string $str): string - { + public static function base32Encode( + #[\SensitiveParameter] + string $str + ): string { return Base32::encode($str); } @@ -52,8 +54,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32EncodeUpper(string $str): string - { + public static function base32EncodeUpper( + #[\SensitiveParameter] + string $str + ): string { return Base32::encodeUpper($str); } @@ -64,8 +68,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32Decode(string $str): string - { + public static function base32Decode( + #[\SensitiveParameter] + string $str + ): string { return Base32::decode($str); } @@ -76,8 +82,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32DecodeUpper(string $str): string - { + public static function base32DecodeUpper( + #[\SensitiveParameter] + string $str + ): string { return Base32::decodeUpper($str); } @@ -88,8 +96,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32HexEncode(string $str): string - { + public static function base32HexEncode( + #[\SensitiveParameter] + string $str + ): string { return Base32Hex::encode($str); } @@ -100,8 +110,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32HexEncodeUpper(string $str): string - { + public static function base32HexEncodeUpper( + #[\SensitiveParameter] + string $str + ): string { return Base32Hex::encodeUpper($str); } @@ -112,8 +124,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32HexDecode(string $str): string - { + public static function base32HexDecode( + #[\SensitiveParameter] + string $str + ): string { return Base32Hex::decode($str); } @@ -124,8 +138,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base32HexDecodeUpper(string $str): string - { + public static function base32HexDecodeUpper( + #[\SensitiveParameter] + string $str + ): string { return Base32Hex::decodeUpper($str); } @@ -136,8 +152,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base64Encode(string $str): string - { + public static function base64Encode( + #[\SensitiveParameter] + string $str + ): string { return Base64::encode($str); } @@ -148,8 +166,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base64Decode(string $str): string - { + public static function base64Decode( + #[\SensitiveParameter] + string $str + ): string { return Base64::decode($str); } @@ -161,8 +181,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base64EncodeDotSlash(string $str): string - { + public static function base64EncodeDotSlash( + #[\SensitiveParameter] + string $str + ): string { return Base64DotSlash::encode($str); } @@ -176,8 +198,10 @@ abstract class Encoding * @throws \RangeException * @throws TypeError */ - public static function base64DecodeDotSlash(string $str): string - { + public static function base64DecodeDotSlash( + #[\SensitiveParameter] + string $str + ): string { return Base64DotSlash::decode($str); } @@ -189,8 +213,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function base64EncodeDotSlashOrdered(string $str): string - { + public static function base64EncodeDotSlashOrdered( + #[\SensitiveParameter] + string $str + ): string { return Base64DotSlashOrdered::encode($str); } @@ -204,8 +230,10 @@ abstract class Encoding * @throws \RangeException * @throws TypeError */ - public static function base64DecodeDotSlashOrdered(string $str): string - { + public static function base64DecodeDotSlashOrdered( + #[\SensitiveParameter] + string $str + ): string { return Base64DotSlashOrdered::decode($str); } @@ -217,8 +245,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function hexEncode(string $bin_string): string - { + public static function hexEncode( + #[\SensitiveParameter] + string $bin_string + ): string { return Hex::encode($bin_string); } @@ -230,8 +260,10 @@ abstract class Encoding * @return string (raw binary) * @throws \RangeException */ - public static function hexDecode(string $hex_string): string - { + public static function hexDecode( + #[\SensitiveParameter] + string $hex_string + ): string { return Hex::decode($hex_string); } @@ -243,8 +275,10 @@ abstract class Encoding * @return string * @throws TypeError */ - public static function hexEncodeUpper(string $bin_string): string - { + public static function hexEncodeUpper( + #[\SensitiveParameter] + string $bin_string + ): string { return Hex::encodeUpper($bin_string); } @@ -255,8 +289,10 @@ abstract class Encoding * @param string $bin_string (raw binary) * @return string */ - public static function hexDecodeUpper(string $bin_string): string - { + public static function hexDecodeUpper( + #[\SensitiveParameter] + string $bin_string + ): string { return Hex::decode($bin_string); } } diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Hex.php b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Hex.php index a9e058cd3..97c2046f0 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Hex.php +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/Hex.php @@ -42,8 +42,10 @@ abstract class Hex implements EncoderInterface * @return string * @throws TypeError */ - public static function encode(string $binString): string - { + public static function encode( + #[\SensitiveParameter] + string $binString + ): string { $hex = ''; $len = Binary::safeStrlen($binString); for ($i = 0; $i < $len; ++$i) { @@ -69,8 +71,10 @@ abstract class Hex implements EncoderInterface * @return string * @throws TypeError */ - public static function encodeUpper(string $binString): string - { + public static function encodeUpper( + #[\SensitiveParameter] + string $binString + ): string { $hex = ''; $len = Binary::safeStrlen($binString); @@ -99,6 +103,7 @@ abstract class Hex implements EncoderInterface * @throws RangeException */ public static function decode( + #[\SensitiveParameter] string $encodedString, bool $strictPadding = false ): string { diff --git a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/RFC4648.php b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/RFC4648.php index f124d65bf..7cd2e9909 100644 --- a/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/RFC4648.php +++ b/lam/lib/3rdParty/composer/paragonie/constant_time_encoding/src/RFC4648.php @@ -46,8 +46,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base64Encode(string $str): string - { + public static function base64Encode( + #[\SensitiveParameter] + string $str + ): string { return Base64::encode($str); } @@ -61,8 +63,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base64Decode(string $str): string - { + public static function base64Decode( + #[\SensitiveParameter] + string $str + ): string { return Base64::decode($str, true); } @@ -76,8 +80,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base64UrlSafeEncode(string $str): string - { + public static function base64UrlSafeEncode( + #[\SensitiveParameter] + string $str + ): string { return Base64UrlSafe::encode($str); } @@ -91,8 +97,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base64UrlSafeDecode(string $str): string - { + public static function base64UrlSafeDecode( + #[\SensitiveParameter] + string $str + ): string { return Base64UrlSafe::decode($str, true); } @@ -106,8 +114,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base32Encode(string $str): string - { + public static function base32Encode( + #[\SensitiveParameter] + string $str + ): string { return Base32::encodeUpper($str); } @@ -121,8 +131,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base32Decode(string $str): string - { + public static function base32Decode( + #[\SensitiveParameter] + string $str + ): string { return Base32::decodeUpper($str, true); } @@ -136,8 +148,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base32HexEncode(string $str): string - { + public static function base32HexEncode( + #[\SensitiveParameter] + string $str + ): string { return Base32::encodeUpper($str); } @@ -151,8 +165,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base32HexDecode(string $str): string - { + public static function base32HexDecode( + #[\SensitiveParameter] + string $str + ): string { return Base32::decodeUpper($str, true); } @@ -166,8 +182,10 @@ abstract class RFC4648 * * @throws TypeError */ - public static function base16Encode(string $str): string - { + public static function base16Encode( + #[\SensitiveParameter] + string $str + ): string { return Hex::encodeUpper($str); } @@ -179,8 +197,10 @@ abstract class RFC4648 * @param string $str * @return string */ - public static function base16Decode(string $str): string - { + public static function base16Decode( + #[\SensitiveParameter] + string $str + ): string { return Hex::decode($str, true); } -} \ No newline at end of file +} diff --git a/lam/lib/3rdParty/composer/php-http/discovery/CHANGELOG.md b/lam/lib/3rdParty/composer/php-http/discovery/CHANGELOG.md index bf14ebfcc..03f718c0f 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/CHANGELOG.md +++ b/lam/lib/3rdParty/composer/php-http/discovery/CHANGELOG.md @@ -1,8 +1,16 @@ # Change Log +## 1.19.4 - 2024-03-29 + +- [#264](https://github.com/php-http/discovery/pull/264) - Do not report a general conflict with `sebastian/comparator` but make sure we install the correct version for our tests. + +## 1.19.3 - 2024-03-28 + +- [#261](https://github.com/php-http/discovery/pull/261) - explicitly mark nullable parameters as nullable (avoid deprecation in PHP 8.4) + ## 1.19.2 - 2023-11-30 -- [#253](https://github.com/php-http/discovery/pull/253) - Symfony 7 dropped the deprecated PHP-HTTP `HttpClient` interface from their HTTP client, do not discover the version 7 client when lookig for the old interface. +- [#253](https://github.com/php-http/discovery/pull/253) - Symfony 7 dropped the deprecated PHP-HTTP `HttpClient` interface from their HTTP client, do not discover the version 7 client when looking for the old interface. ## 1.19.1 - 2023-07-11 diff --git a/lam/lib/3rdParty/composer/php-http/discovery/composer.json b/lam/lib/3rdParty/composer/php-http/discovery/composer.json index d38ab83b3..9d718bba2 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/composer.json +++ b/lam/lib/3rdParty/composer/php-http/discovery/composer.json @@ -28,7 +28,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1", + "sebastian/comparator": "^3.0.5 || ^4.0.8" }, "autoload": { "psr-4": { diff --git a/lam/lib/3rdParty/composer/php-http/discovery/src/NotFoundException.php b/lam/lib/3rdParty/composer/php-http/discovery/src/NotFoundException.php index d59dadbf8..559afac74 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/src/NotFoundException.php +++ b/lam/lib/3rdParty/composer/php-http/discovery/src/NotFoundException.php @@ -2,6 +2,8 @@ namespace Http\Discovery; +use Http\Discovery\Exception\NotFoundException as RealNotFoundException; + /** * Thrown when a discovery does not find any matches. * @@ -9,6 +11,6 @@ namespace Http\Discovery; * * @deprecated since since version 1.0, and will be removed in 2.0. Use {@link \Http\Discovery\Exception\NotFoundException} instead. */ -final class NotFoundException extends \Http\Discovery\Exception\NotFoundException +final class NotFoundException extends RealNotFoundException { } diff --git a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17Factory.php b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17Factory.php index 5d3ab9273..f8fbfd132 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17Factory.php +++ b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17Factory.php @@ -49,12 +49,12 @@ class Psr17Factory implements RequestFactoryInterface, ResponseFactoryInterface, private $uriFactory; public function __construct( - RequestFactoryInterface $requestFactory = null, - ResponseFactoryInterface $responseFactory = null, - ServerRequestFactoryInterface $serverRequestFactory = null, - StreamFactoryInterface $streamFactory = null, - UploadedFileFactoryInterface $uploadedFileFactory = null, - UriFactoryInterface $uriFactory = null + ?RequestFactoryInterface $requestFactory = null, + ?ResponseFactoryInterface $responseFactory = null, + ?ServerRequestFactoryInterface $serverRequestFactory = null, + ?StreamFactoryInterface $streamFactory = null, + ?UploadedFileFactoryInterface $uploadedFileFactory = null, + ?UriFactoryInterface $uriFactory = null ) { $this->requestFactory = $requestFactory; $this->responseFactory = $responseFactory; @@ -98,7 +98,7 @@ class Psr17Factory implements RequestFactoryInterface, ResponseFactoryInterface, return $factory->createServerRequest(...\func_get_args()); } - public function createServerRequestFromGlobals(array $server = null, array $get = null, array $post = null, array $cookie = null, array $files = null, StreamInterface $body = null): ServerRequestInterface + public function createServerRequestFromGlobals(?array $server = null, ?array $get = null, ?array $post = null, ?array $cookie = null, ?array $files = null, ?StreamInterface $body = null): ServerRequestInterface { $server = $server ?? $_SERVER; $request = $this->createServerRequest($server['REQUEST_METHOD'] ?? 'GET', $this->createUriFromGlobals($server), $server); @@ -134,7 +134,7 @@ class Psr17Factory implements RequestFactoryInterface, ResponseFactoryInterface, return $factory->createStreamFromResource($resource); } - public function createUploadedFile(StreamInterface $stream, int $size = null, int $error = \UPLOAD_ERR_OK, string $clientFilename = null, string $clientMediaType = null): UploadedFileInterface + public function createUploadedFile(StreamInterface $stream, ?int $size = null, int $error = \UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null): UploadedFileInterface { $factory = $this->uploadedFileFactory ?? $this->setFactory(Psr17FactoryDiscovery::findUploadedFileFactory()); @@ -148,7 +148,7 @@ class Psr17Factory implements RequestFactoryInterface, ResponseFactoryInterface, return $factory->createUri(...\func_get_args()); } - public function createUriFromGlobals(array $server = null): UriInterface + public function createUriFromGlobals(?array $server = null): UriInterface { return $this->buildUriFromGlobals($this->createUri(''), $server ?? $_SERVER); } diff --git a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17FactoryDiscovery.php b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17FactoryDiscovery.php index a73c6414b..e4348b457 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17FactoryDiscovery.php +++ b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr17FactoryDiscovery.php @@ -3,6 +3,7 @@ namespace Http\Discovery; use Http\Discovery\Exception\DiscoveryFailedException; +use Http\Discovery\Exception\NotFoundException as RealNotFoundException; use Psr\Http\Message\RequestFactoryInterface; use Psr\Http\Message\ResponseFactoryInterface; use Psr\Http\Message\ServerRequestFactoryInterface; @@ -19,7 +20,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery { private static function createException($type, Exception $e) { - return new \Http\Discovery\Exception\NotFoundException( + return new RealNotFoundException( 'No PSR-17 '.$type.' found. Install a package from this list: https://packagist.org/providers/psr/http-factory-implementation', 0, $e @@ -29,7 +30,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return RequestFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function findRequestFactory() { @@ -45,7 +46,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return ResponseFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function findResponseFactory() { @@ -61,7 +62,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return ServerRequestFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function findServerRequestFactory() { @@ -77,7 +78,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return StreamFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function findStreamFactory() { @@ -93,7 +94,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return UploadedFileFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function findUploadedFileFactory() { @@ -109,7 +110,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return UriFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function findUriFactory() { @@ -125,7 +126,7 @@ final class Psr17FactoryDiscovery extends ClassDiscovery /** * @return UriFactoryInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException * * @deprecated This will be removed in 2.0. Consider using the findUriFactory() method. */ diff --git a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18Client.php b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18Client.php index c47780ec6..26b6aebbf 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18Client.php +++ b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18Client.php @@ -25,13 +25,13 @@ class Psr18Client extends Psr17Factory implements ClientInterface private $client; public function __construct( - ClientInterface $client = null, - RequestFactoryInterface $requestFactory = null, - ResponseFactoryInterface $responseFactory = null, - ServerRequestFactoryInterface $serverRequestFactory = null, - StreamFactoryInterface $streamFactory = null, - UploadedFileFactoryInterface $uploadedFileFactory = null, - UriFactoryInterface $uriFactory = null + ?ClientInterface $client = null, + ?RequestFactoryInterface $requestFactory = null, + ?ResponseFactoryInterface $responseFactory = null, + ?ServerRequestFactoryInterface $serverRequestFactory = null, + ?StreamFactoryInterface $streamFactory = null, + ?UploadedFileFactoryInterface $uploadedFileFactory = null, + ?UriFactoryInterface $uriFactory = null ) { parent::__construct($requestFactory, $responseFactory, $serverRequestFactory, $streamFactory, $uploadedFileFactory, $uriFactory); diff --git a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18ClientDiscovery.php b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18ClientDiscovery.php index dfd2dd1e7..3f95418c8 100644 --- a/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18ClientDiscovery.php +++ b/lam/lib/3rdParty/composer/php-http/discovery/src/Psr18ClientDiscovery.php @@ -3,6 +3,7 @@ namespace Http\Discovery; use Http\Discovery\Exception\DiscoveryFailedException; +use Http\Discovery\Exception\NotFoundException as RealNotFoundException; use Psr\Http\Client\ClientInterface; /** @@ -17,14 +18,14 @@ final class Psr18ClientDiscovery extends ClassDiscovery * * @return ClientInterface * - * @throws Exception\NotFoundException + * @throws RealNotFoundException */ public static function find() { try { $client = static::findOneByType(ClientInterface::class); } catch (DiscoveryFailedException $e) { - throw new \Http\Discovery\Exception\NotFoundException('No PSR-18 clients found. Make sure to install a package providing "psr/http-client-implementation". Example: "php-http/guzzle7-adapter".', 0, $e); + throw new RealNotFoundException('No PSR-18 clients found. Make sure to install a package providing "psr/http-client-implementation". Example: "php-http/guzzle7-adapter".', 0, $e); } return static::instantiateClass($client); diff --git a/lam/lib/3rdParty/composer/psr/http-factory/composer.json b/lam/lib/3rdParty/composer/psr/http-factory/composer.json index d1bbddeea..82a1d3266 100644 --- a/lam/lib/3rdParty/composer/psr/http-factory/composer.json +++ b/lam/lib/3rdParty/composer/psr/http-factory/composer.json @@ -1,6 +1,6 @@ { "name": "psr/http-factory", - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "psr", "psr-7", @@ -18,8 +18,11 @@ "homepage": "https://www.php-fig.org/" } ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "autoload": { diff --git a/lam/lib/3rdParty/composer/psr/http-factory/src/UploadedFileFactoryInterface.php b/lam/lib/3rdParty/composer/psr/http-factory/src/UploadedFileFactoryInterface.php index 7db4e30af..d7adbf0e2 100644 --- a/lam/lib/3rdParty/composer/psr/http-factory/src/UploadedFileFactoryInterface.php +++ b/lam/lib/3rdParty/composer/psr/http-factory/src/UploadedFileFactoryInterface.php @@ -15,10 +15,10 @@ interface UploadedFileFactoryInterface * * @param StreamInterface $stream Underlying stream representing the * uploaded file content. - * @param int $size in bytes + * @param int|null $size in bytes * @param int $error PHP file upload error - * @param string $clientFilename Filename as provided by the client, if any. - * @param string $clientMediaType Media type as provided by the client, if any. + * @param string|null $clientFilename Filename as provided by the client, if any. + * @param string|null $clientMediaType Media type as provided by the client, if any. * * @return UploadedFileInterface * @@ -26,9 +26,9 @@ interface UploadedFileFactoryInterface */ public function createUploadedFile( StreamInterface $stream, - int $size = null, + ?int $size = null, int $error = \UPLOAD_ERR_OK, - string $clientFilename = null, - string $clientMediaType = null + ?string $clientFilename = null, + ?string $clientMediaType = null ): UploadedFileInterface; } diff --git a/lam/lib/3rdParty/composer/symfony/deprecation-contracts/composer.json b/lam/lib/3rdParty/composer/symfony/deprecation-contracts/composer.json index c6d02d874..ceb6c0796 100644 --- a/lam/lib/3rdParty/composer/symfony/deprecation-contracts/composer.json +++ b/lam/lib/3rdParty/composer/symfony/deprecation-contracts/composer.json @@ -25,7 +25,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", diff --git a/lam/lib/3rdParty/composer/symfony/http-client-contracts/HttpClientInterface.php b/lam/lib/3rdParty/composer/symfony/http-client-contracts/HttpClientInterface.php index 59636258f..4bb1dd376 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client-contracts/HttpClientInterface.php +++ b/lam/lib/3rdParty/composer/symfony/http-client-contracts/HttpClientInterface.php @@ -90,7 +90,7 @@ interface HttpClientInterface * @param ResponseInterface|iterable $responses One or more responses created by the current HTTP client * @param float|null $timeout The idle timeout before yielding timeout chunks */ - public function stream(ResponseInterface|iterable $responses, float $timeout = null): ResponseStreamInterface; + public function stream(ResponseInterface|iterable $responses, ?float $timeout = null): ResponseStreamInterface; /** * Returns a new instance of the client with new default options. diff --git a/lam/lib/3rdParty/composer/symfony/http-client-contracts/ResponseInterface.php b/lam/lib/3rdParty/composer/symfony/http-client-contracts/ResponseInterface.php index 62d0f8f52..387345cc1 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client-contracts/ResponseInterface.php +++ b/lam/lib/3rdParty/composer/symfony/http-client-contracts/ResponseInterface.php @@ -105,5 +105,5 @@ interface ResponseInterface * @return mixed An array of all available info, or one of them when $type is * provided, or null when an unsupported type is requested */ - public function getInfo(string $type = null): mixed; + public function getInfo(?string $type = null): mixed; } diff --git a/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/HttpClientTestCase.php b/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/HttpClientTestCase.php index 98838ef51..ec87d06d1 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/HttpClientTestCase.php +++ b/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/HttpClientTestCase.php @@ -28,6 +28,12 @@ abstract class HttpClientTestCase extends TestCase TestHttpServer::start(); } + public static function tearDownAfterClass(): void + { + TestHttpServer::stop(8067); + TestHttpServer::stop(8077); + } + abstract protected function getHttpClient(string $testCase): HttpClientInterface; public function testGetRequest() diff --git a/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/TestHttpServer.php b/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/TestHttpServer.php index 86dfa7de9..2a278479c 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/TestHttpServer.php +++ b/lam/lib/3rdParty/composer/symfony/http-client-contracts/Test/TestHttpServer.php @@ -45,4 +45,11 @@ class TestHttpServer return $process; } + + public static function stop(int $port = 8057) + { + if (isset(self::$process[$port])) { + self::$process[$port]->stop(); + } + } } diff --git a/lam/lib/3rdParty/composer/symfony/http-client-contracts/composer.json b/lam/lib/3rdParty/composer/symfony/http-client-contracts/composer.json index 084d49072..efb146ec1 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client-contracts/composer.json +++ b/lam/lib/3rdParty/composer/symfony/http-client-contracts/composer.json @@ -27,7 +27,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", diff --git a/lam/lib/3rdParty/composer/symfony/http-client/CurlHttpClient.php b/lam/lib/3rdParty/composer/symfony/http-client/CurlHttpClient.php index e74e0263b..fef0ad09a 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client/CurlHttpClient.php +++ b/lam/lib/3rdParty/composer/symfony/http-client/CurlHttpClient.php @@ -51,6 +51,9 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, private ?LoggerInterface $logger = null; + private int $maxHostConnections; + private int $maxPendingPushes; + /** * An internal object to share state between the client and its responses. */ @@ -69,18 +72,22 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, throw new \LogicException('You cannot use the "Symfony\Component\HttpClient\CurlHttpClient" as the "curl" extension is not installed.'); } + $this->maxHostConnections = $maxHostConnections; + $this->maxPendingPushes = $maxPendingPushes; + $this->defaultOptions['buffer'] ??= self::shouldBuffer(...); if ($defaultOptions) { [, $this->defaultOptions] = self::prepareRequest(null, null, $defaultOptions, $this->defaultOptions); } - - $this->multi = new CurlClientState($maxHostConnections, $maxPendingPushes); } public function setLogger(LoggerInterface $logger): void { - $this->logger = $this->multi->logger = $logger; + $this->logger = $logger; + if (isset($this->multi)) { + $this->multi->logger = $logger; + } } /** @@ -88,6 +95,8 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, */ public function request(string $method, string $url, array $options = []): ResponseInterface { + $multi = $this->ensureState(); + [$url, $options] = self::prepareRequest($method, $url, $options, $this->defaultOptions); $scheme = $url['scheme']; $authority = $url['authority']; @@ -165,24 +174,24 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, } // curl's resolve feature varies by host:port but ours varies by host only, let's handle this with our own DNS map - if (isset($this->multi->dnsCache->hostnames[$host])) { - $options['resolve'] += [$host => $this->multi->dnsCache->hostnames[$host]]; + if (isset($multi->dnsCache->hostnames[$host])) { + $options['resolve'] += [$host => $multi->dnsCache->hostnames[$host]]; } - if ($options['resolve'] || $this->multi->dnsCache->evictions) { + if ($options['resolve'] || $multi->dnsCache->evictions) { // First reset any old DNS cache entries then add the new ones - $resolve = $this->multi->dnsCache->evictions; - $this->multi->dnsCache->evictions = []; + $resolve = $multi->dnsCache->evictions; + $multi->dnsCache->evictions = []; if ($resolve && 0x072A00 > CurlClientState::$curlVersion['version_number']) { // DNS cache removals require curl 7.42 or higher - $this->multi->reset(); + $multi->reset(); } foreach ($options['resolve'] as $host => $ip) { $resolve[] = null === $ip ? "-$host:$port" : "$host:$port:$ip"; - $this->multi->dnsCache->hostnames[$host] = $ip; - $this->multi->dnsCache->removals["-$host:$port"] = "-$host:$port"; + $multi->dnsCache->hostnames[$host] = $ip; + $multi->dnsCache->removals["-$host:$port"] = "-$host:$port"; } $curlopts[\CURLOPT_RESOLVE] = $resolve; @@ -241,9 +250,8 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, if (isset($options['normalized_headers']['content-length'][0])) { $curlopts[\CURLOPT_INFILESIZE] = (int) substr($options['normalized_headers']['content-length'][0], \strlen('Content-Length: ')); - } - if (!isset($options['normalized_headers']['transfer-encoding'])) { - $curlopts[\CURLOPT_HTTPHEADER][] = 'Transfer-Encoding:'.(isset($curlopts[\CURLOPT_INFILESIZE]) ? '' : ' chunked'); + } elseif (!isset($options['normalized_headers']['transfer-encoding'])) { + $curlopts[\CURLOPT_INFILESIZE] = -1; } if ('POST' !== $method) { @@ -285,8 +293,8 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, $curlopts += $options['extra']['curl']; } - if ($pushedResponse = $this->multi->pushedResponses[$url] ?? null) { - unset($this->multi->pushedResponses[$url]); + if ($pushedResponse = $multi->pushedResponses[$url] ?? null) { + unset($multi->pushedResponses[$url]); if (self::acceptPushForRequest($method, $options, $pushedResponse)) { $this->logger?->debug(sprintf('Accepting pushed response: "%s %s"', $method, $url)); @@ -294,7 +302,7 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, // Reinitialize the pushed response with request's options $ch = $pushedResponse->handle; $pushedResponse = $pushedResponse->response; - $pushedResponse->__construct($this->multi, $url, $options, $this->logger); + $pushedResponse->__construct($multi, $url, $options, $this->logger); } else { $this->logger?->debug(sprintf('Rejecting pushed response: "%s"', $url)); $pushedResponse = null; @@ -304,7 +312,7 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, if (!$pushedResponse) { $ch = curl_init(); $this->logger?->info(sprintf('Request: "%s %s"', $method, $url)); - $curlopts += [\CURLOPT_SHARE => $this->multi->share]; + $curlopts += [\CURLOPT_SHARE => $multi->share]; } foreach ($curlopts as $opt => $value) { @@ -314,7 +322,7 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, } } - return $pushedResponse ?? new CurlResponse($this->multi, $ch, $options, $this->logger, $method, self::createRedirectResolver($options, $host, $port), CurlClientState::$curlVersion['version_number'], $url); + return $pushedResponse ?? new CurlResponse($multi, $ch, $options, $this->logger, $method, self::createRedirectResolver($options, $host, $port), CurlClientState::$curlVersion['version_number'], $url); } public function stream(ResponseInterface|iterable $responses, ?float $timeout = null): ResponseStreamInterface @@ -323,9 +331,11 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, $responses = [$responses]; } - if ($this->multi->handle instanceof \CurlMultiHandle) { + $multi = $this->ensureState(); + + if ($multi->handle instanceof \CurlMultiHandle) { $active = 0; - while (\CURLM_CALL_MULTI_PERFORM === curl_multi_exec($this->multi->handle, $active)) { + while (\CURLM_CALL_MULTI_PERFORM === curl_multi_exec($multi->handle, $active)) { } } @@ -334,7 +344,9 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, public function reset(): void { - $this->multi->reset(); + if (isset($this->multi)) { + $this->multi->reset(); + } } /** @@ -434,6 +446,16 @@ final class CurlHttpClient implements HttpClientInterface, LoggerAwareInterface, }; } + private function ensureState(): CurlClientState + { + if (!isset($this->multi)) { + $this->multi = new CurlClientState($this->maxHostConnections, $this->maxPendingPushes); + $this->multi->logger = $this->logger; + } + + return $this->multi; + } + private function findConstantName(int $opt): ?string { $constants = array_filter(get_defined_constants(), static fn ($v, $k) => $v === $opt && 'C' === $k[0] && (str_starts_with($k, 'CURLOPT_') || str_starts_with($k, 'CURLINFO_')), \ARRAY_FILTER_USE_BOTH); diff --git a/lam/lib/3rdParty/composer/symfony/http-client/EventSourceHttpClient.php b/lam/lib/3rdParty/composer/symfony/http-client/EventSourceHttpClient.php index 80022eaf2..4e551ac04 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client/EventSourceHttpClient.php +++ b/lam/lib/3rdParty/composer/symfony/http-client/EventSourceHttpClient.php @@ -121,7 +121,7 @@ final class EventSourceHttpClient implements HttpClientInterface, ResetInterface return; } - $rx = '/((?:\r\n|[\r\n]){2,})/'; + $rx = '/((?:\r\n){2,}|\r{2,}|\n{2,})/'; $content = $state->buffer.$chunk->getContent(); if ($chunk->isLast()) { diff --git a/lam/lib/3rdParty/composer/symfony/http-client/Response/JsonMockResponse.php b/lam/lib/3rdParty/composer/symfony/http-client/Response/JsonMockResponse.php index 66372aa8a..9372dbe5a 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client/Response/JsonMockResponse.php +++ b/lam/lib/3rdParty/composer/symfony/http-client/Response/JsonMockResponse.php @@ -21,7 +21,7 @@ class JsonMockResponse extends MockResponse public function __construct(mixed $body = [], array $info = []) { try { - $json = json_encode($body, \JSON_THROW_ON_ERROR); + $json = json_encode($body, \JSON_THROW_ON_ERROR | \JSON_PRESERVE_ZERO_FRACTION); } catch (\JsonException $e) { throw new InvalidArgumentException('JSON encoding failed: '.$e->getMessage(), $e->getCode(), $e); } diff --git a/lam/lib/3rdParty/composer/symfony/http-client/composer.json b/lam/lib/3rdParty/composer/symfony/http-client/composer.json index 33fa3b455..ef456a603 100644 --- a/lam/lib/3rdParty/composer/symfony/http-client/composer.json +++ b/lam/lib/3rdParty/composer/symfony/http-client/composer.json @@ -25,7 +25,7 @@ "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "^3", + "symfony/http-client-contracts": "^3.4.1", "symfony/service-contracts": "^2.5|^3" }, "require-dev": { @@ -33,7 +33,7 @@ "amphp/http-client": "^4.2.1", "amphp/http-tunnel": "^1.0", "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4", + "guzzlehttp/promises": "^1.4|^2.0", "nyholm/psr7": "^1.0", "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", diff --git a/lam/lib/3rdParty/composer/symfony/http-foundation/HeaderUtils.php b/lam/lib/3rdParty/composer/symfony/http-foundation/HeaderUtils.php index 3456edace..110896e17 100644 --- a/lam/lib/3rdParty/composer/symfony/http-foundation/HeaderUtils.php +++ b/lam/lib/3rdParty/composer/symfony/http-foundation/HeaderUtils.php @@ -286,7 +286,11 @@ class HeaderUtils } foreach ($partMatches as $matches) { - $parts[] = '' === $separators ? self::unquote($matches[0][0]) : self::groupParts($matches, $separators, false); + if ('' === $separators && '' !== $unquoted = self::unquote($matches[0][0])) { + $parts[] = $unquoted; + } elseif ($groupedParts = self::groupParts($matches, $separators, false)) { + $parts[] = $groupedParts; + } } return $parts; diff --git a/lam/lib/3rdParty/composer/symfony/http-foundation/RedirectResponse.php b/lam/lib/3rdParty/composer/symfony/http-foundation/RedirectResponse.php index a001df81d..408629e36 100644 --- a/lam/lib/3rdParty/composer/symfony/http-foundation/RedirectResponse.php +++ b/lam/lib/3rdParty/composer/symfony/http-foundation/RedirectResponse.php @@ -85,6 +85,7 @@ class RedirectResponse extends Response ', htmlspecialchars($url, \ENT_QUOTES, 'UTF-8'))); $this->headers->set('Location', $url); + $this->headers->set('Content-Type', 'text/html; charset=utf-8'); return $this; } diff --git a/lam/lib/3rdParty/composer/symfony/service-contracts/Attribute/SubscribedService.php b/lam/lib/3rdParty/composer/symfony/service-contracts/Attribute/SubscribedService.php index d98e1dfdb..f850b8401 100644 --- a/lam/lib/3rdParty/composer/symfony/service-contracts/Attribute/SubscribedService.php +++ b/lam/lib/3rdParty/composer/symfony/service-contracts/Attribute/SubscribedService.php @@ -11,15 +11,15 @@ namespace Symfony\Contracts\Service\Attribute; +use Symfony\Contracts\Service\ServiceMethodsSubscriberTrait; use Symfony\Contracts\Service\ServiceSubscriberInterface; -use Symfony\Contracts\Service\ServiceSubscriberTrait; /** * For use as the return value for {@see ServiceSubscriberInterface}. * * @example new SubscribedService('http_client', HttpClientInterface::class, false, new Target('githubApi')) * - * Use with {@see ServiceSubscriberTrait} to mark a method's return type + * Use with {@see ServiceMethodsSubscriberTrait} to mark a method's return type * as a subscribed service. * * @author Kevin Bond diff --git a/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceCollectionInterface.php b/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceCollectionInterface.php new file mode 100644 index 000000000..2333139ce --- /dev/null +++ b/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceCollectionInterface.php @@ -0,0 +1,26 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Service; + +/** + * A ServiceProviderInterface that is also countable and iterable. + * + * @author Kevin Bond + * + * @template-covariant T of mixed + * + * @extends ServiceProviderInterface + * @extends \IteratorAggregate + */ +interface ServiceCollectionInterface extends ServiceProviderInterface, \Countable, \IteratorAggregate +{ +} diff --git a/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceMethodsSubscriberTrait.php b/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceMethodsSubscriberTrait.php new file mode 100644 index 000000000..0d89d9f25 --- /dev/null +++ b/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceMethodsSubscriberTrait.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Service; + +use Psr\Container\ContainerInterface; +use Symfony\Contracts\Service\Attribute\Required; +use Symfony\Contracts\Service\Attribute\SubscribedService; + +/** + * Implementation of ServiceSubscriberInterface that determines subscribed services + * from methods that have the #[SubscribedService] attribute. + * + * Service ids are available as "ClassName::methodName" so that the implementation + * of subscriber methods can be just `return $this->container->get(__METHOD__);`. + * + * @author Kevin Bond + */ +trait ServiceMethodsSubscriberTrait +{ + protected ContainerInterface $container; + + public static function getSubscribedServices(): array + { + $services = method_exists(get_parent_class(self::class) ?: '', __FUNCTION__) ? parent::getSubscribedServices() : []; + + foreach ((new \ReflectionClass(self::class))->getMethods() as $method) { + if (self::class !== $method->getDeclaringClass()->name) { + continue; + } + + if (!$attribute = $method->getAttributes(SubscribedService::class)[0] ?? null) { + continue; + } + + if ($method->isStatic() || $method->isAbstract() || $method->isGenerator() || $method->isInternal() || $method->getNumberOfRequiredParameters()) { + throw new \LogicException(sprintf('Cannot use "%s" on method "%s::%s()" (can only be used on non-static, non-abstract methods with no parameters).', SubscribedService::class, self::class, $method->name)); + } + + if (!$returnType = $method->getReturnType()) { + throw new \LogicException(sprintf('Cannot use "%s" on methods without a return type in "%s::%s()".', SubscribedService::class, $method->name, self::class)); + } + + /* @var SubscribedService $attribute */ + $attribute = $attribute->newInstance(); + $attribute->key ??= self::class.'::'.$method->name; + $attribute->type ??= $returnType instanceof \ReflectionNamedType ? $returnType->getName() : (string) $returnType; + $attribute->nullable = $returnType->allowsNull(); + + if ($attribute->attributes) { + $services[] = $attribute; + } else { + $services[$attribute->key] = ($attribute->nullable ? '?' : '').$attribute->type; + } + } + + return $services; + } + + #[Required] + public function setContainer(ContainerInterface $container): ?ContainerInterface + { + $ret = null; + if (method_exists(get_parent_class(self::class) ?: '', __FUNCTION__)) { + $ret = parent::setContainer($container); + } + + $this->container = $container; + + return $ret; + } +} diff --git a/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceSubscriberTrait.php b/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceSubscriberTrait.php index f3b450cd6..cc3bc321a 100644 --- a/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceSubscriberTrait.php +++ b/lam/lib/3rdParty/composer/symfony/service-contracts/ServiceSubscriberTrait.php @@ -15,17 +15,23 @@ use Psr\Container\ContainerInterface; use Symfony\Contracts\Service\Attribute\Required; use Symfony\Contracts\Service\Attribute\SubscribedService; +trigger_deprecation('symfony/contracts', 'v3.5', '"%s" is deprecated, use "ServiceMethodsSubscriberTrait" instead.', ServiceSubscriberTrait::class); + /** - * Implementation of ServiceSubscriberInterface that determines subscribed services from - * method return types. Service ids are available as "ClassName::methodName". + * Implementation of ServiceSubscriberInterface that determines subscribed services + * from methods that have the #[SubscribedService] attribute. + * + * Service ids are available as "ClassName::methodName" so that the implementation + * of subscriber methods can be just `return $this->container->get(__METHOD__);`. + * + * @property ContainerInterface $container * * @author Kevin Bond + * + * @deprecated since symfony/contracts v3.5, use ServiceMethodsSubscriberTrait instead */ trait ServiceSubscriberTrait { - /** @var ContainerInterface */ - protected $container; - public static function getSubscribedServices(): array { $services = method_exists(get_parent_class(self::class) ?: '', __FUNCTION__) ? parent::getSubscribedServices() : []; diff --git a/lam/lib/3rdParty/composer/symfony/service-contracts/composer.json b/lam/lib/3rdParty/composer/symfony/service-contracts/composer.json index 32bb8a316..fc8674a72 100644 --- a/lam/lib/3rdParty/composer/symfony/service-contracts/composer.json +++ b/lam/lib/3rdParty/composer/symfony/service-contracts/composer.json @@ -17,7 +17,8 @@ ], "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -31,7 +32,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", diff --git a/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatableInterface.php b/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatableInterface.php index 47fd6fa02..8554697ec 100644 --- a/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatableInterface.php +++ b/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatableInterface.php @@ -16,5 +16,5 @@ namespace Symfony\Contracts\Translation; */ interface TranslatableInterface { - public function trans(TranslatorInterface $translator, string $locale = null): string; + public function trans(TranslatorInterface $translator, ?string $locale = null): string; } diff --git a/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorInterface.php b/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorInterface.php index 018db07eb..7fa69878f 100644 --- a/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorInterface.php +++ b/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorInterface.php @@ -59,7 +59,7 @@ interface TranslatorInterface * * @throws \InvalidArgumentException If the locale contains invalid characters */ - public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null): string; + public function trans(string $id, array $parameters = [], ?string $domain = null, ?string $locale = null): string; /** * Returns the default locale. diff --git a/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorTrait.php b/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorTrait.php index e3b0adff0..63f6fb333 100644 --- a/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorTrait.php +++ b/lam/lib/3rdParty/composer/symfony/translation-contracts/TranslatorTrait.php @@ -35,7 +35,7 @@ trait TranslatorTrait return $this->locale ?: (class_exists(\Locale::class) ? \Locale::getDefault() : 'en'); } - public function trans(?string $id, array $parameters = [], string $domain = null, string $locale = null): string + public function trans(?string $id, array $parameters = [], ?string $domain = null, ?string $locale = null): string { if (null === $id || '' === $id) { return ''; diff --git a/lam/lib/3rdParty/composer/symfony/translation-contracts/composer.json b/lam/lib/3rdParty/composer/symfony/translation-contracts/composer.json index 213b5cda8..181651e0d 100644 --- a/lam/lib/3rdParty/composer/symfony/translation-contracts/composer.json +++ b/lam/lib/3rdParty/composer/symfony/translation-contracts/composer.json @@ -27,7 +27,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", diff --git a/lam/lib/3rdParty/composer/symfony/translation/Loader/XliffFileLoader.php b/lam/lib/3rdParty/composer/symfony/translation/Loader/XliffFileLoader.php index 31b3251ba..ffe4bbbd8 100644 --- a/lam/lib/3rdParty/composer/symfony/translation/Loader/XliffFileLoader.php +++ b/lam/lib/3rdParty/composer/symfony/translation/Loader/XliffFileLoader.php @@ -112,16 +112,20 @@ class XliffFileLoader implements LoaderInterface continue; } - if (isset($translation->target) && 'needs-translation' === (string) $translation->target->attributes()['state']) { + $source = (string) (isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source); + + if (isset($translation->target) + && 'needs-translation' === (string) $translation->target->attributes()['state'] + && \in_array((string) $translation->target, [$source, (string) $translation->source], true) + ) { continue; } - $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source; // If the xlf file has another encoding specified, try to convert it because // simple_xml will always return utf-8 encoded values $target = $this->utf8ToCharset((string) ($translation->target ?? $translation->source), $encoding); - $catalogue->set((string) $source, $target, $domain); + $catalogue->set($source, $target, $domain); $metadata = [ 'source' => (string) $translation->source, @@ -144,7 +148,7 @@ class XliffFileLoader implements LoaderInterface $metadata['id'] = (string) $attributes['id']; } - $catalogue->setMetadata((string) $source, $metadata, $domain); + $catalogue->setMetadata($source, $metadata, $domain); } } } diff --git a/lam/lib/3rdParty/composer/symfony/translation/LocaleSwitcher.php b/lam/lib/3rdParty/composer/symfony/translation/LocaleSwitcher.php index c07809c58..4950a56bb 100644 --- a/lam/lib/3rdParty/composer/symfony/translation/LocaleSwitcher.php +++ b/lam/lib/3rdParty/composer/symfony/translation/LocaleSwitcher.php @@ -34,9 +34,14 @@ class LocaleSwitcher implements LocaleAwareInterface public function setLocale(string $locale): void { - if (class_exists(\Locale::class)) { - \Locale::setDefault($locale); + // Silently ignore if the intl extension is not loaded + try { + if (class_exists(\Locale::class, false)) { + \Locale::setDefault($locale); + } + } catch (\Exception) { } + $this->locale = $locale; $this->requestContext?->setParameter('_locale', $locale); diff --git a/lam/lib/3rdParty/composer/symfony/translation/Resources/bin/translation-status.php b/lam/lib/3rdParty/composer/symfony/translation/Resources/bin/translation-status.php index 8064190d8..42fa1c69b 100644 --- a/lam/lib/3rdParty/composer/symfony/translation/Resources/bin/translation-status.php +++ b/lam/lib/3rdParty/composer/symfony/translation/Resources/bin/translation-status.php @@ -162,11 +162,11 @@ function extractLocaleFromFilePath($filePath) function extractTranslationKeys($filePath): array { $translationKeys = []; - $contents = new \SimpleXMLElement(file_get_contents($filePath)); + $contents = new SimpleXMLElement(file_get_contents($filePath)); foreach ($contents->file->body->{'trans-unit'} as $translationKey) { $translationId = (string) $translationKey['id']; - $translationKey = (string) $translationKey->source; + $translationKey = (string) ($translationKey['resname'] ?? $translationKey->source); $translationKeys[$translationId] = $translationKey; }