diff --git a/.gitignore b/.gitignore
index 29a23ac..7c4f5ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@
.idea/
.phpunit.result.cache
.phpunit.cache
-.env
\ No newline at end of file
+.env
+/coverage
\ No newline at end of file
diff --git a/README.md b/README.md
index 469e953..db15de9 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,7 @@ Add a new queue connection to `config/queue.php`
'service_account_email' => env('CLOUD_TASKS_SERVICE_EMAIL', ''),
'backoff' => 0,
+ 'after_commit' => false,
],
```
diff --git a/composer.json b/composer.json
index f037d60..354459b 100644
--- a/composer.json
+++ b/composer.json
@@ -10,16 +10,14 @@
"require": {
"php": "^8.1",
"ext-json": "*",
- "phpseclib/phpseclib": "^3.0",
- "google/cloud-tasks": "^1.15|^2.0",
- "thecodingmachine/safe": "^1.0|^2.0|^3.0"
+ "google/cloud-tasks": "^2.0",
+ "thecodingmachine/safe": "^3.0"
},
"require-dev": {
- "orchestra/testbench": "^8.0",
+ "orchestra/testbench": "^10.0",
"thecodingmachine/phpstan-safe-rule": "^1.2",
- "laravel/legacy-factories": "^1.3",
"laravel/pint": "^1.13",
- "larastan/larastan": "^2.9"
+ "larastan/larastan": "^3.0"
},
"autoload": {
"psr-4": {
@@ -28,8 +26,7 @@
},
"autoload-dev": {
"psr-4": {
- "Tests\\": "tests/",
- "Factories\\": "factories/"
+ "Tests\\": "tests/"
}
},
"extra": {
@@ -42,8 +39,12 @@
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
- "l10": [
- "composer require laravel/framework:10.* orchestra/testbench:8.* --no-interaction --no-update",
+ "l11": [
+ "composer require laravel/framework:11.* orchestra/testbench:9.* --no-interaction --no-update",
+ "composer update --prefer-stable --prefer-dist --no-interaction"
+ ],
+ "l12": [
+ "composer require laravel/framework:12.* orchestra/testbench:10.* --no-interaction --no-update",
"composer update --prefer-stable --prefer-dist --no-interaction"
],
"pint": [
diff --git a/composer.lock b/composer.lock
index cec3799..6df29a5 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "bcd6f9834b17839104825f5b4e40bc79",
+ "content-hash": "cabd4a7b08023ecd8d02afc68d020650",
"packages": [
{
"name": "brick/math",
- "version": "0.12.1",
+ "version": "0.12.2",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
- "reference": "f510c0a40911935b77b86859eb5223d58d660df1"
+ "reference": "901eddb1e45a8e0f689302e40af871c181ecbe40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1",
- "reference": "f510c0a40911935b77b86859eb5223d58d660df1",
+ "url": "https://api.github.com/repos/brick/math/zipball/901eddb1e45a8e0f689302e40af871c181ecbe40",
+ "reference": "901eddb1e45a8e0f689302e40af871c181ecbe40",
"shasum": ""
},
"require": {
@@ -26,7 +26,7 @@
"require-dev": {
"php-coveralls/php-coveralls": "^2.2",
"phpunit/phpunit": "^10.1",
- "vimeo/psalm": "5.16.0"
+ "vimeo/psalm": "6.8.8"
},
"type": "library",
"autoload": {
@@ -56,7 +56,7 @@
],
"support": {
"issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/0.12.1"
+ "source": "https://github.com/brick/math/tree/0.12.2"
},
"funding": [
{
@@ -64,20 +64,20 @@
"type": "github"
}
],
- "time": "2023-11-29T23:19:16+00:00"
+ "time": "2025-02-26T10:21:45+00:00"
},
{
"name": "firebase/php-jwt",
- "version": "v6.10.2",
+ "version": "v6.11.0",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
- "reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b"
+ "reference": "8f718f4dfc9c5d5f0c994cdfd103921b43592712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
- "reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/8f718f4dfc9c5d5f0c994cdfd103921b43592712",
+ "reference": "8f718f4dfc9c5d5f0c994cdfd103921b43592712",
"shasum": ""
},
"require": {
@@ -125,22 +125,22 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
- "source": "https://github.com/firebase/php-jwt/tree/v6.10.2"
+ "source": "https://github.com/firebase/php-jwt/tree/v6.11.0"
},
- "time": "2024-11-24T11:22:49+00:00"
+ "time": "2025-01-23T05:11:06+00:00"
},
{
"name": "google/auth",
- "version": "v1.45.0",
+ "version": "v1.46.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-auth-library-php.git",
- "reference": "cfcb93162341ed5022fa976e621f0fa2b05ba6ad"
+ "reference": "7fafae99a41984cbfb92508174263cf7bf3049b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/cfcb93162341ed5022fa976e621f0fa2b05ba6ad",
- "reference": "cfcb93162341ed5022fa976e621f0fa2b05ba6ad",
+ "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/7fafae99a41984cbfb92508174263cf7bf3049b9",
+ "reference": "7fafae99a41984cbfb92508174263cf7bf3049b9",
"shasum": ""
},
"require": {
@@ -177,31 +177,31 @@
"Apache-2.0"
],
"description": "Google Auth Library for PHP",
- "homepage": "http://github.com/google/google-auth-library-php",
+ "homepage": "https://github.com/google/google-auth-library-php",
"keywords": [
"Authentication",
"google",
"oauth2"
],
"support": {
- "docs": "https://googleapis.github.io/google-auth-library-php/main/",
+ "docs": "https://cloud.google.com/php/docs/reference/auth/latest",
"issues": "https://github.com/googleapis/google-auth-library-php/issues",
- "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.45.0"
+ "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.46.0"
},
- "time": "2024-12-11T02:10:48+00:00"
+ "time": "2025-02-12T22:21:37+00:00"
},
{
"name": "google/cloud-tasks",
- "version": "v2.0.0",
+ "version": "v2.0.1",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-cloud-php-tasks.git",
- "reference": "b56a04012dbd4683c13da933fd4b643eef7aa76a"
+ "reference": "63d4d2df4612fcf667620b311b048ff5b92e0a42"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/google-cloud-php-tasks/zipball/b56a04012dbd4683c13da933fd4b643eef7aa76a",
- "reference": "b56a04012dbd4683c13da933fd4b643eef7aa76a",
+ "url": "https://api.github.com/repos/googleapis/google-cloud-php-tasks/zipball/63d4d2df4612fcf667620b311b048ff5b92e0a42",
+ "reference": "63d4d2df4612fcf667620b311b048ff5b92e0a42",
"shasum": ""
},
"require": {
@@ -237,22 +237,22 @@
],
"description": "Google Cloud Tasks Client for PHP",
"support": {
- "source": "https://github.com/googleapis/google-cloud-php-tasks/tree/v2.0.0"
+ "source": "https://github.com/googleapis/google-cloud-php-tasks/tree/v2.0.1"
},
- "time": "2025-01-11T02:14:50+00:00"
+ "time": "2025-01-24T21:24:06+00:00"
},
{
"name": "google/common-protos",
- "version": "4.8.3",
+ "version": "4.11.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/common-protos-php.git",
- "reference": "38a9a8bb459fa618da797d25d7bf36bb21d1103d"
+ "reference": "2554ed1f09aa20faae7b71b590e7063df97ff670"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/38a9a8bb459fa618da797d25d7bf36bb21d1103d",
- "reference": "38a9a8bb459fa618da797d25d7bf36bb21d1103d",
+ "url": "https://api.github.com/repos/googleapis/common-protos-php/zipball/2554ed1f09aa20faae7b71b590e7063df97ff670",
+ "reference": "2554ed1f09aa20faae7b71b590e7063df97ff670",
"shasum": ""
},
"require": {
@@ -266,9 +266,9 @@
"extra": {
"component": {
"id": "common-protos",
- "target": "googleapis/common-protos-php.git",
"path": "CommonProtos",
- "entry": "README.md"
+ "entry": "README.md",
+ "target": "googleapis/common-protos-php.git"
}
},
"autoload": {
@@ -296,9 +296,9 @@
"google"
],
"support": {
- "source": "https://github.com/googleapis/common-protos-php/tree/v4.8.3"
+ "source": "https://github.com/googleapis/common-protos-php/tree/v4.11.0"
},
- "time": "2024-09-07T01:37:15+00:00"
+ "time": "2025-02-18T19:46:55+00:00"
},
{
"name": "google/gax",
@@ -359,16 +359,16 @@
},
{
"name": "google/grpc-gcp",
- "version": "v0.4.0",
+ "version": "v0.4.1",
"source": {
"type": "git",
"url": "https://github.com/GoogleCloudPlatform/grpc-gcp-php.git",
- "reference": "2a80dbf690922aa52bb6bb79b9a32a9637a5c2d9"
+ "reference": "e585b7721bbe806ef45b5c52ae43dfc2bff89968"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GoogleCloudPlatform/grpc-gcp-php/zipball/2a80dbf690922aa52bb6bb79b9a32a9637a5c2d9",
- "reference": "2a80dbf690922aa52bb6bb79b9a32a9637a5c2d9",
+ "url": "https://api.github.com/repos/GoogleCloudPlatform/grpc-gcp-php/zipball/e585b7721bbe806ef45b5c52ae43dfc2bff89968",
+ "reference": "e585b7721bbe806ef45b5c52ae43dfc2bff89968",
"shasum": ""
},
"require": {
@@ -398,26 +398,26 @@
"description": "gRPC GCP library for channel management",
"support": {
"issues": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/issues",
- "source": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/tree/v0.4.0"
+ "source": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/tree/v0.4.1"
},
- "time": "2024-04-03T16:37:55+00:00"
+ "time": "2025-02-19T21:53:22+00:00"
},
{
"name": "google/longrunning",
- "version": "0.4.5",
+ "version": "0.4.7",
"source": {
"type": "git",
"url": "https://github.com/googleapis/php-longrunning.git",
- "reference": "062eab0f3b9310da9498bfe20b273f074580b916"
+ "reference": "624cabb874c10e5ddc9034c999f724894b70a3d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/googleapis/php-longrunning/zipball/062eab0f3b9310da9498bfe20b273f074580b916",
- "reference": "062eab0f3b9310da9498bfe20b273f074580b916",
+ "url": "https://api.github.com/repos/googleapis/php-longrunning/zipball/624cabb874c10e5ddc9034c999f724894b70a3d3",
+ "reference": "624cabb874c10e5ddc9034c999f724894b70a3d3",
"shasum": ""
},
"require-dev": {
- "google/gax": "^1.34.0",
+ "google/gax": "^1.36.0",
"phpunit/phpunit": "^9.0"
},
"type": "library",
@@ -442,22 +442,22 @@
],
"description": "Google LongRunning Client for PHP",
"support": {
- "source": "https://github.com/googleapis/php-longrunning/tree/v0.4.5"
+ "source": "https://github.com/googleapis/php-longrunning/tree/v0.4.7"
},
- "time": "2024-11-16T00:28:46+00:00"
+ "time": "2025-01-24T21:24:06+00:00"
},
{
"name": "google/protobuf",
- "version": "v4.29.0",
+ "version": "v4.29.3",
"source": {
"type": "git",
"url": "https://github.com/protocolbuffers/protobuf-php.git",
- "reference": "0ef6b2eb74b782f3f9023276c324d22e440f7587"
+ "reference": "ab5077c2cfdd1f415f42d11fdbdf903ba8e3d9b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0ef6b2eb74b782f3f9023276c324d22e440f7587",
- "reference": "0ef6b2eb74b782f3f9023276c324d22e440f7587",
+ "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/ab5077c2cfdd1f415f42d11fdbdf903ba8e3d9b7",
+ "reference": "ab5077c2cfdd1f415f42d11fdbdf903ba8e3d9b7",
"shasum": ""
},
"require": {
@@ -486,9 +486,9 @@
"proto"
],
"support": {
- "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.0"
+ "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.29.3"
},
- "time": "2024-11-27T18:37:40+00:00"
+ "time": "2025-01-08T21:00:13+00:00"
},
{
"name": "grpc/grpc",
@@ -859,233 +859,6 @@
],
"time": "2024-07-18T11:15:46+00:00"
},
- {
- "name": "paragonie/constant_time_encoding",
- "version": "v3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
- "shasum": ""
- },
- "require": {
- "php": "^8"
- },
- "require-dev": {
- "phpunit/phpunit": "^9",
- "vimeo/psalm": "^4|^5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "ParagonIE\\ConstantTime\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com",
- "role": "Maintainer"
- },
- {
- "name": "Steve 'Sc00bz' Thomas",
- "email": "steve@tobtu.com",
- "homepage": "https://www.tobtu.com",
- "role": "Original Developer"
- }
- ],
- "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
- "keywords": [
- "base16",
- "base32",
- "base32_decode",
- "base32_encode",
- "base64",
- "base64_decode",
- "base64_encode",
- "bin2hex",
- "encoding",
- "hex",
- "hex2bin",
- "rfc4648"
- ],
- "support": {
- "email": "info@paragonie.com",
- "issues": "https://github.com/paragonie/constant_time_encoding/issues",
- "source": "https://github.com/paragonie/constant_time_encoding"
- },
- "time": "2024-05-08T12:36:18+00:00"
- },
- {
- "name": "paragonie/random_compat",
- "version": "v9.99.100",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
- "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
- "shasum": ""
- },
- "require": {
- "php": ">= 7"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- },
- "type": "library",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
- ],
- "support": {
- "email": "info@paragonie.com",
- "issues": "https://github.com/paragonie/random_compat/issues",
- "source": "https://github.com/paragonie/random_compat"
- },
- "time": "2020-10-15T08:29:30+00:00"
- },
- {
- "name": "phpseclib/phpseclib",
- "version": "3.0.42",
- "source": {
- "type": "git",
- "url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/db92f1b1987b12b13f248fe76c3a52cadb67bb98",
- "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98",
- "shasum": ""
- },
- "require": {
- "paragonie/constant_time_encoding": "^1|^2|^3",
- "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
- "php": ">=5.6.1"
- },
- "require-dev": {
- "phpunit/phpunit": "*"
- },
- "suggest": {
- "ext-dom": "Install the DOM extension to load XML formatted public keys.",
- "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
- "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
- "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
- "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
- },
- "type": "library",
- "autoload": {
- "files": [
- "phpseclib/bootstrap.php"
- ],
- "psr-4": {
- "phpseclib3\\": "phpseclib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jim Wigginton",
- "email": "terrafrost@php.net",
- "role": "Lead Developer"
- },
- {
- "name": "Patrick Monnerat",
- "email": "pm@datasphere.ch",
- "role": "Developer"
- },
- {
- "name": "Andreas Fischer",
- "email": "bantu@phpbb.com",
- "role": "Developer"
- },
- {
- "name": "Hans-Jürgen Petrich",
- "email": "petrich@tronic-media.com",
- "role": "Developer"
- },
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com",
- "role": "Developer"
- }
- ],
- "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
- "homepage": "http://phpseclib.sourceforge.net",
- "keywords": [
- "BigInteger",
- "aes",
- "asn.1",
- "asn1",
- "blowfish",
- "crypto",
- "cryptography",
- "encryption",
- "rsa",
- "security",
- "sftp",
- "signature",
- "signing",
- "ssh",
- "twofish",
- "x.509",
- "x509"
- ],
- "support": {
- "issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/3.0.42"
- },
- "funding": [
- {
- "url": "https://github.com/terrafrost",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/phpseclib",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-16T03:06:04+00:00"
- },
{
"name": "psr/cache",
"version": "3.0.0",
@@ -1589,12 +1362,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -1639,46 +1412,31 @@
},
{
"name": "thecodingmachine/safe",
- "version": "v2.5.0",
+ "version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/thecodingmachine/safe.git",
- "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0"
+ "reference": "22ffad3248982a784f9870a37aeb2e522bd19645"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0",
- "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0",
+ "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/22ffad3248982a784f9870a37aeb2e522bd19645",
+ "reference": "22ffad3248982a784f9870a37aeb2e522bd19645",
"shasum": ""
},
"require": {
- "php": "^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "phpstan/phpstan": "^1.5",
- "phpunit/phpunit": "^9.5",
- "squizlabs/php_codesniffer": "^3.2",
- "thecodingmachine/phpstan-strict-rules": "^1.0"
+ "php-parallel-lint/php-parallel-lint": "^1.4",
+ "phpstan/phpstan": "^2",
+ "phpunit/phpunit": "^10",
+ "squizlabs/php_codesniffer": "^3.2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2.x-dev"
- }
- },
"autoload": {
"files": [
- "deprecated/apc.php",
- "deprecated/array.php",
- "deprecated/datetime.php",
- "deprecated/libevent.php",
- "deprecated/misc.php",
- "deprecated/password.php",
- "deprecated/mssql.php",
- "deprecated/stats.php",
- "deprecated/strings.php",
"lib/special_cases.php",
- "deprecated/mysqli.php",
"generated/apache.php",
"generated/apcu.php",
"generated/array.php",
@@ -1718,6 +1476,7 @@
"generated/mbstring.php",
"generated/misc.php",
"generated/mysql.php",
+ "generated/mysqli.php",
"generated/network.php",
"generated/oci8.php",
"generated/opcache.php",
@@ -1730,6 +1489,7 @@
"generated/ps.php",
"generated/pspell.php",
"generated/readline.php",
+ "generated/rnp.php",
"generated/rpminfo.php",
"generated/rrd.php",
"generated/sem.php",
@@ -1761,7 +1521,6 @@
"lib/DateTime.php",
"lib/DateTimeImmutable.php",
"lib/Exceptions/",
- "deprecated/Exceptions/",
"generated/Exceptions/"
]
},
@@ -1772,34 +1531,48 @@
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
"support": {
"issues": "https://github.com/thecodingmachine/safe/issues",
- "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0"
+ "source": "https://github.com/thecodingmachine/safe/tree/v3.0.2"
},
- "time": "2023-04-05T11:54:14+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/OskarStark",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/shish",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/staabm",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-19T19:23:00+00:00"
}
],
"packages-dev": [
{
"name": "carbonphp/carbon-doctrine-types",
- "version": "2.1.0",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0"
+ "php": "^8.1"
},
"conflict": {
- "doctrine/dbal": "<3.7.0 || >=4.0.0"
+ "doctrine/dbal": "<4.0.0 || >=5.0.0"
},
"require-dev": {
- "doctrine/dbal": "^3.7.0",
+ "doctrine/dbal": "^4.0.0",
"nesbot/carbon": "^2.71.0 || ^3.0.0",
"phpunit/phpunit": "^10.3"
},
@@ -1829,7 +1602,7 @@
],
"support": {
"issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
- "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0"
+ "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0"
},
"funding": [
{
@@ -1845,7 +1618,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-11T17:09:12+00:00"
+ "time": "2024-02-09T16:56:22+00:00"
},
{
"name": "composer/semver",
@@ -2238,16 +2011,16 @@
},
{
"name": "egulias/email-validator",
- "version": "4.0.2",
+ "version": "4.0.3",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e"
+ "reference": "b115554301161fa21467629f1e1391c1936de517"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e",
- "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517",
+ "reference": "b115554301161fa21467629f1e1391c1936de517",
"shasum": ""
},
"require": {
@@ -2293,7 +2066,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/4.0.2"
+ "source": "https://github.com/egulias/EmailValidator/tree/4.0.3"
},
"funding": [
{
@@ -2301,7 +2074,7 @@
"type": "github"
}
],
- "time": "2023-10-06T06:47:41+00:00"
+ "time": "2024-12-27T00:36:43+00:00"
},
{
"name": "fakerphp/faker",
@@ -2368,16 +2141,16 @@
},
{
"name": "filp/whoops",
- "version": "2.16.0",
+ "version": "2.17.0",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "befcdc0e5dce67252aa6322d82424be928214fa2"
+ "reference": "075bc0c26631110584175de6523ab3f1652eb28e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/befcdc0e5dce67252aa6322d82424be928214fa2",
- "reference": "befcdc0e5dce67252aa6322d82424be928214fa2",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/075bc0c26631110584175de6523ab3f1652eb28e",
+ "reference": "075bc0c26631110584175de6523ab3f1652eb28e",
"shasum": ""
},
"require": {
@@ -2427,7 +2200,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.16.0"
+ "source": "https://github.com/filp/whoops/tree/2.17.0"
},
"funding": [
{
@@ -2435,7 +2208,7 @@
"type": "github"
}
],
- "time": "2024-09-25T12:00:00+00:00"
+ "time": "2025-01-25T12:00:00+00:00"
},
{
"name": "fruitcake/php-cors",
@@ -2572,16 +2345,16 @@
},
{
"name": "guzzlehttp/uri-template",
- "version": "v1.0.3",
+ "version": "v1.0.4",
"source": {
"type": "git",
"url": "https://github.com/guzzle/uri-template.git",
- "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c"
+ "reference": "30e286560c137526eccd4ce21b2de477ab0676d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c",
- "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c",
+ "url": "https://api.github.com/repos/guzzle/uri-template/zipball/30e286560c137526eccd4ce21b2de477ab0676d2",
+ "reference": "30e286560c137526eccd4ce21b2de477ab0676d2",
"shasum": ""
},
"require": {
@@ -2638,7 +2411,7 @@
],
"support": {
"issues": "https://github.com/guzzle/uri-template/issues",
- "source": "https://github.com/guzzle/uri-template/tree/v1.0.3"
+ "source": "https://github.com/guzzle/uri-template/tree/v1.0.4"
},
"funding": [
{
@@ -2654,7 +2427,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T19:50:20+00:00"
+ "time": "2025-02-03T10:55:03+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -2709,40 +2482,40 @@
},
{
"name": "larastan/larastan",
- "version": "v2.9.13",
+ "version": "v3.1.0",
"source": {
"type": "git",
"url": "https://github.com/larastan/larastan.git",
- "reference": "b43bb4b446c65e0bf30d3887f49a1bc8047edc45"
+ "reference": "dbb2dc20e5c8e1ed3ff289054e1955f269187312"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/larastan/larastan/zipball/b43bb4b446c65e0bf30d3887f49a1bc8047edc45",
- "reference": "b43bb4b446c65e0bf30d3887f49a1bc8047edc45",
+ "url": "https://api.github.com/repos/larastan/larastan/zipball/dbb2dc20e5c8e1ed3ff289054e1955f269187312",
+ "reference": "dbb2dc20e5c8e1ed3ff289054e1955f269187312",
"shasum": ""
},
"require": {
"ext-json": "*",
- "illuminate/console": "^9.52.16 || ^10.28.0 || ^11.16",
- "illuminate/container": "^9.52.16 || ^10.28.0 || ^11.16",
- "illuminate/contracts": "^9.52.16 || ^10.28.0 || ^11.16",
- "illuminate/database": "^9.52.16 || ^10.28.0 || ^11.16",
- "illuminate/http": "^9.52.16 || ^10.28.0 || ^11.16",
- "illuminate/pipeline": "^9.52.16 || ^10.28.0 || ^11.16",
- "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.16",
- "php": "^8.0.2",
+ "illuminate/console": "^11.15.0 || ^12.0",
+ "illuminate/container": "^11.15.0 || ^12.0",
+ "illuminate/contracts": "^11.15.0 || ^12.0",
+ "illuminate/database": "^11.15.0 || ^12.0",
+ "illuminate/http": "^11.15.0 || ^12.0",
+ "illuminate/pipeline": "^11.15.0 || ^12.0",
+ "illuminate/support": "^11.15.0 || ^12.0",
+ "php": "^8.2",
"phpmyadmin/sql-parser": "^5.9.0",
- "phpstan/phpstan": "^1.12.11"
+ "phpstan/phpstan": "^2.1.3"
},
"require-dev": {
"doctrine/coding-standard": "^12.0",
- "laravel/framework": "^9.52.16 || ^10.28.0 || ^11.16",
- "mockery/mockery": "^1.5.1",
- "nikic/php-parser": "^4.19.1",
- "orchestra/canvas": "^7.11.1 || ^8.11.0 || ^9.0.2",
- "orchestra/testbench-core": "^7.33.0 || ^8.13.0 || ^9.0.9",
- "phpstan/phpstan-deprecation-rules": "^1.2",
- "phpunit/phpunit": "^9.6.13 || ^10.5.16"
+ "laravel/framework": "^11.15.0 || ^12.0",
+ "mockery/mockery": "^1.6",
+ "nikic/php-parser": "^5.3",
+ "orchestra/canvas": "^v9.1.3 || ^10.0",
+ "orchestra/testbench-core": "^9.5.2 || ^10.0",
+ "phpstan/phpstan-deprecation-rules": "^2.0.0",
+ "phpunit/phpunit": "^10.5.35 || ^11.3.6"
},
"suggest": {
"orchestra/testbench": "Using Larastan for analysing a package needs Testbench"
@@ -2755,7 +2528,7 @@
]
},
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -2777,7 +2550,7 @@
"email": "enunomaduro@gmail.com"
}
],
- "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel",
+ "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel",
"keywords": [
"PHPStan",
"code analyse",
@@ -2790,7 +2563,7 @@
],
"support": {
"issues": "https://github.com/larastan/larastan/issues",
- "source": "https://github.com/larastan/larastan/tree/v2.9.13"
+ "source": "https://github.com/larastan/larastan/tree/v3.1.0"
},
"funding": [
{
@@ -2798,27 +2571,27 @@
"type": "github"
}
],
- "time": "2025-02-04T16:25:56+00:00"
+ "time": "2025-02-20T15:25:15+00:00"
},
{
"name": "laravel/framework",
- "version": "v10.48.25",
+ "version": "v12.0.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "f132b23b13909cc22c615c01b0c5640541c3da0c"
+ "reference": "d99e2385a6d4324782d52f4423891966425641be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/f132b23b13909cc22c615c01b0c5640541c3da0c",
- "reference": "f132b23b13909cc22c615c01b0c5640541c3da0c",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/d99e2385a6d4324782d52f4423891966425641be",
+ "reference": "d99e2385a6d4324782d52f4423891966425641be",
"shasum": ""
},
"require": {
- "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12",
+ "brick/math": "^0.11|^0.12",
"composer-runtime-api": "^2.2",
"doctrine/inflector": "^2.0.5",
- "dragonmantank/cron-expression": "^3.3.2",
+ "dragonmantank/cron-expression": "^3.4",
"egulias/email-validator": "^3.2.1|^4.0",
"ext-ctype": "*",
"ext-filter": "*",
@@ -2827,44 +2600,45 @@
"ext-openssl": "*",
"ext-session": "*",
"ext-tokenizer": "*",
- "fruitcake/php-cors": "^1.2",
+ "fruitcake/php-cors": "^1.3",
+ "guzzlehttp/guzzle": "^7.8.2",
"guzzlehttp/uri-template": "^1.0",
- "laravel/prompts": "^0.1.9",
- "laravel/serializable-closure": "^1.3",
- "league/commonmark": "^2.2.1",
- "league/flysystem": "^3.8.0",
+ "laravel/prompts": "^0.3.0",
+ "laravel/serializable-closure": "^1.3|^2.0",
+ "league/commonmark": "^2.6",
+ "league/flysystem": "^3.25.1",
+ "league/flysystem-local": "^3.25.1",
+ "league/uri": "^7.5.1",
"monolog/monolog": "^3.0",
- "nesbot/carbon": "^2.67",
- "nunomaduro/termwind": "^1.13",
- "php": "^8.1",
+ "nesbot/carbon": "^3.8.4",
+ "nunomaduro/termwind": "^2.0",
+ "php": "^8.2",
"psr/container": "^1.1.1|^2.0.1",
"psr/log": "^1.0|^2.0|^3.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
"ramsey/uuid": "^4.7",
- "symfony/console": "^6.2",
- "symfony/error-handler": "^6.2",
- "symfony/finder": "^6.2",
- "symfony/http-foundation": "^6.4",
- "symfony/http-kernel": "^6.2",
- "symfony/mailer": "^6.2",
- "symfony/mime": "^6.2",
- "symfony/process": "^6.2",
- "symfony/routing": "^6.2",
- "symfony/uid": "^6.2",
- "symfony/var-dumper": "^6.2",
+ "symfony/console": "^7.2.0",
+ "symfony/error-handler": "^7.2.0",
+ "symfony/finder": "^7.2.0",
+ "symfony/http-foundation": "^7.2.0",
+ "symfony/http-kernel": "^7.2.0",
+ "symfony/mailer": "^7.2.0",
+ "symfony/mime": "^7.2.0",
+ "symfony/polyfill-php83": "^1.31",
+ "symfony/process": "^7.2.0",
+ "symfony/routing": "^7.2.0",
+ "symfony/uid": "^7.2.0",
+ "symfony/var-dumper": "^7.2.0",
"tijsverkoyen/css-to-inline-styles": "^2.2.5",
- "vlucas/phpdotenv": "^5.4.1",
- "voku/portable-ascii": "^2.0"
+ "vlucas/phpdotenv": "^5.6.1",
+ "voku/portable-ascii": "^2.0.2"
},
"conflict": {
- "carbonphp/carbon-doctrine-types": ">=3.0",
- "doctrine/dbal": ">=4.0",
- "mockery/mockery": "1.6.8",
- "phpunit/phpunit": ">=11.0.0",
"tightenco/collect": "<5.5.33"
},
"provide": {
"psr/container-implementation": "1.1|2.0",
+ "psr/log-implementation": "1.0|2.0|3.0",
"psr/simple-cache-implementation": "1.0|2.0|3.0"
},
"replace": {
@@ -2873,6 +2647,7 @@
"illuminate/bus": "self.version",
"illuminate/cache": "self.version",
"illuminate/collections": "self.version",
+ "illuminate/concurrency": "self.version",
"illuminate/conditionable": "self.version",
"illuminate/config": "self.version",
"illuminate/console": "self.version",
@@ -2900,36 +2675,39 @@
"illuminate/testing": "self.version",
"illuminate/translation": "self.version",
"illuminate/validation": "self.version",
- "illuminate/view": "self.version"
+ "illuminate/view": "self.version",
+ "spatie/once": "*"
},
"require-dev": {
"ably/ably-php": "^1.0",
- "aws/aws-sdk-php": "^3.235.5",
- "doctrine/dbal": "^3.5.1",
+ "aws/aws-sdk-php": "^3.322.9",
"ext-gmp": "*",
- "fakerphp/faker": "^1.21",
- "guzzlehttp/guzzle": "^7.5",
- "league/flysystem-aws-s3-v3": "^3.0",
- "league/flysystem-ftp": "^3.0",
- "league/flysystem-path-prefixing": "^3.3",
- "league/flysystem-read-only": "^3.3",
- "league/flysystem-sftp-v3": "^3.0",
- "mockery/mockery": "^1.5.1",
- "nyholm/psr7": "^1.2",
- "orchestra/testbench-core": "^8.23.4",
- "pda/pheanstalk": "^4.0",
- "phpstan/phpstan": "~1.11.11",
- "phpunit/phpunit": "^10.0.7",
- "predis/predis": "^2.0.2",
- "symfony/cache": "^6.2",
- "symfony/http-client": "^6.2.4",
- "symfony/psr-http-message-bridge": "^2.0"
+ "fakerphp/faker": "^1.24",
+ "guzzlehttp/promises": "^2.0.3",
+ "guzzlehttp/psr7": "^2.4",
+ "laravel/pint": "^1.18",
+ "league/flysystem-aws-s3-v3": "^3.25.1",
+ "league/flysystem-ftp": "^3.25.1",
+ "league/flysystem-path-prefixing": "^3.25.1",
+ "league/flysystem-read-only": "^3.25.1",
+ "league/flysystem-sftp-v3": "^3.25.1",
+ "mockery/mockery": "^1.6.10",
+ "orchestra/testbench-core": "^10.0",
+ "pda/pheanstalk": "^5.0.6",
+ "php-http/discovery": "^1.15",
+ "phpstan/phpstan": "^2.0",
+ "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",
+ "predis/predis": "^2.3",
+ "resend/resend-php": "^0.10.0",
+ "symfony/cache": "^7.2.0",
+ "symfony/http-client": "^7.2.0",
+ "symfony/psr-http-message-bridge": "^7.2.0",
+ "symfony/translation": "^7.2.0"
},
"suggest": {
"ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).",
- "brianium/paratest": "Required to run tests in parallel (^6.0).",
- "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).",
+ "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).",
+ "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).",
"ext-apcu": "Required to use the APC cache driver.",
"ext-fileinfo": "Required to use the Filesystem class.",
"ext-ftp": "Required to use the Flysystem FTP driver.",
@@ -2938,42 +2716,45 @@
"ext-pcntl": "Required to use all features of the queue worker and console signal trapping.",
"ext-pdo": "Required to use all database features.",
"ext-posix": "Required to use all features of the queue worker.",
- "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
+ "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
- "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
- "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
- "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
- "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).",
- "league/flysystem-read-only": "Required to use read-only disks (^3.3)",
- "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
- "mockery/mockery": "Required to use mocking (^1.5.1).",
- "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
- "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
- "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).",
- "predis/predis": "Required to use the predis connector (^2.0.2).",
+ "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
+ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).",
+ "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).",
+ "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)",
+ "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).",
+ "mockery/mockery": "Required to use mocking (^1.6).",
+ "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).",
+ "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).",
+ "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).",
+ "predis/predis": "Required to use the predis connector (^2.3).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^6.2).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).",
- "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).",
- "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).",
- "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).",
- "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)."
+ "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).",
+ "symfony/cache": "Required to PSR-6 cache bridge (^7.2).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).",
+ "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).",
+ "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).",
+ "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).",
+ "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "10.x-dev"
+ "dev-master": "12.x-dev"
}
},
"autoload": {
"files": [
+ "src/Illuminate/Collections/functions.php",
"src/Illuminate/Collections/helpers.php",
"src/Illuminate/Events/functions.php",
"src/Illuminate/Filesystem/functions.php",
"src/Illuminate/Foundation/helpers.php",
+ "src/Illuminate/Log/functions.php",
+ "src/Illuminate/Support/functions.php",
"src/Illuminate/Support/helpers.php"
],
"psr-4": {
@@ -3005,36 +2786,36 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2024-11-26T15:32:57+00:00"
+ "time": "2025-02-24T13:31:23+00:00"
},
{
"name": "laravel/legacy-factories",
- "version": "v1.4.0",
+ "version": "v1.4.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/legacy-factories.git",
- "reference": "6cb79f668fc36b8b396ada1da3ba45867889c30f"
+ "reference": "cd0f8c77d116bac121e9779fcff1f71801aaac50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/legacy-factories/zipball/6cb79f668fc36b8b396ada1da3ba45867889c30f",
- "reference": "6cb79f668fc36b8b396ada1da3ba45867889c30f",
+ "url": "https://api.github.com/repos/laravel/legacy-factories/zipball/cd0f8c77d116bac121e9779fcff1f71801aaac50",
+ "reference": "cd0f8c77d116bac121e9779fcff1f71801aaac50",
"shasum": ""
},
"require": {
- "illuminate/macroable": "^8.0|^9.0|^10.0|^11.0",
+ "illuminate/macroable": "^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^7.3|^8.0",
"symfony/finder": "^3.4|^4.0|^5.0|^6.0|^7.0"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- },
"laravel": {
"providers": [
"Illuminate\\Database\\Eloquent\\LegacyFactoryServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-master": "1.x-dev"
}
},
"autoload": {
@@ -3061,20 +2842,98 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2024-01-15T13:55:14+00:00"
+ "time": "2025-01-24T15:41:36+00:00"
+ },
+ {
+ "name": "laravel/pail",
+ "version": "v1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/pail.git",
+ "reference": "f31f4980f52be17c4667f3eafe034e6826787db2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/pail/zipball/f31f4980f52be17c4667f3eafe034e6826787db2",
+ "reference": "f31f4980f52be17c4667f3eafe034e6826787db2",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "illuminate/console": "^10.24|^11.0|^12.0",
+ "illuminate/contracts": "^10.24|^11.0|^12.0",
+ "illuminate/log": "^10.24|^11.0|^12.0",
+ "illuminate/process": "^10.24|^11.0|^12.0",
+ "illuminate/support": "^10.24|^11.0|^12.0",
+ "nunomaduro/termwind": "^1.15|^2.0",
+ "php": "^8.2",
+ "symfony/console": "^6.0|^7.0"
+ },
+ "require-dev": {
+ "laravel/framework": "^10.24|^11.0|^12.0",
+ "laravel/pint": "^1.13",
+ "orchestra/testbench-core": "^8.13|^9.0|^10.0",
+ "pestphp/pest": "^2.20|^3.0",
+ "pestphp/pest-plugin-type-coverage": "^2.3|^3.0",
+ "phpstan/phpstan": "^1.10",
+ "symfony/var-dumper": "^6.3|^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Pail\\PailServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Pail\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "Easily delve into your Laravel application's log files directly from the command line.",
+ "homepage": "https://github.com/laravel/pail",
+ "keywords": [
+ "laravel",
+ "logs",
+ "php",
+ "tail"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/pail/issues",
+ "source": "https://github.com/laravel/pail"
+ },
+ "time": "2025-01-28T15:15:15+00:00"
},
{
"name": "laravel/pint",
- "version": "v1.18.3",
+ "version": "v1.21.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/pint.git",
- "reference": "cef51821608239040ab841ad6e1c6ae502ae3026"
+ "reference": "531fa0871fbde719c51b12afa3a443b8f4e4b425"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/pint/zipball/cef51821608239040ab841ad6e1c6ae502ae3026",
- "reference": "cef51821608239040ab841ad6e1c6ae502ae3026",
+ "url": "https://api.github.com/repos/laravel/pint/zipball/531fa0871fbde719c51b12afa3a443b8f4e4b425",
+ "reference": "531fa0871fbde719c51b12afa3a443b8f4e4b425",
"shasum": ""
},
"require": {
@@ -3082,15 +2941,15 @@
"ext-mbstring": "*",
"ext-tokenizer": "*",
"ext-xml": "*",
- "php": "^8.1.0"
+ "php": "^8.2.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.65.0",
- "illuminate/view": "^10.48.24",
- "larastan/larastan": "^2.9.11",
- "laravel-zero/framework": "^10.4.0",
+ "friendsofphp/php-cs-fixer": "^3.68.5",
+ "illuminate/view": "^11.42.0",
+ "larastan/larastan": "^3.0.4",
+ "laravel-zero/framework": "^11.36.1",
"mockery/mockery": "^1.6.12",
- "nunomaduro/termwind": "^1.17.0",
+ "nunomaduro/termwind": "^2.3",
"pestphp/pest": "^2.36.0"
},
"bin": [
@@ -3127,25 +2986,25 @@
"issues": "https://github.com/laravel/pint/issues",
"source": "https://github.com/laravel/pint"
},
- "time": "2024-11-26T15:34:00+00:00"
+ "time": "2025-02-18T03:18:57+00:00"
},
{
"name": "laravel/prompts",
- "version": "v0.1.25",
+ "version": "v0.3.5",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95"
+ "reference": "57b8f7efe40333cdb925700891c7d7465325d3b1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95",
- "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/57b8f7efe40333cdb925700891c7d7465325d3b1",
+ "reference": "57b8f7efe40333cdb925700891c7d7465325d3b1",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.2",
"ext-mbstring": "*",
- "illuminate/collections": "^10.0|^11.0",
"php": "^8.1",
"symfony/console": "^6.2|^7.0"
},
@@ -3154,8 +3013,9 @@
"laravel/framework": ">=10.17.0 <10.25.0"
},
"require-dev": {
+ "illuminate/collections": "^10.0|^11.0|^12.0",
"mockery/mockery": "^1.5",
- "pestphp/pest": "^2.3",
+ "pestphp/pest": "^2.3|^3.4",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-mockery": "^1.1"
},
@@ -3165,7 +3025,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "0.1.x-dev"
+ "dev-main": "0.3.x-dev"
}
},
"autoload": {
@@ -3183,38 +3043,38 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.1.25"
+ "source": "https://github.com/laravel/prompts/tree/v0.3.5"
},
- "time": "2024-08-12T22:06:33+00:00"
+ "time": "2025-02-11T13:34:40+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v1.3.7",
+ "version": "v2.0.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "4f48ade902b94323ca3be7646db16209ec76be3d"
+ "reference": "f379c13663245f7aa4512a7869f62eb14095f23f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d",
- "reference": "4f48ade902b94323ca3be7646db16209ec76be3d",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f379c13663245f7aa4512a7869f62eb14095f23f",
+ "reference": "f379c13663245f7aa4512a7869f62eb14095f23f",
"shasum": ""
},
"require": {
- "php": "^7.3|^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "illuminate/support": "^8.0|^9.0|^10.0|^11.0",
- "nesbot/carbon": "^2.61|^3.0",
- "pestphp/pest": "^1.21.3",
- "phpstan/phpstan": "^1.8.2",
- "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0"
+ "illuminate/support": "^10.0|^11.0|^12.0",
+ "nesbot/carbon": "^2.67|^3.0",
+ "pestphp/pest": "^2.36|^3.0",
+ "phpstan/phpstan": "^2.0",
+ "symfony/var-dumper": "^6.2.0|^7.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
@@ -3246,26 +3106,26 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2024-11-14T18:34:49+00:00"
+ "time": "2025-02-11T15:03:05+00:00"
},
{
"name": "laravel/tinker",
- "version": "v2.10.0",
+ "version": "v2.10.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
- "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5"
+ "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5",
- "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3",
+ "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3",
"shasum": ""
},
"require": {
- "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
+ "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^7.2.5|^8.0",
"psy/psysh": "^0.11.1|^0.12.0",
"symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0"
@@ -3273,10 +3133,10 @@
"require-dev": {
"mockery/mockery": "~1.3.3|^1.4.2",
"phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^8.5.8|^9.3.3"
+ "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0"
},
"suggest": {
- "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)."
+ "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)."
},
"type": "library",
"extra": {
@@ -3310,22 +3170,22 @@
],
"support": {
"issues": "https://github.com/laravel/tinker/issues",
- "source": "https://github.com/laravel/tinker/tree/v2.10.0"
+ "source": "https://github.com/laravel/tinker/tree/v2.10.1"
},
- "time": "2024-09-23T13:32:56+00:00"
+ "time": "2025-01-27T14:24:01+00:00"
},
{
"name": "league/commonmark",
- "version": "2.5.3",
+ "version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "b650144166dfa7703e62a22e493b853b58d874b0"
+ "reference": "d990688c91cedfb69753ffc2512727ec646df2ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0",
- "reference": "b650144166dfa7703e62a22e493b853b58d874b0",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad",
+ "reference": "d990688c91cedfb69753ffc2512727ec646df2ad",
"shasum": ""
},
"require": {
@@ -3350,8 +3210,9 @@
"phpstan/phpstan": "^1.8.2",
"phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0",
"scrutinizer/ocular": "^1.8.1",
- "symfony/finder": "^5.3 | ^6.0 || ^7.0",
- "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0",
+ "symfony/finder": "^5.3 | ^6.0 | ^7.0",
+ "symfony/process": "^5.4 | ^6.0 | ^7.0",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0",
"unleashedtech/php-coding-standard": "^3.1.1",
"vimeo/psalm": "^4.24.0 || ^5.0.0"
},
@@ -3361,7 +3222,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.6-dev"
+ "dev-main": "2.7-dev"
}
},
"autoload": {
@@ -3418,7 +3279,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-16T11:46:16+00:00"
+ "time": "2024-12-29T14:10:59+00:00"
},
{
"name": "league/config",
@@ -3691,61 +3552,235 @@
"time": "2024-09-21T08:32:55+00:00"
},
{
- "name": "mockery/mockery",
- "version": "1.6.12",
+ "name": "league/uri",
+ "version": "7.5.1",
"source": {
"type": "git",
- "url": "https://github.com/mockery/mockery.git",
- "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
+ "url": "https://github.com/thephpleague/uri.git",
+ "reference": "81fb5145d2644324614cc532b28efd0215bda430"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
- "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
+ "reference": "81fb5145d2644324614cc532b28efd0215bda430",
"shasum": ""
},
"require": {
- "hamcrest/hamcrest-php": "^2.0.1",
- "lib-pcre": ">=7.0",
- "php": ">=7.3"
+ "league/uri-interfaces": "^7.5",
+ "php": "^8.1"
},
"conflict": {
- "phpunit/phpunit": "<8.0"
+ "league/uri-schemes": "^1.0"
},
- "require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.6.17",
- "symplify/easy-coding-standard": "^12.1.14"
+ "suggest": {
+ "ext-bcmath": "to improve IPV4 host parsing",
+ "ext-fileinfo": "to create Data URI from file contennts",
+ "ext-gmp": "to improve IPV4 host parsing",
+ "ext-intl": "to handle IDN host with the best performance",
+ "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
+ "league/uri-components": "Needed to easily manipulate URI objects components",
+ "php-64bit": "to improve IPV4 host parsing",
+ "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.x-dev"
+ }
+ },
"autoload": {
- "files": [
- "library/helpers.php",
- "library/Mockery.php"
- ],
"psr-4": {
- "Mockery\\": "library/Mockery"
+ "League\\Uri\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Pádraic Brady",
- "email": "padraic.brady@gmail.com",
- "homepage": "https://github.com/padraic",
- "role": "Author"
- },
- {
- "name": "Dave Marshall",
- "email": "dave.marshall@atstsolutions.co.uk",
- "homepage": "https://davedevelopment.co.uk",
- "role": "Developer"
- },
- {
- "name": "Nathanael Esayeas",
- "email": "nathanael.esayeas@protonmail.com",
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
+ }
+ ],
+ "description": "URI manipulation library",
+ "homepage": "https://uri.thephpleague.com",
+ "keywords": [
+ "data-uri",
+ "file-uri",
+ "ftp",
+ "hostname",
+ "http",
+ "https",
+ "middleware",
+ "parse_str",
+ "parse_url",
+ "psr-7",
+ "query-string",
+ "querystring",
+ "rfc3986",
+ "rfc3987",
+ "rfc6570",
+ "uri",
+ "uri-template",
+ "url",
+ "ws"
+ ],
+ "support": {
+ "docs": "https://uri.thephpleague.com",
+ "forum": "https://thephpleague.slack.com",
+ "issues": "https://github.com/thephpleague/uri-src/issues",
+ "source": "https://github.com/thephpleague/uri/tree/7.5.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/nyamsprod",
+ "type": "github"
+ }
+ ],
+ "time": "2024-12-08T08:40:02+00:00"
+ },
+ {
+ "name": "league/uri-interfaces",
+ "version": "7.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/uri-interfaces.git",
+ "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
+ "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "php": "^8.1",
+ "psr/http-factory": "^1",
+ "psr/http-message": "^1.1 || ^2.0"
+ },
+ "suggest": {
+ "ext-bcmath": "to improve IPV4 host parsing",
+ "ext-gmp": "to improve IPV4 host parsing",
+ "ext-intl": "to handle IDN host with the best performance",
+ "php-64bit": "to improve IPV4 host parsing",
+ "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Uri\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
+ }
+ ],
+ "description": "Common interfaces and classes for URI representation and interaction",
+ "homepage": "https://uri.thephpleague.com",
+ "keywords": [
+ "data-uri",
+ "file-uri",
+ "ftp",
+ "hostname",
+ "http",
+ "https",
+ "parse_str",
+ "parse_url",
+ "psr-7",
+ "query-string",
+ "querystring",
+ "rfc3986",
+ "rfc3987",
+ "rfc6570",
+ "uri",
+ "url",
+ "ws"
+ ],
+ "support": {
+ "docs": "https://uri.thephpleague.com",
+ "forum": "https://thephpleague.slack.com",
+ "issues": "https://github.com/thephpleague/uri-src/issues",
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/nyamsprod",
+ "type": "github"
+ }
+ ],
+ "time": "2024-12-08T08:18:47+00:00"
+ },
+ {
+ "name": "mockery/mockery",
+ "version": "1.6.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mockery/mockery.git",
+ "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
+ "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
+ "shasum": ""
+ },
+ "require": {
+ "hamcrest/hamcrest-php": "^2.0.1",
+ "lib-pcre": ">=7.0",
+ "php": ">=7.3"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5 || ^9.6.17",
+ "symplify/easy-coding-standard": "^12.1.14"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "library/helpers.php",
+ "library/Mockery.php"
+ ],
+ "psr-4": {
+ "Mockery\\": "library/Mockery"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Pádraic Brady",
+ "email": "padraic.brady@gmail.com",
+ "homepage": "https://github.com/padraic",
+ "role": "Author"
+ },
+ {
+ "name": "Dave Marshall",
+ "email": "dave.marshall@atstsolutions.co.uk",
+ "homepage": "https://davedevelopment.co.uk",
+ "role": "Developer"
+ },
+ {
+ "name": "Nathanael Esayeas",
+ "email": "nathanael.esayeas@protonmail.com",
"homepage": "https://github.com/ghostwriter",
"role": "Lead Developer"
}
@@ -3775,16 +3810,16 @@
},
{
"name": "monolog/monolog",
- "version": "3.8.0",
+ "version": "3.8.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67"
+ "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67",
- "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4",
+ "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4",
"shasum": ""
},
"require": {
@@ -3862,7 +3897,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.8.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.8.1"
},
"funding": [
{
@@ -3874,20 +3909,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-12T13:57:08+00:00"
+ "time": "2024-12-05T17:15:07+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.12.1",
+ "version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
+ "reference": "024473a478be9df5fdaca2c793f2232fe788e414"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
- "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
+ "reference": "024473a478be9df5fdaca2c793f2232fe788e414",
"shasum": ""
},
"require": {
@@ -3926,7 +3961,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
},
"funding": [
{
@@ -3934,56 +3969,51 @@
"type": "tidelift"
}
],
- "time": "2024-11-08T17:47:46+00:00"
+ "time": "2025-02-12T12:17:51+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.72.5",
+ "version": "3.8.6",
"source": {
"type": "git",
- "url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed"
+ "url": "https://github.com/CarbonPHP/carbon.git",
+ "reference": "ff2f20cf83bd4d503720632ce8a426dc747bf7fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed",
- "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ff2f20cf83bd4d503720632ce8a426dc747bf7fd",
+ "reference": "ff2f20cf83bd4d503720632ce8a426dc747bf7fd",
"shasum": ""
},
"require": {
- "carbonphp/carbon-doctrine-types": "*",
+ "carbonphp/carbon-doctrine-types": "<100.0",
"ext-json": "*",
- "php": "^7.1.8 || ^8.0",
+ "php": "^8.1",
"psr/clock": "^1.0",
+ "symfony/clock": "^6.3 || ^7.0",
"symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0"
},
"provide": {
"psr/clock-implementation": "1.0"
},
"require-dev": {
- "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0",
- "doctrine/orm": "^2.7 || ^3.0",
- "friendsofphp/php-cs-fixer": "^3.0",
- "kylekatarnls/multi-tester": "^2.0",
- "ondrejmirtes/better-reflection": "*",
- "phpmd/phpmd": "^2.9",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.99 || ^1.7.14",
- "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6",
- "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
- "squizlabs/php_codesniffer": "^3.4"
+ "doctrine/dbal": "^3.6.3 || ^4.0",
+ "doctrine/orm": "^2.15.2 || ^3.0",
+ "friendsofphp/php-cs-fixer": "^3.57.2",
+ "kylekatarnls/multi-tester": "^2.5.3",
+ "ondrejmirtes/better-reflection": "^6.25.0.4",
+ "phpmd/phpmd": "^2.15.0",
+ "phpstan/extension-installer": "^1.3.1",
+ "phpstan/phpstan": "^1.11.2",
+ "phpunit/phpunit": "^10.5.20",
+ "squizlabs/php_codesniffer": "^3.9.0"
},
"bin": [
"bin/carbon"
],
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "3.x-dev",
- "dev-2.x": "2.x-dev"
- },
"laravel": {
"providers": [
"Carbon\\Laravel\\ServiceProvider"
@@ -3993,6 +4023,10 @@
"includes": [
"extension.neon"
]
+ },
+ "branch-alias": {
+ "dev-2.x": "2.x-dev",
+ "dev-master": "3.x-dev"
}
},
"autoload": {
@@ -4024,8 +4058,8 @@
],
"support": {
"docs": "https://carbon.nesbot.com/docs",
- "issues": "https://github.com/briannesbitt/Carbon/issues",
- "source": "https://github.com/briannesbitt/Carbon"
+ "issues": "https://github.com/CarbonPHP/carbon/issues",
+ "source": "https://github.com/CarbonPHP/carbon"
},
"funding": [
{
@@ -4041,7 +4075,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-03T19:18:41+00:00"
+ "time": "2025-02-20T17:33:38+00:00"
},
{
"name": "nette/schema",
@@ -4193,16 +4227,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v5.3.1",
+ "version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b"
+ "reference": "447a020a1f875a434d62f2a401f53b82a396e494"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/8eea230464783aa9671db8eea6f8c6ac5285794b",
- "reference": "8eea230464783aa9671db8eea6f8c6ac5285794b",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
+ "reference": "447a020a1f875a434d62f2a401f53b82a396e494",
"shasum": ""
},
"require": {
@@ -4245,46 +4279,44 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
},
- "time": "2024-10-08T18:51:32+00:00"
+ "time": "2024-12-30T11:07:19+00:00"
},
{
"name": "nunomaduro/collision",
- "version": "v7.11.0",
+ "version": "v8.6.1",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "994ea93df5d4132f69d3f1bd74730509df6e8a05"
+ "reference": "86f003c132143d5a2ab214e19933946409e0cae7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/994ea93df5d4132f69d3f1bd74730509df6e8a05",
- "reference": "994ea93df5d4132f69d3f1bd74730509df6e8a05",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/86f003c132143d5a2ab214e19933946409e0cae7",
+ "reference": "86f003c132143d5a2ab214e19933946409e0cae7",
"shasum": ""
},
"require": {
"filp/whoops": "^2.16.0",
- "nunomaduro/termwind": "^1.15.1",
- "php": "^8.1.0",
- "symfony/console": "^6.4.12"
+ "nunomaduro/termwind": "^2.3.0",
+ "php": "^8.2.0",
+ "symfony/console": "^7.2.1"
},
"conflict": {
- "laravel/framework": ">=11.0.0"
+ "laravel/framework": "<11.39.1 || >=13.0.0",
+ "phpunit/phpunit": "<11.5.3 || >=12.0.0"
},
"require-dev": {
- "brianium/paratest": "^7.3.1",
- "laravel/framework": "^10.48.22",
- "laravel/pint": "^1.18.1",
- "laravel/sail": "^1.36.0",
- "laravel/sanctum": "^3.3.3",
+ "larastan/larastan": "^2.9.12",
+ "laravel/framework": "^11.39.1",
+ "laravel/pint": "^1.20.0",
+ "laravel/sail": "^1.40.0",
+ "laravel/sanctum": "^4.0.7",
"laravel/tinker": "^2.10.0",
- "nunomaduro/larastan": "^2.9.8",
- "orchestra/testbench-core": "^8.28.3",
- "pestphp/pest": "^2.35.1",
- "phpunit/phpunit": "^10.5.36",
- "sebastian/environment": "^6.1.0",
- "spatie/laravel-ignition": "^2.8.0"
+ "orchestra/testbench-core": "^9.9.2",
+ "pestphp/pest": "^3.7.3",
+ "sebastian/environment": "^6.1.0 || ^7.2.0"
},
"type": "library",
"extra": {
@@ -4292,6 +4324,9 @@
"providers": [
"NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-8.x": "8.x-dev"
}
},
"autoload": {
@@ -4318,6 +4353,7 @@
"cli",
"command-line",
"console",
+ "dev",
"error",
"handling",
"laravel",
@@ -4343,36 +4379,35 @@
"type": "patreon"
}
],
- "time": "2024-10-15T15:12:40+00:00"
+ "time": "2025-01-23T13:41:43+00:00"
},
{
"name": "nunomaduro/termwind",
- "version": "v1.17.0",
+ "version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/termwind.git",
- "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301"
+ "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301",
- "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda",
+ "reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": "^8.1",
- "symfony/console": "^6.4.15"
+ "php": "^8.2",
+ "symfony/console": "^7.1.8"
},
"require-dev": {
- "illuminate/console": "^10.48.24",
- "illuminate/support": "^10.48.24",
+ "illuminate/console": "^11.33.2",
"laravel/pint": "^1.18.2",
+ "mockery/mockery": "^1.6.12",
"pestphp/pest": "^2.36.0",
- "pestphp/pest-plugin-mock": "2.0.0",
"phpstan/phpstan": "^1.12.11",
"phpstan/phpstan-strict-rules": "^1.6.1",
- "symfony/var-dumper": "^6.4.15",
+ "symfony/var-dumper": "^7.1.8",
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
@@ -4381,6 +4416,9 @@
"providers": [
"Termwind\\Laravel\\TermwindServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
@@ -4412,7 +4450,7 @@
],
"support": {
"issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0"
+ "source": "https://github.com/nunomaduro/termwind/tree/v2.3.0"
},
"funding": [
{
@@ -4428,51 +4466,48 @@
"type": "github"
}
],
- "time": "2024-11-21T10:36:35+00:00"
+ "time": "2024-11-21T10:39:51+00:00"
},
{
"name": "orchestra/canvas",
- "version": "v8.11.9",
+ "version": "v10.0.1",
"source": {
"type": "git",
"url": "https://github.com/orchestral/canvas.git",
- "reference": "9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d"
+ "reference": "8665e96c254350484ded1cdf158765767abc7075"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/canvas/zipball/9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d",
- "reference": "9bed1ce6084af2ce166e9ea1cb160ff22dc94a6d",
+ "url": "https://api.github.com/repos/orchestral/canvas/zipball/8665e96c254350484ded1cdf158765767abc7075",
+ "reference": "8665e96c254350484ded1cdf158765767abc7075",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"composer/semver": "^3.0",
- "illuminate/console": "^10.48.4",
- "illuminate/database": "^10.48.4",
- "illuminate/filesystem": "^10.48.4",
- "illuminate/support": "^10.48.4",
- "orchestra/canvas-core": "^8.10.2",
- "orchestra/testbench-core": "^8.19",
- "php": "^8.1",
- "symfony/polyfill-php83": "^1.28",
- "symfony/yaml": "^6.2"
+ "illuminate/console": "^12.0",
+ "illuminate/database": "^12.0",
+ "illuminate/filesystem": "^12.0",
+ "illuminate/support": "^12.0",
+ "orchestra/canvas-core": "^10.0",
+ "orchestra/testbench-core": "^10.0",
+ "php": "^8.2",
+ "symfony/polyfill-php83": "^1.31",
+ "symfony/yaml": "^7.0.3"
},
"require-dev": {
- "laravel/framework": "^10.48.4",
- "laravel/pint": "^1.6",
- "mockery/mockery": "^1.5.1",
- "phpstan/phpstan": "^1.11",
- "phpunit/phpunit": "^10.5",
- "spatie/laravel-ray": "^1.33"
+ "laravel/framework": "^12.0",
+ "laravel/pint": "^1.20",
+ "mockery/mockery": "^1.6.10",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^11.5.7",
+ "spatie/laravel-ray": "^1.39.1"
},
"bin": [
"canvas"
],
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "9.0-dev"
- },
"laravel": {
"providers": [
"Orchestra\\Canvas\\LaravelServiceProvider"
@@ -4501,50 +4536,44 @@
"description": "Code Generators for Laravel Applications and Packages",
"support": {
"issues": "https://github.com/orchestral/canvas/issues",
- "source": "https://github.com/orchestral/canvas/tree/v8.11.9"
+ "source": "https://github.com/orchestral/canvas/tree/v10.0.1"
},
- "time": "2024-06-18T08:26:09+00:00"
+ "time": "2025-02-15T11:42:39+00:00"
},
{
"name": "orchestra/canvas-core",
- "version": "v8.10.2",
+ "version": "v10.0.1",
"source": {
"type": "git",
"url": "https://github.com/orchestral/canvas-core.git",
- "reference": "3af8fb6b1ebd85903ba5d0e6df1c81aedacfedfc"
+ "reference": "22b6515e7a070e1c45c8a3a9819f8b6cb0234173"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/3af8fb6b1ebd85903ba5d0e6df1c81aedacfedfc",
- "reference": "3af8fb6b1ebd85903ba5d0e6df1c81aedacfedfc",
+ "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/22b6515e7a070e1c45c8a3a9819f8b6cb0234173",
+ "reference": "22b6515e7a070e1c45c8a3a9819f8b6cb0234173",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"composer/semver": "^3.0",
- "illuminate/console": "^10.38.1",
- "illuminate/filesystem": "^10.38.1",
- "php": "^8.1",
- "symfony/polyfill-php83": "^1.28"
- },
- "conflict": {
- "orchestra/canvas": "<8.11.0",
- "orchestra/testbench-core": "<8.2.0"
+ "illuminate/console": "^12.0",
+ "illuminate/support": "^12.0",
+ "orchestra/sidekick": "^1.0.2",
+ "php": "^8.2",
+ "symfony/polyfill-php83": "^1.31"
},
"require-dev": {
- "laravel/framework": "^10.38.1",
- "laravel/pint": "^1.6",
- "mockery/mockery": "^1.5.1",
- "orchestra/testbench-core": "^8.19",
- "phpstan/phpstan": "^1.10.6",
- "phpunit/phpunit": "^10.1",
- "symfony/yaml": "^6.2"
+ "laravel/framework": "^12.0",
+ "laravel/pint": "^1.21",
+ "mockery/mockery": "^1.6.10",
+ "orchestra/testbench-core": "^10.0",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^11.5.7",
+ "symfony/yaml": "^7.2"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "9.0-dev"
- },
"laravel": {
"providers": [
"Orchestra\\Canvas\\Core\\LaravelServiceProvider"
@@ -4573,36 +4602,88 @@
"description": "Code Generators Builder for Laravel Applications and Packages",
"support": {
"issues": "https://github.com/orchestral/canvas/issues",
- "source": "https://github.com/orchestral/canvas-core/tree/v8.10.2"
+ "source": "https://github.com/orchestral/canvas-core/tree/v10.0.1"
+ },
+ "time": "2025-02-19T04:17:05+00:00"
+ },
+ {
+ "name": "orchestra/sidekick",
+ "version": "v1.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/orchestral/sidekick.git",
+ "reference": "95e056508a5990480fc9a67cacf1119b58d8d233"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/orchestral/sidekick/zipball/95e056508a5990480fc9a67cacf1119b58d8d233",
+ "reference": "95e056508a5990480fc9a67cacf1119b58d8d233",
+ "shasum": ""
+ },
+ "require": {
+ "composer-runtime-api": "^2.2",
+ "php": "^8.0",
+ "symfony/polyfill-php83": "^1.31"
+ },
+ "require-dev": {
+ "laravel/framework": "^9.52.16|^10.48.28|^11.42.1|^12.0|^13.0",
+ "laravel/pint": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^9.6|^10.0|^11.0|^12.0",
+ "symfony/process": "^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Orchestra\\Sidekick\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mior Muhammad Zaki",
+ "email": "crynobone@gmail.com"
+ }
+ ],
+ "description": "Packages Toolkit Utilities and Helpers for Laravel",
+ "support": {
+ "issues": "https://github.com/orchestral/sidekick/issues",
+ "source": "https://github.com/orchestral/sidekick/tree/v1.0.4"
},
- "time": "2023-12-28T01:27:59+00:00"
+ "time": "2025-02-26T09:16:37+00:00"
},
{
"name": "orchestra/testbench",
- "version": "v8.28.0",
+ "version": "v10.0.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench.git",
- "reference": "96beb6646dc2b766b92ba40379a56999a554904a"
+ "reference": "b10f1dec6253a87961349e92ac1420c9aebfacd0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench/zipball/96beb6646dc2b766b92ba40379a56999a554904a",
- "reference": "96beb6646dc2b766b92ba40379a56999a554904a",
+ "url": "https://api.github.com/repos/orchestral/testbench/zipball/b10f1dec6253a87961349e92ac1420c9aebfacd0",
+ "reference": "b10f1dec6253a87961349e92ac1420c9aebfacd0",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
- "fakerphp/faker": "^1.21",
- "laravel/framework": "^10.48.23",
- "mockery/mockery": "^1.5.1",
- "orchestra/testbench-core": "^8.29",
- "orchestra/workbench": "^8.12",
- "php": "^8.1",
- "phpunit/phpunit": "^9.6 || ^10.1",
- "symfony/process": "^6.2",
- "symfony/yaml": "^6.2",
- "vlucas/phpdotenv": "^5.4.1"
+ "fakerphp/faker": "^1.23",
+ "laravel/framework": "^12.0.1",
+ "mockery/mockery": "^1.6.10",
+ "orchestra/testbench-core": "^10.0.0",
+ "orchestra/workbench": "^10.0.0",
+ "php": "^8.2",
+ "phpunit/phpunit": "^11.5.3",
+ "symfony/process": "^7.2",
+ "symfony/yaml": "^7.2",
+ "vlucas/phpdotenv": "^5.6.1"
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
@@ -4628,63 +4709,62 @@
],
"support": {
"issues": "https://github.com/orchestral/testbench/issues",
- "source": "https://github.com/orchestral/testbench/tree/v8.28.0"
+ "source": "https://github.com/orchestral/testbench/tree/v10.0.0"
},
- "time": "2024-11-18T23:55:06+00:00"
+ "time": "2025-02-24T13:49:40+00:00"
},
{
"name": "orchestra/testbench-core",
- "version": "v8.29.0",
+ "version": "v10.0.2",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench-core.git",
- "reference": "55cf0234f9f96590bca4ece7081cc5c328e34e48"
+ "reference": "4a412b377ab8c616fc4c239f50bf82e4092b859b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/55cf0234f9f96590bca4ece7081cc5c328e34e48",
- "reference": "55cf0234f9f96590bca4ece7081cc5c328e34e48",
+ "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/4a412b377ab8c616fc4c239f50bf82e4092b859b",
+ "reference": "4a412b377ab8c616fc4c239f50bf82e4092b859b",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
- "php": "^8.1",
- "symfony/polyfill-php83": "^1.31"
+ "orchestra/sidekick": "^1.0.3",
+ "php": "^8.2",
+ "symfony/polyfill-php83": "^1.31",
+ "symfony/polyfill-php84": "^1.31"
},
"conflict": {
- "brianium/paratest": "<6.4.0 || >=7.0.0 <7.1.4 || >=8.0.0",
- "laravel/framework": "<10.48.23 || >=11.0.0",
+ "brianium/paratest": "<7.3.0 || >=8.0.0",
+ "laravel/framework": "<12.0.0 || >=13.0.0",
"laravel/serializable-closure": "<1.3.0 || >=3.0.0",
- "nunomaduro/collision": "<6.4.0 || >=7.0.0 <7.4.0 || >=8.0.0",
- "orchestra/testbench-dusk": "<8.21.0 || >=9.0.0",
- "orchestra/workbench": "<1.0.0",
- "phpunit/phpunit": "<9.6.0 || >=10.3.0 <10.3.3 || >=10.6.0"
+ "nunomaduro/collision": "<8.0.0 || >=9.0.0",
+ "phpunit/phpunit": "<10.5.35 || >=11.0.0 <11.5.3 || 12.0.0 || >=12.1.0"
},
"require-dev": {
- "fakerphp/faker": "^1.21",
- "laravel/framework": "^10.48.23",
- "laravel/pint": "^1.17",
+ "fakerphp/faker": "^1.24",
+ "laravel/framework": "^12.0.0",
+ "laravel/pint": "^1.21",
"laravel/serializable-closure": "^1.3 || ^2.0",
- "mockery/mockery": "^1.5.1",
- "phpstan/phpstan": "^2.0",
- "phpunit/phpunit": "^10.1",
- "spatie/laravel-ray": "^1.32.4",
- "symfony/process": "^6.2",
- "symfony/yaml": "^6.2",
- "vlucas/phpdotenv": "^5.4.1"
+ "mockery/mockery": "^1.6.10",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^10.5.35 || ^11.5.3 || ^12.0.1",
+ "spatie/laravel-ray": "^1.39.1",
+ "symfony/process": "^7.2.0",
+ "symfony/yaml": "^7.2.0",
+ "vlucas/phpdotenv": "^5.6.1"
},
"suggest": {
- "brianium/paratest": "Allow using parallel testing (^6.4 || ^7.1.4).",
+ "brianium/paratest": "Allow using parallel testing (^7.3).",
"ext-pcntl": "Required to use all features of the console signal trapping.",
- "fakerphp/faker": "Allow using Faker for testing (^1.21).",
- "laravel/framework": "Required for testing (^10.48.23).",
- "mockery/mockery": "Allow using Mockery for testing (^1.5.1).",
- "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^6.4 || ^7.4).",
- "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^8.0).",
- "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^8.0).",
- "phpunit/phpunit": "Allow using PHPUnit for testing (^9.6 || ^10.1).",
- "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^6.2).",
- "symfony/yaml": "Required for Testbench CLI (^6.2).",
+ "fakerphp/faker": "Allow using Faker for testing (^1.23).",
+ "laravel/framework": "Required for testing (^12.0.0).",
+ "mockery/mockery": "Allow using Mockery for testing (^1.6).",
+ "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^8.0).",
+ "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^9.0).",
+ "phpunit/phpunit": "Allow using PHPUnit for testing (^10.5 || ^11.0 || ^12.0).",
+ "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^7.2).",
+ "symfony/yaml": "Required for Testbench CLI (^7.2).",
"vlucas/phpdotenv": "Required for Testbench CLI (^5.4.1)."
},
"bin": [
@@ -4724,40 +4804,44 @@
"issues": "https://github.com/orchestral/testbench/issues",
"source": "https://github.com/orchestral/testbench-core"
},
- "time": "2024-11-18T12:42:00+00:00"
+ "time": "2025-02-25T09:32:21+00:00"
},
{
"name": "orchestra/workbench",
- "version": "v8.12.0",
+ "version": "v10.0.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/workbench.git",
- "reference": "68a0042861ea4f9ace68d74a49e70aa5031244e7"
+ "reference": "93fcc3ec455a12e7468cacbab28179968ac68468"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/workbench/zipball/68a0042861ea4f9ace68d74a49e70aa5031244e7",
- "reference": "68a0042861ea4f9ace68d74a49e70aa5031244e7",
+ "url": "https://api.github.com/repos/orchestral/workbench/zipball/93fcc3ec455a12e7468cacbab28179968ac68468",
+ "reference": "93fcc3ec455a12e7468cacbab28179968ac68468",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
- "fakerphp/faker": "^1.21",
- "laravel/framework": "^10.48.23",
- "laravel/tinker": "^2.8.2",
- "nunomaduro/collision": "^6.4 || ^7.10",
- "orchestra/canvas": "^8.11.9",
- "orchestra/testbench-core": "^8.29",
- "php": "^8.1",
- "symfony/polyfill-php83": "^1.28",
- "symfony/yaml": "^6.2"
+ "fakerphp/faker": "^1.23",
+ "laravel/framework": "^12.0.0",
+ "laravel/pail": "^1.2.2",
+ "laravel/tinker": "^2.10.1",
+ "nunomaduro/collision": "^8.6",
+ "orchestra/canvas": "^10.0.1",
+ "orchestra/sidekick": "^1.0.3",
+ "orchestra/testbench-core": "~10.0.0",
+ "php": "^8.2",
+ "symfony/polyfill-php83": "^1.31",
+ "symfony/polyfill-php84": "^1.31",
+ "symfony/process": "^7.2",
+ "symfony/yaml": "^7.2"
},
"require-dev": {
- "laravel/pint": "^1.17",
- "mockery/mockery": "^1.5.1",
- "phpstan/phpstan": "^2.0",
- "phpunit/phpunit": "^10.1",
- "symfony/process": "^6.2"
+ "laravel/pint": "^1.21",
+ "mockery/mockery": "^1.6.10",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^11.5.3",
+ "spatie/laravel-ray": "^1.39.1"
},
"suggest": {
"ext-pcntl": "Required to use all features of the console signal trapping."
@@ -4787,9 +4871,9 @@
],
"support": {
"issues": "https://github.com/orchestral/workbench/issues",
- "source": "https://github.com/orchestral/workbench/tree/v8.12.0"
+ "source": "https://github.com/orchestral/workbench/tree/v10.0.0"
},
- "time": "2024-11-18T23:06:06+00:00"
+ "time": "2025-02-24T13:39:13+00:00"
},
{
"name": "phar-io/manifest",
@@ -4911,16 +4995,16 @@
},
{
"name": "phpmyadmin/sql-parser",
- "version": "5.10.1",
+ "version": "5.11.0",
"source": {
"type": "git",
"url": "https://github.com/phpmyadmin/sql-parser.git",
- "reference": "b14fd66496a22d8dd7f7e2791edd9e8674422f17"
+ "reference": "07044bc8c13abd542756c3fd34dc66a5d6dee8e4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/b14fd66496a22d8dd7f7e2791edd9e8674422f17",
- "reference": "b14fd66496a22d8dd7f7e2791edd9e8674422f17",
+ "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/07044bc8c13abd542756c3fd34dc66a5d6dee8e4",
+ "reference": "07044bc8c13abd542756c3fd34dc66a5d6dee8e4",
"shasum": ""
},
"require": {
@@ -4935,9 +5019,11 @@
"phpbench/phpbench": "^1.1",
"phpmyadmin/coding-standard": "^3.0",
"phpmyadmin/motranslator": "^4.0 || ^5.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.9.12",
- "phpstan/phpstan-phpunit": "^1.3.3",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^1.12",
+ "phpstan/phpstan-deprecation-rules": "^1.2",
+ "phpstan/phpstan-phpunit": "^1.4",
+ "phpstan/phpstan-strict-rules": "^1.6",
"phpunit/phpunit": "^8.5 || ^9.6",
"psalm/plugin-phpunit": "^0.16.1",
"vimeo/psalm": "^4.11",
@@ -4994,7 +5080,7 @@
"type": "other"
}
],
- "time": "2024-11-10T04:10:31+00:00"
+ "time": "2025-02-22T20:00:59+00:00"
},
{
"name": "phpoption/phpoption",
@@ -5073,20 +5159,20 @@
},
{
"name": "phpstan/phpstan",
- "version": "1.12.19",
+ "version": "2.1.6",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789"
+ "reference": "6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c42ba9bab7a940ed00092ecb1c77bad98896d789",
- "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c",
+ "reference": "6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0"
+ "php": "^7.4|^8.0"
},
"conflict": {
"phpstan/phpstan-shim": "*"
@@ -5127,39 +5213,39 @@
"type": "github"
}
],
- "time": "2025-02-19T15:42:21+00:00"
+ "time": "2025-02-19T15:46:42+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.1.16",
+ "version": "11.0.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7e308268858ed6baedc8704a304727d20bc07c77"
+ "reference": "14d63fbcca18457e49c6f8bebaa91a87e8e188d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77",
- "reference": "7e308268858ed6baedc8704a304727d20bc07c77",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/14d63fbcca18457e49c6f8bebaa91a87e8e188d7",
+ "reference": "14d63fbcca18457e49c6f8bebaa91a87e8e188d7",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.19.1 || ^5.1.0",
- "php": ">=8.1",
- "phpunit/php-file-iterator": "^4.1.0",
- "phpunit/php-text-template": "^3.0.1",
- "sebastian/code-unit-reverse-lookup": "^3.0.0",
- "sebastian/complexity": "^3.2.0",
- "sebastian/environment": "^6.1.0",
- "sebastian/lines-of-code": "^2.0.2",
- "sebastian/version": "^4.0.1",
+ "nikic/php-parser": "^5.4.0",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.1"
+ "phpunit/phpunit": "^11.5.2"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -5168,7 +5254,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.1.x-dev"
+ "dev-main": "11.0.x-dev"
}
},
"autoload": {
@@ -5197,7 +5283,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.9"
},
"funding": [
{
@@ -5205,32 +5291,32 @@
"type": "github"
}
],
- "time": "2024-08-22T04:31:57+00:00"
+ "time": "2025-02-25T13:26:39+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "4.1.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -5258,7 +5344,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -5266,28 +5352,28 @@
"type": "github"
}
],
- "time": "2023-08-31T06:24:48+00:00"
+ "time": "2024-08-27T05:02:59+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "4.0.0",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -5295,7 +5381,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -5321,7 +5407,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -5329,32 +5416,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:56:09+00:00"
+ "time": "2024-07-03T05:07:44+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "3.0.1",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -5381,7 +5468,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -5389,32 +5476,32 @@
"type": "github"
}
],
- "time": "2023-08-31T14:07:24+00:00"
+ "time": "2024-07-03T05:08:43+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "6.0.0",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -5440,7 +5527,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -5448,20 +5536,20 @@
"type": "github"
}
],
- "time": "2023-02-03T06:57:52+00:00"
+ "time": "2024-07-03T05:09:35+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "10.5.38",
+ "version": "11.5.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132"
+ "reference": "d5df2b32d729562ff8db634678d71085ee579006"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a86773b9e887a67bc53efa9da9ad6e3f2498c132",
- "reference": "a86773b9e887a67bc53efa9da9ad6e3f2498c132",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d5df2b32d729562ff8db634678d71085ee579006",
+ "reference": "d5df2b32d729562ff8db634678d71085ee579006",
"shasum": ""
},
"require": {
@@ -5471,26 +5559,26 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.12.0",
+ "myclabs/deep-copy": "^1.13.0",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
- "php": ">=8.1",
- "phpunit/php-code-coverage": "^10.1.16",
- "phpunit/php-file-iterator": "^4.1.0",
- "phpunit/php-invoker": "^4.0.0",
- "phpunit/php-text-template": "^3.0.1",
- "phpunit/php-timer": "^6.0.0",
- "sebastian/cli-parser": "^2.0.1",
- "sebastian/code-unit": "^2.0.0",
- "sebastian/comparator": "^5.0.3",
- "sebastian/diff": "^5.1.1",
- "sebastian/environment": "^6.1.0",
- "sebastian/exporter": "^5.1.2",
- "sebastian/global-state": "^6.0.2",
- "sebastian/object-enumerator": "^5.0.0",
- "sebastian/recursion-context": "^5.0.0",
- "sebastian/type": "^4.0.0",
- "sebastian/version": "^4.0.1"
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0.8",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.2",
+ "sebastian/comparator": "^6.3.0",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.3.0",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2",
+ "staabm/side-effects-detector": "^1.0.5"
},
"suggest": {
"ext-soap": "To be able to generate mocks based on WSDL files"
@@ -5501,7 +5589,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.5-dev"
+ "dev-main": "11.5-dev"
}
},
"autoload": {
@@ -5533,7 +5621,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.38"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.10"
},
"funding": [
{
@@ -5549,7 +5637,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-28T13:06:21+00:00"
+ "time": "2025-02-25T06:11:48+00:00"
},
{
"name": "psr/clock",
@@ -5755,16 +5843,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.12.5",
+ "version": "v0.12.7",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "36a03ff27986682c22985e56aabaf840dd173cb5"
+ "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/36a03ff27986682c22985e56aabaf840dd173cb5",
- "reference": "36a03ff27986682c22985e56aabaf840dd173cb5",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c",
+ "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c",
"shasum": ""
},
"require": {
@@ -5828,34 +5916,34 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.12.5"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.12.7"
},
- "time": "2024-11-29T06:14:30+00:00"
+ "time": "2024-12-10T01:58:33+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "2.0.1",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -5879,7 +5967,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
},
"funding": [
{
@@ -5887,32 +5975,32 @@
"type": "github"
}
],
- "time": "2024-03-02T07:12:49+00:00"
+ "time": "2024-07-03T04:41:36+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "2.0.0",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -5935,7 +6023,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
},
"funding": [
{
@@ -5943,32 +6032,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:58:43+00:00"
+ "time": "2024-12-12T09:59:06+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -5990,7 +6079,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
},
"funding": [
{
@@ -5998,36 +6088,39 @@
"type": "github"
}
],
- "time": "2023-02-03T06:59:15+00:00"
+ "time": "2024-07-03T04:45:54+00:00"
},
{
"name": "sebastian/comparator",
- "version": "5.0.3",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e"
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e",
- "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/diff": "^5.0",
- "sebastian/exporter": "^5.0"
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.5"
+ "phpunit/phpunit": "^11.4"
+ },
+ "suggest": {
+ "ext-bcmath": "For comparing BcMath\\Number objects"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.2-dev"
}
},
"autoload": {
@@ -6067,7 +6160,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
},
"funding": [
{
@@ -6075,33 +6168,33 @@
"type": "github"
}
],
- "time": "2024-10-18T14:56:07+00:00"
+ "time": "2025-01-06T10:28:19+00:00"
},
{
"name": "sebastian/complexity",
- "version": "3.2.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "68ff824baeae169ec9f2137158ee529584553799"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
- "reference": "68ff824baeae169ec9f2137158ee529584553799",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.2-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -6125,7 +6218,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -6133,33 +6226,33 @@
"type": "github"
}
],
- "time": "2023-12-21T08:37:17+00:00"
+ "time": "2024-07-03T04:49:50+00:00"
},
{
"name": "sebastian/diff",
- "version": "5.1.1",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0",
- "symfony/process": "^6.4"
+ "phpunit/phpunit": "^11.0",
+ "symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -6192,7 +6285,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -6200,27 +6293,27 @@
"type": "github"
}
],
- "time": "2024-03-02T07:15:17+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "sebastian/environment",
- "version": "6.1.0",
+ "version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
@@ -6228,7 +6321,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.1-dev"
+ "dev-main": "7.2-dev"
}
},
"autoload": {
@@ -6256,7 +6349,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -6264,34 +6357,34 @@
"type": "github"
}
],
- "time": "2024-03-23T08:47:14+00:00"
+ "time": "2024-07-03T04:54:44+00:00"
},
{
"name": "sebastian/exporter",
- "version": "5.1.2",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "955288482d97c19a372d3f31006ab3f37da47adf"
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
- "reference": "955288482d97c19a372d3f31006ab3f37da47adf",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -6334,7 +6427,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
},
"funding": [
{
@@ -6342,35 +6435,35 @@
"type": "github"
}
],
- "time": "2024-03-02T07:17:12+00:00"
+ "time": "2024-12-05T09:17:50+00:00"
},
{
"name": "sebastian/global-state",
- "version": "6.0.2",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -6396,7 +6489,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -6404,33 +6497,33 @@
"type": "github"
}
],
- "time": "2024-03-02T07:19:19+00:00"
+ "time": "2024-07-03T04:57:36+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "2.0.2",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -6454,7 +6547,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -6462,34 +6555,34 @@
"type": "github"
}
],
- "time": "2023-12-21T08:38:20+00:00"
+ "time": "2024-07-03T04:58:38+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "5.0.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -6511,7 +6604,8 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -6519,32 +6613,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:08:32+00:00"
+ "time": "2024-07-03T05:00:13+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -6566,7 +6660,8 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -6574,32 +6669,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:06:18+00:00"
+ "time": "2024-07-03T05:01:32+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "5.0.0",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -6629,7 +6724,8 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -6637,32 +6733,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:05:40+00:00"
+ "time": "2024-07-03T05:10:34+00:00"
},
{
"name": "sebastian/type",
- "version": "4.0.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -6685,7 +6781,8 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -6693,29 +6790,29 @@
"type": "github"
}
],
- "time": "2023-02-03T07:10:45+00:00"
+ "time": "2024-09-17T13:12:04+00:00"
},
{
"name": "sebastian/version",
- "version": "4.0.1",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -6738,7 +6835,8 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -6746,51 +6844,176 @@
"type": "github"
}
],
- "time": "2023-02-07T11:34:05+00:00"
+ "time": "2024-10-09T05:16:32+00:00"
+ },
+ {
+ "name": "staabm/side-effects-detector",
+ "version": "1.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/staabm/side-effects-detector.git",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.6",
+ "phpunit/phpunit": "^9.6.21",
+ "symfony/var-dumper": "^5.4.43",
+ "tomasvotruba/type-coverage": "1.0.0",
+ "tomasvotruba/unused-public": "1.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "lib/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A static analysis tool to detect side effects in PHP code",
+ "keywords": [
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/staabm/side-effects-detector/issues",
+ "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/staabm",
+ "type": "github"
+ }
+ ],
+ "time": "2024-10-20T05:08:20+00:00"
+ },
+ {
+ "name": "symfony/clock",
+ "version": "v7.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/clock.git",
+ "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
+ "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/clock": "^1.0",
+ "symfony/polyfill-php83": "^1.28"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/now.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Clock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Decouples applications from the system clock",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clock",
+ "psr20",
+ "time"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/clock/tree/v7.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/console",
- "version": "v6.4.15",
+ "version": "v7.2.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd"
+ "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
- "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
+ "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
+ "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0|^7.0"
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
"symfony/http-foundation": "^6.4|^7.0",
"symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "symfony/lock": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -6824,7 +7047,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.4.15"
+ "source": "https://github.com/symfony/console/tree/v7.2.1"
},
"funding": [
{
@@ -6840,7 +7063,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T14:19:14+00:00"
+ "time": "2024-12-11T03:49:26+00:00"
},
{
"name": "symfony/css-selector",
@@ -6909,22 +7132,22 @@
},
{
"name": "symfony/error-handler",
- "version": "v6.4.14",
+ "version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9"
+ "reference": "aabf79938aa795350c07ce6464dd1985607d95d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/9e024324511eeb00983ee76b9aedc3e6ecd993d9",
- "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/aabf79938aa795350c07ce6464dd1985607d95d5",
+ "reference": "aabf79938aa795350c07ce6464dd1985607d95d5",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "symfony/var-dumper": "^6.4|^7.0"
},
"conflict": {
"symfony/deprecation-contracts": "<2.5",
@@ -6933,7 +7156,7 @@
"require-dev": {
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^5.4|^6.0|^7.0"
+ "symfony/serializer": "^6.4|^7.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -6964,7 +7187,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v6.4.14"
+ "source": "https://github.com/symfony/error-handler/tree/v7.2.4"
},
"funding": [
{
@@ -6980,7 +7203,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-05T15:34:40+00:00"
+ "time": "2025-02-02T20:27:07+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -7082,12 +7305,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -7140,23 +7363,23 @@
},
{
"name": "symfony/finder",
- "version": "v6.4.13",
+ "version": "v7.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958"
+ "reference": "87a71856f2f56e4100373e92529eed3171695cfb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
- "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb",
+ "reference": "87a71856f2f56e4100373e92529eed3171695cfb",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.0|^7.0"
+ "symfony/filesystem": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -7184,7 +7407,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.13"
+ "source": "https://github.com/symfony/finder/tree/v7.2.2"
},
"funding": [
{
@@ -7200,40 +7423,41 @@
"type": "tidelift"
}
],
- "time": "2024-10-01T08:30:56+00:00"
+ "time": "2024-12-30T19:00:17+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v6.4.16",
+ "version": "v7.2.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57"
+ "reference": "ee1b504b8926198be89d05e5b6fc4c3810c090f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57",
- "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ee1b504b8926198be89d05e5b6fc4c3810c090f0",
+ "reference": "ee1b504b8926198be89d05e5b6fc4c3810c090f0",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-mbstring": "~1.1",
"symfony/polyfill-php83": "^1.27"
},
"conflict": {
+ "doctrine/dbal": "<3.6",
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
- "doctrine/dbal": "^2.13.1|^3|^4",
+ "doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
"symfony/cache": "^6.4.12|^7.1.5",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
- "symfony/mime": "^5.4|^6.0|^7.0",
- "symfony/rate-limiter": "^5.4|^6.0|^7.0"
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -7261,7 +7485,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.16"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.2.3"
},
"funding": [
{
@@ -7277,77 +7501,77 @@
"type": "tidelift"
}
],
- "time": "2024-11-13T18:58:10+00:00"
+ "time": "2025-01-17T10:56:55+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v6.4.16",
+ "version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "8838b5b21d807923b893ccbfc2cbeda0f1bc00f0"
+ "reference": "9f1103734c5789798fefb90e91de4586039003ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/8838b5b21d807923b893ccbfc2cbeda0f1bc00f0",
- "reference": "8838b5b21d807923b893ccbfc2cbeda0f1bc00f0",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9f1103734c5789798fefb90e91de4586039003ed",
+ "reference": "9f1103734c5789798fefb90e91de4586039003ed",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
"symfony/http-foundation": "^6.4|^7.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.4",
- "symfony/config": "<6.1",
- "symfony/console": "<5.4",
+ "symfony/browser-kit": "<6.4",
+ "symfony/cache": "<6.4",
+ "symfony/config": "<6.4",
+ "symfony/console": "<6.4",
"symfony/dependency-injection": "<6.4",
- "symfony/doctrine-bridge": "<5.4",
- "symfony/form": "<5.4",
- "symfony/http-client": "<5.4",
+ "symfony/doctrine-bridge": "<6.4",
+ "symfony/form": "<6.4",
+ "symfony/http-client": "<6.4",
"symfony/http-client-contracts": "<2.5",
- "symfony/mailer": "<5.4",
- "symfony/messenger": "<5.4",
- "symfony/translation": "<5.4",
+ "symfony/mailer": "<6.4",
+ "symfony/messenger": "<6.4",
+ "symfony/translation": "<6.4",
"symfony/translation-contracts": "<2.5",
- "symfony/twig-bridge": "<5.4",
+ "symfony/twig-bridge": "<6.4",
"symfony/validator": "<6.4",
- "symfony/var-dumper": "<6.3",
- "twig/twig": "<2.13"
+ "symfony/var-dumper": "<6.4",
+ "twig/twig": "<3.12"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^5.4|^6.0|^7.0",
- "symfony/clock": "^6.2|^7.0",
- "symfony/config": "^6.1|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/css-selector": "^5.4|^6.0|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0",
+ "symfony/clock": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/css-selector": "^6.4|^7.0",
"symfony/dependency-injection": "^6.4|^7.0",
- "symfony/dom-crawler": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/dom-crawler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
"symfony/http-client-contracts": "^2.5|^3",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/property-access": "^5.4.5|^6.0.5|^7.0",
- "symfony/routing": "^5.4|^6.0|^7.0",
- "symfony/serializer": "^6.4.4|^7.0.4",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/translation": "^5.4|^6.0|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/property-access": "^7.1",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/serializer": "^7.1",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^5.4|^6.0|^7.0",
+ "symfony/uid": "^6.4|^7.0",
"symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^5.4|^6.4|^7.0",
- "symfony/var-exporter": "^6.2|^7.0",
- "twig/twig": "^2.13|^3.0.4"
+ "symfony/var-dumper": "^6.4|^7.0",
+ "symfony/var-exporter": "^6.4|^7.0",
+ "twig/twig": "^3.12"
},
"type": "library",
"autoload": {
@@ -7375,7 +7599,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v6.4.16"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.2.4"
},
"funding": [
{
@@ -7391,43 +7615,43 @@
"type": "tidelift"
}
],
- "time": "2024-11-27T12:49:36+00:00"
+ "time": "2025-02-26T11:01:22+00:00"
},
{
"name": "symfony/mailer",
- "version": "v6.4.13",
+ "version": "v7.2.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663"
+ "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/c2f7e0d8d7ac8fe25faccf5d8cac462805db2663",
- "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/f3871b182c44997cf039f3b462af4a48fb85f9d3",
+ "reference": "f3871b182c44997cf039f3b462af4a48fb85f9d3",
"shasum": ""
},
"require": {
"egulias/email-validator": "^2.1.10|^3|^4",
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/mime": "^6.2|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/mime": "^7.2",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
"symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
- "symfony/messenger": "<6.2",
- "symfony/mime": "<6.2",
- "symfony/twig-bridge": "<6.2.1"
+ "symfony/http-kernel": "<6.4",
+ "symfony/messenger": "<6.4",
+ "symfony/mime": "<6.4",
+ "symfony/twig-bridge": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^6.2|^7.0",
- "symfony/twig-bridge": "^6.2|^7.0"
+ "symfony/console": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/twig-bridge": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -7455,7 +7679,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v6.4.13"
+ "source": "https://github.com/symfony/mailer/tree/v7.2.3"
},
"funding": [
{
@@ -7471,25 +7695,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:18:03+00:00"
+ "time": "2025-01-27T11:08:17+00:00"
},
{
"name": "symfony/mime",
- "version": "v6.4.13",
+ "version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855"
+ "reference": "87ca22046b78c3feaff04b337f33b38510fd686b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855",
- "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/87ca22046b78c3feaff04b337f33b38510fd686b",
+ "reference": "87ca22046b78c3feaff04b337f33b38510fd686b",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
@@ -7497,17 +7720,17 @@
"egulias/email-validator": "~3.0.0",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/mailer": "<5.4",
+ "symfony/mailer": "<6.4",
"symfony/serializer": "<6.4.3|>7.0,<7.0.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
"league/html-to-markdown": "^5.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.4|^7.0",
- "symfony/property-access": "^5.4|^6.0|^7.0",
- "symfony/property-info": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0",
"symfony/serializer": "^6.4.3|^7.0.3"
},
"type": "library",
@@ -7540,7 +7763,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v6.4.13"
+ "source": "https://github.com/symfony/mime/tree/v7.2.4"
},
"funding": [
{
@@ -7556,7 +7779,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:07:50+00:00"
+ "time": "2025-02-19T08:51:20+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -7584,8 +7807,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7660,8 +7883,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7739,8 +7962,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7821,8 +8044,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7905,8 +8128,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7979,8 +8202,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -8059,8 +8282,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -8115,6 +8338,82 @@
],
"time": "2024-09-09T11:45:10+00:00"
},
+ {
+ "name": "symfony/polyfill-php84",
+ "version": "v1.31.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php84.git",
+ "reference": "e5493eb51311ab0b1cc2243416613f06ed8f18bd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/e5493eb51311ab0b1cc2243416613f06ed8f18bd",
+ "reference": "e5493eb51311ab0b1cc2243416613f06ed8f18bd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php84\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.31.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-09T12:04:04+00:00"
+ },
{
"name": "symfony/polyfill-uuid",
"version": "v1.31.0",
@@ -8141,8 +8440,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -8196,20 +8495,20 @@
},
{
"name": "symfony/process",
- "version": "v6.4.15",
+ "version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "3cb242f059c14ae08591c5c4087d1fe443564392"
+ "reference": "d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392",
- "reference": "3cb242f059c14ae08591c5c4087d1fe443564392",
+ "url": "https://api.github.com/repos/symfony/process/zipball/d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf",
+ "reference": "d8f411ff3c7ddc4ae9166fb388d1190a2df5b5cf",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"autoload": {
@@ -8237,7 +8536,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.4.15"
+ "source": "https://github.com/symfony/process/tree/v7.2.4"
},
"funding": [
{
@@ -8253,40 +8552,38 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T14:19:14+00:00"
+ "time": "2025-02-05T08:33:46+00:00"
},
{
"name": "symfony/routing",
- "version": "v6.4.16",
+ "version": "v7.2.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220"
+ "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/91e02e606b4b705c2f4fb42f7e7708b7923a3220",
- "reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/ee9a67edc6baa33e5fae662f94f91fd262930996",
+ "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
- "doctrine/annotations": "<1.12",
- "symfony/config": "<6.2",
- "symfony/dependency-injection": "<5.4",
- "symfony/yaml": "<5.4"
+ "symfony/config": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/yaml": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "^1.12|^2",
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.2|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^5.4|^6.0|^7.0",
- "symfony/yaml": "^5.4|^6.0|^7.0"
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -8320,7 +8617,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v6.4.16"
+ "source": "https://github.com/symfony/routing/tree/v7.2.3"
},
"funding": [
{
@@ -8336,7 +8633,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-13T15:31:34+00:00"
+ "time": "2025-01-17T10:56:55+00:00"
},
{
"name": "symfony/service-contracts",
@@ -8362,12 +8659,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -8510,33 +8807,33 @@
},
{
"name": "symfony/translation",
- "version": "v6.4.13",
+ "version": "v7.2.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "bee9bfabfa8b4045a66bf82520e492cddbaffa66"
+ "reference": "283856e6981286cc0d800b53bd5703e8e363f05a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/bee9bfabfa8b4045a66bf82520e492cddbaffa66",
- "reference": "bee9bfabfa8b4045a66bf82520e492cddbaffa66",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/283856e6981286cc0d800b53bd5703e8e363f05a",
+ "reference": "283856e6981286cc0d800b53bd5703e8e363f05a",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^2.5|^3.0"
},
"conflict": {
- "symfony/config": "<5.4",
- "symfony/console": "<5.4",
- "symfony/dependency-injection": "<5.4",
+ "symfony/config": "<6.4",
+ "symfony/console": "<6.4",
+ "symfony/dependency-injection": "<6.4",
"symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
+ "symfony/http-kernel": "<6.4",
"symfony/service-contracts": "<2.5",
- "symfony/twig-bundle": "<5.4",
- "symfony/yaml": "<5.4"
+ "symfony/twig-bundle": "<6.4",
+ "symfony/yaml": "<6.4"
},
"provide": {
"symfony/translation-implementation": "2.3|3.0"
@@ -8544,17 +8841,17 @@
"require-dev": {
"nikic/php-parser": "^4.18|^5.0",
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
"symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/intl": "^5.4|^6.0|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
"symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^5.4|^6.0|^7.0",
+ "symfony/routing": "^6.4|^7.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^5.4|^6.0|^7.0"
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -8585,7 +8882,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.4.13"
+ "source": "https://github.com/symfony/translation/tree/v7.2.4"
},
"funding": [
{
@@ -8601,7 +8898,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-27T18:14:25+00:00"
+ "time": "2025-02-13T10:27:23+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -8622,12 +8919,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "3.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -8683,24 +8980,24 @@
},
{
"name": "symfony/uid",
- "version": "v6.4.13",
+ "version": "v7.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "18eb207f0436a993fffbdd811b5b8fa35fa5e007"
+ "reference": "2d294d0c48df244c71c105a169d0190bfb080426"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/18eb207f0436a993fffbdd811b5b8fa35fa5e007",
- "reference": "18eb207f0436a993fffbdd811b5b8fa35fa5e007",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/2d294d0c48df244c71c105a169d0190bfb080426",
+ "reference": "2d294d0c48df244c71c105a169d0190bfb080426",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-uuid": "^1.15"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0"
+ "symfony/console": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -8737,7 +9034,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v6.4.13"
+ "source": "https://github.com/symfony/uid/tree/v7.2.0"
},
"funding": [
{
@@ -8753,38 +9050,36 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:18:03+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v6.4.15",
+ "version": "v7.2.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80"
+ "reference": "82b478c69745d8878eb60f9a049a4d584996f73a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80",
- "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82b478c69745d8878eb60f9a049a4d584996f73a",
+ "reference": "82b478c69745d8878eb60f9a049a4d584996f73a",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<6.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/error-handler": "^6.3|^7.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/uid": "^5.4|^6.0|^7.0",
- "twig/twig": "^2.13|^3.0.4"
+ "symfony/console": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/uid": "^6.4|^7.0",
+ "twig/twig": "^3.12"
},
"bin": [
"Resources/bin/var-dump-server"
@@ -8822,7 +9117,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.4.15"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.2.3"
},
"funding": [
{
@@ -8838,32 +9133,32 @@
"type": "tidelift"
}
],
- "time": "2024-11-08T15:28:48+00:00"
+ "time": "2025-01-17T11:39:41+00:00"
},
{
"name": "symfony/yaml",
- "version": "v6.4.13",
+ "version": "v7.2.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9"
+ "reference": "ac238f173df0c9c1120f862d0f599e17535a87ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/e99b4e94d124b29ee4cf3140e1b537d2dad8cec9",
- "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/ac238f173df0c9c1120f862d0f599e17535a87ec",
+ "reference": "ac238f173df0c9c1120f862d0f599e17535a87ec",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0"
+ "symfony/console": "^6.4|^7.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -8894,7 +9189,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v6.4.13"
+ "source": "https://github.com/symfony/yaml/tree/v7.2.3"
},
"funding": [
{
@@ -8910,30 +9205,31 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:18:03+00:00"
+ "time": "2025-01-07T12:55:42+00:00"
},
{
"name": "thecodingmachine/phpstan-safe-rule",
- "version": "v1.2.0",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/thecodingmachine/phpstan-safe-rule.git",
- "reference": "8a7b88e0d54f209a488095085f183e9174c40e1e"
+ "reference": "33dcbc3228c55ea4c364ecf74a3661cf7b7f168d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thecodingmachine/phpstan-safe-rule/zipball/8a7b88e0d54f209a488095085f183e9174c40e1e",
- "reference": "8a7b88e0d54f209a488095085f183e9174c40e1e",
+ "url": "https://api.github.com/repos/thecodingmachine/phpstan-safe-rule/zipball/33dcbc3228c55ea4c364ecf74a3661cf7b7f168d",
+ "reference": "33dcbc3228c55ea4c364ecf74a3661cf7b7f168d",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0",
- "phpstan/phpstan": "^1.0",
- "thecodingmachine/safe": "^1.0 || ^2.0"
+ "nikic/php-parser": "^5",
+ "php": "^8.1",
+ "phpstan/phpstan": "^2.0",
+ "thecodingmachine/safe": "^1.2 || ^2.0 || ^3.0"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^7.5.2 || ^8.0",
+ "phpunit/phpunit": "^10.4",
"squizlabs/php_codesniffer": "^3.4"
},
"type": "phpstan-extension",
@@ -8944,7 +9240,7 @@
]
},
"branch-alias": {
- "dev-master": "1.1-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -8965,9 +9261,9 @@
"description": "A PHPStan rule to detect safety issues. Must be used in conjunction with thecodingmachine/safe",
"support": {
"issues": "https://github.com/thecodingmachine/phpstan-safe-rule/issues",
- "source": "https://github.com/thecodingmachine/phpstan-safe-rule/tree/v1.2.0"
+ "source": "https://github.com/thecodingmachine/phpstan-safe-rule/tree/v1.4.0"
},
- "time": "2022-01-17T10:12:29+00:00"
+ "time": "2025-02-11T12:41:29+00:00"
},
{
"name": "theseer/tokenizer",
@@ -9021,31 +9317,33 @@
},
{
"name": "tijsverkoyen/css-to-inline-styles",
- "version": "v2.2.7",
+ "version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb"
+ "reference": "0d72ac1c00084279c1816675284073c5a337c20d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d",
+ "reference": "0d72ac1c00084279c1816675284073c5a337c20d",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
- "php": "^5.5 || ^7.0 || ^8.0",
- "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "php": "^7.4 || ^8.0",
+ "symfony/css-selector": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^8.5.21 || ^9.5.10"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
@@ -9068,9 +9366,9 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7"
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0"
},
- "time": "2023-12-08T13:03:43+00:00"
+ "time": "2024-12-21T16:25:41+00:00"
},
{
"name": "vlucas/phpdotenv",
diff --git a/phpstan.neon b/phpstan.neon
index 33049bd..579f511 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -5,3 +5,5 @@ parameters:
paths:
- src
level: 9
+ ignoreErrors:
+ - "/dispatchAfterCommit with no type specified/"
\ No newline at end of file
diff --git a/phpunit.xml b/phpunit.xml
index 75239c9..26d0014 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -16,4 +16,9 @@
+
+
+ ./src
+
+
diff --git a/pint.json b/pint.json
index 94d78a4..ee12b92 100644
--- a/pint.json
+++ b/pint.json
@@ -1,7 +1,10 @@
{
- "preset": "laravel",
- "rules": {
- "fully_qualified_strict_types": true,
- "declare_strict_types": true
- }
+ "preset": "laravel",
+ "rules": {
+ "fully_qualified_strict_types": true,
+ "declare_strict_types": true,
+ "ordered_imports": {
+ "sort_algorithm": "length"
+ }
+ }
}
diff --git a/src/CloudTasksApiConcrete.php b/src/CloudTasksApiConcrete.php
index b0b8b92..b62c61e 100644
--- a/src/CloudTasksApiConcrete.php
+++ b/src/CloudTasksApiConcrete.php
@@ -4,12 +4,12 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
+use Google\Cloud\Tasks\V2\Task;
use Google\ApiCore\ApiException;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
+use Google\Cloud\Tasks\V2\GetTaskRequest;
use Google\Cloud\Tasks\V2\CreateTaskRequest;
use Google\Cloud\Tasks\V2\DeleteTaskRequest;
-use Google\Cloud\Tasks\V2\GetTaskRequest;
-use Google\Cloud\Tasks\V2\Task;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
class CloudTasksApiConcrete implements CloudTasksApiContract
{
diff --git a/src/CloudTasksApiFake.php b/src/CloudTasksApiFake.php
index 56dda5e..773fcdc 100644
--- a/src/CloudTasksApiFake.php
+++ b/src/CloudTasksApiFake.php
@@ -5,13 +5,22 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
use Closure;
-use Google\Cloud\Tasks\V2\Task;
use PHPUnit\Framework\Assert;
+use Google\Cloud\Tasks\V2\Task;
class CloudTasksApiFake implements CloudTasksApiContract
{
+ /**
+ * @var array
+ */
public array $createdTasks = [];
+ /**
+ * @var array
+ */
public array $deletedTasks = [];
public function createTask(string $queueName, Task $task): Task
@@ -28,8 +37,7 @@ public function deleteTask(string $taskName): void
public function getTask(string $taskName): Task
{
- return (new Task)
- ->setName($taskName);
+ return (new Task)->setName($taskName);
}
public function exists(string $taskName): bool
diff --git a/src/CloudTasksConnector.php b/src/CloudTasksConnector.php
index 60aa5f8..9ce5ae1 100644
--- a/src/CloudTasksConnector.php
+++ b/src/CloudTasksConnector.php
@@ -7,8 +7,25 @@
use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
use Illuminate\Queue\Connectors\ConnectorInterface;
+/**
+ * @phpstan-type QueueConfig array{
+ * driver: string,
+ * project: string,
+ * location: string,
+ * queue: string,
+ * app_engine?: bool,
+ * app_engine_service?: string,
+ * handler?: string,
+ * service_account_email?: string,
+ * backoff?: int,
+ * after_commit?: bool
+ * }
+ */
class CloudTasksConnector implements ConnectorInterface
{
+ /**
+ * @param QueueConfig $config
+ */
public function connect(array $config): CloudTasksQueue
{
return new CloudTasksQueue(
diff --git a/src/CloudTasksJob.php b/src/CloudTasksJob.php
index 0f13751..57c1657 100644
--- a/src/CloudTasksJob.php
+++ b/src/CloudTasksJob.php
@@ -5,26 +5,57 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
use Exception;
+
+use function Safe\json_encode;
+
+use Safe\Exceptions\JsonException;
use Illuminate\Container\Container;
-use Illuminate\Contracts\Queue\Job as JobContract;
use Illuminate\Queue\Jobs\Job as LaravelJob;
-use Safe\Exceptions\JsonException;
+use Illuminate\Contracts\Queue\Job as JobContract;
use Stackkit\LaravelGoogleCloudTasksQueue\Events\JobReleased;
-use function Safe\json_encode;
-
+/**
+ * @phpstan-type JobShape array{
+ * uuid: string,
+ * displayName: string,
+ * job: string,
+ * maxTries: int,
+ * maxExceptions: int|null,
+ * failOnTimeout: bool,
+ * backoff: int|null,
+ * timeout: int|null,
+ * retryUntil: int|null,
+ * data: array{
+ * commandName: string,
+ * command: string
+ * },
+ * internal?: array{
+ * attempts: int,
+ * errored?: bool
+ * }
+ * }
+ * @phpstan-type JobBeforeDispatch object{
+ * queue: ?string
+ * }&\stdClass
+ */
class CloudTasksJob extends LaravelJob implements JobContract
{
protected $container;
private CloudTasksQueue $driver;
+ /**
+ * @var JobShape
+ */
public array $job;
protected $connectionName;
protected $queue;
+ /**
+ * @param JobShape $job
+ */
public function __construct(
Container $container,
CloudTasksQueue $driver,
@@ -52,9 +83,9 @@ public function getRawBody(): string
return json_encode($this->job);
}
- public function attempts(): ?int
+ public function attempts(): int
{
- return $this->job['internal']['attempts'];
+ return $this->job['internal']['attempts'] ?? 0;
}
public function setAttempts(int $attempts): void
diff --git a/src/CloudTasksQueue.php b/src/CloudTasksQueue.php
index c14458e..54952a9 100644
--- a/src/CloudTasksQueue.php
+++ b/src/CloudTasksQueue.php
@@ -5,34 +5,53 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
use Closure;
-use Google\Cloud\Tasks\V2\AppEngineHttpRequest;
-use Google\Cloud\Tasks\V2\AppEngineRouting;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
-use Google\Cloud\Tasks\V2\HttpMethod;
-use Google\Cloud\Tasks\V2\HttpRequest;
-use Google\Cloud\Tasks\V2\OidcToken;
-use Google\Cloud\Tasks\V2\Task;
-use Google\Protobuf\Timestamp;
-use Illuminate\Contracts\Queue\Queue as QueueContract;
-use Illuminate\Queue\Queue as LaravelQueue;
-use Illuminate\Queue\WorkerOptions;
+use Exception;
use Illuminate\Support\Str;
-use Stackkit\LaravelGoogleCloudTasksQueue\Events\TaskCreated;
use function Safe\json_decode;
use function Safe\json_encode;
+use Google\Protobuf\Timestamp;
+use Google\Cloud\Tasks\V2\Task;
+use Illuminate\Queue\WorkerOptions;
+use Google\Cloud\Tasks\V2\OidcToken;
+use Google\Cloud\Tasks\V2\HttpMethod;
+use Google\Cloud\Tasks\V2\HttpRequest;
+use Google\Cloud\Tasks\V2\AppEngineRouting;
+use Illuminate\Queue\Queue as LaravelQueue;
+use Google\Cloud\Tasks\V2\AppEngineHttpRequest;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
+use Illuminate\Contracts\Queue\Queue as QueueContract;
+use Stackkit\LaravelGoogleCloudTasksQueue\Events\TaskCreated;
+
+/**
+ * @phpstan-import-type QueueConfig from CloudTasksConnector
+ * @phpstan-import-type JobShape from CloudTasksJob
+ * @phpstan-import-type JobBeforeDispatch from CloudTasksJob
+ *
+ * @phpstan-type JobOptions array{
+ * job?: Closure|string|object,
+ * delay?: ?int
+ * }
+ */
class CloudTasksQueue extends LaravelQueue implements QueueContract
{
- private static ?Closure $handlerUrlCallback = null;
+ protected static ?Closure $handlerUrlCallback = null;
- private static ?Closure $taskHeadersCallback = null;
+ protected static ?Closure $taskHeadersCallback = null;
/** @var (Closure(IncomingTask): WorkerOptions)|null */
- private static ?Closure $workerOptionsCallback = null;
+ protected static ?Closure $workerOptionsCallback = null;
- public function __construct(public array $config, public CloudTasksClient $client, public $dispatchAfterCommit = false)
- {
+ /**
+ * @param QueueConfig $config
+ */
+ public function __construct(
+ public array $config,
+ public CloudTasksClient $client,
+ // @phpstan-ignore-next-line
+ public $dispatchAfterCommit = false,
+ ) {
//
}
@@ -91,15 +110,20 @@ public function size($queue = null): int
/**
* Push a new job onto the queue.
*
- * @param string|object $job
+ * @param string|Closure|JobBeforeDispatch $job
* @param mixed $data
* @param string|null $queue
- * @return void
+ * @return mixed
*/
public function push($job, $data = '', $queue = null)
{
- if (! ($job instanceof Closure)) {
- $job->queue = $queue ?? $job->queue ?? $this->config['queue'];
+ if (! $queue) {
+ $queue = $this->getQueueForJob($job);
+ }
+
+ if (is_object($job) && ! $job instanceof Closure) {
+ /** @var JobBeforeDispatch $job */
+ $job->queue = $queue;
}
return $this->enqueueUsing(
@@ -118,6 +142,7 @@ function ($payload, $queue) use ($job) {
*
* @param string $payload
* @param string|null $queue
+ * @param JobOptions $options
* @return string
*/
public function pushRaw($payload, $queue = null, array $options = [])
@@ -132,13 +157,18 @@ public function pushRaw($payload, $queue = null, array $options = [])
* Push a new job onto the queue after a delay.
*
* @param \DateTimeInterface|\DateInterval|int $delay
- * @param string|object $job
+ * @param Closure|string|JobBeforeDispatch $job
* @param mixed $data
* @param string|null $queue
- * @return void
+ * @return mixed
*/
public function later($delay, $job, $data = '', $queue = null)
{
+ // Laravel pls fix your typehints
+ if (! $queue) {
+ $queue = $this->getQueueForJob($job);
+ }
+
return $this->enqueueUsing(
$job,
$this->createPayload($job, $queue, $data),
@@ -156,7 +186,7 @@ function ($payload, $queue, $delay) use ($job) {
* @param string|null $queue
* @param string $payload
* @param \DateTimeInterface|\DateInterval|int $delay
- * @param string|object $job
+ * @param Closure|string|object|null $job
* @return string
*/
protected function pushToCloudTasks($queue, $payload, $delay, mixed $job)
@@ -165,6 +195,7 @@ protected function pushToCloudTasks($queue, $payload, $delay, mixed $job)
$payload = (array) json_decode($payload, true);
+ /** @var JobShape $payload */
$task = tap(new Task)->setName($this->taskName($queue, $payload['displayName']));
$payload = $this->enrichPayloadWithAttempts($payload);
@@ -199,9 +230,12 @@ private function taskName(string $queueName, string $displayName): string
);
}
- private function enrichPayloadWithAttempts(
- array $payload,
- ): array {
+ /**
+ * @param JobShape $payload
+ * @return JobShape
+ */
+ private function enrichPayloadWithAttempts(array $payload): array
+ {
$payload['internal'] = [
'attempts' => $payload['internal']['attempts'] ?? 0,
];
@@ -209,23 +243,30 @@ private function enrichPayloadWithAttempts(
return $payload;
}
- /** @param string|object $job */
- public function addPayloadToTask(array $payload, Task $task, mixed $job): Task
+ /**
+ * @param Closure|string|object|null $job
+ * @param JobShape $payload
+ */
+ public function addPayloadToTask(array $payload, Task $task, $job): Task
{
$headers = $this->headers($payload);
if (! empty($this->config['app_engine'])) {
$path = \Safe\parse_url(route('cloud-tasks.handle-task'), PHP_URL_PATH);
+ if (! is_string($path)) {
+ throw new Exception('Something went wrong parsing the route.');
+ }
+
$appEngineRequest = new AppEngineHttpRequest;
$appEngineRequest->setRelativeUri($path);
$appEngineRequest->setHttpMethod(HttpMethod::POST);
$appEngineRequest->setBody(json_encode($payload));
$appEngineRequest->setHeaders($headers);
- if (! empty($service = $this->config['app_engine_service'])) {
+ if (! empty($this->config['app_engine_service'])) {
$routing = new AppEngineRouting;
- $routing->setService($service);
+ $routing->setService($this->config['app_engine_service']);
$appEngineRequest->setAppEngineRouting($routing);
}
@@ -238,7 +279,7 @@ public function addPayloadToTask(array $payload, Task $task, mixed $job): Task
$httpRequest->setHeaders($headers);
$token = new OidcToken;
- $token->setServiceAccountEmail($this->config['service_account_email']);
+ $token->setServiceAccountEmail($this->config['service_account_email'] ?? '');
$httpRequest->setOidcToken($token);
$task->setHttpRequest($httpRequest);
}
@@ -266,7 +307,9 @@ public function release(CloudTasksJob $job, int $delay = 0): void
);
}
- /** @param string|object $job */
+ /**
+ * @param Closure|string|object|null $job
+ */
public function getHandler(mixed $job): string
{
if (static::$handlerUrlCallback) {
@@ -279,11 +322,11 @@ public function getHandler(mixed $job): string
$handler = rtrim($this->config['handler'], '/');
- if (str_ends_with($handler, '/'.config('cloud-tasks.uri'))) {
+ if (str_ends_with($handler, '/'.config()->string('cloud-tasks.uri'))) {
return $handler;
}
- return $handler.'/'.config('cloud-tasks.uri');
+ return $handler.'/'.config()->string('cloud-tasks.uri');
}
/**
@@ -298,4 +341,19 @@ private function headers(mixed $payload): array
return (static::$taskHeadersCallback)($payload);
}
+
+ /**
+ * @param Closure|string|JobBeforeDispatch $job
+ */
+ private function getQueueForJob(mixed $job): string
+ {
+ if (is_object($job) && ! $job instanceof Closure) {
+ /** @var JobBeforeDispatch $job */
+ if (! empty($job->queue)) {
+ return $job->queue;
+ }
+ }
+
+ return $this->config['queue'];
+ }
}
diff --git a/src/CloudTasksServiceProvider.php b/src/CloudTasksServiceProvider.php
index bc95afe..1301f57 100644
--- a/src/CloudTasksServiceProvider.php
+++ b/src/CloudTasksServiceProvider.php
@@ -4,13 +4,16 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
-use Illuminate\Contracts\Debug\ExceptionHandler;
+use Illuminate\Routing\Router;
+use Illuminate\Events\Dispatcher;
+use Illuminate\Queue\QueueManager;
use Illuminate\Foundation\Application;
-use Illuminate\Queue\Events\JobExceptionOccurred;
use Illuminate\Queue\Events\JobFailed;
-use Illuminate\Support\ServiceProvider as LaravelServiceProvider;
+use Illuminate\Contracts\Debug\ExceptionHandler;
+use Illuminate\Queue\Events\JobExceptionOccurred;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
use Stackkit\LaravelGoogleCloudTasksQueue\Events\JobReleased;
+use Illuminate\Support\ServiceProvider as LaravelServiceProvider;
class CloudTasksServiceProvider extends LaravelServiceProvider
{
@@ -26,7 +29,7 @@ public function boot(): void
private function registerClient(): void
{
$this->app->singleton(CloudTasksClient::class, function () {
- return new CloudTasksClient(config('cloud-tasks.client_options', []));
+ return new CloudTasksClient(config()->array('cloud-tasks.client_options', []));
});
$this->app->singleton('cloud-tasks.worker', function (Application $app) {
@@ -43,13 +46,10 @@ private function registerClient(): void
private function registerConnector(): void
{
- /**
- * @var \Illuminate\Queue\QueueManager $queue
- */
- $queue = $this->app['queue'];
-
- $queue->addConnector('cloudtasks', function () {
- return new CloudTasksConnector;
+ with(resolve('queue'), function (QueueManager $queue) {
+ $queue->addConnector('cloudtasks', function () {
+ return new CloudTasksConnector;
+ });
});
}
@@ -68,17 +68,16 @@ private function registerRoutes(): void
return;
}
- /**
- * @var \Illuminate\Routing\Router $router
- */
- $router = $this->app['router'];
-
- $router->post(config('cloud-tasks.uri'), [TaskHandler::class, 'handle'])->name('cloud-tasks.handle-task');
+ with(resolve('router'), function (Router $router) {
+ $router->post(config()->string('cloud-tasks.uri'), [TaskHandler::class, 'handle'])
+ ->name('cloud-tasks.handle-task');
+ });
}
private function registerEvents(): void
{
- $events = $this->app['events'];
+ /** @var Dispatcher $events */
+ $events = app('events');
$events->listen(JobFailed::class, function (JobFailed $event) {
if (! $event->job instanceof CloudTasksJob) {
@@ -98,7 +97,7 @@ private function registerEvents(): void
return;
}
- data_set($event->job->job, 'internal.errored', true);
+ $event->job->job['internal']['errored'] = true;
});
$events->listen(JobFailed::class, function ($event) {
diff --git a/src/IncomingTask.php b/src/IncomingTask.php
index 0aba100..a4e675d 100644
--- a/src/IncomingTask.php
+++ b/src/IncomingTask.php
@@ -5,14 +5,28 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
use Error;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
-use Illuminate\Contracts\Encryption\Encrypter;
-use Safe\Exceptions\JsonException;
+use Exception;
use function Safe\json_decode;
+use Safe\Exceptions\JsonException;
+use Illuminate\Contracts\Encryption\Encrypter;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
+
+/**
+ * @phpstan-import-type JobShape from CloudTasksJob
+ * @phpstan-import-type QueueConfig from CloudTasksConnector
+ *
+ * @phpstan-type JobCommand array{
+ * queue?: ?string,
+ * connection?: ?string
+ * }
+ */
class IncomingTask
{
+ /**
+ * @param JobShape $task
+ */
private function __construct(private readonly array $task)
{
//
@@ -23,33 +37,31 @@ public static function fromJson(string $payload): self
try {
$decode = json_decode($payload, true);
- return new self(is_array($decode) ? $decode : []);
+ if (! is_array($decode)) {
+ throw new Exception('Invalid task payload.');
+ }
+
+ /** @var JobShape $decode */
+ return new self($decode);
} catch (JsonException) {
- return new self([]);
+ throw new Exception('Invalid task payload.');
}
}
- public function isInvalid(): bool
- {
- return $this->task === [];
- }
-
public function connection(): string
{
- if ($connection = data_get($this->command(), 'connection')) {
- return $connection;
- }
+ $command = $this->command();
- return config('queue.default');
+ return $command['connection']
+ ?? config()->string('queue.default');
}
public function queue(): string
{
- if ($queue = data_get($this->command(), 'queue')) {
- return $queue;
- }
+ $command = $this->command();
- return config('queue.connections.'.$this->connection().'.queue');
+ return $command['queue']
+ ?? config()->string('queue.connections.'.$this->connection().'.queue');
}
public function shortTaskName(): string
@@ -61,6 +73,7 @@ public function shortTaskName(): string
public function fullyQualifiedTaskName(): string
{
+ /** @var QueueConfig $config */
$config = config('queue.connections.'.$this->connection());
return CloudTasksClient::taskName(
@@ -71,21 +84,29 @@ public function fullyQualifiedTaskName(): string
);
}
+ /**
+ * @return JobCommand
+ */
public function command(): array
{
$command = $this->task['data']['command'];
if (str_starts_with($command, 'O:')) {
+ // @phpstan-ignore-next-line
return (array) unserialize($command, ['allowed_classes' => false]);
}
if (app()->bound(Encrypter::class)) {
+ // @phpstan-ignore-next-line
return (array) unserialize(app(Encrypter::class)->decrypt($command));
}
return [];
}
+ /**
+ * @return JobShape
+ */
public function toArray(): array
{
return $this->task;
diff --git a/src/TaskHandler.php b/src/TaskHandler.php
index 29d8416..d56bd6a 100644
--- a/src/TaskHandler.php
+++ b/src/TaskHandler.php
@@ -4,13 +4,20 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
+use Exception;
use Illuminate\Container\Container;
use Illuminate\Queue\WorkerOptions;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
use Stackkit\LaravelGoogleCloudTasksQueue\Events\TaskIncoming;
+/**
+ * @phpstan-import-type QueueConfig from CloudTasksConnector
+ */
class TaskHandler
{
+ /**
+ * @var QueueConfig
+ */
private array $config;
public function __construct(private readonly CloudTasksClient $client)
@@ -20,21 +27,22 @@ public function __construct(private readonly CloudTasksClient $client)
public function handle(?string $task = null): void
{
- $task = IncomingTask::fromJson($task ?: request()->getContent());
+ try {
+ $task = IncomingTask::fromJson($task ?: request()->getContent());
+ } catch (Exception $e) {
+ abort(422, $e->getMessage());
+ }
event(new TaskIncoming($task));
- if ($task->isInvalid()) {
- abort(422, 'Invalid task payload');
- }
-
if (! CloudTasksApi::exists($task->fullyQualifiedTaskName())) {
abort(404);
}
+ /** @var QueueConfig $config */
$config = config('queue.connections.'.$task->connection());
- $this->config = is_array($config) ? $config : [];
+ $this->config = $config;
// We want to catch any errors so we have more fine-grained control over
// how tasks are retried. Cloud Tasks will retry the task if a 5xx status
@@ -58,11 +66,14 @@ private function run(IncomingTask $task): void
$job->setAttempts($job->attempts() + 1);
- tap(app('cloud-tasks.worker'), fn (Worker $worker) => $worker->process(
+ /** @var Worker $worker */
+ $worker = app('cloud-tasks.worker');
+
+ $worker->process(
connectionName: $job->getConnectionName(),
job: $job,
options: CloudTasksQueue::getWorkerOptionsCallback() ? (CloudTasksQueue::getWorkerOptionsCallback())($task) : $this->getWorkerOptions()
- ));
+ );
}
public function getWorkerOptions(): WorkerOptions
diff --git a/src/Worker.php b/src/Worker.php
index 771179d..457b179 100644
--- a/src/Worker.php
+++ b/src/Worker.php
@@ -4,10 +4,12 @@
namespace Stackkit\LaravelGoogleCloudTasksQueue;
-use Illuminate\Contracts\Debug\ExceptionHandler;
+use function Safe\set_time_limit;
+
+use Illuminate\Queue\WorkerOptions;
use Illuminate\Queue\Events\JobTimedOut;
use Illuminate\Queue\Worker as LaravelWorker;
-use Illuminate\Queue\WorkerOptions;
+use Illuminate\Contracts\Debug\ExceptionHandler;
use Symfony\Component\ErrorHandler\Error\FatalError;
/**
diff --git a/tests/CloudTasksApiTest.php b/tests/CloudTasksApiTest.php
index 6575285..5b42338 100644
--- a/tests/CloudTasksApiTest.php
+++ b/tests/CloudTasksApiTest.php
@@ -4,13 +4,13 @@
namespace Tests;
+use Google\Protobuf\Timestamp;
+use Google\Cloud\Tasks\V2\Task;
use Google\ApiCore\ApiException;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
use Google\Cloud\Tasks\V2\HttpMethod;
use Google\Cloud\Tasks\V2\HttpRequest;
-use Google\Cloud\Tasks\V2\Task;
-use Google\Protobuf\Timestamp;
use PHPUnit\Framework\Attributes\Test;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
class CloudTasksApiTest extends TestCase
diff --git a/tests/ConfigHandlerTest.php b/tests/ConfigHandlerTest.php
index 33837c2..193e663 100644
--- a/tests/ConfigHandlerTest.php
+++ b/tests/ConfigHandlerTest.php
@@ -4,10 +4,10 @@
namespace Tests;
+use Tests\Support\SimpleJob;
use Google\Cloud\Tasks\V2\Task;
use PHPUnit\Framework\Attributes\Test;
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
-use Tests\Support\SimpleJob;
class ConfigHandlerTest extends TestCase
{
diff --git a/tests/IncomingTaskTest.php b/tests/IncomingTaskTest.php
index 060a64b..ff29f0d 100644
--- a/tests/IncomingTaskTest.php
+++ b/tests/IncomingTaskTest.php
@@ -4,15 +4,15 @@
namespace Tests;
-use Illuminate\Support\Facades\Event;
use Illuminate\Support\Str;
+use Tests\Support\SimpleJob;
+use Tests\Support\EncryptedJob;
+use Illuminate\Support\Facades\Event;
use PHPUnit\Framework\Attributes\Test;
use PHPUnit\Framework\Attributes\TestWith;
+use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
use Stackkit\LaravelGoogleCloudTasksQueue\Events\TaskIncoming;
-use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;
-use Tests\Support\EncryptedJob;
-use Tests\Support\SimpleJob;
class IncomingTaskTest extends TestCase
{
@@ -127,10 +127,10 @@ public function it_can_convert_the_incoming_task_to_array()
#[Test]
public function test_invalid_function()
{
- // Act
- $incomingTask = IncomingTask::fromJson('{ invalid json }');
+ // Assert
+ $this->expectExceptionMessage('Invalid task payload.');
// Act
- $this->assertTrue($incomingTask->isInvalid());
+ IncomingTask::fromJson('{ invalid json }');
}
}
diff --git a/tests/QueueAppEngineTest.php b/tests/QueueAppEngineTest.php
index a4362b1..addf4b4 100644
--- a/tests/QueueAppEngineTest.php
+++ b/tests/QueueAppEngineTest.php
@@ -4,10 +4,10 @@
namespace Tests;
+use Tests\Support\SimpleJob;
use Google\Cloud\Tasks\V2\Task;
use PHPUnit\Framework\Attributes\Test;
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
-use Tests\Support\SimpleJob;
class QueueAppEngineTest extends TestCase
{
diff --git a/tests/QueueTest.php b/tests/QueueTest.php
index 5b098c9..10a56f8 100644
--- a/tests/QueueTest.php
+++ b/tests/QueueTest.php
@@ -4,33 +4,33 @@
namespace Tests;
-use Google\Cloud\Tasks\V2\HttpMethod;
-use Google\Cloud\Tasks\V2\Task;
-use Illuminate\Queue\CallQueuedClosure;
-use Illuminate\Queue\Events\JobProcessed;
-use Illuminate\Queue\Events\JobProcessing;
-use Illuminate\Queue\Events\JobQueued;
-use Illuminate\Queue\Events\JobReleasedAfterException;
+use Override;
+use Tests\Support\User;
+use Tests\Support\UserJob;
+use Illuminate\Support\Str;
+use Tests\Support\JobOutput;
+use Tests\Support\SimpleJob;
+use Tests\Support\FailingJob;
use Illuminate\Support\Carbon;
-use Illuminate\Support\Facades\Bus;
+use Google\Cloud\Tasks\V2\Task;
use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Bus;
+use Google\Cloud\Tasks\V2\HttpMethod;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Queue;
-use Illuminate\Support\Str;
-use Override;
+use Illuminate\Queue\Events\JobQueued;
use PHPUnit\Framework\Attributes\Test;
+use Illuminate\Queue\CallQueuedClosure;
+use Tests\Support\SimpleJobWithTimeout;
+use Tests\Support\JobThatWillBeReleased;
+use Illuminate\Queue\Events\JobProcessed;
+use Illuminate\Queue\Events\JobProcessing;
+use Tests\Support\FailingJobWithExponentialBackoff;
+use Illuminate\Queue\Events\JobReleasedAfterException;
+use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksQueue;
use Stackkit\LaravelGoogleCloudTasksQueue\Events\JobReleased;
-use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;
-use Tests\Support\FailingJob;
-use Tests\Support\FailingJobWithExponentialBackoff;
-use Tests\Support\JobOutput;
-use Tests\Support\JobThatWillBeReleased;
-use Tests\Support\SimpleJob;
-use Tests\Support\SimpleJobWithTimeout;
-use Tests\Support\User;
-use Tests\Support\UserJob;
class QueueTest extends TestCase
{
@@ -550,4 +550,20 @@ public function batched_jobs_with_custom_queue_are_dispatched_on_the_custom_queu
&& str_contains($task->getName(), 'my-batch-queue');
});
}
+
+ #[Test]
+ public function it_can_dispatch_closures(): void
+ {
+ // Arrange
+ CloudTasksApi::fake();
+ Event::fake(JobOutput::class);
+
+ // Act
+ $this->dispatch(function () {
+ event(new JobOutput('ClosureJob:success'));
+ })->run();
+
+ // Assert
+ Event::assertDispatched(fn (JobOutput $event) => $event->output === 'ClosureJob:success');
+ }
}
diff --git a/tests/Support/BaseJob.php b/tests/Support/BaseJob.php
index 98b9688..b72e1d8 100644
--- a/tests/Support/BaseJob.php
+++ b/tests/Support/BaseJob.php
@@ -6,10 +6,10 @@
use Illuminate\Bus\Batchable;
use Illuminate\Bus\Queueable;
+use Illuminate\Queue\SerializesModels;
+use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
-use Illuminate\Queue\InteractsWithQueue;
-use Illuminate\Queue\SerializesModels;
class BaseJob implements ShouldQueue
{
diff --git a/tests/Support/DispatchedJob.php b/tests/Support/DispatchedJob.php
index 2ee248a..5c71ab1 100644
--- a/tests/Support/DispatchedJob.php
+++ b/tests/Support/DispatchedJob.php
@@ -5,8 +5,8 @@
namespace Tests\Support;
use Error;
-use Google\Cloud\Tasks\V2\Task;
use Tests\TestCase;
+use Google\Cloud\Tasks\V2\Task;
class DispatchedJob
{
diff --git a/tests/Support/SimpleJobWithTimeout.php b/tests/Support/SimpleJobWithTimeout.php
index 72296aa..641cef3 100644
--- a/tests/Support/SimpleJobWithTimeout.php
+++ b/tests/Support/SimpleJobWithTimeout.php
@@ -4,8 +4,7 @@
namespace Tests\Support;
-use Illuminate\Queue\Events\WorkerStopping;
-use Illuminate\Support\Facades\Event;
+use Symfony\Component\ErrorHandler\Error\FatalError;
class SimpleJobWithTimeout extends SimpleJob
{
@@ -13,18 +12,9 @@ class SimpleJobWithTimeout extends SimpleJob
public function handle()
{
- Event::listen(WorkerStopping::class, function () {
- event(new JobOutput('SimpleJobWithTimeout:worker-stopping'));
- });
-
- event(new JobOutput('SimpleJobWithTimeout:1'));
- sleep(1);
- event(new JobOutput('SimpleJobWithTimeout:2'));
- sleep(1);
- event(new JobOutput('SimpleJobWithTimeout:3'));
- sleep(1);
- event(new JobOutput('SimpleJobWithTimeout:4'));
- sleep(1);
- event(new JobOutput('SimpleJobWithTimeout:5'));
+ throw new FatalError('Maximum execution time of 30 seconds exceeded', 500, [
+ 'file' => __FILE__,
+ 'line' => __LINE__,
+ ]);
}
}
diff --git a/tests/Support/UserJob.php b/tests/Support/UserJob.php
index 2589146..df8dea4 100644
--- a/tests/Support/UserJob.php
+++ b/tests/Support/UserJob.php
@@ -5,10 +5,10 @@
namespace Tests\Support;
use Illuminate\Bus\Queueable;
+use Illuminate\Queue\SerializesModels;
+use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
-use Illuminate\Queue\InteractsWithQueue;
-use Illuminate\Queue\SerializesModels;
class UserJob implements ShouldQueue
{
diff --git a/tests/TaskHandlerTest.php b/tests/TaskHandlerTest.php
index 1316a31..a9ab021 100644
--- a/tests/TaskHandlerTest.php
+++ b/tests/TaskHandlerTest.php
@@ -4,25 +4,25 @@
namespace Tests;
-use Illuminate\Queue\Events\JobReleasedAfterException;
+use Override;
+use Tests\Support\JobOutput;
+use Tests\Support\SimpleJob;
+use Tests\Support\FailingJob;
+use Tests\Support\EncryptedJob;
use Illuminate\Queue\WorkerOptions;
use Illuminate\Support\Facades\Event;
-use Override;
use PHPUnit\Framework\Attributes\Test;
-use PHPUnit\Framework\Attributes\TestWith;
-use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
-use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksQueue;
-use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;
-use Tests\Support\EncryptedJob;
-use Tests\Support\FailingJob;
+use Tests\Support\SimpleJobWithTimeout;
use Tests\Support\FailingJobWithMaxTries;
-use Tests\Support\FailingJobWithMaxTriesAndRetryUntil;
+use PHPUnit\Framework\Attributes\TestWith;
use Tests\Support\FailingJobWithNoMaxTries;
use Tests\Support\FailingJobWithRetryUntil;
use Tests\Support\FailingJobWithUnlimitedTries;
-use Tests\Support\JobOutput;
-use Tests\Support\SimpleJob;
-use Tests\Support\SimpleJobWithTimeout;
+use Illuminate\Queue\Events\JobReleasedAfterException;
+use Tests\Support\FailingJobWithMaxTriesAndRetryUntil;
+use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;
+use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksApi;
+use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksQueue;
class TaskHandlerTest extends TestCase
{
@@ -289,23 +289,13 @@ public function retried_jobs_get_a_new_name()
#[Test]
public function test_job_timeout()
{
- $this->markTestSkipped('Currently seemingly impossible to test job timeouts.');
-
// Arrange
- Event::fake(JobOutput::class);
+ Event::fake(JobReleasedAfterException::class);
// Act
$this->dispatch(new SimpleJobWithTimeout)->run();
// Assert
- $events = Event::dispatched(JobOutput::class)->map(fn ($event) => $event[0]->output)->toArray();
- $this->assertEquals([
- 'SimpleJobWithTimeout:1',
- 'SimpleJobWithTimeout:2',
- 'SimpleJobWithTimeout:3',
- 'SimpleJobWithTimeout:worker-stopping',
- 'SimpleJobWithTimeout:4',
- 'SimpleJobWithTimeout:5',
- ], $events);
+ Event::assertDispatched(JobReleasedAfterException::class);
}
}
diff --git a/tests/TestCase.php b/tests/TestCase.php
index ac5c6cd..5f10b7f 100644
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -4,13 +4,13 @@
namespace Tests;
-use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
use Illuminate\Bus\PendingBatch;
-use Illuminate\Foundation\Testing\DatabaseTransactions;
+use Tests\Support\DispatchedJob;
use Illuminate\Support\Facades\Event;
-use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksServiceProvider;
+use Google\Cloud\Tasks\V2\Client\CloudTasksClient;
+use Illuminate\Foundation\Testing\DatabaseTransactions;
use Stackkit\LaravelGoogleCloudTasksQueue\Events\TaskCreated;
-use Tests\Support\DispatchedJob;
+use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksServiceProvider;
class TestCase extends \Orchestra\Testbench\TestCase
{