diff --git a/.github/workflows/backward-compatibility-check.yml b/.github/workflows/backward-compatibility-check.yml
index 79f876f..14ca3bc 100644
--- a/.github/workflows/backward-compatibility-check.yml
+++ b/.github/workflows/backward-compatibility-check.yml
@@ -16,7 +16,7 @@ jobs:
dependencies:
- "locked"
php-version:
- - "8.4"
+ - "8.5"
operating-system:
- "ubuntu-latest"
@@ -29,10 +29,8 @@ jobs:
- name: "Install PHP"
uses: "shivammathur/setup-php@2.36.0"
with:
- coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- extensions: pdo_sqlite, bcmath, intl, sodium
- uses: ramsey/composer-install@3.1.1
with:
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index 632742b..57003c5 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -27,7 +27,6 @@ jobs:
coverage: "none"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1, opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M
- extensions: pdo_sqlite
- name: "Checkout base"
uses: actions/checkout@v6
diff --git a/.github/workflows/coding-standard.yml b/.github/workflows/coding-standard.yml
index f297a64..dbc9567 100644
--- a/.github/workflows/coding-standard.yml
+++ b/.github/workflows/coding-standard.yml
@@ -31,10 +31,8 @@ jobs:
- name: "Install PHP"
uses: "shivammathur/setup-php@2.36.0"
with:
- coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- extensions: pdo_sqlite
- uses: ramsey/composer-install@3.1.1
with:
diff --git a/.github/workflows/mutation-tests-diff.yml b/.github/workflows/mutation-tests-diff.yml
index a4e7509..3ea9386 100644
--- a/.github/workflows/mutation-tests-diff.yml
+++ b/.github/workflows/mutation-tests-diff.yml
@@ -32,11 +32,10 @@ jobs:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- extensions: pdo_sqlite
- uses: ramsey/composer-install@3.1.1
with:
dependency-versions: ${{ matrix.dependencies }}
- name: "Infection"
- run: "vendor/bin/infection --threads=max --static-analysis-tool=phpstan --git-diff-lines --git-diff-base=origin/$GITHUB_BASE_REF --ignore-msi-with-no-mutations --with-uncovered --min-msi=90 --min-covered-msi=95"
+ run: "vendor/bin/infection --threads=max --git-diff-lines --git-diff-base=origin/$GITHUB_BASE_REF --ignore-msi-with-no-mutations --with-uncovered --min-msi=90 --min-covered-msi=95"
diff --git a/.github/workflows/mutation-tests.yml b/.github/workflows/mutation-tests.yml
index ad03b57..157e155 100644
--- a/.github/workflows/mutation-tests.yml
+++ b/.github/workflows/mutation-tests.yml
@@ -34,13 +34,12 @@ jobs:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- extensions: pdo_sqlite
- uses: ramsey/composer-install@3.1.1
with:
dependency-versions: ${{ matrix.dependencies }}
- name: "Infection"
- run: "vendor/bin/infection --threads=max --static-analysis-tool=phpstan"
+ run: "vendor/bin/infection --threads=max"
env:
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }}
diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml
index 1d28c1f..6f34e4d 100644
--- a/.github/workflows/phpstan.yml
+++ b/.github/workflows/phpstan.yml
@@ -31,10 +31,8 @@ jobs:
- name: "Install PHP"
uses: "shivammathur/setup-php@2.36.0"
with:
- coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- extensions: pdo_sqlite
- uses: ramsey/composer-install@3.1.1
with:
diff --git a/.github/workflows/psalm.yml b/.github/workflows/psalm.yml
deleted file mode 100644
index 427942d..0000000
--- a/.github/workflows/psalm.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
-
-name: "Static Analysis by Psalm"
-
-on:
- pull_request:
- push:
- branches:
- - "[0-9]+.[0-9]+.x"
- - "renovate/*"
-
-jobs:
- static-analysis-psalm:
- name: "Static Analysis by Psalm"
-
- runs-on: ${{ matrix.operating-system }}
-
- strategy:
- matrix:
- dependencies:
- - "locked"
- php-version:
- - "8.4"
- operating-system:
- - "ubuntu-latest"
-
- steps:
- - name: "Checkout"
- uses: actions/checkout@v6
-
- - name: "Install PHP"
- uses: "shivammathur/setup-php@2.36.0"
- with:
- coverage: "pcov"
- php-version: "${{ matrix.php-version }}"
- ini-values: memory_limit=-1
- extensions: pdo_sqlite
-
- - uses: ramsey/composer-install@3.1.1
- with:
- dependency-versions: ${{ matrix.dependencies }}
-
- - name: "psalm"
- run: "vendor/bin/psalm --shepherd --stats"
diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml
index b8bb65a..d832b9f 100644
--- a/.github/workflows/unit.yml
+++ b/.github/workflows/unit.yml
@@ -51,7 +51,6 @@ jobs:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- extensions: pdo_sqlite
- uses: ramsey/composer-install@3.1.1
with:
diff --git a/Makefile b/Makefile
index b1e8f2b..4d94391 100644
--- a/Makefile
+++ b/Makefile
@@ -15,19 +15,11 @@ cs: vendor
.PHONY: phpstan
phpstan: vendor ## run phpstan static code analyser
- vendor/bin/phpstan analyse
+ vendor/bin/phpstan analyse --memory-limit=-1
.PHONY: phpstan-baseline
phpstan-baseline: vendor ## run phpstan static code analyser
- vendor/bin/phpstan analyse --generate-baseline
-
-.PHONY: psalm
-psalm: vendor ## run psalm static code analyser
- vendor/bin/psalm
-
-.PHONY: psalm-baseline
-psalm-baseline: vendor ## run psalm static code analyser
- vendor/bin/psalm --update-baseline --set-baseline=baseline.xml
+ vendor/bin/phpstan analyse --generate-baseline --memory-limit=-1
.PHONY: phpunit
phpunit: vendor ## run phpunit tests
@@ -35,10 +27,10 @@ phpunit: vendor
.PHONY: infection
infection: vendor ## run infection
- XDEBUG_MODE=coverage vendor/bin/roave-infection-static-analysis-plugin --threads=max
+ XDEBUG_MODE=coverage vendor/bin/infection --threads=3
.PHONY: static
-static: psalm phpstan phpcs-check ## run static analyser
+static: phpstan cs ## run static analysers
test: phpunit ## run tests
diff --git a/README.md b/README.md
index c3a8821..7727a42 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
-[](https://dashboard.stryker-mutator.io/reports/github.com/patchlevel/hydrator/1.10.x)
-[](https://shepherd.dev/github/patchlevel/hydrator)
+[](https://dashboard.stryker-mutator.io/reports/github.com/patchlevel/hydrator/1.13.x)
[](//packagist.org/packages/patchlevel/hydrator)
[](//packagist.org/packages/patchlevel/hydrator)
diff --git a/baseline.xml b/baseline.xml
deleted file mode 100644
index 5b671d5..0000000
--- a/baseline.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-
-
-
-
-
-
-
- ivLength)]]>
- keyLength)]]>
-
-
-
-
-
- ]]>
-
-
-
-
-
-
-
- fieldName()]]]>
- fieldName()]]]>
- fieldName()]]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- personalDataFallbackCallable]]>
-
-
-
-
-
-
-
- newLazyProxy(
- function () use ($metadata, $data): object {
- return $this->doHydrate($metadata, $data);
- },
- )]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- metadata(ProfileCreated::class)]]>
- metadata(ProfileCreated::class)]]>
- metadata(ProfileCreated::class)]]>
- metadata(ProfileCreated::class)]]>
-
-
-
-
-
-
-
-
-
-
-
-
- $normalizer]]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- reflectionType($object, 'notAObject'))]]>
- reflectionType($object, 'object'))]]>
- reflectionType($object, 'objectNullable'))]]>
- reflectionType($object, 'objectUnionNullable'))]]>
- reflectionType($object, 'object'),
- ProfileCreated::class,
- )]]>
- reflectionType($object, 'objectNullable'),
- ProfileCreated::class,
- )]]>
- reflectionType($object, 'objectUnionNullable'),
- ProfileCreated::class,
- )]]>
- reflectionType($object, 'object'),
- ChildDto::class,
- )]]>
- reflectionType($object, 'intersection'))]]>
- reflectionType($object, 'nullableString'))]]>
- reflectionType($object, 'string'))]]>
- reflectionType($object, 'union'))]]>
- reflectionType($object, 'unionNullableString'))]]>
-
-
-
diff --git a/composer.json b/composer.json
index dcad0e5..b33c98f 100644
--- a/composer.json
+++ b/composer.json
@@ -19,22 +19,22 @@
}
],
"require": {
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"ext-openssl": "*",
"psr/cache": "^2.0.0 || ^3.0.0",
"psr/simple-cache": "^2.0.0 || ^3.0.0",
- "symfony/event-dispatcher": "^5.4.29 || ^6.4.0 || ^7.0.0",
- "symfony/type-info": "^7.3.0"
+ "symfony/event-dispatcher": "^5.4.29 || ^6.4.0 || ^7.0.0 || ^8.0.0",
+ "symfony/type-info": "^7.3.0 || ^8.0.0"
},
"require-dev": {
"infection/infection": "^0.31.9",
"patchlevel/coding-standard": "^1.3.0",
+ "phpat/phpat": "^0.12.0",
"phpbench/phpbench": "^1.2.15",
- "phpstan/phpstan": "^2.1.0",
+ "phpstan/phpstan": "^2.1.32",
+ "phpstan/phpstan-phpunit": "^2.0.8",
"phpunit/phpunit": "^11.5.17",
- "psalm/plugin-phpunit": "^0.19.2",
- "symfony/var-dumper": "^5.4.29 || ^6.4.0 || ^7.0.0",
- "vimeo/psalm": "^6.0.0"
+ "symfony/var-dumper": "^5.4.29 || ^6.4.0 || ^7.0.0 || ^8.0.0"
},
"config": {
"preferred-install": {
diff --git a/composer.lock b/composer.lock
index 0a749a2..64d7e6f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "1cbecd86ae94f4ff685bfa4ae3240be7",
+ "content-hash": "553b270b52c81e6c81d63d72ad996a9c",
"packages": [
{
"name": "psr/cache",
@@ -209,93 +209,26 @@
},
"time": "2021-10-29T13:26:27+00:00"
},
- {
- "name": "symfony/deprecation-contracts",
- "version": "v3.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/contracts",
- "name": "symfony/contracts"
- },
- "branch-alias": {
- "dev-main": "3.6-dev"
- }
- },
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "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": "A generic function and convention to trigger deprecation notices",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-25T14:21:43+00:00"
- },
{
"name": "symfony/event-dispatcher",
- "version": "v7.3.3",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191"
+ "reference": "573f95783a2ec6e38752979db139f09fec033f03"
},
"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/573f95783a2ec6e38752979db139f09fec033f03",
+ "reference": "573f95783a2ec6e38752979db139f09fec033f03",
"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": {
@@ -304,13 +237,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": {
@@ -338,7 +272,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.0"
},
"funding": [
{
@@ -358,7 +292,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2025-10-30T14:17:19+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -438,22 +372,21 @@
},
{
"name": "symfony/type-info",
- "version": "v7.3.5",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "8b36f41421160db56914f897b57eaa6a830758b3"
+ "reference": "9de828eae6aeb33806f8f2fec161a8f8e79338d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/8b36f41421160db56914f897b57eaa6a830758b3",
- "reference": "8b36f41421160db56914f897b57eaa6a830758b3",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/9de828eae6aeb33806f8f2fec161a8f8e79338d0",
+ "reference": "9de828eae6aeb33806f8f2fec161a8f8e79338d0",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "psr/container": "^1.1|^2.0",
- "symfony/deprecation-contracts": "^2.5|^3"
+ "php": ">=8.4",
+ "psr/container": "^1.1|^2.0"
},
"conflict": {
"phpstan/phpdoc-parser": "<1.30"
@@ -497,7 +430,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v7.3.5"
+ "source": "https://github.com/symfony/type-info/tree/v8.0.0"
},
"funding": [
{
@@ -517,42 +450,52 @@
"type": "tidelift"
}
],
- "time": "2025-10-16T12:30:12+00:00"
+ "time": "2025-11-08T16:30:39+00:00"
}
],
"packages-dev": [
{
- "name": "amphp/amp",
- "version": "v3.1.1",
+ "name": "colinodell/json5",
+ "version": "v3.0.0",
"source": {
"type": "git",
- "url": "https://github.com/amphp/amp.git",
- "reference": "fa0ab33a6f47a82929c38d03ca47ebb71086a93f"
+ "url": "https://github.com/colinodell/json5.git",
+ "reference": "5724d21bc5c910c2560af1b8915f0cc0163579c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/amp/zipball/fa0ab33a6f47a82929c38d03ca47ebb71086a93f",
- "reference": "fa0ab33a6f47a82929c38d03ca47ebb71086a93f",
+ "url": "https://api.github.com/repos/colinodell/json5/zipball/5724d21bc5c910c2560af1b8915f0cc0163579c8",
+ "reference": "5724d21bc5c910c2560af1b8915f0cc0163579c8",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "php": "^8.0"
},
"require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "phpunit/phpunit": "^9",
- "psalm/phar": "5.23.1"
+ "mikehaertl/php-shellcommand": "^1.7.0",
+ "phpstan/phpstan": "^1.10.57",
+ "scrutinizer/ocular": "^1.9",
+ "squizlabs/php_codesniffer": "^3.8.1",
+ "symfony/finder": "^6.0|^7.0",
+ "symfony/phpunit-bridge": "^7.0.3"
},
+ "bin": [
+ "bin/json5"
+ ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
"autoload": {
"files": [
- "src/functions.php",
- "src/Future/functions.php",
- "src/Internal/functions.php"
+ "src/global.php"
],
"psr-4": {
- "Amp\\": "src"
+ "ColinODell\\Json5\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -561,84 +504,83 @@
],
"authors": [
{
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Bob Weinand",
- "email": "bobwei9@hotmail.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- },
- {
- "name": "Daniel Lowrey",
- "email": "rdlowrey@php.net"
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Developer"
}
],
- "description": "A non-blocking concurrency framework for PHP applications.",
- "homepage": "https://amphp.org/amp",
+ "description": "UTF-8 compatible JSON5 parser for PHP",
+ "homepage": "https://github.com/colinodell/json5",
"keywords": [
- "async",
- "asynchronous",
- "awaitable",
- "concurrency",
- "event",
- "event-loop",
- "future",
- "non-blocking",
- "promise"
+ "JSON5",
+ "json",
+ "json5_decode",
+ "json_decode"
],
"support": {
- "issues": "https://github.com/amphp/amp/issues",
- "source": "https://github.com/amphp/amp/tree/v3.1.1"
+ "issues": "https://github.com/colinodell/json5/issues",
+ "source": "https://github.com/colinodell/json5/tree/v3.0.0"
},
"funding": [
{
- "url": "https://github.com/amphp",
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
"type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/colinodell",
+ "type": "patreon"
}
],
- "time": "2025-08-27T21:42:00+00:00"
+ "time": "2024-02-09T13:06:12+00:00"
},
{
- "name": "amphp/byte-stream",
- "version": "v2.1.2",
+ "name": "composer/pcre",
+ "version": "3.3.2",
"source": {
"type": "git",
- "url": "https://github.com/amphp/byte-stream.git",
- "reference": "55a6bd071aec26fa2a3e002618c20c35e3df1b46"
+ "url": "https://github.com/composer/pcre.git",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/byte-stream/zipball/55a6bd071aec26fa2a3e002618c20c35e3df1b46",
- "reference": "55a6bd071aec26fa2a3e002618c20c35e3df1b46",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
"shasum": ""
},
"require": {
- "amphp/amp": "^3",
- "amphp/parser": "^1.1",
- "amphp/pipeline": "^1",
- "amphp/serialization": "^1",
- "amphp/sync": "^2",
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2.3"
+ "php": "^7.4 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<1.11.10"
},
"require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "5.22.1"
+ "phpstan/phpstan": "^1.12 || ^2",
+ "phpstan/phpstan-strict-rules": "^1 || ^2",
+ "phpunit/phpunit": "^8 || ^9"
},
"type": "library",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ },
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
"autoload": {
- "files": [
- "src/functions.php",
- "src/Internal/functions.php"
- ],
"psr-4": {
- "Amp\\ByteStream\\": "src"
+ "Composer\\Pcre\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -647,960 +589,66 @@
],
"authors": [
{
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
}
],
- "description": "A stream abstraction to make working with non-blocking I/O simple.",
- "homepage": "https://amphp.org/byte-stream",
+ "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
"keywords": [
- "amp",
- "amphp",
- "async",
- "io",
- "non-blocking",
- "stream"
+ "PCRE",
+ "preg",
+ "regex",
+ "regular expression"
],
"support": {
- "issues": "https://github.com/amphp/byte-stream/issues",
- "source": "https://github.com/amphp/byte-stream/tree/v2.1.2"
+ "issues": "https://github.com/composer/pcre/issues",
+ "source": "https://github.com/composer/pcre/tree/3.3.2"
},
"funding": [
{
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2025-03-16T17:10:27+00:00"
- },
- {
- "name": "amphp/cache",
- "version": "v2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/cache.git",
- "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/cache/zipball/46912e387e6aa94933b61ea1ead9cf7540b7797c",
- "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "amphp/serialization": "^1",
- "amphp/sync": "^2",
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Amp\\Cache\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
+ "url": "https://packagist.com",
+ "type": "custom"
},
{
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
+ "url": "https://github.com/composer",
+ "type": "github"
},
{
- "name": "Daniel Lowrey",
- "email": "rdlowrey@php.net"
- }
- ],
- "description": "A fiber-aware cache API based on Amp and Revolt.",
- "homepage": "https://amphp.org/cache",
- "support": {
- "issues": "https://github.com/amphp/cache/issues",
- "source": "https://github.com/amphp/cache/tree/v2.0.1"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
}
],
- "time": "2024-04-19T03:38:06+00:00"
+ "time": "2024-11-12T16:29:46+00:00"
},
{
- "name": "amphp/dns",
- "version": "v2.4.0",
+ "name": "composer/xdebug-handler",
+ "version": "3.0.5",
"source": {
"type": "git",
- "url": "https://github.com/amphp/dns.git",
- "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71"
+ "url": "https://github.com/composer/xdebug-handler.git",
+ "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/dns/zipball/78eb3db5fc69bf2fc0cb503c4fcba667bc223c71",
- "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef",
+ "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef",
"shasum": ""
},
"require": {
- "amphp/amp": "^3",
- "amphp/byte-stream": "^2",
- "amphp/cache": "^2",
- "amphp/parser": "^1",
- "amphp/process": "^2",
- "daverandom/libdns": "^2.0.2",
- "ext-filter": "*",
- "ext-json": "*",
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
+ "composer/pcre": "^1 || ^2 || ^3",
+ "php": "^7.2.5 || ^8.0",
+ "psr/log": "^1 || ^2 || ^3"
},
"require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "5.20"
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
},
"type": "library",
"autoload": {
- "files": [
- "src/functions.php"
- ],
"psr-4": {
- "Amp\\Dns\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Chris Wright",
- "email": "addr@daverandom.com"
- },
- {
- "name": "Daniel Lowrey",
- "email": "rdlowrey@php.net"
- },
- {
- "name": "Bob Weinand",
- "email": "bobwei9@hotmail.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- },
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- }
- ],
- "description": "Async DNS resolution for Amp.",
- "homepage": "https://github.com/amphp/dns",
- "keywords": [
- "amp",
- "amphp",
- "async",
- "client",
- "dns",
- "resolve"
- ],
- "support": {
- "issues": "https://github.com/amphp/dns/issues",
- "source": "https://github.com/amphp/dns/tree/v2.4.0"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2025-01-19T15:43:40+00:00"
- },
- {
- "name": "amphp/parallel",
- "version": "v2.3.2",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/parallel.git",
- "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/parallel/zipball/321b45ae771d9c33a068186b24117e3cd1c48dce",
- "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "amphp/byte-stream": "^2",
- "amphp/cache": "^2",
- "amphp/parser": "^1",
- "amphp/pipeline": "^1",
- "amphp/process": "^2",
- "amphp/serialization": "^1",
- "amphp/socket": "^2",
- "amphp/sync": "^2",
- "php": ">=8.1",
- "revolt/event-loop": "^1"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "^5.18"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/Context/functions.php",
- "src/Context/Internal/functions.php",
- "src/Ipc/functions.php",
- "src/Worker/functions.php"
- ],
- "psr-4": {
- "Amp\\Parallel\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- },
- {
- "name": "Stephen Coakley",
- "email": "me@stephencoakley.com"
- }
- ],
- "description": "Parallel processing component for Amp.",
- "homepage": "https://github.com/amphp/parallel",
- "keywords": [
- "async",
- "asynchronous",
- "concurrent",
- "multi-processing",
- "multi-threading"
- ],
- "support": {
- "issues": "https://github.com/amphp/parallel/issues",
- "source": "https://github.com/amphp/parallel/tree/v2.3.2"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2025-08-27T21:55:40+00:00"
- },
- {
- "name": "amphp/parser",
- "version": "v1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/parser.git",
- "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7",
- "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7",
- "shasum": ""
- },
- "require": {
- "php": ">=7.4"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "phpunit/phpunit": "^9",
- "psalm/phar": "^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Amp\\Parser\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- }
- ],
- "description": "A generator parser to make streaming parsers simple.",
- "homepage": "https://github.com/amphp/parser",
- "keywords": [
- "async",
- "non-blocking",
- "parser",
- "stream"
- ],
- "support": {
- "issues": "https://github.com/amphp/parser/issues",
- "source": "https://github.com/amphp/parser/tree/v1.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2024-03-21T19:16:53+00:00"
- },
- {
- "name": "amphp/pipeline",
- "version": "v1.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/pipeline.git",
- "reference": "7b52598c2e9105ebcddf247fc523161581930367"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367",
- "reference": "7b52598c2e9105ebcddf247fc523161581930367",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "php": ">=8.1",
- "revolt/event-loop": "^1"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "^5.18"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Amp\\Pipeline\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- }
- ],
- "description": "Asynchronous iterators and operators.",
- "homepage": "https://amphp.org/pipeline",
- "keywords": [
- "amp",
- "amphp",
- "async",
- "io",
- "iterator",
- "non-blocking"
- ],
- "support": {
- "issues": "https://github.com/amphp/pipeline/issues",
- "source": "https://github.com/amphp/pipeline/tree/v1.2.3"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2025-03-16T16:33:53+00:00"
- },
- {
- "name": "amphp/process",
- "version": "v2.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/process.git",
- "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d",
- "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "amphp/byte-stream": "^2",
- "amphp/sync": "^2",
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "^5.4"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "Amp\\Process\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bob Weinand",
- "email": "bobwei9@hotmail.com"
- },
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- }
- ],
- "description": "A fiber-aware process manager based on Amp and Revolt.",
- "homepage": "https://amphp.org/process",
- "support": {
- "issues": "https://github.com/amphp/process/issues",
- "source": "https://github.com/amphp/process/tree/v2.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2024-04-19T03:13:44+00:00"
- },
- {
- "name": "amphp/serialization",
- "version": "v1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/serialization.git",
- "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1",
- "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "dev-master",
- "phpunit/phpunit": "^9 || ^8 || ^7"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "Amp\\Serialization\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- }
- ],
- "description": "Serialization tools for IPC and data storage in PHP.",
- "homepage": "https://github.com/amphp/serialization",
- "keywords": [
- "async",
- "asynchronous",
- "serialization",
- "serialize"
- ],
- "support": {
- "issues": "https://github.com/amphp/serialization/issues",
- "source": "https://github.com/amphp/serialization/tree/master"
- },
- "time": "2020-03-25T21:39:07+00:00"
- },
- {
- "name": "amphp/socket",
- "version": "v2.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/socket.git",
- "reference": "58e0422221825b79681b72c50c47a930be7bf1e1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1",
- "reference": "58e0422221825b79681b72c50c47a930be7bf1e1",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "amphp/byte-stream": "^2",
- "amphp/dns": "^2",
- "ext-openssl": "*",
- "kelunik/certificate": "^1.1",
- "league/uri": "^6.5 | ^7",
- "league/uri-interfaces": "^2.3 | ^7",
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "amphp/process": "^2",
- "phpunit/phpunit": "^9",
- "psalm/phar": "5.20"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php",
- "src/Internal/functions.php",
- "src/SocketAddress/functions.php"
- ],
- "psr-4": {
- "Amp\\Socket\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Daniel Lowrey",
- "email": "rdlowrey@gmail.com"
- },
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- }
- ],
- "description": "Non-blocking socket connection / server implementations based on Amp and Revolt.",
- "homepage": "https://github.com/amphp/socket",
- "keywords": [
- "amp",
- "async",
- "encryption",
- "non-blocking",
- "sockets",
- "tcp",
- "tls"
- ],
- "support": {
- "issues": "https://github.com/amphp/socket/issues",
- "source": "https://github.com/amphp/socket/tree/v2.3.1"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2024-04-21T14:33:03+00:00"
- },
- {
- "name": "amphp/sync",
- "version": "v2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/amphp/sync.git",
- "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1",
- "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "amphp/pipeline": "^1",
- "amphp/serialization": "^1",
- "php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "amphp/phpunit-util": "^3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "5.23"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "Amp\\Sync\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- },
- {
- "name": "Stephen Coakley",
- "email": "me@stephencoakley.com"
- }
- ],
- "description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.",
- "homepage": "https://github.com/amphp/sync",
- "keywords": [
- "async",
- "asynchronous",
- "mutex",
- "semaphore",
- "synchronization"
- ],
- "support": {
- "issues": "https://github.com/amphp/sync/issues",
- "source": "https://github.com/amphp/sync/tree/v2.3.0"
- },
- "funding": [
- {
- "url": "https://github.com/amphp",
- "type": "github"
- }
- ],
- "time": "2024-08-03T19:31:26+00:00"
- },
- {
- "name": "colinodell/json5",
- "version": "v3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/colinodell/json5.git",
- "reference": "5724d21bc5c910c2560af1b8915f0cc0163579c8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/colinodell/json5/zipball/5724d21bc5c910c2560af1b8915f0cc0163579c8",
- "reference": "5724d21bc5c910c2560af1b8915f0cc0163579c8",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "php": "^8.0"
- },
- "require-dev": {
- "mikehaertl/php-shellcommand": "^1.7.0",
- "phpstan/phpstan": "^1.10.57",
- "scrutinizer/ocular": "^1.9",
- "squizlabs/php_codesniffer": "^3.8.1",
- "symfony/finder": "^6.0|^7.0",
- "symfony/phpunit-bridge": "^7.0.3"
- },
- "bin": [
- "bin/json5"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "4.0-dev"
- }
- },
- "autoload": {
- "files": [
- "src/global.php"
- ],
- "psr-4": {
- "ColinODell\\Json5\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Colin O'Dell",
- "email": "colinodell@gmail.com",
- "homepage": "https://www.colinodell.com",
- "role": "Developer"
- }
- ],
- "description": "UTF-8 compatible JSON5 parser for PHP",
- "homepage": "https://github.com/colinodell/json5",
- "keywords": [
- "JSON5",
- "json",
- "json5_decode",
- "json_decode"
- ],
- "support": {
- "issues": "https://github.com/colinodell/json5/issues",
- "source": "https://github.com/colinodell/json5/tree/v3.0.0"
- },
- "funding": [
- {
- "url": "https://www.colinodell.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://www.paypal.me/colinpodell/10.00",
- "type": "custom"
- },
- {
- "url": "https://github.com/colinodell",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/colinodell",
- "type": "patreon"
- }
- ],
- "time": "2024-02-09T13:06:12+00:00"
- },
- {
- "name": "composer/pcre",
- "version": "3.3.2",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/pcre.git",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
- "shasum": ""
- },
- "require": {
- "php": "^7.4 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<1.11.10"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.12 || ^2",
- "phpstan/phpstan-strict-rules": "^1 || ^2",
- "phpunit/phpunit": "^8 || ^9"
- },
- "type": "library",
- "extra": {
- "phpstan": {
- "includes": [
- "extension.neon"
- ]
- },
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Composer\\Pcre\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
- "keywords": [
- "PCRE",
- "preg",
- "regex",
- "regular expression"
- ],
- "support": {
- "issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.3.2"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2024-11-12T16:29:46+00:00"
- },
- {
- "name": "composer/semver",
- "version": "3.4.4",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/semver.git",
- "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95",
- "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.2 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.11",
- "symfony/phpunit-bridge": "^3 || ^7"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Composer\\Semver\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nils Adermann",
- "email": "naderman@naderman.de",
- "homepage": "http://www.naderman.de"
- },
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- },
- {
- "name": "Rob Bast",
- "email": "rob.bast@gmail.com",
- "homepage": "http://robbast.nl"
- }
- ],
- "description": "Semver library that offers utilities, version constraint parsing and validation.",
- "keywords": [
- "semantic",
- "semver",
- "validation",
- "versioning"
- ],
- "support": {
- "irc": "ircs://irc.libera.chat:6697/composer",
- "issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.4"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- }
- ],
- "time": "2025-08-20T19:15:30+00:00"
- },
- {
- "name": "composer/xdebug-handler",
- "version": "3.0.5",
- "source": {
- "type": "git",
- "url": "https://github.com/composer/xdebug-handler.git",
- "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef",
- "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef",
- "shasum": ""
- },
- "require": {
- "composer/pcre": "^1 || ^2 || ^3",
- "php": "^7.2.5 || ^8.0",
- "psr/log": "^1 || ^2 || ^3"
- },
- "require-dev": {
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.1",
- "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Composer\\XdebugHandler\\": "src"
+ "Composer\\XdebugHandler\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1611,129 +659,33 @@
{
"name": "John Stevenson",
"email": "john-stevenson@blueyonder.co.uk"
- }
- ],
- "description": "Restarts a process without Xdebug.",
- "keywords": [
- "Xdebug",
- "performance"
- ],
- "support": {
- "irc": "ircs://irc.libera.chat:6697/composer",
- "issues": "https://github.com/composer/xdebug-handler/issues",
- "source": "https://github.com/composer/xdebug-handler/tree/3.0.5"
- },
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-06T16:37:16+00:00"
- },
- {
- "name": "danog/advanced-json-rpc",
- "version": "v3.2.2",
- "source": {
- "type": "git",
- "url": "https://github.com/danog/php-advanced-json-rpc.git",
- "reference": "aadb1c4068a88c3d0530cfe324b067920661efcb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/danog/php-advanced-json-rpc/zipball/aadb1c4068a88c3d0530cfe324b067920661efcb",
- "reference": "aadb1c4068a88c3d0530cfe324b067920661efcb",
- "shasum": ""
- },
- "require": {
- "netresearch/jsonmapper": "^5",
- "php": ">=8.1",
- "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
- },
- "replace": {
- "felixfbecker/php-advanced-json-rpc": "^3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "AdvancedJsonRpc\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "ISC"
- ],
- "authors": [
- {
- "name": "Felix Becker",
- "email": "felix.b@outlook.com"
- },
- {
- "name": "Daniil Gentili",
- "email": "daniil@daniil.it"
- }
- ],
- "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"
- },
- "time": "2025-02-14T10:55:15+00:00"
- },
- {
- "name": "daverandom/libdns",
- "version": "v2.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/DaveRandom/LibDNS.git",
- "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a",
- "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "Required for IDN support"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "LibDNS\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
+ }
],
- "description": "DNS protocol implementation written in pure PHP",
+ "description": "Restarts a process without Xdebug.",
"keywords": [
- "dns"
+ "Xdebug",
+ "performance"
],
"support": {
- "issues": "https://github.com/DaveRandom/LibDNS/issues",
- "source": "https://github.com/DaveRandom/LibDNS/tree/v2.1.0"
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/3.0.5"
},
- "time": "2024-04-12T12:12:48+00:00"
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-06T16:37:16+00:00"
},
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
@@ -1831,43 +783,6 @@
],
"time": "2025-11-11T04:32:07+00:00"
},
- {
- "name": "dnoegel/php-xdg-base-dir",
- "version": "v0.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
- "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
- "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "XdgBaseDir\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "implementation of xdg base directory specification for php",
- "support": {
- "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
- "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
- },
- "time": "2019-12-04T15:06:13+00:00"
- },
{
"name": "doctrine/annotations",
"version": "2.0.2",
@@ -1945,54 +860,6 @@
"abandoned": true,
"time": "2024-09-05T10:17:24+00:00"
},
- {
- "name": "doctrine/deprecations",
- "version": "1.1.5",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/deprecations.git",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "phpunit/phpunit": "<=7.5 || >=13"
- },
- "require-dev": {
- "doctrine/coding-standard": "^9 || ^12 || ^13",
- "phpstan/phpstan": "1.4.10 || 2.1.11",
- "phpstan/phpstan-phpunit": "^1.0 || ^2",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
- "psr/log": "^1 || ^2 || ^3"
- },
- "suggest": {
- "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Deprecations\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
- "homepage": "https://www.doctrine-project.org/",
- "support": {
- "issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.5"
- },
- "time": "2025-04-07T20:06:18+00:00"
- },
{
"name": "doctrine/lexer",
"version": "3.0.1",
@@ -2070,62 +937,6 @@
],
"time": "2024-02-05T11:56:58+00:00"
},
- {
- "name": "felixfbecker/language-server-protocol",
- "version": "v1.5.3",
- "source": {
- "type": "git",
- "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
- "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9",
- "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "require-dev": {
- "phpstan/phpstan": "*",
- "squizlabs/php_codesniffer": "^3.1",
- "vimeo/psalm": "^4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "LanguageServerProtocol\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "ISC"
- ],
- "authors": [
- {
- "name": "Felix Becker",
- "email": "felix.b@outlook.com"
- }
- ],
- "description": "PHP classes for the Language Server Protocol",
- "keywords": [
- "language",
- "microsoft",
- "php",
- "server"
- ],
- "support": {
- "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
- "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3"
- },
- "time": "2024-04-30T00:40:11+00:00"
- },
{
"name": "fidry/cpu-core-counter",
"version": "1.3.0",
@@ -2558,263 +1369,35 @@
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/fd8e5c6b1badb998844ad34ce0abcd71a0aeb396",
- "reference": "fd8e5c6b1badb998844ad34ce0abcd71a0aeb396",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "marc-mabe/php-enum": "^4.0",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "3.3.0",
- "json-schema/json-schema-test-suite": "^23.2",
- "marc-mabe/php-enum-phpstan": "^2.0",
- "phpspec/prophecy": "^1.19",
- "phpstan/phpstan": "^1.12",
- "phpunit/phpunit": "^8.5"
- },
- "bin": [
- "bin/validate-json"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "JsonSchema\\": "src/JsonSchema/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bruno Prieto Reis",
- "email": "bruno.p.reis@gmail.com"
- },
- {
- "name": "Justin Rainbow",
- "email": "justin.rainbow@gmail.com"
- },
- {
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch"
- },
- {
- "name": "Robert Schönthal",
- "email": "seroscho@googlemail.com"
- }
- ],
- "description": "A library to validate a json schema.",
- "homepage": "https://github.com/jsonrainbow/json-schema",
- "keywords": [
- "json",
- "schema"
- ],
- "support": {
- "issues": "https://github.com/jsonrainbow/json-schema/issues",
- "source": "https://github.com/jsonrainbow/json-schema/tree/6.6.1"
- },
- "time": "2025-11-07T18:30:29+00:00"
- },
- {
- "name": "kelunik/certificate",
- "version": "v1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/kelunik/certificate.git",
- "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e",
- "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e",
- "shasum": ""
- },
- "require": {
- "ext-openssl": "*",
- "php": ">=7.0"
- },
- "require-dev": {
- "amphp/php-cs-fixer-config": "^2",
- "phpunit/phpunit": "^6 | 7 | ^8 | ^9"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Kelunik\\Certificate\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
- }
- ],
- "description": "Access certificate details and transform between different formats.",
- "keywords": [
- "DER",
- "certificate",
- "certificates",
- "openssl",
- "pem",
- "x509"
- ],
- "support": {
- "issues": "https://github.com/kelunik/certificate/issues",
- "source": "https://github.com/kelunik/certificate/tree/v1.1.3"
- },
- "time": "2023-02-03T21:26:53+00:00"
- },
- {
- "name": "league/uri",
- "version": "7.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/uri.git",
- "reference": "f625804987a0a9112d954f9209d91fec52182344"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/f625804987a0a9112d954f9209d91fec52182344",
- "reference": "f625804987a0a9112d954f9209d91fec52182344",
- "shasum": ""
- },
- "require": {
- "league/uri-interfaces": "^7.6",
- "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",
- "ext-uri": "to use the PHP native URI class",
- "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
- "league/uri-components": "Needed to easily manipulate URI objects components",
- "league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
- "php-64bit": "to improve IPV4 host parsing",
- "rowbot/url": "to handle WHATWG URL",
- "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Uri\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ignace Nyamagana Butera",
- "email": "nyamsprod@gmail.com",
- "homepage": "https://nyamsprod.com"
- }
- ],
- "description": "URI manipulation library",
- "homepage": "https://uri.thephpleague.com",
- "keywords": [
- "URN",
- "data-uri",
- "file-uri",
- "ftp",
- "hostname",
- "http",
- "https",
- "middleware",
- "parse_str",
- "parse_url",
- "psr-7",
- "query-string",
- "querystring",
- "rfc2141",
- "rfc3986",
- "rfc3987",
- "rfc6570",
- "rfc8141",
- "uri",
- "uri-template",
- "url",
- "ws"
- ],
- "support": {
- "docs": "https://uri.thephpleague.com",
- "forum": "https://thephpleague.slack.com",
- "issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri/tree/7.6.0"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/nyamsprod",
- "type": "github"
- }
- ],
- "time": "2025-11-18T12:17:23+00:00"
- },
- {
- "name": "league/uri-interfaces",
- "version": "7.6.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "ccbfb51c0445298e7e0b7f4481b942f589665368"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/ccbfb51c0445298e7e0b7f4481b942f589665368",
- "reference": "ccbfb51c0445298e7e0b7f4481b942f589665368",
+ "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/fd8e5c6b1badb998844ad34ce0abcd71a0aeb396",
+ "reference": "fd8e5c6b1badb998844ad34ce0abcd71a0aeb396",
"shasum": ""
},
"require": {
- "ext-filter": "*",
- "php": "^8.1",
- "psr/http-message": "^1.1 || ^2.0"
+ "ext-json": "*",
+ "marc-mabe/php-enum": "^4.0",
+ "php": "^7.2 || ^8.0"
},
- "suggest": {
- "ext-bcmath": "to improve IPV4 host parsing",
- "ext-gmp": "to improve IPV4 host parsing",
- "ext-intl": "to handle IDN host with the best performance",
- "php-64bit": "to improve IPV4 host parsing",
- "rowbot/url": "to handle WHATWG URL",
- "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "3.3.0",
+ "json-schema/json-schema-test-suite": "^23.2",
+ "marc-mabe/php-enum-phpstan": "^2.0",
+ "phpspec/prophecy": "^1.19",
+ "phpstan/phpstan": "^1.12",
+ "phpunit/phpunit": "^8.5"
},
+ "bin": [
+ "bin/validate-json"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "7.x-dev"
+ "dev-master": "6.x-dev"
}
},
"autoload": {
"psr-4": {
- "League\\Uri\\": ""
+ "JsonSchema\\": "src/JsonSchema/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2823,45 +1406,33 @@
],
"authors": [
{
- "name": "Ignace Nyamagana Butera",
- "email": "nyamsprod@gmail.com",
- "homepage": "https://nyamsprod.com"
+ "name": "Bruno Prieto Reis",
+ "email": "bruno.p.reis@gmail.com"
+ },
+ {
+ "name": "Justin Rainbow",
+ "email": "justin.rainbow@gmail.com"
+ },
+ {
+ "name": "Igor Wiedler",
+ "email": "igor@wiedler.ch"
+ },
+ {
+ "name": "Robert Schönthal",
+ "email": "seroscho@googlemail.com"
}
],
- "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI",
- "homepage": "https://uri.thephpleague.com",
+ "description": "A library to validate a json schema.",
+ "homepage": "https://github.com/jsonrainbow/json-schema",
"keywords": [
- "data-uri",
- "file-uri",
- "ftp",
- "hostname",
- "http",
- "https",
- "parse_str",
- "parse_url",
- "psr-7",
- "query-string",
- "querystring",
- "rfc3986",
- "rfc3987",
- "rfc6570",
- "uri",
- "url",
- "ws"
+ "json",
+ "schema"
],
"support": {
- "docs": "https://uri.thephpleague.com",
- "forum": "https://thephpleague.slack.com",
- "issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri-interfaces/tree/7.6.0"
+ "issues": "https://github.com/jsonrainbow/json-schema/issues",
+ "source": "https://github.com/jsonrainbow/json-schema/tree/6.6.1"
},
- "funding": [
- {
- "url": "https://github.com/sponsors/nyamsprod",
- "type": "github"
- }
- ],
- "time": "2025-11-18T12:17:23+00:00"
+ "time": "2025-11-07T18:30:29+00:00"
},
{
"name": "marc-mabe/php-enum",
@@ -2996,57 +1567,6 @@
],
"time": "2025-08-01T08:46:24+00:00"
},
- {
- "name": "netresearch/jsonmapper",
- "version": "v5.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c",
- "reference": "8c64d8d444a5d764c641ebe97e0e3bc72b25bf6c",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "php": ">=7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0",
- "squizlabs/php_codesniffer": "~3.5"
- },
- "type": "library",
- "autoload": {
- "psr-0": {
- "JsonMapper": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "OSL-3.0"
- ],
- "authors": [
- {
- "name": "Christian Weiske",
- "email": "cweiske@cweiske.de",
- "homepage": "http://github.com/cweiske/jsonmapper/",
- "role": "Developer"
- }
- ],
- "description": "Map nested JSON structures onto PHP classes",
- "support": {
- "email": "cweiske@cweiske.de",
- "issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v5.0.0"
- },
- "time": "2024-09-08T10:20:00+00:00"
- },
{
"name": "nikic/php-parser",
"version": "v5.6.2",
@@ -3357,180 +1877,43 @@
"time": "2022-02-21T01:04:05+00:00"
},
{
- "name": "phpbench/container",
- "version": "2.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phpbench/container.git",
- "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpbench/container/zipball/0c7b2d36c1ea53fe27302fb8873ded7172047196",
- "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196",
- "shasum": ""
- },
- "require": {
- "psr/container": "^1.0|^2.0",
- "symfony/options-resolver": "^4.2 || ^5.0 || ^6.0 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "php-cs-fixer/shim": "^3.89",
- "phpstan/phpstan": "^0.12.52",
- "phpunit/phpunit": "^8"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpBench\\DependencyInjection\\": "lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Daniel Leech",
- "email": "daniel@dantleech.com"
- }
- ],
- "description": "Simple, configurable, service container.",
- "support": {
- "issues": "https://github.com/phpbench/container/issues",
- "source": "https://github.com/phpbench/container/tree/2.2.3"
- },
- "time": "2025-11-06T09:05:13+00:00"
- },
- {
- "name": "phpbench/phpbench",
- "version": "1.4.3",
+ "name": "phpat/phpat",
+ "version": "0.12.0",
"source": {
"type": "git",
- "url": "https://github.com/phpbench/phpbench.git",
- "reference": "b641dde59d969ea42eed70a39f9b51950bc96878"
+ "url": "https://github.com/carlosas/phpat.git",
+ "reference": "f1d0eccdba0a6862b7a639cbd020147c35b63763"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpbench/phpbench/zipball/b641dde59d969ea42eed70a39f9b51950bc96878",
- "reference": "b641dde59d969ea42eed70a39f9b51950bc96878",
+ "url": "https://api.github.com/repos/carlosas/phpat/zipball/f1d0eccdba0a6862b7a639cbd020147c35b63763",
+ "reference": "f1d0eccdba0a6862b7a639cbd020147c35b63763",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^2.0",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "ext-tokenizer": "*",
"php": "^8.1",
- "phpbench/container": "^2.2",
- "psr/log": "^1.1 || ^2.0 || ^3.0",
- "seld/jsonlint": "^1.1",
- "symfony/console": "^6.1 || ^7.0 || ^8.0",
- "symfony/filesystem": "^6.1 || ^7.0 || ^8.0",
- "symfony/finder": "^6.1 || ^7.0 || ^8.0",
- "symfony/options-resolver": "^6.1 || ^7.0 || ^8.0",
- "symfony/process": "^6.1 || ^7.0 || ^8.0",
- "webmozart/glob": "^4.6"
+ "phpstan/phpstan": "^2.1"
},
"require-dev": {
- "dantleech/invoke": "^2.0",
- "ergebnis/composer-normalize": "^2.39",
- "jangregor/phpstan-prophecy": "^1.0",
- "php-cs-fixer/shim": "^3.9",
- "phpspec/prophecy": "^1.22",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^10.4 || ^11.0",
- "rector/rector": "^1.2",
- "symfony/error-handler": "^6.1 || ^7.0 || ^8.0",
- "symfony/var-dumper": "^6.1 || ^7.0 || ^8.0"
- },
- "suggest": {
- "ext-xdebug": "For Xdebug profiling extension."
+ "friendsofphp/php-cs-fixer": "^3.87",
+ "kubawerlos/php-cs-fixer-custom-fixers": "3.32.*",
+ "phpunit/phpunit": "^10.5",
+ "vimeo/psalm": "^6.13"
},
- "bin": [
- "bin/phpbench"
- ],
- "type": "library",
+ "type": "phpstan-extension",
"extra": {
- "branch-alias": {
- "dev-master": "1.2-dev"
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
}
},
"autoload": {
"files": [
- "lib/Report/Func/functions.php"
+ "helpers.php"
],
"psr-4": {
- "PhpBench\\": "lib/",
- "PhpBench\\Extensions\\XDebug\\": "extensions/xdebug/lib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Daniel Leech",
- "email": "daniel@dantleech.com"
- }
- ],
- "description": "PHP Benchmarking Framework",
- "keywords": [
- "benchmarking",
- "optimization",
- "performance",
- "profiling",
- "testing"
- ],
- "support": {
- "issues": "https://github.com/phpbench/phpbench/issues",
- "source": "https://github.com/phpbench/phpbench/tree/1.4.3"
- },
- "funding": [
- {
- "url": "https://github.com/dantleech",
- "type": "github"
- }
- ],
- "time": "2025-11-06T19:07:31+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
+ "PHPat\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3539,66 +1922,49 @@
],
"authors": [
{
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
+ "name": "Carlos Alandete Sastre",
+ "email": "carlos.alandete@gmail.com"
}
],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
+ "description": "PHP Architecture Tester",
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ "issues": "https://github.com/carlosas/phpat/issues",
+ "source": "https://github.com/carlosas/phpat/tree/0.12.0"
},
- "time": "2020-06-27T09:03:43+00:00"
+ "time": "2025-09-11T19:00:27+00:00"
},
{
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.6.4",
+ "name": "phpbench/container",
+ "version": "2.2.3",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "90a04bcbf03784066f16038e87e23a0a83cee3c2"
+ "url": "https://github.com/phpbench/container.git",
+ "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90a04bcbf03784066f16038e87e23a0a83cee3c2",
- "reference": "90a04bcbf03784066f16038e87e23a0a83cee3c2",
+ "url": "https://api.github.com/repos/phpbench/container/zipball/0c7b2d36c1ea53fe27302fb8873ded7172047196",
+ "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.1",
- "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"
+ "psr/container": "^1.0|^2.0",
+ "symfony/options-resolver": "^4.2 || ^5.0 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
- "mockery/mockery": "~1.3.5 || ~1.6.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-webmozart-assert": "^1.2",
- "phpunit/phpunit": "^9.5",
- "psalm/phar": "^5.26"
+ "php-cs-fixer/shim": "^3.89",
+ "phpstan/phpstan": "^0.12.52",
+ "phpunit/phpunit": "^8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "PhpBench\\DependencyInjection\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3607,60 +1973,83 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- },
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
+ "name": "Daniel Leech",
+ "email": "daniel@dantleech.com"
}
],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "description": "Simple, configurable, service container.",
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.4"
+ "issues": "https://github.com/phpbench/container/issues",
+ "source": "https://github.com/phpbench/container/tree/2.2.3"
},
- "time": "2025-11-17T21:13:10+00:00"
+ "time": "2025-11-06T09:05:13+00:00"
},
{
- "name": "phpdocumentor/type-resolver",
- "version": "1.10.1",
+ "name": "phpbench/phpbench",
+ "version": "1.4.3",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "431c02da15e566adb0ad9c5030fa6f6204d9de9e"
+ "url": "https://github.com/phpbench/phpbench.git",
+ "reference": "b641dde59d969ea42eed70a39f9b51950bc96878"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/431c02da15e566adb0ad9c5030fa6f6204d9de9e",
- "reference": "431c02da15e566adb0ad9c5030fa6f6204d9de9e",
+ "url": "https://api.github.com/repos/phpbench/phpbench/zipball/b641dde59d969ea42eed70a39f9b51950bc96878",
+ "reference": "b641dde59d969ea42eed70a39f9b51950bc96878",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.0",
- "php": "^7.3 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.18|^2.0"
+ "doctrine/annotations": "^2.0",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "ext-tokenizer": "*",
+ "php": "^8.1",
+ "phpbench/container": "^2.2",
+ "psr/log": "^1.1 || ^2.0 || ^3.0",
+ "seld/jsonlint": "^1.1",
+ "symfony/console": "^6.1 || ^7.0 || ^8.0",
+ "symfony/filesystem": "^6.1 || ^7.0 || ^8.0",
+ "symfony/finder": "^6.1 || ^7.0 || ^8.0",
+ "symfony/options-resolver": "^6.1 || ^7.0 || ^8.0",
+ "symfony/process": "^6.1 || ^7.0 || ^8.0",
+ "webmozart/glob": "^4.6"
},
"require-dev": {
- "ext-tokenizer": "*",
- "phpbench/phpbench": "^1.2",
+ "dantleech/invoke": "^2.0",
+ "ergebnis/composer-normalize": "^2.39",
+ "jangregor/phpstan-prophecy": "^1.0",
+ "php-cs-fixer/shim": "^3.9",
+ "phpspec/prophecy": "^1.22",
"phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^10.4 || ^11.0",
+ "rector/rector": "^1.2",
+ "symfony/error-handler": "^6.1 || ^7.0 || ^8.0",
+ "symfony/var-dumper": "^6.1 || ^7.0 || ^8.0"
+ },
+ "suggest": {
+ "ext-xdebug": "For Xdebug profiling extension."
},
+ "bin": [
+ "bin/phpbench"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-1.x": "1.x-dev"
+ "dev-master": "1.2-dev"
}
},
"autoload": {
+ "files": [
+ "lib/Report/Func/functions.php"
+ ],
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "PhpBench\\": "lib/",
+ "PhpBench\\Extensions\\XDebug\\": "extensions/xdebug/lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3669,16 +2058,29 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "name": "Daniel Leech",
+ "email": "daniel@dantleech.com"
}
],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "description": "PHP Benchmarking Framework",
+ "keywords": [
+ "benchmarking",
+ "optimization",
+ "performance",
+ "profiling",
+ "testing"
+ ],
"support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.1"
+ "issues": "https://github.com/phpbench/phpbench/issues",
+ "source": "https://github.com/phpbench/phpbench/tree/1.4.3"
},
- "time": "2025-11-18T07:51:16+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/dantleech",
+ "type": "github"
+ }
+ ],
+ "time": "2025-11-06T19:07:31+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -3780,6 +2182,59 @@
],
"time": "2025-11-11T15:18:17+00:00"
},
+ {
+ "name": "phpstan/phpstan-phpunit",
+ "version": "2.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan-phpunit.git",
+ "reference": "2fe9fbeceaf76dd1ebaa7bbbb25e2fb5e59db2fe"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/2fe9fbeceaf76dd1ebaa7bbbb25e2fb5e59db2fe",
+ "reference": "2fe9fbeceaf76dd1ebaa7bbbb25e2fb5e59db2fe",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^2.1.32"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.0"
+ },
+ "require-dev": {
+ "nikic/php-parser": "^5",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan-deprecation-rules": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^9.6"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon",
+ "rules.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPUnit extensions and rules for PHPStan",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan-phpunit/issues",
+ "source": "https://github.com/phpstan/phpstan-phpunit/tree/2.0.8"
+ },
+ "time": "2025-11-11T07:55:22+00:00"
+ },
{
"name": "phpunit/php-code-coverage",
"version": "11.0.11",
@@ -4224,64 +2679,6 @@
],
"time": "2025-11-13T07:17:35+00:00"
},
- {
- "name": "psalm/plugin-phpunit",
- "version": "0.19.5",
- "source": {
- "type": "git",
- "url": "https://github.com/psalm/psalm-plugin-phpunit.git",
- "reference": "143f9d5e049fffcdbc0da3fbb99f6149f9d3e2dc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/143f9d5e049fffcdbc0da3fbb99f6149f9d3e2dc",
- "reference": "143f9d5e049fffcdbc0da3fbb99f6149f9d3e2dc",
- "shasum": ""
- },
- "require": {
- "ext-simplexml": "*",
- "php": ">=8.1",
- "vimeo/psalm": "dev-master || ^6.10.0"
- },
- "conflict": {
- "phpspec/prophecy": "<1.20.0",
- "phpspec/prophecy-phpunit": "<2.3.0",
- "phpunit/phpunit": "<8.5.1"
- },
- "require-dev": {
- "php": "^7.3 || ^8.0",
- "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0",
- "squizlabs/php_codesniffer": "^3.3.1",
- "weirdan/prophecy-shim": "^1.0 || ^2.0"
- },
- "type": "psalm-plugin",
- "extra": {
- "psalm": {
- "pluginClass": "Psalm\\PhpUnitPlugin\\Plugin"
- }
- },
- "autoload": {
- "psr-4": {
- "Psalm\\PhpUnitPlugin\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Matt Brown",
- "email": "github@muglug.com"
- }
- ],
- "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"
- },
- "time": "2025-03-31T18:49:55+00:00"
- },
{
"name": "psr/clock",
"version": "1.0.0",
@@ -4330,114 +2727,6 @@
},
"time": "2022-11-25T14:36:26+00:00"
},
- {
- "name": "psr/http-factory",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
- "keywords": [
- "factory",
- "http",
- "message",
- "psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-factory"
- },
- "time": "2024-04-15T12:06:14+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-message/tree/2.0"
- },
- "time": "2023-04-04T09:54:51+00:00"
- },
{
"name": "psr/log",
"version": "3.0.2",
@@ -4472,93 +2761,21 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "support": {
- "source": "https://github.com/php-fig/log/tree/3.0.2"
- },
- "time": "2024-09-11T13:17:53+00:00"
- },
- {
- "name": "revolt/event-loop",
- "version": "v1.0.7",
- "source": {
- "type": "git",
- "url": "https://github.com/revoltphp/event-loop.git",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "require-dev": {
- "ext-json": "*",
- "jetbrains/phpstorm-stubs": "^2019.3",
- "phpunit/phpunit": "^9",
- "psalm/phar": "^5.15"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Revolt\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Piotrowski",
- "email": "aaron@trowski.com"
- },
- {
- "name": "Cees-Jan Kiewiet",
- "email": "ceesjank@gmail.com"
- },
- {
- "name": "Christian Lück",
- "email": "christian@clue.engineering"
- },
- {
- "name": "Niklas Keller",
- "email": "me@kelunik.com"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Rock-solid event loop for concurrent PHP applications.",
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
"keywords": [
- "async",
- "asynchronous",
- "concurrency",
- "event",
- "event-loop",
- "non-blocking",
- "scheduler"
+ "log",
+ "psr",
+ "psr-3"
],
"support": {
- "issues": "https://github.com/revoltphp/event-loop/issues",
- "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7"
+ "source": "https://github.com/php-fig/log/tree/3.0.2"
},
- "time": "2025-01-25T19:27:39+00:00"
+ "time": "2024-09-11T13:17:53+00:00"
},
{
"name": "sanmai/di-container",
@@ -5946,74 +4163,6 @@
],
"time": "2025-09-13T08:53:30+00:00"
},
- {
- "name": "spatie/array-to-xml",
- "version": "3.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/array-to-xml.git",
- "reference": "6a740f39415aee8886aea10333403adc77d50791"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/6a740f39415aee8886aea10333403adc77d50791",
- "reference": "6a740f39415aee8886aea10333403adc77d50791",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "php": "^8.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.2",
- "pestphp/pest": "^1.21",
- "spatie/pest-plugin-snapshots": "^1.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Spatie\\ArrayToXml\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://freek.dev",
- "role": "Developer"
- }
- ],
- "description": "Convert an array to xml",
- "homepage": "https://github.com/spatie/array-to-xml",
- "keywords": [
- "array",
- "convert",
- "xml"
- ],
- "support": {
- "source": "https://github.com/spatie/array-to-xml/tree/3.4.1"
- },
- "funding": [
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "custom"
- },
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2025-11-12T10:32:50+00:00"
- },
{
"name": "squizlabs/php_codesniffer",
"version": "3.13.5",
@@ -6147,16 +4296,16 @@
},
{
"name": "symfony/console",
- "version": "v7.3.6",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a"
+ "reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a",
- "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a",
+ "url": "https://api.github.com/repos/symfony/console/zipball/0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
+ "reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
"shasum": ""
},
"require": {
@@ -6164,7 +4313,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",
@@ -6178,16 +4327,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": {
@@ -6221,7 +4370,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.3.6"
+ "source": "https://github.com/symfony/console/tree/v7.4.0"
},
"funding": [
{
@@ -6241,20 +4390,87 @@
"type": "tidelift"
}
],
- "time": "2025-11-04T01:21:42+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
+ },
+ {
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.6-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "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": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.3.6",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a"
+ "reference": "d551b38811096d0be9c4691d406991b47c0c630a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a",
- "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/d551b38811096d0be9c4691d406991b47c0c630a",
+ "reference": "d551b38811096d0be9c4691d406991b47c0c630a",
"shasum": ""
},
"require": {
@@ -6263,7 +4479,7 @@
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^6.4|^7.0"
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6291,7 +4507,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.3.6"
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.0"
},
"funding": [
{
@@ -6311,27 +4527,27 @@
"type": "tidelift"
}
],
- "time": "2025-11-05T09:52:27+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.3.5",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "9f696d2f1e340484b4683f7853b273abff94421f"
+ "reference": "340b9ed7320570f319028a2cbec46d40535e94bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f",
- "reference": "9f696d2f1e340484b4683f7853b273abff94421f",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd",
+ "reference": "340b9ed7320570f319028a2cbec46d40535e94bd",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6359,7 +4575,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.5"
+ "source": "https://github.com/symfony/finder/tree/v7.4.0"
},
"funding": [
{
@@ -6379,24 +4595,24 @@
"type": "tidelift"
}
],
- "time": "2025-10-15T18:45:57+00:00"
+ "time": "2025-11-05T05:42:40+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v7.3.3",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d"
+ "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d",
- "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/d2b592535ffa6600c265a3893a7f7fd2bad82dd7",
+ "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=8.4",
"symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
@@ -6430,7 +4646,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.3.3"
+ "source": "https://github.com/symfony/options-resolver/tree/v8.0.0"
},
"funding": [
{
@@ -6450,7 +4666,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-05T10:16:07+00:00"
+ "time": "2025-11-12T15:55:31+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -6787,98 +5003,18 @@
],
"time": "2024-12-23T08:48:59+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/process",
- "version": "v7.3.4",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b"
+ "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8",
+ "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8",
"shasum": ""
},
"require": {
@@ -6910,7 +5046,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.0"
},
"funding": [
{
@@ -6930,7 +5066,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2025-10-16T11:21:06+00:00"
},
{
"name": "symfony/service-contracts",
@@ -7021,34 +5157,34 @@
},
{
"name": "symfony/string",
- "version": "v7.3.4",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f96476035142921000338bad71e5247fbc138872"
+ "reference": "f929eccf09531078c243df72398560e32fa4cf4f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872",
- "reference": "f96476035142921000338bad71e5247fbc138872",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f",
+ "reference": "f929eccf09531078c243df72398560e32fa4cf4f",
"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": {
@@ -7087,7 +5223,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.3.4"
+ "source": "https://github.com/symfony/string/tree/v8.0.0"
},
"funding": [
{
@@ -7107,35 +5243,35 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T14:36:48+00:00"
+ "time": "2025-09-11T14:37:55+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.3.5",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d"
+ "reference": "d2a2476c93b58ac5292145e9fac1ff76a21d1ce2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/476c4ae17f43a9a36650c69879dcf5b1e6ae724d",
- "reference": "476c4ae17f43a9a36650c69879dcf5b1e6ae724d",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d2a2476c93b58ac5292145e9fac1ff76a21d1ce2",
+ "reference": "d2a2476c93b58ac5292145e9fac1ff76a21d1ce2",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0"
+ "php": ">=8.4",
+ "symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
- "symfony/console": "<6.4"
+ "symfony/console": "<7.4",
+ "symfony/error-handler": "<7.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": "^7.4|^8.0",
+ "symfony/http-kernel": "^7.4|^8.0",
+ "symfony/process": "^7.4|^8.0",
+ "symfony/uid": "^7.4|^8.0",
"twig/twig": "^3.12"
},
"bin": [
@@ -7174,7 +5310,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.3.5"
+ "source": "https://github.com/symfony/var-dumper/tree/v8.0.0"
},
"funding": [
{
@@ -7194,7 +5330,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-27T09:00:46+00:00"
+ "time": "2025-10-28T09:34:19+00:00"
},
{
"name": "thecodingmachine/safe",
@@ -7385,124 +5521,6 @@
],
"time": "2025-11-17T20:03:58+00:00"
},
- {
- "name": "vimeo/psalm",
- "version": "6.13.1",
- "source": {
- "type": "git",
- "url": "https://github.com/vimeo/psalm.git",
- "reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
- "reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
- "shasum": ""
- },
- "require": {
- "amphp/amp": "^3",
- "amphp/byte-stream": "^2",
- "amphp/parallel": "^2.3",
- "composer-runtime-api": "^2",
- "composer/semver": "^1.4 || ^2.0 || ^3.0",
- "composer/xdebug-handler": "^2.0 || ^3.0",
- "danog/advanced-json-rpc": "^3.1",
- "dnoegel/php-xdg-base-dir": "^0.1.1",
- "ext-ctype": "*",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-simplexml": "*",
- "ext-tokenizer": "*",
- "felixfbecker/language-server-protocol": "^1.5.3",
- "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",
- "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/polyfill-php84": "^1.31.0"
- },
- "provide": {
- "psalm/psalm": "self.version"
- },
- "require-dev": {
- "amphp/phpunit-util": "^3",
- "bamarni/composer-bin-plugin": "^1.4",
- "brianium/paratest": "^6.9",
- "danog/class-finder": "^0.4.8",
- "dg/bypass-finals": "^1.5",
- "ext-curl": "*",
- "mockery/mockery": "^1.5",
- "nunomaduro/mock-final-classes": "^1.1",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpdoc-parser": "^1.6",
- "phpunit/phpunit": "^9.6",
- "psalm/plugin-mockery": "^1.1",
- "psalm/plugin-phpunit": "^0.19",
- "slevomat/coding-standard": "^8.4",
- "squizlabs/php_codesniffer": "^3.6",
- "symfony/process": "^6.0 || ^7.0"
- },
- "suggest": {
- "ext-curl": "In order to send data to shepherd",
- "ext-igbinary": "^2.0.5 is required, used to serialize caching data"
- },
- "bin": [
- "psalm",
- "psalm-language-server",
- "psalm-plugin",
- "psalm-refactor",
- "psalm-review",
- "psalter"
- ],
- "type": "project",
- "extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev",
- "dev-2.x": "2.x-dev",
- "dev-3.x": "3.x-dev",
- "dev-4.x": "4.x-dev",
- "dev-5.x": "5.x-dev",
- "dev-6.x": "6.x-dev",
- "dev-master": "7.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psalm\\": "src/Psalm/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Matthew Brown"
- },
- {
- "name": "Daniil Gentili",
- "email": "daniil@daniil.it"
- }
- ],
- "description": "A static analysis tool for finding errors in PHP applications",
- "keywords": [
- "code",
- "inspection",
- "php",
- "static analysis"
- ],
- "support": {
- "docs": "https://psalm.dev/docs",
- "issues": "https://github.com/vimeo/psalm/issues",
- "source": "https://github.com/vimeo/psalm"
- },
- "time": "2025-08-06T10:10:28+00:00"
- },
{
"name": "webmozart/assert",
"version": "1.12.1",
@@ -7617,9 +5635,9 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"ext-openssl": "*"
},
"platform-dev": {},
- "plugin-api-version": "2.9.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/infection.json.dist b/infection.json.dist
index ff79d4d..16b7b18 100644
--- a/infection.json.dist
+++ b/infection.json.dist
@@ -4,6 +4,8 @@
"src"
]
},
+ "staticAnalysisTool": "phpstan",
+ "staticAnalysisToolOptions": "--memory-limit=-1",
"logs": {
"text": "infection.log",
"html": "infection.html",
@@ -14,7 +16,7 @@
"mutators": {
"@default": true
},
- "minMsi": 84,
+ "minMsi": 89,
"minCoveredMsi": 88,
"testFrameworkOptions": "--testsuite=unit"
}
diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
index 32f26cc..87a6a24 100644
--- a/phpstan-baseline.neon
+++ b/phpstan-baseline.neon
@@ -107,3 +107,87 @@ parameters:
identifier: return.type
count: 1
path: src/Normalizer/ReflectionTypeUtil.php
+
+ -
+ message: '#^Method Patchlevel\\Hydrator\\Tests\\Unit\\Fixture\\DtoWithHooks\:\:postHydrate\(\) is unused\.$#'
+ identifier: method.unused
+ count: 1
+ path: tests/Unit/Fixture/DtoWithHooks.php
+
+ -
+ message: '#^Method Patchlevel\\Hydrator\\Tests\\Unit\\Fixture\\DtoWithHooks\:\:preExtract\(\) is unused\.$#'
+ identifier: method.unused
+ count: 1
+ path: tests/Unit/Fixture/DtoWithHooks.php
+
+ -
+ message: '#^Method class@anonymous/tests/Unit/Metadata/AttributeMetadataFactoryTest\.php\:454\:\:postHydrate\(\) is unused\.$#'
+ identifier: method.unused
+ count: 1
+ path: tests/Unit/Metadata/AttributeMetadataFactoryTest.php
+
+ -
+ message: '#^Method class@anonymous/tests/Unit/Metadata/AttributeMetadataFactoryTest\.php\:454\:\:preExtract\(\) is unused\.$#'
+ identifier: method.unused
+ count: 1
+ path: tests/Unit/Metadata/AttributeMetadataFactoryTest.php
+
+ -
+ message: '#^Parameter \#1 \$class of method Patchlevel\\Hydrator\\Metadata\\AttributeMetadataFactory\:\:metadata\(\) expects class\-string\, string given\.$#'
+ identifier: argument.type
+ count: 1
+ path: tests/Unit/Metadata/AttributeMetadataFactoryTest.php
+
+ -
+ message: '#^Static method class@anonymous/tests/Unit/Metadata/AttributeMetadataFactoryTest\.php\:482\:\:postHydrate\(\) is unused\.$#'
+ identifier: method.unused
+ count: 1
+ path: tests/Unit/Metadata/AttributeMetadataFactoryTest.php
+
+ -
+ message: '#^Static method class@anonymous/tests/Unit/Metadata/AttributeMetadataFactoryTest\.php\:482\:\:preExtract\(\) is unused\.$#'
+ identifier: method.unused
+ count: 1
+ path: tests/Unit/Metadata/AttributeMetadataFactoryTest.php
+
+ -
+ message: '#^Parameter \#1 \$class of method Patchlevel\\Hydrator\\MetadataHydrator\:\:hydrate\(\) expects class\-string\, string given\.$#'
+ identifier: argument.type
+ count: 1
+ path: tests/Unit/MetadataHydratorTest.php
+
+ -
+ message: '#^Cannot cast mixed to int\.$#'
+ identifier: cast.int
+ count: 2
+ path: tests/Unit/Normalizer/ArrayNormalizerTest.php
+
+ -
+ message: '#^Cannot cast mixed to string\.$#'
+ identifier: cast.string
+ count: 2
+ path: tests/Unit/Normalizer/ArrayNormalizerTest.php
+
+ -
+ message: '#^Parameter \#1 \$normalizer of class Patchlevel\\Hydrator\\Normalizer\\ArrayNormalizer constructor expects Patchlevel\\Hydrator\\Normalizer\\Normalizer, PHPUnit\\Framework\\MockObject\\MockObject given\.$#'
+ identifier: argument.type
+ count: 1
+ path: tests/Unit/Normalizer/ArrayNormalizerTest.php
+
+ -
+ message: '#^Cannot cast mixed to int\.$#'
+ identifier: cast.int
+ count: 2
+ path: tests/Unit/Normalizer/ArrayShapeNormalizerTest.php
+
+ -
+ message: '#^Cannot cast mixed to string\.$#'
+ identifier: cast.string
+ count: 2
+ path: tests/Unit/Normalizer/ArrayShapeNormalizerTest.php
+
+ -
+ message: '#^Parameter \#1 \$normalizerMap of class Patchlevel\\Hydrator\\Normalizer\\ArrayShapeNormalizer constructor expects array\, array\ given\.$#'
+ identifier: argument.type
+ count: 1
+ path: tests/Unit/Normalizer/ArrayShapeNormalizerTest.php
diff --git a/phpstan.neon.dist b/phpstan.neon.dist
index dd84adb..9c41cd1 100644
--- a/phpstan.neon.dist
+++ b/phpstan.neon.dist
@@ -1,7 +1,16 @@
includes:
- phpstan-baseline.neon
+ - vendor/phpstan/phpstan-phpunit/extension.neon
+ - vendor/phpat/phpat/extension.neon
parameters:
level: max
paths:
- src
+ - tests
+
+services:
+ -
+ class: Patchlevel\Hydrator\Tests\Architecture\FinalClassesTest
+ tags:
+ - phpat.test
\ No newline at end of file
diff --git a/psalm.xml b/psalm.xml
deleted file mode 100644
index c4fc7c6..0000000
--- a/psalm.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/Architecture/FinalClassesTest.php b/tests/Architecture/FinalClassesTest.php
new file mode 100644
index 0000000..1da5cd6
--- /dev/null
+++ b/tests/Architecture/FinalClassesTest.php
@@ -0,0 +1,25 @@
+classes(
+ Selector::AllOf(
+ Selector::inNamespace('Patchlevel\Hydrator'),
+ Selector::NOT(Selector::isAbstract()),
+ Selector::NOT(Selector::isInterface()),
+ ),
+ )
+ ->shouldBeFinal();
+ }
+}
diff --git a/tests/Unit/Cryptography/PersonalDataPayloadCryptographerTest.php b/tests/Unit/Cryptography/PersonalDataPayloadCryptographerTest.php
index 575b799..f1037e6 100644
--- a/tests/Unit/Cryptography/PersonalDataPayloadCryptographerTest.php
+++ b/tests/Unit/Cryptography/PersonalDataPayloadCryptographerTest.php
@@ -444,13 +444,26 @@ public function testStringableSubjectId(): void
public function testCreateWithOpenssl(): void
{
+ $cipherKey = new CipherKey('foo', 'aes128', 'baz');
+
$cipherKeyStore = $this->createMock(CipherKeyStore::class);
+ $cipherKeyStore->method('get')->with('foo')->willReturn($cipherKey);
+ $cipherKeyStore
+ ->expects($this->never())
+ ->method('store')
+ ->with('foo', $this->isInstanceOf(CipherKey::class));
- $cryptographer = PersonalDataPayloadCryptographer::createWithOpenssl(
- $cipherKeyStore,
- );
+ $cryptographer = PersonalDataPayloadCryptographer::createWithOpenssl($cipherKeyStore);
+
+ $data = ['id' => 'foo', 'email' => 'info@patchlevel.de'];
+ $enrcyptedData = $cryptographer->encrypt($this->metadata(PersonalDataProfileCreated::class), $data);
+
+ self::assertNotSame('info@patchlevel.de', $enrcyptedData['email']);
+ self::assertSame('aUYxMzQ2bm80cUNCcE1wOUsveitUSmdGaHpYYjNoQWp1VGxTQXVITXRDVT0=', $enrcyptedData['email']);
+
+ $decryptedData = $cryptographer->decrypt($this->metadata(PersonalDataProfileCreated::class), $enrcyptedData);
- self::assertInstanceOf(PersonalDataPayloadCryptographer::class, $cryptographer);
+ self::assertSame($data, $decryptedData);
}
/** @param class-string $class */
diff --git a/tests/Unit/Fixture/BrokenParentDto.php b/tests/Unit/Fixture/BrokenParentDto.php
index fed4de9..a09a06f 100644
--- a/tests/Unit/Fixture/BrokenParentDto.php
+++ b/tests/Unit/Fixture/BrokenParentDto.php
@@ -9,7 +9,7 @@ final class BrokenParentDto extends ChildDto
public function __construct(
#[IdNormalizer]
public ProfileId $profileId,
- private Email $email,
+ public Email $email,
) {
parent::__construct($email);
}
diff --git a/tests/Unit/Fixture/ChildDto.php b/tests/Unit/Fixture/ChildDto.php
index 9f205e0..919365f 100644
--- a/tests/Unit/Fixture/ChildDto.php
+++ b/tests/Unit/Fixture/ChildDto.php
@@ -8,7 +8,7 @@ abstract class ChildDto
{
public function __construct(
#[EmailNormalizer]
- private Email $email,
+ public Email $email,
) {
}
}
diff --git a/tests/Unit/Fixture/ChildWithPersonalDataDto.php b/tests/Unit/Fixture/ChildWithPersonalDataDto.php
index b3a9094..ad5fd8d 100644
--- a/tests/Unit/Fixture/ChildWithPersonalDataDto.php
+++ b/tests/Unit/Fixture/ChildWithPersonalDataDto.php
@@ -11,7 +11,7 @@ abstract class ChildWithPersonalDataDto
public function __construct(
#[EmailNormalizer]
#[PersonalData]
- private Email $email,
+ public Email $email,
) {
}
}
diff --git a/tests/Unit/Fixture/IgnoreParentDto.php b/tests/Unit/Fixture/IgnoreParentDto.php
index 9af5186..167b475 100644
--- a/tests/Unit/Fixture/IgnoreParentDto.php
+++ b/tests/Unit/Fixture/IgnoreParentDto.php
@@ -12,7 +12,7 @@ public function __construct(
#[IdNormalizer]
public ProfileId $profileId,
#[Ignore]
- private Email $email,
+ public Email $email,
) {
parent::__construct($email);
}
diff --git a/tests/Unit/MetadataHydratorTest.php b/tests/Unit/MetadataHydratorTest.php
index 14a6cb7..46ce134 100644
--- a/tests/Unit/MetadataHydratorTest.php
+++ b/tests/Unit/MetadataHydratorTest.php
@@ -44,6 +44,7 @@
use PHPUnit\Framework\Attributes\RequiresPhp;
use PHPUnit\Framework\TestCase;
use ReflectionClass;
+use stdClass;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\TypeInfo\Type\ObjectType;
@@ -534,14 +535,10 @@ public function testLazyHydrate(): void
Email::fromString('info@patchlevel.de'),
);
- self::assertInstanceOf(LazyProfileCreated::class, $event);
-
$reflection = new ReflectionClass(LazyProfileCreated::class);
-
self::assertTrue($reflection->isUninitializedLazyObject($event));
$reflection->initializeLazyObject($event);
-
self::assertEquals($expected, $event);
}
@@ -576,21 +573,28 @@ public function testLazyExtract(): void
public function testCreate(): void
{
- $eventDispatcher = $this->createMock(EventDispatcherInterface::class);
+ $guesser = new class implements Guesser {
+ public int $count = 0;
- $hydrator = MetadataHydrator::create(
- [
- new class implements Guesser
- {
- public function guess(ObjectType $type): Normalizer|null
- {
- return null;
- }
- },
- ],
- $eventDispatcher,
- );
+ /** @param ObjectType $type */
+ public function guess(ObjectType $type): Normalizer|null
+ {
+ $this->count++;
+
+ return null;
+ }
+ };
+
+ $hydrator = MetadataHydrator::create([$guesser]);
+
+ $hydrator->extract(new InferNormalizerDto(
+ Status::Draft,
+ new DateTimeImmutable('2015-02-13 22:34:32+01:00'),
+ new DateTime('2015-02-13 22:34:32+01:00'),
+ new DateTimeZone('EDT'),
+ ['foo'],
+ ));
- self::assertInstanceOf(MetadataHydrator::class, $hydrator);
+ self::assertSame(4, $guesser->count);
}
}
diff --git a/tools/composer.json b/tools/composer.json
index 76822a3..b7ae350 100644
--- a/tools/composer.json
+++ b/tools/composer.json
@@ -1,6 +1,6 @@
{
"require": {
- "php": "~8.4.0",
- "roave/backward-compatibility-check": "^8.15.0"
+ "php": "~8.5.0",
+ "roave/backward-compatibility-check": "^8.16.0"
}
}
diff --git a/tools/composer.lock b/tools/composer.lock
index f4eb34a..e7d1bc8 100644
--- a/tools/composer.lock
+++ b/tools/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "ac4e2a0bef92cfceb2abf2456c073b29",
+ "content-hash": "dbeff24f98b0f42a4dfe88d0f7ef3e14",
"packages": [
{
"name": "azjezz/psl",
@@ -292,16 +292,16 @@
},
{
"name": "composer/composer",
- "version": "2.9.1",
+ "version": "2.9.2",
"source": {
"type": "git",
"url": "https://github.com/composer/composer.git",
- "reference": "35cb6d47d03b0cae52dc12d686f941365b20f08b"
+ "reference": "8d5358f147c63a3a681b002076deff8c90e0b19d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/composer/zipball/35cb6d47d03b0cae52dc12d686f941365b20f08b",
- "reference": "35cb6d47d03b0cae52dc12d686f941365b20f08b",
+ "url": "https://api.github.com/repos/composer/composer/zipball/8d5358f147c63a3a681b002076deff8c90e0b19d",
+ "reference": "8d5358f147c63a3a681b002076deff8c90e0b19d",
"shasum": ""
},
"require": {
@@ -326,6 +326,7 @@
"symfony/polyfill-php73": "^1.24",
"symfony/polyfill-php80": "^1.24",
"symfony/polyfill-php81": "^1.24",
+ "symfony/polyfill-php84": "^1.30",
"symfony/process": "^5.4.47 || ^6.4.25 || ^7.1.10 || ^8.0"
},
"require-dev": {
@@ -388,7 +389,7 @@
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/composer/issues",
"security": "https://github.com/composer/composer/security/policy",
- "source": "https://github.com/composer/composer/tree/2.9.1"
+ "source": "https://github.com/composer/composer/tree/2.9.2"
},
"funding": [
{
@@ -400,7 +401,7 @@
"type": "github"
}
],
- "time": "2025-11-13T15:10:38+00:00"
+ "time": "2025-11-19T20:57:25+00:00"
},
{
"name": "composer/metadata-minifier",
@@ -1089,33 +1090,33 @@
},
{
"name": "ocramius/package-versions",
- "version": "2.10.0",
+ "version": "2.11.0",
"source": {
"type": "git",
"url": "https://github.com/Ocramius/PackageVersions.git",
- "reference": "b2181b8f0e2adeef0db76a209e1a69369d8abe6f"
+ "reference": "23359bf3003a71b053ac8ab4b3f651597bd3d261"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/b2181b8f0e2adeef0db76a209e1a69369d8abe6f",
- "reference": "b2181b8f0e2adeef0db76a209e1a69369d8abe6f",
+ "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/23359bf3003a71b053ac8ab4b3f651597bd3d261",
+ "reference": "23359bf3003a71b053ac8ab4b3f651597bd3d261",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.2.0",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0"
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0"
},
"replace": {
"composer/package-versions-deprecated": "*"
},
"require-dev": {
- "composer/composer": "^2.8.5",
- "doctrine/coding-standard": "^12.0.0",
+ "composer/composer": "^2.9.2",
+ "doctrine/coding-standard": "^14.0.0",
"ext-zip": "^1.15.0",
- "phpunit/phpunit": "^11.5.6",
- "psalm/plugin-phpunit": "^0.19.2",
- "roave/infection-static-analysis-plugin": "^1.36.0",
- "vimeo/psalm": "^6.3.0"
+ "phpunit/phpunit": "^11.5.44",
+ "psalm/plugin-phpunit": "^0.19.5",
+ "roave/infection-static-analysis-plugin": "^1.39.0",
+ "vimeo/psalm": "^6.13.1"
},
"type": "library",
"autoload": {
@@ -1136,7 +1137,7 @@
"description": "Provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/Ocramius/PackageVersions/issues",
- "source": "https://github.com/Ocramius/PackageVersions/tree/2.10.0"
+ "source": "https://github.com/Ocramius/PackageVersions/tree/2.11.0"
},
"funding": [
{
@@ -1148,7 +1149,7 @@
"type": "tidelift"
}
],
- "time": "2025-02-05T12:31:16+00:00"
+ "time": "2025-11-27T11:43:11+00:00"
},
{
"name": "psr/container",
@@ -1328,16 +1329,16 @@
},
{
"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": {
@@ -1394,37 +1395,37 @@
],
"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/backward-compatibility-check",
- "version": "8.15.0",
+ "version": "8.16.0",
"source": {
"type": "git",
"url": "https://github.com/Roave/BackwardCompatibilityCheck.git",
- "reference": "8fa5863142c04febd76ad45758e6e8c929b15260"
+ "reference": "5ed76e574692d680b5d226a701c1825ce48ef937"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/BackwardCompatibilityCheck/zipball/8fa5863142c04febd76ad45758e6e8c929b15260",
- "reference": "8fa5863142c04febd76ad45758e6e8c929b15260",
+ "url": "https://api.github.com/repos/Roave/BackwardCompatibilityCheck/zipball/5ed76e574692d680b5d226a701c1825ce48ef937",
+ "reference": "5ed76e574692d680b5d226a701c1825ce48ef937",
"shasum": ""
},
"require": {
- "azjezz/psl": "^4.0.1",
- "composer/composer": "^2.8.12",
+ "azjezz/psl": "^4.2.0",
+ "composer/composer": "^2.9.2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-simplexml": "*",
- "nikic/php-parser": "^5.6.1",
+ "nikic/php-parser": "^5.6.2",
"nikolaposa/version": "^4.2.1",
"ocramius/package-versions": "^2.10.0",
- "php": "~8.3.0 || ~8.4.0",
- "roave/better-reflection": "^6.65.0",
- "symfony/console": "^7.3.4"
+ "php": "~8.3.0 || ~8.4.0 || ~8.5.0",
+ "roave/better-reflection": "^6.66.0",
+ "symfony/console": "^7.3.6"
},
"conflict": {
"marc-mabe/php-enum": "<4.7.2",
@@ -1433,13 +1434,13 @@
},
"require-dev": {
"doctrine/coding-standard": "^14.0.0",
- "justinrainbow/json-schema": "^6.6.0",
+ "justinrainbow/json-schema": "^6.6.1",
"php-standard-library/psalm-plugin": "^2.3.0",
- "phpunit/phpunit": "^12.4.1",
+ "phpunit/phpunit": "^12.4.4",
"psalm/plugin-phpunit": "^0.19.5",
- "roave/infection-static-analysis-plugin": "^1.39.0",
+ "roave/infection-static-analysis-plugin": "^1.41.0",
"roave/security-advisories": "dev-master",
- "squizlabs/php_codesniffer": "^4.0.0",
+ "squizlabs/php_codesniffer": "^4.0.1",
"vimeo/psalm": "^6.13.1"
},
"bin": [
@@ -1468,9 +1469,9 @@
"description": "Tool to compare two revisions of a public API to check for BC breaks",
"support": {
"issues": "https://github.com/Roave/BackwardCompatibilityCheck/issues",
- "source": "https://github.com/Roave/BackwardCompatibilityCheck/tree/8.15.0"
+ "source": "https://github.com/Roave/BackwardCompatibilityCheck/tree/8.16.0"
},
- "time": "2025-10-20T16:24:13+00:00"
+ "time": "2025-11-26T21:39:15+00:00"
},
{
"name": "roave/better-reflection",
@@ -1716,16 +1717,16 @@
},
{
"name": "symfony/console",
- "version": "v7.3.6",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a"
+ "reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a",
- "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a",
+ "url": "https://api.github.com/repos/symfony/console/zipball/0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
+ "reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
"shasum": ""
},
"require": {
@@ -1733,7 +1734,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",
@@ -1747,16 +1748,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": {
@@ -1790,7 +1791,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.3.6"
+ "source": "https://github.com/symfony/console/tree/v7.4.0"
},
"funding": [
{
@@ -1810,7 +1811,7 @@
"type": "tidelift"
}
],
- "time": "2025-11-04T01:21:42+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -1881,25 +1882,25 @@
},
{
"name": "symfony/filesystem",
- "version": "v7.3.6",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a"
+ "reference": "7fc96ae83372620eaba3826874f46e26295768ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a",
- "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/7fc96ae83372620eaba3826874f46e26295768ca",
+ "reference": "7fc96ae83372620eaba3826874f46e26295768ca",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=8.4",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^6.4|^7.0"
+ "symfony/process": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -1927,7 +1928,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.3.6"
+ "source": "https://github.com/symfony/filesystem/tree/v8.0.0"
},
"funding": [
{
@@ -1947,27 +1948,27 @@
"type": "tidelift"
}
],
- "time": "2025-11-05T09:52:27+00:00"
+ "time": "2025-11-05T14:36:47+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.3.5",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "9f696d2f1e340484b4683f7853b273abff94421f"
+ "reference": "7598dd5770580fa3517ec83e8da0c9b9e01f4291"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f",
- "reference": "9f696d2f1e340484b4683f7853b273abff94421f",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/7598dd5770580fa3517ec83e8da0c9b9e01f4291",
+ "reference": "7598dd5770580fa3517ec83e8da0c9b9e01f4291",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=8.4"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0"
+ "symfony/filesystem": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -1995,7 +1996,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.5"
+ "source": "https://github.com/symfony/finder/tree/v8.0.0"
},
"funding": [
{
@@ -2015,7 +2016,7 @@
"type": "tidelift"
}
],
- "time": "2025-10-15T18:45:57+00:00"
+ "time": "2025-11-05T14:36:47+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -2596,22 +2597,102 @@
],
"time": "2024-09-09T11:45:10+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/process",
- "version": "v7.3.4",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b"
+ "reference": "a0a750500c4ce900d69ba4e9faf16f82c10ee149"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/a0a750500c4ce900d69ba4e9faf16f82c10ee149",
+ "reference": "a0a750500c4ce900d69ba4e9faf16f82c10ee149",
"shasum": ""
},
"require": {
- "php": ">=8.2"
+ "php": ">=8.4"
},
"type": "library",
"autoload": {
@@ -2639,7 +2720,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/v8.0.0"
},
"funding": [
{
@@ -2659,7 +2740,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2025-10-16T16:25:44+00:00"
},
{
"name": "symfony/service-contracts",
@@ -2750,34 +2831,34 @@
},
{
"name": "symfony/string",
- "version": "v7.3.4",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f96476035142921000338bad71e5247fbc138872"
+ "reference": "f929eccf09531078c243df72398560e32fa4cf4f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872",
- "reference": "f96476035142921000338bad71e5247fbc138872",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f",
+ "reference": "f929eccf09531078c243df72398560e32fa4cf4f",
"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": {
@@ -2816,7 +2897,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.3.4"
+ "source": "https://github.com/symfony/string/tree/v8.0.0"
},
"funding": [
{
@@ -2836,7 +2917,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T14:36:48+00:00"
+ "time": "2025-09-11T14:37:55+00:00"
}
],
"packages-dev": [],
@@ -2846,7 +2927,7 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": "~8.4.0"
+ "php": "~8.5.0"
},
"platform-dev": {},
"plugin-api-version": "2.9.0"