diff --git a/.github/SECURITY.md b/.github/SECURITY.md
index a69043be..7b692967 100644
--- a/.github/SECURITY.md
+++ b/.github/SECURITY.md
@@ -24,7 +24,7 @@ We take all security bugs in `wayofdev/laravel-cycle-orm-adapter` seriously. Ple
1. **GitHub Security Advisories**: Please report security issues directly through our GitHub Security Advisories page: [https://github.com/wayofdev/laravel-cycle-orm-adapter/security/advisories/new](https://github.com/wayofdev/laravel-cycle-orm-adapter/security/advisories/new). This ensures that sensitive information is handled confidentially.
-2. **Empty Security Issue**: After submitting through GitHub Security Advisories, please also create an empty security issue to alert us, as GitHub Advisories do not send automatic notifications. This can be done [here](https://github.com/wayofdev/laravel-cycle-orm-adapter/issues/new?assignees=&labels=type%3A+bug%2Cpriority%3A+high%2Ctype%3A+security&projects=&template=5-security-report.yml&title=%5BSecurity%5D%3A+).
+2. **Empty Security Issue**: After submitting through GitHub Security Advisories, please also create an empty security issue to alert us, as GitHub Advisories do not send automatic notifications. This can be done by [creating a new issue](https://github.com/wayofdev/laravel-cycle-orm-adapter/issues/new?assignees=&labels=type%3A+bug%2Cpriority%3A+high%2Ctype%3A+security&projects=&template=5-security-report.yml&title=%5BSecurity%5D%3A+).
3. **Direct Contact**: For highly sensitive information, in addition to the GitHub Security Advisories, please email us directly at `the@wayof.dev` with the subject line "SECURITY - Vulnerability Report". This will be treated with the highest priority.
diff --git a/.github/workflows/testing-mssql.yml b/.github/workflows/testing-mssql.yml
index bc254a42..6ba46951 100644
--- a/.github/workflows/testing-mssql.yml
+++ b/.github/workflows/testing-mssql.yml
@@ -120,10 +120,10 @@ jobs:
else
echo "❌ SQL Server connection failed, retrying in 5 seconds..."
cat /tmp/sqltest.log 2>/dev/null || true
- if [ $i -eq 30 ]; then
+ if [ "$i" -eq 30 ]; then
echo "💥 SQL Server failed to become ready after 150 seconds"
# Show container logs for debugging
- docker logs $(docker ps -q --filter "ancestor=mcr.microsoft.com/mssql/server:2022-latest") || true
+ docker logs "$(docker ps -q --filter "ancestor=mcr.microsoft.com/mssql/server:2022-latest")" || true
exit 1
fi
sleep 5
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index feb1dcef..ffff6ead 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -21,7 +21,7 @@ repos:
- id: php-cs-fixer
name: PHP CS Fixer
description: Lint files using PHP CS Fixer
- entry: vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php --verbose --diff
+ entry: bash -c "if command -v php &> /dev/null; then php vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php --verbose --diff; else docker compose run --rm --no-deps app php vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php --verbose --diff; fi"
language: system
types: [php]
exclude: ^vendor/
diff --git a/README.md b/README.md
index 06b5bb68..97e50559 100644
--- a/README.md
+++ b/README.md
@@ -55,11 +55,12 @@ The full documentation for the package is available at [https://laravel-cycle-or
## 🧩 Compatibility Map
-| Laravel | Cycle ORM | Adapter |
-|----------------------|-----------|----------|
-| `^10.28` | `2.x` | `<4.9.0` |
-| `^10.28, 11.x` | `2.x` | `≥4.9.0` |
-| `^10.28, 11.x, 12.x` | `2.x` | `≥5.0.0` |
+| Laravel | Cycle ORM | Adapter | PHP Version |
+|----------------------|-----------|----------|-------------|
+| `^10.28` | `2.x` | `<4.9.0` | `^8.2` |
+| `^10.28, 11.x` | `2.x` | `≥4.9.0` | `^8.2` |
+| `^10.28, 11.x, 12.x` | `2.x` | `5.0.0` | `^8.2` |
+| `11.x, 12.x, 13.x` | `2.x` | `>5.0.0` | `^8.3` |
diff --git a/composer.json b/composer.json
index 976401d8..c6d4133b 100644
--- a/composer.json
+++ b/composer.json
@@ -42,7 +42,7 @@
}
],
"require": {
- "php": "^8.2",
+ "php": "^8.3",
"ext-fileinfo": "*",
"ext-pdo": "*",
"cycle/annotated": "^4.3",
@@ -53,35 +53,35 @@
"cycle/orm": "^2.11",
"cycle/schema-builder": "^2.11",
"cycle/schema-migrations-generator": "^2.3",
- "cycle/schema-renderer": "^1.3",
- "laravel/framework": "^10.28 || ^11.0 || ^12.0",
+ "cycle/schema-renderer": "^1.4",
+ "laravel/framework": "^11.0 || ^12.0 || ^13.0",
"psr/log": "^3.0",
"spiral/attributes": "^3.1",
- "spiral/core": "^3.15",
- "spiral/tokenizer": "^3.15",
- "symfony/console": "^6.4 || ^7.3"
+ "spiral/core": "^3.16",
+ "spiral/tokenizer": "^3.16",
+ "symfony/console": "^6.4 || ^7.3 || ^8.0"
},
"require-dev": {
"ext-curl": "*",
"ext-pdo_mysql": "*",
"beberlei/assert": "^3.3",
"fakerphp/faker": "^1.24",
- "larastan/larastan": "^2.11",
- "laravel/telescope": "^5.12",
- "orchestra/testbench": "^8.21 || ^9.15.0 || ^10.0",
- "pestphp/pest": "^2.36",
- "pestphp/pest-plugin-laravel": "^2.4",
+ "larastan/larastan": "^2.11 || ^3.9",
+ "laravel/telescope": "^5.18",
+ "orchestra/testbench": "^8.21 || ^9.15.0 || ^10.0 || ^11.0",
+ "pestphp/pest": "^2.36 | ^3.5.2 | ^4.4.1",
+ "pestphp/pest-plugin-laravel": "^2.4 || ^3.0 || ^4.0",
"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": "^10.5",
- "psalm/plugin-laravel": "^3.0",
+ "phpstan/phpstan": "^1.12 || ^2.1",
+ "phpstan/phpstan-deprecation-rules": "^1.2 || ^2.0",
+ "phpstan/phpstan-phpunit": "^1.4 || ^2.0",
+ "phpstan/phpstan-strict-rules": "^1.6 || ^2.0",
+ "phpunit/phpunit": "^10.5 || ^11.5 || ^12.5",
+ "psalm/plugin-laravel": "^3.1 || ^4.0",
"psalm/plugin-phpunit": "~0.19.0",
- "rector/rector": "^1.2",
- "roave/infection-static-analysis-plugin": "^1.39",
- "vimeo/psalm": "^6.13.1",
+ "rector/rector": "^1.2 || ^2.0",
+ "roave/infection-static-analysis-plugin": "^1.43",
+ "vimeo/psalm": "^6.16 || ^7.0@beta",
"wayofdev/cs-fixer-config": "^1.5"
},
"suggest": {
@@ -115,7 +115,7 @@
"phpstan/extension-installer": true
},
"platform": {
- "php": "8.2.27"
+ "php": "8.4.19"
},
"sort-packages": true
},
diff --git a/composer.lock b/composer.lock
index db863228..e72e5b7f 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": "8ab23022537131b13090ff47ca2a0640",
+ "content-hash": "8e51d8ea49c74e4f101498fb21f7457b",
"packages": [
{
"name": "brick/math",
- "version": "0.14.0",
+ "version": "0.14.8",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
- "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2"
+ "reference": "63422359a44b7f06cae63c3b429b59e8efcc0629"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2",
- "reference": "113a8ee2656b882d4c3164fa31aa6e12cbb7aaa2",
+ "url": "https://api.github.com/repos/brick/math/zipball/63422359a44b7f06cae63c3b429b59e8efcc0629",
+ "reference": "63422359a44b7f06cae63c3b429b59e8efcc0629",
"shasum": ""
},
"require": {
@@ -56,7 +56,7 @@
],
"support": {
"issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/0.14.0"
+ "source": "https://github.com/brick/math/tree/0.14.8"
},
"funding": [
{
@@ -64,7 +64,7 @@
"type": "github"
}
],
- "time": "2025-08-29T12:40:03+00:00"
+ "time": "2026-02-10T14:33:43+00:00"
},
{
"name": "carbonphp/carbon-doctrine-types",
@@ -137,16 +137,16 @@
},
{
"name": "cycle/annotated",
- "version": "v4.3.1",
+ "version": "v4.4.0",
"source": {
"type": "git",
"url": "https://github.com/cycle/annotated.git",
- "reference": "f996d3ee0c22aa8f2c03dca5d693408f8b7fdbbe"
+ "reference": "7564927e04449eeec22b3cf94af2d406f129d931"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cycle/annotated/zipball/f996d3ee0c22aa8f2c03dca5d693408f8b7fdbbe",
- "reference": "f996d3ee0c22aa8f2c03dca5d693408f8b7fdbbe",
+ "url": "https://api.github.com/repos/cycle/annotated/zipball/7564927e04449eeec22b3cf94af2d406f129d931",
+ "reference": "7564927e04449eeec22b3cf94af2d406f129d931",
"shasum": ""
},
"require": {
@@ -207,25 +207,25 @@
"type": "github"
}
],
- "time": "2025-07-22T06:19:06+00:00"
+ "time": "2025-11-04T08:20:33+00:00"
},
{
"name": "cycle/database",
- "version": "2.15.0",
+ "version": "2.16.0",
"source": {
"type": "git",
"url": "https://github.com/cycle/database.git",
- "reference": "3d7ee3524b299c5897e2b03dc51bad2ddd609a90"
+ "reference": "279e3bb64185cebeb7c6a9cb637d67f6a7c206ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cycle/database/zipball/3d7ee3524b299c5897e2b03dc51bad2ddd609a90",
- "reference": "3d7ee3524b299c5897e2b03dc51bad2ddd609a90",
+ "url": "https://api.github.com/repos/cycle/database/zipball/279e3bb64185cebeb7c6a9cb637d67f6a7c206ce",
+ "reference": "279e3bb64185cebeb7c6a9cb637d67f6a7c206ce",
"shasum": ""
},
"require": {
"ext-pdo": "*",
- "php": ">=8.0",
+ "php": ">=8.1",
"psr/log": "1 - 3",
"spiral/core": "^2.8 || ^3.0",
"spiral/pagination": "^2.8 || ^3.0",
@@ -235,6 +235,7 @@
"spiral/database": "*"
},
"require-dev": {
+ "buggregator/trap": "^1.15",
"ergebnis/composer-normalize": "^2.42",
"infection/infection": ">=0.26.10",
"mockery/mockery": "^1.5",
@@ -300,20 +301,20 @@
"type": "github"
}
],
- "time": "2025-07-22T05:27:52+00:00"
+ "time": "2026-03-19T10:07:45+00:00"
},
{
"name": "cycle/entity-behavior",
- "version": "1.7.0",
+ "version": "1.7.1",
"source": {
"type": "git",
"url": "https://github.com/cycle/entity-behavior.git",
- "reference": "0c8d84fb3eaa50ec426f336a158d62ad2b4a83b6"
+ "reference": "afe1fe2d1f01bbc6856a21c5a1bc7f37096fd227"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cycle/entity-behavior/zipball/0c8d84fb3eaa50ec426f336a158d62ad2b4a83b6",
- "reference": "0c8d84fb3eaa50ec426f336a158d62ad2b4a83b6",
+ "url": "https://api.github.com/repos/cycle/entity-behavior/zipball/afe1fe2d1f01bbc6856a21c5a1bc7f37096fd227",
+ "reference": "afe1fe2d1f01bbc6856a21c5a1bc7f37096fd227",
"shasum": ""
},
"require": {
@@ -375,7 +376,7 @@
"type": "github"
}
],
- "time": "2025-07-22T05:27:05+00:00"
+ "time": "2025-11-24T07:12:50+00:00"
},
{
"name": "cycle/entity-behavior-uuid",
@@ -494,36 +495,36 @@
},
{
"name": "cycle/orm",
- "version": "v2.11.0",
+ "version": "v2.15.0",
"source": {
"type": "git",
"url": "https://github.com/cycle/orm.git",
- "reference": "d712c79eab82a2393863c67c15e37b89fd64b555"
+ "reference": "36e2ddcb66e3821ed1c44d6b3671fec8ffc16370"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cycle/orm/zipball/d712c79eab82a2393863c67c15e37b89fd64b555",
- "reference": "d712c79eab82a2393863c67c15e37b89fd64b555",
+ "url": "https://api.github.com/repos/cycle/orm/zipball/36e2ddcb66e3821ed1c44d6b3671fec8ffc16370",
+ "reference": "36e2ddcb66e3821ed1c44d6b3671fec8ffc16370",
"shasum": ""
},
"require": {
"cycle/database": "^2.8.1",
"doctrine/instantiator": "^1.3.1 || ^2.0",
- "ext-pdo": "*",
- "php": ">=8.0",
+ "php": ">=8.1",
"spiral/core": "^2.8 || ^3.0"
},
"require-dev": {
+ "buggregator/trap": "^1.15",
"doctrine/collections": "^1.6 || ^2.0",
- "illuminate/collections": "9 - 11",
+ "ext-pdo": "*",
+ "illuminate/collections": "9 - 12",
"loophp/collection": "^6.0 || ^7.0",
"mockery/mockery": "^1.1",
"phpunit/phpunit": "^9.5",
"ramsey/uuid": "^4.0",
"spiral/code-style": "~2.2.0",
"spiral/tokenizer": "^2.8 || ^3.0",
- "symfony/var-dumper": "^5.2 || ^6.0 || ^7.0",
- "vimeo/psalm": "5.21 || ^6.8"
+ "vimeo/psalm": "^6.0"
},
"type": "library",
"autoload": {
@@ -577,7 +578,7 @@
"type": "github"
}
],
- "time": "2025-09-09T09:42:43+00:00"
+ "time": "2026-03-17T12:11:26+00:00"
},
{
"name": "cycle/schema-builder",
@@ -703,16 +704,16 @@
},
{
"name": "cycle/schema-renderer",
- "version": "1.3.0",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/cycle/schema-renderer.git",
- "reference": "75afcb552432eb58dffda15d63f4451601c60c82"
+ "reference": "1a471320ce4987a9722b5e39c64d3b4dc741cf1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cycle/schema-renderer/zipball/75afcb552432eb58dffda15d63f4451601c60c82",
- "reference": "75afcb552432eb58dffda15d63f4451601c60c82",
+ "url": "https://api.github.com/repos/cycle/schema-renderer/zipball/1a471320ce4987a9722b5e39c64d3b4dc741cf1b",
+ "reference": "1a471320ce4987a9722b5e39c64d3b4dc741cf1b",
"shasum": ""
},
"require": {
@@ -739,9 +740,9 @@
"description": "Utils for Cycle ORM Schema rendering",
"support": {
"issues": "https://github.com/cycle/schema-renderer/issues",
- "source": "https://github.com/cycle/schema-renderer/tree/1.3.0"
+ "source": "https://github.com/cycle/schema-renderer/tree/1.4.0"
},
- "time": "2025-05-08T08:51:06+00:00"
+ "time": "2025-11-04T05:47:31+00:00"
},
{
"name": "dflydev/dot-access-data",
@@ -910,30 +911,29 @@
},
{
"name": "doctrine/instantiator",
- "version": "2.0.0",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+ "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/23da848e1a2308728fe5fdddabf4be17ff9720c7",
+ "reference": "23da848e1a2308728fe5fdddabf4be17ff9720c7",
"shasum": ""
},
"require": {
- "php": "^8.1"
+ "php": "^8.4"
},
"require-dev": {
- "doctrine/coding-standard": "^11",
+ "doctrine/coding-standard": "^14",
"ext-pdo": "*",
"ext-phar": "*",
"phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^10.5.58"
},
"type": "library",
"autoload": {
@@ -960,7 +960,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ "source": "https://github.com/doctrine/instantiator/tree/2.1.0"
},
"funding": [
{
@@ -976,7 +976,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-30T00:23:10+00:00"
+ "time": "2026-01-05T06:47:08+00:00"
},
{
"name": "doctrine/lexer",
@@ -1057,29 +1057,28 @@
},
{
"name": "dragonmantank/cron-expression",
- "version": "v3.4.0",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "8c784d071debd117328803d86b2097615b457500"
+ "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500",
- "reference": "8c784d071debd117328803d86b2097615b457500",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013",
+ "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0",
- "webmozart/assert": "^1.0"
+ "php": "^8.2|^8.3|^8.4|^8.5"
},
"replace": {
"mtdowling/cron-expression": "^1.0"
},
"require-dev": {
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.0",
- "phpunit/phpunit": "^7.0|^8.0|^9.0"
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.32|^2.1.31",
+ "phpunit/phpunit": "^8.5.48|^9.0"
},
"type": "library",
"extra": {
@@ -1110,7 +1109,7 @@
],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
- "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0"
+ "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0"
},
"funding": [
{
@@ -1118,7 +1117,7 @@
"type": "github"
}
],
- "time": "2024-10-09T13:47:03+00:00"
+ "time": "2025-10-31T18:51:33+00:00"
},
{
"name": "egulias/email-validator",
@@ -1189,31 +1188,31 @@
},
{
"name": "fruitcake/php-cors",
- "version": "v1.3.0",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/fruitcake/php-cors.git",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b"
+ "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b",
+ "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379",
+ "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379",
"shasum": ""
},
"require": {
- "php": "^7.4|^8.0",
- "symfony/http-foundation": "^4.4|^5.4|^6|^7"
+ "php": "^8.1",
+ "symfony/http-foundation": "^5.4|^6.4|^7.3|^8"
},
"require-dev": {
- "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan": "^2",
"phpunit/phpunit": "^9",
- "squizlabs/php_codesniffer": "^3.5"
+ "squizlabs/php_codesniffer": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-master": "1.3-dev"
}
},
"autoload": {
@@ -1244,7 +1243,7 @@
],
"support": {
"issues": "https://github.com/fruitcake/php-cors/issues",
- "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0"
+ "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0"
},
"funding": [
{
@@ -1256,28 +1255,28 @@
"type": "github"
}
],
- "time": "2023-10-12T05:21:21+00:00"
+ "time": "2025-12-03T09:33:47+00:00"
},
{
"name": "graham-campbell/result-type",
- "version": "v1.1.3",
+ "version": "v1.1.4",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
+ "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b",
+ "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3"
+ "phpoption/phpoption": "^1.9.5"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
+ "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7"
},
"type": "library",
"autoload": {
@@ -1306,7 +1305,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4"
},
"funding": [
{
@@ -1318,7 +1317,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-20T21:45:45+00:00"
+ "time": "2025-12-27T19:43:20+00:00"
},
{
"name": "guzzlehttp/guzzle",
@@ -1531,16 +1530,16 @@
},
{
"name": "guzzlehttp/psr7",
- "version": "2.8.0",
+ "version": "2.9.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "21dc724a0583619cd1652f673303492272778051"
+ "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051",
- "reference": "21dc724a0583619cd1652f673303492272778051",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884",
+ "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884",
"shasum": ""
},
"require": {
@@ -1556,6 +1555,7 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "0.9.0",
+ "jshttp/mime-db": "1.54.0.1",
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"suggest": {
@@ -1627,7 +1627,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.8.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.9.0"
},
"funding": [
{
@@ -1643,7 +1643,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-23T21:21:41+00:00"
+ "time": "2026-03-10T16:41:02+00:00"
},
{
"name": "guzzlehttp/uri-template",
@@ -1733,20 +1733,20 @@
},
{
"name": "laravel/framework",
- "version": "v11.46.0",
+ "version": "v12.55.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "2c6d85f22d08123ad45aa3a6726b16f06e68eecd"
+ "reference": "6d9185a248d101b07eecaf8fd60b18129545fd33"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/2c6d85f22d08123ad45aa3a6726b16f06e68eecd",
- "reference": "2c6d85f22d08123ad45aa3a6726b16f06e68eecd",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/6d9185a248d101b07eecaf8fd60b18129545fd33",
+ "reference": "6d9185a248d101b07eecaf8fd60b18129545fd33",
"shasum": ""
},
"require": {
- "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14",
+ "brick/math": "^0.11|^0.12|^0.13|^0.14",
"composer-runtime-api": "^2.2",
"doctrine/inflector": "^2.0.5",
"dragonmantank/cron-expression": "^3.4",
@@ -1761,32 +1761,34 @@
"fruitcake/php-cors": "^1.3",
"guzzlehttp/guzzle": "^7.8.2",
"guzzlehttp/uri-template": "^1.0",
- "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
+ "laravel/prompts": "^0.3.0",
"laravel/serializable-closure": "^1.3|^2.0",
- "league/commonmark": "^2.7",
+ "league/commonmark": "^2.8.1",
"league/flysystem": "^3.25.1",
"league/flysystem-local": "^3.25.1",
"league/uri": "^7.5.1",
"monolog/monolog": "^3.0",
- "nesbot/carbon": "^2.72.6|^3.8.4",
+ "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": "^7.0.3",
- "symfony/error-handler": "^7.0.3",
- "symfony/finder": "^7.0.3",
+ "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.0.3",
- "symfony/mailer": "^7.0.3",
- "symfony/mime": "^7.0.3",
- "symfony/polyfill-php83": "^1.31",
- "symfony/process": "^7.0.3",
- "symfony/routing": "^7.0.3",
- "symfony/uid": "^7.0.3",
- "symfony/var-dumper": "^7.0.3",
+ "symfony/http-kernel": "^7.2.0",
+ "symfony/mailer": "^7.2.0",
+ "symfony/mime": "^7.2.0",
+ "symfony/polyfill-php83": "^1.33",
+ "symfony/polyfill-php84": "^1.33",
+ "symfony/polyfill-php85": "^1.33",
+ "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.6.1",
"voku/portable-ascii": "^2.0.2"
@@ -1818,6 +1820,7 @@
"illuminate/filesystem": "self.version",
"illuminate/hashing": "self.version",
"illuminate/http": "self.version",
+ "illuminate/json-schema": "self.version",
"illuminate/log": "self.version",
"illuminate/macroable": "self.version",
"illuminate/mail": "self.version",
@@ -1827,6 +1830,7 @@
"illuminate/process": "self.version",
"illuminate/queue": "self.version",
"illuminate/redis": "self.version",
+ "illuminate/reflection": "self.version",
"illuminate/routing": "self.version",
"illuminate/session": "self.version",
"illuminate/support": "self.version",
@@ -1850,17 +1854,18 @@
"league/flysystem-read-only": "^3.25.1",
"league/flysystem-sftp-v3": "^3.25.1",
"mockery/mockery": "^1.6.10",
- "orchestra/testbench-core": "^9.16.1",
- "pda/pheanstalk": "^5.0.6",
+ "opis/json-schema": "^2.4.1",
+ "orchestra/testbench-core": "^10.9.0",
+ "pda/pheanstalk": "^5.0.6|^7.0.0",
"php-http/discovery": "^1.15",
- "phpstan/phpstan": "^2.0",
- "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1",
- "predis/predis": "^2.3",
- "resend/resend-php": "^0.10.0",
- "symfony/cache": "^7.0.3",
- "symfony/http-client": "^7.0.3",
- "symfony/psr-http-message-bridge": "^7.0.3",
- "symfony/translation": "^7.0.3"
+ "phpstan/phpstan": "^2.1.41",
+ "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",
+ "predis/predis": "^2.3|^3.0",
+ "resend/resend-php": "^0.10.0|^1.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).",
@@ -1875,7 +1880,7 @@
"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|^6.0).",
- "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
+ "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
@@ -1886,22 +1891,22 @@
"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.3.6|^12.0.1).",
- "predis/predis": "Required to use the predis connector (^2.3).",
+ "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|^3.0).",
"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).",
- "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^7.0).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).",
- "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).",
- "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).",
- "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).",
- "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)."
+ "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.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": "11.x-dev"
+ "dev-master": "12.x-dev"
}
},
"autoload": {
@@ -1912,6 +1917,7 @@
"src/Illuminate/Filesystem/functions.php",
"src/Illuminate/Foundation/helpers.php",
"src/Illuminate/Log/functions.php",
+ "src/Illuminate/Reflection/helpers.php",
"src/Illuminate/Support/functions.php",
"src/Illuminate/Support/helpers.php"
],
@@ -1920,7 +1926,8 @@
"Illuminate\\Support\\": [
"src/Illuminate/Macroable/",
"src/Illuminate/Collections/",
- "src/Illuminate/Conditionable/"
+ "src/Illuminate/Conditionable/",
+ "src/Illuminate/Reflection/"
]
}
},
@@ -1944,36 +1951,36 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2025-09-08T21:54:34+00:00"
+ "time": "2026-03-18T14:28:59+00:00"
},
{
"name": "laravel/prompts",
- "version": "v0.3.7",
+ "version": "v0.3.15",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc"
+ "reference": "4bb8107ec97651fd3f17f897d6489dbc4d8fb999"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/a1891d362714bc40c8d23b0b1d7090f022ea27cc",
- "reference": "a1891d362714bc40c8d23b0b1d7090f022ea27cc",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/4bb8107ec97651fd3f17f897d6489dbc4d8fb999",
+ "reference": "4bb8107ec97651fd3f17f897d6489dbc4d8fb999",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"ext-mbstring": "*",
"php": "^8.1",
- "symfony/console": "^6.2|^7.0"
+ "symfony/console": "^6.2|^7.0|^8.0"
},
"conflict": {
"illuminate/console": ">=10.17.0 <10.25.0",
"laravel/framework": ">=10.17.0 <10.25.0"
},
"require-dev": {
- "illuminate/collections": "^10.0|^11.0|^12.0",
+ "illuminate/collections": "^10.0|^11.0|^12.0|^13.0",
"mockery/mockery": "^1.5",
- "pestphp/pest": "^2.3|^3.4",
+ "pestphp/pest": "^2.3|^3.4|^4.0",
"phpstan/phpstan": "^1.12.28",
"phpstan/phpstan-mockery": "^1.1.3"
},
@@ -2001,33 +2008,33 @@
"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.3.7"
+ "source": "https://github.com/laravel/prompts/tree/v0.3.15"
},
- "time": "2025-09-19T13:47:56+00:00"
+ "time": "2026-03-17T13:45:17+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v2.0.5",
+ "version": "v2.0.10",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "3832547db6e0e2f8bb03d4093857b378c66eceed"
+ "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3832547db6e0e2f8bb03d4093857b378c66eceed",
- "reference": "3832547db6e0e2f8bb03d4093857b378c66eceed",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/870fc81d2f879903dfc5b60bf8a0f94a1609e669",
+ "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669",
"shasum": ""
},
"require": {
"php": "^8.1"
},
"require-dev": {
- "illuminate/support": "^10.0|^11.0|^12.0",
+ "illuminate/support": "^10.0|^11.0|^12.0|^13.0",
"nesbot/carbon": "^2.67|^3.0",
- "pestphp/pest": "^2.36|^3.0",
+ "pestphp/pest": "^2.36|^3.0|^4.0",
"phpstan/phpstan": "^2.0",
- "symfony/var-dumper": "^6.2.0|^7.0.0"
+ "symfony/var-dumper": "^6.2.0|^7.0.0|^8.0.0"
},
"type": "library",
"extra": {
@@ -2064,20 +2071,20 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2025-09-22T17:29:40+00:00"
+ "time": "2026-02-20T19:59:49+00:00"
},
{
"name": "league/commonmark",
- "version": "2.7.1",
+ "version": "2.8.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "10732241927d3971d28e7ea7b5712721fa2296ca"
+ "reference": "59fb075d2101740c337c7216e3f32b36c204218b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca",
- "reference": "10732241927d3971d28e7ea7b5712721fa2296ca",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b",
+ "reference": "59fb075d2101740c337c7216e3f32b36c204218b",
"shasum": ""
},
"require": {
@@ -2102,9 +2109,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/process": "^5.4 | ^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 || ^8.0",
+ "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0 || ^8.0",
"unleashedtech/php-coding-standard": "^3.1.1",
"vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0"
},
@@ -2114,7 +2121,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.8-dev"
+ "dev-main": "2.9-dev"
}
},
"autoload": {
@@ -2171,7 +2178,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-20T12:47:49+00:00"
+ "time": "2026-03-19T13:16:38+00:00"
},
{
"name": "league/config",
@@ -2257,16 +2264,16 @@
},
{
"name": "league/flysystem",
- "version": "3.30.0",
+ "version": "3.32.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "2203e3151755d874bb2943649dae1eb8533ac93e"
+ "reference": "254b1595b16b22dbddaaef9ed6ca9fdac4956725"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e",
- "reference": "2203e3151755d874bb2943649dae1eb8533ac93e",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/254b1595b16b22dbddaaef9ed6ca9fdac4956725",
+ "reference": "254b1595b16b22dbddaaef9ed6ca9fdac4956725",
"shasum": ""
},
"require": {
@@ -2334,22 +2341,22 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.30.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.32.0"
},
- "time": "2025-06-25T13:29:59+00:00"
+ "time": "2026-02-25T17:01:41+00:00"
},
{
"name": "league/flysystem-local",
- "version": "3.30.0",
+ "version": "3.31.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-local.git",
- "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10"
+ "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10",
- "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079",
+ "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079",
"shasum": ""
},
"require": {
@@ -2383,9 +2390,9 @@
"local"
],
"support": {
- "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0"
+ "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0"
},
- "time": "2025-05-21T10:34:19+00:00"
+ "time": "2026-01-23T15:30:45+00:00"
},
{
"name": "league/mime-type-detection",
@@ -2445,33 +2452,38 @@
},
{
"name": "league/uri",
- "version": "7.5.1",
+ "version": "7.8.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430"
+ "reference": "08cf38e3924d4f56238125547b5720496fac8fd4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4",
+ "reference": "08cf38e3924d4f56238125547b5720496fac8fd4",
"shasum": ""
},
"require": {
- "league/uri-interfaces": "^7.5",
- "php": "^8.1"
+ "league/uri-interfaces": "^7.8.1",
+ "php": "^8.1",
+ "psr/http-factory": "^1"
},
"conflict": {
"league/uri-schemes": "^1.0"
},
"suggest": {
"ext-bcmath": "to improve IPV4 host parsing",
+ "ext-dom": "to convert the URI into an HTML anchor tag",
"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",
+ "ext-uri": "to use the PHP native URI class",
+ "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain",
+ "league/uri-components": "to provide additional tools to manipulate URI objects components",
+ "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -2499,6 +2511,7 @@
"description": "URI manipulation library",
"homepage": "https://uri.thephpleague.com",
"keywords": [
+ "URN",
"data-uri",
"file-uri",
"ftp",
@@ -2511,9 +2524,11 @@
"psr-7",
"query-string",
"querystring",
+ "rfc2141",
"rfc3986",
"rfc3987",
"rfc6570",
+ "rfc8141",
"uri",
"uri-template",
"url",
@@ -2523,7 +2538,7 @@
"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"
+ "source": "https://github.com/thephpleague/uri/tree/7.8.1"
},
"funding": [
{
@@ -2531,26 +2546,25 @@
"type": "github"
}
],
- "time": "2024-12-08T08:40:02+00:00"
+ "time": "2026-03-15T20:22:25+00:00"
},
{
"name": "league/uri-interfaces",
- "version": "7.5.0",
+ "version": "7.8.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
+ "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928",
+ "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928",
"shasum": ""
},
"require": {
"ext-filter": "*",
"php": "^8.1",
- "psr/http-factory": "^1",
"psr/http-message": "^1.1 || ^2.0"
},
"suggest": {
@@ -2558,6 +2572,7 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -2582,7 +2597,7 @@
"homepage": "https://nyamsprod.com"
}
],
- "description": "Common interfaces and classes for URI representation and interaction",
+ "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI",
"homepage": "https://uri.thephpleague.com",
"keywords": [
"data-uri",
@@ -2607,7 +2622,7 @@
"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"
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1"
},
"funding": [
{
@@ -2615,20 +2630,20 @@
"type": "github"
}
],
- "time": "2024-12-08T08:18:47+00:00"
+ "time": "2026-03-08T20:05:35+00:00"
},
{
"name": "monolog/monolog",
- "version": "3.9.0",
+ "version": "3.10.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6"
+ "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6",
- "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0",
+ "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0",
"shasum": ""
},
"require": {
@@ -2646,7 +2661,7 @@
"graylog2/gelf-php": "^1.4.2 || ^2.0",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
- "mongodb/mongodb": "^1.8",
+ "mongodb/mongodb": "^1.8 || ^2.0",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"php-console/php-console": "^3.1.8",
"phpstan/phpstan": "^2",
@@ -2706,7 +2721,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.9.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.10.0"
},
"funding": [
{
@@ -2718,20 +2733,20 @@
"type": "tidelift"
}
],
- "time": "2025-03-24T10:02:05+00:00"
+ "time": "2026-01-02T08:56:05+00:00"
},
{
"name": "nesbot/carbon",
- "version": "3.10.3",
+ "version": "3.11.3",
"source": {
"type": "git",
"url": "https://github.com/CarbonPHP/carbon.git",
- "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f"
+ "reference": "6a7e652845bb018c668220c2a545aded8594fbbf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f",
- "reference": "8e3643dcd149ae0fe1d2ff4f2c8e4bbfad7c165f",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/6a7e652845bb018c668220c2a545aded8594fbbf",
+ "reference": "6a7e652845bb018c668220c2a545aded8594fbbf",
"shasum": ""
},
"require": {
@@ -2739,9 +2754,9 @@
"ext-json": "*",
"php": "^8.1",
"psr/clock": "^1.0",
- "symfony/clock": "^6.3.12 || ^7.0",
+ "symfony/clock": "^6.3.12 || ^7.0 || ^8.0",
"symfony/polyfill-mbstring": "^1.0",
- "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0"
+ "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0 || ^8.0"
},
"provide": {
"psr/clock-implementation": "1.0"
@@ -2755,7 +2770,7 @@
"phpstan/extension-installer": "^1.4.3",
"phpstan/phpstan": "^2.1.22",
"phpunit/phpunit": "^10.5.53",
- "squizlabs/php_codesniffer": "^3.13.4"
+ "squizlabs/php_codesniffer": "^3.13.4 || ^4.0.0"
},
"bin": [
"bin/carbon"
@@ -2798,14 +2813,14 @@
}
],
"description": "An API extension for DateTime that supports 281 different languages.",
- "homepage": "https://carbon.nesbot.com",
+ "homepage": "https://carbonphp.github.io/carbon/",
"keywords": [
"date",
"datetime",
"time"
],
"support": {
- "docs": "https://carbon.nesbot.com/docs",
+ "docs": "https://carbonphp.github.io/carbon/guide/getting-started/introduction.html",
"issues": "https://github.com/CarbonPHP/carbon/issues",
"source": "https://github.com/CarbonPHP/carbon"
},
@@ -2823,20 +2838,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-06T13:39:36+00:00"
+ "time": "2026-03-11T17:23:39+00:00"
},
{
"name": "nette/php-generator",
- "version": "v4.2.0",
+ "version": "v4.2.2",
"source": {
"type": "git",
"url": "https://github.com/nette/php-generator.git",
- "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac"
+ "reference": "0d7060926f5c3e8c488b9b9ced42d857f12a34b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/php-generator/zipball/4707546a1f11badd72f5d82af4f8a6bc64bd56ac",
- "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac",
+ "url": "https://api.github.com/repos/nette/php-generator/zipball/0d7060926f5c3e8c488b9b9ced42d857f12a34b5",
+ "reference": "0d7060926f5c3e8c488b9b9ced42d857f12a34b5",
"shasum": ""
},
"require": {
@@ -2845,9 +2860,11 @@
},
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.2",
- "nette/tester": "^2.4",
+ "nette/phpstan-rules": "^1.0",
+ "nette/tester": "^2.6",
"nikic/php-parser": "^5.0",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "phpstan/extension-installer": "^1.4@stable",
+ "phpstan/phpstan": "^2.1.40@stable",
"tracy/tracy": "^2.8"
},
"suggest": {
@@ -2893,31 +2910,33 @@
],
"support": {
"issues": "https://github.com/nette/php-generator/issues",
- "source": "https://github.com/nette/php-generator/tree/v4.2.0"
+ "source": "https://github.com/nette/php-generator/tree/v4.2.2"
},
- "time": "2025-08-06T18:24:31+00:00"
+ "time": "2026-02-26T00:58:33+00:00"
},
{
"name": "nette/schema",
- "version": "v1.3.2",
+ "version": "v1.3.5",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d"
+ "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d",
+ "url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002",
+ "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002",
"shasum": ""
},
"require": {
"nette/utils": "^4.0",
- "php": "8.1 - 8.4"
+ "php": "8.1 - 8.5"
},
"require-dev": {
- "nette/tester": "^2.5.2",
- "phpstan/phpstan-nette": "^1.0",
+ "nette/phpstan-rules": "^1.0",
+ "nette/tester": "^2.6",
+ "phpstan/extension-installer": "^1.4@stable",
+ "phpstan/phpstan": "^2.1.39@stable",
"tracy/tracy": "^2.8"
},
"type": "library",
@@ -2927,6 +2946,9 @@
}
},
"autoload": {
+ "psr-4": {
+ "Nette\\": "src"
+ },
"classmap": [
"src/"
]
@@ -2955,26 +2977,26 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.2"
+ "source": "https://github.com/nette/schema/tree/v1.3.5"
},
- "time": "2024-10-06T23:10:23+00:00"
+ "time": "2026-02-23T03:47:12+00:00"
},
{
"name": "nette/utils",
- "version": "v4.0.8",
+ "version": "v4.1.3",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede"
+ "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede",
+ "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe",
+ "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe",
"shasum": ""
},
"require": {
- "php": "8.0 - 8.5"
+ "php": "8.2 - 8.5"
},
"conflict": {
"nette/finder": "<3",
@@ -2982,8 +3004,10 @@
},
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.2",
+ "nette/phpstan-rules": "^1.0",
"nette/tester": "^2.5",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "phpstan/extension-installer": "^1.4@stable",
+ "phpstan/phpstan": "^2.1@stable",
"tracy/tracy": "^2.9"
},
"suggest": {
@@ -2997,7 +3021,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -3044,37 +3068,37 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.0.8"
+ "source": "https://github.com/nette/utils/tree/v4.1.3"
},
- "time": "2025-08-06T21:43:34+00:00"
+ "time": "2026-02-13T03:05:33+00:00"
},
{
"name": "nunomaduro/termwind",
- "version": "v2.3.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/termwind.git",
- "reference": "dfa08f390e509967a15c22493dc0bac5733d9123"
+ "reference": "712a31b768f5daea284c2169a7d227031001b9a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dfa08f390e509967a15c22493dc0bac5733d9123",
- "reference": "dfa08f390e509967a15c22493dc0bac5733d9123",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/712a31b768f5daea284c2169a7d227031001b9a8",
+ "reference": "712a31b768f5daea284c2169a7d227031001b9a8",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^8.2",
- "symfony/console": "^7.2.6"
+ "symfony/console": "^7.4.4 || ^8.0.4"
},
"require-dev": {
- "illuminate/console": "^11.44.7",
- "laravel/pint": "^1.22.0",
+ "illuminate/console": "^11.47.0",
+ "laravel/pint": "^1.27.1",
"mockery/mockery": "^1.6.12",
- "pestphp/pest": "^2.36.0 || ^3.8.2",
- "phpstan/phpstan": "^1.12.25",
+ "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.3.2",
+ "phpstan/phpstan": "^1.12.32",
"phpstan/phpstan-strict-rules": "^1.6.2",
- "symfony/var-dumper": "^7.2.6",
+ "symfony/var-dumper": "^7.3.5 || ^8.0.4",
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
@@ -3106,7 +3130,7 @@
"email": "enunomaduro@gmail.com"
}
],
- "description": "Its like Tailwind CSS, but for the console.",
+ "description": "It's like Tailwind CSS, but for the console.",
"keywords": [
"cli",
"console",
@@ -3117,7 +3141,7 @@
],
"support": {
"issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v2.3.1"
+ "source": "https://github.com/nunomaduro/termwind/tree/v2.4.0"
},
"funding": [
{
@@ -3133,20 +3157,20 @@
"type": "github"
}
],
- "time": "2025-05-08T08:14:37+00:00"
+ "time": "2026-02-16T23:10:27+00:00"
},
{
"name": "phpoption/phpoption",
- "version": "1.9.4",
+ "version": "1.9.5",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d"
+ "reference": "75365b91986c2405cf5e1e012c5595cd487a98be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
- "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be",
+ "reference": "75365b91986c2405cf5e1e012c5595cd487a98be",
"shasum": ""
},
"require": {
@@ -3196,7 +3220,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.4"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.5"
},
"funding": [
{
@@ -3208,7 +3232,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-21T11:53:16+00:00"
+ "time": "2025-12-27T19:41:33+00:00"
},
{
"name": "psr/cache",
@@ -3793,20 +3817,20 @@
},
{
"name": "ramsey/uuid",
- "version": "4.9.1",
+ "version": "4.9.2",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440"
+ "reference": "8429c78ca35a09f27565311b98101e2826affde0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440",
- "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0",
+ "reference": "8429c78ca35a09f27565311b98101e2826affde0",
"shasum": ""
},
"require": {
- "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
+ "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
"php": "^8.0",
"ramsey/collection": "^1.2 || ^2.0"
},
@@ -3865,9 +3889,9 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.9.1"
+ "source": "https://github.com/ramsey/uuid/tree/4.9.2"
},
- "time": "2025-09-04T20:59:21+00:00"
+ "time": "2025-12-14T04:43:48+00:00"
},
{
"name": "spiral/attributes",
@@ -3953,22 +3977,22 @@
},
{
"name": "spiral/core",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/core.git",
- "reference": "e6b06d6c1e88139fd66463ce842ccdc5c204fc16"
+ "reference": "fc9b81afd87a61ae9e523d86d1bff277a3e81b95"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/core/zipball/e6b06d6c1e88139fd66463ce842ccdc5c204fc16",
- "reference": "e6b06d6c1e88139fd66463ce842ccdc5c204fc16",
+ "url": "https://api.github.com/repos/spiral/core/zipball/fc9b81afd87a61ae9e523d86d1bff277a3e81b95",
+ "reference": "fc9b81afd87a61ae9e523d86d1bff277a3e81b95",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/container": "^1.1|^2.0",
- "spiral/security": "^3.15.8"
+ "spiral/security": "^3.16.1"
},
"provide": {
"psr/container-implementation": "^1.1|^2.0"
@@ -3981,7 +4005,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4000,11 +4024,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4023,20 +4047,20 @@
"type": "github"
}
],
- "time": "2025-04-22T14:03:55+00:00"
+ "time": "2026-02-23T11:41:23+00:00"
},
{
"name": "spiral/files",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/files.git",
- "reference": "c90015021b9388d06f1f32c572651353b912e104"
+ "reference": "cf1eb3f5e302598a71b287c2534aa1b60e188149"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/files/zipball/c90015021b9388d06f1f32c572651353b912e104",
- "reference": "c90015021b9388d06f1f32c572651353b912e104",
+ "url": "https://api.github.com/repos/spiral/files/zipball/cf1eb3f5e302598a71b287c2534aa1b60e188149",
+ "reference": "cf1eb3f5e302598a71b287c2534aa1b60e188149",
"shasum": ""
},
"require": {
@@ -4050,7 +4074,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4069,11 +4093,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4092,37 +4116,37 @@
"type": "github"
}
],
- "time": "2025-03-31T15:34:02+00:00"
+ "time": "2026-01-19T11:05:57+00:00"
},
{
"name": "spiral/hmvc",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/hmvc.git",
- "reference": "533b441af0fa4bcf8fda2c763207b4bf52e34e40"
+ "reference": "63c6b9c5ac84c30926fdc4488a8c44f6f5d5664d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/hmvc/zipball/533b441af0fa4bcf8fda2c763207b4bf52e34e40",
- "reference": "533b441af0fa4bcf8fda2c763207b4bf52e34e40",
+ "url": "https://api.github.com/repos/spiral/hmvc/zipball/63c6b9c5ac84c30926fdc4488a8c44f6f5d5664d",
+ "reference": "63c6b9c5ac84c30926fdc4488a8c44f6f5d5664d",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/event-dispatcher": "^1.0",
- "spiral/core": "^3.15.8",
- "spiral/interceptors": "^3.15.8"
+ "spiral/core": "^3.16.1",
+ "spiral/interceptors": "^3.16.1"
},
"require-dev": {
"phpunit/phpunit": "^10.5.41",
- "spiral/testing": "^2.8.3",
+ "spiral/testing": "^2.12",
"vimeo/psalm": "^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4141,11 +4165,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4166,36 +4190,36 @@
"type": "github"
}
],
- "time": "2025-04-22T14:03:19+00:00"
+ "time": "2026-02-23T11:41:35+00:00"
},
{
"name": "spiral/interceptors",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/interceptors.git",
- "reference": "511da02bb400c64dde27bb87b63df6d7007bceef"
+ "reference": "306ab72c945acc03ef67398155de95ee3adbe617"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/interceptors/zipball/511da02bb400c64dde27bb87b63df6d7007bceef",
- "reference": "511da02bb400c64dde27bb87b63df6d7007bceef",
+ "url": "https://api.github.com/repos/spiral/interceptors/zipball/306ab72c945acc03ef67398155de95ee3adbe617",
+ "reference": "306ab72c945acc03ef67398155de95ee3adbe617",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/event-dispatcher": "^1.0",
- "spiral/core": "^3.15.8"
+ "spiral/core": "^3.16.1"
},
"require-dev": {
"phpunit/phpunit": "^10.5.41",
- "spiral/testing": "^2.8.3",
+ "spiral/testing": "^2.12",
"vimeo/psalm": "^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4214,11 +4238,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4244,26 +4268,26 @@
"type": "github"
}
],
- "time": "2025-04-22T14:03:19+00:00"
+ "time": "2026-02-23T11:45:15+00:00"
},
{
"name": "spiral/logger",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/logger.git",
- "reference": "35553e8badee07dbb8290a7b73aa416c78e4c390"
+ "reference": "133f5069311114809984f3d53634c4e6246ae650"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/logger/zipball/35553e8badee07dbb8290a7b73aa416c78e4c390",
- "reference": "35553e8badee07dbb8290a7b73aa416c78e4c390",
+ "url": "https://api.github.com/repos/spiral/logger/zipball/133f5069311114809984f3d53634c4e6246ae650",
+ "reference": "133f5069311114809984f3d53634c4e6246ae650",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/log": "1 - 3",
- "spiral/core": "^3.15.8"
+ "spiral/core": "^3.16.1"
},
"require-dev": {
"mockery/mockery": "^1.6.12",
@@ -4273,7 +4297,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4292,11 +4316,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4315,20 +4339,20 @@
"type": "github"
}
],
- "time": "2025-04-22T14:03:39+00:00"
+ "time": "2026-02-23T11:45:15+00:00"
},
{
"name": "spiral/pagination",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/pagination.git",
- "reference": "6df28c30f34e601ad5df2cf7430455940e624bb2"
+ "reference": "3da266cf0b4cefbe516786d5236caf73d53b8e75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/pagination/zipball/6df28c30f34e601ad5df2cf7430455940e624bb2",
- "reference": "6df28c30f34e601ad5df2cf7430455940e624bb2",
+ "url": "https://api.github.com/repos/spiral/pagination/zipball/3da266cf0b4cefbe516786d5236caf73d53b8e75",
+ "reference": "3da266cf0b4cefbe516786d5236caf73d53b8e75",
"shasum": ""
},
"require": {
@@ -4342,7 +4366,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4361,11 +4385,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4384,27 +4408,27 @@
"type": "github"
}
],
- "time": "2025-03-31T15:31:09+00:00"
+ "time": "2026-01-19T11:10:29+00:00"
},
{
"name": "spiral/reactor",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/reactor.git",
- "reference": "1680b9736c12ccbeb627d9f92ecf328b0870f79d"
+ "reference": "9a2d26bdf958c8fd7f38eac292311a43afb19e74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/reactor/zipball/1680b9736c12ccbeb627d9f92ecf328b0870f79d",
- "reference": "1680b9736c12ccbeb627d9f92ecf328b0870f79d",
+ "url": "https://api.github.com/repos/spiral/reactor/zipball/9a2d26bdf958c8fd7f38eac292311a43afb19e74",
+ "reference": "9a2d26bdf958c8fd7f38eac292311a43afb19e74",
"shasum": ""
},
"require": {
"doctrine/inflector": "^1.4|^2.0",
"nette/php-generator": "^4.1.7",
"php": ">=8.1",
- "spiral/files": "^3.15.8"
+ "spiral/files": "^3.16.1"
},
"require-dev": {
"mockery/mockery": "^1.6.12",
@@ -4415,7 +4439,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4434,11 +4458,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4457,37 +4481,37 @@
"type": "github"
}
],
- "time": "2025-04-22T14:03:17+00:00"
+ "time": "2026-02-23T11:46:30+00:00"
},
{
"name": "spiral/security",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/security.git",
- "reference": "a7a7a83cb474f70c02ffd00899f9f87b1d5c1d0e"
+ "reference": "15c7aa202fd91f7b93218350ebcf5107724a8656"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/security/zipball/a7a7a83cb474f70c02ffd00899f9f87b1d5c1d0e",
- "reference": "a7a7a83cb474f70c02ffd00899f9f87b1d5c1d0e",
+ "url": "https://api.github.com/repos/spiral/security/zipball/15c7aa202fd91f7b93218350ebcf5107724a8656",
+ "reference": "15c7aa202fd91f7b93218350ebcf5107724a8656",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "spiral/core": "^3.15.8",
- "spiral/hmvc": "^3.15.8"
+ "spiral/core": "^3.16.1",
+ "spiral/hmvc": "^3.16.1"
},
"require-dev": {
"mockery/mockery": "^1.6.12",
"phpunit/phpunit": "^10.5.41",
- "spiral/console": "^3.15.8",
+ "spiral/console": "^3.16.1",
"vimeo/psalm": "^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4506,11 +4530,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4529,41 +4553,41 @@
"type": "github"
}
],
- "time": "2025-04-22T14:03:55+00:00"
+ "time": "2026-02-23T11:41:32+00:00"
},
{
"name": "spiral/tokenizer",
- "version": "3.15.8",
+ "version": "3.16.1",
"source": {
"type": "git",
"url": "https://github.com/spiral/tokenizer.git",
- "reference": "0e1141ec8e92a55199a2e705f122b91c5964c42f"
+ "reference": "59cda1f8fdac4a618b76d7e0ee01199bdbef72fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spiral/tokenizer/zipball/0e1141ec8e92a55199a2e705f122b91c5964c42f",
- "reference": "0e1141ec8e92a55199a2e705f122b91c5964c42f",
+ "url": "https://api.github.com/repos/spiral/tokenizer/zipball/59cda1f8fdac4a618b76d7e0ee01199bdbef72fb",
+ "reference": "59cda1f8fdac4a618b76d7e0ee01199bdbef72fb",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=8.1",
- "spiral/core": "^3.15.8",
- "spiral/logger": "^3.15.8",
- "symfony/finder": "^5.4.45 || ^6.4.17 || ^7.2"
+ "spiral/core": "^3.16.1",
+ "spiral/logger": "^3.16.1",
+ "symfony/finder": "^6.4.30 || ^7.4 || ^8.0"
},
"require-dev": {
"mockery/mockery": "^1.6.12",
"phpunit/phpunit": "^10.5.41",
"spiral/attributes": "^2.8|^3.0",
- "spiral/boot": "^3.15.8",
- "spiral/files": "^3.15.8",
+ "spiral/boot": "^3.16.1",
+ "spiral/files": "^3.16.1",
"vimeo/psalm": "^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.15.x-dev"
+ "dev-master": "3.17.x-dev"
}
},
"autoload": {
@@ -4582,11 +4606,11 @@
},
{
"name": "Pavel Butchnev (butschster)",
- "email": "pavel.buchnev@spiralscout.com"
+ "homepage": "https://github.com/butschster"
},
{
"name": "Aleksei Gagarin (roxblnfk)",
- "email": "alexey.gagarin@spiralscout.com"
+ "homepage": "https://github.com/roxblnfk"
},
{
"name": "Maksim Smakouz (msmakouz)",
@@ -4605,26 +4629,25 @@
"type": "github"
}
],
- "time": "2025-04-22T14:05:18+00:00"
+ "time": "2026-02-23T11:45:59+00:00"
},
{
"name": "symfony/clock",
- "version": "v7.3.0",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24"
+ "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
- "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/832119f9b8dbc6c8e6f65f30c5969eca1e88764f",
+ "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "psr/clock": "^1.0",
- "symfony/polyfill-php83": "^1.28"
+ "php": ">=8.4",
+ "psr/clock": "^1.0"
},
"provide": {
"psr/clock-implementation": "1.0"
@@ -4663,7 +4686,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.3.0"
+ "source": "https://github.com/symfony/clock/tree/v8.0.0"
},
"funding": [
{
@@ -4674,25 +4697,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2025-11-12T15:46:48+00:00"
},
{
"name": "symfony/console",
- "version": "v7.3.4",
+ "version": "v7.4.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db"
+ "reference": "e1e6770440fb9c9b0cf725f81d1361ad1835329d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db",
- "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db",
+ "url": "https://api.github.com/repos/symfony/console/zipball/e1e6770440fb9c9b0cf725f81d1361ad1835329d",
+ "reference": "e1e6770440fb9c9b0cf725f81d1361ad1835329d",
"shasum": ""
},
"require": {
@@ -4700,7 +4727,7 @@
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^7.2"
+ "symfony/string": "^7.2|^8.0"
},
"conflict": {
"symfony/dependency-injection": "<6.4",
@@ -4714,16 +4741,16 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "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": "^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"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4757,7 +4784,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.3.4"
+ "source": "https://github.com/symfony/console/tree/v7.4.7"
},
"funding": [
{
@@ -4777,24 +4804,24 @@
"type": "tidelift"
}
],
- "time": "2025-09-22T15:31:00+00:00"
+ "time": "2026-03-06T14:06:20+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v7.3.0",
+ "version": "v8.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2"
+ "reference": "2a178bf80f05dbbe469a337730eba79d61315262"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2",
- "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/2a178bf80f05dbbe469a337730eba79d61315262",
+ "reference": "2a178bf80f05dbbe469a337730eba79d61315262",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=8.4"
},
"type": "library",
"autoload": {
@@ -4826,7 +4853,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.3.0"
+ "source": "https://github.com/symfony/css-selector/tree/v8.0.6"
},
"funding": [
{
@@ -4837,12 +4864,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2026-02-17T13:07:04+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4913,32 +4944,33 @@
},
{
"name": "symfony/error-handler",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4"
+ "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/99f81bc944ab8e5dae4f21b4ca9972698bbad0e4",
- "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8",
+ "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/polyfill-php85": "^1.32",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"conflict": {
"symfony/deprecation-contracts": "<2.5",
"symfony/http-kernel": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
"symfony/webpack-encore-bundle": "^1.0|^2.0"
},
"bin": [
@@ -4970,7 +5002,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/v7.3.4"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.4"
},
"funding": [
{
@@ -4990,28 +5022,28 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-20T16:42:42+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.3.3",
+ "version": "v8.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191"
+ "reference": "99301401da182b6cfaa4700dbe9987bb75474b47"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47",
+ "reference": "99301401da182b6cfaa4700dbe9987bb75474b47",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=8.4",
"symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<6.4",
+ "symfony/security-http": "<7.4",
"symfony/service-contracts": "<2.5"
},
"provide": {
@@ -5020,13 +5052,14 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/config": "^7.4|^8.0",
+ "symfony/dependency-injection": "^7.4|^8.0",
+ "symfony/error-handler": "^7.4|^8.0",
+ "symfony/expression-language": "^7.4|^8.0",
+ "symfony/framework-bundle": "^7.4|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/stopwatch": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -5054,7 +5087,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.4"
},
"funding": [
{
@@ -5074,7 +5107,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2026-01-05T11:45:55+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -5154,23 +5187,23 @@
},
{
"name": "symfony/finder",
- "version": "v7.3.2",
+ "version": "v7.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe"
+ "reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe",
- "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/8655bf1076b7a3a346cb11413ffdabff50c7ffcf",
+ "reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5198,7 +5231,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.3.2"
+ "source": "https://github.com/symfony/finder/tree/v7.4.6"
},
"funding": [
{
@@ -5218,27 +5251,26 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T13:41:35+00:00"
+ "time": "2026-01-29T09:40:50+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.3.4",
+ "version": "v7.4.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6"
+ "reference": "f94b3e7b7dafd40e666f0c9ff2084133bae41e81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6",
- "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f94b3e7b7dafd40e666f0c9ff2084133bae41e81",
+ "reference": "f94b3e7b7dafd40e666f0c9ff2084133bae41e81",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php83": "^1.27"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "^1.1"
},
"conflict": {
"doctrine/dbal": "<3.6",
@@ -5247,13 +5279,13 @@
"require-dev": {
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4.12|^7.1.5",
- "symfony/clock": "^6.4|^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"
+ "symfony/cache": "^6.4.12|^7.1.5|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5281,7 +5313,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.3.4"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.7"
},
"funding": [
{
@@ -5301,29 +5333,29 @@
"type": "tidelift"
}
],
- "time": "2025-09-16T08:38:17+00:00"
+ "time": "2026-03-06T13:15:18+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.3.4",
+ "version": "v7.4.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "b796dffea7821f035047235e076b60ca2446e3cf"
+ "reference": "3b3fcf386c809be990c922e10e4c620d6367cab1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b796dffea7821f035047235e076b60ca2446e3cf",
- "reference": "b796dffea7821f035047235e076b60ca2446e3cf",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3b3fcf386c809be990c922e10e4c620d6367cab1",
+ "reference": "3b3fcf386c809be990c922e10e4c620d6367cab1",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^7.3",
- "symfony/http-foundation": "^7.3",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^7.3|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
@@ -5333,6 +5365,7 @@
"symfony/console": "<6.4",
"symfony/dependency-injection": "<6.4",
"symfony/doctrine-bridge": "<6.4",
+ "symfony/flex": "<2.10",
"symfony/form": "<6.4",
"symfony/http-client": "<6.4",
"symfony/http-client-contracts": "<2.5",
@@ -5350,27 +5383,27 @@
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.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": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4.1|^7.0.1|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3",
- "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/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^7.1|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^7.1|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0",
"twig/twig": "^3.12"
},
"type": "library",
@@ -5399,7 +5432,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/v7.3.4"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.7"
},
"funding": [
{
@@ -5419,20 +5452,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-27T12:32:17+00:00"
+ "time": "2026-03-06T16:33:18+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.3.4",
+ "version": "v7.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "ab97ef2f7acf0216955f5845484235113047a31d"
+ "reference": "b02726f39a20bc65e30364f5c750c4ddbf1f58e9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/ab97ef2f7acf0216955f5845484235113047a31d",
- "reference": "ab97ef2f7acf0216955f5845484235113047a31d",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/b02726f39a20bc65e30364f5c750c4ddbf1f58e9",
+ "reference": "b02726f39a20bc65e30364f5c750c4ddbf1f58e9",
"shasum": ""
},
"require": {
@@ -5440,8 +5473,8 @@
"php": ">=8.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/mime": "^7.2",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^7.2|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -5452,10 +5485,10 @@
"symfony/twig-bridge": "<6.4"
},
"require-dev": {
- "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"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5483,7 +5516,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.3.4"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.6"
},
"funding": [
{
@@ -5503,43 +5536,44 @@
"type": "tidelift"
}
],
- "time": "2025-09-17T05:51:54+00:00"
+ "time": "2026-02-25T16:50:00+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.3.4",
+ "version": "v7.4.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35"
+ "reference": "da5ab4fde3f6c88ab06e96185b9922f48b677cd1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/b1b828f69cbaf887fa835a091869e55df91d0e35",
- "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/da5ab4fde3f6c88ab06e96185b9922f48b677cd1",
+ "reference": "da5ab4fde3f6c88ab06e96185b9922f48b677cd1",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=7",
+ "phpdocumentor/type-resolver": "<1.5.1",
"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": "^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"
+ "phpdocumentor/reflection-docblock": "^5.2|^6.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.3|^7.0.3|^8.0"
},
"type": "library",
"autoload": {
@@ -5571,7 +5605,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.3.4"
+ "source": "https://github.com/symfony/mime/tree/v7.4.7"
},
"funding": [
{
@@ -5591,7 +5625,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-16T08:38:17+00:00"
+ "time": "2026-03-05T15:24:09+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -6179,6 +6213,166 @@
],
"time": "2025-07-08T02:45:35+00:00"
},
+ {
+ "name": "symfony/polyfill-php84",
+ "version": "v1.33.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php84.git",
+ "reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
+ "reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
+ "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.33.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-06-24T13:30:11+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php85",
+ "version": "v1.33.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php85.git",
+ "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "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\\Php85\\": ""
+ },
+ "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.5+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-06-23T16:12:55+00:00"
+ },
{
"name": "symfony/polyfill-uuid",
"version": "v1.33.0",
@@ -6264,16 +6458,16 @@
},
{
"name": "symfony/process",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b"
+ "reference": "608476f4604102976d687c483ac63a79ba18cc97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97",
+ "reference": "608476f4604102976d687c483ac63a79ba18cc97",
"shasum": ""
},
"require": {
@@ -6305,7 +6499,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.3.4"
+ "source": "https://github.com/symfony/process/tree/v7.4.5"
},
"funding": [
{
@@ -6325,20 +6519,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-26T15:07:59+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.3.4",
+ "version": "v7.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c"
+ "reference": "238d749c56b804b31a9bf3e26519d93b65a60938"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c",
- "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/238d749c56b804b31a9bf3e26519d93b65a60938",
+ "reference": "238d749c56b804b31a9bf3e26519d93b65a60938",
"shasum": ""
},
"require": {
@@ -6352,11 +6546,11 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "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"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6390,7 +6584,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.3.4"
+ "source": "https://github.com/symfony/routing/tree/v7.4.6"
},
"funding": [
{
@@ -6410,20 +6604,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-02-25T16:50:00+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.6.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"shasum": ""
},
"require": {
@@ -6477,7 +6671,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -6488,43 +6682,47 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-04-25T09:37:31+00:00"
+ "time": "2025-07-15T11:30:57+00:00"
},
{
"name": "symfony/string",
- "version": "v7.3.4",
+ "version": "v8.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f96476035142921000338bad71e5247fbc138872"
+ "reference": "6c9e1108041b5dce21a9a4984b531c4923aa9ec4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872",
- "reference": "f96476035142921000338bad71e5247fbc138872",
+ "url": "https://api.github.com/repos/symfony/string/zipball/6c9e1108041b5dce21a9a4984b531c4923aa9ec4",
+ "reference": "6c9e1108041b5dce21a9a4984b531c4923aa9ec4",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0"
+ "php": ">=8.4",
+ "symfony/polyfill-ctype": "^1.8",
+ "symfony/polyfill-intl-grapheme": "^1.33",
+ "symfony/polyfill-intl-normalizer": "^1.0",
+ "symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/emoji": "^7.1",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/emoji": "^7.4|^8.0",
+ "symfony/http-client": "^7.4|^8.0",
+ "symfony/intl": "^7.4|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -6563,7 +6761,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.3.4"
+ "source": "https://github.com/symfony/string/tree/v8.0.6"
},
"funding": [
{
@@ -6583,38 +6781,31 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T14:36:48+00:00"
+ "time": "2026-02-09T10:14:57+00:00"
},
{
"name": "symfony/translation",
- "version": "v7.3.4",
+ "version": "v8.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "ec25870502d0c7072d086e8ffba1420c85965174"
+ "reference": "13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174",
- "reference": "ec25870502d0c7072d086e8ffba1420c85965174",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b",
+ "reference": "13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^2.5|^3.0"
+ "php": ">=8.4",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/translation-contracts": "^3.6.1"
},
"conflict": {
"nikic/php-parser": "<5.0",
- "symfony/config": "<6.4",
- "symfony/console": "<6.4",
- "symfony/dependency-injection": "<6.4",
"symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<6.4",
- "symfony/service-contracts": "<2.5",
- "symfony/twig-bundle": "<6.4",
- "symfony/yaml": "<6.4"
+ "symfony/service-contracts": "<2.5"
},
"provide": {
"symfony/translation-implementation": "2.3|3.0"
@@ -6622,17 +6813,17 @@
"require-dev": {
"nikic/php-parser": "^5.0",
"psr/log": "^1|^2|^3",
- "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/config": "^7.4|^8.0",
+ "symfony/console": "^7.4|^8.0",
+ "symfony/dependency-injection": "^7.4|^8.0",
+ "symfony/finder": "^7.4|^8.0",
"symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/http-kernel": "^7.4|^8.0",
+ "symfony/intl": "^7.4|^8.0",
"symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^6.4|^7.0",
+ "symfony/routing": "^7.4|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/yaml": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -6663,7 +6854,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v7.3.4"
+ "source": "https://github.com/symfony/translation/tree/v8.0.6"
},
"funding": [
{
@@ -6683,20 +6874,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-07T11:39:36+00:00"
+ "time": "2026-02-17T13:07:04+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.6.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d"
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
- "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977",
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977",
"shasum": ""
},
"require": {
@@ -6745,7 +6936,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -6756,25 +6947,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-27T08:32:26+00:00"
+ "time": "2025-07-15T13:41:35+00:00"
},
{
"name": "symfony/uid",
- "version": "v7.3.1",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb"
+ "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/a69f69f3159b852651a6bf45a9fdd149520525bb",
- "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/7719ce8aba76be93dfe249192f1fbfa52c588e36",
+ "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36",
"shasum": ""
},
"require": {
@@ -6782,7 +6977,7 @@
"symfony/polyfill-uuid": "^1.15"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6819,7 +7014,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.3.1"
+ "source": "https://github.com/symfony/uid/tree/v7.4.4"
},
"funding": [
{
@@ -6830,25 +7025,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-06-27T19:55:54+00:00"
+ "time": "2026-01-03T23:30:35+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.3.4",
+ "version": "v7.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb"
+ "reference": "045321c440ac18347b136c63d2e9bf28a2dc0291"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb",
- "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/045321c440ac18347b136c63d2e9bf28a2dc0291",
+ "reference": "045321c440ac18347b136c63d2e9bf28a2dc0291",
"shasum": ""
},
"require": {
@@ -6860,10 +7059,10 @@
"symfony/console": "<6.4"
},
"require-dev": {
- "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",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
"twig/twig": "^3.12"
},
"bin": [
@@ -6902,7 +7101,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.3.4"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.6"
},
"funding": [
{
@@ -6922,27 +7121,27 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-02-15T10:53:20+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
- "version": "v2.3.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "0d72ac1c00084279c1816675284073c5a337c20d"
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d",
- "reference": "0d72ac1c00084279c1816675284073c5a337c20d",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41",
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"php": "^7.4 || ^8.0",
- "symfony/css-selector": "^5.4 || ^6.0 || ^7.0"
+ "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^2.0",
@@ -6975,32 +7174,32 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0"
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0"
},
- "time": "2024-12-21T16:25:41+00:00"
+ "time": "2025-12-02T11:56:42+00:00"
},
{
"name": "vlucas/phpdotenv",
- "version": "v5.6.2",
+ "version": "v5.6.3",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af"
+ "reference": "955e7815d677a3eaa7075231212f2110983adecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
- "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc",
+ "reference": "955e7815d677a3eaa7075231212f2110983adecc",
"shasum": ""
},
"require": {
"ext-pcre": "*",
- "graham-campbell/result-type": "^1.1.3",
+ "graham-campbell/result-type": "^1.1.4",
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3",
- "symfony/polyfill-ctype": "^1.24",
- "symfony/polyfill-mbstring": "^1.24",
- "symfony/polyfill-php80": "^1.24"
+ "phpoption/phpoption": "^1.9.5",
+ "symfony/polyfill-ctype": "^1.26",
+ "symfony/polyfill-mbstring": "^1.26",
+ "symfony/polyfill-php80": "^1.26"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
@@ -7049,7 +7248,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2"
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3"
},
"funding": [
{
@@ -7061,7 +7260,7 @@
"type": "tidelift"
}
],
- "time": "2025-04-30T23:37:27+00:00"
+ "time": "2025-12-27T19:49:13+00:00"
},
{
"name": "voku/portable-ascii",
@@ -7138,87 +7337,36 @@
"time": "2024-11-21T01:49:47+00:00"
},
{
- "name": "webmozart/assert",
- "version": "1.11.0",
+ "name": "yiisoft/friendly-exception",
+ "version": "1.2.0",
"source": {
"type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ "url": "https://github.com/yiisoft/friendly-exception.git",
+ "reference": "c6c36fd60a0b4f1514882d2ce8395f54352ec967"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "url": "https://api.github.com/repos/yiisoft/friendly-exception/zipball/c6c36fd60a0b4f1514882d2ce8395f54352ec967",
+ "reference": "c6c36fd60a0b4f1514882d2ce8395f54352ec967",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
+ "php": "7.4.* || 8.0 - 8.5"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.13"
+ "bamarni/composer-bin-plugin": "^1.8.3",
+ "maglnet/composer-require-checker": "^3.8 || ^4.3",
+ "phpunit/phpunit": "^9.6.22",
+ "spatie/phpunit-watcher": "^1.23.6"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": true,
+ "target-directory": "tools"
}
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
- },
- "time": "2022-06-03T18:03:27+00:00"
- },
- {
- "name": "yiisoft/friendly-exception",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/yiisoft/friendly-exception.git",
- "reference": "4b4a19edff251791e3c92d4d83435d2716351ff4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/yiisoft/friendly-exception/zipball/4b4a19edff251791e3c92d4d83435d2716351ff4",
- "reference": "4b4a19edff251791e3c92d4d83435d2716351ff4",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0"
},
- "require-dev": {
- "phpunit/phpunit": "^9.4",
- "roave/infection-static-analysis-plugin": "^1.5",
- "spatie/phpunit-watcher": "^1.23",
- "vimeo/psalm": "^4.3"
- },
- "type": "library",
"autoload": {
"psr-4": {
"Yiisoft\\FriendlyException\\": "src"
@@ -7229,7 +7377,7 @@
"BSD-3-Clause"
],
"description": "An interface for friendlier exception",
- "homepage": "http://www.yiiframework.com/",
+ "homepage": "https://www.yiiframework.com/",
"keywords": [
"error handling",
"exception",
@@ -7237,56 +7385,63 @@
"friendly"
],
"support": {
- "forum": "http://www.yiiframework.com/forum/",
- "irc": "irc://irc.freenode.net/yii",
+ "chat": "https://t.me/yii3en",
+ "forum": "https://www.yiiframework.com/forum/",
+ "irc": "ircs://irc.libera.chat:6697/yii",
"issues": "https://github.com/yiisoft/friendly-exception/issues?state=open",
"source": "https://github.com/yiisoft/friendly-exception",
- "wiki": "http://www.yiiframework.com/wiki/"
+ "wiki": "https://www.yiiframework.com/wiki/"
},
"funding": [
{
- "url": "https://github.com/yiisoft",
+ "url": "https://github.com/sponsors/yiisoft",
"type": "github"
},
{
"url": "https://opencollective.com/yiisoft",
- "type": "open_collective"
+ "type": "opencollective"
}
],
- "time": "2021-10-26T21:43:25+00:00"
+ "time": "2025-11-28T14:51:44+00:00"
},
{
"name": "yiisoft/injector",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/yiisoft/injector.git",
- "reference": "0dc0127a7542341bdaabda7b85204e992938b83e"
+ "reference": "d3f718256b734933670ad11143cca724d340fc90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/yiisoft/injector/zipball/0dc0127a7542341bdaabda7b85204e992938b83e",
- "reference": "0dc0127a7542341bdaabda7b85204e992938b83e",
+ "url": "https://api.github.com/repos/yiisoft/injector/zipball/d3f718256b734933670ad11143cca724d340fc90",
+ "reference": "d3f718256b734933670ad11143cca724d340fc90",
"shasum": ""
},
"require": {
- "php": "^7.4|^8.0"
+ "php": "7.4 - 8.5"
},
"require-dev": {
- "maglnet/composer-require-checker": "^3.8|^4.2",
+ "bamarni/composer-bin-plugin": "^1.8.3",
+ "maglnet/composer-require-checker": "^3.8 || ^4.2",
"phpbench/phpbench": "^1.1",
"phpunit/phpunit": "^9.5",
- "psr/container": "^1.0|^2.0",
- "rector/rector": "^0.18.12",
- "roave/infection-static-analysis-plugin": "^1.16",
+ "psr/container": "^1.0 || ^2.0",
+ "rector/rector": "^2.0.10",
"spatie/phpunit-watcher": "^1.23",
- "vimeo/psalm": "^4.30|^5.7",
- "yiisoft/test-support": "^1.2"
+ "yiisoft/test-support": "^1.4 || ^3.1"
},
"suggest": {
"psr/container": "For automatic resolving of dependencies"
},
"type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": true,
+ "target-directory": "tools"
+ }
+ },
"autoload": {
"psr-4": {
"Yiisoft\\Injector\\": "src"
@@ -7308,22 +7463,22 @@
"support": {
"chat": "https://t.me/yii3en",
"forum": "https://www.yiiframework.com/forum/",
- "irc": "irc://irc.freenode.net/yii",
+ "irc": "ircs://irc.libera.chat:6697/yii",
"issues": "https://github.com/yiisoft/injector/issues?state=open",
"source": "https://github.com/yiisoft/injector",
"wiki": "https://www.yiiframework.com/wiki/"
},
"funding": [
{
- "url": "https://github.com/yiisoft",
+ "url": "https://github.com/sponsors/yiisoft",
"type": "github"
},
{
"url": "https://opencollective.com/yiisoft",
- "type": "open_collective"
+ "type": "opencollective"
}
],
- "time": "2023-12-20T09:39:03+00:00"
+ "time": "2025-12-01T11:14:17+00:00"
}
],
"packages-dev": [
@@ -7639,16 +7794,16 @@
},
{
"name": "amphp/parallel",
- "version": "v2.3.2",
+ "version": "v2.3.3",
"source": {
"type": "git",
"url": "https://github.com/amphp/parallel.git",
- "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce"
+ "reference": "296b521137a54d3a02425b464e5aee4c93db2c60"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/parallel/zipball/321b45ae771d9c33a068186b24117e3cd1c48dce",
- "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce",
+ "url": "https://api.github.com/repos/amphp/parallel/zipball/296b521137a54d3a02425b464e5aee4c93db2c60",
+ "reference": "296b521137a54d3a02425b464e5aee4c93db2c60",
"shasum": ""
},
"require": {
@@ -7711,7 +7866,7 @@
],
"support": {
"issues": "https://github.com/amphp/parallel/issues",
- "source": "https://github.com/amphp/parallel/tree/v2.3.2"
+ "source": "https://github.com/amphp/parallel/tree/v2.3.3"
},
"funding": [
{
@@ -7719,7 +7874,7 @@
"type": "github"
}
],
- "time": "2025-08-27T21:55:40+00:00"
+ "time": "2025-11-15T06:23:42+00:00"
},
{
"name": "amphp/parser",
@@ -8137,38 +8292,39 @@
},
{
"name": "barryvdh/laravel-ide-helper",
- "version": "v3.5.5",
+ "version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-ide-helper.git",
- "reference": "8d441ec99f8612b942b55f5183151d91591b618a"
+ "reference": "ad7e37676f1ff985d55ef1b6b96a0c0a40f2609a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/8d441ec99f8612b942b55f5183151d91591b618a",
- "reference": "8d441ec99f8612b942b55f5183151d91591b618a",
+ "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/ad7e37676f1ff985d55ef1b6b96a0c0a40f2609a",
+ "reference": "ad7e37676f1ff985d55ef1b6b96a0c0a40f2609a",
"shasum": ""
},
"require": {
- "barryvdh/reflection-docblock": "^2.3",
+ "barryvdh/reflection-docblock": "^2.4",
"composer/class-map-generator": "^1.0",
"ext-json": "*",
- "illuminate/console": "^11.15 || ^12",
- "illuminate/database": "^11.15 || ^12",
- "illuminate/filesystem": "^11.15 || ^12",
- "illuminate/support": "^11.15 || ^12",
+ "illuminate/console": "^11.15 || ^12 || ^13.0",
+ "illuminate/database": "^11.15 || ^12 || ^13.0",
+ "illuminate/filesystem": "^11.15 || ^12 || ^13.0",
+ "illuminate/support": "^11.15 || ^12 || ^13.0",
"php": "^8.2"
},
"require-dev": {
"ext-pdo_sqlite": "*",
"friendsofphp/php-cs-fixer": "^3",
- "illuminate/config": "^11.15 || ^12",
- "illuminate/view": "^11.15 || ^12",
+ "illuminate/config": "^11.15 || ^12 || ^13.0",
+ "illuminate/view": "^11.15 || ^12 || ^13.0",
+ "larastan/larastan": "^3.1",
"mockery/mockery": "^1.4",
- "orchestra/testbench": "^9.2 || ^10",
- "phpunit/phpunit": "^10.5 || ^11.5.3",
+ "orchestra/testbench": "^9.2 || ^10 || ^11.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^10.5 || ^11.5.3 || ^12.5.12",
"spatie/phpunit-snapshot-assertions": "^4 || ^5",
- "vimeo/psalm": "^5.4",
"vlucas/phpdotenv": "^5"
},
"suggest": {
@@ -8182,7 +8338,7 @@
]
},
"branch-alias": {
- "dev-master": "3.5-dev"
+ "dev-master": "3.6-dev"
}
},
"autoload": {
@@ -8215,7 +8371,7 @@
],
"support": {
"issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
- "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v3.5.5"
+ "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v3.7.0"
},
"funding": [
{
@@ -8227,20 +8383,20 @@
"type": "github"
}
],
- "time": "2025-02-11T13:59:46+00:00"
+ "time": "2026-03-17T14:12:51+00:00"
},
{
"name": "barryvdh/reflection-docblock",
- "version": "v2.4.0",
+ "version": "v2.4.1",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/ReflectionDocBlock.git",
- "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201"
+ "reference": "4f5ba70c30c81f2ce03a16a9965832cfcc31ed3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/d103774cbe7e94ddee7e4870f97f727b43fe7201",
- "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201",
+ "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/4f5ba70c30c81f2ce03a16a9965832cfcc31ed3b",
+ "reference": "4f5ba70c30c81f2ce03a16a9965832cfcc31ed3b",
"shasum": ""
},
"require": {
@@ -8277,9 +8433,9 @@
}
],
"support": {
- "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.4.0"
+ "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.4.1"
},
- "time": "2025-07-17T06:07:30+00:00"
+ "time": "2026-03-05T20:09:01+00:00"
},
{
"name": "beberlei/assert",
@@ -8350,16 +8506,16 @@
},
{
"name": "brianium/paratest",
- "version": "v7.4.8",
+ "version": "v7.19.2",
"source": {
"type": "git",
"url": "https://github.com/paratestphp/paratest.git",
- "reference": "cf16fcbb9b8107a7df6b97e497fc91e819774d8b"
+ "reference": "66e4f7910cecf67736bccf2b8bd53a2e3eb98bd9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paratestphp/paratest/zipball/cf16fcbb9b8107a7df6b97e497fc91e819774d8b",
- "reference": "cf16fcbb9b8107a7df6b97e497fc91e819774d8b",
+ "url": "https://api.github.com/repos/paratestphp/paratest/zipball/66e4f7910cecf67736bccf2b8bd53a2e3eb98bd9",
+ "reference": "66e4f7910cecf67736bccf2b8bd53a2e3eb98bd9",
"shasum": ""
},
"require": {
@@ -8367,27 +8523,27 @@
"ext-pcre": "*",
"ext-reflection": "*",
"ext-simplexml": "*",
- "fidry/cpu-core-counter": "^1.2.0",
- "jean85/pretty-package-versions": "^2.0.6",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
- "phpunit/php-code-coverage": "^10.1.16",
- "phpunit/php-file-iterator": "^4.1.0",
- "phpunit/php-timer": "^6.0.0",
- "phpunit/phpunit": "^10.5.36",
- "sebastian/environment": "^6.1.0",
- "symfony/console": "^6.4.7 || ^7.1.5",
- "symfony/process": "^6.4.7 || ^7.1.5"
- },
- "require-dev": {
- "doctrine/coding-standard": "^12.0.0",
+ "fidry/cpu-core-counter": "^1.3.0",
+ "jean85/pretty-package-versions": "^2.1.1",
+ "php": "~8.3.0 || ~8.4.0 || ~8.5.0",
+ "phpunit/php-code-coverage": "^12.5.3 || ^13.0.1",
+ "phpunit/php-file-iterator": "^6.0.1 || ^7",
+ "phpunit/php-timer": "^8 || ^9",
+ "phpunit/phpunit": "^12.5.14 || ^13.0.5",
+ "sebastian/environment": "^8.0.3 || ^9",
+ "symfony/console": "^7.4.7 || ^8.0.7",
+ "symfony/process": "^7.4.5 || ^8.0.5"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^14.0.0",
+ "ext-pcntl": "*",
"ext-pcov": "*",
"ext-posix": "*",
- "phpstan/phpstan": "^1.12.6",
- "phpstan/phpstan-deprecation-rules": "^1.2.1",
- "phpstan/phpstan-phpunit": "^1.4.0",
- "phpstan/phpstan-strict-rules": "^1.6.1",
- "squizlabs/php_codesniffer": "^3.10.3",
- "symfony/filesystem": "^6.4.3 || ^7.1.5"
+ "phpstan/phpstan": "^2.1.40",
+ "phpstan/phpstan-deprecation-rules": "^2.0.4",
+ "phpstan/phpstan-phpunit": "^2.0.16",
+ "phpstan/phpstan-strict-rules": "^2.0.10",
+ "symfony/filesystem": "^7.4.6 || ^8.0.6"
},
"bin": [
"bin/paratest",
@@ -8427,7 +8583,7 @@
],
"support": {
"issues": "https://github.com/paratestphp/paratest/issues",
- "source": "https://github.com/paratestphp/paratest/tree/v7.4.8"
+ "source": "https://github.com/paratestphp/paratest/tree/v7.19.2"
},
"funding": [
{
@@ -8439,7 +8595,7 @@
"type": "paypal"
}
],
- "time": "2024-10-15T12:45:19+00:00"
+ "time": "2026-03-09T14:33:17+00:00"
},
{
"name": "clue/ndjson-react",
@@ -8595,22 +8751,22 @@
},
{
"name": "composer/class-map-generator",
- "version": "1.6.2",
+ "version": "1.7.1",
"source": {
"type": "git",
"url": "https://github.com/composer/class-map-generator.git",
- "reference": "ba9f089655d4cdd64e762a6044f411ccdaec0076"
+ "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/class-map-generator/zipball/ba9f089655d4cdd64e762a6044f411ccdaec0076",
- "reference": "ba9f089655d4cdd64e762a6044f411ccdaec0076",
+ "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8f5fa3cc214230e71f54924bd0197a3bcc705eb1",
+ "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1",
"shasum": ""
},
"require": {
"composer/pcre": "^2.1 || ^3.1",
"php": "^7.2 || ^8.0",
- "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7"
+ "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7 || ^8"
},
"require-dev": {
"phpstan/phpstan": "^1.12 || ^2",
@@ -8618,7 +8774,7 @@
"phpstan/phpstan-phpunit": "^1 || ^2",
"phpstan/phpstan-strict-rules": "^1.1 || ^2",
"phpunit/phpunit": "^8",
- "symfony/filesystem": "^5.4 || ^6"
+ "symfony/filesystem": "^5.4 || ^6 || ^7 || ^8"
},
"type": "library",
"extra": {
@@ -8648,7 +8804,7 @@
],
"support": {
"issues": "https://github.com/composer/class-map-generator/issues",
- "source": "https://github.com/composer/class-map-generator/tree/1.6.2"
+ "source": "https://github.com/composer/class-map-generator/tree/1.7.1"
},
"funding": [
{
@@ -8660,7 +8816,7 @@
"type": "github"
}
],
- "time": "2025-08-20T18:52:43+00:00"
+ "time": "2025-12-29T13:15:25+00:00"
},
{
"name": "composer/pcre",
@@ -8886,22 +9042,22 @@
},
{
"name": "danog/advanced-json-rpc",
- "version": "v3.2.2",
+ "version": "v3.2.3",
"source": {
"type": "git",
"url": "https://github.com/danog/php-advanced-json-rpc.git",
- "reference": "aadb1c4068a88c3d0530cfe324b067920661efcb"
+ "reference": "ae703ea7b4811797a10590b6078de05b3b33dd91"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/aadb1c4068a88c3d0530cfe324b067920661efcb",
- "reference": "aadb1c4068a88c3d0530cfe324b067920661efcb",
+ "url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/ae703ea7b4811797a10590b6078de05b3b33dd91",
+ "reference": "ae703ea7b4811797a10590b6078de05b3b33dd91",
"shasum": ""
},
"require": {
"netresearch/jsonmapper": "^5",
"php": ">=8.1",
- "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
+ "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0 || ^6"
},
"replace": {
"felixfbecker/php-advanced-json-rpc": "^3"
@@ -8932,9 +9088,9 @@
"description": "A more advanced JSONRPC implementation",
"support": {
"issues": "https://github.com/danog/php-advanced-json-rpc/issues",
- "source": "https://github.com/danog/php-advanced-json-rpc/tree/v3.2.2"
+ "source": "https://github.com/danog/php-advanced-json-rpc/tree/v3.2.3"
},
- "time": "2025-02-14T10:55:15+00:00"
+ "time": "2026-01-12T21:07:10+00:00"
},
{
"name": "daverandom/libdns",
@@ -9019,29 +9175,29 @@
},
{
"name": "doctrine/deprecations",
- "version": "1.1.5",
+ "version": "1.1.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
- "phpunit/phpunit": "<=7.5 || >=13"
+ "phpunit/phpunit": "<=7.5 || >=14"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^12 || ^13",
- "phpstan/phpstan": "1.4.10 || 2.1.11",
+ "doctrine/coding-standard": "^9 || ^12 || ^14",
+ "phpstan/phpstan": "1.4.10 || 2.1.30",
"phpstan/phpstan-phpunit": "^1.0 || ^2",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0",
"psr/log": "^1 || ^2 || ^3"
},
"suggest": {
@@ -9061,9 +9217,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.5"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.6"
},
- "time": "2025-04-07T20:06:18+00:00"
+ "time": "2026-02-07T07:09:04+00:00"
},
{
"name": "evenement/evenement",
@@ -9365,16 +9521,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.88.2",
+ "version": "v3.94.2",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "a8d15584bafb0f0d9d938827840060fd4a3ebc99"
+ "reference": "7787ceff91365ba7d623ec410b8f429cdebb4f63"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a8d15584bafb0f0d9d938827840060fd4a3ebc99",
- "reference": "a8d15584bafb0f0d9d938827840060fd4a3ebc99",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7787ceff91365ba7d623ec410b8f429cdebb4f63",
+ "reference": "7787ceff91365ba7d623ec410b8f429cdebb4f63",
"shasum": ""
},
"require": {
@@ -9389,34 +9545,34 @@
"php": "^7.4 || ^8.0",
"react/child-process": "^0.6.6",
"react/event-loop": "^1.5",
- "react/promise": "^3.3",
"react/socket": "^1.16",
"react/stream": "^1.4",
- "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0",
- "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0",
- "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0",
- "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0",
- "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0",
- "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0",
+ "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0",
+ "symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
+ "symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
"symfony/polyfill-mbstring": "^1.33",
"symfony/polyfill-php80": "^1.33",
"symfony/polyfill-php81": "^1.33",
"symfony/polyfill-php84": "^1.33",
- "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2",
- "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0"
+ "symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0",
+ "symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0"
},
"require-dev": {
- "facile-it/paraunit": "^1.3.1 || ^2.7",
- "infection/infection": "^0.31.0",
- "justinrainbow/json-schema": "^6.5",
- "keradus/cli-executor": "^2.2",
+ "facile-it/paraunit": "^1.3.1 || ^2.7.1",
+ "infection/infection": "^0.32.3",
+ "justinrainbow/json-schema": "^6.6.4",
+ "keradus/cli-executor": "^2.3",
"mikey179/vfsstream": "^1.6.12",
- "php-coveralls/php-coveralls": "^2.8",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6",
- "phpunit/phpunit": "^9.6.25 || ^10.5.53 || ^11.5.34",
- "symfony/var-dumper": "^5.4.48 || ^6.4.24 || ^7.3.2",
- "symfony/yaml": "^5.4.45 || ^6.4.24 || ^7.3.2"
+ "php-coveralls/php-coveralls": "^2.9.1",
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.7",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.7",
+ "phpunit/phpunit": "^9.6.34 || ^10.5.63 || ^11.5.51",
+ "symfony/polyfill-php85": "^1.33",
+ "symfony/var-dumper": "^5.4.48 || ^6.4.32 || ^7.4.4 || ^8.0.4",
+ "symfony/yaml": "^5.4.45 || ^6.4.30 || ^7.4.1 || ^8.0.1"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@@ -9431,7 +9587,7 @@
"PhpCsFixer\\": "src/"
},
"exclude-from-classmap": [
- "src/Fixer/Internal/*"
+ "src/**/Internal/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -9457,7 +9613,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.88.2"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.94.2"
},
"funding": [
{
@@ -9465,7 +9621,7 @@
"type": "github"
}
],
- "time": "2025-09-27T00:24:15+00:00"
+ "time": "2026-02-20T16:13:53+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -9520,16 +9676,16 @@
},
{
"name": "iamcal/sql-parser",
- "version": "v0.5",
+ "version": "v0.7",
"source": {
"type": "git",
"url": "https://github.com/iamcal/SQLParser.git",
- "reference": "644fd994de3b54e5d833aecf406150aa3b66ca88"
+ "reference": "610392f38de49a44dab08dc1659960a29874c4b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/644fd994de3b54e5d833aecf406150aa3b66ca88",
- "reference": "644fd994de3b54e5d833aecf406150aa3b66ca88",
+ "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/610392f38de49a44dab08dc1659960a29874c4b8",
+ "reference": "610392f38de49a44dab08dc1659960a29874c4b8",
"shasum": ""
},
"require-dev": {
@@ -9555,9 +9711,9 @@
"description": "MySQL schema parser",
"support": {
"issues": "https://github.com/iamcal/SQLParser/issues",
- "source": "https://github.com/iamcal/SQLParser/tree/v0.5"
+ "source": "https://github.com/iamcal/SQLParser/tree/v0.7"
},
- "time": "2024-03-22T22:46:32+00:00"
+ "time": "2026-01-28T22:20:33+00:00"
},
{
"name": "infection/abstract-testframework-adapter",
@@ -9738,63 +9894,71 @@
},
{
"name": "infection/infection",
- "version": "0.29.14",
+ "version": "0.32.0",
"source": {
"type": "git",
- "url": "https://github.com/infection/infection.git",
- "reference": "feea2a48a8aeedd3a4d2105167b41a46f0e568a3"
+ "url": "https://github.com/infection/infection",
+ "reference": "71d4a12cbe62d79c06dce628b8a5fe234636424c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/infection/infection/zipball/feea2a48a8aeedd3a4d2105167b41a46f0e568a3",
- "reference": "feea2a48a8aeedd3a4d2105167b41a46f0e568a3",
+ "url": "https://api.github.com/repos/infection/infection/zipball/71d4a12cbe62d79c06dce628b8a5fe234636424c",
+ "reference": "71d4a12cbe62d79c06dce628b8a5fe234636424c",
"shasum": ""
},
"require": {
- "colinodell/json5": "^2.2 || ^3.0",
+ "colinodell/json5": "^3.0",
"composer-runtime-api": "^2.0",
- "composer/xdebug-handler": "^2.0 || ^3.0",
+ "composer/xdebug-handler": "^3.0",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
- "fidry/cpu-core-counter": "^0.4.0 || ^0.5.0 || ^1.0",
+ "fidry/cpu-core-counter": "^1.0",
"infection/abstract-testframework-adapter": "^0.5.0",
"infection/extension-installer": "^0.1.0",
"infection/include-interceptor": "^0.2.5",
"infection/mutator": "^0.4",
- "justinrainbow/json-schema": "^5.3 || ^6.0",
- "nikic/php-parser": "^5.3",
+ "justinrainbow/json-schema": "^6.0",
+ "nikic/php-parser": "^5.6.2",
"ondram/ci-detector": "^4.1.0",
"php": "^8.2",
- "sanmai/later": "^0.1.1",
- "sanmai/pipeline": "^5.1 || ^6",
- "sebastian/diff": "^3.0.2 || ^4.0 || ^5.0 || ^6.0 || ^7.0",
- "symfony/console": "^6.4 || ^7.0",
- "symfony/filesystem": "^6.4 || ^7.0",
- "symfony/finder": "^6.4 || ^7.0",
- "symfony/process": "^6.4 || ^7.0",
+ "psr/log": "^2.0 || ^3.0",
+ "sanmai/di-container": "^0.1.4",
+ "sanmai/duoclock": "^0.1.0",
+ "sanmai/later": "^0.1.7",
+ "sanmai/pipeline": "^7.0",
+ "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0",
+ "symfony/console": "^6.4 || ^7.0 || ^8.0",
+ "symfony/filesystem": "^6.4 || ^7.0 || ^8.0",
+ "symfony/finder": "^6.4 || ^7.0 || ^8.0",
+ "symfony/polyfill-php85": "^1.33",
+ "symfony/process": "^6.4 || ^7.0 || ^8.0",
"thecodingmachine/safe": "^v3.0",
- "webmozart/assert": "^1.11"
+ "webmozart/assert": "^1.11 || ^2.0"
},
"conflict": {
"antecedent/patchwork": "<2.1.25",
- "dg/bypass-finals": "<1.4.1",
- "phpunit/php-code-coverage": ">9,<9.1.4 || >9.2.17,<9.2.21"
+ "dg/bypass-finals": "<1.4.1"
},
"require-dev": {
"ext-simplexml": "*",
"fidry/makefile": "^1.0",
+ "fig/log-test": "^1.2",
+ "phpbench/phpbench": "^1.4",
"phpstan/extension-installer": "^1.4",
"phpstan/phpstan": "^2.1",
"phpstan/phpstan-phpunit": "^2.0",
"phpstan/phpstan-strict-rules": "^2.0",
"phpstan/phpstan-webmozart-assert": "^2.0",
- "phpunit/phpunit": "^11.5",
- "rector/rector": "^2.0",
+ "phpunit/phpunit": "^11.5.27",
+ "rector/rector": "^2.2.4",
+ "shipmonk/dead-code-detector": "^0.14.0",
+ "shipmonk/name-collision-detector": "^2.1",
"sidz/phpstan-rules": "^0.5.1",
- "symfony/yaml": "^6.4 || ^7.0",
- "thecodingmachine/phpstan-safe-rule": "^1.4"
+ "symfony/yaml": "^6.4 || ^7.0 || ^8.0",
+ "thecodingmachine/phpstan-safe-rule": "^1.4",
+ "webmozarts/strict-phpunit": "^7.15"
},
"bin": [
"bin/infection"
@@ -9849,20 +10013,9 @@
"unit testing"
],
"support": {
- "issues": "https://github.com/infection/infection/issues",
- "source": "https://github.com/infection/infection/tree/0.29.14"
+ "issues": "https://github.com/infection/infection/issues"
},
- "funding": [
- {
- "url": "https://github.com/infection",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/infection",
- "type": "open_collective"
- }
- ],
- "time": "2025-03-02T18:49:12+00:00"
+ "time": "2025-12-24T13:55:03+00:00"
},
{
"name": "infection/mutator",
@@ -9979,21 +10132,21 @@
},
{
"name": "justinrainbow/json-schema",
- "version": "6.5.2",
+ "version": "v6.7.2",
"source": {
"type": "git",
"url": "https://github.com/jsonrainbow/json-schema.git",
- "reference": "ac0d369c09653cf7af561f6d91a705bc617a87b8"
+ "reference": "6fea66c7204683af437864e7c4e7abf383d14bc0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/ac0d369c09653cf7af561f6d91a705bc617a87b8",
- "reference": "ac0d369c09653cf7af561f6d91a705bc617a87b8",
+ "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/6fea66c7204683af437864e7c4e7abf383d14bc0",
+ "reference": "6fea66c7204683af437864e7c4e7abf383d14bc0",
"shasum": ""
},
"require": {
"ext-json": "*",
- "marc-mabe/php-enum": "^4.0",
+ "marc-mabe/php-enum": "^4.4",
"php": "^7.2 || ^8.0"
},
"require-dev": {
@@ -10048,9 +10201,9 @@
],
"support": {
"issues": "https://github.com/jsonrainbow/json-schema/issues",
- "source": "https://github.com/jsonrainbow/json-schema/tree/6.5.2"
+ "source": "https://github.com/jsonrainbow/json-schema/tree/v6.7.2"
},
- "time": "2025-09-09T09:42:27+00:00"
+ "time": "2026-02-15T15:06:22+00:00"
},
{
"name": "kelunik/certificate",
@@ -10112,43 +10265,44 @@
},
{
"name": "larastan/larastan",
- "version": "v2.11.2",
+ "version": "v3.9.3",
"source": {
"type": "git",
"url": "https://github.com/larastan/larastan.git",
- "reference": "1aae902a5851c03dc1a58cbd9010a0c3ef8def63"
+ "reference": "64a52bcc5347c89fdf131cb59f96ebfbc8d1ad65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/larastan/larastan/zipball/1aae902a5851c03dc1a58cbd9010a0c3ef8def63",
- "reference": "1aae902a5851c03dc1a58cbd9010a0c3ef8def63",
+ "url": "https://api.github.com/repos/larastan/larastan/zipball/64a52bcc5347c89fdf131cb59f96ebfbc8d1ad65",
+ "reference": "64a52bcc5347c89fdf131cb59f96ebfbc8d1ad65",
"shasum": ""
},
"require": {
"ext-json": "*",
- "iamcal/sql-parser": "^0.5.0",
- "illuminate/console": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "illuminate/container": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "illuminate/contracts": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "illuminate/database": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "illuminate/http": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "illuminate/pipeline": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "illuminate/support": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "php": "^8.0.2",
- "phpstan/phpstan": "^1.12.17"
+ "iamcal/sql-parser": "^0.7.0",
+ "illuminate/console": "^11.44.2 || ^12.4.1 || ^13",
+ "illuminate/container": "^11.44.2 || ^12.4.1 || ^13",
+ "illuminate/contracts": "^11.44.2 || ^12.4.1 || ^13",
+ "illuminate/database": "^11.44.2 || ^12.4.1 || ^13",
+ "illuminate/http": "^11.44.2 || ^12.4.1 || ^13",
+ "illuminate/pipeline": "^11.44.2 || ^12.4.1 || ^13",
+ "illuminate/support": "^11.44.2 || ^12.4.1 || ^13",
+ "php": "^8.2",
+ "phpstan/phpstan": "^2.1.32"
},
"require-dev": {
"doctrine/coding-standard": "^13",
- "laravel/framework": "^9.52.20 || ^10.48.28 || ^11.41.3",
- "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.44.2 || ^12.7.2 || ^13",
+ "mockery/mockery": "^1.6.12",
+ "nikic/php-parser": "^5.4",
+ "orchestra/canvas": "^v9.2.2 || ^10.0.1 || ^11",
+ "orchestra/testbench-core": "^9.12.0 || ^10.1 || ^11",
+ "phpstan/phpstan-deprecation-rules": "^2.0.1",
+ "phpunit/phpunit": "^10.5.35 || ^11.5.15 || ^12.5.8"
},
"suggest": {
- "orchestra/testbench": "Using Larastan for analysing a package needs Testbench"
+ "orchestra/testbench": "Using Larastan for analysing a package needs Testbench",
+ "phpmyadmin/sql-parser": "Install to enable Larastan's optional phpMyAdmin-based SQL parser automatically"
},
"type": "phpstan-extension",
"extra": {
@@ -10158,7 +10312,7 @@
]
},
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -10189,7 +10343,7 @@
],
"support": {
"issues": "https://github.com/larastan/larastan/issues",
- "source": "https://github.com/larastan/larastan/tree/v2.11.2"
+ "source": "https://github.com/larastan/larastan/tree/v3.9.3"
},
"funding": [
{
@@ -10197,41 +10351,42 @@
"type": "github"
}
],
- "time": "2025-06-10T22:06:33+00:00"
+ "time": "2026-02-20T12:07:12+00:00"
},
{
"name": "laravel/pail",
- "version": "v1.2.3",
+ "version": "v1.2.6",
"source": {
"type": "git",
"url": "https://github.com/laravel/pail.git",
- "reference": "8cc3d575c1f0e57eeb923f366a37528c50d2385a"
+ "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/pail/zipball/8cc3d575c1f0e57eeb923f366a37528c50d2385a",
- "reference": "8cc3d575c1f0e57eeb923f366a37528c50d2385a",
+ "url": "https://api.github.com/repos/laravel/pail/zipball/aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf",
+ "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf",
"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",
+ "illuminate/console": "^10.24|^11.0|^12.0|^13.0",
+ "illuminate/contracts": "^10.24|^11.0|^12.0|^13.0",
+ "illuminate/log": "^10.24|^11.0|^12.0|^13.0",
+ "illuminate/process": "^10.24|^11.0|^12.0|^13.0",
+ "illuminate/support": "^10.24|^11.0|^12.0|^13.0",
"nunomaduro/termwind": "^1.15|^2.0",
"php": "^8.2",
- "symfony/console": "^6.0|^7.0"
+ "symfony/console": "^6.0|^7.0|^8.0"
},
"require-dev": {
- "laravel/framework": "^10.24|^11.0|^12.0",
+ "laravel/framework": "^10.24|^11.0|^12.0|^13.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",
+ "orchestra/testbench-core": "^8.13|^9.17|^10.8|^11.0",
+ "pestphp/pest": "^2.20|^3.0|^4.0",
+ "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0",
"phpstan/phpstan": "^1.12.27",
- "symfony/var-dumper": "^6.3|^7.0"
+ "symfony/var-dumper": "^6.3|^7.0|^8.0",
+ "symfony/yaml": "^6.3|^7.0|^8.0"
},
"type": "library",
"extra": {
@@ -10276,25 +10431,85 @@
"issues": "https://github.com/laravel/pail/issues",
"source": "https://github.com/laravel/pail"
},
- "time": "2025-06-05T13:55:57+00:00"
+ "time": "2026-02-09T13:44:54+00:00"
+ },
+ {
+ "name": "laravel/sentinel",
+ "version": "v1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/sentinel.git",
+ "reference": "7a98db53e0d9d6f61387f3141c07477f97425603"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/sentinel/zipball/7a98db53e0d9d6f61387f3141c07477f97425603",
+ "reference": "7a98db53e0d9d6f61387f3141c07477f97425603",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "illuminate/container": "^8.37|^9.0|^10.0|^11.0|^12.0|^13.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "laravel/pint": "^1.27",
+ "orchestra/testbench": "^6.47.1|^7.56|^8.37|^9.16|^10.9|^11.0",
+ "phpstan/phpstan": "^2.1.33"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Sentinel\\SentinelServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Sentinel\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ },
+ {
+ "name": "Mior Muhammad Zaki",
+ "email": "mior@laravel.com"
+ }
+ ],
+ "support": {
+ "source": "https://github.com/laravel/sentinel/tree/v1.0.1"
+ },
+ "time": "2026-02-12T13:32:54+00:00"
},
{
"name": "laravel/telescope",
- "version": "v5.12.0",
+ "version": "v5.18.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/telescope.git",
- "reference": "b4fb98b57f4aeb48b74f79aa7c684a20e302dacd"
+ "reference": "6e2aead19de0efb767f703559cc6539036b7fc59"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/telescope/zipball/b4fb98b57f4aeb48b74f79aa7c684a20e302dacd",
- "reference": "b4fb98b57f4aeb48b74f79aa7c684a20e302dacd",
+ "url": "https://api.github.com/repos/laravel/telescope/zipball/6e2aead19de0efb767f703559cc6539036b7fc59",
+ "reference": "6e2aead19de0efb767f703559cc6539036b7fc59",
"shasum": ""
},
"require": {
"ext-json": "*",
- "laravel/framework": "^8.37|^9.0|^10.0|^11.0|^12.0",
+ "laravel/framework": "^8.37|^9.0|^10.0|^11.0|^12.0|^13.0",
+ "laravel/sentinel": "^1.0",
"php": "^8.0",
"symfony/console": "^5.3|^6.0|^7.0",
"symfony/var-dumper": "^5.0|^6.0|^7.0"
@@ -10302,10 +10517,9 @@
"require-dev": {
"ext-gd": "*",
"guzzlehttp/guzzle": "^6.0|^7.0",
- "laravel/octane": "^1.4|^2.0|dev-develop",
- "orchestra/testbench": "^6.40|^7.37|^8.17|^9.0|^10.0",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^9.0|^10.5|^11.5"
+ "laravel/octane": "^1.4|^2.0",
+ "orchestra/testbench": "^6.47.1|^7.55|^8.36|^9.15|^10.8|^11.0",
+ "phpstan/phpstan": "^1.10"
},
"type": "library",
"extra": {
@@ -10343,22 +10557,22 @@
],
"support": {
"issues": "https://github.com/laravel/telescope/issues",
- "source": "https://github.com/laravel/telescope/tree/v5.12.0"
+ "source": "https://github.com/laravel/telescope/tree/v5.18.0"
},
- "time": "2025-09-18T15:08:51+00:00"
+ "time": "2026-03-05T15:53:11+00:00"
},
{
"name": "laravel/tinker",
- "version": "v2.10.1",
+ "version": "v2.11.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
- "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3"
+ "reference": "c9f80cc835649b5c1842898fb043f8cc098dd741"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3",
- "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/c9f80cc835649b5c1842898fb043f8cc098dd741",
+ "reference": "c9f80cc835649b5c1842898fb043f8cc098dd741",
"shasum": ""
},
"require": {
@@ -10367,7 +10581,7 @@
"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"
+ "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0|^8.0"
},
"require-dev": {
"mockery/mockery": "~1.3.3|^1.4.2",
@@ -10409,9 +10623,9 @@
],
"support": {
"issues": "https://github.com/laravel/tinker/issues",
- "source": "https://github.com/laravel/tinker/tree/v2.10.1"
+ "source": "https://github.com/laravel/tinker/tree/v2.11.1"
},
- "time": "2025-01-27T14:24:01+00:00"
+ "time": "2026-02-06T14:12:35+00:00"
},
{
"name": "marc-mabe/php-enum",
@@ -10631,16 +10845,16 @@
},
{
"name": "netresearch/jsonmapper",
- "version": "v5.0.0",
+ "version": "v5.0.1",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c"
+ "reference": "980674efdda65913492d29a8fd51c82270dd37bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c",
- "reference": "8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/980674efdda65913492d29a8fd51c82270dd37bb",
+ "reference": "980674efdda65913492d29a8fd51c82270dd37bb",
"shasum": ""
},
"require": {
@@ -10676,22 +10890,22 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v5.0.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v5.0.1"
},
- "time": "2024-09-08T10:20:00+00:00"
+ "time": "2026-02-22T16:28:03+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v5.6.1",
+ "version": "v5.7.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
"shasum": ""
},
"require": {
@@ -10734,44 +10948,42 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
},
- "time": "2025-08-13T20:13:15+00:00"
+ "time": "2025-12-06T11:56:16+00:00"
},
{
"name": "nunomaduro/collision",
- "version": "v8.5.0",
+ "version": "v8.9.1",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "f5c101b929c958e849a633283adff296ed5f38f5"
+ "reference": "a1ed3fa530fd60bc515f9303e8520fcb7d4bd935"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f5c101b929c958e849a633283adff296ed5f38f5",
- "reference": "f5c101b929c958e849a633283adff296ed5f38f5",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/a1ed3fa530fd60bc515f9303e8520fcb7d4bd935",
+ "reference": "a1ed3fa530fd60bc515f9303e8520fcb7d4bd935",
"shasum": ""
},
"require": {
- "filp/whoops": "^2.16.0",
- "nunomaduro/termwind": "^2.1.0",
+ "filp/whoops": "^2.18.4",
+ "nunomaduro/termwind": "^2.4.0",
"php": "^8.2.0",
- "symfony/console": "^7.1.5"
+ "symfony/console": "^7.4.4 || ^8.0.4"
},
"conflict": {
- "laravel/framework": "<11.0.0 || >=12.0.0",
- "phpunit/phpunit": "<10.5.1 || >=12.0.0"
+ "laravel/framework": "<11.48.0 || >=14.0.0",
+ "phpunit/phpunit": "<11.5.50 || >=14.0.0"
},
"require-dev": {
- "larastan/larastan": "^2.9.8",
- "laravel/framework": "^11.28.0",
- "laravel/pint": "^1.18.1",
- "laravel/sail": "^1.36.0",
- "laravel/sanctum": "^4.0.3",
- "laravel/tinker": "^2.10.0",
- "orchestra/testbench-core": "^9.5.3",
- "pestphp/pest": "^2.36.0 || ^3.4.0",
- "sebastian/environment": "^6.1.0 || ^7.2.0"
+ "brianium/paratest": "^7.8.5",
+ "larastan/larastan": "^3.9.2",
+ "laravel/framework": "^11.48.0 || ^12.52.0",
+ "laravel/pint": "^1.27.1",
+ "orchestra/testbench-core": "^9.12.0 || ^10.9.0",
+ "pestphp/pest": "^3.8.5 || ^4.4.1 || ^5.0.0",
+ "sebastian/environment": "^7.2.1 || ^8.0.3 || ^9.0.0"
},
"type": "library",
"extra": {
@@ -10808,6 +11020,7 @@
"cli",
"command-line",
"console",
+ "dev",
"error",
"handling",
"laravel",
@@ -10833,7 +11046,7 @@
"type": "patreon"
}
],
- "time": "2024-10-15T16:06:32+00:00"
+ "time": "2026-02-17T17:33:08+00:00"
},
{
"name": "ondram/ci-detector",
@@ -10915,39 +11128,42 @@
},
{
"name": "orchestra/canvas",
- "version": "v9.2.2",
+ "version": "v10.1.1",
"source": {
"type": "git",
"url": "https://github.com/orchestral/canvas.git",
- "reference": "002d948834c0899e511f5ac0381669363d7881e5"
+ "reference": "6e63f56acd46b0ee842e922d0ebb18af8f7a60f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/canvas/zipball/002d948834c0899e511f5ac0381669363d7881e5",
- "reference": "002d948834c0899e511f5ac0381669363d7881e5",
+ "url": "https://api.github.com/repos/orchestral/canvas/zipball/6e63f56acd46b0ee842e922d0ebb18af8f7a60f6",
+ "reference": "6e63f56acd46b0ee842e922d0ebb18af8f7a60f6",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"composer/semver": "^3.0",
- "illuminate/console": "^11.43.0",
- "illuminate/database": "^11.43.0",
- "illuminate/filesystem": "^11.43.0",
- "illuminate/support": "^11.43.0",
- "orchestra/canvas-core": "^9.1.1",
- "orchestra/sidekick": "^1.0.2",
- "orchestra/testbench-core": "^9.11.0",
+ "illuminate/console": "^12.40.0",
+ "illuminate/database": "^12.40.0",
+ "illuminate/filesystem": "^12.40.0",
+ "illuminate/support": "^12.40.0",
+ "orchestra/canvas-core": "^10.1.2",
+ "orchestra/sidekick": "^1.2.7",
+ "orchestra/testbench-core": "^10.8.0",
"php": "^8.2",
- "symfony/polyfill-php83": "^1.31",
- "symfony/yaml": "^7.0.3"
+ "symfony/polyfill-php83": "^1.33",
+ "symfony/yaml": "^7.2.0"
+ },
+ "conflict": {
+ "laravel/framework": "<12.40.0|>=13.0.0"
},
"require-dev": {
- "laravel/framework": "^11.43.0",
- "laravel/pint": "^1.21",
- "mockery/mockery": "^1.6.10",
- "phpstan/phpstan": "^2.1",
- "phpunit/phpunit": "^11.5.7",
- "spatie/laravel-ray": "^1.39.1"
+ "laravel/framework": "^12.40.0",
+ "laravel/pint": "^1.24",
+ "mockery/mockery": "^1.6.12",
+ "phpstan/phpstan": "^2.1.14",
+ "phpunit/phpunit": "^11.5.18|^12.0",
+ "spatie/laravel-ray": "^1.42.0"
},
"bin": [
"canvas"
@@ -10982,41 +11198,42 @@
"description": "Code Generators for Laravel Applications and Packages",
"support": {
"issues": "https://github.com/orchestral/canvas/issues",
- "source": "https://github.com/orchestral/canvas/tree/v9.2.2"
+ "source": "https://github.com/orchestral/canvas/tree/v10.1.1"
},
- "time": "2025-02-19T04:27:08+00:00"
+ "time": "2025-11-24T04:53:34+00:00"
},
{
"name": "orchestra/canvas-core",
- "version": "v9.1.1",
+ "version": "v10.2.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/canvas-core.git",
- "reference": "a8ebfa6c2e50f8c6597c489b4dfaf9af6789f62a"
+ "reference": "11fdb579f4f2d4bd68a22bd206cabc32e7856e32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/a8ebfa6c2e50f8c6597c489b4dfaf9af6789f62a",
- "reference": "a8ebfa6c2e50f8c6597c489b4dfaf9af6789f62a",
+ "url": "https://api.github.com/repos/orchestral/canvas-core/zipball/11fdb579f4f2d4bd68a22bd206cabc32e7856e32",
+ "reference": "11fdb579f4f2d4bd68a22bd206cabc32e7856e32",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"composer/semver": "^3.0",
- "illuminate/console": "^11.43.0",
- "illuminate/support": "^11.43.0",
- "orchestra/sidekick": "^1.0.2",
+ "illuminate/console": "^12.40.0",
+ "illuminate/support": "^12.40.0",
+ "orchestra/sidekick": "~1.1.23|~1.2.20",
"php": "^8.2",
- "symfony/polyfill-php83": "^1.31"
+ "symfony/polyfill-php83": "^1.33"
},
"require-dev": {
- "laravel/framework": "^11.43.0",
- "laravel/pint": "^1.20",
+ "laravel/framework": "^12.40.0",
+ "laravel/pint": "^1.24",
"mockery/mockery": "^1.6.10",
- "orchestra/testbench-core": "^9.11.0",
- "phpstan/phpstan": "^2.1",
- "phpunit/phpunit": "^11.5.7",
- "symfony/yaml": "^7.0.3"
+ "orchestra/testbench-core": "^10.8.0",
+ "phpstan/phpstan": "^2.1.17",
+ "phpunit/phpunit": "^11.5.12|^12.0.1",
+ "spatie/laravel-ray": "^1.40.2",
+ "symfony/yaml": "^7.2"
},
"type": "library",
"extra": {
@@ -11048,26 +11265,27 @@
"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/v9.1.1"
+ "source": "https://github.com/orchestral/canvas-core/tree/v10.2.0"
},
- "time": "2025-02-19T04:14:36+00:00"
+ "time": "2026-03-06T13:48:13+00:00"
},
{
"name": "orchestra/sidekick",
- "version": "v1.2.14",
+ "version": "v1.2.20",
"source": {
"type": "git",
"url": "https://github.com/orchestral/sidekick.git",
- "reference": "0f7d1d96d390e7bf9118f280dfae74b8b2fb0a00"
+ "reference": "267a71b56cb2fe1a634d69fc99889c671b77ff43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/sidekick/zipball/0f7d1d96d390e7bf9118f280dfae74b8b2fb0a00",
- "reference": "0f7d1d96d390e7bf9118f280dfae74b8b2fb0a00",
+ "url": "https://api.github.com/repos/orchestral/sidekick/zipball/267a71b56cb2fe1a634d69fc99889c671b77ff43",
+ "reference": "267a71b56cb2fe1a634d69fc99889c671b77ff43",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
+ "composer/semver": "^3.0",
"php": "^8.1",
"symfony/polyfill-php83": "^1.32"
},
@@ -11076,7 +11294,7 @@
"laravel/framework": "^10.48.29|^11.44.7|^12.1.1|^13.0",
"laravel/pint": "^1.4",
"mockery/mockery": "^1.5.1",
- "orchestra/testbench-core": "^8.37.0|^9.14.0|^10.0|^11.0",
+ "orchestra/testbench-core": "^8.37.0|^9.14.0|^10.2.0|^11.0",
"phpstan/phpstan": "^2.1.14",
"phpunit/phpunit": "^10.0|^11.0|^12.0",
"symfony/process": "^6.0|^7.0"
@@ -11085,6 +11303,7 @@
"autoload": {
"files": [
"src/Eloquent/functions.php",
+ "src/Filesystem/functions.php",
"src/Http/functions.php",
"src/functions.php"
],
@@ -11105,35 +11324,35 @@
"description": "Packages Toolkit Utilities and Helpers for Laravel",
"support": {
"issues": "https://github.com/orchestral/sidekick/issues",
- "source": "https://github.com/orchestral/sidekick/tree/v1.2.14"
+ "source": "https://github.com/orchestral/sidekick/tree/v1.2.20"
},
- "time": "2025-08-06T23:54:27+00:00"
+ "time": "2026-01-12T11:09:33+00:00"
},
{
"name": "orchestra/testbench",
- "version": "v9.15.0",
+ "version": "v10.11.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench.git",
- "reference": "d0181240f93688448d4ae3b5479ec5ed70a87a47"
+ "reference": "d73b4426dacddd2c1f5e671e0efd7665b16d2b84"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench/zipball/d0181240f93688448d4ae3b5479ec5ed70a87a47",
- "reference": "d0181240f93688448d4ae3b5479ec5ed70a87a47",
+ "url": "https://api.github.com/repos/orchestral/testbench/zipball/d73b4426dacddd2c1f5e671e0efd7665b16d2b84",
+ "reference": "d73b4426dacddd2c1f5e671e0efd7665b16d2b84",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"fakerphp/faker": "^1.23",
- "laravel/framework": "^11.45.2",
+ "laravel/framework": "^12.55.0",
"mockery/mockery": "^1.6.10",
- "orchestra/testbench-core": "^9.16.0",
- "orchestra/workbench": "^9.13.5",
+ "orchestra/testbench-core": "^10.11.0",
+ "orchestra/workbench": "^10.0.8",
"php": "^8.2",
- "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1",
- "symfony/process": "^7.0.3",
- "symfony/yaml": "^7.0.3",
+ "phpunit/phpunit": "^11.5.3|^12.0.1|^13.0.0",
+ "symfony/process": "^7.2",
+ "symfony/yaml": "^7.2",
"vlucas/phpdotenv": "^5.6.1"
},
"type": "library",
@@ -11160,63 +11379,62 @@
],
"support": {
"issues": "https://github.com/orchestral/testbench/issues",
- "source": "https://github.com/orchestral/testbench/tree/v9.15.0"
+ "source": "https://github.com/orchestral/testbench/tree/v10.11.0"
},
- "time": "2025-08-20T11:42:03+00:00"
+ "time": "2026-03-18T13:08:23+00:00"
},
{
"name": "orchestra/testbench-core",
- "version": "v9.16.3",
+ "version": "v10.11.0",
"source": {
"type": "git",
"url": "https://github.com/orchestral/testbench-core.git",
- "reference": "4ea3b276f706c900e3fccfa1db7742829ee9d5af"
+ "reference": "8d6e72fb0d75049ddb36fddcaada0d9f6aa3ecd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/4ea3b276f706c900e3fccfa1db7742829ee9d5af",
- "reference": "4ea3b276f706c900e3fccfa1db7742829ee9d5af",
+ "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/8d6e72fb0d75049ddb36fddcaada0d9f6aa3ecd3",
+ "reference": "8d6e72fb0d75049ddb36fddcaada0d9f6aa3ecd3",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
- "orchestra/sidekick": "~1.1.14|^1.2.10",
+ "orchestra/sidekick": "~1.1.23|~1.2.20",
"php": "^8.2",
"symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/polyfill-php83": "^1.32"
+ "symfony/polyfill-php83": "^1.33"
},
"conflict": {
"brianium/paratest": "<7.3.0|>=8.0.0",
- "laravel/framework": "<11.45.3|>=12.0.0",
+ "laravel/framework": "<12.55.0|>=13.0.0",
"laravel/serializable-closure": "<1.3.0|>=2.0.0 <2.0.3|>=3.0.0",
"nunomaduro/collision": "<8.0.0|>=9.0.0",
- "orchestra/testbench-dusk": "<9.10.0|>=10.0.0",
- "phpunit/phpunit": "<10.5.35|>=11.0.0 <11.3.6|>=12.0.0 <12.0.1|>=12.4.0"
+ "phpunit/phpunit": "<10.5.35|>=11.0.0 <11.5.3|12.0.0|>=13.1.0"
},
"require-dev": {
"fakerphp/faker": "^1.24",
- "laravel/framework": "^11.45.3",
+ "laravel/framework": "^12.55.0",
"laravel/pint": "^1.24",
"laravel/serializable-closure": "^1.3|^2.0.4",
"mockery/mockery": "^1.6.10",
- "phpstan/phpstan": "^2.1.19",
- "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1",
- "spatie/laravel-ray": "^1.40.2",
- "symfony/process": "^7.0.3",
- "symfony/yaml": "^7.0.3",
+ "phpstan/phpstan": "^2.1.38",
+ "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1|^13.0.0",
+ "spatie/laravel-ray": "^1.42.0",
+ "symfony/process": "^7.2.0",
+ "symfony/yaml": "^7.2.0",
"vlucas/phpdotenv": "^5.6.1"
},
"suggest": {
"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.23).",
- "laravel/framework": "Required for testing (^11.45.3).",
+ "laravel/framework": "Required for testing (^12.55.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.10).",
- "phpunit/phpunit": "Allow using PHPUnit for testing (^10.5.35|^11.3.6|^12.0.1).",
- "symfony/process": "Required to use Orchestra\\Testbench\\remote function (^7.0).",
- "symfony/yaml": "Required for Testbench CLI (^7.0).",
+ "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^10.0).",
+ "phpunit/phpunit": "Allow using PHPUnit for testing (^10.5.35|^11.5.3|^12.0.1|^13.0.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.6.1)."
},
"bin": [
@@ -11256,44 +11474,43 @@
"issues": "https://github.com/orchestral/testbench/issues",
"source": "https://github.com/orchestral/testbench-core"
},
- "time": "2025-09-03T02:26:35+00:00"
+ "time": "2026-03-18T12:46:42+00:00"
},
{
"name": "orchestra/workbench",
- "version": "v9.13.5",
+ "version": "v10.0.8",
"source": {
"type": "git",
"url": "https://github.com/orchestral/workbench.git",
- "reference": "1da2ea95089ed3516bda6f8e9cd57c81290004bf"
+ "reference": "88bb9b5872539dd8b556b232a1b466f639c18259"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/orchestral/workbench/zipball/1da2ea95089ed3516bda6f8e9cd57c81290004bf",
- "reference": "1da2ea95089ed3516bda6f8e9cd57c81290004bf",
+ "url": "https://api.github.com/repos/orchestral/workbench/zipball/88bb9b5872539dd8b556b232a1b466f639c18259",
+ "reference": "88bb9b5872539dd8b556b232a1b466f639c18259",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
"fakerphp/faker": "^1.23",
- "laravel/framework": "^11.44.2",
- "laravel/pail": "^1.2",
- "laravel/tinker": "^2.9",
- "nunomaduro/collision": "^8.0",
- "orchestra/canvas": "^9.2.2",
- "orchestra/sidekick": "^1.1.0",
- "orchestra/testbench-core": "^9.12.0",
+ "laravel/framework": "^12.40.0",
+ "laravel/pail": "^1.2.2",
+ "laravel/tinker": "^2.10.1",
+ "nunomaduro/collision": "^8.6",
+ "orchestra/canvas": "^10.1.1",
+ "orchestra/sidekick": "~1.1.23|~1.2.20",
+ "orchestra/testbench-core": "^10.8.0",
"php": "^8.2",
- "symfony/polyfill-php83": "^1.31",
- "symfony/polyfill-php84": "^1.31",
- "symfony/process": "^7.0.3",
- "symfony/yaml": "^7.0.3"
+ "symfony/polyfill-php83": "^1.33",
+ "symfony/process": "^7.2",
+ "symfony/yaml": "^7.2"
},
"require-dev": {
- "laravel/pint": "^1.21",
- "mockery/mockery": "^1.6.10",
- "phpstan/phpstan": "^2.1",
- "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1",
- "spatie/laravel-ray": "^1.39.1"
+ "laravel/pint": "^1.22.0",
+ "mockery/mockery": "^1.6.12",
+ "phpstan/phpstan": "^2.1.33",
+ "phpunit/phpunit": "^11.5.3|^12.0.1",
+ "spatie/laravel-ray": "^1.42.0"
},
"suggest": {
"ext-pcntl": "Required to use all features of the console signal trapping."
@@ -11323,43 +11540,47 @@
],
"support": {
"issues": "https://github.com/orchestral/workbench/issues",
- "source": "https://github.com/orchestral/workbench/tree/v9.13.5"
+ "source": "https://github.com/orchestral/workbench/tree/v10.0.8"
},
- "time": "2025-04-06T11:06:19+00:00"
+ "time": "2026-01-12T14:48:09+00:00"
},
{
"name": "pestphp/pest",
- "version": "v2.36.0",
+ "version": "v4.4.3",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest.git",
- "reference": "f8c88bd14dc1772bfaf02169afb601ecdf2724cd"
+ "reference": "e6ab897594312728ef2e32d586cb4f6780b1b495"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest/zipball/f8c88bd14dc1772bfaf02169afb601ecdf2724cd",
- "reference": "f8c88bd14dc1772bfaf02169afb601ecdf2724cd",
+ "url": "https://api.github.com/repos/pestphp/pest/zipball/e6ab897594312728ef2e32d586cb4f6780b1b495",
+ "reference": "e6ab897594312728ef2e32d586cb4f6780b1b495",
"shasum": ""
},
"require": {
- "brianium/paratest": "^7.3.1",
- "nunomaduro/collision": "^7.11.0|^8.4.0",
- "nunomaduro/termwind": "^1.16.0|^2.1.0",
- "pestphp/pest-plugin": "^2.1.1",
- "pestphp/pest-plugin-arch": "^2.7.0",
- "php": "^8.1.0",
- "phpunit/phpunit": "^10.5.36"
+ "brianium/paratest": "^7.19.2",
+ "nunomaduro/collision": "^8.9.1",
+ "nunomaduro/termwind": "^2.4.0",
+ "pestphp/pest-plugin": "^4.0.0",
+ "pestphp/pest-plugin-arch": "^4.0.0",
+ "pestphp/pest-plugin-mutate": "^4.0.1",
+ "pestphp/pest-plugin-profanity": "^4.2.1",
+ "php": "^8.3.0",
+ "phpunit/phpunit": "^12.5.14",
+ "symfony/process": "^7.4.5|^8.0.5"
},
"conflict": {
- "filp/whoops": "<2.16.0",
- "phpunit/phpunit": ">10.5.36",
- "sebastian/exporter": "<5.1.0",
+ "filp/whoops": "<2.18.3",
+ "phpunit/phpunit": ">12.5.14",
+ "sebastian/exporter": "<7.0.0",
"webmozart/assert": "<1.11.0"
},
"require-dev": {
- "pestphp/pest-dev-tools": "^2.17.0",
- "pestphp/pest-plugin-type-coverage": "^2.8.7",
- "symfony/process": "^6.4.0|^7.1.5"
+ "pestphp/pest-dev-tools": "^4.1.0",
+ "pestphp/pest-plugin-browser": "^4.3.0",
+ "pestphp/pest-plugin-type-coverage": "^4.0.3",
+ "psy/psysh": "^0.12.21"
},
"bin": [
"bin/pest"
@@ -11368,6 +11589,8 @@
"extra": {
"pest": {
"plugins": [
+ "Pest\\Mutate\\Plugins\\Mutate",
+ "Pest\\Plugins\\Configuration",
"Pest\\Plugins\\Bail",
"Pest\\Plugins\\Cache",
"Pest\\Plugins\\Coverage",
@@ -11383,6 +11606,7 @@
"Pest\\Plugins\\Snapshot",
"Pest\\Plugins\\Verbose",
"Pest\\Plugins\\Version",
+ "Pest\\Plugins\\Shard",
"Pest\\Plugins\\Parallel"
]
},
@@ -11422,7 +11646,7 @@
],
"support": {
"issues": "https://github.com/pestphp/pest/issues",
- "source": "https://github.com/pestphp/pest/tree/v2.36.0"
+ "source": "https://github.com/pestphp/pest/tree/v4.4.3"
},
"funding": [
{
@@ -11434,34 +11658,34 @@
"type": "github"
}
],
- "time": "2024-10-15T15:30:56+00:00"
+ "time": "2026-03-21T13:14:39+00:00"
},
{
"name": "pestphp/pest-plugin",
- "version": "v2.1.1",
+ "version": "v4.0.0",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest-plugin.git",
- "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b"
+ "reference": "9d4b93d7f73d3f9c3189bb22c220fef271cdf568"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e05d2859e08c2567ee38ce8b005d044e72648c0b",
- "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/9d4b93d7f73d3f9c3189bb22c220fef271cdf568",
+ "reference": "9d4b93d7f73d3f9c3189bb22c220fef271cdf568",
"shasum": ""
},
"require": {
"composer-plugin-api": "^2.0.0",
"composer-runtime-api": "^2.2.2",
- "php": "^8.1"
+ "php": "^8.3"
},
"conflict": {
- "pestphp/pest": "<2.2.3"
+ "pestphp/pest": "<4.0.0"
},
"require-dev": {
- "composer/composer": "^2.5.8",
- "pestphp/pest": "^2.16.0",
- "pestphp/pest-dev-tools": "^2.16.0"
+ "composer/composer": "^2.8.10",
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
},
"type": "composer-plugin",
"extra": {
@@ -11488,7 +11712,7 @@
"unit"
],
"support": {
- "source": "https://github.com/pestphp/pest-plugin/tree/v2.1.1"
+ "source": "https://github.com/pestphp/pest-plugin/tree/v4.0.0"
},
"funding": [
{
@@ -11504,31 +11728,30 @@
"type": "patreon"
}
],
- "time": "2023-08-22T08:40:06+00:00"
+ "time": "2025-08-20T12:35:58+00:00"
},
{
"name": "pestphp/pest-plugin-arch",
- "version": "v2.7.0",
+ "version": "v4.0.0",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest-plugin-arch.git",
- "reference": "d23b2d7498475354522c3818c42ef355dca3fcda"
+ "reference": "25bb17e37920ccc35cbbcda3b00d596aadf3e58d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/d23b2d7498475354522c3818c42ef355dca3fcda",
- "reference": "d23b2d7498475354522c3818c42ef355dca3fcda",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/25bb17e37920ccc35cbbcda3b00d596aadf3e58d",
+ "reference": "25bb17e37920ccc35cbbcda3b00d596aadf3e58d",
"shasum": ""
},
"require": {
- "nunomaduro/collision": "^7.10.0|^8.1.0",
- "pestphp/pest-plugin": "^2.1.1",
- "php": "^8.1",
- "ta-tikoma/phpunit-architecture-test": "^0.8.4"
+ "pestphp/pest-plugin": "^4.0.0",
+ "php": "^8.3",
+ "ta-tikoma/phpunit-architecture-test": "^0.8.5"
},
"require-dev": {
- "pestphp/pest": "^2.33.0",
- "pestphp/pest-dev-tools": "^2.16.0"
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
},
"type": "library",
"extra": {
@@ -11563,7 +11786,7 @@
"unit"
],
"support": {
- "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.7.0"
+ "source": "https://github.com/pestphp/pest-plugin-arch/tree/v4.0.0"
},
"funding": [
{
@@ -11575,31 +11798,31 @@
"type": "github"
}
],
- "time": "2024-01-26T09:46:42+00:00"
+ "time": "2025-08-20T13:10:51+00:00"
},
{
"name": "pestphp/pest-plugin-laravel",
- "version": "v2.4.0",
+ "version": "v4.1.0",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest-plugin-laravel.git",
- "reference": "53df51169a7f9595e06839cce638c73e59ace5e8"
+ "reference": "3057a36669ff11416cc0dc2b521b3aec58c488d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/53df51169a7f9595e06839cce638c73e59ace5e8",
- "reference": "53df51169a7f9595e06839cce638c73e59ace5e8",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/3057a36669ff11416cc0dc2b521b3aec58c488d0",
+ "reference": "3057a36669ff11416cc0dc2b521b3aec58c488d0",
"shasum": ""
},
"require": {
- "laravel/framework": "^10.48.9|^11.5.0",
- "pestphp/pest": "^2.34.7",
- "php": "^8.1.0"
+ "laravel/framework": "^11.45.2|^12.52.0|^13.0",
+ "pestphp/pest": "^4.4.1",
+ "php": "^8.3.0"
},
"require-dev": {
- "laravel/dusk": "^7.13.0",
- "orchestra/testbench": "^8.22.3|^9.0.4",
- "pestphp/pest-dev-tools": "^2.16.0"
+ "laravel/dusk": "^8.3.6",
+ "orchestra/testbench": "^9.13.0|^10.9.0|^11.0",
+ "pestphp/pest-dev-tools": "^4.1.0"
},
"type": "library",
"extra": {
@@ -11637,7 +11860,7 @@
"unit"
],
"support": {
- "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v2.4.0"
+ "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v4.1.0"
},
"funding": [
{
@@ -11649,108 +11872,240 @@
"type": "github"
}
],
- "time": "2024-04-27T10:41:54+00:00"
+ "time": "2026-02-21T00:29:45+00:00"
},
{
- "name": "phar-io/manifest",
- "version": "2.0.4",
+ "name": "pestphp/pest-plugin-mutate",
+ "version": "v4.0.1",
"source": {
"type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "54750ef60c58e43759730615a392c31c80e23176"
+ "url": "https://github.com/pestphp/pest-plugin-mutate.git",
+ "reference": "d9b32b60b2385e1688a68cc227594738ec26d96c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
- "reference": "54750ef60c58e43759730615a392c31c80e23176",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/d9b32b60b2385e1688a68cc227594738ec26d96c",
+ "reference": "d9b32b60b2385e1688a68cc227594738ec26d96c",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-phar": "*",
- "ext-xmlwriter": "*",
- "phar-io/version": "^3.0.1",
- "php": "^7.2 || ^8.0"
+ "nikic/php-parser": "^5.6.1",
+ "pestphp/pest-plugin": "^4.0.0",
+ "php": "^8.3",
+ "psr/simple-cache": "^3.0.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
+ "require-dev": {
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0",
+ "pestphp/pest-plugin-type-coverage": "^4.0.0"
},
+ "type": "library",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Pest\\Mutate\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
},
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
+ "name": "Sandro Gehri",
+ "email": "sandrogehri@gmail.com"
}
],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "description": "Mutates your code to find untested cases",
+ "keywords": [
+ "framework",
+ "mutate",
+ "mutation",
+ "pest",
+ "php",
+ "plugin",
+ "test",
+ "testing",
+ "unit"
+ ],
"support": {
- "issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.4"
+ "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v4.0.1"
},
"funding": [
{
- "url": "https://github.com/theseer",
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/gehrisandro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
"type": "github"
}
],
- "time": "2024-03-03T12:33:53+00:00"
+ "time": "2025-08-21T20:19:25+00:00"
},
{
- "name": "phar-io/version",
- "version": "3.2.1",
+ "name": "pestphp/pest-plugin-profanity",
+ "version": "v4.2.1",
"source": {
"type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ "url": "https://github.com/pestphp/pest-plugin-profanity.git",
+ "reference": "343cfa6f3564b7e35df0ebb77b7fa97039f72b27"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
- "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-profanity/zipball/343cfa6f3564b7e35df0ebb77b7fa97039f72b27",
+ "reference": "343cfa6f3564b7e35df0ebb77b7fa97039f72b27",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "pestphp/pest-plugin": "^4.0.0",
+ "php": "^8.3"
+ },
+ "require-dev": {
+ "faissaloux/pest-plugin-inside": "^1.9",
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
},
"type": "library",
+ "extra": {
+ "pest": {
+ "plugins": [
+ "Pest\\Profanity\\Plugin"
+ ]
+ }
+ },
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Pest\\Profanity\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
+ "description": "The Pest Profanity Plugin",
+ "keywords": [
+ "framework",
+ "pest",
+ "php",
+ "plugin",
+ "profanity",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin-profanity/tree/v4.2.1"
+ },
+ "time": "2025-12-08T00:13:17+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
{
"name": "Sebastian Heuer",
"email": "sebastian@phpeople.de",
@@ -11824,16 +12179,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.6.3",
+ "version": "6.0.3",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9"
+ "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9",
- "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/7bae67520aa9f5ecc506d646810bd40d9da54582",
+ "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582",
"shasum": ""
},
"require": {
@@ -11841,9 +12196,9 @@
"ext-filter": "*",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.7",
- "phpstan/phpdoc-parser": "^1.7|^2.0",
- "webmozart/assert": "^1.9.1"
+ "phpdocumentor/type-resolver": "^2.0",
+ "phpstan/phpdoc-parser": "^2.0",
+ "webmozart/assert": "^1.9.1 || ^2"
},
"require-dev": {
"mockery/mockery": "~1.3.5 || ~1.6.0",
@@ -11852,7 +12207,8 @@
"phpstan/phpstan-mockery": "^1.1",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.5",
- "psalm/phar": "^5.26"
+ "psalm/phar": "^5.26",
+ "shipmonk/dead-code-detector": "^0.5.1"
},
"type": "library",
"extra": {
@@ -11882,44 +12238,44 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.3"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.3"
},
- "time": "2025-08-01T19:43:32+00:00"
+ "time": "2026-03-18T20:49:53+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.10.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
+ "reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/327a05bbee54120d4786a0dc67aad30226ad4cf9",
+ "reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
- "php": "^7.3 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.18|^2.0"
+ "phpstan/phpdoc-parser": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "psalm/phar": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-1.x": "1.x-dev"
+ "dev-1.x": "1.x-dev",
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
@@ -11940,9 +12296,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/2.0.0"
},
- "time": "2024-11-09T15:12:26+00:00"
+ "time": "2026-01-06T21:53:42+00:00"
},
{
"name": "phpstan/extension-installer",
@@ -11994,16 +12350,16 @@
},
{
"name": "phpstan/phpdoc-parser",
- "version": "2.3.0",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495"
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495",
- "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
"shasum": ""
},
"require": {
@@ -12035,26 +12391,21 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
},
- "time": "2025-08-30T15:50:23+00:00"
+ "time": "2026-01-25T14:56:51+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "1.12.31",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan-phar-composer-source.git",
- "reference": "git1"
- },
+ "version": "2.1.42",
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a7630bb5311a41d13a2364634c78c5f4da250d53",
- "reference": "a7630bb5311a41d13a2364634c78c5f4da250d53",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1279e1ce86ba768f0780c9d889852b4e02ff40d0",
+ "reference": "1279e1ce86ba768f0780c9d889852b4e02ff40d0",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0"
+ "php": "^7.4|^8.0"
},
"conflict": {
"phpstan/phpstan-shim": "*"
@@ -12095,30 +12446,30 @@
"type": "github"
}
],
- "time": "2025-09-24T15:58:55+00:00"
+ "time": "2026-03-17T14:58:32+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
- "version": "1.2.1",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-deprecation-rules.git",
- "reference": "f94d246cc143ec5a23da868f8f7e1393b50eaa82"
+ "reference": "6b5571001a7f04fa0422254c30a0017ec2f2cacc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/f94d246cc143ec5a23da868f8f7e1393b50eaa82",
- "reference": "f94d246cc143ec5a23da868f8f7e1393b50eaa82",
+ "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/6b5571001a7f04fa0422254c30a0017ec2f2cacc",
+ "reference": "6b5571001a7f04fa0422254c30a0017ec2f2cacc",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.12"
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^2.1.39"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^9.5"
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.6"
},
"type": "phpstan-extension",
"extra": {
@@ -12138,38 +12489,42 @@
"MIT"
],
"description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.",
+ "keywords": [
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues",
- "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.2.1"
+ "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.4"
},
- "time": "2024-09-11T15:52:35+00:00"
+ "time": "2026-02-09T13:21:14+00:00"
},
{
"name": "phpstan/phpstan-phpunit",
- "version": "1.4.2",
+ "version": "2.0.16",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-phpunit.git",
- "reference": "72a6721c9b64b3e4c9db55abbc38f790b318267e"
+ "reference": "6ab598e1bc106e6827fd346ae4a12b4a5d634c32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/72a6721c9b64b3e4c9db55abbc38f790b318267e",
- "reference": "72a6721c9b64b3e4c9db55abbc38f790b318267e",
+ "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/6ab598e1bc106e6827fd346ae4a12b4a5d634c32",
+ "reference": "6ab598e1bc106e6827fd346ae4a12b4a5d634c32",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.12"
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^2.1.32"
},
"conflict": {
"phpunit/phpunit": "<7.0"
},
"require-dev": {
- "nikic/php-parser": "^4.13.0",
+ "nikic/php-parser": "^5",
"php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan-strict-rules": "^1.5.1",
- "phpunit/phpunit": "^9.5"
+ "phpstan/phpstan-deprecation-rules": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^9.6"
},
"type": "phpstan-extension",
"extra": {
@@ -12190,36 +12545,38 @@
"MIT"
],
"description": "PHPUnit extensions and rules for PHPStan",
+ "keywords": [
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan-phpunit/issues",
- "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.4.2"
+ "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.16"
},
- "time": "2024-12-17T17:20:49+00:00"
+ "time": "2026-02-14T09:05:21+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
- "version": "1.6.2",
+ "version": "2.0.10",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "b564ca479e7e735f750aaac4935af965572a7845"
+ "reference": "1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/b564ca479e7e735f750aaac4935af965572a7845",
- "reference": "b564ca479e7e735f750aaac4935af965572a7845",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f",
+ "reference": "1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.12.4"
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^2.1.39"
},
"require-dev": {
- "nikic/php-parser": "^4.13.0",
"php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan-deprecation-rules": "^1.1",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^9.5"
+ "phpstan/phpstan-deprecation-rules": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.6"
},
"type": "phpstan-extension",
"extra": {
@@ -12239,43 +12596,45 @@
"MIT"
],
"description": "Extra strict and opinionated rules for PHPStan",
+ "keywords": [
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
- "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.6.2"
+ "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.10"
},
- "time": "2025-01-19T13:02:24+00:00"
+ "time": "2026-02-11T14:17:32+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.1.16",
+ "version": "12.5.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7e308268858ed6baedc8704a304727d20bc07c77"
+ "reference": "b015312f28dd75b75d3422ca37dff2cd1a565e8d"
},
"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/b015312f28dd75b75d3422ca37dff2cd1a565e8d",
+ "reference": "b015312f28dd75b75d3422ca37dff2cd1a565e8d",
"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",
- "theseer/tokenizer": "^1.2.3"
+ "nikic/php-parser": "^5.7.0",
+ "php": ">=8.3",
+ "phpunit/php-file-iterator": "^6.0",
+ "phpunit/php-text-template": "^5.0",
+ "sebastian/complexity": "^5.0",
+ "sebastian/environment": "^8.0.3",
+ "sebastian/lines-of-code": "^4.0",
+ "sebastian/version": "^6.0",
+ "theseer/tokenizer": "^2.0.1"
},
"require-dev": {
- "phpunit/phpunit": "^10.1"
+ "phpunit/phpunit": "^12.5.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -12284,7 +12643,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.1.x-dev"
+ "dev-main": "12.5.x-dev"
}
},
"autoload": {
@@ -12313,40 +12672,52 @@
"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/12.5.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage",
+ "type": "tidelift"
}
],
- "time": "2024-08-22T04:31:57+00:00"
+ "time": "2026-02-06T06:01:44+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "4.1.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
+ "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5"
},
"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/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5",
+ "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -12374,36 +12745,48 @@
"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/6.0.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator",
+ "type": "tidelift"
}
],
- "time": "2023-08-31T06:24:48+00:00"
+ "time": "2026-02-02T14:04:18+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "4.0.0",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
+ "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406"
},
"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/12b54e689b07a25a9b41e57736dfab6ec9ae5406",
+ "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -12411,7 +12794,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -12437,7 +12820,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/6.0.0"
},
"funding": [
{
@@ -12445,32 +12829,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:56:09+00:00"
+ "time": "2025-02-07T04:58:58+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "3.0.1",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
+ "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53"
},
"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/e1367a453f0eda562eedb4f659e13aa900d66c53",
+ "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -12497,7 +12881,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/5.0.0"
},
"funding": [
{
@@ -12505,32 +12889,32 @@
"type": "github"
}
],
- "time": "2023-08-31T14:07:24+00:00"
+ "time": "2025-02-07T04:59:16+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "6.0.0",
+ "version": "8.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
+ "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc"
},
"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/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc",
+ "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -12556,7 +12940,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/8.0.0"
},
"funding": [
{
@@ -12564,20 +12949,20 @@
"type": "github"
}
],
- "time": "2023-02-03T06:57:52+00:00"
+ "time": "2025-02-07T04:59:38+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "10.5.36",
+ "version": "12.5.14",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870"
+ "reference": "47283cfd98d553edcb1353591f4e255dc1bb61f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870",
- "reference": "aa0a8ce701ea7ee314b0dfaa8970dc94f3f8c870",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/47283cfd98d553edcb1353591f4e255dc1bb61f0",
+ "reference": "47283cfd98d553edcb1353591f4e255dc1bb61f0",
"shasum": ""
},
"require": {
@@ -12587,29 +12972,26 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.12.0",
+ "myclabs/deep-copy": "^1.13.4",
"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.2",
- "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"
- },
- "suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files"
+ "php": ">=8.3",
+ "phpunit/php-code-coverage": "^12.5.3",
+ "phpunit/php-file-iterator": "^6.0.1",
+ "phpunit/php-invoker": "^6.0.0",
+ "phpunit/php-text-template": "^5.0.0",
+ "phpunit/php-timer": "^8.0.0",
+ "sebastian/cli-parser": "^4.2.0",
+ "sebastian/comparator": "^7.1.4",
+ "sebastian/diff": "^7.0.0",
+ "sebastian/environment": "^8.0.3",
+ "sebastian/exporter": "^7.0.2",
+ "sebastian/global-state": "^8.0.2",
+ "sebastian/object-enumerator": "^7.0.0",
+ "sebastian/recursion-context": "^7.0.1",
+ "sebastian/type": "^6.0.3",
+ "sebastian/version": "^6.0.0",
+ "staabm/side-effects-detector": "^1.0.5"
},
"bin": [
"phpunit"
@@ -12617,7 +12999,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.5-dev"
+ "dev-main": "12.5-dev"
}
},
"autoload": {
@@ -12649,7 +13031,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.36"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.14"
},
"funding": [
{
@@ -12660,29 +13042,37 @@
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
"type": "tidelift"
}
],
- "time": "2024-10-08T15:36:51+00:00"
+ "time": "2026-02-18T12:38:40+00:00"
},
{
"name": "psalm/plugin-laravel",
- "version": "v3.0.4",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/psalm/psalm-plugin-laravel.git",
- "reference": "364a35e28d45cabaece26f2a2e51e50fc43e99b4"
+ "reference": "3f29cc269d45c5e92636d3f4c7270017af9f4187"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/psalm/psalm-plugin-laravel/zipball/364a35e28d45cabaece26f2a2e51e50fc43e99b4",
- "reference": "364a35e28d45cabaece26f2a2e51e50fc43e99b4",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-laravel/zipball/3f29cc269d45c5e92636d3f4c7270017af9f4187",
+ "reference": "3f29cc269d45c5e92636d3f4c7270017af9f4187",
"shasum": ""
},
"require": {
- "barryvdh/laravel-ide-helper": "~3.5.4",
+ "barryvdh/laravel-ide-helper": "^3.6",
"ext-simplexml": "*",
"illuminate/config": "^11.35 || ^12.0",
"illuminate/container": "^11.35 || ^12.0",
@@ -12698,16 +13088,15 @@
"php": "^8.2",
"symfony/console": "^7.1",
"symfony/finder": "^7.1",
- "vimeo/psalm": "dev-master || ^6.0 || ^7.0.0-beta1"
+ "vimeo/psalm": "^6.15 || ^7.0.0-beta16 || dev-master"
},
"require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.94",
"laravel/framework": "^11.35 || ^12.0",
- "phpunit/phpunit": "^10.5 || ^11.5",
- "phpyh/psalm-tester": "^0.1.0",
+ "phpunit/phpunit": "^11.5",
+ "phpyh/psalm-tester": "dev-batch",
"ramsey/collection": "^1.3",
- "rector/rector": "^2.0",
- "slevomat/coding-standard": "^8.15",
- "squizlabs/php_codesniffer": "^3.11",
+ "rector/rector": "^2.3",
"symfony/http-foundation": "^7.1"
},
"type": "psalm-plugin",
@@ -12741,22 +13130,22 @@
],
"support": {
"issues": "https://github.com/psalm/psalm-plugin-laravel/issues",
- "source": "https://github.com/psalm/psalm-plugin-laravel/tree/v3.0.4"
+ "source": "https://github.com/psalm/psalm-plugin-laravel/tree/v3.1.5"
},
- "time": "2025-08-12T18:13:40+00:00"
+ "time": "2026-03-14T19:57:26+00:00"
},
{
"name": "psalm/plugin-phpunit",
- "version": "0.19.5",
+ "version": "0.19.6",
"source": {
"type": "git",
"url": "https://github.com/psalm/psalm-plugin-phpunit.git",
- "reference": "143f9d5e049fffcdbc0da3fbb99f6149f9d3e2dc"
+ "reference": "ed7b87080910aad237d652674768a64fc1c80b78"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/143f9d5e049fffcdbc0da3fbb99f6149f9d3e2dc",
- "reference": "143f9d5e049fffcdbc0da3fbb99f6149f9d3e2dc",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/ed7b87080910aad237d652674768a64fc1c80b78",
+ "reference": "ed7b87080910aad237d652674768a64fc1c80b78",
"shasum": ""
},
"require": {
@@ -12799,22 +13188,22 @@
"description": "Psalm plugin for PHPUnit",
"support": {
"issues": "https://github.com/psalm/psalm-plugin-phpunit/issues",
- "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.19.5"
+ "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.19.6"
},
- "time": "2025-03-31T18:49:55+00:00"
+ "time": "2025-04-01T09:10:55+00:00"
},
{
"name": "psy/psysh",
- "version": "v0.12.12",
+ "version": "v0.12.21",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "cd23863404a40ccfaf733e3af4db2b459837f7e7"
+ "reference": "4821fab5b7cd8c49a673a9fd5754dc9162bb9e97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/cd23863404a40ccfaf733e3af4db2b459837f7e7",
- "reference": "cd23863404a40ccfaf733e3af4db2b459837f7e7",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4821fab5b7cd8c49a673a9fd5754dc9162bb9e97",
+ "reference": "4821fab5b7cd8c49a673a9fd5754dc9162bb9e97",
"shasum": ""
},
"require": {
@@ -12822,18 +13211,19 @@
"ext-tokenizer": "*",
"nikic/php-parser": "^5.0 || ^4.0",
"php": "^8.0 || ^7.4",
- "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4",
- "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4"
+ "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4",
+ "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4"
},
"conflict": {
"symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.2"
+ "bamarni/composer-bin-plugin": "^1.2",
+ "composer/class-map-generator": "^1.6"
},
"suggest": {
+ "composer/class-map-generator": "Improved tab completion performance with better class discovery.",
"ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
- "ext-pdo-sqlite": "The doc command requires SQLite to work.",
"ext-posix": "If you have PCNTL, you'll want the POSIX extension as well."
},
"bin": [
@@ -12877,9 +13267,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.12.12"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.12.21"
},
- "time": "2025-09-20T13:46:31+00:00"
+ "time": "2026-03-06T21:21:28+00:00"
},
{
"name": "react/cache",
@@ -12955,16 +13345,16 @@
},
{
"name": "react/child-process",
- "version": "v0.6.6",
+ "version": "v0.6.7",
"source": {
"type": "git",
"url": "https://github.com/reactphp/child-process.git",
- "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159"
+ "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159",
- "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159",
+ "url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3",
+ "reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3",
"shasum": ""
},
"require": {
@@ -13018,7 +13408,7 @@
],
"support": {
"issues": "https://github.com/reactphp/child-process/issues",
- "source": "https://github.com/reactphp/child-process/tree/v0.6.6"
+ "source": "https://github.com/reactphp/child-process/tree/v0.6.7"
},
"funding": [
{
@@ -13026,20 +13416,20 @@
"type": "open_collective"
}
],
- "time": "2025-01-01T16:37:48+00:00"
+ "time": "2025-12-23T15:25:20+00:00"
},
{
"name": "react/dns",
- "version": "v1.13.0",
+ "version": "v1.14.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/dns.git",
- "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5"
+ "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5",
- "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5",
+ "url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3",
+ "reference": "7562c05391f42701c1fccf189c8225fece1cd7c3",
"shasum": ""
},
"require": {
@@ -13094,7 +13484,7 @@
],
"support": {
"issues": "https://github.com/reactphp/dns/issues",
- "source": "https://github.com/reactphp/dns/tree/v1.13.0"
+ "source": "https://github.com/reactphp/dns/tree/v1.14.0"
},
"funding": [
{
@@ -13102,20 +13492,20 @@
"type": "open_collective"
}
],
- "time": "2024-06-13T14:18:03+00:00"
+ "time": "2025-11-18T19:34:28+00:00"
},
{
"name": "react/event-loop",
- "version": "v1.5.0",
+ "version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/event-loop.git",
- "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354"
+ "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354",
- "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354",
+ "url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a",
+ "reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a",
"shasum": ""
},
"require": {
@@ -13166,7 +13556,7 @@
],
"support": {
"issues": "https://github.com/reactphp/event-loop/issues",
- "source": "https://github.com/reactphp/event-loop/tree/v1.5.0"
+ "source": "https://github.com/reactphp/event-loop/tree/v1.6.0"
},
"funding": [
{
@@ -13174,7 +13564,7 @@
"type": "open_collective"
}
],
- "time": "2023-11-13T13:48:05+00:00"
+ "time": "2025-11-17T20:46:25+00:00"
},
{
"name": "react/promise",
@@ -13251,16 +13641,16 @@
},
{
"name": "react/socket",
- "version": "v1.16.0",
+ "version": "v1.17.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/socket.git",
- "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1"
+ "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
- "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
+ "url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08",
+ "reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08",
"shasum": ""
},
"require": {
@@ -13319,7 +13709,7 @@
],
"support": {
"issues": "https://github.com/reactphp/socket/issues",
- "source": "https://github.com/reactphp/socket/tree/v1.16.0"
+ "source": "https://github.com/reactphp/socket/tree/v1.17.0"
},
"funding": [
{
@@ -13327,7 +13717,7 @@
"type": "open_collective"
}
],
- "time": "2024-07-26T10:38:09+00:00"
+ "time": "2025-11-19T20:47:34+00:00"
},
{
"name": "react/stream",
@@ -13409,21 +13799,21 @@
},
{
"name": "rector/rector",
- "version": "1.2.10",
+ "version": "2.3.9",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "40f9cf38c05296bd32f444121336a521a293fa61"
+ "reference": "917842143fd9f5331a2adefc214b8d7143bd32c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61",
- "reference": "40f9cf38c05296bd32f444121336a521a293fa61",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/917842143fd9f5331a2adefc214b8d7143bd32c4",
+ "reference": "917842143fd9f5331a2adefc214b8d7143bd32c4",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0",
- "phpstan/phpstan": "^1.12.5"
+ "php": "^7.4|^8.0",
+ "phpstan/phpstan": "^2.1.40"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -13448,6 +13838,7 @@
"MIT"
],
"description": "Instant Upgrade and Automated Refactoring of any PHP code",
+ "homepage": "https://getrector.com/",
"keywords": [
"automation",
"dev",
@@ -13456,7 +13847,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/1.2.10"
+ "source": "https://github.com/rectorphp/rector/tree/2.3.9"
},
"funding": [
{
@@ -13464,20 +13855,20 @@
"type": "github"
}
],
- "time": "2024-11-08T13:59:10+00:00"
+ "time": "2026-03-16T09:43:55+00:00"
},
{
"name": "revolt/event-loop",
- "version": "v1.0.7",
+ "version": "v1.0.8",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3"
+ "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3",
+ "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c",
+ "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c",
"shasum": ""
},
"require": {
@@ -13534,38 +13925,38 @@
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
- "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7"
+ "source": "https://github.com/revoltphp/event-loop/tree/v1.0.8"
},
- "time": "2025-01-25T19:27:39+00:00"
+ "time": "2025-08-27T21:33:23+00:00"
},
{
"name": "roave/infection-static-analysis-plugin",
- "version": "1.39.0",
+ "version": "1.43.0",
"source": {
"type": "git",
"url": "https://github.com/Roave/infection-static-analysis-plugin.git",
- "reference": "8f4b2c20f55c51d6d1af53daccc5ee03bf2198de"
+ "reference": "bcbbfae6f8856a342f08f645e64e7a141bb60f69"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/infection-static-analysis-plugin/zipball/8f4b2c20f55c51d6d1af53daccc5ee03bf2198de",
- "reference": "8f4b2c20f55c51d6d1af53daccc5ee03bf2198de",
+ "url": "https://api.github.com/repos/Roave/infection-static-analysis-plugin/zipball/bcbbfae6f8856a342f08f645e64e7a141bb60f69",
+ "reference": "bcbbfae6f8856a342f08f645e64e7a141bb60f69",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2",
- "infection/infection": "0.29.14",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "infection/infection": "0.32.0",
+ "php": "~8.3.0 || ~8.4.0 || ~8.5.0",
"sanmai/later": "^0.1.7",
- "vimeo/psalm": "^6.13.1"
+ "vimeo/psalm": "^6.14.3"
},
"conflict": {
"symfony/polyfill-php84": "<1.30.0"
},
"require-dev": {
- "azjezz/psl": "^3.3.0",
- "doctrine/coding-standard": "^13.0.1",
- "phpunit/phpunit": "^11.5.34",
+ "azjezz/psl": "^4.2.0",
+ "doctrine/coding-standard": "^14.0.0",
+ "phpunit/phpunit": "^12.5.4",
"psalm/plugin-phpunit": "^0.19.5"
},
"bin": [
@@ -13590,65 +13981,80 @@
"description": "Static analysis on top of mutation testing - prevents escaped mutants from being invalid according to static analysis",
"support": {
"issues": "https://github.com/Roave/infection-static-analysis-plugin/issues",
- "source": "https://github.com/Roave/infection-static-analysis-plugin/tree/1.39.0"
+ "source": "https://github.com/Roave/infection-static-analysis-plugin/tree/1.43.0"
},
- "time": "2025-08-21T11:27:22+00:00"
+ "time": "2025-12-29T09:46:14+00:00"
},
{
- "name": "sanmai/later",
- "version": "0.1.7",
+ "name": "sanmai/di-container",
+ "version": "0.1.12",
"source": {
"type": "git",
- "url": "https://github.com/sanmai/later.git",
- "reference": "72a82d783864bca90412d8a26c1878f8981fee97"
+ "url": "https://github.com/sanmai/di-container.git",
+ "reference": "8b9ad72f6ac1f9e185e5bd060dc9479cb5191d8b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sanmai/later/zipball/72a82d783864bca90412d8a26c1878f8981fee97",
- "reference": "72a82d783864bca90412d8a26c1878f8981fee97",
+ "url": "https://api.github.com/repos/sanmai/di-container/zipball/8b9ad72f6ac1f9e185e5bd060dc9479cb5191d8b",
+ "reference": "8b9ad72f6ac1f9e185e5bd060dc9479cb5191d8b",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=8.2",
+ "psr/container": "^1.1.2 || ^2.0",
+ "sanmai/pipeline": "^6.17 || ^7.0"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.8",
- "friendsofphp/php-cs-fixer": "^3.35.1",
- "infection/infection": ">=0.27.6",
- "phan/phan": ">=2",
- "php-coveralls/php-coveralls": "^2.0",
- "phpstan/phpstan": ">=1.4.5",
- "phpunit/phpunit": ">=9.5 <10",
- "vimeo/psalm": ">=2"
+ "friendsofphp/php-cs-fixer": "^3.17",
+ "infection/infection": ">=0.31",
+ "php-coveralls/php-coveralls": "^2.4.1",
+ "phpbench/phpbench": "^1.4",
+ "phpstan/extension-installer": "^1.4",
+ "phpunit/phpunit": "^11.5.25",
+ "sanmai/phpstan-rules": "^0.3.10"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "0.1.x-dev"
- }
+ },
+ "preferred-install": "dist"
},
"autoload": {
- "files": [
- "src/functions.php"
- ],
"psr-4": {
- "Later\\": "src/"
+ "DIContainer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "Apache-2.0"
+ "BSD-3-Clause"
],
"authors": [
{
"name": "Alexey Kopytko",
- "email": "alexey@kopytko.com"
+ "email": "alexey@kopytko.com",
+ "homepage": "https://github.com/sanmai"
+ },
+ {
+ "name": "Maks Rafalko",
+ "homepage": "https://twitter.com/maks_rafalko"
+ },
+ {
+ "name": "Théo FIDRY",
+ "homepage": "https://twitter.com/tfidry"
}
],
- "description": "Later: deferred wrapper object",
+ "description": "dependency injection container with automatic constructor dependency resolution",
+ "keywords": [
+ "Autowiring",
+ "constructor di",
+ "di container",
+ "psr 11"
+ ],
"support": {
- "issues": "https://github.com/sanmai/later/issues",
- "source": "https://github.com/sanmai/later/tree/0.1.7"
+ "issues": "https://github.com/sanmai/di-container/issues",
+ "source": "https://github.com/sanmai/di-container/tree/0.1.12"
},
"funding": [
{
@@ -13656,51 +14062,46 @@
"type": "github"
}
],
- "time": "2025-05-11T01:48:00+00:00"
+ "time": "2026-01-27T08:25:46+00:00"
},
{
- "name": "sanmai/pipeline",
- "version": "6.22",
+ "name": "sanmai/duoclock",
+ "version": "0.1.3",
"source": {
"type": "git",
- "url": "https://github.com/sanmai/pipeline.git",
- "reference": "fb8d0c23b4ef085315a36d397fafa052203020ce"
+ "url": "https://github.com/sanmai/DuoClock.git",
+ "reference": "47461e3ff65b7308635047831a55615652e7be1a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sanmai/pipeline/zipball/fb8d0c23b4ef085315a36d397fafa052203020ce",
- "reference": "fb8d0c23b4ef085315a36d397fafa052203020ce",
+ "url": "https://api.github.com/repos/sanmai/DuoClock/zipball/47461e3ff65b7308635047831a55615652e7be1a",
+ "reference": "47461e3ff65b7308635047831a55615652e7be1a",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=8.2",
+ "psr/clock": "^1.0"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.8",
- "esi/phpunit-coverage-check": ">2",
"friendsofphp/php-cs-fixer": "^3.17",
- "infection/infection": ">=0.30.3",
- "league/pipeline": "^0.3 || ^1.0",
+ "infection/infection": ">=0.29",
"php-coveralls/php-coveralls": "^2.4.1",
"phpstan/extension-installer": "^1.4",
"phpstan/phpstan": "^2",
- "phpunit/phpunit": ">=9.4 <12",
- "sanmai/phpstan-rules": "^0.3.0",
- "sanmai/phpunit-double-colon-syntax": "^0.1.1",
- "vimeo/psalm": ">=2"
+ "phpunit/phpunit": "^11.5.25",
+ "sanmai/phpstan-rules": "^0.3.1"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "v6.x-dev"
- }
+ "preferred-install": "dist"
},
"autoload": {
- "files": [
- "src/functions.php"
- ],
"psr-4": {
- "Pipeline\\": "src/"
+ "DuoClock\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -13713,10 +14114,10 @@
"email": "alexey@kopytko.com"
}
],
- "description": "General-purpose collections pipeline",
+ "description": "PHP time mocking for tests - PSR-20 clock with mockable sleep(), time(), and TimeSpy for PHPUnit testing",
"support": {
- "issues": "https://github.com/sanmai/pipeline/issues",
- "source": "https://github.com/sanmai/pipeline/tree/6.22"
+ "issues": "https://github.com/sanmai/DuoClock/issues",
+ "source": "https://github.com/sanmai/DuoClock/tree/0.1.3"
},
"funding": [
{
@@ -13724,145 +14125,164 @@
"type": "github"
}
],
- "time": "2025-07-22T09:07:07+00:00"
+ "time": "2025-12-26T06:12:34+00:00"
},
{
- "name": "sebastian/cli-parser",
- "version": "2.0.1",
+ "name": "sanmai/later",
+ "version": "0.1.7",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
+ "url": "https://github.com/sanmai/later.git",
+ "reference": "72a82d783864bca90412d8a26c1878f8981fee97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
+ "url": "https://api.github.com/repos/sanmai/later/zipball/72a82d783864bca90412d8a26c1878f8981fee97",
+ "reference": "72a82d783864bca90412d8a26c1878f8981fee97",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "ergebnis/composer-normalize": "^2.8",
+ "friendsofphp/php-cs-fixer": "^3.35.1",
+ "infection/infection": ">=0.27.6",
+ "phan/phan": ">=2",
+ "php-coveralls/php-coveralls": "^2.0",
+ "phpstan/phpstan": ">=1.4.5",
+ "phpunit/phpunit": ">=9.5 <10",
+ "vimeo/psalm": ">=2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "0.1.x-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Later\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "Apache-2.0"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Alexey Kopytko",
+ "email": "alexey@kopytko.com"
}
],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "description": "Later: deferred wrapper object",
"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"
+ "issues": "https://github.com/sanmai/later/issues",
+ "source": "https://github.com/sanmai/later/tree/0.1.7"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/sanmai",
"type": "github"
}
],
- "time": "2024-03-02T07:12:49+00:00"
+ "time": "2025-05-11T01:48:00+00:00"
},
{
- "name": "sebastian/code-unit",
- "version": "2.0.0",
+ "name": "sanmai/pipeline",
+ "version": "7.9",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
+ "url": "https://github.com/sanmai/pipeline.git",
+ "reference": "d7046ecce91ae57fca403be694888371a21250eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
+ "url": "https://api.github.com/repos/sanmai/pipeline/zipball/d7046ecce91ae57fca403be694888371a21250eb",
+ "reference": "d7046ecce91ae57fca403be694888371a21250eb",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "ergebnis/composer-normalize": "^2.8",
+ "esi/phpunit-coverage-check": ">2",
+ "friendsofphp/php-cs-fixer": "^3.17",
+ "infection/infection": ">=0.32.3",
+ "league/pipeline": "^0.3 || ^1.0",
+ "php-coveralls/php-coveralls": "^2.4.1",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2",
+ "phpunit/phpunit": ">=9.4 <12",
+ "sanmai/phpstan-rules": "^0.3.11",
+ "sanmai/phpunit-double-colon-syntax": "^0.1.1",
+ "vimeo/psalm": ">=2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "7.x-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Pipeline\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "Apache-2.0"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Alexey Kopytko",
+ "email": "alexey@kopytko.com"
}
],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "description": "General-purpose collections pipeline",
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
+ "issues": "https://github.com/sanmai/pipeline/issues",
+ "source": "https://github.com/sanmai/pipeline/tree/7.9"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/sanmai",
"type": "github"
}
],
- "time": "2023-02-03T06:58:43+00:00"
+ "time": "2026-01-16T11:54:05+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "3.0.0",
+ "name": "sebastian/cli-parser",
+ "version": "4.2.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04"
},
"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/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04",
+ "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.2-dev"
}
},
"autoload": {
@@ -13877,51 +14297,68 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
+ "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/4.2.0"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser",
+ "type": "tidelift"
}
],
- "time": "2023-02-03T06:59:15+00:00"
+ "time": "2025-09-14T09:36:45+00:00"
},
{
"name": "sebastian/comparator",
- "version": "5.0.4",
+ "version": "7.1.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e"
+ "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e",
- "reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/6a7de5df2e094f9a80b40a522391a7e6022df5f6",
+ "reference": "6a7de5df2e094f9a80b40a522391a7e6022df5f6",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/diff": "^5.0",
- "sebastian/exporter": "^5.0"
+ "php": ">=8.3",
+ "sebastian/diff": "^7.0",
+ "sebastian/exporter": "^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.5"
+ "phpunit/phpunit": "^12.2"
+ },
+ "suggest": {
+ "ext-bcmath": "For comparing BcMath\\Number objects"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "7.1-dev"
}
},
"autoload": {
@@ -13961,7 +14398,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.4"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.4"
},
"funding": [
{
@@ -13981,33 +14418,33 @@
"type": "tidelift"
}
],
- "time": "2025-09-07T05:25:07+00:00"
+ "time": "2026-01-24T09:28:48+00:00"
},
{
"name": "sebastian/complexity",
- "version": "3.2.0",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "68ff824baeae169ec9f2137158ee529584553799"
+ "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
- "reference": "68ff824baeae169ec9f2137158ee529584553799",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb",
+ "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.2-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -14031,7 +14468,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/5.0.0"
},
"funding": [
{
@@ -14039,33 +14476,33 @@
"type": "github"
}
],
- "time": "2023-12-21T08:37:17+00:00"
+ "time": "2025-02-07T04:55:25+00:00"
},
{
"name": "sebastian/diff",
- "version": "5.1.1",
+ "version": "7.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
+ "reference": "7ab1ea946c012266ca32390913653d844ecd085f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f",
+ "reference": "7ab1ea946c012266ca32390913653d844ecd085f",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0",
- "symfony/process": "^6.4"
+ "phpunit/phpunit": "^12.0",
+ "symfony/process": "^7.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -14098,7 +14535,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/7.0.0"
},
"funding": [
{
@@ -14106,27 +14543,27 @@
"type": "github"
}
],
- "time": "2024-03-02T07:15:17+00:00"
+ "time": "2025-02-07T04:55:46+00:00"
},
{
"name": "sebastian/environment",
- "version": "6.1.0",
+ "version": "8.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
+ "reference": "7b8842c2d8e85d0c3a5831236bf5869af6ab2a11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/7b8842c2d8e85d0c3a5831236bf5869af6ab2a11",
+ "reference": "7b8842c2d8e85d0c3a5831236bf5869af6ab2a11",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"suggest": {
"ext-posix": "*"
@@ -14134,7 +14571,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.1-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -14162,42 +14599,54 @@
"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/8.0.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/environment",
+ "type": "tidelift"
}
],
- "time": "2024-03-23T08:47:14+00:00"
+ "time": "2026-03-15T07:05:40+00:00"
},
{
"name": "sebastian/exporter",
- "version": "5.1.4",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "0735b90f4da94969541dac1da743446e276defa6"
+ "reference": "016951ae10980765e4e7aee491eb288c64e505b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6",
- "reference": "0735b90f4da94969541dac1da743446e276defa6",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7",
+ "reference": "016951ae10980765e4e7aee491eb288c64e505b7",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.3",
+ "sebastian/recursion-context": "^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.5"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -14240,7 +14689,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.4"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2"
},
"funding": [
{
@@ -14260,35 +14709,35 @@
"type": "tidelift"
}
],
- "time": "2025-09-24T06:09:11+00:00"
+ "time": "2025-09-24T06:16:11+00:00"
},
{
"name": "sebastian/global-state",
- "version": "6.0.2",
+ "version": "8.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
+ "reference": "ef1377171613d09edd25b7816f05be8313f9115d"
},
"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/ef1377171613d09edd25b7816f05be8313f9115d",
+ "reference": "ef1377171613d09edd25b7816f05be8313f9115d",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.3",
+ "sebastian/object-reflector": "^5.0",
+ "sebastian/recursion-context": "^7.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -14314,41 +14763,53 @@
"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/8.0.2"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T07:19:19+00:00"
+ "time": "2025-08-29T11:29:25+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "2.0.2",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
+ "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f"
},
"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/97ffee3bcfb5805568d6af7f0f893678fc076d2f",
+ "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -14372,7 +14833,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/4.0.0"
},
"funding": [
{
@@ -14380,34 +14841,34 @@
"type": "github"
}
],
- "time": "2023-12-21T08:38:20+00:00"
+ "time": "2025-02-07T04:57:28+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "5.0.0",
+ "version": "7.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
+ "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894"
},
"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/1effe8e9b8e068e9ae228e542d5d11b5d16db894",
+ "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.3",
+ "sebastian/object-reflector": "^5.0",
+ "sebastian/recursion-context": "^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -14429,7 +14890,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/7.0.0"
},
"funding": [
{
@@ -14437,32 +14899,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:08:32+00:00"
+ "time": "2025-02-07T04:57:48+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "3.0.0",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
+ "reference": "4bfa827c969c98be1e527abd576533293c634f6a"
},
"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/4bfa827c969c98be1e527abd576533293c634f6a",
+ "reference": "4bfa827c969c98be1e527abd576533293c634f6a",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -14484,7 +14946,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/5.0.0"
},
"funding": [
{
@@ -14492,32 +14955,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:06:18+00:00"
+ "time": "2025-02-07T04:58:17+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "5.0.1",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a"
+ "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a",
- "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
+ "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.5"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -14548,7 +15011,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1"
},
"funding": [
{
@@ -14568,32 +15031,32 @@
"type": "tidelift"
}
],
- "time": "2025-08-10T07:50:56+00:00"
+ "time": "2025-08-13T04:44:59+00:00"
},
{
"name": "sebastian/type",
- "version": "4.0.0",
+ "version": "6.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+ "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d",
+ "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -14616,37 +15079,50 @@
"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/6.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/type",
+ "type": "tidelift"
}
],
- "time": "2023-02-03T07:10:45+00:00"
+ "time": "2025-08-09T06:57:12+00:00"
},
{
"name": "sebastian/version",
- "version": "4.0.1",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+ "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c",
+ "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -14669,7 +15145,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/6.0.0"
},
"funding": [
{
@@ -14677,20 +15154,20 @@
"type": "github"
}
],
- "time": "2023-02-07T11:34:05+00:00"
+ "time": "2025-02-07T05:00:38+00:00"
},
{
"name": "spatie/array-to-xml",
- "version": "3.4.0",
+ "version": "3.4.4",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
- "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67"
+ "reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
- "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
+ "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/88b2f3852a922dd73177a68938f8eb2ec70c7224",
+ "reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224",
"shasum": ""
},
"require": {
@@ -14733,7 +15210,7 @@
"xml"
],
"support": {
- "source": "https://github.com/spatie/array-to-xml/tree/3.4.0"
+ "source": "https://github.com/spatie/array-to-xml/tree/3.4.4"
},
"funding": [
{
@@ -14745,100 +15222,86 @@
"type": "github"
}
],
- "time": "2024-12-16T12:45:15+00:00"
+ "time": "2025-12-15T09:00:41+00:00"
},
{
- "name": "symfony/filesystem",
- "version": "v7.3.2",
+ "name": "staabm/side-effects-detector",
+ "version": "1.0.5",
"source": {
"type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd"
+ "url": "https://github.com/staabm/side-effects-detector.git",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd",
- "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd",
+ "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8"
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
- "symfony/process": "^6.4|^7.0"
+ "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": {
- "psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "lib/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
+ "description": "A static analysis tool to detect side effects in PHP code",
+ "keywords": [
+ "static analysis"
],
- "description": "Provides basic utilities for the filesystem",
- "homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.3.2"
+ "issues": "https://github.com/staabm/side-effects-detector/issues",
+ "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5"
},
"funding": [
{
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://github.com/nicolas-grekas",
+ "url": "https://github.com/staabm",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
}
],
- "time": "2025-07-07T08:17:47+00:00"
+ "time": "2024-10-20T05:08:20+00:00"
},
{
- "name": "symfony/options-resolver",
- "version": "v7.3.3",
+ "name": "symfony/filesystem",
+ "version": "v8.0.6",
"source": {
"type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d"
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "7bf9162d7a0dff98d079b72948508fa48018a770"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d",
- "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/7bf9162d7a0dff98d079b72948508fa48018a770",
+ "reference": "7bf9162d7a0dff98d079b72948508fa48018a770",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3"
+ "php": ">=8.4",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8"
+ },
+ "require-dev": {
+ "symfony/process": "^7.4|^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
+ "Symfony\\Component\\Filesystem\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -14858,15 +15321,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an improved replacement for the array_replace PHP function",
+ "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.3.3"
+ "source": "https://github.com/symfony/filesystem/tree/v8.0.6"
},
"funding": [
{
@@ -14886,41 +15344,33 @@
"type": "tidelift"
}
],
- "time": "2025-08-05T10:16:07+00:00"
+ "time": "2026-02-25T16:59:43+00:00"
},
{
- "name": "symfony/polyfill-php81",
- "version": "v1.33.0",
+ "name": "symfony/options-resolver",
+ "version": "v8.0.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
+ "url": "https://github.com/symfony/options-resolver.git",
+ "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
- "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/d2b592535ffa6600c265a3893a7f7fd2bad82dd7",
+ "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7",
"shasum": ""
},
"require": {
- "php": ">=7.2"
+ "php": ">=8.4",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Php81\\": ""
+ "Symfony\\Component\\OptionsResolver\\": ""
},
- "classmap": [
- "Resources/stubs"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -14929,24 +15379,23 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "description": "Provides an improved replacement for the array_replace PHP function",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
+ "config",
+ "configuration",
+ "options"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0"
+ "source": "https://github.com/symfony/options-resolver/tree/v8.0.0"
},
"funding": [
{
@@ -14966,20 +15415,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2025-11-12T15:55:31+00:00"
},
{
- "name": "symfony/polyfill-php84",
+ "name": "symfony/polyfill-php81",
"version": "v1.33.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php84.git",
- "reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
- "reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
+ "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
@@ -14997,7 +15446,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php84\\": ""
+ "Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
@@ -15017,7 +15466,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -15026,7 +15475,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0"
},
"funding": [
{
@@ -15046,24 +15495,24 @@
"type": "tidelift"
}
],
- "time": "2025-06-24T13:30:11+00:00"
+ "time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v7.3.0",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd"
+ "reference": "67df1914c6ccd2d7b52f70d40cf2aea02159d942"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd",
- "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/67df1914c6ccd2d7b52f70d40cf2aea02159d942",
+ "reference": "67df1914c6ccd2d7b52f70d40cf2aea02159d942",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=8.4",
"symfony/service-contracts": "^2.5|^3"
},
"type": "library",
@@ -15092,7 +15541,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v7.3.0"
+ "source": "https://github.com/symfony/stopwatch/tree/v8.0.0"
},
"funding": [
{
@@ -15103,37 +15552,41 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-02-24T10:49:57+00:00"
+ "time": "2025-08-04T07:36:47+00:00"
},
{
"name": "symfony/yaml",
- "version": "v7.3.3",
+ "version": "v7.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d"
+ "reference": "58751048de17bae71c5aa0d13cb19d79bca26391"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/58751048de17bae71c5aa0d13cb19d79bca26391",
+ "reference": "58751048de17bae71c5aa0d13cb19d79bca26391",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -15164,7 +15617,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.3.3"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.6"
},
"funding": [
{
@@ -15184,28 +15637,28 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T11:34:33+00:00"
+ "time": "2026-02-09T09:33:46+00:00"
},
{
"name": "ta-tikoma/phpunit-architecture-test",
- "version": "0.8.5",
+ "version": "0.8.7",
"source": {
"type": "git",
"url": "https://github.com/ta-tikoma/phpunit-architecture-test.git",
- "reference": "cf6fb197b676ba716837c886baca842e4db29005"
+ "reference": "1248f3f506ca9641d4f68cebcd538fa489754db8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/cf6fb197b676ba716837c886baca842e4db29005",
- "reference": "cf6fb197b676ba716837c886baca842e4db29005",
+ "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/1248f3f506ca9641d4f68cebcd538fa489754db8",
+ "reference": "1248f3f506ca9641d4f68cebcd538fa489754db8",
"shasum": ""
},
"require": {
"nikic/php-parser": "^4.18.0 || ^5.0.0",
"php": "^8.1.0",
- "phpdocumentor/reflection-docblock": "^5.3.0",
- "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0",
- "symfony/finder": "^6.4.0 || ^7.0.0"
+ "phpdocumentor/reflection-docblock": "^5.3.0 || ^6.0.0",
+ "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0 || ^13.0.0",
+ "symfony/finder": "^6.4.0 || ^7.0.0 || ^8.0.0"
},
"require-dev": {
"laravel/pint": "^1.13.7",
@@ -15241,22 +15694,22 @@
],
"support": {
"issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues",
- "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.5"
+ "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.7"
},
- "time": "2025-04-20T20:23:40+00:00"
+ "time": "2026-02-17T17:25:14+00:00"
},
{
"name": "thecodingmachine/safe",
- "version": "v3.3.0",
+ "version": "v3.4.0",
"source": {
"type": "git",
"url": "https://github.com/thecodingmachine/safe.git",
- "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236"
+ "reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/2cdd579eeaa2e78e51c7509b50cc9fb89a956236",
- "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236",
+ "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/705683a25bacf0d4860c7dea4d7947bfd09eea19",
+ "reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19",
"shasum": ""
},
"require": {
@@ -15366,7 +15819,7 @@
"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/v3.3.0"
+ "source": "https://github.com/thecodingmachine/safe/tree/v3.4.0"
},
"funding": [
{
@@ -15377,32 +15830,36 @@
"url": "https://github.com/shish",
"type": "github"
},
+ {
+ "url": "https://github.com/silasjoisten",
+ "type": "github"
+ },
{
"url": "https://github.com/staabm",
"type": "github"
}
],
- "time": "2025-05-14T06:15:44+00:00"
+ "time": "2026-02-04T18:08:13+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.3",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
+ "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/7989e43bf381af0eac72e4f0ca5bcbfa81658be4",
+ "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-tokenizer": "*",
"ext-xmlwriter": "*",
- "php": "^7.2 || ^8.0"
+ "php": "^8.1"
},
"type": "library",
"autoload": {
@@ -15424,7 +15881,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
+ "source": "https://github.com/theseer/tokenizer/tree/2.0.1"
},
"funding": [
{
@@ -15432,20 +15889,20 @@
"type": "github"
}
],
- "time": "2024-03-03T12:36:25+00:00"
+ "time": "2025-12-08T11:19:18+00:00"
},
{
"name": "vimeo/psalm",
- "version": "6.13.1",
+ "version": "6.16.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
- "reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51"
+ "reference": "f1f5de594dc76faf8784e02d3dc4716c91c6f6ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
- "reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/f1f5de594dc76faf8784e02d3dc4716c91c6f6ac",
+ "reference": "f1f5de594dc76faf8784e02d3dc4716c91c6f6ac",
"shasum": ""
},
"require": {
@@ -15468,11 +15925,11 @@
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
"netresearch/jsonmapper": "^5.0",
"nikic/php-parser": "^5.0.0",
- "php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3",
- "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0",
+ "php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0",
+ "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
- "symfony/console": "^6.0 || ^7.0",
- "symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3",
+ "symfony/console": "^6.0 || ^7.0 || ^8.0",
+ "symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0",
"symfony/polyfill-php84": "^1.31.0"
},
"provide": {
@@ -15494,7 +15951,7 @@
"psalm/plugin-phpunit": "^0.19",
"slevomat/coding-standard": "^8.4",
"squizlabs/php_codesniffer": "^3.6",
- "symfony/process": "^6.0 || ^7.0"
+ "symfony/process": "^6.0 || ^7.0 || ^8.0"
},
"suggest": {
"ext-curl": "In order to send data to shepherd",
@@ -15550,7 +16007,7 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
- "time": "2025-08-06T10:10:28+00:00"
+ "time": "2026-03-19T10:56:09+00:00"
},
{
"name": "wayofdev/cs-fixer-config",
@@ -15631,15 +16088,79 @@
}
],
"time": "2024-06-18T09:13:20+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "2.1.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "ff31ad6efc62e66e518fbab1cde3453d389bcdc8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/ff31ad6efc62e66e518fbab1cde3453d389bcdc8",
+ "reference": "ff31ad6efc62e66e518fbab1cde3453d389bcdc8",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-date": "*",
+ "ext-filter": "*",
+ "php": "^8.2"
+ },
+ "suggest": {
+ "ext-intl": "",
+ "ext-simplexml": "",
+ "ext-spl": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-feature/2-0": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ },
+ {
+ "name": "Woody Gilk",
+ "email": "woody.gilk@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/2.1.6"
+ },
+ "time": "2026-02-27T10:28:38+00:00"
}
],
"aliases": [],
"minimum-stability": "dev",
- "stability-flags": {},
+ "stability-flags": {
+ "vimeo/psalm": 10
+ },
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": "^8.2",
+ "php": "^8.3",
"ext-fileinfo": "*",
"ext-pdo": "*"
},
@@ -15648,7 +16169,7 @@
"ext-pdo_mysql": "*"
},
"platform-overrides": {
- "php": "8.2.27"
+ "php": "8.4.19"
},
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.9.0"
}
diff --git a/docker-compose.yaml b/docker-compose.yaml
index e526c1a0..e0ee6c41 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -2,7 +2,7 @@
services:
app:
- image: wayofdev/php-dev:8.3-cli-alpine-latest
+ image: wayofdev/php-dev:8.4-cli-alpine-latest
container_name: ${COMPOSE_PROJECT_NAME}-app
restart: on-failure
networks:
@@ -79,7 +79,7 @@ services:
- sqlserver-data:/var/opt/mssql
healthcheck:
test:
- ['CMD', '/opt/mssql-tools/bin/sqlcmd', '-S', 'localhost', '-U', 'SA', '-P', '${DB_PASSWORD}', '-l', '30', '-Q', 'SELECT 1']
+ ['CMD', '/opt/mssql-tools18/bin/sqlcmd', '-S', 'localhost', '-U', 'SA', '-P', '${DB_PASSWORD}', '-l', '30', '-Q', 'SELECT 1', '-C']
interval: 3s
timeout: 1s
retries: 10
diff --git a/docs/pages/getting-started/installation.mdx b/docs/pages/getting-started/installation.mdx
index 92831faa..7c952563 100644
--- a/docs/pages/getting-started/installation.mdx
+++ b/docs/pages/getting-started/installation.mdx
@@ -8,16 +8,17 @@ Welcome to the installation guide for the Laravel CycleORM Adapter. This documen
Before you begin, ensure your development environment meets the following requirements:
-- **PHP Version:** 8.2 or higher
-- **Laravel:** 10.x, 11.x, or 12.x
+- **PHP Version:** 8.3 or higher
+- **Laravel:** 11.x, 12.x, or 13.x
## 🧩 Compatibility Map
-| Laravel | Cycle ORM | Adapter |
-|----------------------|-----------|----------|
-| `^10.28` | `2.x` | `<4.9.0` |
-| `^10.28, 11.x` | `2.x` | `≥4.9.0` |
-| `^10.28, 11.x, 12.x` | `2.x` | `≥5.0.0` |
+| Laravel | Cycle ORM | Adapter | PHP Version |
+|----------------------|-----------|----------|-------------|
+| `^10.28` | `2.x` | `<4.9.0` | `^8.2` |
+| `^10.28, 11.x` | `2.x` | `≥4.9.0` | `^8.2` |
+| `^10.28, 11.x, 12.x` | `2.x` | `5.0.0` | `^8.2` |
+| `11.x, 12.x, 13.x` | `2.x` | `>5.0.0` | `^8.3` |
## 🚀 Quick Start
@@ -49,7 +50,7 @@ $ php artisan vendor:publish \
## 🏭 Database Factories (Optional)
-If you need support for Eloquent-like Factories, install the following package:
+If you need support for Eloquent-like Factories, install the following package:
```bash
$ composer req --dev wayofdev/laravel-cycle-orm-factories
diff --git a/docs/pages/services/testing.mdx b/docs/pages/services/testing.mdx
index adad9051..ffacba45 100644
--- a/docs/pages/services/testing.mdx
+++ b/docs/pages/services/testing.mdx
@@ -108,6 +108,14 @@ $this->assertDatabaseMissing('posts', [
]);
```
+### `assertDatabaseEmpty`
+
+Assert that a table in the database is empty:
+
+```php
+$this->assertDatabaseEmpty('posts');
+```
+
### `assertSoftDeleted`
Assert that a given entity has been soft-deleted:
diff --git a/phpstan.neon.dist b/phpstan.neon.dist
index 6ef8ccd9..85d5953c 100644
--- a/phpstan.neon.dist
+++ b/phpstan.neon.dist
@@ -10,3 +10,6 @@ parameters:
checkOctaneCompatibility: true
checkModelProperties: true
tmpDir: .build/phpstan/
+ ignoreErrors:
+ -
+ message: "#Trait WayOfDev\\\\App\\\\Entities\\\\HasSignatures is used zero times#"
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 8e284875..0e1e41b6 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -1,20 +1,10 @@
-
+
-
-
-
-
-
-
-
-
-
-
option('force')]]>
@@ -138,16 +128,12 @@
-
-
-
-
@@ -280,11 +266,6 @@
-
-
-
-
-
diff --git a/src/Bridge/Laravel/Console/Commands/Database/ListCommand.php b/src/Bridge/Laravel/Console/Commands/Database/ListCommand.php
index badfe4b5..c10269d7 100644
--- a/src/Bridge/Laravel/Console/Commands/Database/ListCommand.php
+++ b/src/Bridge/Laravel/Console/Commands/Database/ListCommand.php
@@ -42,6 +42,9 @@ final class ListCommand extends Command
protected $description = 'Get list of available databases, their tables and records count';
+ /**
+ * Execute the console command.
+ */
public function handle(DatabaseConfig $config, DatabaseProviderInterface $dbal): int
{
/** @var string|null $databaseArgumentValue */
@@ -53,7 +56,7 @@ public function handle(DatabaseConfig $config, DatabaseProviderInterface $dbal):
: array_keys($config->getDatabases());
if (count($databases) === 0) {
- $this->line('No databases found.', 'fg=red');
+ $this->error('No databases found.');
return self::SUCCESS;
}
@@ -80,7 +83,7 @@ public function handle(DatabaseConfig $config, DatabaseProviderInterface $dbal):
} catch (Exception $exception) {
$this->renderException($grid, $header, $exception);
- if ($db->getName() != end($db)) {
+ if ($db->getName() !== end($databases)) {
$grid->addRow(new TableSeparator());
}
@@ -89,7 +92,7 @@ public function handle(DatabaseConfig $config, DatabaseProviderInterface $dbal):
$header[] = 'connected';
$this->renderTables($grid, $header, $db);
- if ($db->getName() != end($databases)) {
+ if ($db->getName() !== end($databases)) {
$grid->addRow(new TableSeparator());
}
}
@@ -99,6 +102,9 @@ public function handle(DatabaseConfig $config, DatabaseProviderInterface $dbal):
return self::SUCCESS;
}
+ /**
+ * Render the exception to the table.
+ */
private function renderException(Table $grid, array $header, Throwable $exception): void
{
$grid->addRow(
@@ -113,6 +119,9 @@ private function renderException(Table $grid, array $header, Throwable $exceptio
);
}
+ /**
+ * Render the database tables to the table helper.
+ */
private function renderTables(Table $grid, array $header, Database $database): void
{
foreach ($database->getTables() as $table) {
diff --git a/src/Bridge/Laravel/Console/Commands/Database/TableCommand.php b/src/Bridge/Laravel/Console/Commands/Database/TableCommand.php
index 692d9793..7b226272 100644
--- a/src/Bridge/Laravel/Console/Commands/Database/TableCommand.php
+++ b/src/Bridge/Laravel/Console/Commands/Database/TableCommand.php
@@ -38,13 +38,20 @@ final class TableCommand extends Command
protected $description = 'Describe table schema of specific database';
+ /**
+ * Create a new command instance.
+ */
public function __construct()
{
parent::__construct();
}
+ /**
+ * Execute the console command.
+ */
public function handle(DatabaseProviderInterface $dbal): int
{
+ /** @var string $tableName */
$tableName = $this->argument('table');
/** @var string|null $databaseOptionValue */
@@ -83,6 +90,9 @@ public function handle(DatabaseProviderInterface $dbal): int
return self::SUCCESS;
}
+ /**
+ * Describe table columns.
+ */
private function describeColumns(AbstractTable $schema): void
{
$columnsTable = (new Table($this->output))
@@ -120,6 +130,8 @@ private function describeColumns(AbstractTable $schema): void
}
/**
+ * Describe table indexes.
+ *
* @param array $indexes
*/
private function describeIndexes(DatabaseInterface $database, array $indexes, string $tableName): void
@@ -152,6 +164,8 @@ private function describeIndexes(DatabaseInterface $database, array $indexes, st
}
/**
+ * Describe table foreign keys.
+ *
* @param array $foreignKeys
*/
private function describeForeignKeys(DatabaseInterface $database, array $foreignKeys, string $tableName): void
@@ -198,6 +212,9 @@ private function describeForeignKeys(DatabaseInterface $database, array $foreign
$foreignTable->render();
}
+ /**
+ * Describe default value of a column.
+ */
private function describeDefaultValue(AbstractColumn $column, DriverInterface $driver): mixed
{
/** @var FragmentInterface|DateTimeInterface|scalar|null $defaultValue */
@@ -216,6 +233,9 @@ private function describeDefaultValue(AbstractColumn $column, DriverInterface $d
return $defaultValue;
}
+ /**
+ * Describe column type.
+ */
private function describeType(AbstractColumn $column): string
{
$type = $column->getType();
@@ -233,6 +253,9 @@ private function describeType(AbstractColumn $column): string
return $type;
}
+ /**
+ * Describe abstract column type.
+ */
private function describeAbstractType(AbstractColumn $column): string
{
$abstractType = $column->getAbstractType();
diff --git a/src/Bridge/Laravel/Facades/Cycle.php b/src/Bridge/Laravel/Facades/Cycle.php
index fd33b417..720ac4f1 100644
--- a/src/Bridge/Laravel/Facades/Cycle.php
+++ b/src/Bridge/Laravel/Facades/Cycle.php
@@ -8,6 +8,9 @@
class Cycle extends Facade
{
+ /**
+ * Get the registered name of the component.
+ */
protected static function getFacadeAccessor(): string
{
return 'cycle';
diff --git a/src/Bridge/Laravel/Providers/CycleServiceProvider.php b/src/Bridge/Laravel/Providers/CycleServiceProvider.php
index 1fdd1b97..5338d22d 100644
--- a/src/Bridge/Laravel/Providers/CycleServiceProvider.php
+++ b/src/Bridge/Laravel/Providers/CycleServiceProvider.php
@@ -21,6 +21,8 @@
final class CycleServiceProvider extends ServiceProvider
{
/**
+ * Bootstrap the application services.
+ *
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
@@ -44,6 +46,9 @@ public function boot(): void
}
}
+ /**
+ * Register the application services.
+ */
public function register(): void
{
// @phpstan-ignore-next-line
@@ -72,6 +77,9 @@ public function register(): void
$this->registerIntegrations();
}
+ /**
+ * Register external integrations.
+ */
private function registerIntegrations(): void
{
$services = [
@@ -88,6 +96,9 @@ private function registerIntegrations(): void
}
}
+ /**
+ * Register console commands.
+ */
private function registerConsoleCommands(): void
{
$this->commands([
diff --git a/src/Bridge/Laravel/Rules/Exists.php b/src/Bridge/Laravel/Rules/Exists.php
index f9a3ba99..e3c9525d 100644
--- a/src/Bridge/Laravel/Rules/Exists.php
+++ b/src/Bridge/Laravel/Rules/Exists.php
@@ -6,12 +6,14 @@
use Closure;
use Cycle\Database\DatabaseInterface;
-use Cycle\Database\Query\SelectQuery;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Translation\PotentiallyTranslatedString;
readonly class Exists implements ValidationRule
{
+ /**
+ * Create a new rule instance.
+ */
public function __construct(
private DatabaseInterface $database,
private string $table,
@@ -26,10 +28,11 @@ public function __construct(
*/
public function validate(string $attribute, mixed $value, Closure $fail): void
{
- /** @var SelectQuery $table */
- $table = $this->database->table($this->table);
-
- $count = $table->where([$this->column => $value])->count();
+ $count = $this->database
+ ->select()
+ ->from($this->table)
+ ->where([$this->column => $value])
+ ->count();
if ($count === 0) {
$fail($this->message());
diff --git a/src/Bridge/Laravel/Rules/Unique.php b/src/Bridge/Laravel/Rules/Unique.php
index eb0dbb4a..6e1973bb 100644
--- a/src/Bridge/Laravel/Rules/Unique.php
+++ b/src/Bridge/Laravel/Rules/Unique.php
@@ -6,12 +6,14 @@
use Closure;
use Cycle\Database\DatabaseInterface;
-use Cycle\Database\Query\SelectQuery;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Translation\PotentiallyTranslatedString;
readonly class Unique implements ValidationRule
{
+ /**
+ * Create a new rule instance.
+ */
public function __construct(
private DatabaseInterface $database,
private string $table,
@@ -26,10 +28,11 @@ public function __construct(
*/
public function validate(string $attribute, mixed $value, Closure $fail): void
{
- /** @var SelectQuery $table */
- $table = $this->database->table($this->table);
-
- $count = $table->where([$this->column => $value])->count();
+ $count = $this->database
+ ->select()
+ ->from($this->table)
+ ->where([$this->column => $value])
+ ->count();
if ($count > 0) {
$fail($this->message());
diff --git a/src/Contracts/CacheManager.php b/src/Contracts/CacheManager.php
index 4a0e17e1..10991028 100644
--- a/src/Contracts/CacheManager.php
+++ b/src/Contracts/CacheManager.php
@@ -6,11 +6,23 @@
interface CacheManager
{
+ /**
+ * Retrieve the cached schema.
+ */
public function get(): mixed;
+ /**
+ * Cache the provided schema.
+ */
public function set(string|array $schema): bool;
+ /**
+ * Flush the cached schema.
+ */
public function flush(): bool;
+ /**
+ * Check if the schema is cached.
+ */
public function isCached(): bool;
}
diff --git a/src/Contracts/GeneratorLoader.php b/src/Contracts/GeneratorLoader.php
index 3266e78f..6d25f01d 100644
--- a/src/Contracts/GeneratorLoader.php
+++ b/src/Contracts/GeneratorLoader.php
@@ -15,24 +15,35 @@ interface GeneratorLoader
public const GROUP_POSTPROCESS = 'postprocess';
/**
+ * Add a generator to the loader.
+ *
* @param self::GROUP_* $group
* @param class-string|GeneratorInterface $generator
*
- * @return $this
+ * @return static
*/
public function add(string $group, GeneratorInterface|string $generator): self;
/**
+ * Remove a generator from the loader.
+ *
* @param class-string $removableGenerator
*
- * @return $this
+ * @return static
*/
public function remove(string $removableGenerator): self;
/**
+ * Get the list of generators.
+ *
* @return array
*/
public function get(): array;
+ /**
+ * Clear all generators from the loader.
+ *
+ * @return static
+ */
public function without(): self;
}
diff --git a/src/Schema/Cache/Manager.php b/src/Schema/Cache/Manager.php
index fcee054c..20801854 100644
--- a/src/Schema/Cache/Manager.php
+++ b/src/Schema/Cache/Manager.php
@@ -15,6 +15,9 @@ final class Manager implements CacheManager
{
private const SCHEMA_CACHE_KEY = 'cycle.orm.schema';
+ /**
+ * Create a new cache manager instance.
+ */
public function __construct(
private readonly SchemaConfig $config,
private readonly CacheFactory $cacheFactory,
@@ -22,6 +25,8 @@ public function __construct(
}
/**
+ * Get the cached schema.
+ *
* @throws InvalidArgumentException
*/
public function get(): mixed
@@ -30,6 +35,8 @@ public function get(): mixed
}
/**
+ * Cache the provided schema.
+ *
* @throws InvalidArgumentException
*/
public function set(string|array $schema): bool
@@ -38,6 +45,8 @@ public function set(string|array $schema): bool
}
/**
+ * Flush the cached schema.
+ *
* @throws InvalidArgumentException
*/
public function flush(): bool
@@ -46,6 +55,8 @@ public function flush(): bool
}
/**
+ * Check if the schema is cached.
+ *
* @throws InvalidArgumentException
*/
public function isCached(): bool
@@ -53,6 +64,9 @@ public function isCached(): bool
return $this->cacheStore()->has(self::SCHEMA_CACHE_KEY);
}
+ /**
+ * Get the cache repository instance.
+ */
private function cacheStore(): CacheRepository
{
$store = Arr::get(
diff --git a/src/Schema/Compiler.php b/src/Schema/Compiler.php
index 187b715b..777270b6 100644
--- a/src/Schema/Compiler.php
+++ b/src/Schema/Compiler.php
@@ -17,36 +17,57 @@ final class Compiler
{
private const EMPTY_SCHEMA = ':empty:';
+ /**
+ * Create a new compiler instance.
+ */
public function __construct(
private readonly mixed $schema,
) {
}
+ /**
+ * Compile the schema using the provided registry and generator queue.
+ */
public static function compile(Registry $registry, GeneratorLoader $queue): self
{
return new self((new CycleSchemaCompiler())->compile($registry, $queue->get()));
}
+ /**
+ * Load the schema from cache.
+ */
public static function fromMemory(CacheManager $cache): self
{
return new self($cache->get());
}
+ /**
+ * Check if the schema is empty.
+ */
public function isEmpty(): bool
{
return $this->schema === null || $this->schema === [] || $this->schema === self::EMPTY_SCHEMA;
}
+ /**
+ * Convert the compiled schema to a SchemaInterface instance.
+ */
public function toSchema(): SchemaInterface
{
return new Schema($this->isWriteableSchema() ? $this->schema : []);
}
+ /**
+ * Save the compiled schema to cache.
+ */
public function toMemory(CacheManager $cache): void
{
$cache->set($this->isEmpty() ? self::EMPTY_SCHEMA : $this->schema);
}
+ /**
+ * Check if the schema can be written to cache.
+ */
private function isWriteableSchema(): bool
{
return is_array($this->schema);
diff --git a/src/Schema/Config/SchemaConfig.php b/src/Schema/Config/SchemaConfig.php
index 73ef2818..17b69670 100644
--- a/src/Schema/Config/SchemaConfig.php
+++ b/src/Schema/Config/SchemaConfig.php
@@ -12,6 +12,9 @@ class SchemaConfig extends InjectableConfig
{
public const CONFIG = 'schema';
+ /**
+ * Create a new schema configuration instance.
+ */
public function __construct(array $config = [])
{
parent::__construct(array_merge([
@@ -28,11 +31,17 @@ public function __construct(array $config = [])
], $config));
}
+ /**
+ * Get the list of generators.
+ */
public function generators(): array
{
return $this->config['generators'];
}
+ /**
+ * Get the default collection FQCN.
+ */
public function defaultCollectionFQCN(): string
{
$default = $this->config['collections']['default'];
@@ -41,11 +50,17 @@ public function defaultCollectionFQCN(): string
return $factories[$default];
}
+ /**
+ * Check if schema caching is enabled.
+ */
public function cacheSchema(): bool
{
return $this->config['cache']['enabled'];
}
+ /**
+ * Get the default configuration values.
+ */
public function defaults()
{
return $this->config['defaults'];
diff --git a/src/Schema/Generators/GeneratorQueue.php b/src/Schema/Generators/GeneratorQueue.php
index 1073d446..3ce41feb 100644
--- a/src/Schema/Generators/GeneratorQueue.php
+++ b/src/Schema/Generators/GeneratorQueue.php
@@ -23,6 +23,9 @@ final class GeneratorQueue implements GeneratorLoader
private Container $app;
+ /**
+ * Create a new generator queue instance.
+ */
public function __construct(
Closure $closure,
private readonly SchemaConfig $config,
@@ -31,6 +34,9 @@ public function __construct(
$this->generators = $this->config->generators();
}
+ /**
+ * Add a generator to the queue.
+ */
public function add(string $group, GeneratorInterface|string $generator): GeneratorLoader
{
$queue = clone $this;
@@ -40,6 +46,9 @@ public function add(string $group, GeneratorInterface|string $generator): Genera
return $queue;
}
+ /**
+ * Remove a generator from the queue.
+ */
public function remove(string $removableGenerator): GeneratorLoader
{
$queue = clone $this;
@@ -71,6 +80,9 @@ public function get(): array
return $result;
}
+ /**
+ * Clear all generators from the queue.
+ */
public function without(): GeneratorLoader
{
$queue = clone $this;
diff --git a/src/Support/Arr.php b/src/Support/Arr.php
index 94fc7b08..58765ac5 100644
--- a/src/Support/Arr.php
+++ b/src/Support/Arr.php
@@ -19,6 +19,9 @@
*/
final class Arr
{
+ /**
+ * Determine if the given key exists in the provided array.
+ */
public static function has(array $array, int|string $key): bool
{
$key = (string) $key;
@@ -38,6 +41,9 @@ public static function has(array $array, int|string $key): bool
return true;
}
+ /**
+ * Retrieve an item from an array using "dot" notation.
+ */
public static function get(array $array, int|string $key, mixed $default = null): mixed
{
$key = (string) $key;
diff --git a/src/Testing/Concerns/InteractsWithDatabase.php b/src/Testing/Concerns/InteractsWithDatabase.php
index 1ebe3ddb..08ec5393 100644
--- a/src/Testing/Concerns/InteractsWithDatabase.php
+++ b/src/Testing/Concerns/InteractsWithDatabase.php
@@ -5,21 +5,31 @@
namespace WayOfDev\Cycle\Testing\Concerns;
use Cycle\Database\DatabaseProviderInterface;
+use Cycle\ORM\ORMInterface;
+use Cycle\ORM\SchemaInterface;
+use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\File;
use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\Constraint\LogicalNot as ReverseConstraint;
+use Throwable;
use WayOfDev\Cycle\Support\Arr;
use WayOfDev\Cycle\Testing\Constraints\CountInDatabase;
use WayOfDev\Cycle\Testing\Constraints\HasInDatabase;
use WayOfDev\Cycle\Testing\Constraints\NotSoftDeletedInDatabase;
use WayOfDev\Cycle\Testing\Constraints\SoftDeletedInDatabase;
+use function is_iterable;
+use function is_object;
+use function is_string;
+
/**
* @method void assertThat($value, Constraint $constraint, string $message = '')
*/
trait InteractsWithDatabase
{
/**
+ * Run the database seeders.
+ *
* @param array|string $class
*/
public function seed($class = 'Database\\Seeders\\DatabaseSeeder'): static
@@ -32,15 +42,24 @@ public function seed($class = 'Database\\Seeders\\DatabaseSeeder'): static
}
/**
- * @param string|object $table
- * @param string|null $connection
+ * Assert that a row in a database table exists.
*
- * @return $this
+ * @param Model|string|object|iterable $table
+ * @param array $data
+ * @param string|null $connection
*/
protected function assertDatabaseHas($table, array $data = [], $connection = null): static
{
+ if (is_iterable($table)) {
+ foreach ($table as $item) {
+ $this->assertDatabaseHas($item, $data, $connection);
+ }
+
+ return $this;
+ }
+
$this->assertThat(
- $table,
+ $this->normalizeTable($table),
new HasInDatabase(app(DatabaseProviderInterface::class), $data)
);
@@ -48,32 +67,51 @@ protected function assertDatabaseHas($table, array $data = [], $connection = nul
}
/**
- * @param string|object $table
- * @param string|null $connection
+ * Assert that a row in a database table does not exist.
*
- * @return $this
+ * @param Model|string|object|iterable $table
+ * @param array $data
+ * @param string|null $connection
*/
protected function assertDatabaseMissing($table, array $data = [], $connection = null): static
{
+ if (is_iterable($table)) {
+ foreach ($table as $item) {
+ $this->assertDatabaseMissing($item, $data, $connection);
+ }
+
+ return $this;
+ }
+
$constraint = new ReverseConstraint(
new HasInDatabase(app(DatabaseProviderInterface::class), $data)
);
- $this->assertThat($table, $constraint);
+ $this->assertThat($this->normalizeTable($table), $constraint);
return $this;
}
/**
- * @param string|object $table
- * @param string|null $connection
+ * Assert the count of a database table.
*
- * @return $this
+ * @param Model|string|object|iterable $table
+ * @param null $connection
+ *
+ * @return InteractsWithDatabase
*/
protected function assertDatabaseCount($table, int $count, $connection = null): static
{
+ if (is_iterable($table)) {
+ foreach ($table as $item) {
+ $this->assertDatabaseCount($item, $count, $connection);
+ }
+
+ return $this;
+ }
+
$this->assertThat(
- $table,
+ $this->normalizeTable($table),
new CountInDatabase(app(DatabaseProviderInterface::class), $count)
);
@@ -81,21 +119,27 @@ protected function assertDatabaseCount($table, int $count, $connection = null):
}
/**
- * @param string|object $table
- * @param string|null $connection
+ * Assert that a database table is empty.
*
- * @return $this
+ * @param Model|string|object|iterable $table
+ * @param string|null $connection
*/
protected function assertDatabaseEmpty($table, $connection = null): static
{
- $this->assertThat(
- $table,
- new CountInDatabase(app(DatabaseProviderInterface::class), 0)
- );
+ if (is_iterable($table)) {
+ foreach ($table as $item) {
+ $this->assertDatabaseEmpty($item, $connection);
+ }
- return $this;
+ return $this;
+ }
+
+ return $this->assertDatabaseCount($table, 0, $connection);
}
+ /**
+ * Remove all migration files from the specified path.
+ */
protected function cleanupMigrations(string $pathGlob): void
{
$files = File::glob($pathGlob);
@@ -104,31 +148,90 @@ protected function cleanupMigrations(string $pathGlob): void
}
}
- protected function assertSoftDeleted($table, array $data = [], $connection = null, $deletedAtColumn = 'deleted_at'): self
+ /**
+ * Assert that a row in a database table has been soft deleted.
+ *
+ * @param Model|string|object|iterable $table
+ * @param array $data
+ * @param string|null $connection
+ * @param string|null $deletedAtColumn
+ */
+ protected function assertSoftDeleted($table, array $data = [], $connection = null, $deletedAtColumn = 'deleted_at'): static
{
+ if (is_iterable($table)) {
+ foreach ($table as $item) {
+ $this->assertSoftDeleted($item, $data, $connection, $deletedAtColumn);
+ }
+
+ return $this;
+ }
+
$this->assertThat(
- $table,
+ $this->normalizeTable($table),
new SoftDeletedInDatabase(
app(DatabaseProviderInterface::class),
$data,
- $deletedAtColumn,
+ $deletedAtColumn ?? 'deleted_at',
)
);
return $this;
}
- protected function assertNotSoftDeleted($table, array $data = [], $connection = null, $deletedAtColumn = 'deleted_at'): self
+ /**
+ * Assert that a row in a database table has not been soft deleted.
+ *
+ * @param Model|string|object|iterable $table
+ * @param array $data
+ * @param string|null $connection
+ * @param string|null $deletedAtColumn
+ */
+ protected function assertNotSoftDeleted($table, array $data = [], $connection = null, $deletedAtColumn = 'deleted_at'): static
{
+ if (is_iterable($table)) {
+ foreach ($table as $item) {
+ $this->assertNotSoftDeleted($item, $data, $connection, $deletedAtColumn);
+ }
+
+ return $this;
+ }
+
$this->assertThat(
- $table,
+ $this->normalizeTable($table),
new NotSoftDeletedInDatabase(
app(DatabaseProviderInterface::class),
$data,
- $deletedAtColumn,
+ $deletedAtColumn ?? 'deleted_at',
)
);
return $this;
}
+
+ /**
+ * Normalize the given table name.
+ *
+ * @param Model|string|object $table
+ */
+ protected function normalizeTable(mixed $table): string
+ {
+ if ($table instanceof Model) {
+ return $table->getTable();
+ }
+
+ if (is_string($table) || is_object($table)) {
+ try {
+ $orm = app(ORMInterface::class);
+ $schema = $orm->getSchema();
+ $role = is_object($table) ? $table::class : $table;
+
+ if ($schema->defines($role)) {
+ return (string) $schema->define($role, SchemaInterface::TABLE);
+ }
+ } catch (Throwable) {
+ }
+ }
+
+ return (string) $table;
+ }
}
diff --git a/src/Testing/Constraints/CountInDatabase.php b/src/Testing/Constraints/CountInDatabase.php
index 3522d1e3..77f741f9 100644
--- a/src/Testing/Constraints/CountInDatabase.php
+++ b/src/Testing/Constraints/CountInDatabase.php
@@ -20,6 +20,9 @@ class CountInDatabase extends Constraint
protected int $actualCount;
+ /**
+ * Create a new constraint instance.
+ */
public function __construct(DatabaseProviderInterface $database, int $expectedCount)
{
$this->expectedCount = $expectedCount;
@@ -27,6 +30,9 @@ public function __construct(DatabaseProviderInterface $database, int $expectedCo
$this->database = $database->database();
}
+ /**
+ * Check if the constraint is satisfied.
+ */
public function matches(mixed $other): bool
{
/** @var Table $tableInterface */
@@ -37,6 +43,9 @@ public function matches(mixed $other): bool
return $this->actualCount === $this->expectedCount;
}
+ /**
+ * Returns the description of the failure.
+ */
public function failureDescription(mixed $other): string
{
return sprintf(
@@ -47,6 +56,9 @@ public function failureDescription(mixed $other): string
);
}
+ /**
+ * Get a string representation of the object.
+ */
public function toString(): string
{
return (new ReflectionClass($this))->name;
diff --git a/src/Testing/Constraints/HasInDatabase.php b/src/Testing/Constraints/HasInDatabase.php
index 3f9426ec..265891b4 100644
--- a/src/Testing/Constraints/HasInDatabase.php
+++ b/src/Testing/Constraints/HasInDatabase.php
@@ -6,7 +6,7 @@
use Cycle\Database\DatabaseInterface;
use Cycle\Database\DatabaseProviderInterface;
-use Cycle\Database\Query\SelectQuery;
+use Override;
use PHPUnit\Framework\Constraint\Constraint;
use Throwable;
@@ -22,6 +22,9 @@ class HasInDatabase extends Constraint
protected array $data;
+ /**
+ * Create a new constraint instance.
+ */
public function __construct(DatabaseProviderInterface $database, array $data)
{
$this->data = $data;
@@ -29,20 +32,28 @@ public function __construct(DatabaseProviderInterface $database, array $data)
$this->database = $database->database();
}
+ /**
+ * Check if the constraint is satisfied.
+ */
public function matches(mixed $other): bool
{
- /** @var SelectQuery $tableInterface */
- $tableInterface = $this->database->table($other);
-
try {
- $count = $tableInterface->where($this->data)->count();
+ $count = $this->database
+ ->select()
+ ->from((string) $other)
+ ->where($this->data)
+ ->count();
return $count > 0;
- } catch (Throwable $e) {
+ } catch (Throwable) {
return false;
}
}
+ /**
+ * Returns the description of the failure.
+ */
+ #[Override]
public function failureDescription(mixed $other): string
{
return sprintf(
@@ -52,6 +63,10 @@ public function failureDescription(mixed $other): string
);
}
+ /**
+ * Get a string representation of the object.
+ */
+ #[Override]
public function toString(mixed $options = null): string
{
if (is_int($options)) {
@@ -60,6 +75,6 @@ public function toString(mixed $options = null): string
$options = JSON_THROW_ON_ERROR;
}
- return json_encode($this->data, $options | $options);
+ return json_encode($this->data, $options);
}
}
diff --git a/src/Testing/Constraints/NotSoftDeletedInDatabase.php b/src/Testing/Constraints/NotSoftDeletedInDatabase.php
index ef756f03..c955cf1d 100644
--- a/src/Testing/Constraints/NotSoftDeletedInDatabase.php
+++ b/src/Testing/Constraints/NotSoftDeletedInDatabase.php
@@ -6,7 +6,7 @@
use Cycle\Database\DatabaseInterface;
use Cycle\Database\DatabaseProviderInterface;
-use Cycle\Database\Query\SelectQuery;
+use Override;
use PHPUnit\Framework\Constraint\Constraint;
use Throwable;
@@ -23,6 +23,9 @@ class NotSoftDeletedInDatabase extends Constraint
protected string $deletedAtColumn;
+ /**
+ * Create a new constraint instance.
+ */
public function __construct(DatabaseProviderInterface $database, array $data, string $deletedAtColumn)
{
$this->data = $data;
@@ -32,23 +35,39 @@ public function __construct(DatabaseProviderInterface $database, array $data, st
$this->deletedAtColumn = $deletedAtColumn;
}
+ /**
+ * Check if the constraint is satisfied.
+ */
public function matches(mixed $other): bool
{
- /** @var SelectQuery $tableInterface */
- $tableInterface = $this->database->table($other);
-
try {
- $count = $tableInterface->where($this->data)
+ $count = $this->database
+ ->select()
+ ->from((string) $other)
+ ->where($this->data)
->andWhere($this->deletedAtColumn, '=', null)
->count();
return $count > 0;
- } catch (Throwable $e) {
+ } catch (Throwable) {
return false;
}
}
- public function failureDescription($other): string
+ /**
+ * Get a string representation of the object.
+ */
+ #[Override]
+ public function toString(): string
+ {
+ return json_encode($this->data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ }
+
+ /**
+ * Returns the description of the failure.
+ */
+ #[Override]
+ protected function failureDescription(mixed $other): string
{
return sprintf(
'any existing row in the table [%s] matches the attributes %s.\n',
@@ -56,9 +75,4 @@ public function failureDescription($other): string
$this->toString()
);
}
-
- public function toString(): string
- {
- return json_encode($this->data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
- }
}
diff --git a/src/Testing/Constraints/SoftDeletedInDatabase.php b/src/Testing/Constraints/SoftDeletedInDatabase.php
index 510c2cf8..66766c47 100644
--- a/src/Testing/Constraints/SoftDeletedInDatabase.php
+++ b/src/Testing/Constraints/SoftDeletedInDatabase.php
@@ -6,7 +6,7 @@
use Cycle\Database\DatabaseInterface;
use Cycle\Database\DatabaseProviderInterface;
-use Cycle\Database\Query\SelectQuery;
+use Override;
use PHPUnit\Framework\Constraint\Constraint;
use Throwable;
@@ -23,6 +23,9 @@ class SoftDeletedInDatabase extends Constraint
protected string $deletedAtColumn;
+ /**
+ * Create a new constraint instance.
+ */
public function __construct(DatabaseProviderInterface $database, array $data, string $deletedAtColumn)
{
$this->data = $data;
@@ -32,23 +35,39 @@ public function __construct(DatabaseProviderInterface $database, array $data, st
$this->deletedAtColumn = $deletedAtColumn;
}
+ /**
+ * Check if the constraint is satisfied.
+ */
public function matches(mixed $other): bool
{
- /** @var SelectQuery $tableInterface */
- $tableInterface = $this->database->table($other);
-
try {
- $count = $tableInterface->where($this->data)
+ $count = $this->database
+ ->select()
+ ->from((string) $other)
+ ->where($this->data)
->andWhere($this->deletedAtColumn, '!=', null)
->count();
return $count > 0;
- } catch (Throwable $e) {
+ } catch (Throwable) {
return false;
}
}
- public function failureDescription($other): string
+ /**
+ * Get a string representation of the object.
+ */
+ #[Override]
+ public function toString(): string
+ {
+ return json_encode($this->data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ }
+
+ /**
+ * Returns the description of the failure.
+ */
+ #[Override]
+ protected function failureDescription(mixed $other): string
{
return sprintf(
'a soft deleted row in the table [%s] matches the attributes %s.',
@@ -56,9 +75,4 @@ public function failureDescription($other): string
$this->toString()
);
}
-
- public function toString(): string
- {
- return json_encode($this->data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
- }
}
diff --git a/src/Testing/RefreshDatabase.php b/src/Testing/RefreshDatabase.php
index e71f37b0..ef8d1f03 100644
--- a/src/Testing/RefreshDatabase.php
+++ b/src/Testing/RefreshDatabase.php
@@ -10,6 +10,9 @@
trait RefreshDatabase
{
+ /**
+ * Clear all tables from the default database, dropping foreign keys first.
+ */
protected function refreshDatabase(): void
{
$database = app(DatabaseProviderInterface::class)->database('default');
diff --git a/tests/src/Bridge/Laravel/Providers/CycleServiceProviderTest.php b/tests/src/Bridge/Laravel/Providers/CycleServiceProviderTest.php
index 8c0df354..3499ccd6 100644
--- a/tests/src/Bridge/Laravel/Providers/CycleServiceProviderTest.php
+++ b/tests/src/Bridge/Laravel/Providers/CycleServiceProviderTest.php
@@ -5,7 +5,6 @@
namespace WayOfDev\Tests\Bridge\Laravel\Providers;
use Cycle\Database\Config\DatabaseConfig;
-use Cycle\ORM\EntityManager;
use Cycle\ORM\EntityManagerInterface;
use Illuminate\Contracts\Container\BindingResolutionException;
use PHPUnit\Framework\Attributes\Test;
@@ -14,6 +13,8 @@
class CycleServiceProviderTest extends TestCase
{
/**
+ * Test that it gets the database configuration from the container.
+ *
* @throws BindingResolutionException
*/
#[Test]
@@ -27,19 +28,24 @@ public function it_gets_database_config_from_container(): void
}
/**
+ * Test that it gets the entity manager instance from the container.
+ *
* @throws BindingResolutionException
*/
#[Test]
public function it_gets_entity_manager_instance_from_container(): void
{
- /** @var EntityManager|null $manager */
$manager = $this->app->make(EntityManagerInterface::class);
+ // @phpstan-ignore-next-line
self::assertInstanceOf(EntityManagerInterface::class, $manager);
}
+ /**
+ * Test that it registers configurations correctly.
+ */
#[Test]
public function it_registers_configurations_correctly(): void
{
- $this::assertNotNull(config('cycle'));
+ self::assertNotNull(config('cycle'));
}
}
diff --git a/tests/src/Bridge/Laravel/Rules/ValidationRulesTest.php b/tests/src/Bridge/Laravel/Rules/ValidationRulesTest.php
new file mode 100644
index 00000000..7e64de0c
--- /dev/null
+++ b/tests/src/Bridge/Laravel/Rules/ValidationRulesTest.php
@@ -0,0 +1,99 @@
+database = app(DatabaseInterface::class);
+
+ $this->artisan('cycle:migrate:init');
+ $this->artisan('cycle:orm:migrate', ['--force' => true]);
+ $this->artisan('cycle:migrate', ['--force' => true]);
+ }
+
+ /**
+ * Test that it validates the exists rule.
+ */
+ #[Test]
+ public function it_validates_exists_rule(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post = new Post('Title', 'Description');
+ $em->persist($post);
+ $em->run();
+
+ $rule = new Exists($this->database, 'posts', 'id');
+
+ $passed = true;
+ $rule->validate('id', $post->id(), function (string $message) use (&$passed): PotentiallyTranslatedString {
+ $passed = false;
+
+ return new PotentiallyTranslatedString($message, app('translator'));
+ });
+
+ self::assertTrue($passed);
+
+ $passed = true;
+ $rule->validate('id', 999, function (string $message) use (&$passed): PotentiallyTranslatedString {
+ $passed = false;
+
+ return new PotentiallyTranslatedString($message, app('translator'));
+ });
+
+ self::assertFalse($passed);
+ }
+
+ /**
+ * Test that it validates the unique rule.
+ */
+ #[Test]
+ public function it_validates_unique_rule(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post = new Post('Title', 'Description');
+ $em->persist($post);
+ $em->run();
+
+ $rule = new Unique($this->database, 'posts', 'id');
+
+ $passed = true;
+ $rule->validate('id', 999, function (string $message) use (&$passed): PotentiallyTranslatedString {
+ $passed = false;
+
+ return new PotentiallyTranslatedString($message, app('translator'));
+ });
+
+ self::assertTrue($passed);
+
+ $passed = true;
+ $rule->validate('id', $post->id(), function (string $message) use (&$passed): PotentiallyTranslatedString {
+ $passed = false;
+
+ return new PotentiallyTranslatedString($message, app('translator'));
+ });
+
+ self::assertFalse($passed);
+ }
+}
diff --git a/tests/src/TestCase.php b/tests/src/TestCase.php
index 29500086..daecd48b 100644
--- a/tests/src/TestCase.php
+++ b/tests/src/TestCase.php
@@ -9,6 +9,7 @@
use Illuminate\Contracts\Console\Kernel;
use Illuminate\Support\Facades\Artisan;
use Orchestra\Testbench\TestCase as OrchestraTestCase;
+use Override;
use WayOfDev\Cycle\Bridge\Laravel\Providers\CycleServiceProvider;
use WayOfDev\Cycle\Testing\Concerns\InteractsWithDatabase;
use WayOfDev\Cycle\Testing\RefreshDatabase;
@@ -28,6 +29,9 @@ class TestCase extends OrchestraTestCase
protected ?string $migrationsPath = null;
+ /**
+ * Get a Faker instance.
+ */
final protected static function faker(string $locale = 'en_US'): Generator
{
/** @var array $fakers */
@@ -40,6 +44,10 @@ final protected static function faker(string $locale = 'en_US'): Generator
return $fakers[$locale];
}
+ /**
+ * Set up the test environment.
+ */
+ #[Override]
protected function setUp(): void
{
parent::setUp();
@@ -59,6 +67,10 @@ protected function setUp(): void
}
}
+ /**
+ * Clean up the test environment.
+ */
+ #[Override]
protected function tearDown(): void
{
$this->cleanupMigrations($this->migrationsPath . '/*.php');
@@ -67,11 +79,17 @@ protected function tearDown(): void
parent::tearDown();
}
- public function artisanCall(string $command, array $parameters = [])
+ /**
+ * Call an artisan command.
+ */
+ public function artisanCall(string $command, array $parameters = []): int
{
return $this->app[Kernel::class]->call($command, $parameters);
}
+ /**
+ * Assert the output of a console command.
+ */
protected function assertConsoleCommandOutput(
string $command,
array $args,
@@ -91,6 +109,9 @@ protected function assertConsoleCommandOutput(
}
}
+ /**
+ * Assert that the console command output contains the given strings.
+ */
protected function assertConsoleCommandOutputContainsStrings(
string $command,
array $args = [],
@@ -101,6 +122,9 @@ protected function assertConsoleCommandOutputContainsStrings(
});
}
+ /**
+ * Assert that the console command output does not contain the given strings.
+ */
protected function assertConsoleCommandOutputDoesNotContainStrings(
string $command,
array $args = [],
@@ -111,6 +135,10 @@ protected function assertConsoleCommandOutputDoesNotContainStrings(
});
}
+ /**
+ * Get the package providers for the application.
+ */
+ #[Override]
protected function getPackageProviders($app): array
{
return [
diff --git a/tests/src/Testing/InteractsWithDatabaseTest.php b/tests/src/Testing/InteractsWithDatabaseTest.php
new file mode 100644
index 00000000..5700e073
--- /dev/null
+++ b/tests/src/Testing/InteractsWithDatabaseTest.php
@@ -0,0 +1,149 @@
+artisan('cycle:migrate:init');
+ $this->artisan('cycle:orm:migrate', ['--force' => true]);
+ $this->artisan('cycle:migrate', ['--force' => true]);
+ }
+
+ /**
+ * Test that it asserts database has and missing records.
+ */
+ #[Test]
+ public function it_asserts_database_has_and_missing(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post = new Post('Title', 'Description');
+ $em->persist($post);
+ $em->run();
+
+ $this->assertDatabaseHas('posts', [
+ 'id' => $post->id(),
+ 'title' => 'Title',
+ ]);
+
+ $this->assertDatabaseMissing('posts', [
+ 'id' => 999,
+ ]);
+ }
+
+ /**
+ * Test that it asserts the record count in the database.
+ */
+ #[Test]
+ public function it_asserts_database_count(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post1 = new Post('Title 1', 'Description 1');
+ $post2 = new Post('Title 2', 'Description 2');
+ $em->persist($post1);
+ $em->persist($post2);
+ $em->run();
+
+ $this->assertDatabaseCount('posts', 2);
+ }
+
+ /**
+ * Test that it asserts the database is empty.
+ */
+ #[Test]
+ public function it_asserts_database_empty(): void
+ {
+ $this->assertDatabaseEmpty('posts');
+ }
+
+ /**
+ * Test that it asserts database has with iterable tables.
+ */
+ #[Test]
+ public function it_asserts_database_has_with_iterable(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post = new Post('Title', 'Description');
+ $em->persist($post);
+ $em->run();
+
+ $this->assertDatabaseHas(['posts'], [
+ 'id' => $post->id(),
+ 'title' => 'Title',
+ ]);
+ }
+
+ /**
+ * Test that it asserts database count with iterable tables.
+ */
+ #[Test]
+ public function it_asserts_database_count_with_iterable(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post1 = new Post('Title 1', 'Description 1');
+ $post2 = new Post('Title 2', 'Description 2');
+ $em->persist($post1);
+ $em->persist($post2);
+ $em->run();
+
+ $this->assertDatabaseCount(['posts'], 2);
+ }
+
+ /**
+ * Test that it asserts database has with entity class as table.
+ */
+ #[Test]
+ public function it_asserts_database_has_with_entity_class(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post = new Post('Title', 'Description');
+ $em->persist($post);
+ $em->run();
+
+ $this->assertDatabaseHas(Post::class, [
+ 'id' => $post->id(),
+ 'title' => 'Title',
+ ]);
+ }
+
+ /**
+ * Test that it asserts database has with iterable of entities.
+ */
+ #[Test]
+ public function it_asserts_database_has_with_iterable_of_entities(): void
+ {
+ $em = app(EntityManagerInterface::class);
+ $post = new Post('Title', 'Description');
+ $em->persist($post);
+ $em->run();
+
+ $this->assertDatabaseHas([$post], [
+ 'id' => $post->id(),
+ 'title' => 'Title',
+ ]);
+ }
+
+ /**
+ * Test that it asserts database is empty with iterable tables.
+ */
+ #[Test]
+ public function it_asserts_database_empty_with_iterable(): void
+ {
+ $this->assertDatabaseEmpty(['posts']);
+ }
+}