mirror of
https://github.com/Cacti/rrdproxy.git
synced 2026-10-23 19:46:48 +09:00
* Harden RRDtool proxy request handling * Address PR review feedback: encrypt oversized-request errors, fix env inheritance, spacing, and symlink test Addresses review comments on PR #17: - lib/client.php: encrypt the 'Request too large' error frame once the client is authenticated, matching the existing encrypted-error pattern - lib/client.php: build the removespikes child-process environment from getenv() instead of $_ENV so the full current environment (e.g. TEMP on Windows) is inherited, with RRDP_RRDTOOL_PATH merged on top - lib/client.php: add the missing space in the RRDTOOL_PIPE_UNAVAILABLE error frame so it matches the other 'ERROR: ...' responses - tests/run.php: check the symlink() fixture return value and skip the symlink-escape assertion (instead of producing a false positive) when symlink() is unavailable * Upgrade phpseclib 3.x to phpseclib/phpseclib ^4.0 - composer.json/composer.lock: require phpseclib/phpseclib ^4.0 (was ^3.0) - Update phpseclib3\\... namespace usages to phpseclib4\\... across rrdtool-proxy.php, lib/client.php, lib/functions.php, lib/wizard.php, and tests/run.php - lib/functions.php: phpseclib4 removed the Random class, so Random::string(32) is replaced with random_bytes(32) - Fix lib/__master__.php and lib/replicator.php, which PR #17 never migrated off the old pre-Composer phpseclib API (new \\phpseclib\\Crypt\\RSA(), ->loadKey(), ->getPublicKeyFingerprint() -- none of which exist in phpseclib 3.x or 4.x, so these MSR/replicator peer-authentication code paths would fatal at runtime). Both now use RSA::loadPublicKey()->getFingerprint('md5') wrapped in try/catch, matching the pattern already used in lib/client.php, plus a constant-time hash_equals() fingerprint comparison - tests/run.php: relabel the phpseclib round-trip check from 'phpseclib 3' to 'phpseclib 4' * Bump minimum PHP version to 8.2 and add CHANGELOG.md - composer.json: require php ^8.2 (was ^8.1) - include/global.php: bump RRDP_PHP_VERSION_REQUIRED to 80200 to match - README.md: update minimum/recommended PHP version to 8.2 - composer.lock: refreshed for the new php platform constraint - Add CHANGELOG.md tracking changes prefixed security:/issue:/feature: * Add PHPDoc blocks to all functions Adds a PHPDoc block above every function in rrdtool-proxy.php, lib/functions.php, lib/client.php, lib/__master__.php, lib/replicator.php, lib/wizard.php, cli/removespikes.php, tests/run.php, and .phpstan-bootstrap.php, each with a brief description and inferred @param/@return types. Function signatures themselves are unchanged; PHPStan will flag any inferred types that turn out to be inaccurate. * Add .github/copilot-instructions.md Generated from README.md and this session's learnings: project architecture (daemon entrypoint, shared lib helpers, client/master/replicator roles, wizard, removespikes CLI), build/lint/test commands (composer scripts, php tests/run.php, Windows platform-req caveats), and conventions (tabs, GPL header block, PHPDoc-only typing, phpseclib4 gotchas, CHANGELOG entry prefixes). Also fix .gitignore: the '.git*' pattern was unintentionally also matching and ignoring the .github/ directory; added a '!.github/' exception so files under .github/ (like this one) are tracked. * Add .gitattributes enforcing LF line endings; normalize existing CRLF files - Add .gitattributes with '* text=auto eol=lf' so Git normalizes line endings to LF on checkout/commit regardless of local core.autocrlf settings. - .gitignore: add '!.gitattributes' alongside the existing '!.github/' exception, since '.git*' was also unintentionally ignoring .gitattributes itself. - Normalize the two tracked files that had CRLF line endings (.github/copilot-instructions.md, CHANGELOG.md) to LF; no other tracked files were affected. * Manual PSR coding-style adjustments Manual formatting/coding-style cleanup in cli/removespikes.php, lib/__master__.php, lib/client.php, and lib/replicator.php. * Address automated review feedback: symlink confinement, key-pair validation, and misc fixes Addresses 10 unresolved copilot-pull-request-reviewer comments on PR #20: - lib/functions.php: rewrite rrdp_resolve_path_within() to walk the path one segment at a time (instead of only checking the nearest existing ancestor via file_exists()), so a symlink anywhere along a not-yet-fully-existing path is resolved and confined even if the symlink itself is dangling. - lib/functions.php: add rrdp_resolve_command_paths(), which resolves every RRD file path operand referenced by an RRDtool command (leading bare file arguments and DEF:/SDEF: clauses) against the RRA root and rewrites the command to use the canonical resolved paths, closing the symlink-escape gap left by the lexical-only rrdp_command_has_unsafe_path() check. - lib/client.php: wire rrdp_resolve_command_paths() into the RRDtool command dispatch path, rejecting/rewriting unsafe operands before they reach the RRDtool pipe. - lib/client.php: enforce the request-size limit on each completed transaction and the trailing unfinished remainder, instead of on the aggregate receive buffer before splitting on _EOT_, so multiple legitimate transactions in one read no longer trip a false 'Request too large'. - rrdtool-proxy.php: validate at startup that the loaded public/private key files actually form a matching pair (comparing derived fingerprints) instead of only deriving a fingerprint from the public key, failing startup instead of accepting requests that will all fail to decrypt. - lib/__master__.php, lib/replicator.php: resolve peer-supplied FULLSCAN folder/file names (and RRDLAST/RRDDUMP request filenames) through rrdp_resolve_rra_path() before using them in mkdir()/touch()/ file_put_contents()/RRDtool restore-dump-last-flushcached operations, instead of concatenating raw peer-supplied text; reject and skip entries that fail confinement. - lib/replicator.php, lib/__master__.php: guard rrdtool_pipe_init() failures in the main replication loop the same way lib/client.php already does, instead of indexing into a false return value and never retrying. - cli/removespikes.php: make createRRDFileFromXML() return whether the RRDtool restore actually succeeded, and exit non-zero when it fails instead of silently exiting 0. - .phpstan.neon: restore level 6 (was lowered to 2, contradicting .github/copilot-instructions.md) and add .phpstan-baseline.neon to capture the 42 pre-existing findings surfaced at level 6 without hiding future regressions. - tests/run.php: add the standard Cacti Group GPL header block required for every PHP file. --------- Co-authored-by: Thomas Vincent <thomasvincent@gmail.com>
3824 lines
133 KiB
JSON
3824 lines
133 KiB
JSON
{
|
|
"_readme": [
|
|
"This file locks the dependencies of your project to a known state",
|
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
|
"This file is @generated automatically"
|
|
],
|
|
"content-hash": "67168a49692eef510c67c6c704c41871",
|
|
"packages": [
|
|
{
|
|
"name": "paragonie/constant_time_encoding",
|
|
"version": "v3.1.3",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/paragonie/constant_time_encoding.git",
|
|
"reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
|
|
"reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": "^8"
|
|
},
|
|
"require-dev": {
|
|
"infection/infection": "^0",
|
|
"nikic/php-fuzzer": "^0",
|
|
"phpunit/phpunit": "^9|^10|^11",
|
|
"vimeo/psalm": "^4|^5|^6"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"ParagonIE\\ConstantTime\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Paragon Initiative Enterprises",
|
|
"email": "security@paragonie.com",
|
|
"homepage": "https://paragonie.com",
|
|
"role": "Maintainer"
|
|
},
|
|
{
|
|
"name": "Steve 'Sc00bz' Thomas",
|
|
"email": "steve@tobtu.com",
|
|
"homepage": "https://www.tobtu.com",
|
|
"role": "Original Developer"
|
|
}
|
|
],
|
|
"description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
|
|
"keywords": [
|
|
"base16",
|
|
"base32",
|
|
"base32_decode",
|
|
"base32_encode",
|
|
"base64",
|
|
"base64_decode",
|
|
"base64_encode",
|
|
"bin2hex",
|
|
"encoding",
|
|
"hex",
|
|
"hex2bin",
|
|
"rfc4648"
|
|
],
|
|
"support": {
|
|
"email": "info@paragonie.com",
|
|
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
|
|
"source": "https://github.com/paragonie/constant_time_encoding"
|
|
},
|
|
"time": "2025-09-24T15:06:41+00:00"
|
|
},
|
|
{
|
|
"name": "pear/net_dns2",
|
|
"version": "v2.0.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/mikepultz/netdns2.git",
|
|
"reference": "5353baa6d960623b64863fd7eeae663a1eb12e3d"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/mikepultz/netdns2/zipball/5353baa6d960623b64863fd7eeae663a1eb12e3d",
|
|
"reference": "5353baa6d960623b64863fd7eeae663a1eb12e3d",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.1"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^10"
|
|
},
|
|
"suggest": {
|
|
"ext-curl": "Used for DNS over HTTPS (DoH)",
|
|
"ext-hash": "Used for TSIG authentication.",
|
|
"ext-intl": "Used for decoding Unicode domain names.",
|
|
"ext-openssl": "Used for DNS over TLS (DoT), and some DNSSEC verification."
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"NetDNS2\\": "src/NetDNS2/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Mike Pultz",
|
|
"email": "mike@mikepultz.com",
|
|
"homepage": "https://mikepultz.com/",
|
|
"role": "lead"
|
|
}
|
|
],
|
|
"description": "PHP DNS Resolver and Updater Library",
|
|
"homepage": "https://netdns2.com/",
|
|
"keywords": [
|
|
"DNSSEC",
|
|
"dns",
|
|
"network"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/mikepultz/netdns2/issues",
|
|
"source": "https://github.com/mikepultz/netdns2"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/mikepultz",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"abandoned": "mikepultz/netdns2",
|
|
"time": "2025-11-17T21:16:04+00:00"
|
|
},
|
|
{
|
|
"name": "phpseclib/phpseclib",
|
|
"version": "4.0.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/phpseclib/phpseclib.git",
|
|
"reference": "bb7b959c8159957edae6f5084ebbac765d310e16"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/bb7b959c8159957edae6f5084ebbac765d310e16",
|
|
"reference": "bb7b959c8159957edae6f5084ebbac765d310e16",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"paragonie/constant_time_encoding": "^2|^3",
|
|
"php": ">=8.1",
|
|
"symfony/polyfill-php82": "^1.26"
|
|
},
|
|
"require-dev": {
|
|
"brianium/paratest": "^7.22",
|
|
"ext-xml": "*",
|
|
"php-parallel-lint/php-parallel-lint": "^1.3",
|
|
"phpunit/phpunit": "^13",
|
|
"squizlabs/php_codesniffer": "^3.7",
|
|
"vimeo/psalm": "*"
|
|
},
|
|
"suggest": {
|
|
"ext-dom": "Install the DOM extension to load XML formatted public keys.",
|
|
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
|
|
"ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
|
|
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"files": [
|
|
"phpseclib/bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"phpseclib4\\": "phpseclib/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Jim Wigginton",
|
|
"email": "terrafrost@php.net",
|
|
"role": "Lead Developer"
|
|
},
|
|
{
|
|
"name": "Patrick Monnerat",
|
|
"email": "pm@datasphere.ch",
|
|
"role": "Developer"
|
|
},
|
|
{
|
|
"name": "Andreas Fischer",
|
|
"email": "bantu@phpbb.com",
|
|
"role": "Developer"
|
|
},
|
|
{
|
|
"name": "Hans-Jürgen Petrich",
|
|
"email": "petrich@tronic-media.com",
|
|
"role": "Developer"
|
|
},
|
|
{
|
|
"name": "Graham Campbell",
|
|
"email": "graham@alt-three.com",
|
|
"role": "Developer"
|
|
},
|
|
{
|
|
"name": "Jack Worman",
|
|
"email": "jack.worman@gmail.com",
|
|
"homepage": "https://jackworman.com",
|
|
"role": "Developer"
|
|
}
|
|
],
|
|
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
|
|
"homepage": "https://phpseclib.com/",
|
|
"keywords": [
|
|
"BigInteger",
|
|
"aes",
|
|
"asn.1",
|
|
"asn1",
|
|
"blowfish",
|
|
"crypto",
|
|
"cryptography",
|
|
"encryption",
|
|
"rsa",
|
|
"security",
|
|
"sftp",
|
|
"signature",
|
|
"signing",
|
|
"ssh",
|
|
"twofish",
|
|
"x.509",
|
|
"x509"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/phpseclib/phpseclib/issues",
|
|
"source": "https://github.com/phpseclib/phpseclib/tree/4.0.1"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/terrafrost",
|
|
"type": "github"
|
|
},
|
|
{
|
|
"url": "https://www.patreon.com/phpseclib",
|
|
"type": "patreon"
|
|
},
|
|
{
|
|
"url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib",
|
|
"type": "tidelift"
|
|
}
|
|
],
|
|
"time": "2026-08-26T12:15:13+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-php82",
|
|
"version": "v1.38.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-php82.git",
|
|
"reference": "002dc0cfe5fd4ed6033d48f27d4f19a486c4b04b"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/002dc0cfe5fd4ed6033d48f27d4f19a486c4b04b",
|
|
"reference": "002dc0cfe5fd4ed6033d48f27d4f19a486c4b04b",
|
|
"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\\Php82\\": ""
|
|
},
|
|
"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.2+ features to lower PHP versions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-php82/tree/v1.38.1"
|
|
},
|
|
"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": "2026-05-26T12:45:58+00:00"
|
|
}
|
|
],
|
|
"packages-dev": [
|
|
{
|
|
"name": "clue/ndjson-react",
|
|
"version": "v1.3.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/clue/reactphp-ndjson.git",
|
|
"reference": "392dc165fce93b5bb5c637b67e59619223c931b0"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0",
|
|
"reference": "392dc165fce93b5bb5c637b67e59619223c931b0",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=5.3",
|
|
"react/stream": "^1.2"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35",
|
|
"react/event-loop": "^1.2"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Clue\\React\\NDJson\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering"
|
|
}
|
|
],
|
|
"description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.",
|
|
"homepage": "https://github.com/clue/reactphp-ndjson",
|
|
"keywords": [
|
|
"NDJSON",
|
|
"json",
|
|
"jsonlines",
|
|
"newline",
|
|
"reactphp",
|
|
"streaming"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/clue/reactphp-ndjson/issues",
|
|
"source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://clue.engineering/support",
|
|
"type": "custom"
|
|
},
|
|
{
|
|
"url": "https://github.com/clue",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"time": "2022-12-23T10:58:28+00:00"
|
|
},
|
|
{
|
|
"name": "composer/pcre",
|
|
"version": "3.4.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/composer/pcre.git",
|
|
"reference": "d5a341b3fb61f3001970940afb1d332968a183ed"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/composer/pcre/zipball/d5a341b3fb61f3001970940afb1d332968a183ed",
|
|
"reference": "d5a341b3fb61f3001970940afb1d332968a183ed",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": "^7.4 || ^8.0"
|
|
},
|
|
"conflict": {
|
|
"phpstan/phpstan": "<2.2.2"
|
|
},
|
|
"require-dev": {
|
|
"phpstan/phpstan": "^2",
|
|
"phpstan/phpstan-deprecation-rules": "^2",
|
|
"phpstan/phpstan-strict-rules": "^2",
|
|
"phpunit/phpunit": "^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.4.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://packagist.com",
|
|
"type": "custom"
|
|
},
|
|
{
|
|
"url": "https://github.com/composer",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"time": "2026-06-07T11:47:49+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"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"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": "ergebnis/agent-detector",
|
|
"version": "1.2.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/ergebnis/agent-detector.git",
|
|
"reference": "e211f17928c8b95a51e06040792d57f5462fb271"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/ergebnis/agent-detector/zipball/e211f17928c8b95a51e06040792d57f5462fb271",
|
|
"reference": "e211f17928c8b95a51e06040792d57f5462fb271",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0 || ~8.6.0"
|
|
},
|
|
"require-dev": {
|
|
"ergebnis/composer-normalize": "^2.51.0",
|
|
"ergebnis/license": "^2.7.0",
|
|
"ergebnis/php-cs-fixer-config": "^6.60.2",
|
|
"ergebnis/phpstan-rules": "^2.13.1",
|
|
"ergebnis/phpunit-slow-test-detector": "^2.24.0",
|
|
"ergebnis/rector-rules": "^1.18.1",
|
|
"fakerphp/faker": "^1.24.1",
|
|
"infection/infection": "^0.26.6",
|
|
"phpstan/extension-installer": "^1.4.3",
|
|
"phpstan/phpstan": "^2.1.54",
|
|
"phpstan/phpstan-deprecation-rules": "^2.0.4",
|
|
"phpstan/phpstan-phpunit": "^2.0.16",
|
|
"phpstan/phpstan-strict-rules": "^2.0.10",
|
|
"phpunit/phpunit": "^9.6.34",
|
|
"rector/rector": "^2.4.2"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"branch-alias": {
|
|
"dev-main": "1.2-dev"
|
|
},
|
|
"composer-normalize": {
|
|
"indent-size": 2,
|
|
"indent-style": "space"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Ergebnis\\AgentDetector\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Andreas Möller",
|
|
"email": "am@localheinz.com",
|
|
"homepage": "https://localheinz.com"
|
|
}
|
|
],
|
|
"description": "Provides a detector for detecting the presence of an agent.",
|
|
"homepage": "https://github.com/ergebnis/agent-detector",
|
|
"support": {
|
|
"issues": "https://github.com/ergebnis/agent-detector/issues",
|
|
"security": "https://github.com/ergebnis/agent-detector/blob/main/.github/SECURITY.md",
|
|
"source": "https://github.com/ergebnis/agent-detector"
|
|
},
|
|
"time": "2026-05-07T08:19:07+00:00"
|
|
},
|
|
{
|
|
"name": "evenement/evenement",
|
|
"version": "v3.0.2",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/igorw/evenement.git",
|
|
"reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc",
|
|
"reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.0"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9 || ^6"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Evenement\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Igor Wiedler",
|
|
"email": "igor@wiedler.ch"
|
|
}
|
|
],
|
|
"description": "Événement is a very simple event dispatching library for PHP",
|
|
"keywords": [
|
|
"event-dispatcher",
|
|
"event-emitter"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/igorw/evenement/issues",
|
|
"source": "https://github.com/igorw/evenement/tree/v3.0.2"
|
|
},
|
|
"time": "2023-08-08T05:53:35+00:00"
|
|
},
|
|
{
|
|
"name": "fidry/cpu-core-counter",
|
|
"version": "1.3.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/theofidry/cpu-core-counter.git",
|
|
"reference": "db9508f7b1474469d9d3c53b86f817e344732678"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678",
|
|
"reference": "db9508f7b1474469d9d3c53b86f817e344732678",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": "^7.2 || ^8.0"
|
|
},
|
|
"require-dev": {
|
|
"fidry/makefile": "^0.2.0",
|
|
"fidry/php-cs-fixer-config": "^1.1.2",
|
|
"phpstan/extension-installer": "^1.2.0",
|
|
"phpstan/phpstan": "^2.0",
|
|
"phpstan/phpstan-deprecation-rules": "^2.0.0",
|
|
"phpstan/phpstan-phpunit": "^2.0",
|
|
"phpstan/phpstan-strict-rules": "^2.0",
|
|
"phpunit/phpunit": "^8.5.31 || ^9.5.26",
|
|
"webmozarts/strict-phpunit": "^7.5"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Fidry\\CpuCoreCounter\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Théo FIDRY",
|
|
"email": "theo.fidry@gmail.com"
|
|
}
|
|
],
|
|
"description": "Tiny utility to get the number of CPU cores.",
|
|
"keywords": [
|
|
"CPU",
|
|
"core"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
|
|
"source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/theofidry",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"time": "2025-08-14T07:29:31+00:00"
|
|
},
|
|
{
|
|
"name": "friendsofphp/php-cs-fixer",
|
|
"version": "v3.95.25",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
|
"reference": "2cdfc1f3daf173d83a1ebb6177949b58c95de6ff"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/2cdfc1f3daf173d83a1ebb6177949b58c95de6ff",
|
|
"reference": "2cdfc1f3daf173d83a1ebb6177949b58c95de6ff",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"clue/ndjson-react": "^1.3",
|
|
"composer/semver": "^3.4",
|
|
"composer/xdebug-handler": "^3.0.5",
|
|
"ergebnis/agent-detector": "^1.2",
|
|
"ext-filter": "*",
|
|
"ext-hash": "*",
|
|
"ext-json": "*",
|
|
"ext-tokenizer": "*",
|
|
"fidry/cpu-core-counter": "^1.3",
|
|
"php": "^7.4 || ^8.0",
|
|
"react/child-process": "^0.6.6",
|
|
"react/event-loop": "^1.5",
|
|
"react/socket": "^1.16",
|
|
"react/stream": "^1.4",
|
|
"sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0 || ^8.0 || ^9.0",
|
|
"symfony/console": "^5.4.47 || ^6.4.24 || ^7.0 || ^8.0",
|
|
"symfony/event-dispatcher": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
|
|
"symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
|
|
"symfony/finder": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
|
|
"symfony/options-resolver": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0",
|
|
"symfony/polyfill-mbstring": "^1.37",
|
|
"symfony/polyfill-php80": "^1.37",
|
|
"symfony/polyfill-php81": "^1.37",
|
|
"symfony/polyfill-php84": "^1.37",
|
|
"symfony/process": "^5.4.47 || ^6.4.24 || ^7.2 || ^8.0",
|
|
"symfony/stopwatch": "^5.4.45 || ^6.4.24 || ^7.0 || ^8.0"
|
|
},
|
|
"require-dev": {
|
|
"facile-it/paraunit": "^1.3.1 || ^2.11.0",
|
|
"infection/infection": "^0.32.7",
|
|
"justinrainbow/json-schema": "^6.10.0",
|
|
"keradus/cli-executor": "^2.3",
|
|
"php-coveralls/php-coveralls": "^2.9.1",
|
|
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.8",
|
|
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.8",
|
|
"phpunit/phpunit": "^9.6.35 || ^10.5.64 || ^11.5.56 || ^12.5.31 || ^13.0.6",
|
|
"symfony/polyfill-php85": "^1.38",
|
|
"symfony/var-dumper": "^5.4.48 || ^6.4.36 || ^7.4.8 || ^8.1.1",
|
|
"symfony/yaml": "^5.4.53 || ^6.4.41 || ^7.4.13 || ^8.1.1"
|
|
},
|
|
"suggest": {
|
|
"ext-dom": "For handling output formats in XML",
|
|
"ext-mbstring": "For handling non-UTF8 characters."
|
|
},
|
|
"bin": [
|
|
"php-cs-fixer"
|
|
],
|
|
"type": "application",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"PhpCsFixer\\": "src/"
|
|
},
|
|
"exclude-from-classmap": [
|
|
"src/**/Internal/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Dariusz Rumiński",
|
|
"email": "dariusz.ruminski@gmail.com"
|
|
}
|
|
],
|
|
"description": "A tool to automatically fix PHP code style",
|
|
"keywords": [
|
|
"Static code analysis",
|
|
"fixer",
|
|
"standards",
|
|
"static analysis"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
|
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.25"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/keradus",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"time": "2026-09-08T11:11:37+00:00"
|
|
},
|
|
{
|
|
"name": "overtrue/phplint",
|
|
"version": "9.7.2",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/overtrue/phplint.git",
|
|
"reference": "f9d3fb3c6b6af49fce0fa8d712da1c38da41fe65"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/overtrue/phplint/zipball/f9d3fb3c6b6af49fce0fa8d712da1c38da41fe65",
|
|
"reference": "f9d3fb3c6b6af49fce0fa8d712da1c38da41fe65",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"composer-runtime-api": "^2.0",
|
|
"ext-dom": "*",
|
|
"ext-json": "*",
|
|
"ext-mbstring": "*",
|
|
"php": "^8.2",
|
|
"symfony/cache": "^7.4 || ^8.0",
|
|
"symfony/console": "^7.4 || ^8.0",
|
|
"symfony/event-dispatcher": "^7.4 || ^8.0",
|
|
"symfony/finder": "^7.4 || ^8.0",
|
|
"symfony/options-resolver": "^7.4 || ^8.0",
|
|
"symfony/process": "^7.4 || ^8.0",
|
|
"symfony/yaml": "^7.4 || ^8.0"
|
|
},
|
|
"require-dev": {
|
|
"bamarni/composer-bin-plugin": "^1.4",
|
|
"jetbrains/phpstorm-stubs": "^2024.1 || ^2026.0",
|
|
"php-parallel-lint/php-console-highlighter": "^1.0"
|
|
},
|
|
"bin": [
|
|
"bin/phplint"
|
|
],
|
|
"type": "library",
|
|
"extra": {
|
|
"bamarni-bin": {
|
|
"bin-links": true,
|
|
"forward-command": false,
|
|
"target-directory": "vendor-bin"
|
|
},
|
|
"branch-alias": {
|
|
"dev-main": "9.7.x-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Overtrue\\PHPLint\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "overtrue",
|
|
"email": "anzhengchao@gmail.com"
|
|
},
|
|
{
|
|
"name": "Laurent Laville",
|
|
"homepage": "https://github.com/llaville"
|
|
}
|
|
],
|
|
"description": "`phplint` is a tool that can speed up linting of php files by running several lint processes at once.",
|
|
"keywords": [
|
|
"check",
|
|
"lint",
|
|
"phplint",
|
|
"static analysis",
|
|
"syntax"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/overtrue/phplint/issues",
|
|
"source": "https://github.com/overtrue/phplint/tree/9.7.2"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/overtrue",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"time": "2026-06-03T05:26:18+00:00"
|
|
},
|
|
{
|
|
"name": "phpstan/phpstan",
|
|
"version": "2.2.14",
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9c672e7a8e791dfc3d30e55f683e73fc0b63a3ac",
|
|
"reference": "9c672e7a8e791dfc3d30e55f683e73fc0b63a3ac",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": "^7.4|^8.0"
|
|
},
|
|
"conflict": {
|
|
"phpstan/phpstan-shim": "*"
|
|
},
|
|
"bin": [
|
|
"phpstan",
|
|
"phpstan.phar"
|
|
],
|
|
"type": "library",
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Ondřej Mirtes"
|
|
},
|
|
{
|
|
"name": "Markus Staab"
|
|
},
|
|
{
|
|
"name": "Vincent Langlet"
|
|
}
|
|
],
|
|
"description": "PHPStan - PHP Static Analysis Tool",
|
|
"keywords": [
|
|
"dev",
|
|
"static analysis"
|
|
],
|
|
"support": {
|
|
"docs": "https://phpstan.org/user-guide/getting-started",
|
|
"forum": "https://github.com/phpstan/phpstan/discussions",
|
|
"issues": "https://github.com/phpstan/phpstan/issues",
|
|
"security": "https://github.com/phpstan/phpstan/security/policy",
|
|
"source": "https://github.com/phpstan/phpstan-src"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/ondrejmirtes",
|
|
"type": "github"
|
|
},
|
|
{
|
|
"url": "https://github.com/phpstan",
|
|
"type": "github"
|
|
}
|
|
],
|
|
"time": "2026-09-12T21:39:33+00:00"
|
|
},
|
|
{
|
|
"name": "psr/cache",
|
|
"version": "3.0.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/php-fig/cache.git",
|
|
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
|
"reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.0.0"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"branch-alias": {
|
|
"dev-master": "1.0.x-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Psr\\Cache\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "PHP-FIG",
|
|
"homepage": "https://www.php-fig.org/"
|
|
}
|
|
],
|
|
"description": "Common interface for caching libraries",
|
|
"keywords": [
|
|
"cache",
|
|
"psr",
|
|
"psr-6"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/php-fig/cache/tree/3.0.0"
|
|
},
|
|
"time": "2021-02-03T23:26:27+00:00"
|
|
},
|
|
{
|
|
"name": "psr/container",
|
|
"version": "2.0.2",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/php-fig/container.git",
|
|
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
|
|
"reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.4.0"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"branch-alias": {
|
|
"dev-master": "2.0.x-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Psr\\Container\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "PHP-FIG",
|
|
"homepage": "https://www.php-fig.org/"
|
|
}
|
|
],
|
|
"description": "Common Container Interface (PHP FIG PSR-11)",
|
|
"homepage": "https://github.com/php-fig/container",
|
|
"keywords": [
|
|
"PSR-11",
|
|
"container",
|
|
"container-interface",
|
|
"container-interop",
|
|
"psr"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/php-fig/container/issues",
|
|
"source": "https://github.com/php-fig/container/tree/2.0.2"
|
|
},
|
|
"time": "2021-11-05T16:47:00+00:00"
|
|
},
|
|
{
|
|
"name": "psr/event-dispatcher",
|
|
"version": "1.0.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/php-fig/event-dispatcher.git",
|
|
"reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
|
|
"reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.2.0"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"branch-alias": {
|
|
"dev-master": "1.0.x-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Psr\\EventDispatcher\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "PHP-FIG",
|
|
"homepage": "http://www.php-fig.org/"
|
|
}
|
|
],
|
|
"description": "Standard interfaces for event handling.",
|
|
"keywords": [
|
|
"events",
|
|
"psr",
|
|
"psr-14"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/php-fig/event-dispatcher/issues",
|
|
"source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
|
|
},
|
|
"time": "2019-01-08T18:20:26+00:00"
|
|
},
|
|
{
|
|
"name": "psr/log",
|
|
"version": "3.0.2",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/php-fig/log.git",
|
|
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
|
|
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.0.0"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"branch-alias": {
|
|
"dev-master": "3.x-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Psr\\Log\\": "src"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"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": "react/cache",
|
|
"version": "v1.2.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/cache.git",
|
|
"reference": "d47c472b64aa5608225f47965a484b75c7817d5b"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b",
|
|
"reference": "d47c472b64aa5608225f47965a484b75c7817d5b",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=5.3.0",
|
|
"react/promise": "^3.0 || ^2.0 || ^1.1"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"React\\Cache\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "Async, Promise-based cache interface for ReactPHP",
|
|
"keywords": [
|
|
"cache",
|
|
"caching",
|
|
"promise",
|
|
"reactphp"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/cache/issues",
|
|
"source": "https://github.com/reactphp/cache/tree/v1.2.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2022-11-30T15:59:55+00:00"
|
|
},
|
|
{
|
|
"name": "react/child-process",
|
|
"version": "v0.6.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/child-process.git",
|
|
"reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/child-process/zipball/970f0e71945556422ee4570ccbabaedc3cf04ad3",
|
|
"reference": "970f0e71945556422ee4570ccbabaedc3cf04ad3",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
|
|
"php": ">=5.3.0",
|
|
"react/event-loop": "^1.2",
|
|
"react/stream": "^1.4"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36",
|
|
"react/socket": "^1.16",
|
|
"sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"React\\ChildProcess\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "Event-driven library for executing child processes with ReactPHP.",
|
|
"keywords": [
|
|
"event-driven",
|
|
"process",
|
|
"reactphp"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/child-process/issues",
|
|
"source": "https://github.com/reactphp/child-process/tree/v0.6.7"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2025-12-23T15:25:20+00:00"
|
|
},
|
|
{
|
|
"name": "react/dns",
|
|
"version": "v1.14.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/dns.git",
|
|
"reference": "7562c05391f42701c1fccf189c8225fece1cd7c3"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/dns/zipball/7562c05391f42701c1fccf189c8225fece1cd7c3",
|
|
"reference": "7562c05391f42701c1fccf189c8225fece1cd7c3",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=5.3.0",
|
|
"react/cache": "^1.0 || ^0.6 || ^0.5",
|
|
"react/event-loop": "^1.2",
|
|
"react/promise": "^3.2 || ^2.7 || ^1.2.1"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36",
|
|
"react/async": "^4.3 || ^3 || ^2",
|
|
"react/promise-timer": "^1.11"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"React\\Dns\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "Async DNS resolver for ReactPHP",
|
|
"keywords": [
|
|
"async",
|
|
"dns",
|
|
"dns-resolver",
|
|
"reactphp"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/dns/issues",
|
|
"source": "https://github.com/reactphp/dns/tree/v1.14.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2025-11-18T19:34:28+00:00"
|
|
},
|
|
{
|
|
"name": "react/event-loop",
|
|
"version": "v1.6.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/event-loop.git",
|
|
"reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/event-loop/zipball/ba276bda6083df7e0050fd9b33f66ad7a4ac747a",
|
|
"reference": "ba276bda6083df7e0050fd9b33f66ad7a4ac747a",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=5.3.0"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
|
|
},
|
|
"suggest": {
|
|
"ext-pcntl": "For signal handling support when using the StreamSelectLoop"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"React\\EventLoop\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.",
|
|
"keywords": [
|
|
"asynchronous",
|
|
"event-loop"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/event-loop/issues",
|
|
"source": "https://github.com/reactphp/event-loop/tree/v1.6.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2025-11-17T20:46:25+00:00"
|
|
},
|
|
{
|
|
"name": "react/promise",
|
|
"version": "v3.3.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/promise.git",
|
|
"reference": "23444f53a813a3296c1368bb104793ce8d88f04a"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/promise/zipball/23444f53a813a3296c1368bb104793ce8d88f04a",
|
|
"reference": "23444f53a813a3296c1368bb104793ce8d88f04a",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.1.0"
|
|
},
|
|
"require-dev": {
|
|
"phpstan/phpstan": "1.12.28 || 1.4.10",
|
|
"phpunit/phpunit": "^9.6 || ^7.5"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"files": [
|
|
"src/functions_include.php"
|
|
],
|
|
"psr-4": {
|
|
"React\\Promise\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "A lightweight implementation of CommonJS Promises/A for PHP",
|
|
"keywords": [
|
|
"promise",
|
|
"promises"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/promise/issues",
|
|
"source": "https://github.com/reactphp/promise/tree/v3.3.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2025-08-19T18:57:03+00:00"
|
|
},
|
|
{
|
|
"name": "react/socket",
|
|
"version": "v1.17.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/socket.git",
|
|
"reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/socket/zipball/ef5b17b81f6f60504c539313f94f2d826c5faa08",
|
|
"reference": "ef5b17b81f6f60504c539313f94f2d826c5faa08",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
|
|
"php": ">=5.3.0",
|
|
"react/dns": "^1.13",
|
|
"react/event-loop": "^1.2",
|
|
"react/promise": "^3.2 || ^2.6 || ^1.2.1",
|
|
"react/stream": "^1.4"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36",
|
|
"react/async": "^4.3 || ^3.3 || ^2",
|
|
"react/promise-stream": "^1.4",
|
|
"react/promise-timer": "^1.11"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"React\\Socket\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP",
|
|
"keywords": [
|
|
"Connection",
|
|
"Socket",
|
|
"async",
|
|
"reactphp",
|
|
"stream"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/socket/issues",
|
|
"source": "https://github.com/reactphp/socket/tree/v1.17.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2025-11-19T20:47:34+00:00"
|
|
},
|
|
{
|
|
"name": "react/stream",
|
|
"version": "v1.4.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/reactphp/stream.git",
|
|
"reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d",
|
|
"reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
|
|
"php": ">=5.3.8",
|
|
"react/event-loop": "^1.2"
|
|
},
|
|
"require-dev": {
|
|
"clue/stream-filter": "~1.2",
|
|
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"React\\Stream\\": "src/"
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Christian Lück",
|
|
"email": "christian@clue.engineering",
|
|
"homepage": "https://clue.engineering/"
|
|
},
|
|
{
|
|
"name": "Cees-Jan Kiewiet",
|
|
"email": "reactphp@ceesjankiewiet.nl",
|
|
"homepage": "https://wyrihaximus.net/"
|
|
},
|
|
{
|
|
"name": "Jan Sorgalla",
|
|
"email": "jsorgalla@gmail.com",
|
|
"homepage": "https://sorgalla.com/"
|
|
},
|
|
{
|
|
"name": "Chris Boden",
|
|
"email": "cboden@gmail.com",
|
|
"homepage": "https://cboden.dev/"
|
|
}
|
|
],
|
|
"description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP",
|
|
"keywords": [
|
|
"event-driven",
|
|
"io",
|
|
"non-blocking",
|
|
"pipe",
|
|
"reactphp",
|
|
"readable",
|
|
"stream",
|
|
"writable"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/reactphp/stream/issues",
|
|
"source": "https://github.com/reactphp/stream/tree/v1.4.0"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://opencollective.com/reactphp",
|
|
"type": "open_collective"
|
|
}
|
|
],
|
|
"time": "2024-06-11T12:45:25+00:00"
|
|
},
|
|
{
|
|
"name": "sebastian/diff",
|
|
"version": "9.0.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/sebastianbergmann/diff.git",
|
|
"reference": "a2df6626c1baf31d5a88674882a3072f151b5a26"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/a2df6626c1baf31d5a88674882a3072f151b5a26",
|
|
"reference": "a2df6626c1baf31d5a88674882a3072f151b5a26",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^13.3.1",
|
|
"symfony/process": "^7.4.17"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"branch-alias": {
|
|
"dev-main": "9.0-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"classmap": [
|
|
"src/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"BSD-3-Clause"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Sebastian Bergmann",
|
|
"email": "sebastian@phpunit.de"
|
|
},
|
|
{
|
|
"name": "Kore Nordmann",
|
|
"email": "mail@kore-nordmann.de"
|
|
}
|
|
],
|
|
"description": "Diff implementation",
|
|
"homepage": "https://github.com/sebastianbergmann/diff",
|
|
"keywords": [
|
|
"diff",
|
|
"udiff",
|
|
"unidiff",
|
|
"unified diff"
|
|
],
|
|
"support": {
|
|
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
|
"security": "https://github.com/sebastianbergmann/diff/security/policy",
|
|
"source": "https://github.com/sebastianbergmann/diff/tree/9.0.1"
|
|
},
|
|
"funding": [
|
|
{
|
|
"url": "https://github.com/sebastianbergmann",
|
|
"type": "github"
|
|
},
|
|
{
|
|
"url": "https://liberapay.com/sebastianbergmann",
|
|
"type": "liberapay"
|
|
},
|
|
{
|
|
"url": "https://thanks.dev/u/gh/sebastianbergmann",
|
|
"type": "thanks_dev"
|
|
},
|
|
{
|
|
"url": "https://tidelift.com/funding/github/packagist/sebastian/diff",
|
|
"type": "tidelift"
|
|
}
|
|
],
|
|
"time": "2026-08-25T15:38:55+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/cache",
|
|
"version": "v8.1.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/cache.git",
|
|
"reference": "47616ab077b5aff4d0f718b96680a48599fc1a3f"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/cache/zipball/47616ab077b5aff4d0f718b96680a48599fc1a3f",
|
|
"reference": "47616ab077b5aff4d0f718b96680a48599fc1a3f",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"psr/cache": "^2.0|^3.0",
|
|
"psr/log": "^1.1|^2|^3",
|
|
"symfony/cache-contracts": "^3.6",
|
|
"symfony/service-contracts": "^2.5|^3",
|
|
"symfony/var-exporter": "^8.1"
|
|
},
|
|
"conflict": {
|
|
"ext-redis": "<6.1",
|
|
"ext-relay": "<0.12.1"
|
|
},
|
|
"provide": {
|
|
"psr/cache-implementation": "2.0|3.0",
|
|
"psr/simple-cache-implementation": "1.0|2.0|3.0",
|
|
"symfony/cache-implementation": "1.1|2.0|3.0"
|
|
},
|
|
"require-dev": {
|
|
"cache/integration-tests": "^1.0.3",
|
|
"doctrine/dbal": "^4.3",
|
|
"predis/predis": "^1.1|^2.0",
|
|
"psr/simple-cache": "^1.0|^2.0|^3.0",
|
|
"symfony/clock": "^7.4|^8.0",
|
|
"symfony/config": "^7.4|^8.0",
|
|
"symfony/dependency-injection": "^7.4|^8.0",
|
|
"symfony/filesystem": "^7.4|^8.0",
|
|
"symfony/http-kernel": "^7.4|^8.0",
|
|
"symfony/messenger": "^7.4|^8.0",
|
|
"symfony/var-dumper": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Cache\\": ""
|
|
},
|
|
"classmap": [
|
|
"Traits/ValueWrapper.php"
|
|
],
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Nicolas Grekas",
|
|
"email": "p@tchwork.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Provides extended PSR-6, PSR-16 (and tags) implementations",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"caching",
|
|
"psr6"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/cache/tree/v8.1.7"
|
|
},
|
|
"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": "2026-09-08T13:39:13+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/cache-contracts",
|
|
"version": "v3.7.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/cache-contracts.git",
|
|
"reference": "9789738bc19af1106dc54d6afba9a0b467516cf2"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/9789738bc19af1106dc54d6afba9a0b467516cf2",
|
|
"reference": "9789738bc19af1106dc54d6afba9a0b467516cf2",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.1",
|
|
"psr/cache": "^3.0"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/contracts",
|
|
"name": "symfony/contracts"
|
|
},
|
|
"branch-alias": {
|
|
"dev-main": "3.7-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Contracts\\Cache\\": ""
|
|
}
|
|
},
|
|
"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": "Generic abstractions related to caching",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"abstractions",
|
|
"contracts",
|
|
"decoupling",
|
|
"interfaces",
|
|
"interoperability",
|
|
"standards"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/cache-contracts/tree/v3.7.1"
|
|
},
|
|
"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": "2026-06-05T06:23:12+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/console",
|
|
"version": "v8.1.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/console.git",
|
|
"reference": "29afb89f4e941f68a6e90f28e3f52ff1f6793a7d"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/console/zipball/29afb89f4e941f68a6e90f28e3f52ff1f6793a7d",
|
|
"reference": "29afb89f4e941f68a6e90f28e3f52ff1f6793a7d",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/deprecation-contracts": "^2.5|^3",
|
|
"symfony/polyfill-mbstring": "^1.0",
|
|
"symfony/polyfill-php85": "^1.32",
|
|
"symfony/service-contracts": "^2.5|^3",
|
|
"symfony/string": "^7.4.6|^8.0.6"
|
|
},
|
|
"conflict": {
|
|
"symfony/dependency-injection": "<8.1",
|
|
"symfony/event-dispatcher": "<8.1"
|
|
},
|
|
"provide": {
|
|
"psr/log-implementation": "1.0|2.0|3.0"
|
|
},
|
|
"require-dev": {
|
|
"psr/log": "^1|^2|^3",
|
|
"symfony/config": "^7.4|^8.0",
|
|
"symfony/dependency-injection": "^8.1",
|
|
"symfony/event-dispatcher": "^8.1",
|
|
"symfony/filesystem": "^7.4|^8.0",
|
|
"symfony/http-foundation": "^7.4|^8.0",
|
|
"symfony/http-kernel": "^7.4|^8.0",
|
|
"symfony/lock": "^7.4|^8.0",
|
|
"symfony/messenger": "^7.4|^8.0",
|
|
"symfony/mime": "^7.4|^8.0",
|
|
"symfony/process": "^7.4|^8.0",
|
|
"symfony/stopwatch": "^7.4|^8.0",
|
|
"symfony/uid": "^7.4|^8.0",
|
|
"symfony/validator": "^7.4|^8.0",
|
|
"symfony/var-dumper": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Console\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Eases the creation of beautiful and testable command line interfaces",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"cli",
|
|
"command-line",
|
|
"console",
|
|
"terminal"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/console/tree/v8.1.7"
|
|
},
|
|
"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": "2026-09-13T10:55:57+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/deprecation-contracts",
|
|
"version": "v3.7.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/deprecation-contracts.git",
|
|
"reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d",
|
|
"reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.1"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/contracts",
|
|
"name": "symfony/contracts"
|
|
},
|
|
"branch-alias": {
|
|
"dev-main": "3.7-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.7.1"
|
|
},
|
|
"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": "2026-06-05T06:23:12+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/event-dispatcher",
|
|
"version": "v8.1.5",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
|
"reference": "7458da64220376b2e0dc2d8451bf43382c1ad297"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7458da64220376b2e0dc2d8451bf43382c1ad297",
|
|
"reference": "7458da64220376b2e0dc2d8451bf43382c1ad297",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/deprecation-contracts": "^2.5|^3",
|
|
"symfony/event-dispatcher-contracts": "^2.5|^3"
|
|
},
|
|
"conflict": {
|
|
"symfony/security-http": "<7.4",
|
|
"symfony/service-contracts": "<2.5"
|
|
},
|
|
"provide": {
|
|
"psr/event-dispatcher-implementation": "1.0",
|
|
"symfony/event-dispatcher-implementation": "2.0|3.0"
|
|
},
|
|
"require-dev": {
|
|
"psr/log": "^1|^2|^3",
|
|
"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": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\EventDispatcher\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "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/v8.1.5"
|
|
},
|
|
"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": "2026-08-21T17:47:34+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/event-dispatcher-contracts",
|
|
"version": "v3.7.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
|
"reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c7de7a00ffb67842132da02ea92988a39ccd9f4e",
|
|
"reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.1",
|
|
"psr/event-dispatcher": "^1"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/contracts",
|
|
"name": "symfony/contracts"
|
|
},
|
|
"branch-alias": {
|
|
"dev-main": "3.7-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Contracts\\EventDispatcher\\": ""
|
|
}
|
|
},
|
|
"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": "Generic abstractions related to dispatching event",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"abstractions",
|
|
"contracts",
|
|
"decoupling",
|
|
"interfaces",
|
|
"interoperability",
|
|
"standards"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.1"
|
|
},
|
|
"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": "2026-06-05T06:23:12+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/filesystem",
|
|
"version": "v8.1.6",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/filesystem.git",
|
|
"reference": "7599ebb855fede59413ddb7f15198d67bfcae7ba"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/7599ebb855fede59413ddb7f15198d67bfcae7ba",
|
|
"reference": "7599ebb855fede59413ddb7f15198d67bfcae7ba",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/deprecation-contracts": "^2.5|^3",
|
|
"symfony/polyfill-ctype": "~1.8",
|
|
"symfony/polyfill-mbstring": "~1.8"
|
|
},
|
|
"require-dev": {
|
|
"symfony/process": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Filesystem\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Provides basic utilities for the filesystem",
|
|
"homepage": "https://symfony.com",
|
|
"support": {
|
|
"source": "https://github.com/symfony/filesystem/tree/v8.1.6"
|
|
},
|
|
"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": "2026-08-23T10:06:25+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/finder",
|
|
"version": "v8.1.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/finder.git",
|
|
"reference": "4fbe46a3eb64abf8a57f0364075b91f4a233e062"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/finder/zipball/4fbe46a3eb64abf8a57f0364075b91f4a233e062",
|
|
"reference": "4fbe46a3eb64abf8a57f0364075b91f4a233e062",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1"
|
|
},
|
|
"require-dev": {
|
|
"symfony/filesystem": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Finder\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Finds files and directories via an intuitive fluent interface",
|
|
"homepage": "https://symfony.com",
|
|
"support": {
|
|
"source": "https://github.com/symfony/finder/tree/v8.1.7"
|
|
},
|
|
"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": "2026-09-10T19:14:39+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/options-resolver",
|
|
"version": "v8.1.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/options-resolver.git",
|
|
"reference": "88f9c561f678a02d54b897014049fa839e33ff82"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/88f9c561f678a02d54b897014049fa839e33ff82",
|
|
"reference": "88f9c561f678a02d54b897014049fa839e33ff82",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/deprecation-contracts": "^2.5|^3"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\OptionsResolver\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Provides an improved replacement for the array_replace PHP function",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"config",
|
|
"configuration",
|
|
"options"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/options-resolver/tree/v8.1.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": "2026-05-29T05:06:50+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-ctype",
|
|
"version": "v1.37.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-ctype.git",
|
|
"reference": "141046a8f9477948ff284fa65be2095baafb94f2"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
|
|
"reference": "141046a8f9477948ff284fa65be2095baafb94f2",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.2"
|
|
},
|
|
"provide": {
|
|
"ext-ctype": "*"
|
|
},
|
|
"suggest": {
|
|
"ext-ctype": "For best performance"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/polyfill",
|
|
"name": "symfony/polyfill"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Polyfill\\Ctype\\": ""
|
|
}
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Gert de Pagter",
|
|
"email": "BackEndTea@gmail.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Symfony polyfill for ctype functions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"ctype",
|
|
"polyfill",
|
|
"portable"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.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": "2026-04-10T16:19:22+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-deepclone",
|
|
"version": "v1.42.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-deepclone.git",
|
|
"reference": "70ba0627efc68e97ea392843458a2dd9d6dbd156"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-deepclone/zipball/70ba0627efc68e97ea392843458a2dd9d6dbd156",
|
|
"reference": "70ba0627efc68e97ea392843458a2dd9d6dbd156",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.1"
|
|
},
|
|
"provide": {
|
|
"ext-deepclone": "*"
|
|
},
|
|
"suggest": {
|
|
"ext-deepclone": "For best performance"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/polyfill",
|
|
"name": "symfony/polyfill"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Polyfill\\DeepClone\\": ""
|
|
},
|
|
"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 for the deepclone extension",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"deepclone",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-deepclone/tree/v1.42.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": "2026-08-07T06:33:24+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-intl-grapheme",
|
|
"version": "v1.41.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
|
"reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
|
|
"reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.2"
|
|
},
|
|
"suggest": {
|
|
"ext-intl": "For best performance"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/polyfill",
|
|
"name": "symfony/polyfill"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Polyfill\\Intl\\Grapheme\\": ""
|
|
}
|
|
},
|
|
"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 for intl's grapheme_* functions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"grapheme",
|
|
"intl",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.41.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": "2026-07-28T08:25:59+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-intl-normalizer",
|
|
"version": "v1.42.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
|
"reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/aa20edea75bd9c48cfecc8360922e5a6e5c44502",
|
|
"reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.2"
|
|
},
|
|
"suggest": {
|
|
"ext-intl": "For best performance"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/polyfill",
|
|
"name": "symfony/polyfill"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
|
|
},
|
|
"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 for intl's Normalizer class and related functions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"intl",
|
|
"normalizer",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.42.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": "2026-08-07T06:33:24+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-mbstring",
|
|
"version": "v1.38.2",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
|
"reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
|
|
"reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"ext-iconv": "*",
|
|
"php": ">=7.2"
|
|
},
|
|
"provide": {
|
|
"ext-mbstring": "*"
|
|
},
|
|
"suggest": {
|
|
"ext-mbstring": "For best performance"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/polyfill",
|
|
"name": "symfony/polyfill"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Polyfill\\Mbstring\\": ""
|
|
}
|
|
},
|
|
"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 for the Mbstring extension",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"mbstring",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2"
|
|
},
|
|
"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": "2026-05-27T06:59:30+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-php80",
|
|
"version": "v1.37.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-php80.git",
|
|
"reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411",
|
|
"reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411",
|
|
"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\\Php80\\": ""
|
|
},
|
|
"classmap": [
|
|
"Resources/stubs"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Ion Bazan",
|
|
"email": "ion.bazan@gmail.com"
|
|
},
|
|
{
|
|
"name": "Nicolas Grekas",
|
|
"email": "p@tchwork.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-php80/tree/v1.37.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": "2026-04-10T16:19:22+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-php81",
|
|
"version": "v1.38.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-php81.git",
|
|
"reference": "6bfb9c766cacffbc8e118cb87217d08ed84e5cd7"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/6bfb9c766cacffbc8e118cb87217d08ed84e5cd7",
|
|
"reference": "6bfb9c766cacffbc8e118cb87217d08ed84e5cd7",
|
|
"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\\Php81\\": ""
|
|
},
|
|
"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.1+ features to lower PHP versions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-php81/tree/v1.38.1"
|
|
},
|
|
"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": "2026-05-26T12:45:58+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-php84",
|
|
"version": "v1.38.1",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-php84.git",
|
|
"reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
|
|
"reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
|
|
"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.38.1"
|
|
},
|
|
"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": "2026-05-26T12:51:13+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/polyfill-php85",
|
|
"version": "v1.41.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/polyfill-php85.git",
|
|
"reference": "255fab485aaa1006ed411040c42aecd7b5302d7a"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/255fab485aaa1006ed411040c42aecd7b5302d7a",
|
|
"reference": "255fab485aaa1006ed411040c42aecd7b5302d7a",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=7.2"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/polyfill",
|
|
"name": "symfony/polyfill"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"files": [
|
|
"bootstrap.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Polyfill\\Php85\\": ""
|
|
},
|
|
"classmap": [
|
|
"Resources/stubs"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Nicolas Grekas",
|
|
"email": "p@tchwork.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"compatibility",
|
|
"polyfill",
|
|
"portable",
|
|
"shim"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/polyfill-php85/tree/v1.41.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": "2026-07-01T12:47:55+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/process",
|
|
"version": "v8.1.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/process.git",
|
|
"reference": "10823b09358e690df4ff943e24e8492bb1019fc3"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/process/zipball/10823b09358e690df4ff943e24e8492bb1019fc3",
|
|
"reference": "10823b09358e690df4ff943e24e8492bb1019fc3",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Process\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Executes commands in sub-processes",
|
|
"homepage": "https://symfony.com",
|
|
"support": {
|
|
"source": "https://github.com/symfony/process/tree/v8.1.7"
|
|
},
|
|
"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": "2026-09-02T12:40:29+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/service-contracts",
|
|
"version": "v3.7.3",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/service-contracts.git",
|
|
"reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
|
|
"reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.1",
|
|
"psr/container": "^1.1|^2.0",
|
|
"symfony/deprecation-contracts": "^2.5|^3"
|
|
},
|
|
"conflict": {
|
|
"ext-psr": "<1.1|>=2"
|
|
},
|
|
"type": "library",
|
|
"extra": {
|
|
"thanks": {
|
|
"url": "https://github.com/symfony/contracts",
|
|
"name": "symfony/contracts"
|
|
},
|
|
"branch-alias": {
|
|
"dev-main": "3.7-dev"
|
|
}
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Contracts\\Service\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Test/"
|
|
]
|
|
},
|
|
"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": "Generic abstractions related to writing services",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"abstractions",
|
|
"contracts",
|
|
"decoupling",
|
|
"interfaces",
|
|
"interoperability",
|
|
"standards"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/service-contracts/tree/v3.7.3"
|
|
},
|
|
"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": "2026-07-27T15:39:01+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/stopwatch",
|
|
"version": "v8.1.0",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/stopwatch.git",
|
|
"reference": "21c07b026905d596e8379caeb115d87aa479499d"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/21c07b026905d596e8379caeb115d87aa479499d",
|
|
"reference": "21c07b026905d596e8379caeb115d87aa479499d",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/service-contracts": "^2.5|^3"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Stopwatch\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Provides a way to profile code",
|
|
"homepage": "https://symfony.com",
|
|
"support": {
|
|
"source": "https://github.com/symfony/stopwatch/tree/v8.1.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": "2026-05-29T05:06:50+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/string",
|
|
"version": "v8.1.7",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/string.git",
|
|
"reference": "d950140b5f56f31901e5b7a0c04ffc3a3deb943c"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/string/zipball/d950140b5f56f31901e5b7a0c04ffc3a3deb943c",
|
|
"reference": "d950140b5f56f31901e5b7a0c04ffc3a3deb943c",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"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.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": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"files": [
|
|
"Resources/functions.php"
|
|
],
|
|
"psr-4": {
|
|
"Symfony\\Component\\String\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Nicolas Grekas",
|
|
"email": "p@tchwork.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"grapheme",
|
|
"i18n",
|
|
"string",
|
|
"unicode",
|
|
"utf-8",
|
|
"utf8"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/string/tree/v8.1.7"
|
|
},
|
|
"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": "2026-09-11T14:51:16+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/var-exporter",
|
|
"version": "v8.1.6",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/var-exporter.git",
|
|
"reference": "802362f41128c430fd6685491e1fb72127fae78a"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/802362f41128c430fd6685491e1fb72127fae78a",
|
|
"reference": "802362f41128c430fd6685491e1fb72127fae78a",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/deprecation-contracts": "^2.5|^3",
|
|
"symfony/polyfill-deepclone": "^1.40"
|
|
},
|
|
"require-dev": {
|
|
"symfony/property-access": "^7.4|^8.0",
|
|
"symfony/serializer": "^7.4|^8.0",
|
|
"symfony/var-dumper": "^7.4|^8.0"
|
|
},
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\VarExporter\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Nicolas Grekas",
|
|
"email": "p@tchwork.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Provides tools to export, instantiate, hydrate, clone and lazy-load PHP objects",
|
|
"homepage": "https://symfony.com",
|
|
"keywords": [
|
|
"clone",
|
|
"construct",
|
|
"deep-clone",
|
|
"export",
|
|
"hydrate",
|
|
"instantiate",
|
|
"lazy-loading",
|
|
"proxy",
|
|
"serialize"
|
|
],
|
|
"support": {
|
|
"source": "https://github.com/symfony/var-exporter/tree/v8.1.6"
|
|
},
|
|
"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": "2026-08-29T06:30:03+00:00"
|
|
},
|
|
{
|
|
"name": "symfony/yaml",
|
|
"version": "v8.1.6",
|
|
"source": {
|
|
"type": "git",
|
|
"url": "https://github.com/symfony/yaml.git",
|
|
"reference": "0b4aa53a67f9fece88c665f1a1dadcfd25d93fe5"
|
|
},
|
|
"dist": {
|
|
"type": "zip",
|
|
"url": "https://api.github.com/repos/symfony/yaml/zipball/0b4aa53a67f9fece88c665f1a1dadcfd25d93fe5",
|
|
"reference": "0b4aa53a67f9fece88c665f1a1dadcfd25d93fe5",
|
|
"shasum": ""
|
|
},
|
|
"require": {
|
|
"php": ">=8.4.1",
|
|
"symfony/polyfill-ctype": "^1.8"
|
|
},
|
|
"conflict": {
|
|
"symfony/console": "<7.4"
|
|
},
|
|
"require-dev": {
|
|
"symfony/console": "^7.4|^8.0",
|
|
"yaml/yaml-test-suite": "*"
|
|
},
|
|
"bin": [
|
|
"Resources/bin/yaml-lint"
|
|
],
|
|
"type": "library",
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Symfony\\Component\\Yaml\\": ""
|
|
},
|
|
"exclude-from-classmap": [
|
|
"/Tests/"
|
|
]
|
|
},
|
|
"notification-url": "https://packagist.org/downloads/",
|
|
"license": [
|
|
"MIT"
|
|
],
|
|
"authors": [
|
|
{
|
|
"name": "Fabien Potencier",
|
|
"email": "fabien@symfony.com"
|
|
},
|
|
{
|
|
"name": "Symfony Community",
|
|
"homepage": "https://symfony.com/contributors"
|
|
}
|
|
],
|
|
"description": "Loads and dumps YAML files",
|
|
"homepage": "https://symfony.com",
|
|
"support": {
|
|
"source": "https://github.com/symfony/yaml/tree/v8.1.6"
|
|
},
|
|
"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": "2026-08-30T01:03:44+00:00"
|
|
}
|
|
],
|
|
"aliases": [],
|
|
"minimum-stability": "stable",
|
|
"stability-flags": {},
|
|
"prefer-stable": true,
|
|
"prefer-lowest": false,
|
|
"platform": {
|
|
"php": "^8.2",
|
|
"ext-gmp": "*",
|
|
"ext-json": "*",
|
|
"ext-ldap": "*",
|
|
"ext-mbstring": "*",
|
|
"ext-openssl": "*",
|
|
"ext-pcntl": "*",
|
|
"ext-posix": "*",
|
|
"ext-sockets": "*"
|
|
},
|
|
"platform-dev": {},
|
|
"plugin-api-version": "2.9.0"
|
|
}
|