From 1bcfb039008b33241256d3810f8a29bd8a9ce858 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Wed, 30 Oct 2024 12:04:01 +0100 Subject: [PATCH] add configurator database --- .env | 3 + bin/functions.sh | 6 +- bin/setup.sh | 15 +- configurator/Dockerfile | 16 +- configurator/bin/setup.sh | 14 + configurator/composer.json | 4 +- configurator/composer.lock | 4192 +++++++++++------ configurator/config/bundles.php | 1 + configurator/config/packages/doctrine.yaml | 44 +- .../config/packages/doctrine_migrations.yaml | 7 + configurator/docker/app/conf.d/newrelic.ini | 1124 +++++ configurator/docker/app/conf.d/symfony.ini | 25 + configurator/docker/php-entrypoint.sh | 19 + configurator/migrations/.gitignore | 0 configurator/src/Entity/.gitignore | 0 configurator/symfony.lock | 25 + docker-compose.dev.yml | 3 +- docker-compose.yml | 1 + 18 files changed, 4037 insertions(+), 1462 deletions(-) create mode 100755 configurator/bin/setup.sh create mode 100644 configurator/config/packages/doctrine_migrations.yaml create mode 100644 configurator/docker/app/conf.d/newrelic.ini create mode 100644 configurator/docker/app/conf.d/symfony.ini create mode 100755 configurator/docker/php-entrypoint.sh create mode 100644 configurator/migrations/.gitignore create mode 100644 configurator/src/Entity/.gitignore diff --git a/.env b/.env index 626e85902..7672a98fc 100644 --- a/.env +++ b/.env @@ -176,6 +176,9 @@ MARIADB_PORT=3306 MAILER_DSN=smtp://mailhog:1025 MAIL_FROM=noreply@${PHRASEA_DOMAIN} +# Configurator +CONFIGURATOR_DB_NAME=configurator + # Mailhog MAILHOG_PORT=8125 diff --git a/bin/functions.sh b/bin/functions.sh index 952efea9d..c77604596 100755 --- a/bin/functions.sh +++ b/bin/functions.sh @@ -39,7 +39,7 @@ function load-env { rm -f "${tmp}" } -# execute a shell commmand in a container defined in docker-compose.yml +# execute a shell command in a container defined in docker-compose.yml function exec_container() { docker compose exec -T "$1" sh -c "$2" } @@ -48,6 +48,10 @@ function exec_container_as() { docker compose exec -T "$1" su "$3" sh -c "$2" } +function run_container_as() { + docker compose run --rm -T "$1" su "$3" sh -c "$2" +} + function create_db() { exec_container db "psql -U \"${POSTGRES_USER}\" -tc \"SELECT 1 FROM pg_database WHERE datname = '$1'\" | grep -q 1 || psql -U \"${POSTGRES_USER}\" -c \"CREATE DATABASE $1\"" } diff --git a/bin/setup.sh b/bin/setup.sh index 6f05f526b..46652e3f0 100755 --- a/bin/setup.sh +++ b/bin/setup.sh @@ -15,6 +15,14 @@ docker compose up -d # Wait for services to be ready docker compose run --rm dockerize +# Setup Report +## Create DB +create_db "${REPORT_DB_NAME}" +create_db "${KEYCLOAK_DB_NAME}" +create_db "${KEYCLOAK2_DB_NAME}" + +run_container_as configurator "bin/setup.sh" app + # Setup Uploader ## Create rabbitmq vhost exec_container rabbitmq "rabbitmqctl add_vhost ${UPLOADER_RABBITMQ_VHOST} && rabbitmqctl set_permissions -p ${UPLOADER_RABBITMQ_VHOST} ${RABBITMQ_USER} '.*' '.*' '.*'" @@ -72,13 +80,6 @@ COMPOSE_PROFILES="${COMPOSE_PROFILES},setup" docker compose run --rm -T --entryp ## Create Uploader target for client upload exec_container uploader-api-php "bin/console app:create-target ${DATABOX_UPLOADER_TARGET_SLUG} 'Databox Uploader' http://databox-api/incoming-uploads" -# Setup Report -## Create DB -create_db "${REPORT_DB_NAME}" - -create_db "${KEYCLOAK_DB_NAME}" -create_db "${KEYCLOAK2_DB_NAME}" - ## Setup indexer ## Create Databox OAuth client for indexer COMPOSE_PROFILES="${COMPOSE_PROFILES},setup" docker compose run --rm -T --entrypoint "sh -c" minio-mc "\ diff --git a/configurator/Dockerfile b/configurator/Dockerfile index 2ac3dd08d..de7ecad24 100644 --- a/configurator/Dockerfile +++ b/configurator/Dockerfile @@ -2,16 +2,18 @@ ARG BASE_TAG=latest ARG REGISTRY_NAMESPACE FROM ${REGISTRY_NAMESPACE}php-fpm-base:${BASE_TAG} AS api-php -WORKDIR /usr/app +WORKDIR /srv/app -ENV APP_ENV=prod +COPY --chown=app:app . . -COPY . . - -RUN composer install --prefer-dist --no-dev --no-progress --classmap-authoritative --no-interaction \ +RUN mkdir -p var/cache var/logs var/sessions \ + && composer install --prefer-dist --no-dev --no-progress --classmap-authoritative --no-interaction \ && composer clear-cache \ && chown -R app: . -ENTRYPOINT ["bin/console"] +ARG SENTRY_RELEASE +ENV SENTRY_RELEASE=${SENTRY_RELEASE} + +ENTRYPOINT ["/srv/app/docker/php-entrypoint.sh"] -CMD ["configure"] +CMD ["bin/console", "configure"] diff --git a/configurator/bin/setup.sh b/configurator/bin/setup.sh new file mode 100755 index 000000000..dfe8fe5f6 --- /dev/null +++ b/configurator/bin/setup.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +BASEDIR=$(dirname $0) + +if [ ! -d "${BASEDIR}/../vendor" ]; then + (cd "${BASEDIR}/.." && composer install) +fi + +"${BASEDIR}/console" doctrine:database:create --if-not-exists +"${BASEDIR}/console" doctrine:schema:update -f +"${BASEDIR}/console" doctrine:migrations:sync-metadata-storage +"${BASEDIR}/console" doctrine:migrations:version --add --all -n diff --git a/configurator/composer.json b/configurator/composer.json index 3bbb095bc..bbbb938d3 100644 --- a/configurator/composer.json +++ b/configurator/composer.json @@ -7,7 +7,9 @@ "php": ">=8.3", "ext-ctype": "*", "ext-iconv": "*", - "doctrine/doctrine-bundle": "*", + "doctrine/doctrine-bundle": "^2.12", + "doctrine/doctrine-migrations-bundle": "^3.3", + "doctrine/orm": "^3.3", "symfony/console": "6.3.*", "symfony/dotenv": "6.3.*", "symfony/flex": "^2", diff --git a/configurator/composer.lock b/configurator/composer.lock index b522bb9ba..906915bfe 100644 --- a/configurator/composer.lock +++ b/configurator/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ac1b94f4b4224876d47c017b4293e88b", + "content-hash": "29d4f021d6af7c7b9ac683fb9545e117", "packages": [ { "name": "doctrine/cache", @@ -99,18 +99,104 @@ ], "time": "2022-05-20T20:07:39+00:00" }, + { + "name": "doctrine/collections", + "version": "2.2.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "d8af7f248c74f195f7347424600fd9e17b57af59" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/d8af7f248c74f195f7347424600fd9e17b57af59", + "reference": "d8af7f248c74f195f7347424600fd9e17b57af59", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1", + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "ext-json": "*", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/2.2.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections", + "type": "tidelift" + } + ], + "time": "2024-04-18T06:56:21+00:00" + }, { "name": "doctrine/dbal", - "version": "4.0.2", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "61d79c6e379a39dc1fea6b4e50a23dfc3cd2076a" + "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/61d79c6e379a39dc1fea6b4e50a23dfc3cd2076a", - "reference": "61d79c6e379a39dc1fea6b4e50a23dfc3cd2076a", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/dadd35300837a3a2184bd47d403333b15d0a9bd0", + "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0", "shasum": "" }, "require": { @@ -123,16 +209,16 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "1.10.58", - "phpstan/phpstan-phpunit": "1.3.15", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "10.5.9", - "psalm/plugin-phpunit": "0.18.4", + "phpstan/phpstan": "1.12.6", + "phpstan/phpstan-phpunit": "1.4.0", + "phpstan/phpstan-strict-rules": "^1.6", + "phpunit/phpunit": "10.5.30", + "psalm/plugin-phpunit": "0.19.0", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.9.0", + "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^6.3.8|^7.0", "symfony/console": "^5.4|^6.3|^7.0", - "vimeo/psalm": "5.21.1" + "vimeo/psalm": "5.25.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -189,7 +275,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.0.2" + "source": "https://github.com/doctrine/dbal/tree/4.2.1" }, "funding": [ { @@ -205,7 +291,7 @@ "type": "tidelift" } ], - "time": "2024-04-25T08:29:52+00:00" + "time": "2024-10-10T18:01:27+00:00" }, { "name": "doctrine/deprecations", @@ -256,16 +342,16 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "5418e811a14724068e95e0ba43353b903ada530f" + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/5418e811a14724068e95e0ba43353b903ada530f", - "reference": "5418e811a14724068e95e0ba43353b903ada530f", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/ca59d84b8e63143ce1aed90cdb333ba329d71563", + "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563", "shasum": "" }, "require": { @@ -356,7 +442,7 @@ ], "support": { "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.12.0" + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.13.0" }, "funding": [ { @@ -372,20 +458,112 @@ "type": "tidelift" } ], - "time": "2024-03-19T07:20:37+00:00" + "time": "2024-09-01T09:46:40+00:00" + }, + { + "name": "doctrine/doctrine-migrations-bundle", + "version": "3.3.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", + "reference": "715b62c31a5894afcb2b2cdbbc6607d7dd0580c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/715b62c31a5894afcb2b2cdbbc6607d7dd0580c0", + "reference": "715b62c31a5894afcb2b2cdbbc6607d7dd0580c0", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "^2.4", + "doctrine/migrations": "^3.2", + "php": "^7.2|^8.0", + "symfony/deprecation-contracts": "^2.1 || ^3", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0" + }, + "require-dev": { + "composer/semver": "^3.0", + "doctrine/coding-standard": "^12", + "doctrine/orm": "^2.6 || ^3", + "doctrine/persistence": "^2.0 || ^3 ", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan-symfony": "^1.3", + "phpunit/phpunit": "^8.5|^9.5", + "psalm/plugin-phpunit": "^0.18.4", + "psalm/plugin-symfony": "^3 || ^5", + "symfony/phpunit-bridge": "^6.3 || ^7", + "symfony/var-exporter": "^5.4 || ^6 || ^7", + "vimeo/psalm": "^4.30 || ^5.15" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\MigrationsBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Doctrine Project", + "homepage": "https://www.doctrine-project.org" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DoctrineMigrationsBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "dbal", + "migrations", + "schema" + ], + "support": { + "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.3.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-migrations-bundle", + "type": "tidelift" + } + ], + "time": "2024-05-14T20:32:18+00:00" }, { "name": "doctrine/event-manager", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", "shasum": "" }, "require": { @@ -395,10 +573,10 @@ "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^10", + "doctrine/coding-standard": "^12", "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^4.28" + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, "type": "library", "autoload": { @@ -447,7 +625,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.0" + "source": "https://github.com/doctrine/event-manager/tree/2.0.1" }, "funding": [ { @@ -463,45 +641,37 @@ "type": "tidelift" } ], - "time": "2022-10-12T20:59:15+00:00" + "time": "2024-05-22T20:47:39+00:00" }, { - "name": "doctrine/persistence", - "version": "3.3.2", + "name": "doctrine/inflector", + "version": "2.0.10", "source": { "type": "git", - "url": "https://github.com/doctrine/persistence.git", - "reference": "477da35bd0255e032826f440b94b3e37f2d56f42" + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/477da35bd0255e032826f440b94b3e37f2d56f42", - "reference": "477da35bd0255e032826f440b94b3e37f2d56f42", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", "shasum": "" }, "require": { - "doctrine/event-manager": "^1 || ^2", - "php": "^7.2 || ^8.0", - "psr/cache": "^1.0 || ^2.0 || ^3.0" - }, - "conflict": { - "doctrine/common": "<2.10" + "php": "^7.2 || ^8.0" }, "require-dev": { - "composer/package-versions-deprecated": "^1.11", - "doctrine/coding-standard": "^11", - "doctrine/common": "^3.0", - "phpstan/phpstan": "1.9.4", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6.0", - "vimeo/psalm": "4.30.0 || 5.3.0" + "vimeo/psalm": "^4.25 || ^5.4" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Persistence\\": "src/Persistence" + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -528,24 +698,25 @@ { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" } ], - "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", - "homepage": "https://www.doctrine-project.org/projects/persistence.html", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", "keywords": [ - "mapper", - "object", - "odm", - "orm", - "persistence" + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" ], "support": { - "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.3.2" + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.10" }, "funding": [ { @@ -557,42 +728,43 @@ "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", "type": "tidelift" } ], - "time": "2024-03-12T14:54:36+00:00" + "time": "2024-02-18T20:23:39+00:00" }, { - "name": "doctrine/sql-formatter", - "version": "1.3.0", + "name": "doctrine/instantiator", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "3447381095d32a171fe3a58323749f44dbb5ac7d" + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/3447381095d32a171fe3a58323749f44dbb5ac7d", - "reference": "3447381095d32a171fe3a58323749f44dbb5ac7d", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.6", - "vimeo/psalm": "^4.11" + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, - "bin": [ - "bin/sql-formatter" - ], "type": "library", "autoload": { "psr-4": { - "Doctrine\\SqlFormatter\\": "src" + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", @@ -601,49 +773,65 @@ ], "authors": [ { - "name": "Jeremy Dorn", - "email": "jeremy@jeremydorn.com", - "homepage": "https://jeremydorn.com/" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" } ], - "description": "a PHP SQL highlighting library", - "homepage": "https://github.com/doctrine/sql-formatter/", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ - "highlight", - "sql" + "constructor", + "instantiate" ], "support": { - "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.3.0" + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, - "time": "2024-05-06T21:49:18+00:00" + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:23:10+00:00" }, { - "name": "psr/cache", - "version": "3.0.0", + "name": "doctrine/lexer", + "version": "3.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": "^8.1" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Cache\\": "src/" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -652,47 +840,201 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Common interface for caching libraries", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", "keywords": [ - "cache", - "psr", - "psr-6" + "annotations", + "docblock", + "lexer", + "parser", + "php" ], "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, - "time": "2021-02-03T23:26:27+00:00" + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:56:58+00:00" }, { - "name": "psr/container", - "version": "2.0.2", + "name": "doctrine/migrations", + "version": "3.8.2", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + "url": "https://github.com/doctrine/migrations.git", + "reference": "5007eb1168691225ac305fe16856755c20860842" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/5007eb1168691225ac305fe16856755c20860842", + "reference": "5007eb1168691225ac305fe16856755c20860842", "shasum": "" }, "require": { - "php": ">=7.4.0" + "composer-runtime-api": "^2", + "doctrine/dbal": "^3.6 || ^4", + "doctrine/deprecations": "^0.5.3 || ^1", + "doctrine/event-manager": "^1.2 || ^2.0", + "php": "^8.1", + "psr/log": "^1.1.3 || ^2 || ^3", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^6.2 || ^7.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" + "conflict": { + "doctrine/orm": "<2.12 || >=4" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "doctrine/orm": "^2.13 || ^3", + "doctrine/persistence": "^2 || ^3", + "doctrine/sql-formatter": "^1.0", + "ext-pdo_sqlite": "*", + "fig/log-test": "^1", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpstan/phpstan-strict-rules": "^1.4", + "phpstan/phpstan-symfony": "^1.3", + "phpunit/phpunit": "^10.3", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/process": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + }, + "suggest": { + "doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.", + "symfony/yaml": "Allows the use of yaml for migration configuration files." + }, + "bin": [ + "bin/doctrine-migrations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Migrations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Michael Simonson", + "email": "contact@mikesimonson.com" } + ], + "description": "PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.", + "homepage": "https://www.doctrine-project.org/projects/migrations.html", + "keywords": [ + "database", + "dbal", + "migrations" + ], + "support": { + "issues": "https://github.com/doctrine/migrations/issues", + "source": "https://github.com/doctrine/migrations/tree/3.8.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fmigrations", + "type": "tidelift" + } + ], + "time": "2024-10-10T21:35:27+00:00" + }, + { + "name": "doctrine/orm", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/orm.git", + "reference": "69958152e661aa9c14e80d1ee4962863485aa60b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/orm/zipball/69958152e661aa9c14e80d1ee4962863485aa60b", + "reference": "69958152e661aa9c14e80d1ee4962863485aa60b", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2", + "doctrine/collections": "^2.2", + "doctrine/dbal": "^3.8.2 || ^4", + "doctrine/deprecations": "^0.5.3 || ^1", + "doctrine/event-manager": "^1.2 || ^2", + "doctrine/inflector": "^1.4 || ^2.0", + "doctrine/instantiator": "^1.3 || ^2", + "doctrine/lexer": "^3", + "doctrine/persistence": "^3.3.1", + "ext-ctype": "*", + "php": "^8.1", + "psr/cache": "^1 || ^2 || ^3", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^6.3.9 || ^7.0" }, + "require-dev": { + "doctrine/coding-standard": "^12.0", + "phpbench/phpbench": "^1.0", + "phpdocumentor/guides-cli": "^1.4", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "1.12.6", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.4.0", + "psr/log": "^1 || ^2 || ^3", + "squizlabs/php_codesniffer": "3.7.2", + "symfony/cache": "^5.4 || ^6.2 || ^7.0", + "vimeo/psalm": "5.24.0" + }, + "suggest": { + "ext-dom": "Provides support for XSD validation for XML mapping files", + "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0" + }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Doctrine\\ORM\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -701,51 +1043,166 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Object-Relational-Mapper for PHP", + "homepage": "https://www.doctrine-project.org/projects/orm.html", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "database", + "orm" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "issues": "https://github.com/doctrine/orm/issues", + "source": "https://github.com/doctrine/orm/tree/3.3.0" }, - "time": "2021-11-05T16:47:00+00:00" + "time": "2024-10-12T20:07:18+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "doctrine/persistence", + "version": "3.3.3", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/doctrine/persistence.git", + "reference": "b337726451f5d530df338fc7f68dee8781b49779" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/b337726451f5d530df338fc7f68dee8781b49779", + "reference": "b337726451f5d530df338fc7f68dee8781b49779", "shasum": "" }, "require": { - "php": ">=7.2.0" + "doctrine/event-manager": "^1 || ^2", + "php": "^7.2 || ^8.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0" + }, + "conflict": { + "doctrine/common": "<2.10" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "doctrine/common": "^3.0", + "phpstan/phpstan": "1.11.1", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6.0", + "vimeo/psalm": "4.30.0 || 5.24.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" + "autoload": { + "psr-4": { + "Doctrine\\Persistence\\": "src/Persistence" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://www.doctrine-project.org/projects/persistence.html", + "keywords": [ + "mapper", + "object", + "odm", + "orm", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/3.3.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence", + "type": "tidelift" } + ], + "time": "2024-06-20T10:14:30+00:00" + }, + { + "name": "doctrine/sql-formatter", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/sql-formatter.git", + "reference": "b784cbde727cf806721451dde40eff4fec3bbe86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/b784cbde727cf806721451dde40eff4fec3bbe86", + "reference": "b784cbde727cf806721451dde40eff4fec3bbe86", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "ergebnis/phpunit-slow-test-detector": "^2.14", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, + "bin": [ + "bin/sql-formatter" + ], + "type": "library", "autoload": { "psr-4": { - "Psr\\EventDispatcher\\": "src/" + "Doctrine\\SqlFormatter\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -754,34 +1211,35 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "https://jeremydorn.com/" } ], - "description": "Standard interfaces for event handling.", + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/doctrine/sql-formatter/", "keywords": [ - "events", - "psr", - "psr-14" + "highlight", + "sql" ], "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "issues": "https://github.com/doctrine/sql-formatter/issues", + "source": "https://github.com/doctrine/sql-formatter/tree/1.5.1" }, - "time": "2019-01-08T18:20:26+00:00" + "time": "2024-10-21T18:21:57+00:00" }, { - "name": "psr/log", + "name": "psr/cache", "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { @@ -790,12 +1248,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "src" + "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -808,29 +1266,181 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Common interface for caching libraries", "keywords": [ - "log", + "cache", "psr", - "psr-3" + "psr-6" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { - "name": "symfony/cache", - "version": "v6.3.12", + "name": "psr/container", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "d085eedf33550ce014230bc51fca8df726ed7ac5" + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/d085eedf33550ce014230bc51fca8df726ed7ac5", + "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": "symfony/cache", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "d085eedf33550ce014230bc51fca8df726ed7ac5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/d085eedf33550ce014230bc51fca8df726ed7ac5", "reference": "d085eedf33550ce014230bc51fca8df726ed7ac5", "shasum": "" }, @@ -883,22 +1493,749 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "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/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:42:18+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197", + "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/cache": "^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "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.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/config", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "66b548223ec2569cc9f997f0dfbe8c3cfed9417e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/66b548223ec2569cc9f997f0dfbe8c3cfed9417e", + "reference": "66b548223ec2569cc9f997f0dfbe8c3cfed9417e", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/filesystem": "^5.4|^6.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "require-dev": { + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", + "symfony/messenger": "^5.4|^6.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "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": "Helps you find, load, combine, autofill and validate configuration values of any kind", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:35:58+00:00" + }, + { + "name": "symfony/console", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "6f69929b2421cf733a5b791dde3c3a2cfa6340cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/6f69929b2421cf733a5b791dde3c3a2cfa6340cd", + "reference": "6f69929b2421cf733a5b791dde3c3a2cfa6340cd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.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/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T16:21:43+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "3ca6c70bef0644be86d5acd962f11a6a6aa9382d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3ca6c70bef0644be86d5acd962f11a6a6aa9382d", + "reference": "3ca6c70bef0644be86d5acd962f11a6a6aa9382d", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.2.10" + }, + "conflict": { + "ext-psr": "<1.1|>=2", + "symfony/config": "<6.1", + "symfony/finder": "<5.4", + "symfony/proxy-manager-bridge": "<6.3", + "symfony/yaml": "<5.4" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "symfony/service-implementation": "1.1|2.0|3.0" + }, + "require-dev": { + "symfony/config": "^6.1", + "symfony/expression-language": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "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": "Allows you to standardize and centralize the way objects are constructed in your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-30T08:17:33+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "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.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/doctrine-bridge", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/doctrine-bridge.git", + "reference": "395b7bfd32b0f7700877c50ab1452f283c99878a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/395b7bfd32b0f7700877c50ab1452f283c99878a", + "reference": "395b7bfd32b0f7700877c50ab1452f283c99878a", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "^1.2|^2", + "doctrine/persistence": "^2|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.13.1", + "doctrine/dbal": "<2.13.1", + "doctrine/lexer": "<1.1", + "doctrine/orm": "<2.12", + "symfony/cache": "<5.4", + "symfony/dependency-injection": "<6.2", + "symfony/form": "<5.4.21|>=6,<6.2.7", + "symfony/http-foundation": "<6.3", + "symfony/http-kernel": "<6.2", + "symfony/lock": "<6.3", + "symfony/messenger": "<5.4", + "symfony/property-info": "<5.4", + "symfony/security-bundle": "<5.4", + "symfony/security-core": "<6.0", + "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1" + }, + "require-dev": { + "doctrine/annotations": "^1.13.1|^2", + "doctrine/collections": "^1.0|^2.0", + "doctrine/data-fixtures": "^1.1", + "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/orm": "^2.12|^3", + "psr/log": "^1|^2|^3", + "symfony/cache": "^5.4|^6.0", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^6.2", + "symfony/doctrine-messenger": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/form": "^5.4.21|^6.2.7", + "symfony/http-kernel": "^6.3", + "symfony/lock": "^6.3", + "symfony/messenger": "^5.4|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4|^6.0", + "symfony/proxy-manager-bridge": "^5.4|^6.0", + "symfony/security-core": "^6.0", + "symfony/stopwatch": "^5.4|^6.0", + "symfony/translation": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", + "symfony/validator": "^5.4.25|~6.2.12|^6.3.1", + "symfony/var-dumper": "^5.4|^6.0" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "" + }, + "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 integration for Doctrine with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/doctrine-bridge/tree/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:42:18+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "d9eaf699978601af5a50c26cbc4326158d9bd8b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/d9eaf699978601af5a50c26cbc4326158d9bd8b0", + "reference": "d9eaf699978601af5a50c26cbc4326158d9bd8b0", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "conflict": { + "symfony/console": "<5.4", + "symfony/process": "<5.4" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Dotenv\\": "" + }, + "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": "Registers environment variables from a .env file", + "homepage": "https://symfony.com", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "source": "https://github.com/symfony/dotenv/tree/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:35:58+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "93a8400a7eaaaf385b2d6f71e30e064baa639629" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/93a8400a7eaaaf385b2d6f71e30e064baa639629", + "reference": "93a8400a7eaaaf385b2d6f71e30e064baa639629", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^5.4|^6.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "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 to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:35:58+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.3.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "6e344ddd3c18c525b5e5a4e996f3debda48e3078" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6e344ddd3c18c525b5e5a4e996f3debda48e3078", + "reference": "6e344ddd3c18c525b5e5a4e996f3debda48e3078", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.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": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.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 extended PSR-6, PSR-16 (and tags) implementations", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.3.12" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.12" }, "funding": [ { @@ -914,25 +2251,25 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:42:18+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { - "name": "symfony/cache-contracts", + "name": "symfony/event-dispatcher-contracts", "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/cache-contracts.git", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { "php": ">=8.1", - "psr/cache": "^3.0" + "psr/event-dispatcher": "^1" }, "type": "library", "extra": { @@ -946,7 +2283,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Cache\\": "" + "Symfony\\Contracts\\EventDispatcher\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -963,7 +2300,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to caching", + "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", "keywords": [ "abstractions", @@ -974,7 +2311,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -993,40 +2330,92 @@ "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/config", + "name": "symfony/filesystem", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "66b548223ec2569cc9f997f0dfbe8c3cfed9417e" + "url": "https://github.com/symfony/filesystem.git", + "reference": "9f4b59b7906ccb0692d7565f98012fd1679eedfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/66b548223ec2569cc9f997f0dfbe8c3cfed9417e", - "reference": "66b548223ec2569cc9f997f0dfbe8c3cfed9417e", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/9f4b59b7906ccb0692d7565f98012fd1679eedfc", + "reference": "9f4b59b7906ccb0692d7565f98012fd1679eedfc", "shasum": "" }, "require": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" }, - "conflict": { - "symfony/finder": "<5.4", - "symfony/service-contracts": "<2.5" + "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/v6.3.12" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:35:58+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.3.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", + "shasum": "" + }, + "require": { + "php": ">=8.1" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0" + "symfony/filesystem": "^6.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Config\\": "" + "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1046,10 +2435,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.3.12" + "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { @@ -1065,52 +2454,180 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2023-09-26T12:56:25+00:00" }, { - "name": "symfony/console", + "name": "symfony/flex", + "version": "v2.4.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/flex.git", + "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/flex/zipball/92f4fba342161ff36072bd3b8e0b3c6c23160402", + "reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.1", + "php": ">=8.0" + }, + "conflict": { + "composer/semver": "<1.7.2" + }, + "require-dev": { + "composer/composer": "^2.1", + "symfony/dotenv": "^5.4|^6.0", + "symfony/filesystem": "^5.4|^6.0", + "symfony/phpunit-bridge": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Symfony\\Flex\\Flex" + }, + "autoload": { + "psr-4": { + "Symfony\\Flex\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien.potencier@gmail.com" + } + ], + "description": "Composer plugin for Symfony", + "support": { + "issues": "https://github.com/symfony/flex/issues", + "source": "https://github.com/symfony/flex/tree/v2.4.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-07T08:51:54+00:00" + }, + { + "name": "symfony/framework-bundle", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "6f69929b2421cf733a5b791dde3c3a2cfa6340cd" + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "e144e3757296bed367ec3b764d8438891af75f78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6f69929b2421cf733a5b791dde3c3a2cfa6340cd", - "reference": "6f69929b2421cf733a5b791dde3c3a2cfa6340cd", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/e144e3757296bed367ec3b764d8438891af75f78", + "reference": "e144e3757296bed367ec3b764d8438891af75f78", "shasum": "" }, "require": { + "composer-runtime-api": ">=2.1", + "ext-xml": "*", "php": ">=8.1", + "symfony/cache": "^5.4|^6.0", + "symfony/config": "^6.1", + "symfony/dependency-injection": "^6.3.1", "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.1", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/filesystem": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", + "symfony/http-foundation": "^6.3", + "symfony/http-kernel": "^6.3", "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0" + "symfony/routing": "^5.4|^6.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "doctrine/annotations": "<1.13.1", + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/asset": "<5.4", + "symfony/clock": "<6.3", + "symfony/console": "<5.4|>=7.0", + "symfony/dom-crawler": "<6.3", "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<6.3", "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "symfony/mailer": "<5.4", + "symfony/messenger": "<6.3", + "symfony/mime": "<6.2", + "symfony/property-access": "<5.4", + "symfony/property-info": "<5.4", + "symfony/security-core": "<5.4", + "symfony/security-csrf": "<5.4", + "symfony/serializer": "<6.3", + "symfony/stopwatch": "<5.4", + "symfony/translation": "<6.2.8", + "symfony/twig-bridge": "<5.4", + "symfony/twig-bundle": "<5.4", + "symfony/validator": "<6.3", + "symfony/web-profiler-bundle": "<5.4", + "symfony/workflow": "<5.4" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", + "doctrine/annotations": "^1.13.1|^2", + "doctrine/persistence": "^1.3|^2|^3", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.4|^6.0", + "symfony/asset-mapper": "^6.3", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/clock": "^6.2", + "symfony/console": "^5.4.9|^6.0.9", + "symfony/css-selector": "^5.4|^6.0", + "symfony/dom-crawler": "^6.3", + "symfony/dotenv": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/form": "^5.4|^6.0", + "symfony/html-sanitizer": "^6.1", + "symfony/http-client": "^6.3", "symfony/lock": "^5.4|^6.0", + "symfony/mailer": "^5.4|^6.0", + "symfony/messenger": "^6.3", + "symfony/mime": "^6.2", + "symfony/notifier": "^5.4|^6.0", + "symfony/polyfill-intl-icu": "~1.0", "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/property-info": "^5.4|^6.0", + "symfony/rate-limiter": "^5.4|^6.0", + "symfony/scheduler": "^6.3", + "symfony/security-bundle": "^5.4|^6.0", + "symfony/semaphore": "^5.4|^6.0", + "symfony/serializer": "^6.3", + "symfony/stopwatch": "^5.4|^6.0", + "symfony/string": "^5.4|^6.0", + "symfony/translation": "^6.2.8", + "symfony/twig-bundle": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", + "symfony/validator": "^6.3", + "symfony/web-link": "^5.4|^6.0", + "symfony/workflow": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0", + "twig/twig": "^2.10|^3.0" }, - "type": "library", + "type": "symfony-bundle", "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" + "Symfony\\Bundle\\FrameworkBundle\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1130,16 +2647,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", + "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.12" + "source": "https://github.com/symfony/framework-bundle/tree/v6.3.12" }, "funding": [ { @@ -1158,46 +2669,54 @@ "time": "2024-01-23T16:21:43+00:00" }, { - "name": "symfony/dependency-injection", + "name": "symfony/http-client", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "3ca6c70bef0644be86d5acd962f11a6a6aa9382d" + "url": "https://github.com/symfony/http-client.git", + "reference": "510c51058dbef5db7d49c704954f32d6527d17f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3ca6c70bef0644be86d5acd962f11a6a6aa9382d", - "reference": "3ca6c70bef0644be86d5acd962f11a6a6aa9382d", + "url": "https://api.github.com/repos/symfony/http-client/zipball/510c51058dbef5db7d49c704954f32d6527d17f8", + "reference": "510c51058dbef5db7d49c704954f32d6527d17f8", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0", + "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.2.10" + "symfony/http-client-contracts": "^3", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "ext-psr": "<1.1|>=2", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.3" }, "provide": { - "psr/container-implementation": "1.1|2.0", - "symfony/service-implementation": "1.1|2.0|3.0" + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" }, "require-dev": { - "symfony/config": "^6.1", - "symfony/expression-language": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/stopwatch": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" + "Symfony\\Component\\HttpClient\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1209,18 +2728,21 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Allows you to standardize and centralize the way objects are constructed in your application", + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", + "keywords": [ + "http" + ], "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.3.12" + "source": "https://github.com/symfony/http-client/tree/v6.3.12" }, "funding": [ { @@ -1236,20 +2758,20 @@ "type": "tidelift" } ], - "time": "2024-01-30T08:17:33+00:00" + "time": "2024-01-29T14:46:07+00:00" }, { - "name": "symfony/deprecation-contracts", + "name": "symfony/http-client-contracts", "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "20414d96f391677bf80078aa55baece78b82647d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", + "reference": "20414d96f391677bf80078aa55baece78b82647d", "shasum": "" }, "require": { @@ -1266,8 +2788,11 @@ } }, "autoload": { - "files": [ - "function.php" + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1284,10 +2809,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "A generic function and convention to trigger deprecation notices", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" }, "funding": [ { @@ -1306,75 +2839,42 @@ "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/doctrine-bridge", + "name": "symfony/http-foundation", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "395b7bfd32b0f7700877c50ab1452f283c99878a" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "3b72add708d48e8c08f7152df2d0b8d5303408fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/395b7bfd32b0f7700877c50ab1452f283c99878a", - "reference": "395b7bfd32b0f7700877c50ab1452f283c99878a", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3b72add708d48e8c08f7152df2d0b8d5303408fa", + "reference": "3b72add708d48e8c08f7152df2d0b8d5303408fa", "shasum": "" }, "require": { - "doctrine/event-manager": "^1.2|^2", - "doctrine/persistence": "^2|^3", "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3" + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" }, "conflict": { - "doctrine/annotations": "<1.13.1", - "doctrine/dbal": "<2.13.1", - "doctrine/lexer": "<1.1", - "doctrine/orm": "<2.12", - "symfony/cache": "<5.4", - "symfony/dependency-injection": "<6.2", - "symfony/form": "<5.4.21|>=6,<6.2.7", - "symfony/http-foundation": "<6.3", - "symfony/http-kernel": "<6.2", - "symfony/lock": "<6.3", - "symfony/messenger": "<5.4", - "symfony/property-info": "<5.4", - "symfony/security-bundle": "<5.4", - "symfony/security-core": "<6.0", - "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1" + "symfony/cache": "<6.3" }, "require-dev": { - "doctrine/annotations": "^1.13.1|^2", - "doctrine/collections": "^1.0|^2.0", - "doctrine/data-fixtures": "^1.1", "doctrine/dbal": "^2.13.1|^3|^4", - "doctrine/orm": "^2.12|^3", - "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^6.2", - "symfony/doctrine-messenger": "^5.4|^6.0", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3", + "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", - "symfony/form": "^5.4.21|^6.2.7", - "symfony/http-kernel": "^6.3", - "symfony/lock": "^6.3", - "symfony/messenger": "^5.4|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/proxy-manager-bridge": "^5.4|^6.0", - "symfony/security-core": "^6.0", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", - "symfony/validator": "^5.4.25|~6.2.12|^6.3.1", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^5.4|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" }, - "type": "symfony-bridge", + "type": "library", "autoload": { "psr-4": { - "Symfony\\Bridge\\Doctrine\\": "" + "Symfony\\Component\\HttpFoundation\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1394,10 +2894,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides integration for Doctrine with various Symfony components", + "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v6.3.12" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.12" }, "funding": [ { @@ -1413,37 +2913,81 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:42:18+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { - "name": "symfony/dotenv", + "name": "symfony/http-kernel", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/dotenv.git", - "reference": "d9eaf699978601af5a50c26cbc4326158d9bd8b0" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "f7d160e46a6e0d3183e7a3846d4e3b4d04d5898b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/d9eaf699978601af5a50c26cbc4326158d9bd8b0", - "reference": "d9eaf699978601af5a50c26cbc4326158d9bd8b0", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f7d160e46a6e0d3183e7a3846d4e3b4d04d5898b", + "reference": "f7d160e46a6e0d3183e7a3846d4e3b4d04d5898b", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.3", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/http-foundation": "^6.3.4", + "symfony/polyfill-ctype": "^1.8" }, "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", "symfony/console": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.3.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<5.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/clock": "^6.2", + "symfony/config": "^6.1", "symfony/console": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0" + "symfony/css-selector": "^5.4|^6.0", + "symfony/dependency-injection": "^6.3.4", + "symfony/dom-crawler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0", + "symfony/property-access": "^5.4.5|^6.0.5", + "symfony/routing": "^5.4|^6.0", + "symfony/serializer": "^6.3", + "symfony/stopwatch": "^5.4|^6.0", + "symfony/translation": "^5.4|^6.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0", + "symfony/validator": "^6.3", + "symfony/var-exporter": "^6.2", + "twig/twig": "^2.13|^3.0.4" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Dotenv\\": "" + "Symfony\\Component\\HttpKernel\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1463,15 +3007,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Registers environment variables from a .env file", + "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", - "keywords": [ - "dotenv", - "env", - "environment" - ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v6.3.12" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.12" }, "funding": [ { @@ -1487,46 +3026,42 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2024-01-30T20:05:26+00:00" }, { - "name": "symfony/error-handler", - "version": "v6.3.12", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "93a8400a7eaaaf385b2d6f71e30e064baa639629" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/93a8400a7eaaaf385b2d6f71e30e064baa639629", - "reference": "93a8400a7eaaaf385b2d6f71e30e064baa639629", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0" - }, - "conflict": { - "symfony/deprecation-contracts": "<2.5" + "php": ">=7.2" }, - "require-dev": { - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" + "suggest": { + "ext-intl": "For best performance" }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1534,18 +3069,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to manage errors and ease debugging PHP code", + "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/error-handler/tree/v6.3.12" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -1561,51 +3104,44 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v6.3.12", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "6e344ddd3c18c525b5e5a4e996f3debda48e3078" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6e344ddd3c18c525b5e5a4e996f3debda48e3078", - "reference": "6e344ddd3c18c525b5e5a4e996f3debda48e3078", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" + "php": ">=7.2" }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0" + "suggest": { + "ext-intl": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1614,18 +3150,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.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", + "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/event-dispatcher/tree/v6.3.12" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -1641,39 +3185,44 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1690,18 +3239,17 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to dispatching event", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -1717,34 +3265,41 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/filesystem", - "version": "v6.3.12", + "name": "symfony/polyfill-php83", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "9f4b59b7906ccb0692d7565f98012fd1679eedfc" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/9f4b59b7906ccb0692d7565f98012fd1679eedfc", - "reference": "9f4b59b7906ccb0692d7565f98012fd1679eedfc", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Filesystem\\": "" + "Symfony\\Polyfill\\Php83\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1753,18 +3308,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides basic utilities for the filesystem", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.3.12" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" }, "funding": [ { @@ -1780,32 +3341,45 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/finder", - "version": "v6.3.5", + "name": "symfony/routing", + "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" + "url": "https://github.com/symfony/routing.git", + "reference": "c7a3dcdd44d14022bf0d9d27f14a7b238f7e3e85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", - "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", + "url": "https://api.github.com/repos/symfony/routing/zipball/c7a3dcdd44d14022bf0d9d27f14a7b238f7e3e85", + "reference": "c7a3dcdd44d14022bf0d9d27f14a7b238f7e3e85", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" }, "require-dev": { - "symfony/filesystem": "^6.0" + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1825,10 +3399,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Finds files and directories via an intuitive fluent interface", + "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.5" + "source": "https://github.com/symfony/routing/tree/v6.3.12" }, "funding": [ { @@ -1844,41 +3424,48 @@ "type": "tidelift" } ], - "time": "2023-09-26T12:56:25+00:00" + "time": "2024-01-30T13:17:59+00:00" }, { - "name": "symfony/flex", - "version": "v2.4.5", + "name": "symfony/runtime", + "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/flex.git", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e" + "url": "https://github.com/symfony/runtime.git", + "reference": "a8d2b8f6033a33c224b43065a10bab5e4f0be486" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e", + "url": "https://api.github.com/repos/symfony/runtime/zipball/a8d2b8f6033a33c224b43065a10bab5e4f0be486", + "reference": "a8d2b8f6033a33c224b43065a10bab5e4f0be486", "shasum": "" }, "require": { - "composer-plugin-api": "^2.1", - "php": ">=8.0" + "composer-plugin-api": "^1.0|^2.0", + "php": ">=8.1" + }, + "conflict": { + "symfony/dotenv": "<5.4" }, "require-dev": { - "composer/composer": "^2.1", + "composer/composer": "^1.0.2|^2.0", + "symfony/console": "^5.4.9|^6.0.9", "symfony/dotenv": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", - "symfony/phpunit-bridge": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0" + "symfony/http-foundation": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0" }, "type": "composer-plugin", "extra": { - "class": "Symfony\\Flex\\Flex" + "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin" }, "autoload": { "psr-4": { - "Symfony\\Flex\\": "src" - } + "Symfony\\Component\\Runtime\\": "", + "Symfony\\Runtime\\Symfony\\Component\\": "Internal/" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1886,14 +3473,21 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien.potencier@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Composer plugin for Symfony", + "description": "Enables decoupling PHP applications from global state", + "homepage": "https://symfony.com", + "keywords": [ + "runtime" + ], "support": { - "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.5" + "source": "https://github.com/symfony/runtime/tree/v6.3.12" }, "funding": [ { @@ -1909,115 +3503,46 @@ "type": "tidelift" } ], - "time": "2024-03-02T08:16:47+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { - "name": "symfony/framework-bundle", - "version": "v6.3.12", + "name": "symfony/service-contracts", + "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/framework-bundle.git", - "reference": "e144e3757296bed367ec3b764d8438891af75f78" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/e144e3757296bed367ec3b764d8438891af75f78", - "reference": "e144e3757296bed367ec3b764d8438891af75f78", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { - "composer-runtime-api": ">=2.1", - "ext-xml": "*", "php": ">=8.1", - "symfony/cache": "^5.4|^6.0", - "symfony/config": "^6.1", - "symfony/dependency-injection": "^6.3.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.1", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-foundation": "^6.3", - "symfony/http-kernel": "^6.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/routing": "^5.4|^6.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.13.1", - "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/asset": "<5.4", - "symfony/clock": "<6.3", - "symfony/console": "<5.4|>=7.0", - "symfony/dom-crawler": "<6.3", - "symfony/dotenv": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<6.3", - "symfony/lock": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<6.3", - "symfony/mime": "<6.2", - "symfony/property-access": "<5.4", - "symfony/property-info": "<5.4", - "symfony/security-core": "<5.4", - "symfony/security-csrf": "<5.4", - "symfony/serializer": "<6.3", - "symfony/stopwatch": "<5.4", - "symfony/translation": "<6.2.8", - "symfony/twig-bridge": "<5.4", - "symfony/twig-bundle": "<5.4", - "symfony/validator": "<6.3", - "symfony/web-profiler-bundle": "<5.4", - "symfony/workflow": "<5.4" + "ext-psr": "<1.1|>=2" }, - "require-dev": { - "doctrine/annotations": "^1.13.1|^2", - "doctrine/persistence": "^1.3|^2|^3", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.4|^6.0", - "symfony/asset-mapper": "^6.3", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/clock": "^6.2", - "symfony/console": "^5.4.9|^6.0.9", - "symfony/css-selector": "^5.4|^6.0", - "symfony/dom-crawler": "^6.3", - "symfony/dotenv": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/form": "^5.4|^6.0", - "symfony/html-sanitizer": "^6.1", - "symfony/http-client": "^6.3", - "symfony/lock": "^5.4|^6.0", - "symfony/mailer": "^5.4|^6.0", - "symfony/messenger": "^6.3", - "symfony/mime": "^6.2", - "symfony/notifier": "^5.4|^6.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/rate-limiter": "^5.4|^6.0", - "symfony/scheduler": "^6.3", - "symfony/security-bundle": "^5.4|^6.0", - "symfony/semaphore": "^5.4|^6.0", - "symfony/serializer": "^6.3", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/string": "^5.4|^6.0", - "symfony/translation": "^6.2.8", - "symfony/twig-bundle": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", - "symfony/validator": "^6.3", - "symfony/web-link": "^5.4|^6.0", - "symfony/workflow": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0", - "twig/twig": "^2.10|^3.0" + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } }, - "type": "symfony-bundle", "autoload": { "psr-4": { - "Symfony\\Bundle\\FrameworkBundle\\": "" + "Symfony\\Contracts\\Service\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2026,18 +3551,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v6.3.12" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -2053,57 +3586,30 @@ "type": "tidelift" } ], - "time": "2024-01-23T16:21:43+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/http-client", + "name": "symfony/stopwatch", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "510c51058dbef5db7d49c704954f32d6527d17f8" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/510c51058dbef5db7d49c704954f32d6527d17f8", - "reference": "510c51058dbef5db7d49c704954f32d6527d17f8", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/416596166641f1f728b0a64f5b9dd07cceb410c1", + "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1", "shasum": "" }, "require": { "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "^3", "symfony/service-contracts": "^2.5|^3" }, - "conflict": { - "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.3" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "3.0" - }, - "require-dev": { - "amphp/amp": "^2.5", - "amphp/http-client": "^4.2.1", - "amphp/http-tunnel": "^1.0", - "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "psr/http-client": "^1.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0" - }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpClient\\": "" + "Symfony\\Component\\Stopwatch\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -2115,21 +3621,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "description": "Provides a way to profile code", "homepage": "https://symfony.com", - "keywords": [ - "http" - ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.3.12" + "source": "https://github.com/symfony/stopwatch/tree/v6.3.12" }, "funding": [ { @@ -2145,41 +3648,49 @@ "type": "tidelift" } ], - "time": "2024-01-29T14:46:07+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { - "name": "symfony/http-client-contracts", - "version": "v3.5.0", + "name": "symfony/string", + "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "20414d96f391677bf80078aa55baece78b82647d" + "url": "https://github.com/symfony/string.git", + "reference": "bce75043af265dc8aca536a6ab1d6b3181763529" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", - "reference": "20414d96f391677bf80078aa55baece78b82647d", + "url": "https://api.github.com/repos/symfony/string/zipball/bce75043af265dc8aca536a6ab1d6b3181763529", + "reference": "bce75043af265dc8aca536a6ab1d6b3181763529", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" + "Symfony\\Component\\String\\": "" }, "exclude-from-classmap": [ - "/Test/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2196,18 +3707,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to HTTP clients", + "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": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/string/tree/v6.3.12" }, "funding": [ { @@ -2223,45 +3734,48 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { - "name": "symfony/http-foundation", + "name": "symfony/var-dumper", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "3b72add708d48e8c08f7152df2d0b8d5303408fa" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "5791cc448c78a1a7879812d8073cc6690286e488" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3b72add708d48e8c08f7152df2d0b8d5303408fa", - "reference": "3b72add708d48e8c08f7152df2d0b8d5303408fa", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5791cc448c78a1a7879812d8073cc6690286e488", + "reference": "5791cc448c78a1a7879812d8073cc6690286e488", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/cache": "<6.3" + "symfony/console": "<5.4" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^5.4|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", + "twig/twig": "^2.13|^3.0.4" }, + "bin": [ + "Resources/bin/var-dump-server" + ], "type": "library", "autoload": { + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "Symfony\\Component\\VarDumper\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -2273,18 +3787,22 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Defines an object-oriented layer for the HTTP specification", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.12" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.12" }, "funding": [ { @@ -2300,81 +3818,32 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2024-01-23T16:21:43+00:00" }, { - "name": "symfony/http-kernel", + "name": "symfony/var-exporter", "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "f7d160e46a6e0d3183e7a3846d4e3b4d04d5898b" + "url": "https://github.com/symfony/var-exporter.git", + "reference": "ea6fe0e7d188f4b34c28a00d3f9a58ee33801a4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f7d160e46a6e0d3183e7a3846d4e3b4d04d5898b", - "reference": "f7d160e46a6e0d3183e7a3846d4e3b4d04d5898b", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/ea6fe0e7d188f4b34c28a00d3f9a58ee33801a4b", + "reference": "ea6fe0e7d188f4b34c28a00d3f9a58ee33801a4b", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.3", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/http-foundation": "^6.3.4", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.3.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<5.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "php": ">=8.1" }, "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/clock": "^6.2", - "symfony/config": "^6.1", - "symfony/console": "^5.4|^6.0", - "symfony/css-selector": "^5.4|^6.0", - "symfony/dependency-injection": "^6.3.4", - "symfony/dom-crawler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0", - "symfony/property-access": "^5.4.5|^6.0.5", - "symfony/routing": "^5.4|^6.0", - "symfony/serializer": "^6.3", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0", - "symfony/validator": "^6.3", - "symfony/var-exporter": "^6.2", - "twig/twig": "^2.13|^3.0.4" + "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "Symfony\\Component\\VarExporter\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -2386,18 +3855,28 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a structured process for converting a Request into a Response", + "description": "Allows exporting any serializable PHP data structure to plain PHP code", "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" + ], "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.3.12" + "source": "https://github.com/symfony/var-exporter/tree/v6.3.12" }, "funding": [ { @@ -2413,42 +3892,44 @@ "type": "tidelift" } ], - "time": "2024-01-30T20:05:26+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "name": "symfony/yaml", + "version": "v6.3.12", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "url": "https://github.com/symfony/yaml.git", + "reference": "8ab9bb61e9b862c9b481af745ff163bc5e5e6246" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/yaml/zipball/8ab9bb61e9b862c9b481af745ff163bc5e5e6246", + "reference": "8ab9bb61e9b862c9b481af745ff163bc5e5e6246", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "symfony/console": "<5.4" }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "symfony/console": "^5.4|^6.0" }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2456,26 +3937,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", + "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/yaml/tree/v6.3.12" }, "funding": [ { @@ -2491,125 +3964,113 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" - }, + "time": "2024-01-23T14:35:58+00:00" + } + ], + "packages-dev": [ { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "name": "clue/ndjson-react", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "url": "https://github.com/clue/reactphp-ndjson.git", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=5.3", + "react/stream": "^1.2" }, - "suggest": { - "ext-intl": "For best performance" + "require-dev": { + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "react/event-loop": "^1.2" }, "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Clue\\React\\NDJson\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + { + "name": "Christian Lück", + "email": "christian@clue.engineering" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", + "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", + "homepage": "https://github.com/clue/reactphp-ndjson", "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" + "NDJSON", + "json", + "jsonlines", + "newline", + "reactphp", + "streaming" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "issues": "https://github.com/clue/reactphp-ndjson/issues", + "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://clue.engineering/support", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/clue", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2022-12-23T10:58:28+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "name": "composer/pcre", + "version": "3.3.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "url": "https://github.com/composer/pcre.git", + "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4", + "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4", "shasum": "" }, "require": { - "php": ">=7.1" + "php": "^7.4 || ^8.0" }, - "provide": { - "ext-mbstring": "*" + "conflict": { + "phpstan/phpstan": "<1.11.10" }, - "suggest": { - "ext-mbstring": "For best performance" + "require-dev": { + "phpstan/phpstan": "^1.11.10", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "branch-alias": { + "dev-main": "3.x-dev" + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2618,77 +4079,69 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "PCRE", + "preg", + "regex", + "regular expression" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://packagist.com", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-08-27T18:44:43+00:00" }, { - "name": "symfony/polyfill-php83", - "version": "v1.29.0", + "name": "composer/semver", + "version": "3.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Composer\\Semver\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2696,82 +4149,78 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "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": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "semantic", + "semver", + "validation", + "versioning" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://packagist.com", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { - "name": "symfony/routing", - "version": "v6.3.12", + "name": "composer/xdebug-handler", + "version": "3.0.5", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "c7a3dcdd44d14022bf0d9d27f14a7b238f7e3e85" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/c7a3dcdd44d14022bf0d9d27f14a7b238f7e3e85", - "reference": "c7a3dcdd44d14022bf0d9d27f14a7b238f7e3e85", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^6.2", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Composer\\XdebugHandler\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2779,81 +4228,61 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", + "description": "Restarts a process without Xdebug.", "keywords": [ - "router", - "routing", - "uri", - "url" + "Xdebug", + "performance" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.3.12" + "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://symfony.com/sponsor", + "url": "https://packagist.com", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/composer", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2024-01-30T13:17:59+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { - "name": "symfony/runtime", - "version": "v6.3.12", + "name": "evenement/evenement", + "version": "v3.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/runtime.git", - "reference": "a8d2b8f6033a33c224b43065a10bab5e4f0be486" + "url": "https://github.com/igorw/evenement.git", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/a8d2b8f6033a33c224b43065a10bab5e4f0be486", - "reference": "a8d2b8f6033a33c224b43065a10bab5e4f0be486", + "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": ">=8.1" - }, - "conflict": { - "symfony/dotenv": "<5.4" + "php": ">=7.0" }, "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "symfony/console": "^5.4.9|^6.0.9", - "symfony/dotenv": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin" + "phpunit/phpunit": "^9 || ^6" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Runtime\\": "", - "Symfony\\Runtime\\Symfony\\Component\\": "Internal/" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Evenement\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2861,77 +4290,54 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" } ], - "description": "Enables decoupling PHP applications from global state", - "homepage": "https://symfony.com", + "description": "Événement is a very simple event dispatching library for PHP", "keywords": [ - "runtime" + "event-dispatcher", + "event-emitter" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v6.3.12" + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/v3.0.2" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2023-08-08T05:53:35+00:00" }, { - "name": "symfony/service-contracts", - "version": "v3.5.0", + "name": "fidry/cpu-core-counter", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "8520451a140d3f46ac33042715115e290cf5785f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", + "reference": "8520451a140d3f46ac33042715115e290cf5785f", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" + "php": "^7.2 || ^8.0" }, - "conflict": { - "ext-psr": "<1.1|>=2" + "require-dev": { + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] + "Fidry\\CpuCoreCounter\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2939,84 +4345,95 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" } ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", + "description": "Tiny utility to get the number of CPU cores.", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "CPU", + "core" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/theofidry", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-08-06T10:04:20+00:00" }, { - "name": "symfony/string", - "version": "v6.3.12", + "name": "friendsofphp/php-cs-fixer", + "version": "v3.64.0", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "bce75043af265dc8aca536a6ab1d6b3181763529" + "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", + "reference": "58dd9c931c785a79739310aef5178928305ffa67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/bce75043af265dc8aca536a6ab1d6b3181763529", - "reference": "bce75043af265dc8aca536a6ab1d6b3181763529", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/58dd9c931c785a79739310aef5178928305ffa67", + "reference": "58dd9c931c785a79739310aef5178928305ffa67", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" + "clue/ndjson-react": "^1.0", + "composer/semver": "^3.4", + "composer/xdebug-handler": "^3.0.3", + "ext-filter": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "fidry/cpu-core-counter": "^1.0", + "php": "^7.4 || ^8.0", + "react/child-process": "^0.6.5", + "react/event-loop": "^1.0", + "react/promise": "^2.0 || ^3.0", + "react/socket": "^1.0", + "react/stream": "^1.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", + "symfony/finder": "^5.4 || ^6.0 || ^7.0", + "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0", + "symfony/polyfill-mbstring": "^1.28", + "symfony/polyfill-php80": "^1.28", + "symfony/polyfill-php81": "^1.28", + "symfony/process": "^5.4 || ^6.0 || ^7.0", + "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "facile-it/paraunit": "^1.3 || ^2.3", + "infection/infection": "^0.29.5", + "justinrainbow/json-schema": "^5.2", + "keradus/cli-executor": "^2.1", + "mikey179/vfsstream": "^1.6.11", + "php-coveralls/php-coveralls": "^2.7", + "php-cs-fixer/accessible-object": "^1.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5", + "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2", + "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, - "type": "library", + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\String\\": "" + "PhpCsFixer\\": "src/" }, "exclude-from-classmap": [ - "/Tests/" + "src/Fixer/Internal/*" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3025,87 +4442,59 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" } ], - "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", + "description": "A tool to automatically fix PHP code style", "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" + "Static code analysis", + "fixer", + "standards", + "static analysis" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.12" + "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.64.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/keradus", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2024-08-30T23:09:38+00:00" }, { - "name": "symfony/var-dumper", - "version": "v6.3.12", + "name": "react/cache", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "5791cc448c78a1a7879812d8073cc6690286e488" + "url": "https://github.com/reactphp/cache.git", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5791cc448c78a1a7879812d8073cc6690286e488", - "reference": "5791cc448c78a1a7879812d8073cc6690286e488", + "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/console": "<5.4" + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" }, "require-dev": { - "ext-iconv": "*", - "symfony/console": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", - "twig/twig": "^2.13|^3.0.4" + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "React\\Cache\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3113,67 +4502,75 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "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": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", + "description": "Async, Promise-based cache interface for ReactPHP", "keywords": [ - "debug", - "dump" + "cache", + "caching", + "promise", + "reactphp" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.12" + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-01-23T16:21:43+00:00" + "time": "2022-11-30T15:59:55+00:00" }, { - "name": "symfony/var-exporter", - "version": "v6.3.12", + "name": "react/child-process", + "version": "v0.6.5", "source": { "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "ea6fe0e7d188f4b34c28a00d3f9a58ee33801a4b" + "url": "https://github.com/reactphp/child-process.git", + "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/ea6fe0e7d188f4b34c28a00d3f9a58ee33801a4b", - "reference": "ea6fe0e7d188f4b34c28a00d3f9a58ee33801a4b", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", + "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", "shasum": "" }, "require": { - "php": ">=8.1" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/event-loop": "^1.2", + "react/stream": "^1.2" }, "require-dev": { - "symfony/var-dumper": "^5.4|^6.0" + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", + "react/socket": "^1.8", + "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "React\\ChildProcess\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3181,81 +4578,78 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "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": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", + "description": "Event-driven library for executing child processes with ReactPHP.", "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "lazy-loading", - "proxy", - "serialize" + "event-driven", + "process", + "reactphp" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.3.12" + "issues": "https://github.com/reactphp/child-process/issues", + "source": "https://github.com/reactphp/child-process/tree/v0.6.5" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/WyriHaximus", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://github.com/clue", + "type": "github" } ], - "time": "2024-01-23T14:35:58+00:00" + "time": "2022-09-16T13:41:56+00:00" }, { - "name": "symfony/yaml", - "version": "v6.3.12", + "name": "react/dns", + "version": "v1.13.0", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "8ab9bb61e9b862c9b481af745ff163bc5e5e6246" + "url": "https://github.com/reactphp/dns.git", + "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/8ab9bb61e9b862c9b481af745ff163bc5e5e6246", - "reference": "8ab9bb61e9b862c9b481af745ff163bc5e5e6246", + "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", + "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<5.4" + "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": { - "symfony/console": "^5.4|^6.0" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3 || ^2", + "react/promise-timer": "^1.11" }, - "bin": [ - "Resources/bin/yaml-lint" - ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "React\\Dns\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3263,68 +4657,72 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.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": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", + "description": "Async DNS resolver for ReactPHP", + "keywords": [ + "async", + "dns", + "dns-resolver", + "reactphp" + ], "support": { - "source": "https://github.com/symfony/yaml/tree/v6.3.12" + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.13.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-01-23T14:35:58+00:00" - } - ], - "packages-dev": [ + "time": "2024-06-13T14:18:03+00:00" + }, { - "name": "composer/pcre", - "version": "3.1.3", + "name": "react/event-loop", + "version": "v1.5.0", "source": { "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8" + "url": "https://github.com/reactphp/event-loop.git", + "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", - "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", + "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": ">=5.3.0" }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } + "suggest": { + "ext-pcntl": "For signal handling support when using the StreamSelectLoop" }, + "type": "library", "autoload": { "psr-4": { - "Composer\\Pcre\\": "src" + "React\\EventLoop\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3333,68 +4731,71 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "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": "PCRE wrapping library that offers type-safe preg_* replacements.", + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" + "asynchronous", + "event-loop" ], "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.3" + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.5.0" }, "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" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-03-19T10:26:25+00:00" + "time": "2023-11-13T13:48:05+00:00" }, { - "name": "composer/semver", - "version": "3.4.0", + "name": "react/promise", + "version": "v3.2.0", "source": { "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + "url": "https://github.com/reactphp/promise.git", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": ">=7.1.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "1.10.39 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { + "files": [ + "src/functions_include.php" + ], "psr-4": { - "Composer\\Semver\\": "src" + "React\\Promise\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3403,77 +4804,75 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" }, { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", + "description": "A lightweight implementation of CommonJS Promises/A for PHP", "keywords": [ - "semantic", - "semver", - "validation", - "versioning" + "promise", + "promises" ], "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.0" + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.2.0" }, "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" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2023-08-31T09:50:34+00:00" + "time": "2024-05-24T10:39:05+00:00" }, { - "name": "composer/xdebug-handler", - "version": "3.0.5", + "name": "react/socket", + "version": "v1.16.0", "source": { "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + "url": "https://github.com/reactphp/socket.git", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", "shasum": "" }, "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" + "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": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + "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": { - "Composer\\XdebugHandler\\": "src" + "React\\Socket\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3482,94 +4881,73 @@ ], "authors": [ { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" + "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": "Restarts a process without Xdebug.", + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", "keywords": [ - "Xdebug", - "performance" + "Connection", + "Socket", + "async", + "reactphp", + "stream" ], "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" + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.16.0" }, "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" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-05-06T16:37:16+00:00" + "time": "2024-07-26T10:38:09+00:00" }, { - "name": "friendsofphp/php-cs-fixer", - "version": "v3.55.0", + "name": "react/stream", + "version": "v1.4.0", "source": { "type": "git", - "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "c9eeacb559bfa0bcc7f778cfb7b42715c83d2c7e" + "url": "https://github.com/reactphp/stream.git", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/c9eeacb559bfa0bcc7f778cfb7b42715c83d2c7e", - "reference": "c9eeacb559bfa0bcc7f778cfb7b42715c83d2c7e", + "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", "shasum": "" }, "require": { - "composer/semver": "^3.4", - "composer/xdebug-handler": "^3.0.3", - "ext-filter": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0 || ^5.0 || ^6.0", - "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/finder": "^5.4 || ^6.0 || ^7.0", - "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0", - "symfony/polyfill-mbstring": "^1.28", - "symfony/polyfill-php80": "^1.28", - "symfony/polyfill-php81": "^1.28", - "symfony/process": "^5.4 || ^6.0 || ^7.0", - "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.2" }, "require-dev": { - "facile-it/paraunit": "^1.3 || ^2.0", - "infection/infection": "^0.27.11", - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^2.1", - "mikey179/vfsstream": "^1.6.11", - "php-coveralls/php-coveralls": "^2.7", - "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4", - "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2", - "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", + "type": "library", "autoload": { "psr-4": { - "PhpCsFixer\\": "src/" + "React\\Stream\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3578,45 +4956,61 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" + "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": "A tool to automatically fix PHP code style", + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", "keywords": [ - "Static code analysis", - "fixer", - "standards", - "static analysis" + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" ], "support": { - "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.55.0" + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.4.0" }, "funding": [ { - "url": "https://github.com/keradus", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2024-05-06T00:10:15+00:00" + "time": "2024-06-11T12:45:25+00:00" }, { "name": "sebastian/diff", - "version": "6.0.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ab83243ecc233de5655b76f577711de9f842e712" + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712", - "reference": "ab83243ecc233de5655b76f577711de9f842e712", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { @@ -3662,7 +5056,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -3670,7 +5064,7 @@ "type": "github" } ], - "time": "2024-03-02T07:30:33+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { "name": "symfony/options-resolver", @@ -3799,68 +5193,6 @@ } ], "time": "2024-01-23T14:35:58+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v6.3.12", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/416596166641f1f728b0a64f5b9dd07cceb410c1", - "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1", - "shasum": "" - }, - "require": { - "php": ">=8.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/v6.3.12" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-23T14:35:58+00:00" } ], "aliases": [], @@ -3869,7 +5201,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=8.2", + "php": ">=8.3", "ext-ctype": "*", "ext-iconv": "*" }, diff --git a/configurator/config/bundles.php b/configurator/config/bundles.php index dcac3c319..c1fa06a6a 100644 --- a/configurator/config/bundles.php +++ b/configurator/config/bundles.php @@ -3,4 +3,5 @@ return [ Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], + Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], ]; diff --git a/configurator/config/packages/doctrine.yaml b/configurator/config/packages/doctrine.yaml index e65a00105..9aacce6da 100644 --- a/configurator/config/packages/doctrine.yaml +++ b/configurator/config/packages/doctrine.yaml @@ -5,36 +5,50 @@ parameters: env(EXPOSE_DATABASE_URL): 'pgsql://%env(POSTGRES_USER)%:%env(POSTGRES_PASSWORD)%@%env(POSTGRES_HOST)%:%env(POSTGRES_PORT)%/%env(EXPOSE_DB_NAME)%' env(NOTIFY_DATABASE_URL): 'pgsql://%env(POSTGRES_USER)%:%env(POSTGRES_PASSWORD)%@%env(POSTGRES_HOST)%:%env(POSTGRES_PORT)%/%env(NOTIFY_DB_NAME)%' env(UPLOADER_DATABASE_URL): 'pgsql://%env(POSTGRES_USER)%:%env(POSTGRES_PASSWORD)%@%env(POSTGRES_HOST)%:%env(POSTGRES_PORT)%/%env(UPLOADER_DB_NAME)%' + env(CONFIGURATOR_DATABASE_URL): 'pgsql://%env(POSTGRES_USER)%:%env(POSTGRES_PASSWORD)%@%env(POSTGRES_HOST)%:%env(POSTGRES_PORT)%/%env(CONFIGURATOR_DB_NAME)%' + doctrine_commons: &doctrine_commons + driver: 'pdo_pgsql' + server_version: '11.2' + charset: utf8 doctrine: dbal: connections: + configurator: + <<: *doctrine_commons + url: '%env(resolve:CONFIGURATOR_DATABASE_URL)%' + auth: - driver: 'pdo_pgsql' - server_version: '11.2' - charset: utf8 + <<: *doctrine_commons url: '%env(resolve:AUTH_DATABASE_URL)%' databox: - driver: 'pdo_pgsql' - server_version: '11.2' - charset: utf8 + <<: *doctrine_commons url: '%env(resolve:DATABOX_DATABASE_URL)%' expose: - driver: 'pdo_pgsql' - server_version: '11.2' - charset: utf8 + <<: *doctrine_commons url: '%env(resolve:EXPOSE_DATABASE_URL)%' notify: - driver: 'pdo_pgsql' - server_version: '11.2' - charset: utf8 + <<: *doctrine_commons url: '%env(resolve:NOTIFY_DATABASE_URL)%' uploader: - driver: 'pdo_pgsql' - server_version: '11.2' - charset: utf8 + <<: *doctrine_commons url: '%env(resolve:UPLOADER_DATABASE_URL)%' + + orm: + auto_generate_proxy_classes: true + enable_lazy_ghost_objects: true + report_fields_where_declared: true + validate_xml_mapping: true + naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware + auto_mapping: true + mappings: + App: + is_bundle: false + type: attribute + dir: '%kernel.project_dir%/src/Entity' + prefix: 'App\Entity' + alias: App diff --git a/configurator/config/packages/doctrine_migrations.yaml b/configurator/config/packages/doctrine_migrations.yaml new file mode 100644 index 000000000..1a008d576 --- /dev/null +++ b/configurator/config/packages/doctrine_migrations.yaml @@ -0,0 +1,7 @@ +doctrine_migrations: + migrations_paths: + 'DoctrineMigrations': '%kernel.project_dir%/migrations' + storage: + table_storage: + table_name: 'doctrine_migration_versions' + connection: configurator diff --git a/configurator/docker/app/conf.d/newrelic.ini b/configurator/docker/app/conf.d/newrelic.ini new file mode 100644 index 000000000..2fea7c2b4 --- /dev/null +++ b/configurator/docker/app/conf.d/newrelic.ini @@ -0,0 +1,1124 @@ +; +; Copyright 2020 New Relic Corporation. All rights reserved. +; SPDX-License-Identifier: Apache-2.0 +; + +; This file contains the various settings for the New Relic PHP agent. There +; are many options, all of which are described in detail at the following URL: +; https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration +; + +; If you use a full path to the extension you insulate yourself from the +; extension directory changing if you change PHP installations or versions. +; If you do not use an absolute path then the file must be installed in the +; active configuration's extension directory. +extension = "newrelic.so" + +[newrelic] +; Setting: newrelic.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enable or disable the agent. Please note that you cannot globally +; disable the agent and then selectively enable it on a per-directory +; basis. If you disable the agent in the global INI file then the +; agent will not initialize at all. However, you can selectively +; disable the agent on a per-directory basis. +; +;newrelic.enabled = true + +; Setting: newrelic.license +; Type : string +; Scope : per-directory +; Default: none +; Info : Sets the New Relic license key to use. This can vary from directory +; to directory if you are running a multi-tenant system. By special +; dispensation if you upgraded from a previous version of the agent +; where the license key was set in the daemon, the installation and +; upgrade script will have preserved your license key from the file +; /etc/newrelic/newrelic.cfg, but ONLY if you installed via rpm/yum +; or dpkg. The key is saved in /etc/newrelic/upgrade_please.key +; and the agent will look for that file if you do not specify a valid +; license here. +; It is *STRONGLY* recommended that you set the license key in your +; INI file(s) and do not rely on the key file being present. Also +; please note that even if you are not letting the agent start the +; daemon and are still using newrelic.cfg (see below) the license +; keyword in that file is no longer obeyed. Instead the agent will +; use the preserved value of that license from the key file. +; Once you have updated your INI files to contain the license we +; urge you to remove /etc/newrelic/upgrade_please.key in order to +; eliminate the potential for confusion about exactly where the key +; is coming from. +; +newrelic.license = "${NEWRELIC_LICENSE_KEY}" + +; Setting: newrelic.logfile +; Type : string +; Scope : system +; Default: none +; Info : Sets the name of the file to send log messages to. +; +newrelic.logfile = "/var/log/newrelic/php_agent.log" + +; Setting: newrelic.loglevel +; Type : string +; Scope : system +; Default: "info" +; Info : Sets the level of detail to include in the log file. You should +; rarely need to change this from the default, and usually only under +; the guidance of technical support. +; Must be one of the following values: +; always, error, warning, info, verbose, debug, verbosedebug +; +;newrelic.loglevel = "info" + +; Setting: newrelic.high_security +; Type : boolean +; Scope : system +; Default: false +; Info : Enables high security for all applications. When high security is +; enabled, the following behavior will take effect: +; * Raw SQL strings will never be gathered, regardless of the value of +; newrelic.transaction_tracer.record_sql. +; * Request parameters will never be captured, regardless of the +; newrelic.attributes configuration settings. +; * The following API functions will have no effect, and will return +; false: +; newrelic_add_custom_parameter +; newrelic_set_user_attributes +; newrelic_record_custom_event +; +; IMPORTANT: If you change this setting, you must also change the RPM +; UI security setting. If the two settings do not match, then no data +; will be collected. +; +; IMPORTANT: This setting is not compatible with +; newrelic.security_policies_token. Only one may be set. If both are +; set an error will be thrown and the agent will not connect. +; +;newrelic.high_security = false + +; Setting: newrelic.appname +; Type : string +; Scope : per-directory +; Default: "PHP Application" +; Info : Sets the name of the application that metrics will be reported into. +; This can in fact be a list of up to 3 application names, each of +; which must be separated by a semi-colon. The first name in any such +; list is considered the 'primary' application name and must be unique +; for each account / license key. +; +newrelic.appname = "${NEWRELIC_APP_NAME}" + +; Setting: newrelic.process_host.display_name +; Type : string +; Scope : system +; Default: none +; Info : Sets a custom display name for your application server in the New +; Relic UI. Servers are normally identified by host and port number. +; This setting allows you to give your hosts more recognizable names. +; +;newrelic.process_host.display_name = "" + +; +; Beginning with version 3.0 of the agent, the daemon can be automatically +; started by the agent. There is no need to start the daemon before starting +; Apache or PHP-FPM. All of the newrelic.daemon.* settings are options that +; control the behavior of the daemon. These settings are converted into the +; appropriate command line options when the agent starts the daemon. This is +; now the preferred method of starting the daemon. There are still usage cases +; (such as using a single daemon for serving multiple Apache instances) where +; you may want to start the daemon via it's init script, but for most users, +; this is the best place to configure and start the daemon. +; +; The agent will only launch the daemon if one isn't already running. Also +; note that the agent will NOT stop the daemon once it has started. If you +; want control over exactly when the daemon starts and stops you can still +; achieve that by creating a daemon configuration file (located by default at +; /etc/newrelic/newrelic.cfg) and running the chkconfig or equivalent command. +; Please see the newrelic.cfg template file for details. That template file +; is located at /usr/lib/newrelic-php5/scripts/newrelic.cfg.template. +; +; Also please note that the options here and in newrelic.cfg are identical, +; except that in this file they are preceded with "newrelic.daemon.". +; + +; Setting: newrelic.daemon.logfile +; Type : string +; Scope : system +; Default: none +; Info : Sets the name of the file to send daemon log messages to. +; +newrelic.daemon.logfile = "/var/log/newrelic/newrelic-daemon.log" + +; Setting: newrelic.daemon.loglevel +; Type : string +; Scope : system +; Default: "info" +; Info : Sets the level of detail to include in the daemon log. You should +; rarely need to change this from the default, and usually only under +; the guidance of technical support. +; Must be one of the following values: +; always, error, warning, info, debug +; +; The values verbose and verbosedebug are deprecated aliases for debug. +; +;newrelic.daemon.loglevel = "info" + +; Setting: newrelic.daemon.address (alias: newrelic.daemon.port) +; Type : string or integer +; Scope : system +; Default: "@newrelic" on Linux, "/tmp/.newrelic.sock" otherwise +; Info : Sets how the agent and daemon communicate. How this is set can impact +; performance. +; +; On Linux, the default is to use the abstract socket "@newrelic". An +; abstract socket can be created by prefixing the socket name with '@'. +; +; On MacOS and FreeBSD, the default is to use a UNIX-domain socket +; located at "/tmp/.newrelic.sock". If you want to use UNIX domain +; sockets then this value must begin with a '/'. +; +; If you set this to an integer value in the range 1-65535, then this +; will instruct the agent to use a normal TCP socket on the port +; specified. This may be easier to use if you are using a chroot +; environment. +; +; To connect to a daemon that is running on a different host, set this +; value to ':', where '' denotes either a host name +; or an IP address and '' denotes a valid port number. IPv6 is +; supported. +; +; In order to use a TCP socket with a port in the range 1-1023, +; the daemon must be started by the super-user. This is a fundamental +; OS limitation and not one imposed by the daemon itself. +; +;newrelic.daemon.address = "/tmp/.newrelic.sock" + +; Setting: newrelic.daemon.ssl_ca_bundle +; Type : string +; Scope : system +; Default: none +; Info : Sets the location of a file containing CA certificates in PEM +; format. When set, the certificates in this file will be used to +; authenticate the New Relic collector servers. If +; newrelic.daemon.ssl_ca_path is also set (see below), the +; certificates in this file will be searched first, followed by the +; certificates contained in the newrelic.daemon.ssl_ca_path +; directory. +; +;newrelic.daemon.ssl_ca_bundle = "" + +; Setting: newrelic.daemon.ssl_ca_path +; Type : string +; Scope : system +; Default: none +; Info : Sets the location of a directory containing trusted CA certificates +; in PEM format. When set, the certificates in this directory will be +; used to authenticate the New Relic collector servers. If +; newrelic.daemon.ssl_ca_bundle is also set (see above), it will be +; searched first followed by the certificates contained in +; newrelic.daemon.ssl_ca_path. +; +;newrelic.daemon.ssl_ca_path = "" + +; Setting: newrelic.daemon.proxy +; Type : string +; Scope : system +; Default: none +; Info : Sets the host and user credentials to use as an egress proxy. This +; is only used if your site requires a proxy in order to access +; external servers on the internet, in this case the New Relic data +; collection servers. This is expressed in one of the following forms: +; hostname +; hostname:port +; user@hostname +; user@hostname:port +; user:password@hostname +; user:password@hostname:port +; +;newrelic.daemon.proxy = "" + +; Setting: newrelic.daemon.pidfile +; Type : string +; Scope : system +; Default: OS dependent +; Info : Sets the name of the file to store the running daemon's process ID +; (PID) in. This file is used by the daemon startup and shutdown +; script to determine whether or not the daemon is already running. +; +;newrelic.daemon.pidfile = "" + +; Setting: newrelic.daemon.location +; Type : string +; Scope : system +; Default: /usr/bin/newrelic-daemon +; Info : Sets the name of the daemon executable to launch. +; Please note that on OpenSolaris where /usr is frequently a read-only +; file system, the default daemon location is +; /opt/newrelic/bin/newrelic-daemon. +; +;newrelic.daemon.location = "/usr/bin/newrelic-daemon" + +; Setting: newrelic.daemon.collector_host +; Type : string +; Scope : system +; Default: none +; Info : Sets the host name of the New Relic data collector host to use. +; Please note that this is NOT any form of local host. It refers to +; the New Relic provided host. There is very little reason to ever +; change this from the default except in certain very special +; circumstances, and then only on instruction from a New Relic sales +; person or support staff member. +; +;newrelic.daemon.collector_host = "" + +; Setting: newrelic.daemon.dont_launch +; Type : integer (0, 1, 2 or 3) +; Scope : system +; Default: 0 +; Info : If you prefer to have the daemon launched externally before the +; agent starts up, set this variable to non-zero. The value you +; choose determines exactly when the agent is allowed to start the +; daemon: +; 0 - agent can start the daemon any time it needs to +; 1 - non-CLI (i.e Apache / php-fpm) agents can start the daemon +; 2 - only CLI agents can start the daemon +; 3 - the agent will never start the daemon +; +;newrelic.daemon.dont_launch = 0 + +; Setting: newrelic.daemon.utilization.detect_aws +; Type : boolean +; Scope : system +; Default: true +; Info : Enable detection of whether the system is running on AWS. This will +; create a small amount of network traffic on daemon startup. +; +;newrelic.daemon.utilization.detect_aws = true + +; Setting: newrelic.daemon.utilization.detect_azure +; Type : boolean +; Scope : system +; Default: true +; Info : Enable detection of whether the system is running on Azure. This will +; create a small amount of network traffic on daemon startup. +; +;newrelic.daemon.utilization.detect_azure = true + +; Setting: newrelic.daemon.utilization.detect_gcp +; Type : boolean +; Scope : system +; Default: true +; Info : Enable detection of whether the system is running on Google Cloud +; Platform. This will create a small amount of network traffic on +; daemon startup. +; +;newrelic.daemon.utilization.detect_gcp = true + +; Setting: newrelic.daemon.utilization.detect_pcf +; Type : boolean +; Scope : system +; Default: true +; Info : Enable detection of whether the system is running on Pivotal Cloud +; Foundry. +; +;newrelic.daemon.utilization.detect_pcf = true + +; Setting: newrelic.daemon.utilization.detect_docker +; Type : boolean +; Scope : system +; Default: true +; Info : Enable detection of a system running on Docker. This will be used +; to support future features. +; +;newrelic.daemon.utilization.detect_docker = true + +; Setting: newrelic.daemon.app_timeout +; Type : time specification string ("5m", "1h20m", etc) +; Scope : system +; Default: 10m +; Info : Sets the elapsed time after which an application will be considered +; inactive. Inactive applications do not count against the maximum +; limit of 250 applications. Allowed units are "ns", "us", "ms", "s", +; "m", and "h". +; +; A value of 0 is interpreted as "no timeout". New applications with +; this setting count toward the 250 application limit. In addition, with +; a 0-value setting, the agent's daemon process cannot release a small +; amount of memory per application back to the operating system. +; +; We do not recommend using a 0-value setting except under the guidance +; of technical support; instead, for occasional background transactions, +; we suggest using a value of twice the interval (so, for an hourly +; background job, set the timeout to 2 hours). + +;newrelic.daemon.app_timeout = 10m + +; Setting: newrelic.daemon.app_connect_timeout +; Type : time specification string ("1s", "5m", etc) +; Scope : system +; Default: 0 +; Info : Sets the maximum time the agent should wait for the daemon +; connecting an application. A value of 0 causes the agent to only +; make one attempt at connecting to the daemon. Allowed units are +; "ns", "us", "ms", "s", "m", and "h". +; +; With this timeout set, the agent will not immediately drop a +; transaction when the daemon hasn't connected to the backend yet, but +; rather grant the daemon time to establish the connection. +; +; If setting a timeout, the recommended value is 10s. It is +; recommended to only set this timeout when instrumenting long-lived +; background tasks, as in case of connection problems the agent will +; block for the given timeout at every transaction start. +; +newrelic.daemon.app_connect_timeout=15s + +; Setting: newrelic.daemon.start_timeout +; Type : time specification string ("1s", "5m", etc) +; Scope : system +; Default: 0 +; Info : Sets the maximum time the agent should wait for the daemon +; to start after a daemon launch was triggered. A value of 0 causes +; the agent to not wait. Allowed units are "ns", "us", "ms", "s", "m" +; and "h". +; +; The specified timeout value will be passed to the daemon via the +; --wait-for-port flag. This causes daemon startup to block until a +; socket is acquired or until the timeout has elapsed. +; +; If setting a timeout, the recommended value is 2s to 5s. It is +; recommended to only set this timeout when instrumenting long-lived +; background tasks, as in case of daemon start problems the agent will +; block for the given timeout at every transaction start. +; +newrelic.daemon.start_timeout=5s + +; Setting: newrelic.error_collector.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enable the New Relic error collector. This will record the 20 most +; severe errors per harvest cycle. It is rare to want to disable this. +; Please also note that your New Relic subscription level may force +; this to be disabled regardless of any value you set for it. +; +;newrelic.error_collector.enabled = true + +; Setting: newrelic.error_collector.ignore_user_exception_handler +; Type : boolean +; Scope : per-directory +; Default: false +; Info : If enabled, the New Relic error collector will ignore any exceptions +; that are handled by an exception handler installed with +; set_exception_handler(). +; +; If an exception handler has not been installed, this setting will +; have no effect, as PHP will turn the uncaught exception into a fatal +; error and it will be handled accordingly by the New Relic error +; collector. +; +;newrelic.error_collector.ignore_user_exception_handler = false + +; Setting: newrelic.error_collector.ignore_exceptions +; Type: string +; Scope: per-directory +; Default: none +; Info: A comma separated list of exception classes that the agent should +; ignore. When an unhandled exception occurs, the agent will perform +; the equivalent of `$exception instanceof Class` for each of the +; classes listed. If any of those checks returns true, the agent +; will not record an error. +; +; Please note that this setting only applies to uncaught exceptions. +; Exceptions recorded using the newrelic_notice_error API are not +; subject to filtering. +; +;newrelic.error_collector.ignore_exceptions = "" + +; Setting: newrelic.error_collector.ignore_errors +; Type: int or a bitwise expression of PHP-defined error constants +; Scope: per-directory +; Default: none +; Info: Sets the error levels that the agent should ignore. +; +; The value for this setting uses similar syntax to the error syntax +; for the PHP error reporting. For example, to configure the PHP Agent +; to ignore E_WARNING and E_ERROR level errors, use: +; +; newrelic.error_collector.ignore_errors = E_WARNING | E_ERROR +; +; or +; +; newrelic.error_collector.ignore_errors = 3 +; +; The list of constants are available at: +; http://php.net/manual/en/errorfunc.constants.php +; +; Please note that this setting does not apply to errors recorded +; using the newrelic_notice_error API. +; +;newrelic.error_collector.ignore_errors = 0 + +; Setting: newrelic.error_collector.record_database_errors +; Type : boolean +; Scope : per-directory +; Default: false +; Info : Currently only supported for MySQL database functions. If enabled, +; this will cause errors returned by various MySQL functions to be +; treated as if they were PHP errors, and thus subject to error +; collection. This is only obeyed if the error collector is enabled +; above and the account subscription level permits error trapping. +; +;newrelic.error_collector.record_database_errors = false + +; Setting: newrelic.error_collector.prioritize_api_errors +; Type : boolean +; Scope : per-directory +; Default: false +; Info : If the error collector is enabled and you use the New Relic API to +; notice an error, if this is set to true then assign the highest +; priority to such errors. +; +;newrelic.error_collector.prioritize_api_errors = false + +; Setting: newrelic.browser_monitoring.auto_instrument +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables automatic real user monitoring ("auto-RUM"). +; When enabled will cause the agent to insert a header and a footer +; in HTML output that will time the actual end-user experience. +; +;newrelic.browser_monitoring.auto_instrument = true + +; Setting: newrelic.transaction_tracer.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables the transaction tracer. When enabled this will +; produce a detailed call graph for any transaction that exceeds a +; certain threshold (see next entry). Only one transaction trace per +; application per harvest cycle is stored and it is always the slowest +; transaction during that cycle. Transaction traces are extremely +; useful when diagnosing problem spots in your application. Please +; note that TT's may be disabled by your account subscription level +; regardless of what you set here. +; +;newrelic.transaction_tracer.enabled = true + +; Setting: newrelic.transaction_tracer.threshold +; Type : string with a time specification or the word "apdex_f" +; Scope : per-directory +; Default: "apdex_f" +; Info : Specifies the threshold above which a transaction becomes a +; candidate for the transaction tracer. This can either be an absolute +; time value like "200ms" or "1s250ms" or "1h30m" or "750us" or the +; word "apdex_f". This last value, "apdex_f", means "4 times apdex_t". +; Thus the threshold changes according to your apdex_t setting. This +; is the default. +; +;newrelic.transaction_tracer.threshold = "apdex_f" + +; Setting: newrelic.transaction_tracer.detail +; Type : integer in the range 0-1 +; Scope : per-directory +; Default: 1 +; Info : Sets the level of detail in a transaction trace. Setting this to 0 +; will only show the relatively few PHP functions that New Relic has +; deemed to be "interesting", as well as any custom functions you set +; (see below). A setting of 1 will trace and time all user functions. +; +; In earlier releases of the agent this was known as "top100". +; +;newrelic.transaction_tracer.detail = 1 + +; Setting: newrelic.transaction_tracer.slow_sql +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables the "slow SQL" tracer. When enabled, this will +; record the top 10 slowest SQL calls along with a stack trace of +; where the call occurred in your code. +; +;newrelic.transaction_tracer.slow_sql = true + +; Setting: newrelic.transaction_tracer.stack_trace_threshold +; Type : time specification string ("500ms", "1s750ms" etc) +; Scope : per-directory +; Default: 500ms +; Info : Sets the threshold above which the New Relic agent will record a +; stack trace for a transaction trace. +; +;newrelic.transaction_tracer.stack_trace_threshold = 500 + +; Setting: newrelic.transaction_tracer.explain_enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables requesting "explain plans" from MySQL databases +; accessed via MySQLi or PDO_MySQL for slow SQL calls. The threshold +; for requesting explain plans is defined below. +; +;newrelic.transaction_tracer.explain_enabled = true + +; Setting: newrelic.transaction_tracer.explain_threshold +; Type : time specification string ("750ms", "1s 500ms" etc) +; Scope : per-directory +; Default: 500ms +; Info : Used by the slow SQL tracer to set the threshold above which an SQL +; statement is considered "slow", and to set the threshold above which +; the transaction tracer will request an "explain plan" from the data- +; base for slow SQL. This latter feature may not be active yet, please +; refer to the agent release notes to see when it becomes available. +; Only relevant if explain_enabled above is set to true. +; +;newrelic.transaction_tracer.explain_threshold = 500 + +; Setting: newrelic.transaction_tracer.record_sql +; Type : "off", "raw" or "obfuscated" +; Scope : per-directory +; Default: "obfuscated" +; Info : Sets how SQL statements are recorded (if at all). If this is set to +; "raw" then no attempt is made at obfuscating SQL statements. +; USING "raw" IS HIGHLY DISCOURAGED IN PRODUCTION ENVIRONMENTS! +; Setting this to "raw" has considerable security implications as it +; can expose sensitive and private customer data. +; +;newrelic.transaction_tracer.record_sql = "obfuscated" + +; Setting: newrelic.transaction_tracer.custom +; Type : string +; Scope : per-directory +; Default: none +; Info : Sets the name(s) of additional functions you want to instrument and +; appear in transaction traces. This is only meaningful if you have +; set newrelic.transaction_tracer.detail to 0. This can be a comma- +; separated list of function or class method names. +; +;newrelic.transaction_tracer.custom = "" + +; Setting: newrelic.transaction_tracer.internal_functions_enabled +; Type : boolean +; Scope : system +; Default: false +; Info : Enables or disables support for tracing internal functions (that is, +; functions written in C and provided either via the PHP standard +; library or PECL extensions). When enabled, internal functions will +; appear in transaction traces like functions written in PHP. +; +; Note that enabling this option may result in transactions being up to +; 5% slower. Enabling this option is only recommended when specifically +; debugging performance issues where an internal function is suspected +; to be slow. +; +;newrelic.transaction_tracer.internal_functions_enabled = false + +; Setting: newrelic.framework +; Type : string +; Scope : per-directory +; Default: empty (auto-detect framework) +; Info : Disables automatic framework detection, telling the agent to +; attempt to name transactions according to the specified framework. +; Specifying "no_framework" will disable framework-related transaction +; naming entirely. Please let us know at support.newrelic.com if you +; encounter a failure with framework autodetection. +; +; Must be one of the following values: +; cakephp, codeigniter, drupal, drupal8, joomla, kohana, laravel, +; magento, magento2, mediawiki, silex, slim, symfony1, symfony2, +; wordpress, yii, zend, zend2, no_framework +; +; Note that "drupal" covers only Drupal 6 and 7. +; +;newrelic.framework = "" + +; Setting: newrelic.webtransaction.name.remove_trailing_path +; Type : boolean +; Scope : per-directory +; Default: false +; Info : Used to aid naming transactions correctly when an unsupported +; framework is being used. This option will cause anything after the +; script name to be stripped from a URL. For example, setting this +; would cause the "/xyz/zy" to be stripped from a URL such as +; "/path/to/foo.php/xyz/zy". +; +;newrelic.webtransaction.name.remove_trailing_path = false + +; Setting: newrelic.webtransaction.name.functions +; Type : string +; Scope : per-directory +; Default: none +; Info : Unless a specific framework such as Drupal or Wordpress has been +; detected, transactions are named according to the first script +; encountered, such as login.php. However, if you use a dispatcher +; file such as index.php this produces less useful data. If you use +; a dispatcher to redirect to actions such as "login", "show", "edit" +; etc, you can set this to the top level functions for those actions, +; and the function names specified here will be used to name the +; transaction. +; +;newrelic.webtransaction.name.functions = "" + +; Setting: newrelic.webtransaction.name.files +; Type : string +; Scope : per-directory +; Default: none +; Info : Same as newrelic.webtransaction.name.functions above but using file +; names instead of function names. Accepts standard POSIX regular +; expressions. +; +;newrelic.webtransaction.name.files = "" + +; Setting: newrelic.daemon.auditlog +; Type : string +; Scope : system +; Default: none +; Info : Sets the name of a file to record all uncompressed, un-encoded +; content that is sent from your machine to the New Relic servers. +; This includes the full URL for each command along with the payload +; delivered with the command. This allows you to satisfy yourself +; that the agent is not sending any sensitive data to our servers. +; This file must be a different file the the newrelic.daemon.logfile +; setting above. If you set it to the same name, +; then audit logging will be silently ignored. +; +;newrelic.daemon.auditlog = "/var/log/newrelic/audit.log" + +; Setting: newrelic.transaction_events.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Collect and report transaction analytics event data. Event data +; allows the New Relic UI to show additional information such as +; histograms. This setting was formerly called +; newrelic.analytics_events.enabled. +; +;newrelic.transaction_events.enabled = true + +; Setting: newrelic.attributes.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enable or disable the collection of attributes generated by the +; agent or generated by the user though newrelic_add_custom_parameter. +; This setting will take precedence over all other attribute +; configuration settings. For more information, please refer to: +; https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-metrics/agent-attributes +; +;newrelic.attributes.enabled = true + +; Setting: newrelic.transaction_events.attributes.enabled +; newrelic.transaction_tracer.attributes.enabled +; newrelic.error_collector.attributes.enabled +; newrelic.browser_monitoring.attributes.enabled +; newrelic.span_events.attributes.enabled +; Type : boolean +; Scope : per-directory +; Default: true, except for browser_monitoring.attributes.enabled +; Info : Control which destinations receive attributes. +; These configuration settings will override the .include and .exclude +; settings below. For more information, please refer to: +; https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-metrics/agent-attributes +; +; These settings were formerly called: +; newrelic.transaction_tracer.capture_attributes +; newrelic.error_collector.capture_attributes +; newrelic.analytics_events.capture_attributes +; newrelic.browser_monitoring.capture_attributes +; +;newrelic.transaction_events.attributes.enabled = true +;newrelic.transaction_tracer.attributes.enabled = true +;newrelic.error_collector.attributes.enabled = true +;newrelic.browser_monitoring.attributes.enabled = false +;newrelic.span_events.attributes.enabled = true + +; Setting: newrelic.attributes.include +; newrelic.attributes.exclude +; +; newrelic.transaction_events.attributes.include +; newrelic.transaction_events.attributes.exclude +; +; newrelic.transaction_tracer.attributes.include +; newrelic.transaction_tracer.attributes.exclude +; +; newrelic.error_collector.attributes.include +; newrelic.error_collector.attributes.exclude +; +; newrelic.browser_monitoring.attributes.include +; newrelic.browser_monitoring.attributes.exclude +; +; newrelic.span_events.attributes.include +; newrelic.span_events.attributes.exclude +; +; Type : string +; Scope : per-directory +; Default: none +; Info : Each attribute has a default set of destinations. For example, the +; 'request_uri' attribute's default destinations are errors and +; transaction traces. The 'httpResponseCode' attribute's default +; destinations are errors, transaction traces, and transaction events. +; +; These configuration options allow complete control over the +; destinations of attributes. +; +; To include the attribute whose key is 'alpha' in errors, the +; configuration is: +; newrelic.error_collector.include = alpha +; +; To exclude the attribute whose key is 'alpha' from errors, the +; configuration is: +; newrelic.error_collector.exclude = alpha +; +; The newrelic.attributes.exclude and newrelic.attributes.include +; settings affect all destinations. +; +; To exclude the attributes 'beta' and 'gamma' from all destinations, +; the configuration is: +; newrelic.attributes.exclude = beta,gamma +; +; If one of the values in the comma separated list ends in a '*', +; it will match any suffix. For example, to exclude any attributes +; which begin with 'psi', the configuration is: +; newrelic.attributes.exclude = psi* +; +; For more information, please refer to: +; https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-metrics/agent-attributes +; +;newrelic.attributes.include = "" +;newrelic.attributes.exclude = "" +; +;newrelic.transaction_events.attributes.include = "" +;newrelic.transaction_events.attributes.exclude = "" +; +;newrelic.transaction_tracer.attributes.include = "" +;newrelic.transaction_tracer.attributes.exclude = "" +; +;newrelic.error_collector.attributes.include = "" +;newrelic.error_collector.attributes.exclude = "" +; +;newrelic.browser_monitoring.attributes.include = "" +;newrelic.browser_monitoring.attributes.exclude = "" +; +;newrelic.span_events.attributes.include = "" +;newrelic.span_events.attributes.exclude = "" + +; Setting: newrelic.feature_flag +; Type : string +; Scope : system +; Default: none +; Info : Enables new and experimental features within the PHP agent. These +; flags are used to selectively enable features that are intended to be +; enabled by default in later versions of the PHP agent. +; +;newrelic.feature_flag = "" + +; Setting: newrelic.custom_insights_events.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables the API function newrelic_record_custom_event. +; +;newrelic.custom_insights_events.enabled = true + +; Setting: newrelic.labels +; Type : string (Use quotes) +; Scope : per-directory +; Default: none +; Info : Sets the label names and values to associate with the application. +; The list is a semi-colon delimited list of colon-separated name and +; value pairs. +; +; There are a maximum of 64 label name/value pairs allowed. +; +; The maximum length of the name and value is 255 characters each. +; +; Leading or trailing whitespace in the name or value will be trimmed. +; +; UTF-8 characters are allowed. +; +; E.g., "Server:One;Data Center:Primary" +; +;newrelic.labels = "" + +; Setting: newrelic.synthetics.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables support for Synthetics transactions. +; For more information, please see: +; https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/getting-started/new-relic-synthetics +; +;newrelic.synthetics.enabled = true + +; Setting: newrelic.cross_application_tracer.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables support for Cross Application Tracing, aka "CAT". +; +;newrelic.cross_application_tracer.enabled = true + +; Setting: newrelic.distributed_tracing_enabled +; Type : boolean +; Scope : per-directory +; Default: false +; Info : Distributed tracing lets you see the path that a request takes +; through your distributed system. Enabling distributed tracing changes +; the behavior of some New Relic features, so carefully consult the +; transition guide before you enable this feature: +; https://docs.newrelic.com/docs/transition-guide-distributed-tracing +; +;newrelic.distributed_tracing_enabled = false + +; Setting: newrelic.distributed_tracing_exclude_newrelic_header +; Type : boolean +; Scope : per-directory +; Default: false +; Info : Set this to true to exclude the New Relic distributed tracing header +; that is attached to outbound requests, and to instead only rely on +; W3C Trace Context Headers for distributed tracing. If this is false +; then both types of headers are attached to outbound requests. +; +; The New Relic distributed tracing header allows interoperability +; with older agents that do not support W3C Trace Context headers. +; Agent versions that support W3C Trace Context headers will +; prioritize them over New Relic headers for distributed tracing. +; +;newrelic.distributed_tracing_exclude_newrelic_header = false + +; Setting: newrelic.span_events_enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables the creation of span events. This requires +; Distributed Tracing to be enabled. +; +;newrelic.span_events_enabled = true + +; Setting: newrelic.infinite_tracing.trace_observer.host +; Type : string +; Scope : per-directory +; Default: +; Info : Configures the Trace Observer used for Infinite Tracing. If empty, +; Infinite Tracing support will be disabled. This requires Distributed +; Tracing and span events to be enabled. +; +;newrelic.infinite_tracing.trace_observer.host= + +; Setting: newrelic.infinite_tracing.trace_observer.port +; Type : integer +; Scope : per-directory +; Default: 443 +; Info : Configures the port used to communicate with the Infinite Tracing +; Trace Observer. This setting is ignored if +; newrelic.infinite_tracing.trace_observer.host is empty. This setting +; will not usually need to be changed. +; +;newrelic.infinite_tracing.trace_observer.port=443 + +; Setting: newrelic.infinite_tracing.span_events.queue_size +; Type : integer (1000 or higher) +; Scope : per-directory +; Default: 100000 +; Info : Sets the number of span events that can be queued for transmission +; to the Infinite Tracing Trace Observer. +; +; The agent internally manages span events for Infinite Tracing in +; span batches. Those span batches can hold a maximum of 1000 spans. +; Therefore, the span events queue size cannot be lower than 1000, as +; otherwise not even a single span batch can be queued. If a queue +; size lower than 1000 is specified, the mininum size of 1000 is used. +; +;newrelic.infinite_tracing.span_events.queue_size=100000 + +; Setting: newrelic.transaction_tracer.gather_input_queries +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables support for tracing Doctrine DQL with Slow SQL queries. +; This requires Slow SQLs to be enabled. +; +;newrelic.transaction_tracer.gather_input_queries = true + +; Setting: newrelic.error_collector.capture_events +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables capturing error events, which are displayed as +; Error Analytics in the UI. +; +;newrelic.error_collector.capture_events = true + +; Setting: newrelic.guzzle.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables support for the Guzzle library. +; +;newrelic.guzzle.enabled = true + +; Setting: newrelic.phpunit_events.enabled +; Type : boolean +; Scope : per-directory +; Default: false +; Info : Collect and report PHPUnit (https://phpunit.de/) data as custom +; Insights events. Test suite summary data are sent as "TestSuite" +; events, while individual test cases are sent as "Test" events. +; Depending on your events retention policy, enabling this setting may +; impact your billing statement. +; +; Please note that exception messages are collected and sent with +; events. Additionally, if you use PHPUnit's --disallow-test-output +; flag, any offending output from a risky test will also be included. +; +;newrelic.phpunit_events.enabled = false + +; Setting: newrelic.datastore_tracer.instance_reporting.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables capturing datastore instance information, +; specifically host and port_path_or_id. This information is sent as a +; metric and as attributes on transaction traces and slow SQL traces. +; +;newrelic.datastore_tracer.instance_reporting.enabled = true + +; Setting: newrelic.datastore_tracer.database_name_reporting.enabled +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Enables or disables capturing information about database names. This +; information is sent as an attribute on transaction traces and slow +; SQL traces. +; +;newrelic.datastore_tracer.database_name_reporting.enabled = true + +; Setting: newrelic.security_policies_token +; Type : string +; Scope : per-directory +; Default: none +; Info : Enables or disables security policies. If security policies are +; enabled on your account, you should paste the security policies token +; from the New Relic APM UI here. +; +; IMPORTANT: This setting is not compatible with newrelic.high_security. +; Only one may be set. If both are set an error will be thrown and the +; agent will not connect. +; +;newrelic.security_policies_token = "" + +; Setting: newrelic.preload_framework_library_detection +; Type : boolean +; Scope : system +; Default: true +; Info : Enables detection of frameworks and libraries from opcache. +; +; This only happens when preloading is enabled (when `opcache.preload` +; is set). +; +;newrelic.preload_framework_library_detection = true + +; setting: newrelic.transaction_tracer.max_segments_web +; type : integer in the range 0 - 2^31-1 +; scope : per-directory +; default: 0 +; info : Specifies the maximum number of segments the PHP agent shall +; record, once that maximum is reached sampling will occur. +; +; The PHP agent reports transaction traces and distributed traces as a +; collection of segments. +; Each segment represents a method or a function call in a transaction +; trace. The default value for this configuration is 0, indicating that +; the PHP agent shall capture all segments during a transaction. At the +; end of a transaction, it assembles the highest priority segments to +; report in a transaction trace. +; +; For long-running PHP processes with hundreds of thousands or millions +; of function calls, setting this to a value greater than 1 prevents the +; PHP agent from exhausting system memory when recording segments. +; +; Segment size can vary based upon the length of the corresponding +; method's name, the length of its class name, and the number of +; subsequent calls made by the method. That said, a conservative estimate +; is 400 bytes per segment. To limit the PHP agent to 40 mb for segment +; capture, set this value to 100000. If this value is set lower than +; 2000, it further limits the total number of segments reported for +; transaction traces. +; +; This configuration setting is only for PHP web processes; it will not +; effect PHP CLI processes. To set a limit for CLI processes use +; newrelic.transaction_tracer.max_segments_cli. +;newrelic.transaction_tracer.max_segments_web = 0 + +; setting: newrelic.transaction_tracer.max_segments_cli +; type : integer in the range 0 - 2^31-1 +; scope : per-directory +; default: 100000 +; info : Specifies the maximum number of segments the PHP agent shall +; record, once that maximum is reached sampling will occur. +; +; The PHP agent reports a transaction trace as a collection of segments. +; each segment represents a method or a function call in a transaction +; trace. The default value for this configuration is 100000. When a value +; of less than 1 is set, it will indicate that the PHP agent shall capture +; all segments during a transaction. At the end of a transaction, the agent +; assembles the highest priority segments to report in a transaction trace. +; +; For long-running PHP processes with hundreds of thousands or millions +; of function calls, setting this to a value greater than 1 prevents the +; PHP agent from exhausting system memory when recording segments. +; +; Segment size can vary based upon the length of the corresponding +; method's name, the length of its class name, and the number of +; subsequent calls made by the method. That said, a conservative estimate +; is 400 bytes per segment. To limit the PHP agent to 40 mb for segment +; capture, set this value to 100000. If this value is set lower than 2000, +; it further limits the total number of segments reported for transaction +; traces. +; +; This configuration setting is only for PHP CLI processes; it will not +; effect PHP web processes. To set a limit for web processes use +; newrelic.transaction_tracer.max_segments_web. +;newrelic.transaction_tracer.max_segments_cli = 100000 + +; Setting: newrelic.capture_params +; Info : This setting has been deprecated. +; It was formerly used to capture request parameters. +; It has been replaced by the attribute configuration settings. +; To replicate this setting with the new settings, one would use: +; +; newrelic.transaction_tracer.attributes.include = request.parameters.* +; newrelic.error_collector.attributes.include = request.parameters.* +; +; Please refer to the attribute configuration options for more +; information. + +; Setting: newrelic.ignored_params +; Info : This setting has been deprecated. +; It was formerly used to filter request parameters. +; It has been replaced by the attribute configuration settings. +; If you would like to exclude the request parameter 'alpha', use: +; +; newrelic.attributes.exclude = request.parameters.alpha +; +; Please refer to the attribute configuration options for more +; information. + +; Setting: newrelic.framework.drupal.modules +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Indicates if Drupal modules, hooks and views are to be instrumented. +; +;newrelic.framework.drupal.modules = true + +; Setting: newrelic.framework.wordpress.hooks +; Type : boolean +; Scope : per-directory +; Default: true +; Info : Indicates if WordPress hooks are to be instrumented. +; +;newrelic.framework.wordpress.hooks = true diff --git a/configurator/docker/app/conf.d/symfony.ini b/configurator/docker/app/conf.d/symfony.ini new file mode 100644 index 000000000..dc1e19e21 --- /dev/null +++ b/configurator/docker/app/conf.d/symfony.ini @@ -0,0 +1,25 @@ +user = app +group = app + +apc.enable_cli = 1 +date.timezone = UTC +session.auto_start = Off +short_open_tag = Off +expose_php = Off + +# http://symfony.com/doc/current/performance.html +opcache.interned_strings_buffer = 16 +opcache.max_accelerated_files = 20000 +opcache.memory_consumption = 256 +realpath_cache_size = 4096K +realpath_cache_ttl = 600 + +upload_max_filesize = $UPLOAD_MAX_FILE_SIZE +post_max_size = $UPLOAD_MAX_FILE_SIZE + +xdebug.mode = debug +xdebug.client_port = 9000 +xdebug.start_with_request = yes +xdebug.max_nesting_level = 300 +xdebug.client_host = $XDEBUG_CLIENT_HOST +xdebug.output_dir = /var/app/var/xdebug diff --git a/configurator/docker/php-entrypoint.sh b/configurator/docker/php-entrypoint.sh new file mode 100755 index 000000000..de7f835c7 --- /dev/null +++ b/configurator/docker/php-entrypoint.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +envsubst < ./docker/app/conf.d/symfony.ini > "$PHP_INI_DIR/conf.d/symfony.ini" + +if [ "${XDEBUG_ENABLED}" == "1" ]; then + docker-php-ext-enable xdebug +fi +if [ "${NEWRELIC_ENABLED}" == "1" ]; then + envsubst < ./docker/app/conf.d/newrelic.ini > "$PHP_INI_DIR/conf.d/newrelic.ini" +fi + +# Must refresh cache to interpret /configs/config.json +if [ "${APP_ENV}" == "prod" ]; then + su app /bin/sh -c "bin/console cache:clear" +fi + +exec "$@" diff --git a/configurator/migrations/.gitignore b/configurator/migrations/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/configurator/src/Entity/.gitignore b/configurator/src/Entity/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/configurator/symfony.lock b/configurator/symfony.lock index f286df732..0fcf27e5f 100644 --- a/configurator/symfony.lock +++ b/configurator/symfony.lock @@ -13,6 +13,31 @@ "src/Repository/.gitignore" ] }, + "doctrine/doctrine-migrations-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "3.1", + "ref": "1d01ec03c6ecbd67c3375c5478c9a423ae5d6a33" + }, + "files": [ + "config/packages/doctrine_migrations.yaml", + "migrations/.gitignore" + ] + }, + "friendsofphp/php-cs-fixer": { + "version": "3.55", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "3.0", + "ref": "be2103eb4a20942e28a6dd87736669b757132435" + }, + "files": [ + ".php-cs-fixer.dist.php" + ] + }, "symfony/console": { "version": "6.3", "recipe": { diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 3ed0cd7a1..615da0aa4 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -203,6 +203,7 @@ services: - POSTGRES_HOST=db - POSTGRES_PORT=5432 - AUTH_DB_NAME + - CONFIGURATOR_DB_NAME - DATABOX_DB_NAME - EXPOSE_DB_NAME - NOTIFY_DB_NAME @@ -243,7 +244,7 @@ services: configurator: volumes: - - ./configurator:/usr/app + - ./configurator:/srv/app databox-indexer: extends: diff --git a/docker-compose.yml b/docker-compose.yml index 8af2d66d0..0f70233ea 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1006,6 +1006,7 @@ services: - POSTGRES_PASSWORD - POSTGRES_HOST=db - POSTGRES_PORT=5432 + - CONFIGURATOR_DB_NAME - AUTH_DB_NAME - DATABOX_DB_NAME - EXPOSE_DB_NAME