diff --git a/.docker/frankenphp/docker-entrypoint.sh b/.docker/frankenphp/docker-entrypoint.sh
index 1655af5a..56b3bc31 100644
--- a/.docker/frankenphp/docker-entrypoint.sh
+++ b/.docker/frankenphp/docker-entrypoint.sh
@@ -26,6 +26,28 @@ if [ "$1" = 'frankenphp' ] || [ "$1" = 'php' ] || [ "$1" = 'bin/console' ]; then
composer install --prefer-dist --no-progress --no-interaction
fi
+ # Install additional composer packages if COMPOSER_EXTRA_PACKAGES is set
+ if [ -n "$COMPOSER_EXTRA_PACKAGES" ]; then
+ echo "Installing additional composer packages: $COMPOSER_EXTRA_PACKAGES"
+ # Note: COMPOSER_EXTRA_PACKAGES is intentionally not quoted to allow word splitting
+ # This enables passing multiple package names separated by spaces
+ # shellcheck disable=SC2086
+ composer require $COMPOSER_EXTRA_PACKAGES --no-install --no-interaction --no-progress
+ if [ $? -eq 0 ]; then
+ echo "Running composer install to install packages without dev dependencies..."
+ composer install --no-dev --no-interaction --no-progress --optimize-autoloader
+ if [ $? -eq 0 ]; then
+ echo "Successfully installed additional composer packages"
+ else
+ echo "Failed to install composer dependencies"
+ exit 1
+ fi
+ else
+ echo "Failed to add additional composer packages to composer.json"
+ exit 1
+ fi
+ fi
+
if grep -q ^DATABASE_URL= .env; then
echo "Waiting for database to be ready..."
ATTEMPTS_LEFT_TO_REACH_DATABASE=60
diff --git a/.docker/partdb-entrypoint.sh b/.docker/partdb-entrypoint.sh
index f5071e22..61e8d1e6 100644
--- a/.docker/partdb-entrypoint.sh
+++ b/.docker/partdb-entrypoint.sh
@@ -39,6 +39,28 @@ if [ -d /var/www/html/var/db ]; then
fi
fi
+# Install additional composer packages if COMPOSER_EXTRA_PACKAGES is set
+if [ -n "$COMPOSER_EXTRA_PACKAGES" ]; then
+ echo "Installing additional composer packages: $COMPOSER_EXTRA_PACKAGES"
+ # Note: COMPOSER_EXTRA_PACKAGES is intentionally not quoted to allow word splitting
+ # This enables passing multiple package names separated by spaces
+ # shellcheck disable=SC2086
+ sudo -E -u www-data composer require $COMPOSER_EXTRA_PACKAGES --no-install --no-interaction --no-progress
+ if [ $? -eq 0 ]; then
+ echo "Running composer install to install packages without dev dependencies..."
+ sudo -E -u www-data composer install --no-dev --no-interaction --no-progress --optimize-autoloader
+ if [ $? -eq 0 ]; then
+ echo "Successfully installed additional composer packages"
+ else
+ echo "Failed to install composer dependencies"
+ exit 1
+ fi
+ else
+ echo "Failed to add additional composer packages to composer.json"
+ exit 1
+ fi
+fi
+
# Start PHP-FPM (the PHP_VERSION is replaced by the configured version in the Dockerfile)
php-fpmPHP_VERSION -F &
diff --git a/.env b/.env
index 982d4bbd..3ba3d65d 100644
--- a/.env
+++ b/.env
@@ -31,8 +31,7 @@ DATABASE_EMULATE_NATURAL_SORT=0
# General settings
###################################################################################
-# The public reachable URL of this Part-DB installation. This is used for generating links in SAML and email templates
-# This must end with a slash!
+# The public reachable URL of this Part-DB installation. This is used for generating links in SAML and email templates or when no request context is available.
DEFAULT_URI="https://partdb.changeme.invalid/"
###################################################################################
@@ -60,6 +59,17 @@ ERROR_PAGE_ADMIN_EMAIL=''
# If this is set to true, solutions to common problems are shown on error pages. Disable this, if you do not want your users to see them...
ERROR_PAGE_SHOW_HELP=1
+###################################################################################
+# Update Manager settings
+###################################################################################
+
+# Disable web-based updates from the Update Manager UI (0=enabled, 1=disabled).
+# When disabled, use the CLI command "php bin/console partdb:update" instead.
+DISABLE_WEB_UPDATES=1
+
+# Disable backup restore from the Update Manager UI (0=enabled, 1=disabled).
+# Restoring backups is a destructive operation that could overwrite your database.
+DISABLE_BACKUP_RESTORE=1
###################################################################################
# SAML Single sign on-settings
@@ -134,4 +144,5 @@ CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
###> symfony/framework-bundle ###
APP_ENV=prod
APP_SECRET=a03498528f5a5fc089273ec9ae5b2849
+APP_SHARE_DIR=var/share
###< symfony/framework-bundle ###
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
new file mode 100644
index 00000000..637a66b5
--- /dev/null
+++ b/.github/copilot-instructions.md
@@ -0,0 +1,186 @@
+# Copilot Instructions for Part-DB
+
+Part-DB is an Open-Source inventory management system for electronic components built with Symfony 7.4 and modern web technologies.
+
+## Technology Stack
+
+- **Backend**: PHP 8.2+, Symfony 7.4, Doctrine ORM
+- **Frontend**: Bootstrap 5, Hotwire Stimulus/Turbo, TypeScript, Webpack Encore
+- **Database**: MySQL 5.7+/MariaDB 10.4+/PostgreSQL 10+/SQLite
+- **Testing**: PHPUnit with DAMA Doctrine Test Bundle
+- **Code Quality**: Easy Coding Standard (ECS), PHPStan (level 5)
+
+## Project Structure
+
+- `src/`: PHP application code organized by purpose (Controller, Entity, Service, Form, etc.)
+- `assets/`: Frontend TypeScript/JavaScript and CSS files
+- `templates/`: Twig templates for views
+- `tests/`: PHPUnit tests mirroring the `src/` structure
+- `config/`: Symfony configuration files
+- `public/`: Web-accessible files
+- `translations/`: Translation files for multi-language support
+
+## Coding Standards
+
+### PHP Code
+
+- Follow [PSR-12](https://www.php-fig.org/psr/psr-12/) and [Symfony coding standards](https://symfony.com/doc/current/contributing/code/standards.html)
+- Use type hints for all parameters and return types
+- Always declare strict types: `declare(strict_types=1);` at the top of PHP files
+- Use PHPDoc blocks for complex logic or when type information is needed
+
+### TypeScript/JavaScript
+
+- Use TypeScript for new frontend code
+- Follow existing Stimulus controller patterns in `assets/controllers/`
+- Use Bootstrap 5 components and utilities
+- Leverage Hotwire Turbo for dynamic page updates
+
+### Naming Conventions
+
+- Entities: Use descriptive names that reflect database models (e.g., `Part`, `StorageLocation`)
+- Controllers: Suffix with `Controller` (e.g., `PartController`)
+- Services: Descriptive names reflecting their purpose (e.g., `PartService`, `LabelGenerator`)
+- Tests: Match the class being tested with `Test` suffix (e.g., `PartTest`, `PartControllerTest`)
+
+## Development Workflow
+
+### Dependencies
+
+- Install PHP dependencies: `composer install`
+- Install JS dependencies: `yarn install`
+- Build frontend assets: `yarn build` (production) or `yarn watch` (development)
+
+### Database
+
+- Create database: `php bin/console doctrine:database:create --env=dev`
+- Run migrations: `php bin/console doctrine:migrations:migrate --env=dev`
+- Load fixtures: `php bin/console partdb:fixtures:load -n --env=dev`
+
+Or use Makefile shortcuts:
+- `make dev-setup`: Complete development environment setup
+- `make dev-reset`: Reset development environment (cache clear + migrate)
+
+### Testing
+
+- Set up test environment: `make test-setup`
+- Run all tests: `php bin/phpunit`
+- Run specific test: `php bin/phpunit tests/Path/To/SpecificTest.php`
+- Run tests with coverage: `php bin/phpunit --coverage-html var/coverage`
+- Test environment uses SQLite by default for speed
+
+### Static Analysis
+
+- Run PHPStan: `composer phpstan` or `COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=1G vendor/bin/phpstan analyse src --level 5`
+- PHPStan configuration is in `phpstan.dist.neon`
+
+### Running the Application
+
+- Development server: `symfony serve` (requires Symfony CLI)
+- Or configure Apache/nginx to serve from `public/` directory
+- Set `APP_ENV=dev` in `.env.local` for development mode
+
+## Best Practices
+
+### Security
+
+- Always sanitize user input
+- Use Symfony's security component for authentication/authorization
+- Check permissions using the permission system before allowing actions
+- Never expose sensitive data in logs or error messages
+- Use parameterized queries (Doctrine handles this automatically)
+
+### Performance
+
+- Use Doctrine query builder for complex queries instead of DQL when possible
+- Lazy load relationships to avoid N+1 queries
+- Cache results when appropriate using Symfony's cache component
+- Use pagination for large result sets (DataTables integration available)
+
+### Database
+
+- Always create migrations for schema changes: `php bin/console make:migration`
+- Review migration files before running them
+- Use Doctrine annotations or attributes for entity mapping
+- Follow existing entity patterns for relationships and lifecycle callbacks
+
+### Frontend
+
+- Use Stimulus controllers for interactive components
+- Leverage Turbo for dynamic page updates without full page reloads
+- Use Bootstrap 5 classes for styling
+- Keep JavaScript modular and organized in controllers
+- Use the translation system for user-facing strings
+
+### Translations
+
+- Use translation keys, not hardcoded strings: `{{ 'part.info.title'|trans }}`
+- Add new translation keys to `translations/` files
+- Primary language is English (en)
+- Translations are managed via Crowdin, but can be edited locally if needed
+
+### Testing
+
+- Write unit tests for services and helpers
+- Write functional tests for controllers
+- Use fixtures for test data
+- Tests should be isolated and not depend on execution order
+- Mock external dependencies when appropriate
+- Follow existing test patterns in the repository
+
+## Common Patterns
+
+### Creating an Entity
+
+1. Create entity class in `src/Entity/` with Doctrine attributes
+2. Generate migration: `php bin/console make:migration`
+3. Review and run migration: `php bin/console doctrine:migrations:migrate`
+4. Create repository if needed in `src/Repository/`
+5. Add fixtures in `src/DataFixtures/` for testing
+
+### Adding a Form
+
+1. Create form type in `src/Form/`
+2. Extend `AbstractType` and implement `buildForm()` and `configureOptions()`
+3. Use in controller and render in Twig template
+4. Follow existing form patterns for consistency
+
+### Creating a Controller Action
+
+1. Add method to appropriate controller in `src/Controller/`
+2. Use route attributes for routing
+3. Check permissions using security voters
+4. Return Response or render Twig template
+5. Add corresponding template in `templates/`
+
+### Adding a Service
+
+1. Create service class in `src/Services/`
+2. Use dependency injection via constructor
+3. Tag service in `config/services.yaml` if needed
+4. Services are autowired by default
+
+## Important Notes
+
+- Part-DB uses fine-grained permissions - always check user permissions before actions
+- Multi-language support is critical - use translation keys everywhere
+- The application supports multiple database backends - write portable code
+- Responsive design is important - test on mobile/tablet viewports
+- Event system is used for logging changes - emit events when appropriate
+- API Platform is integrated for REST API endpoints
+
+## Multi-tenancy Considerations
+
+- Part-DB is designed as a single-tenant application with multiple users
+- User groups have different permission levels
+- Always scope queries to respect user permissions
+- Use the security context to get current user information
+
+## Resources
+
+- [Documentation](https://docs.part-db.de/)
+- [Contributing Guide](CONTRIBUTING.md)
+- [Symfony Documentation](https://symfony.com/doc/current/index.html)
+- [Doctrine Documentation](https://www.doctrine-project.org/projects/doctrine-orm/en/current/)
+- [Bootstrap 5 Documentation](https://getbootstrap.com/docs/5.1/)
+- [Hotwire Documentation](https://hotwired.dev/)
diff --git a/.github/workflows/assets_artifact_build.yml b/.github/workflows/assets_artifact_build.yml
index 447f95bf..3409b7fd 100644
--- a/.github/workflows/assets_artifact_build.yml
+++ b/.github/workflows/assets_artifact_build.yml
@@ -22,7 +22,7 @@ jobs:
APP_ENV: prod
steps:
- - uses: actions/checkout@v5
+ - uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
@@ -37,7 +37,7 @@ jobs:
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- - uses: actions/cache@v4
+ - uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
@@ -51,7 +51,7 @@ jobs:
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- - uses: actions/cache@v4
+ - uses: actions/cache@v5
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -60,7 +60,7 @@ jobs:
${{ runner.os }}-yarn-
- name: Setup node
- uses: actions/setup-node@v5
+ uses: actions/setup-node@v6
with:
node-version: '20'
@@ -80,13 +80,13 @@ jobs:
run: zip -r /tmp/partdb_assets.zip public/build/ vendor/
- name: Upload assets artifact
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
with:
name: Only dependencies and built assets
path: /tmp/partdb_assets.zip
- name: Upload full artifact
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
with:
name: Full Part-DB including dependencies and built assets
path: /tmp/partdb_with_assets.zip
diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml
index c912e769..ce3243ca 100644
--- a/.github/workflows/docker_build.yml
+++ b/.github/workflows/docker_build.yml
@@ -20,7 +20,7 @@ jobs:
steps:
-
name: Checkout
- uses: actions/checkout@v5
+ uses: actions/checkout@v6
-
name: Docker meta
id: docker_meta
diff --git a/.github/workflows/docker_frankenphp.yml b/.github/workflows/docker_frankenphp.yml
index 0b2eb874..1180f0c5 100644
--- a/.github/workflows/docker_frankenphp.yml
+++ b/.github/workflows/docker_frankenphp.yml
@@ -20,7 +20,7 @@ jobs:
steps:
-
name: Checkout
- uses: actions/checkout@v5
+ uses: actions/checkout@v6
-
name: Docker meta
id: docker_meta
diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml
index 1de98ee9..f47ce87b 100644
--- a/.github/workflows/static_analysis.yml
+++ b/.github/workflows/static_analysis.yml
@@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v5
+ - uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
@@ -34,7 +34,7 @@ jobs:
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- - uses: actions/cache@v4
+ - uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index c7c0965b..3df1955a 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -46,7 +46,7 @@ jobs:
if: matrix.db-type == 'postgres'
- name: Checkout
- uses: actions/checkout@v5
+ uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
@@ -81,7 +81,7 @@ jobs:
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- - uses: actions/cache@v4
+ - uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
@@ -92,7 +92,7 @@ jobs:
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- - uses: actions/cache@v4
+ - uses: actions/cache@v5
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -104,7 +104,7 @@ jobs:
run: composer install --prefer-dist --no-progress
- name: Setup node
- uses: actions/setup-node@v5
+ uses: actions/setup-node@v6
with:
node-version: '20'
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d31c904e..5994a115 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,7 +1,7 @@
# How to contribute
-Thank you for consider to contribute to Part-DB!
-Please read the text below, so your contributed content can be contributed easily to Part-DB.
+Thank you for considering contributing to Part-DB!
+Please read the text below, so your contributed content can be incorporated into Part-DB easily.
You can contribute to Part-DB in various ways:
* Report bugs and request new features via [issues](https://github.com/Part-DB/Part-DB-server/issues)
@@ -18,38 +18,38 @@ Part-DB uses translation keys (e.g. part.info.title) that are sorted by their us
was translated in other languages (this is possible via the "Other languages" dropdown in the translation editor).
## Project structure
-Part-DB uses symfony's recommended [project structure](https://symfony.com/doc/current/best_practices.html).
+Part-DB uses Symfony's recommended [project structure](https://symfony.com/doc/current/best_practices.html).
Interesting folders are:
-* `public`: Everything in this directory will be publicy accessible via web. Use this folder to serve static images.
-* `assets`: The frontend assets are saved here. You can find the javascript and CSS code here.
-* `src`: Part-DB's PHP code is saved here. Note that the sub directories are structured by the classes purposes (so use `Controller` Controllers, `Entities` for Database models, etc.)
-* `translations`: The translations used in Part-DB are saved here
+* `public`: Everything in this directory will be publicly accessible via web. Use this folder to serve static images.
+* `assets`: The frontend assets are saved here. You can find the JavaScript and CSS code here.
+* `src`: Part-DB's PHP code is saved here. Note that the subdirectories are structured by the classes' purposes (so use `Controller` for Controllers, `Entity` for Database models, etc.)
+* `translations`: The translations used in Part-DB are saved here.
* `templates`: The templates (HTML) that are used by Twig to render the different pages. Email templates are also saved here.
-* `tests/`: Tests that can be run by PHPunit.
+* `tests/`: Tests that can be run by PHPUnit.
## Development environment
-For setting up an development you will need to install PHP, composer, a database server (MySQL or MariaDB) and yarn (which needs an nodejs environment).
-* Copy `.env` to `.env.local` and change `APP_ENV` to `APP_ENV=dev`. That way you will get development tools (symfony profiler) and other features that
+For setting up a development environment, you will need to install PHP, Composer, a database server (MySQL or MariaDB) and yarn (which needs a Node.js environment).
+* Copy `.env` to `.env.local` and change `APP_ENV` to `APP_ENV=dev`. That way you will get development tools (Symfony profiler) and other features that
will simplify development.
-* Run `composer install` (without -o) to install PHP dependencies and `yarn install` to install frontend dependencies
-* Run `yarn watch`. The program will run in the background and compile the frontend files whenever you change something in the CSS or TypeScript files
-* For running Part-DB it is recommended to use [Symfony CLI](https://symfony.com/download).
-That way you can run a correct configured webserver with `symfony serve`
+* Run `composer install` (without -o) to install PHP dependencies and `yarn install` to install frontend dependencies.
+* Run `yarn watch`. The program will run in the background and compile the frontend files whenever you change something in the CSS or TypeScript files.
+* For running Part-DB, it is recommended to use [Symfony CLI](https://symfony.com/download).
+That way you can run a correctly configured webserver with `symfony serve`.
## Coding style
-Code should follow the [PSR12-Standard](https://www.php-fig.org/psr/psr-12/) and symfony's [coding standards](https://symfony.com/doc/current/contributing/code/standards.html).
+Code should follow the [PSR-12 Standard](https://www.php-fig.org/psr/psr-12/) and Symfony's [coding standards](https://symfony.com/doc/current/contributing/code/standards.html).
Part-DB uses [Easy Coding Standard](https://github.com/symplify/easy-coding-standard) to check and fix coding style violations:
-* To check your code for valid code style run `vendor/bin/ecs check src/`
-* To fix violations run `vendor/bin/ecs check src/` (please checks afterwards if the code is valid afterwards)
+* To check your code for valid code style, run `vendor/bin/ecs check src/`
+* To fix violations, run `vendor/bin/ecs check src/ --fix` (please check afterwards if the code is still valid)
## GitHub actions
-Part-DB uses GitHub actions to run various tests and checks on the code:
+Part-DB uses GitHub Actions to run various tests and checks on the code:
* Yarn dependencies can compile
-* PHPunit tests run successful
-* Config files, translations and templates has valid syntax
-* Doctrine schema valid
-* No known vulnerable dependecies are used
-* Static analysis successful (phpstan with `--level=2`)
+* PHPUnit tests run successfully
+* Config files, translations, and templates have valid syntax
+* Doctrine schema is valid
+* No known vulnerable dependencies are used
+* Static analysis is successful (phpstan with `--level=2`)
-Further the code coverage of the PHPunit tests is determined and uploaded to [CodeCov](https://codecov.io/gh/Part-DB/Part-DB-server).
+Further, the code coverage of the PHPUnit tests is determined and uploaded to [CodeCov](https://codecov.io/gh/Part-DB/Part-DB-server).
diff --git a/Dockerfile b/Dockerfile
index cb18c78f..8ebd320c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -46,13 +46,11 @@ RUN apt-get update && apt-get -y install \
&& rm -rvf /var/www/html/*
# Install node and yarn
-RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
- curl -sL https://deb.nodesource.com/setup_22.x | bash - && \
+RUN curl -sL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get update && apt-get install -y \
nodejs \
- yarn \
- && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/*
+ && apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/* && \
+ npm install -g yarn
# Install composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
diff --git a/Dockerfile-frankenphp b/Dockerfile-frankenphp
index f381f330..69b9bacd 100644
--- a/Dockerfile-frankenphp
+++ b/Dockerfile-frankenphp
@@ -14,31 +14,21 @@ RUN apt-get update && apt-get -y install \
&& apt-get -y autoremove && apt-get clean autoclean && rm -rf /var/lib/apt/lists/*;
RUN set -eux; \
- # Prepare keyrings directory
- mkdir -p /etc/apt/keyrings; \
- \
- # Import Yarn GPG key
- curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg \
- | tee /etc/apt/keyrings/yarn.gpg >/dev/null; \
- chmod 644 /etc/apt/keyrings/yarn.gpg; \
- \
- # Add Yarn repo with signed-by
- echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian stable main" \
- | tee /etc/apt/sources.list.d/yarn.list; \
- \
- # Run NodeSource setup script (unchanged)
+ # Run NodeSource setup script
curl -sL https://deb.nodesource.com/setup_22.x | bash -; \
\
- # Install Node.js + Yarn
+ # Install Node.js
apt-get update; \
apt-get install -y --no-install-recommends \
- nodejs \
- yarn; \
+ nodejs; \
\
# Cleanup
apt-get -y autoremove; \
apt-get clean autoclean; \
- rm -rf /var/lib/apt/lists/*
+ rm -rf /var/lib/apt/lists/*; \
+ \
+ # Install Yarn via npm
+ npm install -g yarn
# Install PHP
diff --git a/README.md b/README.md
index 291b574a..993a1a9c 100644
--- a/README.md
+++ b/README.md
@@ -29,8 +29,8 @@ If you want to test Part-DB without installing it, you can use [this](https://de
You can log in with username: *user* and password: *user*.
-Every change to the master branch gets automatically deployed, so it represents the current development progress and is
-may not completely stable. Please mind, that the free Heroku instance is used, so it can take some time when loading
+Every change to the master branch gets automatically deployed, so it represents the current development progress and
+may not be completely stable. Please mind, that the free Heroku instance is used, so it can take some time when loading
the page
for the first time.
@@ -142,7 +142,7 @@ There you will find various methods to support development on a monthly or a one
## Built with
-* [Symfony 5](https://symfony.com/): The main framework used for the serverside PHP
+* [Symfony 6](https://symfony.com/): The main framework used for the serverside PHP
* [Bootstrap 5](https://getbootstrap.com/) and [Bootswatch](https://bootswatch.com/): Used as website theme
* [Fontawesome](https://fontawesome.com/): Used as icon set
* [Hotwire Stimulus](https://stimulus.hotwired.dev/) and [Hotwire Turbo](https://turbo.hotwired.dev/): Frontend
diff --git a/VERSION b/VERSION
index c043eea7..e70b4523 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.1
+2.6.0
diff --git a/assets/controllers/backup_restore_controller.js b/assets/controllers/backup_restore_controller.js
new file mode 100644
index 00000000..85ee327b
--- /dev/null
+++ b/assets/controllers/backup_restore_controller.js
@@ -0,0 +1,55 @@
+/*
+ * This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
+ *
+ * Copyright (C) 2019 - 2025 Jan Böhmer (https://github.com/jbtronics)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+import { Controller } from '@hotwired/stimulus';
+
+/**
+ * Stimulus controller for backup restore confirmation dialogs.
+ * Shows a confirmation dialog with backup details before allowing restore.
+ */
+export default class extends Controller {
+ static values = {
+ filename: { type: String, default: '' },
+ date: { type: String, default: '' },
+ confirmTitle: { type: String, default: 'Restore Backup' },
+ confirmMessage: { type: String, default: 'Are you sure you want to restore from this backup?' },
+ confirmWarning: { type: String, default: 'This will overwrite your current database. This action cannot be undone!' },
+ };
+
+ connect() {
+ this.element.addEventListener('submit', this.handleSubmit.bind(this));
+ }
+
+ handleSubmit(event) {
+ // Always prevent default first
+ event.preventDefault();
+
+ // Build confirmation message
+ const message = this.confirmTitleValue + '\n\n' +
+ 'Backup: ' + this.filenameValue + '\n' +
+ 'Date: ' + this.dateValue + '\n\n' +
+ this.confirmMessageValue + '\n\n' +
+ '⚠️ ' + this.confirmWarningValue;
+
+ // Only submit if user confirms
+ if (confirm(message)) {
+ this.element.submit();
+ }
+ }
+}
diff --git a/assets/controllers/csrf_protection_controller.js b/assets/controllers/csrf_protection_controller.js
index c722f024..511fffa5 100644
--- a/assets/controllers/csrf_protection_controller.js
+++ b/assets/controllers/csrf_protection_controller.js
@@ -2,6 +2,8 @@ const nameCheck = /^[-_a-zA-Z0-9]{4,22}$/;
const tokenCheck = /^[-_/+a-zA-Z0-9]{24,}$/;
// Generate and double-submit a CSRF token in a form field and a cookie, as defined by Symfony's SameOriginCsrfTokenManager
+// Use `form.requestSubmit()` to ensure that the submit event is triggered. Using `form.submit()` will not trigger the event
+// and thus this event-listener will not be executed.
document.addEventListener('submit', function (event) {
generateCsrfToken(event.target);
}, true);
@@ -33,8 +35,8 @@ export function generateCsrfToken (formElement) {
if (!csrfCookie && nameCheck.test(csrfToken)) {
csrfField.setAttribute('data-csrf-protection-cookie-value', csrfCookie = csrfToken);
csrfField.defaultValue = csrfToken = btoa(String.fromCharCode.apply(null, (window.crypto || window.msCrypto).getRandomValues(new Uint8Array(18))));
- csrfField.dispatchEvent(new Event('change', { bubbles: true }));
}
+ csrfField.dispatchEvent(new Event('change', { bubbles: true }));
if (csrfCookie && tokenCheck.test(csrfToken)) {
const cookie = csrfCookie + '_' + csrfToken + '=' + csrfCookie + '; path=/; samesite=strict';
diff --git a/assets/controllers/elements/ckeditor_controller.js b/assets/controllers/elements/ckeditor_controller.js
index 46e78fd5..b7c87dab 100644
--- a/assets/controllers/elements/ckeditor_controller.js
+++ b/assets/controllers/elements/ckeditor_controller.js
@@ -106,6 +106,15 @@ export default class extends Controller {
editor_div.classList.add(...new_classes.split(","));
}
+ // Automatic synchronization of source input
+ editor.model.document.on("change:data", () => {
+ editor.updateSourceElement();
+
+ // Dispatch the input event for further treatment
+ const event = new Event("input");
+ this.element.dispatchEvent(event);
+ });
+
//This return is important! Otherwise we get mysterious errors in the console
//See: https://github.com/ckeditor/ckeditor5/issues/5897#issuecomment-628471302
return editor;
diff --git a/assets/controllers/elements/collection_type_controller.js b/assets/controllers/elements/collection_type_controller.js
index 8b816f30..14b683e0 100644
--- a/assets/controllers/elements/collection_type_controller.js
+++ b/assets/controllers/elements/collection_type_controller.js
@@ -21,6 +21,7 @@ import {Controller} from "@hotwired/stimulus";
import * as bootbox from "bootbox";
import "../../css/components/bootbox_extensions.css";
+import accept from "attr-accept";
export default class extends Controller {
static values = {
@@ -112,6 +113,33 @@ export default class extends Controller {
dataTransfer.items.add(file);
rowInput.files = dataTransfer.files;
+
+ //Check the file extension and find the corresponding attachment type based on the data-filetype_filter attribute
+ const attachmentTypeSelect = newElement.querySelector("select");
+ if (attachmentTypeSelect) {
+ let foundMatch = false;
+ for (let j = 0; j < attachmentTypeSelect.options.length; j++) {
+ const option = attachmentTypeSelect.options[j];
+ //skip disabled options
+ if (option.disabled) {
+ continue;
+ }
+
+ const filter = option.getAttribute('data-filetype_filter');
+ if (filter) {
+ if (accept({name: file.name, type: file.type}, filter)) {
+ attachmentTypeSelect.value = option.value;
+ foundMatch = true;
+ break;
+ }
+ } else { //If no filter is set, chose this option until we find a better match
+ if (!foundMatch) {
+ attachmentTypeSelect.value = option.value;
+ foundMatch = true;
+ }
+ }
+ }
+ }
}
});
@@ -189,4 +217,4 @@ export default class extends Controller {
del();
}
}
-}
\ No newline at end of file
+}
diff --git a/assets/controllers/elements/ipn_suggestion_controller.js b/assets/controllers/elements/ipn_suggestion_controller.js
new file mode 100644
index 00000000..c8b543cb
--- /dev/null
+++ b/assets/controllers/elements/ipn_suggestion_controller.js
@@ -0,0 +1,250 @@
+import { Controller } from "@hotwired/stimulus";
+import "../../css/components/autocomplete_bootstrap_theme.css";
+
+export default class extends Controller {
+ static targets = ["input"];
+ static values = {
+ partId: Number,
+ partCategoryId: Number,
+ partDescription: String,
+ suggestions: Object,
+ commonSectionHeader: String, // Dynamic header for common Prefixes
+ partIncrementHeader: String, // Dynamic header for new possible part increment
+ suggestUrl: String,
+ };
+
+ connect() {
+ this.configureAutocomplete();
+ this.watchCategoryChanges();
+ this.watchDescriptionChanges();
+ }
+
+ templates = {
+ commonSectionHeader({ title, html }) {
+ return html`
+
+ `;
+ },
+ partIncrementHeader({ title, html }) {
+ return html`
+
+ `;
+ },
+ list({ html }) {
+ return html`
+
+ `;
+ },
+ item({ suggestion, description, html }) {
+ return html`
+
+
+
+
+
+
${suggestion}
+
${description}
+
+
+
+
+ `;
+ },
+ };
+
+ configureAutocomplete() {
+ const inputField = this.inputTarget;
+ const commonPrefixes = this.suggestionsValue.commonPrefixes || [];
+ const prefixesPartIncrement = this.suggestionsValue.prefixesPartIncrement || [];
+ const commonHeader = this.commonSectionHeaderValue;
+ const partIncrementHeader = this.partIncrementHeaderValue;
+
+ if (!inputField || (!commonPrefixes.length && !prefixesPartIncrement.length)) return;
+
+ // Check whether the panel should be created at the update
+ if (this.isPanelInitialized) {
+ const existingPanel = inputField.parentNode.querySelector(".aa-Panel");
+ if (existingPanel) {
+ // Only remove the panel in the update phase
+
+ existingPanel.remove();
+ }
+ }
+
+ // Create panel
+ const panel = document.createElement("div");
+ panel.classList.add("aa-Panel");
+ panel.style.display = "none";
+
+ // Create panel layout
+ const panelLayout = document.createElement("div");
+ panelLayout.classList.add("aa-PanelLayout", "aa-Panel--scrollable");
+
+ // Section for prefixes part increment
+ if (prefixesPartIncrement.length) {
+ const partIncrementSection = document.createElement("section");
+ partIncrementSection.classList.add("aa-Source");
+
+ const partIncrementHeaderHtml = this.templates.partIncrementHeader({
+ title: partIncrementHeader,
+ html: String.raw,
+ });
+ partIncrementSection.innerHTML += partIncrementHeaderHtml;
+
+ const partIncrementList = document.createElement("ul");
+ partIncrementList.classList.add("aa-List");
+ partIncrementList.setAttribute("role", "listbox");
+
+ prefixesPartIncrement.forEach((prefix) => {
+ const itemHTML = this.templates.item({
+ suggestion: prefix.title,
+ description: prefix.description,
+ html: String.raw,
+ });
+ partIncrementList.innerHTML += itemHTML;
+ });
+
+ partIncrementSection.appendChild(partIncrementList);
+ panelLayout.appendChild(partIncrementSection);
+ }
+
+ // Section for common prefixes
+ if (commonPrefixes.length) {
+ const commonSection = document.createElement("section");
+ commonSection.classList.add("aa-Source");
+
+ const commonSectionHeader = this.templates.commonSectionHeader({
+ title: commonHeader,
+ html: String.raw,
+ });
+ commonSection.innerHTML += commonSectionHeader;
+
+ const commonList = document.createElement("ul");
+ commonList.classList.add("aa-List");
+ commonList.setAttribute("role", "listbox");
+
+ commonPrefixes.forEach((prefix) => {
+ const itemHTML = this.templates.item({
+ suggestion: prefix.title,
+ description: prefix.description,
+ html: String.raw,
+ });
+ commonList.innerHTML += itemHTML;
+ });
+
+ commonSection.appendChild(commonList);
+ panelLayout.appendChild(commonSection);
+ }
+
+ panel.appendChild(panelLayout);
+ inputField.parentNode.appendChild(panel);
+
+ inputField.addEventListener("focus", () => {
+ panel.style.display = "block";
+ });
+
+ inputField.addEventListener("blur", () => {
+ setTimeout(() => {
+ panel.style.display = "none";
+ }, 100);
+ });
+
+ // Selection of an item
+ panelLayout.addEventListener("mousedown", (event) => {
+ const target = event.target.closest("li");
+
+ if (target) {
+ inputField.value = target.dataset.suggestion;
+ panel.style.display = "none";
+ }
+ });
+
+ this.isPanelInitialized = true;
+ };
+
+ watchCategoryChanges() {
+ const categoryField = document.querySelector('[data-ipn-suggestion="categoryField"]');
+ const descriptionField = document.querySelector('[data-ipn-suggestion="descriptionField"]');
+ this.previousCategoryId = Number(this.partCategoryIdValue);
+
+ if (categoryField) {
+ categoryField.addEventListener("change", () => {
+ const categoryId = Number(categoryField.value);
+ const description = String(descriptionField?.value ?? '');
+
+ // Check whether the category has changed compared to the previous ID
+ if (categoryId !== this.previousCategoryId) {
+ this.fetchNewSuggestions(categoryId, description);
+ this.previousCategoryId = categoryId;
+ }
+ });
+ }
+ }
+
+ watchDescriptionChanges() {
+ const categoryField = document.querySelector('[data-ipn-suggestion="categoryField"]');
+ const descriptionField = document.querySelector('[data-ipn-suggestion="descriptionField"]');
+ this.previousDescription = String(this.partDescriptionValue);
+
+ if (descriptionField) {
+ descriptionField.addEventListener("input", () => {
+ const categoryId = Number(categoryField.value);
+ const description = String(descriptionField?.value ?? '');
+
+ // Check whether the description has changed compared to the previous one
+ if (description !== this.previousDescription) {
+ this.fetchNewSuggestions(categoryId, description);
+ this.previousDescription = description;
+ }
+ });
+ }
+ }
+
+ fetchNewSuggestions(categoryId, description) {
+ const baseUrl = this.suggestUrlValue;
+ const partId = this.partIdValue;
+ const truncatedDescription = description.length > 150 ? description.substring(0, 150) : description;
+ const encodedDescription = this.base64EncodeUtf8(truncatedDescription);
+ const url = `${baseUrl}?partId=${partId}&categoryId=${categoryId}` + (description !== '' ? `&description=${encodedDescription}` : '');
+
+ fetch(url, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+ },
+ })
+ .then((response) => {
+ if (!response.ok) {
+ throw new Error(`Error when calling up the IPN-suggestions: ${response.status}`);
+ }
+ return response.json();
+ })
+ .then((data) => {
+ this.suggestionsValue = data;
+ this.configureAutocomplete();
+ })
+ .catch((error) => {
+ console.error("Errors when loading the new IPN-suggestions:", error);
+ });
+ };
+
+ base64EncodeUtf8(text) {
+ const utf8Bytes = new TextEncoder().encode(text);
+ return btoa(String.fromCharCode(...utf8Bytes));
+ };
+}
diff --git a/assets/controllers/elements/part_search_controller.js b/assets/controllers/elements/part_search_controller.js
index c33cece0..c1396900 100644
--- a/assets/controllers/elements/part_search_controller.js
+++ b/assets/controllers/elements/part_search_controller.js
@@ -26,9 +26,6 @@ import {marked} from "marked";
import {
trans,
- SEARCH_PLACEHOLDER,
- SEARCH_SUBMIT,
- STATISTICS_PARTS
} from '../../translator';
@@ -82,9 +79,9 @@ export default class extends Controller {
panelPlacement: this.element.dataset.panelPlacement,
plugins: [recentSearchesPlugin],
openOnFocus: true,
- placeholder: trans(SEARCH_PLACEHOLDER),
+ placeholder: trans("search.placeholder"),
translations: {
- submitButtonTitle: trans(SEARCH_SUBMIT)
+ submitButtonTitle: trans("search.submit")
},
// Use a navigator compatible with turbo:
@@ -153,7 +150,7 @@ export default class extends Controller {
},
templates: {
header({ html }) {
- return html`
+ return html`
`;
},
item({item, components, html}) {
@@ -197,4 +194,4 @@ export default class extends Controller {
}
}
-}
\ No newline at end of file
+}
diff --git a/assets/controllers/elements/part_select_controller.js b/assets/controllers/elements/part_select_controller.js
index 8a4e19b8..b69acbbc 100644
--- a/assets/controllers/elements/part_select_controller.js
+++ b/assets/controllers/elements/part_select_controller.js
@@ -18,7 +18,7 @@ export default class extends Controller {
let settings = {
allowEmptyOption: true,
- plugins: ['dropdown_input'],
+ plugins: ['dropdown_input', this.element.required ? null : 'clear_button'],
searchField: ["name", "description", "category", "footprint"],
valueField: "id",
labelField: "name",
diff --git a/assets/controllers/elements/password_strength_estimate_controller.js b/assets/controllers/elements/password_strength_estimate_controller.js
index 0fc9c578..d9cfbc87 100644
--- a/assets/controllers/elements/password_strength_estimate_controller.js
+++ b/assets/controllers/elements/password_strength_estimate_controller.js
@@ -25,8 +25,7 @@ import * as zxcvbnEnPackage from '@zxcvbn-ts/language-en';
import * as zxcvbnDePackage from '@zxcvbn-ts/language-de';
import * as zxcvbnFrPackage from '@zxcvbn-ts/language-fr';
import * as zxcvbnJaPackage from '@zxcvbn-ts/language-ja';
-import {trans, USER_PASSWORD_STRENGTH_VERY_WEAK, USER_PASSWORD_STRENGTH_WEAK, USER_PASSWORD_STRENGTH_MEDIUM,
- USER_PASSWORD_STRENGTH_STRONG, USER_PASSWORD_STRENGTH_VERY_STRONG} from '../../translator.js';
+import {trans} from '../../translator.js';
/* stimulusFetch: 'lazy' */
export default class extends Controller {
@@ -89,23 +88,23 @@ export default class extends Controller {
switch (level) {
case 0:
- text = trans(USER_PASSWORD_STRENGTH_VERY_WEAK);
+ text = trans("user.password_strength.very_weak");
classes = "bg-danger badge-danger";
break;
case 1:
- text = trans(USER_PASSWORD_STRENGTH_WEAK);
+ text = trans("user.password_strength.weak");
classes = "bg-warning badge-warning";
break;
case 2:
- text = trans(USER_PASSWORD_STRENGTH_MEDIUM)
+ text = trans("user.password_strength.medium");
classes = "bg-info badge-info";
break;
case 3:
- text = trans(USER_PASSWORD_STRENGTH_STRONG);
+ text = trans("user.password_strength.strong");
classes = "bg-primary badge-primary";
break;
case 4:
- text = trans(USER_PASSWORD_STRENGTH_VERY_STRONG);
+ text = trans("user.password_strength.very_strong");
classes = "bg-success badge-success";
break;
default:
@@ -120,4 +119,4 @@ export default class extends Controller {
this.badgeTarget.classList.add("badge");
this.badgeTarget.classList.add(...classes.split(" "));
}
-}
\ No newline at end of file
+}
diff --git a/assets/controllers/elements/structural_entity_select_controller.js b/assets/controllers/elements/structural_entity_select_controller.js
index 4b220d5b..2666530b 100644
--- a/assets/controllers/elements/structural_entity_select_controller.js
+++ b/assets/controllers/elements/structural_entity_select_controller.js
@@ -22,7 +22,7 @@ import '../../css/components/tom-select_extensions.css';
import TomSelect from "tom-select";
import {Controller} from "@hotwired/stimulus";
-import {trans, ENTITY_SELECT_GROUP_NEW_NOT_ADDED_TO_DB} from '../../translator.js'
+import {trans} from '../../translator.js'
import TomSelect_autoselect_typed from '../../tomselect/autoselect_typed/autoselect_typed'
TomSelect.define('autoselect_typed', TomSelect_autoselect_typed)
@@ -204,7 +204,7 @@ export default class extends Controller {
if (data.not_in_db_yet) {
//Not yet added items are shown italic and with a badge
- name += "" + escape(data.text) + "" + "" + trans(ENTITY_SELECT_GROUP_NEW_NOT_ADDED_TO_DB) + "";
+ name += "" + escape(data.text) + "" + "" + trans("entity.select.group.new_not_added_to_DB") + "";
} else {
name += "" + escape(data.text) + "";
}
diff --git a/assets/controllers/helpers/form_cleanup_controller.js b/assets/controllers/helpers/form_cleanup_controller.js
index 23dac950..d554371d 100644
--- a/assets/controllers/helpers/form_cleanup_controller.js
+++ b/assets/controllers/helpers/form_cleanup_controller.js
@@ -62,6 +62,6 @@ export default class extends Controller {
element.disabled = true;
}
- form.submit();
+ form.requestSubmit();
}
-}
\ No newline at end of file
+}
diff --git a/assets/controllers/pages/barcode_scan_controller.js b/assets/controllers/pages/barcode_scan_controller.js
index 368fef43..200dd2a7 100644
--- a/assets/controllers/pages/barcode_scan_controller.js
+++ b/assets/controllers/pages/barcode_scan_controller.js
@@ -70,6 +70,6 @@ export default class extends Controller {
//Put our decoded Text into the input box
document.getElementById('scan_dialog_input').value = decodedText;
//Submit form
- document.getElementById('scan_dialog_form').submit();
+ document.getElementById('scan_dialog_form').requestSubmit();
}
-}
\ No newline at end of file
+}
diff --git a/assets/controllers/pages/synonyms_collection_controller.js b/assets/controllers/pages/synonyms_collection_controller.js
new file mode 100644
index 00000000..6b2f4811
--- /dev/null
+++ b/assets/controllers/pages/synonyms_collection_controller.js
@@ -0,0 +1,68 @@
+/*
+ * This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
+ *
+ * Copyright (C) 2019 - 2022 Jan Böhmer (https://github.com/jbtronics)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+import { Controller } from '@hotwired/stimulus';
+
+export default class extends Controller {
+ static targets = ['items'];
+ static values = {
+ prototype: String,
+ prototypeName: { type: String, default: '__name__' },
+ index: { type: Number, default: 0 },
+ };
+
+ connect() {
+ if (!this.hasIndexValue || Number.isNaN(this.indexValue)) {
+ this.indexValue = this.itemsTarget?.children.length || 0;
+ }
+ }
+
+ add(event) {
+ event.preventDefault();
+
+ const encodedProto = this.prototypeValue || '';
+ const placeholder = this.prototypeNameValue || '__name__';
+ if (!encodedProto || !this.itemsTarget) return;
+
+ const protoHtml = this._decodeHtmlAttribute(encodedProto);
+
+ const idx = this.indexValue;
+ const html = protoHtml.replace(new RegExp(placeholder, 'g'), String(idx));
+
+ const wrapper = document.createElement('div');
+ wrapper.innerHTML = html;
+ const newItem = wrapper.firstElementChild;
+ if (newItem) {
+ this.itemsTarget.appendChild(newItem);
+ this.indexValue = idx + 1;
+ }
+ }
+
+ remove(event) {
+ event.preventDefault();
+ const row = event.currentTarget.closest('.tc-item');
+ if (row) row.remove();
+ }
+
+ _decodeHtmlAttribute(str) {
+ const tmp = document.createElement('textarea');
+ tmp.innerHTML = str;
+ return tmp.value || tmp.textContent || '';
+ }
+}
diff --git a/assets/controllers/update_confirm_controller.js b/assets/controllers/update_confirm_controller.js
new file mode 100644
index 00000000..c30a433e
--- /dev/null
+++ b/assets/controllers/update_confirm_controller.js
@@ -0,0 +1,81 @@
+/*
+ * This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
+ *
+ * Copyright (C) 2019 - 2025 Jan Böhmer (https://github.com/jbtronics)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+import { Controller } from '@hotwired/stimulus';
+
+/**
+ * Stimulus controller for update/downgrade confirmation dialogs.
+ * Intercepts form submission and shows a confirmation dialog before proceeding.
+ */
+export default class extends Controller {
+ static values = {
+ isDowngrade: { type: Boolean, default: false },
+ targetVersion: { type: String, default: '' },
+ confirmUpdate: { type: String, default: 'Are you sure you want to update Part-DB?' },
+ confirmDowngrade: { type: String, default: 'Are you sure you want to downgrade Part-DB?' },
+ downgradeWarning: { type: String, default: 'WARNING: This version does not include the Update Manager.' },
+ minUpdateManagerVersion: { type: String, default: '2.6.0' },
+ };
+
+ connect() {
+ this.element.addEventListener('submit', this.handleSubmit.bind(this));
+ }
+
+ handleSubmit(event) {
+ // Always prevent default first
+ event.preventDefault();
+
+ const targetClean = this.targetVersionValue.replace(/^v/, '');
+ let message;
+
+ if (this.isDowngradeValue) {
+ // Check if downgrading to a version without Update Manager
+ if (this.compareVersions(targetClean, this.minUpdateManagerVersionValue) < 0) {
+ message = this.confirmDowngradeValue + '\n\n⚠️ ' + this.downgradeWarningValue;
+ } else {
+ message = this.confirmDowngradeValue;
+ }
+ } else {
+ message = this.confirmUpdateValue;
+ }
+
+ // Only submit if user confirms
+ if (confirm(message)) {
+ // Remove the event listener to prevent infinite loop, then submit
+ this.element.removeEventListener('submit', this.handleSubmit.bind(this));
+ this.element.submit();
+ }
+ }
+
+ /**
+ * Compare two version strings (e.g., "2.5.0" vs "2.6.0")
+ * Returns -1 if v1 < v2, 0 if equal, 1 if v1 > v2
+ */
+ compareVersions(v1, v2) {
+ const parts1 = v1.split('.').map(Number);
+ const parts2 = v2.split('.').map(Number);
+ for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
+ const p1 = parts1[i] || 0;
+ const p2 = parts2[i] || 0;
+ if (p1 < p2) return -1;
+ if (p1 > p2) return 1;
+ }
+ return 0;
+ }
+}
diff --git a/assets/css/app/layout.css b/assets/css/app/layout.css
index 4be123a7..58808926 100644
--- a/assets/css/app/layout.css
+++ b/assets/css/app/layout.css
@@ -133,7 +133,7 @@ showing the sidebar (on devices with md or higher)
*/
#sidebar-toggle-button {
position: fixed;
- left: 3px;
+ left: 2px;
bottom: 50%;
}
diff --git a/assets/css/app/tables.css b/assets/css/app/tables.css
index b2d8882c..2fee7b71 100644
--- a/assets/css/app/tables.css
+++ b/assets/css/app/tables.css
@@ -125,3 +125,25 @@ Classes for Datatables export
.export-helper{
display: none;
}
+
+/**********************************************************
+* Table row highlighting tools
+***********************************************************/
+
+.row-highlight {
+ box-shadow: 0 4px 15px rgba(0,0,0,0.20); /* Adds depth */
+ position: relative;
+ z-index: 1; /* Ensures the shadow overlaps other rows */
+ border-left: 5px solid var(--bs-primary); /* Adds a vertical accent bar */
+}
+
+@keyframes pulse-highlight {
+ 0% { outline: 2px solid transparent; }
+ 50% { outline: 2px solid var(--bs-primary); }
+ 100% { outline: 2px solid transparent; }
+}
+
+.row-pulse {
+ animation: pulse-highlight 1s ease-in-out;
+ animation-iteration-count: 3;
+}
diff --git a/assets/js/app.js b/assets/js/app.js
index 54b73676..4dd39581 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -28,7 +28,7 @@ import '../css/app/treeview.css';
import '../css/app/images.css';
// start the Stimulus application
-import '../bootstrap';
+import '../stimulus_bootstrap';
// Need jQuery? Install it with "yarn add jquery", then uncomment to require it.
const $ = require('jquery');
@@ -44,7 +44,7 @@ import "./register_events";
import "./tristate_checkboxes";
//Define jquery globally
-window.$ = window.jQuery = require("jquery");
+global.$ = global.jQuery = require("jquery");
//Use the local WASM file for the ZXing library
import {
diff --git a/assets/js/webauthn_tfa.js b/assets/js/webauthn_tfa.js
index 4d54efc0..440cb006 100644
--- a/assets/js/webauthn_tfa.js
+++ b/assets/js/webauthn_tfa.js
@@ -198,6 +198,7 @@ class WebauthnTFA {
{
const resultField = document.getElementById('_auth_code');
resultField.value = JSON.stringify(data)
+ //requestSubmit() do not work here, probably because the submit is considered invalid. But as we do not use CSFR tokens, it should be fine.
form.submit();
}
@@ -232,4 +233,4 @@ class WebauthnTFA {
}
}
-window.webauthnTFA = new WebauthnTFA();
\ No newline at end of file
+window.webauthnTFA = new WebauthnTFA();
diff --git a/assets/bootstrap.js b/assets/stimulus_bootstrap.js
similarity index 100%
rename from assets/bootstrap.js
rename to assets/stimulus_bootstrap.js
diff --git a/assets/translator.js b/assets/translator.js
index 0d5ae86b..ad967488 100644
--- a/assets/translator.js
+++ b/assets/translator.js
@@ -1,5 +1,6 @@
-import { localeFallbacks } from '../var/translations/configuration';
-import { trans, getLocale, setLocale, setLocaleFallbacks } from '@symfony/ux-translator';
+import { createTranslator } from '@symfony/ux-translator';
+import { messages, localeFallbacks } from '../var/translations/index.js';
+
/*
* This file is part of the Symfony UX Translator package.
*
@@ -9,8 +10,12 @@ import { trans, getLocale, setLocale, setLocaleFallbacks } from '@symfony/ux-tra
* If you use TypeScript, you can rename this file to "translator.ts" to take advantage of types checking.
*/
-setLocaleFallbacks(localeFallbacks);
+const translator = createTranslator({
+ messages,
+ localeFallbacks,
+});
-export { trans };
-
-export * from '../var/translations';
\ No newline at end of file
+// Wrapper function with default domain set to 'frontend'
+export const trans = (id, parameters = {}, domain = 'frontend', locale = null) => {
+ return translator.trans(id, parameters, domain, locale);
+};
diff --git a/bin/phpunit b/bin/phpunit
index 692baccb..ac5eef11 100755
--- a/bin/phpunit
+++ b/bin/phpunit
@@ -1,23 +1,4 @@
#!/usr/bin/env php
= 80000) {
- require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit';
- } else {
- define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php');
- require PHPUNIT_COMPOSER_INSTALL;
- PHPUnit\TextUI\Command::main();
- }
-} else {
- if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) {
- echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n";
- exit(1);
- }
-
- require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php';
-}
+require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit';
diff --git a/composer.json b/composer.json
index f53130d4..36dd461e 100644
--- a/composer.json
+++ b/composer.json
@@ -11,12 +11,14 @@
"ext-intl": "*",
"ext-json": "*",
"ext-mbstring": "*",
+ "ext-zip": "*",
"amphp/http-client": "^5.1",
"api-platform/doctrine-orm": "^4.1",
"api-platform/json-api": "^4.0.0",
"api-platform/symfony": "^4.0.0",
"beberlei/doctrineextensions": "^1.2",
"brick/math": "^0.13.1",
+ "brick/schema": "^0.2.0",
"composer/ca-bundle": "^1.5",
"composer/package-versions-deprecated": "^1.11.99.5",
"doctrine/data-fixtures": "^2.0.0",
@@ -48,7 +50,6 @@
"part-db/swap-bundle": "^6.0.0",
"phpoffice/phpspreadsheet": "^5.0.0",
"rhukster/dom-sanitizer": "^1.0",
- "runtime/frankenphp-symfony": "^0.2.0",
"s9e/text-formatter": "^2.1",
"scheb/2fa-backup-code": "^v7.11.0",
"scheb/2fa-bundle": "^v7.11.0",
@@ -57,36 +58,36 @@
"shivas/versioning-bundle": "^4.0",
"spatie/db-dumper": "^3.3.1",
"symfony/apache-pack": "^1.0",
- "symfony/asset": "7.3.*",
- "symfony/console": "7.3.*",
- "symfony/css-selector": "7.3.*",
- "symfony/dom-crawler": "7.3.*",
- "symfony/dotenv": "7.3.*",
- "symfony/expression-language": "7.3.*",
+ "symfony/asset": "7.4.*",
+ "symfony/console": "7.4.*",
+ "symfony/css-selector": "7.4.*",
+ "symfony/dom-crawler": "7.4.*",
+ "symfony/dotenv": "7.4.*",
+ "symfony/expression-language": "7.4.*",
"symfony/flex": "^v2.3.1",
- "symfony/form": "7.3.*",
- "symfony/framework-bundle": "7.3.*",
- "symfony/http-client": "7.3.*",
- "symfony/http-kernel": "7.3.*",
- "symfony/mailer": "7.3.*",
+ "symfony/form": "7.4.*",
+ "symfony/framework-bundle": "7.4.*",
+ "symfony/http-client": "7.4.*",
+ "symfony/http-kernel": "7.4.*",
+ "symfony/mailer": "7.4.*",
"symfony/monolog-bundle": "^3.1",
- "symfony/polyfill-php82": "^1.28",
- "symfony/process": "7.3.*",
- "symfony/property-access": "7.3.*",
- "symfony/property-info": "7.3.*",
- "symfony/rate-limiter": "7.3.*",
- "symfony/runtime": "7.3.*",
- "symfony/security-bundle": "7.3.*",
- "symfony/serializer": "7.3.*",
- "symfony/string": "7.3.*",
- "symfony/translation": "7.3.*",
- "symfony/twig-bundle": "7.3.*",
- "symfony/ux-translator": "^2.10",
+ "symfony/process": "7.4.*",
+ "symfony/property-access": "7.4.*",
+ "symfony/property-info": "7.4.*",
+ "symfony/rate-limiter": "7.4.*",
+ "symfony/runtime": "7.4.*",
+ "symfony/security-bundle": "7.4.*",
+ "symfony/serializer": "7.4.*",
+ "symfony/string": "7.4.*",
+ "symfony/translation": "7.4.*",
+ "symfony/twig-bundle": "7.4.*",
+ "symfony/type-info": "7.4.*",
+ "symfony/ux-translator": "^2.32.0",
"symfony/ux-turbo": "^2.0",
- "symfony/validator": "7.3.*",
- "symfony/web-link": "7.3.*",
+ "symfony/validator": "7.4.*",
+ "symfony/web-link": "7.4.*",
"symfony/webpack-encore-bundle": "^v2.0.1",
- "symfony/yaml": "7.3.*",
+ "symfony/yaml": "7.4.*",
"symplify/easy-coding-standard": "^12.5.20",
"tecnickcom/tc-lib-barcode": "^2.1.4",
"twig/cssinliner-extra": "^3.0",
@@ -111,12 +112,19 @@
"phpunit/phpunit": "^11.5.0",
"rector/rector": "^2.0.4",
"roave/security-advisories": "dev-latest",
- "symfony/browser-kit": "7.3.*",
- "symfony/debug-bundle": "7.3.*",
+ "symfony/browser-kit": "7.4.*",
+ "symfony/debug-bundle": "7.4.*",
"symfony/maker-bundle": "^1.13",
- "symfony/phpunit-bridge": "7.3.*",
- "symfony/stopwatch": "7.3.*",
- "symfony/web-profiler-bundle": "7.3.*"
+ "symfony/phpunit-bridge": "7.4.*",
+ "symfony/stopwatch": "7.4.*",
+ "symfony/web-profiler-bundle": "7.4.*"
+ },
+ "replace": {
+ "symfony/polyfill-mbstring": "*",
+ "symfony/polyfill-php74": "*",
+ "symfony/polyfill-php80": "*",
+ "symfony/polyfill-php81": "*",
+ "symfony/polyfill-php82": "*"
},
"suggest": {
"ext-bcmath": "Used to improve price calculation performance",
@@ -167,7 +175,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
- "require": "7.3.*",
+ "require": "7.4.*",
"docker": true
}
}
diff --git a/composer.lock b/composer.lock
index 72e83e0f..b56a61f9 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "3b5a603cc4c289262a2e58b0f37ee42e",
+ "content-hash": "7ca9c95fb85f6bf3d9b8a3aa98ca33f6",
"packages": [
{
"name": "amphp/amp",
@@ -968,21 +968,21 @@
},
{
"name": "api-platform/doctrine-common",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/doctrine-common.git",
- "reference": "8acbed7c2768f7c15a5b030018132e454f895e55"
+ "reference": "4967ed6ba91465d6a6a047119658984d40f89a0e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/doctrine-common/zipball/8acbed7c2768f7c15a5b030018132e454f895e55",
- "reference": "8acbed7c2768f7c15a5b030018132e454f895e55",
+ "url": "https://api.github.com/repos/api-platform/doctrine-common/zipball/4967ed6ba91465d6a6a047119658984d40f89a0e",
+ "reference": "4967ed6ba91465d6a6a047119658984d40f89a0e",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/metadata": "^4.2.6",
+ "api-platform/state": "^4.2.4",
"doctrine/collections": "^2.1",
"doctrine/common": "^3.2.2",
"doctrine/persistence": "^3.2 || ^4.0",
@@ -995,8 +995,8 @@
"doctrine/mongodb-odm": "^2.10",
"doctrine/orm": "^2.17 || ^3.0",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/type-info": "^7.3"
+ "phpunit/phpunit": "^12.2",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"suggest": {
"api-platform/graphql": "For GraphQl mercure subscriptions.",
@@ -1013,7 +1013,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1052,46 +1052,46 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/doctrine-common/tree/v4.2.2"
+ "source": "https://github.com/api-platform/doctrine-common/tree/v4.2.15"
},
- "time": "2025-08-27T12:34:14+00:00"
+ "time": "2026-01-27T07:12:16+00:00"
},
{
"name": "api-platform/doctrine-orm",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/doctrine-orm.git",
- "reference": "d35d97423f7b399117ee033ecc886b3ed9dc2e23"
+ "reference": "cf5c99a209a7be3e508c6f5d0fa4d853d43cff84"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/doctrine-orm/zipball/d35d97423f7b399117ee033ecc886b3ed9dc2e23",
- "reference": "d35d97423f7b399117ee033ecc886b3ed9dc2e23",
+ "url": "https://api.github.com/repos/api-platform/doctrine-orm/zipball/cf5c99a209a7be3e508c6f5d0fa4d853d43cff84",
+ "reference": "cf5c99a209a7be3e508c6f5d0fa4d853d43cff84",
"shasum": ""
},
"require": {
- "api-platform/doctrine-common": "^4.2.0-alpha.3@alpha",
- "api-platform/metadata": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/doctrine-common": "^4.2.9",
+ "api-platform/metadata": "^4.2",
+ "api-platform/state": "^4.2.4",
"doctrine/orm": "^2.17 || ^3.0",
- "php": ">=8.2",
- "symfony/type-info": "^7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "doctrine/doctrine-bundle": "^2.11",
+ "doctrine/doctrine-bundle": "^2.11 || ^3.1",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
+ "phpunit/phpunit": "^12.2",
"ramsey/uuid": "^4.7",
"ramsey/uuid-doctrine": "^2.0",
- "symfony/cache": "^6.4 || ^7.0",
- "symfony/framework-bundle": "^6.4 || ^7.0",
- "symfony/property-access": "^6.4 || ^7.0",
- "symfony/property-info": "^6.4 || ^7.1",
- "symfony/serializer": "^6.4 || ^7.0",
- "symfony/uid": "^6.4 || ^7.0",
- "symfony/validator": "^6.4 || ^7.0",
- "symfony/yaml": "^6.4 || ^7.0"
+ "symfony/cache": "^6.4 || ^7.0 || ^8.0",
+ "symfony/framework-bundle": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-access": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-info": "^6.4 || ^7.1 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0",
+ "symfony/uid": "^6.4 || ^7.0 || ^8.0",
+ "symfony/validator": "^6.4.11 || ^7.0 || ^8.0",
+ "symfony/yaml": "^6.4 || ^7.0 || ^8.0"
},
"type": "library",
"extra": {
@@ -1100,7 +1100,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1139,30 +1139,30 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/doctrine-orm/tree/v4.2.2"
+ "source": "https://github.com/api-platform/doctrine-orm/tree/v4.2.15"
},
- "time": "2025-10-07T13:54:25+00:00"
+ "time": "2026-01-26T15:38:30+00:00"
},
{
"name": "api-platform/documentation",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/documentation.git",
- "reference": "c5a54336d8c51271aa5d54e57147cdee7162ab3a"
+ "reference": "873543a827df5c25b008bd730f2096701e1943b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/documentation/zipball/c5a54336d8c51271aa5d54e57147cdee7162ab3a",
- "reference": "c5a54336d8c51271aa5d54e57147cdee7162ab3a",
+ "url": "https://api.github.com/repos/api-platform/documentation/zipball/873543a827df5c25b008bd730f2096701e1943b8",
+ "reference": "873543a827df5c25b008bd730f2096701e1943b8",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
+ "api-platform/metadata": "^4.2",
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "11.5.x-dev"
+ "phpunit/phpunit": "^12.2"
},
"type": "project",
"extra": {
@@ -1171,7 +1171,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1202,37 +1202,37 @@
],
"description": "API Platform documentation controller.",
"support": {
- "source": "https://github.com/api-platform/documentation/tree/v4.2.2"
+ "source": "https://github.com/api-platform/documentation/tree/v4.2.15"
},
- "time": "2025-08-19T08:04:29+00:00"
+ "time": "2025-12-27T22:15:57+00:00"
},
{
"name": "api-platform/http-cache",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/http-cache.git",
- "reference": "aef434b026b861ea451d814c86838b5470b8bfb4"
+ "reference": "04a9239b67425f68ed2d372c2c731f14342dea45"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/http-cache/zipball/aef434b026b861ea451d814c86838b5470b8bfb4",
- "reference": "aef434b026b861ea451d814c86838b5470b8bfb4",
+ "url": "https://api.github.com/repos/api-platform/http-cache/zipball/04a9239b67425f68ed2d372c2c731f14342dea45",
+ "reference": "04a9239b67425f68ed2d372c2c731f14342dea45",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/metadata": "^4.2",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2",
- "symfony/http-foundation": "^6.4 || ^7.0"
+ "symfony/http-foundation": "^6.4.14 || ^7.0 || ^8.0"
},
"require-dev": {
- "guzzlehttp/guzzle": "^6.0 || ^7.0",
+ "guzzlehttp/guzzle": "^6.0 || ^7.0 || ^8.0",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/dependency-injection": "^6.4 || ^7.0",
- "symfony/http-client": "^6.4 || ^7.0",
- "symfony/type-info": "^7.3"
+ "phpunit/phpunit": "^12.2",
+ "symfony/dependency-injection": "^6.4 || ^7.0 || ^8.0",
+ "symfony/http-client": "^6.4 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1241,7 +1241,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1282,42 +1282,42 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/http-cache/tree/v4.2.2"
+ "source": "https://github.com/api-platform/http-cache/tree/v4.2.15"
},
- "time": "2025-09-16T12:51:08+00:00"
+ "time": "2026-01-12T13:36:15+00:00"
},
{
"name": "api-platform/hydra",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/hydra.git",
- "reference": "bfbe928e6a3999433ef11afc267e591152b17cc3"
+ "reference": "32ca5ff3ac5197d0606a846a6570127239091422"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/hydra/zipball/bfbe928e6a3999433ef11afc267e591152b17cc3",
- "reference": "bfbe928e6a3999433ef11afc267e591152b17cc3",
+ "url": "https://api.github.com/repos/api-platform/hydra/zipball/32ca5ff3ac5197d0606a846a6570127239091422",
+ "reference": "32ca5ff3ac5197d0606a846a6570127239091422",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.1",
- "api-platform/json-schema": "^4.2@beta",
- "api-platform/jsonld": "^4.1",
- "api-platform/metadata": "^4.2@beta",
- "api-platform/serializer": "^4.1",
- "api-platform/state": "^4.1.8",
+ "api-platform/documentation": "^4.2",
+ "api-platform/json-schema": "^4.2",
+ "api-platform/jsonld": "^4.2",
+ "api-platform/metadata": "^4.2",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2",
- "symfony/type-info": "^7.3",
- "symfony/web-link": "^6.4 || ^7.1"
+ "symfony/type-info": "^7.3 || ^8.0",
+ "symfony/web-link": "^6.4 || ^7.1 || ^8.0"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.1",
- "api-platform/doctrine-odm": "^4.1",
- "api-platform/doctrine-orm": "^4.1",
+ "api-platform/doctrine-common": "^4.2",
+ "api-platform/doctrine-odm": "^4.2",
+ "api-platform/doctrine-orm": "^4.2",
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev"
+ "phpunit/phpunit": "^12.2"
},
"type": "library",
"extra": {
@@ -1326,7 +1326,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1369,40 +1369,40 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/hydra/tree/v4.2.2"
+ "source": "https://github.com/api-platform/hydra/tree/v4.2.15"
},
- "time": "2025-10-07T13:39:38+00:00"
+ "time": "2026-01-30T09:06:20+00:00"
},
{
"name": "api-platform/json-api",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/json-api.git",
- "reference": "e8da698d55fb1702b25c63d7c821d1760159912e"
+ "reference": "32ca38f977203f8a59f6efee9637261ae4651c29"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/json-api/zipball/e8da698d55fb1702b25c63d7c821d1760159912e",
- "reference": "e8da698d55fb1702b25c63d7c821d1760159912e",
+ "url": "https://api.github.com/repos/api-platform/json-api/zipball/32ca38f977203f8a59f6efee9637261ae4651c29",
+ "reference": "32ca38f977203f8a59f6efee9637261ae4651c29",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.1.11",
- "api-platform/json-schema": "^4.2@beta",
- "api-platform/metadata": "^4.2@beta",
- "api-platform/serializer": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/documentation": "^4.2",
+ "api-platform/json-schema": "^4.2",
+ "api-platform/metadata": "^4.2",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2",
- "symfony/error-handler": "^6.4 || ^7.0",
- "symfony/http-foundation": "^6.4 || ^7.0",
- "symfony/type-info": "^7.3"
+ "symfony/error-handler": "^6.4 || ^7.0 || ^8.0",
+ "symfony/http-foundation": "^6.4.14 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"require-dev": {
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/type-info": "^7.3"
+ "phpunit/phpunit": "^12.2",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1411,7 +1411,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1451,36 +1451,36 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/json-api/tree/v4.2.2"
+ "source": "https://github.com/api-platform/json-api/tree/v4.2.15"
},
- "time": "2025-09-16T12:49:22+00:00"
+ "time": "2026-01-26T15:38:30+00:00"
},
{
"name": "api-platform/json-schema",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/json-schema.git",
- "reference": "ec81bdd09375067d7d2555c10ec3dfc697874327"
+ "reference": "4487398c59a07beefeec870a1213c34ae362cb00"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/json-schema/zipball/ec81bdd09375067d7d2555c10ec3dfc697874327",
- "reference": "ec81bdd09375067d7d2555c10ec3dfc697874327",
+ "url": "https://api.github.com/repos/api-platform/json-schema/zipball/4487398c59a07beefeec870a1213c34ae362cb00",
+ "reference": "4487398c59a07beefeec870a1213c34ae362cb00",
"shasum": ""
},
"require": {
"api-platform/metadata": "^4.2",
"php": ">=8.2",
- "symfony/console": "^6.4 || ^7.0",
- "symfony/property-info": "^6.4 || ^7.1",
- "symfony/serializer": "^6.4 || ^7.0",
- "symfony/type-info": "^7.3",
- "symfony/uid": "^6.4 || ^7.0"
+ "symfony/console": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-info": "^6.4 || ^7.1 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0",
+ "symfony/uid": "^6.4 || ^7.0 || ^8.0"
},
"require-dev": {
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev"
+ "phpunit/phpunit": "^12.2"
},
"type": "library",
"extra": {
@@ -1489,7 +1489,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1532,33 +1532,33 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/json-schema/tree/v4.2.2"
+ "source": "https://github.com/api-platform/json-schema/tree/v4.2.15"
},
- "time": "2025-10-07T09:45:59+00:00"
+ "time": "2026-01-26T15:38:30+00:00"
},
{
"name": "api-platform/jsonld",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/jsonld.git",
- "reference": "774b460273177983c52540a479ea9e9f940d7a1b"
+ "reference": "ef0a361b0f29158243478d3fff5038ec2f5aa76c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/jsonld/zipball/774b460273177983c52540a479ea9e9f940d7a1b",
- "reference": "774b460273177983c52540a479ea9e9f940d7a1b",
+ "url": "https://api.github.com/repos/api-platform/jsonld/zipball/ef0a361b0f29158243478d3fff5038ec2f5aa76c",
+ "reference": "ef0a361b0f29158243478d3fff5038ec2f5aa76c",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
- "api-platform/serializer": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/metadata": "^4.2",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/type-info": "^7.3"
+ "phpunit/phpunit": "^12.2",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1567,7 +1567,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1612,22 +1612,22 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/jsonld/tree/v4.2.2"
+ "source": "https://github.com/api-platform/jsonld/tree/v4.2.15"
},
- "time": "2025-09-25T19:30:56+00:00"
+ "time": "2026-01-12T13:36:15+00:00"
},
{
"name": "api-platform/metadata",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/metadata.git",
- "reference": "5aeba910cb6352068664ca11cd9ee0dc208894c0"
+ "reference": "4d10dbd7b8f036d24df35eb3ec02c0f0befcf397"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/metadata/zipball/5aeba910cb6352068664ca11cd9ee0dc208894c0",
- "reference": "5aeba910cb6352068664ca11cd9ee0dc208894c0",
+ "url": "https://api.github.com/repos/api-platform/metadata/zipball/4d10dbd7b8f036d24df35eb3ec02c0f0befcf397",
+ "reference": "4d10dbd7b8f036d24df35eb3ec02c0f0befcf397",
"shasum": ""
},
"require": {
@@ -1635,22 +1635,22 @@
"php": ">=8.2",
"psr/cache": "^1.0 || ^2.0 || ^3.0",
"psr/log": "^1.0 || ^2.0 || ^3.0",
- "symfony/property-info": "^6.4 || ^7.1",
- "symfony/string": "^6.4 || ^7.0",
- "symfony/type-info": "^7.3"
+ "symfony/property-info": "^6.4 || ^7.1 || ^8.0",
+ "symfony/string": "^6.4 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"require-dev": {
- "api-platform/json-schema": "^4.1.11",
- "api-platform/openapi": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/json-schema": "^4.2",
+ "api-platform/openapi": "^4.2",
+ "api-platform/state": "^4.2.4",
"phpspec/prophecy-phpunit": "^2.2",
"phpstan/phpdoc-parser": "^1.29 || ^2.0",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/config": "^6.4 || ^7.0",
- "symfony/routing": "^6.4 || ^7.0",
- "symfony/var-dumper": "^6.4 || ^7.0",
- "symfony/web-link": "^6.4 || ^7.1",
- "symfony/yaml": "^6.4 || ^7.0"
+ "phpunit/phpunit": "^12.2",
+ "symfony/config": "^6.4 || ^7.0 || ^8.0",
+ "symfony/routing": "^6.4 || ^7.0 || ^8.0",
+ "symfony/var-dumper": "^6.4 || ^7.0 || ^8.0",
+ "symfony/web-link": "^6.4 || ^7.1 || ^8.0",
+ "symfony/yaml": "^6.4 || ^7.0 || ^8.0"
},
"suggest": {
"phpstan/phpdoc-parser": "For PHP documentation support.",
@@ -1664,7 +1664,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1710,42 +1710,42 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/metadata/tree/v4.2.2"
+ "source": "https://github.com/api-platform/metadata/tree/v4.2.15"
},
- "time": "2025-10-08T08:36:37+00:00"
+ "time": "2026-01-27T07:12:16+00:00"
},
{
"name": "api-platform/openapi",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/openapi.git",
- "reference": "2545f2be06eed0f9a121d631b8f1db22212a7826"
+ "reference": "59c13717f63e21f98d4ed4e4d7122b0bade72e2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/openapi/zipball/2545f2be06eed0f9a121d631b8f1db22212a7826",
- "reference": "2545f2be06eed0f9a121d631b8f1db22212a7826",
+ "url": "https://api.github.com/repos/api-platform/openapi/zipball/59c13717f63e21f98d4ed4e4d7122b0bade72e2e",
+ "reference": "59c13717f63e21f98d4ed4e4d7122b0bade72e2e",
"shasum": ""
},
"require": {
- "api-platform/json-schema": "^4.2@beta",
- "api-platform/metadata": "^4.2@beta",
- "api-platform/state": "^4.2@beta",
+ "api-platform/json-schema": "^4.2",
+ "api-platform/metadata": "^4.2",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2",
- "symfony/console": "^6.4 || ^7.0",
- "symfony/filesystem": "^6.4 || ^7.0",
- "symfony/property-access": "^6.4 || ^7.0",
- "symfony/serializer": "^6.4 || ^7.0",
- "symfony/type-info": "^7.3"
+ "symfony/console": "^6.4 || ^7.0 || ^8.0",
+ "symfony/filesystem": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-access": "^6.4 || ^7.0 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.1",
- "api-platform/doctrine-odm": "^4.1",
- "api-platform/doctrine-orm": "^4.1",
+ "api-platform/doctrine-common": "^4.2",
+ "api-platform/doctrine-odm": "^4.2",
+ "api-platform/doctrine-orm": "^4.2",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/type-info": "^7.3"
+ "phpunit/phpunit": "^12.2",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1754,7 +1754,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1800,46 +1800,46 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/openapi/tree/v4.2.2"
+ "source": "https://github.com/api-platform/openapi/tree/v4.2.15"
},
- "time": "2025-09-30T12:06:50+00:00"
+ "time": "2026-01-26T15:38:30+00:00"
},
{
"name": "api-platform/serializer",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/serializer.git",
- "reference": "58c1378af6429049ee62951b838f6b645706c3a3"
+ "reference": "4d45483a9911b598a262dd2035166ab2040e430f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/serializer/zipball/58c1378af6429049ee62951b838f6b645706c3a3",
- "reference": "58c1378af6429049ee62951b838f6b645706c3a3",
+ "url": "https://api.github.com/repos/api-platform/serializer/zipball/4d45483a9911b598a262dd2035166ab2040e430f",
+ "reference": "4d45483a9911b598a262dd2035166ab2040e430f",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2.0",
- "api-platform/state": "^4.1.11",
+ "api-platform/metadata": "^4.2",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2",
- "symfony/property-access": "^6.4 || ^7.0",
- "symfony/property-info": "^6.4 || ^7.1",
- "symfony/serializer": "^6.4 || ^7.0",
- "symfony/validator": "^6.4 || ^7.0"
+ "symfony/property-access": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-info": "^6.4 || ^7.1 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.0 || ^8.0",
+ "symfony/validator": "^6.4.11 || ^7.0 || ^8.0"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.1",
- "api-platform/doctrine-odm": "^4.1",
- "api-platform/doctrine-orm": "^4.1",
- "api-platform/json-schema": "^4.1",
- "api-platform/openapi": "^4.1",
+ "api-platform/doctrine-common": "^4.2",
+ "api-platform/doctrine-odm": "^4.2",
+ "api-platform/doctrine-orm": "^4.2",
+ "api-platform/json-schema": "^4.2",
+ "api-platform/openapi": "^4.2",
"doctrine/collections": "^2.1",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
+ "phpunit/phpunit": "^12.2",
"symfony/mercure-bundle": "*",
- "symfony/type-info": "^7.3",
- "symfony/var-dumper": "^6.4 || ^7.0",
- "symfony/yaml": "^6.4 || ^7.0"
+ "symfony/type-info": "^7.3 || ^8.0",
+ "symfony/var-dumper": "^6.4 || ^7.0 || ^8.0",
+ "symfony/yaml": "^6.4 || ^7.0 || ^8.0"
},
"suggest": {
"api-platform/doctrine-odm": "To support Doctrine MongoDB ODM state options.",
@@ -1852,7 +1852,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1893,40 +1893,41 @@
"serializer"
],
"support": {
- "source": "https://github.com/api-platform/serializer/tree/v4.2.2"
+ "source": "https://github.com/api-platform/serializer/tree/v4.2.15"
},
- "time": "2025-10-03T08:13:34+00:00"
+ "time": "2026-01-26T15:38:30+00:00"
},
{
"name": "api-platform/state",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/state.git",
- "reference": "7dc3dfbafa4627cc789bd8bcd4da46e6c37f6b26"
+ "reference": "89c0999206b4885c2e55204751b4db07061f3fd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/state/zipball/7dc3dfbafa4627cc789bd8bcd4da46e6c37f6b26",
- "reference": "7dc3dfbafa4627cc789bd8bcd4da46e6c37f6b26",
+ "url": "https://api.github.com/repos/api-platform/state/zipball/89c0999206b4885c2e55204751b4db07061f3fd3",
+ "reference": "89c0999206b4885c2e55204751b4db07061f3fd3",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.18",
+ "api-platform/metadata": "^4.2.3",
"php": ">=8.2",
"psr/container": "^1.0 || ^2.0",
- "symfony/http-kernel": "^6.4 || ^7.0",
- "symfony/serializer": "^6.4 || ^7.0",
+ "symfony/deprecation-contracts": "^3.1",
+ "symfony/http-kernel": "^6.4 || ^7.0 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.0 || ^8.0",
"symfony/translation-contracts": "^3.0"
},
"require-dev": {
- "api-platform/serializer": "^4.1",
- "api-platform/validator": "^4.1",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/http-foundation": "^6.4 || ^7.0",
- "symfony/object-mapper": "^7.3",
- "symfony/type-info": "^7.3",
- "symfony/web-link": "^6.4 || ^7.1",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/validator": "^4.2.4",
+ "phpunit/phpunit": "^12.2",
+ "symfony/http-foundation": "^6.4.14 || ^7.0 || ^8.0",
+ "symfony/object-mapper": "^7.4 || ^8.0",
+ "symfony/type-info": "^7.4 || ^8.0",
+ "symfony/web-link": "^6.4 || ^7.1 || ^8.0",
"willdurand/negotiation": "^3.1"
},
"suggest": {
@@ -1943,7 +1944,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -1989,59 +1990,60 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/state/tree/v4.2.2"
+ "source": "https://github.com/api-platform/state/tree/v4.2.15"
},
- "time": "2025-10-09T08:33:56+00:00"
+ "time": "2026-01-26T15:38:30+00:00"
},
{
"name": "api-platform/symfony",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/symfony.git",
- "reference": "44bb117df1cd5695203ec6a97999cabc85257780"
+ "reference": "93fdcbe189a1866412f5da04e26fa5615e99b210"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/symfony/zipball/44bb117df1cd5695203ec6a97999cabc85257780",
- "reference": "44bb117df1cd5695203ec6a97999cabc85257780",
+ "url": "https://api.github.com/repos/api-platform/symfony/zipball/93fdcbe189a1866412f5da04e26fa5615e99b210",
+ "reference": "93fdcbe189a1866412f5da04e26fa5615e99b210",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.1.11",
- "api-platform/http-cache": "^4.1.11",
- "api-platform/hydra": "^4.1.11",
- "api-platform/json-schema": "^4.1.11",
- "api-platform/jsonld": "^4.1.11",
- "api-platform/metadata": "^4.2@beta",
- "api-platform/openapi": "^4.1.11",
- "api-platform/serializer": "^4.1.11",
- "api-platform/state": "^4.2@beta",
- "api-platform/validator": "^4.1.11",
+ "api-platform/documentation": "^4.2.12",
+ "api-platform/http-cache": "^4.2.12",
+ "api-platform/hydra": "^4.2.12",
+ "api-platform/json-schema": "^4.2.12",
+ "api-platform/jsonld": "^4.2.12",
+ "api-platform/metadata": "^4.2.12",
+ "api-platform/openapi": "^4.2.12",
+ "api-platform/serializer": "^4.2.12",
+ "api-platform/state": "^4.2.12",
+ "api-platform/validator": "^4.2.12",
"php": ">=8.2",
- "symfony/finder": "^6.4 || ^7.0",
- "symfony/property-access": "^6.4 || ^7.0",
- "symfony/property-info": "^6.4 || ^7.1",
- "symfony/security-core": "^6.4 || ^7.0",
- "symfony/serializer": "^6.4 || ^7.0",
+ "symfony/asset": "^6.4 || ^7.0 || ^8.0",
+ "symfony/finder": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-access": "^6.4 || ^7.0 || ^8.0",
+ "symfony/property-info": "^6.4 || ^7.0 || ^8.0",
+ "symfony/security-core": "^6.4 || ^7.0 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.0 || ^8.0",
"willdurand/negotiation": "^3.1"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.1",
- "api-platform/doctrine-odm": "^4.1",
- "api-platform/doctrine-orm": "^4.1",
- "api-platform/elasticsearch": "^4.1",
- "api-platform/graphql": "^4.1",
- "api-platform/parameter-validator": "^3.1",
+ "api-platform/doctrine-common": "^4.2.12",
+ "api-platform/doctrine-odm": "^4.2.12",
+ "api-platform/doctrine-orm": "^4.2.12",
+ "api-platform/elasticsearch": "^4.2.12",
+ "api-platform/graphql": "^4.2.12",
+ "api-platform/hal": "^4.2.12",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev",
- "symfony/expression-language": "^6.4 || ^7.0",
- "symfony/intl": "^6.4 || ^7.0",
+ "phpunit/phpunit": "^12.2",
+ "symfony/expression-language": "^6.4 || ^7.0 || ^8.0",
+ "symfony/intl": "^6.4 || ^7.0 || ^8.0",
"symfony/mercure-bundle": "*",
- "symfony/object-mapper": "^7.0",
- "symfony/routing": "^6.4 || ^7.0",
- "symfony/type-info": "^7.3",
- "symfony/validator": "^6.4 || ^7.0",
+ "symfony/object-mapper": "^7.0 || ^8.0",
+ "symfony/routing": "^6.4 || ^7.0 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0",
+ "symfony/validator": "^6.4.11 || ^7.0 || ^8.0",
"webonyx/graphql-php": "^15.0"
},
"suggest": {
@@ -2050,6 +2052,7 @@
"api-platform/elasticsearch": "To support Elasticsearch.",
"api-platform/graphql": "To support GraphQL.",
"api-platform/hal": "to support the HAL format",
+ "api-platform/json-api": "to support the JSON-API format",
"api-platform/ramsey-uuid": "To support Ramsey's UUID identifiers.",
"phpstan/phpdoc-parser": "To support extracting metadata from PHPDoc.",
"psr/cache-implementation": "To use metadata caching.",
@@ -2071,12 +2074,9 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
- "dev-3.4": "3.4.x-dev",
- "dev-4.1": "4.1.x-dev",
- "dev-4.2": "4.2.x-dev",
"dev-main": "4.3.x-dev"
}
},
@@ -2118,36 +2118,36 @@
"symfony"
],
"support": {
- "source": "https://github.com/api-platform/symfony/tree/v4.2.2"
+ "source": "https://github.com/api-platform/symfony/tree/v4.2.15"
},
- "time": "2025-10-09T08:33:56+00:00"
+ "time": "2026-01-30T13:31:50+00:00"
},
{
"name": "api-platform/validator",
- "version": "v4.2.2",
+ "version": "v4.2.15",
"source": {
"type": "git",
"url": "https://github.com/api-platform/validator.git",
- "reference": "9986e84b27e3de7f87c7c23f238430a572f87f67"
+ "reference": "22968964145b3fe542b5885f6a2e74d77e7e28c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/validator/zipball/9986e84b27e3de7f87c7c23f238430a572f87f67",
- "reference": "9986e84b27e3de7f87c7c23f238430a572f87f67",
+ "url": "https://api.github.com/repos/api-platform/validator/zipball/22968964145b3fe542b5885f6a2e74d77e7e28c3",
+ "reference": "22968964145b3fe542b5885f6a2e74d77e7e28c3",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
+ "api-platform/metadata": "^4.2",
"php": ">=8.2",
- "symfony/http-kernel": "^6.4 || ^7.1",
- "symfony/serializer": "^6.4 || ^7.1",
- "symfony/type-info": "^7.3",
- "symfony/validator": "^6.4 || ^7.1",
- "symfony/web-link": "^6.4 || ^7.1"
+ "symfony/http-kernel": "^6.4 || ^7.1 || ^8.0",
+ "symfony/serializer": "^6.4 || ^7.1 || ^8.0",
+ "symfony/type-info": "^7.3 || ^8.0",
+ "symfony/validator": "^6.4.11 || ^7.1 || ^8.0",
+ "symfony/web-link": "^6.4 || ^7.1 || ^8.0"
},
"require-dev": {
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev"
+ "phpunit/phpunit": "^12.2"
},
"type": "library",
"extra": {
@@ -2156,7 +2156,7 @@
"name": "api-platform/api-platform"
},
"symfony": {
- "require": "^6.4 || ^7.0"
+ "require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
"dev-3.4": "3.4.x-dev",
@@ -2194,9 +2194,9 @@
"validator"
],
"support": {
- "source": "https://github.com/api-platform/validator/tree/v4.2.2"
+ "source": "https://github.com/api-platform/validator/tree/v4.2.15"
},
- "time": "2025-09-29T15:36:04+00:00"
+ "time": "2026-01-26T15:45:40+00:00"
},
{
"name": "beberlei/assert",
@@ -2388,17 +2388,128 @@
"time": "2025-03-29T13:50:30+00:00"
},
{
- "name": "composer/ca-bundle",
- "version": "1.5.8",
+ "name": "brick/schema",
+ "version": "0.2.0",
"source": {
"type": "git",
- "url": "https://github.com/composer/ca-bundle.git",
- "reference": "719026bb30813accb68271fee7e39552a58e9f65"
+ "url": "https://github.com/brick/schema.git",
+ "reference": "b5114bf5e8092430041a37efe1cfd5279ca764c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/719026bb30813accb68271fee7e39552a58e9f65",
- "reference": "719026bb30813accb68271fee7e39552a58e9f65",
+ "url": "https://api.github.com/repos/brick/schema/zipball/b5114bf5e8092430041a37efe1cfd5279ca764c0",
+ "reference": "b5114bf5e8092430041a37efe1cfd5279ca764c0",
+ "shasum": ""
+ },
+ "require": {
+ "brick/structured-data": "~0.1.0 || ~0.2.0",
+ "ext-dom": "*",
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "brick/varexporter": "^0.6",
+ "vimeo/psalm": "6.12.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Brick\\Schema\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Schema.org library for PHP",
+ "keywords": [
+ "JSON-LD",
+ "brick",
+ "microdata",
+ "rdfa lite",
+ "schema",
+ "schema.org",
+ "structured data"
+ ],
+ "support": {
+ "issues": "https://github.com/brick/schema/issues",
+ "source": "https://github.com/brick/schema/tree/0.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/BenMorel",
+ "type": "github"
+ }
+ ],
+ "time": "2025-06-12T07:03:20+00:00"
+ },
+ {
+ "name": "brick/structured-data",
+ "version": "0.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/brick/structured-data.git",
+ "reference": "be9b28720e2aba87f19c90500700970be85affde"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/brick/structured-data/zipball/be9b28720e2aba87f19c90500700970be85affde",
+ "reference": "be9b28720e2aba87f19c90500700970be85affde",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "php": "^8.1",
+ "sabre/uri": "^2.1 || ^3.0"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.0",
+ "phpunit/phpunit": "^8.0 || ^9.0",
+ "vimeo/psalm": "6.12.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Brick\\StructuredData\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Microdata, RDFa Lite & JSON-LD structured data reader",
+ "keywords": [
+ "JSON-LD",
+ "brick",
+ "microdata",
+ "rdfa",
+ "structured data"
+ ],
+ "support": {
+ "issues": "https://github.com/brick/structured-data/issues",
+ "source": "https://github.com/brick/structured-data/tree/0.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/BenMorel",
+ "type": "github"
+ }
+ ],
+ "time": "2025-06-10T23:48:46+00:00"
+ },
+ {
+ "name": "composer/ca-bundle",
+ "version": "1.5.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/ca-bundle.git",
+ "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/961a5e4056dd2e4a2eedcac7576075947c28bf63",
+ "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63",
"shasum": ""
},
"require": {
@@ -2445,7 +2556,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/ca-bundle/issues",
- "source": "https://github.com/composer/ca-bundle/tree/1.5.8"
+ "source": "https://github.com/composer/ca-bundle/tree/1.5.10"
},
"funding": [
{
@@ -2457,7 +2568,7 @@
"type": "github"
}
],
- "time": "2025-08-20T18:49:47+00:00"
+ "time": "2025-12-08T15:06:51+00:00"
},
{
"name": "composer/package-versions-deprecated",
@@ -2732,16 +2843,16 @@
},
{
"name": "doctrine/collections",
- "version": "2.3.0",
+ "version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
- "reference": "2eb07e5953eed811ce1b309a7478a3b236f2273d"
+ "reference": "7713da39d8e237f28411d6a616a3dce5e20d5de2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/2eb07e5953eed811ce1b309a7478a3b236f2273d",
- "reference": "2eb07e5953eed811ce1b309a7478a3b236f2273d",
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/7713da39d8e237f28411d6a616a3dce5e20d5de2",
+ "reference": "7713da39d8e237f28411d6a616a3dce5e20d5de2",
"shasum": ""
},
"require": {
@@ -2750,11 +2861,11 @@
"symfony/polyfill-php84": "^1.30"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
+ "doctrine/coding-standard": "^14",
"ext-json": "*",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^10.5"
+ "phpstan/phpstan": "^2.1.30",
+ "phpstan/phpstan-phpunit": "^2.0.7",
+ "phpunit/phpunit": "^10.5.58 || ^11.5.42 || ^12.4"
},
"type": "library",
"autoload": {
@@ -2798,7 +2909,7 @@
],
"support": {
"issues": "https://github.com/doctrine/collections/issues",
- "source": "https://github.com/doctrine/collections/tree/2.3.0"
+ "source": "https://github.com/doctrine/collections/tree/2.6.0"
},
"funding": [
{
@@ -2814,7 +2925,7 @@
"type": "tidelift"
}
],
- "time": "2025-03-22T10:17:19+00:00"
+ "time": "2026-01-15T10:01:58+00:00"
},
{
"name": "doctrine/common",
@@ -2992,16 +3103,16 @@
},
{
"name": "doctrine/dbal",
- "version": "4.3.4",
+ "version": "4.4.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "1a2fbd0e93b8dec7c3d1ac2b6396a7b929b130dc"
+ "reference": "3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/1a2fbd0e93b8dec7c3d1ac2b6396a7b929b130dc",
- "reference": "1a2fbd0e93b8dec7c3d1ac2b6396a7b929b130dc",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c",
+ "reference": "3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c",
"shasum": ""
},
"require": {
@@ -3020,8 +3131,8 @@
"phpunit/phpunit": "11.5.23",
"slevomat/coding-standard": "8.24.0",
"squizlabs/php_codesniffer": "4.0.0",
- "symfony/cache": "^6.3.8|^7.0",
- "symfony/console": "^5.4|^6.3|^7.0"
+ "symfony/cache": "^6.3.8|^7.0|^8.0",
+ "symfony/console": "^5.4|^6.3|^7.0|^8.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -3078,7 +3189,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/4.3.4"
+ "source": "https://github.com/doctrine/dbal/tree/4.4.1"
},
"funding": [
{
@@ -3094,33 +3205,33 @@
"type": "tidelift"
}
],
- "time": "2025-10-09T09:11:36+00:00"
+ "time": "2025-12-04T10:11:03+00:00"
},
{
"name": "doctrine/deprecations",
- "version": "1.1.5",
+ "version": "1.1.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
- "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
+ "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
- "phpunit/phpunit": "<=7.5 || >=13"
+ "phpunit/phpunit": "<=7.5 || >=14"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^12 || ^13",
- "phpstan/phpstan": "1.4.10 || 2.1.11",
+ "doctrine/coding-standard": "^9 || ^12 || ^14",
+ "phpstan/phpstan": "1.4.10 || 2.1.30",
"phpstan/phpstan-phpunit": "^1.0 || ^2",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0",
"psr/log": "^1 || ^2 || ^3"
},
"suggest": {
@@ -3140,22 +3251,22 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.5"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.6"
},
- "time": "2025-04-07T20:06:18+00:00"
+ "time": "2026-02-07T07:09:04+00:00"
},
{
"name": "doctrine/doctrine-bundle",
- "version": "2.18.0",
+ "version": "2.18.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git",
- "reference": "cd5d4da6a5f7cf3d8708e17211234657b5eb4e95"
+ "reference": "0ff098b29b8b3c68307c8987dcaed7fd829c6546"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/cd5d4da6a5f7cf3d8708e17211234657b5eb4e95",
- "reference": "cd5d4da6a5f7cf3d8708e17211234657b5eb4e95",
+ "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/0ff098b29b8b3c68307c8987dcaed7fd829c6546",
+ "reference": "0ff098b29b8b3c68307c8987dcaed7fd829c6546",
"shasum": ""
},
"require": {
@@ -3247,7 +3358,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineBundle/issues",
- "source": "https://github.com/doctrine/DoctrineBundle/tree/2.18.0"
+ "source": "https://github.com/doctrine/DoctrineBundle/tree/2.18.2"
},
"funding": [
{
@@ -3263,20 +3374,20 @@
"type": "tidelift"
}
],
- "time": "2025-10-11T04:43:27+00:00"
+ "time": "2025-12-20T21:35:32+00:00"
},
{
"name": "doctrine/doctrine-migrations-bundle",
- "version": "3.5.0",
+ "version": "3.7.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
- "reference": "71c81279ca0e907c3edc718418b93fd63074856c"
+ "reference": "1e380c6dd8ac8488217f39cff6b77e367f1a644b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/71c81279ca0e907c3edc718418b93fd63074856c",
- "reference": "71c81279ca0e907c3edc718418b93fd63074856c",
+ "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/1e380c6dd8ac8488217f39cff6b77e367f1a644b",
+ "reference": "1e380c6dd8ac8488217f39cff6b77e367f1a644b",
"shasum": ""
},
"require": {
@@ -3284,7 +3395,7 @@
"doctrine/migrations": "^3.2",
"php": "^7.2 || ^8.0",
"symfony/deprecation-contracts": "^2.1 || ^3",
- "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0"
+ "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
"composer/semver": "^3.0",
@@ -3296,8 +3407,8 @@
"phpstan/phpstan-strict-rules": "^1.1 || ^2",
"phpstan/phpstan-symfony": "^1.3 || ^2",
"phpunit/phpunit": "^8.5 || ^9.5",
- "symfony/phpunit-bridge": "^6.3 || ^7",
- "symfony/var-exporter": "^5.4 || ^6 || ^7"
+ "symfony/phpunit-bridge": "^6.3 || ^7 || ^8",
+ "symfony/var-exporter": "^5.4 || ^6 || ^7 || ^8"
},
"type": "symfony-bundle",
"autoload": {
@@ -3332,7 +3443,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues",
- "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.5.0"
+ "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.7.0"
},
"funding": [
{
@@ -3348,20 +3459,20 @@
"type": "tidelift"
}
],
- "time": "2025-10-12T17:06:40+00:00"
+ "time": "2025-11-15T19:02:59+00:00"
},
{
"name": "doctrine/event-manager",
- "version": "2.0.1",
+ "version": "2.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e"
+ "reference": "dda33921b198841ca8dbad2eaa5d4d34769d18cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e",
+ "url": "https://api.github.com/repos/doctrine/event-manager/zipball/dda33921b198841ca8dbad2eaa5d4d34769d18cf",
+ "reference": "dda33921b198841ca8dbad2eaa5d4d34769d18cf",
"shasum": ""
},
"require": {
@@ -3371,10 +3482,10 @@
"doctrine/common": "<2.9"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.8.8",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.24"
+ "doctrine/coding-standard": "^14",
+ "phpdocumentor/guides-cli": "^1.4",
+ "phpstan/phpstan": "^2.1.32",
+ "phpunit/phpunit": "^10.5.58"
},
"type": "library",
"autoload": {
@@ -3423,7 +3534,7 @@
],
"support": {
"issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/2.0.1"
+ "source": "https://github.com/doctrine/event-manager/tree/2.1.1"
},
"funding": [
{
@@ -3439,7 +3550,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-22T20:47:39+00:00"
+ "time": "2026-01-29T07:11:08+00:00"
},
{
"name": "doctrine/inflector",
@@ -3680,16 +3791,16 @@
},
{
"name": "doctrine/migrations",
- "version": "3.9.4",
+ "version": "3.9.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/migrations.git",
- "reference": "1b88fcb812f2cd6e77c83d16db60e3cf1e35c66c"
+ "reference": "1b823afbc40f932dae8272574faee53f2755eac5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/migrations/zipball/1b88fcb812f2cd6e77c83d16db60e3cf1e35c66c",
- "reference": "1b88fcb812f2cd6e77c83d16db60e3cf1e35c66c",
+ "url": "https://api.github.com/repos/doctrine/migrations/zipball/1b823afbc40f932dae8272574faee53f2755eac5",
+ "reference": "1b823afbc40f932dae8272574faee53f2755eac5",
"shasum": ""
},
"require": {
@@ -3699,15 +3810,15 @@
"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"
+ "symfony/console": "^5.4 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/var-exporter": "^6.2 || ^7.0 || ^8.0"
},
"conflict": {
"doctrine/orm": "<2.12 || >=4"
},
"require-dev": {
- "doctrine/coding-standard": "^13",
+ "doctrine/coding-standard": "^14",
"doctrine/orm": "^2.13 || ^3",
"doctrine/persistence": "^2 || ^3 || ^4",
"doctrine/sql-formatter": "^1.0",
@@ -3719,9 +3830,9 @@
"phpstan/phpstan-strict-rules": "^2",
"phpstan/phpstan-symfony": "^2",
"phpunit/phpunit": "^10.3 || ^11.0 || ^12.0",
- "symfony/cache": "^5.4 || ^6.0 || ^7.0",
- "symfony/process": "^5.4 || ^6.0 || ^7.0",
- "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
+ "symfony/cache": "^5.4 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/process": "^5.4 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"suggest": {
"doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.",
@@ -3763,7 +3874,7 @@
],
"support": {
"issues": "https://github.com/doctrine/migrations/issues",
- "source": "https://github.com/doctrine/migrations/tree/3.9.4"
+ "source": "https://github.com/doctrine/migrations/tree/3.9.5"
},
"funding": [
{
@@ -3779,20 +3890,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-19T06:41:07+00:00"
+ "time": "2025-11-20T11:15:36+00:00"
},
{
"name": "doctrine/orm",
- "version": "3.5.2",
+ "version": "3.6.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
- "reference": "5a541b8b3a327ab1ea5f93b1615b4ff67a34e109"
+ "reference": "4262eb495b4d2a53b45de1ac58881e0091f2970f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/orm/zipball/5a541b8b3a327ab1ea5f93b1615b4ff67a34e109",
- "reference": "5a541b8b3a327ab1ea5f93b1615b4ff67a34e109",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/4262eb495b4d2a53b45de1ac58881e0091f2970f",
+ "reference": "4262eb495b4d2a53b45de1ac58881e0091f2970f",
"shasum": ""
},
"require": {
@@ -3808,20 +3919,18 @@
"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"
+ "symfony/console": "^5.4 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/var-exporter": "^6.3.9 || ^7.0 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^13.0",
+ "doctrine/coding-standard": "^14.0",
"phpbench/phpbench": "^1.0",
- "phpdocumentor/guides-cli": "^1.4",
"phpstan/extension-installer": "^1.4",
- "phpstan/phpstan": "2.0.3",
+ "phpstan/phpstan": "2.1.23",
"phpstan/phpstan-deprecation-rules": "^2",
- "phpunit/phpunit": "^10.4.0",
+ "phpunit/phpunit": "^10.5.0 || ^11.5",
"psr/log": "^1 || ^2 || ^3",
- "squizlabs/php_codesniffer": "3.12.0",
- "symfony/cache": "^5.4 || ^6.2 || ^7.0"
+ "symfony/cache": "^5.4 || ^6.2 || ^7.0 || ^8.0"
},
"suggest": {
"ext-dom": "Provides support for XSD validation for XML mapping files",
@@ -3867,9 +3976,9 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
- "source": "https://github.com/doctrine/orm/tree/3.5.2"
+ "source": "https://github.com/doctrine/orm/tree/3.6.2"
},
- "time": "2025-08-08T17:00:40+00:00"
+ "time": "2026-01-30T21:41:41+00:00"
},
{
"name": "doctrine/persistence",
@@ -3966,26 +4075,26 @@
},
{
"name": "doctrine/sql-formatter",
- "version": "1.5.2",
+ "version": "1.5.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/sql-formatter.git",
- "reference": "d6d00aba6fd2957fe5216fe2b7673e9985db20c8"
+ "reference": "a8af23a8e9d622505baa2997465782cbe8bb7fc7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/d6d00aba6fd2957fe5216fe2b7673e9985db20c8",
- "reference": "d6d00aba6fd2957fe5216fe2b7673e9985db20c8",
+ "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/a8af23a8e9d622505baa2997465782cbe8bb7fc7",
+ "reference": "a8af23a8e9d622505baa2997465782cbe8bb7fc7",
"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"
+ "doctrine/coding-standard": "^14",
+ "ergebnis/phpunit-slow-test-detector": "^2.20",
+ "phpstan/phpstan": "^2.1.31",
+ "phpunit/phpunit": "^10.5.58"
},
"bin": [
"bin/sql-formatter"
@@ -4015,22 +4124,22 @@
],
"support": {
"issues": "https://github.com/doctrine/sql-formatter/issues",
- "source": "https://github.com/doctrine/sql-formatter/tree/1.5.2"
+ "source": "https://github.com/doctrine/sql-formatter/tree/1.5.3"
},
- "time": "2025-01-24T11:45:48+00:00"
+ "time": "2025-10-26T09:35:14+00:00"
},
{
"name": "dompdf/dompdf",
- "version": "v3.1.3",
+ "version": "v3.1.4",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "baed300e4fb8226359c04395518059a136e2a2e2"
+ "reference": "db712c90c5b9868df3600e64e68da62e78a34623"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/baed300e4fb8226359c04395518059a136e2a2e2",
- "reference": "baed300e4fb8226359c04395518059a136e2a2e2",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/db712c90c5b9868df3600e64e68da62e78a34623",
+ "reference": "db712c90c5b9868df3600e64e68da62e78a34623",
"shasum": ""
},
"require": {
@@ -4079,22 +4188,22 @@
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v3.1.3"
+ "source": "https://github.com/dompdf/dompdf/tree/v3.1.4"
},
- "time": "2025-10-14T13:10:17+00:00"
+ "time": "2025-10-29T12:43:30+00:00"
},
{
"name": "dompdf/php-font-lib",
- "version": "1.0.1",
+ "version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-font-lib.git",
- "reference": "6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d"
+ "reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d",
- "reference": "6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d",
+ "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a6e9a688a2a80016ac080b97be73d3e10c444c9a",
+ "reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a",
"shasum": ""
},
"require": {
@@ -4102,7 +4211,7 @@
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6"
+ "phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11 || ^12"
},
"type": "library",
"autoload": {
@@ -4124,31 +4233,31 @@
"homepage": "https://github.com/dompdf/php-font-lib",
"support": {
"issues": "https://github.com/dompdf/php-font-lib/issues",
- "source": "https://github.com/dompdf/php-font-lib/tree/1.0.1"
+ "source": "https://github.com/dompdf/php-font-lib/tree/1.0.2"
},
- "time": "2024-12-02T14:37:59+00:00"
+ "time": "2026-01-20T14:10:26+00:00"
},
{
"name": "dompdf/php-svg-lib",
- "version": "1.0.0",
+ "version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-svg-lib.git",
- "reference": "eb045e518185298eb6ff8d80d0d0c6b17aecd9af"
+ "reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/eb045e518185298eb6ff8d80d0d0c6b17aecd9af",
- "reference": "eb045e518185298eb6ff8d80d0d0c6b17aecd9af",
+ "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8259ffb930817e72b1ff1caef5d226501f3dfeb1",
+ "reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^7.1 || ^8.0",
- "sabberworm/php-css-parser": "^8.4"
+ "sabberworm/php-css-parser": "^8.4 || ^9.0"
},
"require-dev": {
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5"
+ "phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11"
},
"type": "library",
"autoload": {
@@ -4170,9 +4279,9 @@
"homepage": "https://github.com/dompdf/php-svg-lib",
"support": {
"issues": "https://github.com/dompdf/php-svg-lib/issues",
- "source": "https://github.com/dompdf/php-svg-lib/tree/1.0.0"
+ "source": "https://github.com/dompdf/php-svg-lib/tree/1.0.2"
},
- "time": "2024-04-29T13:26:35+00:00"
+ "time": "2026-01-02T16:01:13+00:00"
},
{
"name": "egulias/email-validator",
@@ -4368,25 +4477,25 @@
},
{
"name": "gregwar/captcha-bundle",
- "version": "v2.4.0",
+ "version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/Gregwar/CaptchaBundle.git",
- "reference": "090a3754f02cadb7ecdb531b090322dbe5c03c75"
+ "reference": "b129efda562bf8361ca6eb77043036813f749de6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Gregwar/CaptchaBundle/zipball/090a3754f02cadb7ecdb531b090322dbe5c03c75",
- "reference": "090a3754f02cadb7ecdb531b090322dbe5c03c75",
+ "url": "https://api.github.com/repos/Gregwar/CaptchaBundle/zipball/b129efda562bf8361ca6eb77043036813f749de6",
+ "reference": "b129efda562bf8361ca6eb77043036813f749de6",
"shasum": ""
},
"require": {
"ext-gd": "*",
"gregwar/captcha": "^1.2.1",
"php": ">=8.0.2",
- "symfony/form": "~6.0|~7.0",
- "symfony/framework-bundle": "~6.0|~7.0",
- "symfony/translation": "~6.0|^7.0",
+ "symfony/form": "~6.0|~7.0|~8.0",
+ "symfony/framework-bundle": "~6.0|~7.0|~8.0",
+ "symfony/translation": "~6.0|~7.0|~8.0",
"twig/twig": "^3.0"
},
"require-dev": {
@@ -4429,9 +4538,9 @@
],
"support": {
"issues": "https://github.com/Gregwar/CaptchaBundle/issues",
- "source": "https://github.com/Gregwar/CaptchaBundle/tree/v2.4.0"
+ "source": "https://github.com/Gregwar/CaptchaBundle/tree/v2.5.0"
},
- "time": "2025-06-24T10:25:23+00:00"
+ "time": "2026-01-08T10:51:57+00:00"
},
{
"name": "guzzlehttp/guzzle",
@@ -4822,16 +4931,16 @@
},
{
"name": "imagine/imagine",
- "version": "1.5.0",
+ "version": "1.5.2",
"source": {
"type": "git",
"url": "https://github.com/php-imagine/Imagine.git",
- "reference": "80ab21434890dee9ba54969d31c51ac8d4d551e0"
+ "reference": "f9ed796eefb77c2f0f2167e1d4e36bc2b5ed6b0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-imagine/Imagine/zipball/80ab21434890dee9ba54969d31c51ac8d4d551e0",
- "reference": "80ab21434890dee9ba54969d31c51ac8d4d551e0",
+ "url": "https://api.github.com/repos/php-imagine/Imagine/zipball/f9ed796eefb77c2f0f2167e1d4e36bc2b5ed6b0c",
+ "reference": "f9ed796eefb77c2f0f2167e1d4e36bc2b5ed6b0c",
"shasum": ""
},
"require": {
@@ -4878,9 +4987,9 @@
],
"support": {
"issues": "https://github.com/php-imagine/Imagine/issues",
- "source": "https://github.com/php-imagine/Imagine/tree/1.5.0"
+ "source": "https://github.com/php-imagine/Imagine/tree/1.5.2"
},
- "time": "2024-12-03T14:37:55+00:00"
+ "time": "2026-01-09T10:45:12+00:00"
},
{
"name": "jbtronics/2fa-webauthn",
@@ -4944,24 +5053,24 @@
},
{
"name": "jbtronics/dompdf-font-loader-bundle",
- "version": "v1.1.5",
+ "version": "v1.1.6",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/dompdf-font-loader-bundle.git",
- "reference": "83a0e50ecceefea0a63915dae758e00788fd067e"
+ "reference": "5fb434f35544d5757292cd5471768dda3862c932"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/dompdf-font-loader-bundle/zipball/83a0e50ecceefea0a63915dae758e00788fd067e",
- "reference": "83a0e50ecceefea0a63915dae758e00788fd067e",
+ "url": "https://api.github.com/repos/jbtronics/dompdf-font-loader-bundle/zipball/5fb434f35544d5757292cd5471768dda3862c932",
+ "reference": "5fb434f35544d5757292cd5471768dda3862c932",
"shasum": ""
},
"require": {
"dompdf/dompdf": "^1.0.0|^2.0.0|^3.0.0",
"ext-json": "*",
"php": "^8.1",
- "symfony/finder": "^6.0|^7.0",
- "symfony/framework-bundle": "^6.0|^7.0"
+ "symfony/finder": "^6.0|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.0|^7.0|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
@@ -4993,22 +5102,22 @@
],
"support": {
"issues": "https://github.com/jbtronics/dompdf-font-loader-bundle/issues",
- "source": "https://github.com/jbtronics/dompdf-font-loader-bundle/tree/v1.1.5"
+ "source": "https://github.com/jbtronics/dompdf-font-loader-bundle/tree/v1.1.6"
},
- "time": "2025-07-25T20:29:05+00:00"
+ "time": "2025-11-30T22:19:12+00:00"
},
{
"name": "jbtronics/settings-bundle",
- "version": "v3.1.1",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/settings-bundle.git",
- "reference": "1067dd3d816cd0a6be7ac3d3989587ea05040bd4"
+ "reference": "6a66c099460fd623d0d1ddbf9864b3173d416c3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/1067dd3d816cd0a6be7ac3d3989587ea05040bd4",
- "reference": "1067dd3d816cd0a6be7ac3d3989587ea05040bd4",
+ "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/6a66c099460fd623d0d1ddbf9864b3173d416c3b",
+ "reference": "6a66c099460fd623d0d1ddbf9864b3173d416c3b",
"shasum": ""
},
"require": {
@@ -5016,11 +5125,11 @@
"ext-json": "*",
"php": "^8.1",
"symfony/deprecation-contracts": "^3.4",
- "symfony/form": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/translation": "^7.0|^6.4",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^7.0|^6.4|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/validator": "^6.4|^7.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
"symfony/var-exporter": "^6.4|^7.0"
},
"require-dev": {
@@ -5034,10 +5143,10 @@
"phpstan/phpstan-symfony": "^1.3",
"phpunit/phpunit": "^9.5",
"roave/security-advisories": "dev-latest",
- "symfony/console": "^6.4|^7.0",
- "symfony/phpunit-bridge": "^6.4|^7.0",
- "symfony/security-csrf": "^7.0|^6.4",
- "symfony/twig-bridge": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/phpunit-bridge": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^7.0|^6.4|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0"
},
"suggest": {
"doctrine/doctrine-bundle": "To use the doctrine ORM storage",
@@ -5069,7 +5178,7 @@
],
"support": {
"issues": "https://github.com/jbtronics/settings-bundle/issues",
- "source": "https://github.com/jbtronics/settings-bundle/tree/v3.1.1"
+ "source": "https://github.com/jbtronics/settings-bundle/tree/v3.2.0"
},
"funding": [
{
@@ -5081,7 +5190,7 @@
"type": "github"
}
],
- "time": "2025-09-22T22:00:15+00:00"
+ "time": "2026-02-03T20:13:02+00:00"
},
{
"name": "jfcherng/php-color-output",
@@ -5380,31 +5489,32 @@
},
{
"name": "knpuniversity/oauth2-client-bundle",
- "version": "v2.19.0",
+ "version": "v2.20.1",
"source": {
"type": "git",
"url": "https://github.com/knpuniversity/oauth2-client-bundle.git",
- "reference": "cd1cb6945a46df81be6e94944872546ca4bf335c"
+ "reference": "d59e4dc61484e777b6f19df2efcf8b1bcc03828a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/cd1cb6945a46df81be6e94944872546ca4bf335c",
- "reference": "cd1cb6945a46df81be6e94944872546ca4bf335c",
+ "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/d59e4dc61484e777b6f19df2efcf8b1bcc03828a",
+ "reference": "d59e4dc61484e777b6f19df2efcf8b1bcc03828a",
"shasum": ""
},
"require": {
"league/oauth2-client": "^2.0",
"php": ">=8.1",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/framework-bundle": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^5.4|^6.0|^7.0",
- "symfony/routing": "^5.4|^6.0|^7.0"
+ "symfony/dependency-injection": "^6.4|^7.3|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.3|^8.0",
+ "symfony/http-foundation": "^6.4|^7.3|^8.0",
+ "symfony/routing": "^6.4|^7.3|^8.0",
+ "symfony/security-core": "^6.4|^7.3|^8.0",
+ "symfony/security-http": "^6.4|^7.3|^8.0"
},
"require-dev": {
"league/oauth2-facebook": "^1.1|^2.0",
- "symfony/phpunit-bridge": "^5.4|^6.0|^7.0",
- "symfony/security-guard": "^5.4",
- "symfony/yaml": "^5.4|^6.0|^7.0"
+ "symfony/phpunit-bridge": "^7.3",
+ "symfony/yaml": "^6.4|^7.3|^8.0"
},
"suggest": {
"symfony/security-guard": "For integration with Symfony's Guard Security layer"
@@ -5433,9 +5543,9 @@
],
"support": {
"issues": "https://github.com/knpuniversity/oauth2-client-bundle/issues",
- "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.19.0"
+ "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.20.1"
},
- "time": "2025-09-17T15:00:36+00:00"
+ "time": "2025-12-04T15:46:43+00:00"
},
{
"name": "lcobucci/clock",
@@ -5576,16 +5686,16 @@
},
{
"name": "league/commonmark",
- "version": "2.7.1",
+ "version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "10732241927d3971d28e7ea7b5712721fa2296ca"
+ "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca",
- "reference": "10732241927d3971d28e7ea7b5712721fa2296ca",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
+ "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
"shasum": ""
},
"require": {
@@ -5622,7 +5732,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.8-dev"
+ "dev-main": "2.9-dev"
}
},
"autoload": {
@@ -5679,7 +5789,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-20T12:47:49+00:00"
+ "time": "2025-11-26T21:48:24+00:00"
},
{
"name": "league/config",
@@ -5765,16 +5875,16 @@
},
{
"name": "league/csv",
- "version": "9.27.0",
+ "version": "9.28.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/csv.git",
- "reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845"
+ "reference": "6582ace29ae09ba5b07049d40ea13eb19c8b5073"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/csv/zipball/cb491b1ba3c42ff2bcd0113814f4256b42bae845",
- "reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845",
+ "url": "https://api.github.com/repos/thephpleague/csv/zipball/6582ace29ae09ba5b07049d40ea13eb19c8b5073",
+ "reference": "6582ace29ae09ba5b07049d40ea13eb19c8b5073",
"shasum": ""
},
"require": {
@@ -5784,14 +5894,14 @@
"require-dev": {
"ext-dom": "*",
"ext-xdebug": "*",
- "friendsofphp/php-cs-fixer": "^3.75.0",
- "phpbench/phpbench": "^1.4.1",
- "phpstan/phpstan": "^1.12.27",
+ "friendsofphp/php-cs-fixer": "^3.92.3",
+ "phpbench/phpbench": "^1.4.3",
+ "phpstan/phpstan": "^1.12.32",
"phpstan/phpstan-deprecation-rules": "^1.2.1",
"phpstan/phpstan-phpunit": "^1.4.2",
"phpstan/phpstan-strict-rules": "^1.6.2",
- "phpunit/phpunit": "^10.5.16 || ^11.5.22 || ^12.3.6",
- "symfony/var-dumper": "^6.4.8 || ^7.3.0"
+ "phpunit/phpunit": "^10.5.16 || ^11.5.22 || ^12.5.4",
+ "symfony/var-dumper": "^6.4.8 || ^7.4.0 || ^8.0"
},
"suggest": {
"ext-dom": "Required to use the XMLConverter and the HTMLConverter classes",
@@ -5852,7 +5962,7 @@
"type": "github"
}
],
- "time": "2025-10-16T08:22:09+00:00"
+ "time": "2025-12-27T15:18:42+00:00"
},
{
"name": "league/html-to-markdown",
@@ -5945,22 +6055,22 @@
},
{
"name": "league/oauth2-client",
- "version": "2.8.1",
+ "version": "2.9.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/oauth2-client.git",
- "reference": "9df2924ca644736c835fc60466a3a60390d334f9"
+ "reference": "26e8c5da4f3d78cede7021e09b1330a0fc093d5e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/9df2924ca644736c835fc60466a3a60390d334f9",
- "reference": "9df2924ca644736c835fc60466a3a60390d334f9",
+ "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/26e8c5da4f3d78cede7021e09b1330a0fc093d5e",
+ "reference": "26e8c5da4f3d78cede7021e09b1330a0fc093d5e",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/guzzle": "^6.5.8 || ^7.4.5",
- "php": "^7.1 || >=8.0.0 <8.5.0"
+ "php": "^7.1 || >=8.0.0 <8.6.0"
},
"require-dev": {
"mockery/mockery": "^1.3.5",
@@ -6004,39 +6114,44 @@
],
"support": {
"issues": "https://github.com/thephpleague/oauth2-client/issues",
- "source": "https://github.com/thephpleague/oauth2-client/tree/2.8.1"
+ "source": "https://github.com/thephpleague/oauth2-client/tree/2.9.0"
},
- "time": "2025-02-26T04:37:30+00:00"
+ "time": "2025-11-25T22:17:17+00:00"
},
{
"name": "league/uri",
- "version": "7.5.1",
+ "version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430"
+ "reference": "4436c6ec8d458e4244448b069cc572d088230b76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76",
+ "reference": "4436c6ec8d458e4244448b069cc572d088230b76",
"shasum": ""
},
"require": {
- "league/uri-interfaces": "^7.5",
- "php": "^8.1"
+ "league/uri-interfaces": "^7.8",
+ "php": "^8.1",
+ "psr/http-factory": "^1"
},
"conflict": {
"league/uri-schemes": "^1.0"
},
"suggest": {
"ext-bcmath": "to improve IPV4 host parsing",
+ "ext-dom": "to convert the URI into an HTML anchor tag",
"ext-fileinfo": "to create Data URI from file contennts",
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
- "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
- "league/uri-components": "Needed to easily manipulate URI objects components",
+ "ext-uri": "to use the PHP native URI class",
+ "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain",
+ "league/uri-components": "to provide additional tools to manipulate URI objects components",
+ "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -6064,6 +6179,7 @@
"description": "URI manipulation library",
"homepage": "https://uri.thephpleague.com",
"keywords": [
+ "URN",
"data-uri",
"file-uri",
"ftp",
@@ -6076,9 +6192,11 @@
"psr-7",
"query-string",
"querystring",
+ "rfc2141",
"rfc3986",
"rfc3987",
"rfc6570",
+ "rfc8141",
"uri",
"uri-template",
"url",
@@ -6088,7 +6206,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri/tree/7.5.1"
+ "source": "https://github.com/thephpleague/uri/tree/7.8.0"
},
"funding": [
{
@@ -6096,24 +6214,24 @@
"type": "github"
}
],
- "time": "2024-12-08T08:40:02+00:00"
+ "time": "2026-01-14T17:24:56+00:00"
},
{
"name": "league/uri-components",
- "version": "7.5.1",
+ "version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-components.git",
- "reference": "4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f"
+ "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f",
- "reference": "4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f",
+ "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/8b5ffcebcc0842b76eb80964795bd56a8333b2ba",
+ "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba",
"shasum": ""
},
"require": {
- "league/uri": "^7.5",
+ "league/uri": "^7.8",
"php": "^8.1"
},
"suggest": {
@@ -6122,8 +6240,10 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"ext-mbstring": "to use the sorting algorithm of URLSearchParams",
- "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
+ "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain",
+ "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -6170,7 +6290,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri-components/tree/7.5.1"
+ "source": "https://github.com/thephpleague/uri-components/tree/7.8.0"
},
"funding": [
{
@@ -6178,26 +6298,25 @@
"type": "github"
}
],
- "time": "2024-12-08T08:40:02+00:00"
+ "time": "2026-01-14T17:24:56+00:00"
},
{
"name": "league/uri-interfaces",
- "version": "7.5.0",
+ "version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
+ "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
+ "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
"shasum": ""
},
"require": {
"ext-filter": "*",
"php": "^8.1",
- "psr/http-factory": "^1",
"psr/http-message": "^1.1 || ^2.0"
},
"suggest": {
@@ -6205,6 +6324,7 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -6229,7 +6349,7 @@
"homepage": "https://nyamsprod.com"
}
],
- "description": "Common interfaces and classes for URI representation and interaction",
+ "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI",
"homepage": "https://uri.thephpleague.com",
"keywords": [
"data-uri",
@@ -6254,7 +6374,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
- "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0"
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0"
},
"funding": [
{
@@ -6262,33 +6382,34 @@
"type": "github"
}
],
- "time": "2024-12-08T08:18:47+00:00"
+ "time": "2026-01-15T06:54:53+00:00"
},
{
"name": "liip/imagine-bundle",
- "version": "2.15.0",
+ "version": "2.17.1",
"source": {
"type": "git",
"url": "https://github.com/liip/LiipImagineBundle.git",
- "reference": "f8c98a5a962806f26571db219412b64266c763d8"
+ "reference": "69d2df3c6606495d1878fa190d6c3dc4bc5623b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/f8c98a5a962806f26571db219412b64266c763d8",
- "reference": "f8c98a5a962806f26571db219412b64266c763d8",
+ "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/69d2df3c6606495d1878fa190d6c3dc4bc5623b6",
+ "reference": "69d2df3c6606495d1878fa190d6c3dc4bc5623b6",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"imagine/imagine": "^1.3.2",
- "php": "^7.2|^8.0",
+ "php": "^8.0",
+ "symfony/dependency-injection": "^5.4|^6.4|^7.4|^8.0",
"symfony/deprecation-contracts": "^2.5 || ^3",
- "symfony/filesystem": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/finder": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/framework-bundle": "^3.4.23|^4.4|^5.3|^6.0|^7.0",
- "symfony/mime": "^4.4|^5.3|^6.0|^7.0",
- "symfony/options-resolver": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/process": "^3.4|^4.4|^5.3|^6.0|^7.0",
+ "symfony/filesystem": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/finder": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/framework-bundle": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/mime": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/options-resolver": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/process": "^5.4|^6.4|^7.3|^8.0",
"twig/twig": "^1.44|^2.9|^3.0"
},
"require-dev": {
@@ -6302,17 +6423,17 @@
"phpstan/phpstan": "^1.10.0",
"psr/cache": "^1.0|^2.0|^3.0",
"psr/log": "^1.0",
- "symfony/asset": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/browser-kit": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/cache": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/console": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/dependency-injection": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/form": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/messenger": "^4.4|^5.3|^6.0|^7.0",
- "symfony/phpunit-bridge": "^7.0.2",
- "symfony/templating": "^3.4|^4.4|^5.3|^6.0",
- "symfony/validator": "^3.4|^4.4|^5.3|^6.0|^7.0",
- "symfony/yaml": "^3.4|^4.4|^5.3|^6.0|^7.0"
+ "symfony/asset": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/browser-kit": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/cache": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/console": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/form": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/messenger": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/phpunit-bridge": "^7.3",
+ "symfony/runtime": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/templating": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/validator": "^5.4|^6.4|^7.3|^8.0",
+ "symfony/yaml": "^5.4|^6.4|^7.3|^8.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "required for mongodb components",
@@ -6367,9 +6488,9 @@
],
"support": {
"issues": "https://github.com/liip/LiipImagineBundle/issues",
- "source": "https://github.com/liip/LiipImagineBundle/tree/2.15.0"
+ "source": "https://github.com/liip/LiipImagineBundle/tree/2.17.1"
},
- "time": "2025-10-09T06:49:28+00:00"
+ "time": "2026-01-06T09:34:48+00:00"
},
{
"name": "lorenzo/pinky",
@@ -6675,16 +6796,16 @@
},
{
"name": "monolog/monolog",
- "version": "3.9.0",
+ "version": "3.10.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6"
+ "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6",
- "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0",
+ "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0",
"shasum": ""
},
"require": {
@@ -6702,7 +6823,7 @@
"graylog2/gelf-php": "^1.4.2 || ^2.0",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
- "mongodb/mongodb": "^1.8",
+ "mongodb/mongodb": "^1.8 || ^2.0",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"php-console/php-console": "^3.1.8",
"phpstan/phpstan": "^2",
@@ -6762,7 +6883,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.9.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.10.0"
},
"funding": [
{
@@ -6774,7 +6895,7 @@
"type": "tidelift"
}
],
- "time": "2025-03-24T10:02:05+00:00"
+ "time": "2026-01-02T08:56:05+00:00"
},
{
"name": "myclabs/php-enum",
@@ -6977,25 +7098,28 @@
},
{
"name": "nelmio/cors-bundle",
- "version": "2.5.0",
+ "version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioCorsBundle.git",
- "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544"
+ "reference": "3d80dbcd5d1eb5f8b20ed5199e1778d44c2e4d1c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/3a526fe025cd20e04a6a11370cf5ab28dbb5a544",
- "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544",
+ "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/3d80dbcd5d1eb5f8b20ed5199e1778d44c2e4d1c",
+ "reference": "3d80dbcd5d1eb5f8b20ed5199e1778d44c2e4d1c",
"shasum": ""
},
"require": {
"psr/log": "^1.0 || ^2.0 || ^3.0",
- "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0"
+ "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
- "mockery/mockery": "^1.3.6",
- "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0"
+ "phpstan/phpstan": "^1.11.5",
+ "phpstan/phpstan-deprecation-rules": "^1.2.0",
+ "phpstan/phpstan-phpunit": "^1.4",
+ "phpstan/phpstan-symfony": "^1.4.4",
+ "phpunit/phpunit": "^8"
},
"type": "symfony-bundle",
"extra": {
@@ -7033,47 +7157,47 @@
],
"support": {
"issues": "https://github.com/nelmio/NelmioCorsBundle/issues",
- "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.5.0"
+ "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.6.1"
},
- "time": "2024-06-24T21:25:28+00:00"
+ "time": "2026-01-12T15:59:08+00:00"
},
{
"name": "nelmio/security-bundle",
- "version": "v3.6.0",
+ "version": "v3.8.0",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioSecurityBundle.git",
- "reference": "f3a7bf628a0873788172a0d05d20c0224080f5eb"
+ "reference": "2fafee1cdda1d5952554c44eef4c3c8566d56f40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/f3a7bf628a0873788172a0d05d20c0224080f5eb",
- "reference": "f3a7bf628a0873788172a0d05d20c0224080f5eb",
+ "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/2fafee1cdda1d5952554c44eef4c3c8566d56f40",
+ "reference": "2fafee1cdda1d5952554c44eef4c3c8566d56f40",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"symfony/deprecation-contracts": "^2.5 || ^3",
- "symfony/framework-bundle": "^5.4 || ^6.3 || ^7.0",
- "symfony/http-kernel": "^5.4 || ^6.3 || ^7.0",
- "symfony/security-core": "^5.4 || ^6.3 || ^7.0",
- "symfony/security-csrf": "^5.4 || ^6.3 || ^7.0",
- "symfony/security-http": "^5.4 || ^6.3 || ^7.0",
- "symfony/yaml": "^5.4 || ^6.3 || ^7.0",
+ "symfony/framework-bundle": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/http-kernel": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/security-core": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/security-csrf": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/security-http": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/yaml": "^5.4 || ^6.3 || ^7.0 || ^8.0",
"ua-parser/uap-php": "^3.4.4"
},
"require-dev": {
- "phpstan/phpstan": "^1.4",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.1",
- "phpstan/phpstan-symfony": "^1.1",
- "phpunit/phpunit": "^9.5",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-deprecation-rules": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpstan/phpstan-symfony": "^2.0",
+ "phpunit/phpunit": "^9.5 || ^10.1 || ^11.0",
"psr/cache": "^1.0 || ^2.0 || ^3.0",
- "symfony/browser-kit": "^5.4 || ^6.3 || ^7.0",
- "symfony/cache": "^5.4 || ^6.3 || ^7.0",
- "symfony/phpunit-bridge": "^6.3 || ^7.0",
- "symfony/twig-bundle": "^5.4 || ^6.3 || ^7.0",
+ "symfony/browser-kit": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/cache": "^5.4 || ^6.3 || ^7.0 || ^8.0",
+ "symfony/phpunit-bridge": "^6.3 || ^7.0 || ^8.0",
+ "symfony/twig-bundle": "^5.4 || ^6.3 || ^7.0 || ^8.0",
"twig/twig": "^2.10 || ^3.0"
},
"type": "symfony-bundle",
@@ -7107,31 +7231,31 @@
],
"support": {
"issues": "https://github.com/nelmio/NelmioSecurityBundle/issues",
- "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.6.0"
+ "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.8.0"
},
- "time": "2025-09-19T08:24:46+00:00"
+ "time": "2026-01-14T19:38:55+00:00"
},
{
"name": "nette/schema",
- "version": "v1.3.2",
+ "version": "v1.3.3",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d"
+ "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d",
+ "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004",
+ "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004",
"shasum": ""
},
"require": {
"nette/utils": "^4.0",
- "php": "8.1 - 8.4"
+ "php": "8.1 - 8.5"
},
"require-dev": {
"nette/tester": "^2.5.2",
- "phpstan/phpstan-nette": "^1.0",
+ "phpstan/phpstan-nette": "^2.0@stable",
"tracy/tracy": "^2.8"
},
"type": "library",
@@ -7141,6 +7265,9 @@
}
},
"autoload": {
+ "psr-4": {
+ "Nette\\": "src"
+ },
"classmap": [
"src/"
]
@@ -7169,26 +7296,26 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.2"
+ "source": "https://github.com/nette/schema/tree/v1.3.3"
},
- "time": "2024-10-06T23:10:23+00:00"
+ "time": "2025-10-30T22:57:59+00:00"
},
{
"name": "nette/utils",
- "version": "v4.0.8",
+ "version": "v4.1.2",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede"
+ "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede",
+ "url": "https://api.github.com/repos/nette/utils/zipball/f76b5dc3d6c6d3043c8d937df2698515b99cbaf5",
+ "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5",
"shasum": ""
},
"require": {
- "php": "8.0 - 8.5"
+ "php": "8.2 - 8.5"
},
"conflict": {
"nette/finder": "<3",
@@ -7197,7 +7324,7 @@
"require-dev": {
"jetbrains/phpstorm-attributes": "^1.2",
"nette/tester": "^2.5",
- "phpstan/phpstan-nette": "^2.0@stable",
+ "phpstan/phpstan": "^2.0@stable",
"tracy/tracy": "^2.9"
},
"suggest": {
@@ -7211,7 +7338,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -7258,9 +7385,9 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.0.8"
+ "source": "https://github.com/nette/utils/tree/v4.1.2"
},
- "time": "2025-08-06T21:43:34+00:00"
+ "time": "2026-02-03T17:21:09+00:00"
},
{
"name": "nikolaposa/version",
@@ -7403,63 +7530,63 @@
},
{
"name": "omines/datatables-bundle",
- "version": "0.10.3",
+ "version": "0.10.7",
"source": {
"type": "git",
"url": "https://github.com/omines/datatables-bundle.git",
- "reference": "d64e7d5c72303995ada7365b467166f3cdf4757c"
+ "reference": "4cd6d27b12c79a1ed72b4953a86aedf289e8701d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/omines/datatables-bundle/zipball/d64e7d5c72303995ada7365b467166f3cdf4757c",
- "reference": "d64e7d5c72303995ada7365b467166f3cdf4757c",
+ "url": "https://api.github.com/repos/omines/datatables-bundle/zipball/4cd6d27b12c79a1ed72b4953a86aedf289e8701d",
+ "reference": "4cd6d27b12c79a1ed72b4953a86aedf289e8701d",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/event-dispatcher": "^6.4|^7.1",
- "symfony/framework-bundle": "^6.4|^7.1",
- "symfony/options-resolver": "^6.4|^7.1",
+ "symfony/event-dispatcher": "^6.4|^7.3|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.3|^8.0",
+ "symfony/options-resolver": "^6.4|^7.3|^8.0",
"symfony/polyfill-mbstring": "^1.31.0",
- "symfony/property-access": "^6.4|^7.1",
- "symfony/translation": "^6.4|^7.1"
+ "symfony/property-access": "^6.4|^7.3|^8.0",
+ "symfony/translation": "^6.4|^7.3|^8.0"
},
"conflict": {
"doctrine/orm": "^3.0 <3.3"
},
"require-dev": {
"doctrine/common": "^3.5.0",
- "doctrine/doctrine-bundle": "^2.15.0",
- "doctrine/orm": "^2.19.3|^3.4.1",
- "doctrine/persistence": "^3.4.0|^4.0.0",
+ "doctrine/doctrine-bundle": "^2.18.1|^3.0.0@dev",
+ "doctrine/orm": "^2.19.3|^3.5.7@dev",
+ "doctrine/persistence": "^3.4.0|^4.1.1",
"ext-curl": "*",
"ext-json": "*",
"ext-mbstring": "*",
"ext-mongodb": "*",
"ext-pdo_sqlite": "*",
"ext-zip": "*",
- "friendsofphp/php-cs-fixer": "^3.75.0",
- "mongodb/mongodb": "^1.20.0|^2.1.0",
- "ocramius/package-versions": "^2.9",
- "openspout/openspout": "^4.23",
- "phpoffice/phpspreadsheet": "^2.3.3|^3.9.2|^4.4.0",
+ "friendsofphp/php-cs-fixer": "^3.90.0",
+ "mongodb/mongodb": "^1.20.0|^2.1.2",
+ "openspout/openspout": "^4.28.5",
+ "phpoffice/phpspreadsheet": "^2.3.3|^3.9.2|^4.5.0|^5.2.0",
"phpstan/extension-installer": "^1.4.3",
- "phpstan/phpstan": "^2.1.17",
- "phpstan/phpstan-doctrine": "^2.0.3",
- "phpstan/phpstan-phpunit": "^2.0.6",
- "phpstan/phpstan-symfony": "^2.0.6",
- "phpunit/phpunit": "^10.5.38|^11.5.24",
+ "phpstan/phpstan": "^2.1.32",
+ "phpstan/phpstan-doctrine": "^2.0.11",
+ "phpstan/phpstan-phpunit": "^2.0.8",
+ "phpstan/phpstan-symfony": "^2.0.8",
+ "phpunit/phpunit": "^11.5.44|^12.4.4",
"ruflin/elastica": "^7.3.2",
- "symfony/browser-kit": "^6.4.13|^7.3",
- "symfony/css-selector": "^6.4.13|^7.3",
- "symfony/doctrine-bridge": "^6.4.13|^7.3",
- "symfony/dom-crawler": "^6.4.13|^7.3",
- "symfony/intl": "^6.4.13|^7.3",
- "symfony/mime": "^6.4.13|^7.3",
- "symfony/phpunit-bridge": "^7.3",
- "symfony/twig-bundle": "^6.4|^7.3",
- "symfony/var-dumper": "^6.4.13|^7.3",
- "symfony/yaml": "^6.4.13|^7.3"
+ "symfony/browser-kit": "^6.4.13|^7.3|^8.0",
+ "symfony/css-selector": "^6.4.13|^7.3|^8.0",
+ "symfony/doctrine-bridge": "^6.4.13|^7.3|^8.0",
+ "symfony/dom-crawler": "^6.4.13|^7.3|^8.0",
+ "symfony/intl": "^6.4.13|^7.3|^8.0",
+ "symfony/mime": "^6.4.13|^7.3|^8.0",
+ "symfony/phpunit-bridge": "^7.3|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.3|^8.0",
+ "symfony/var-dumper": "^6.4.13|^7.3|^8.0",
+ "symfony/var-exporter": "^v6.4.26|^7.3",
+ "symfony/yaml": "^6.4.13|^7.3|^8.0"
},
"suggest": {
"doctrine/doctrine-bundle": "For integrated access to Doctrine object managers",
@@ -7511,7 +7638,7 @@
],
"support": {
"issues": "https://github.com/omines/datatables-bundle/issues",
- "source": "https://github.com/omines/datatables-bundle/tree/0.10.3"
+ "source": "https://github.com/omines/datatables-bundle/tree/0.10.7"
},
"funding": [
{
@@ -7519,25 +7646,25 @@
"type": "github"
}
],
- "time": "2025-07-24T19:50:46+00:00"
+ "time": "2025-11-28T21:20:14+00:00"
},
{
"name": "onelogin/php-saml",
- "version": "4.3.0",
+ "version": "4.3.1",
"source": {
"type": "git",
"url": "https://github.com/SAML-Toolkits/php-saml.git",
- "reference": "bf5efce9f2df5d489d05e78c27003a0fc8bc50f0"
+ "reference": "b009f160e4ac11f49366a45e0d45706b48429353"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/SAML-Toolkits/php-saml/zipball/bf5efce9f2df5d489d05e78c27003a0fc8bc50f0",
- "reference": "bf5efce9f2df5d489d05e78c27003a0fc8bc50f0",
+ "url": "https://api.github.com/repos/SAML-Toolkits/php-saml/zipball/b009f160e4ac11f49366a45e0d45706b48429353",
+ "reference": "b009f160e4ac11f49366a45e0d45706b48429353",
"shasum": ""
},
"require": {
"php": ">=7.3",
- "robrichards/xmlseclibs": "^3.1"
+ "robrichards/xmlseclibs": ">=3.1.4"
},
"require-dev": {
"pdepend/pdepend": "^2.8.0",
@@ -7583,7 +7710,7 @@
"type": "github"
}
],
- "time": "2025-05-25T14:28:00+00:00"
+ "time": "2025-12-09T10:50:49+00:00"
},
{
"name": "paragonie/constant_time_encoding",
@@ -7706,16 +7833,16 @@
},
{
"name": "paragonie/sodium_compat",
- "version": "v1.23.0",
+ "version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/sodium_compat.git",
- "reference": "b938a5c6844d222a26d46a6c7b80291e4cd8cfab"
+ "reference": "2cb48f26130919f92f30650bdcc30e6f4ebe45ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/b938a5c6844d222a26d46a6c7b80291e4cd8cfab",
- "reference": "b938a5c6844d222a26d46a6c7b80291e4cd8cfab",
+ "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/2cb48f26130919f92f30650bdcc30e6f4ebe45ac",
+ "reference": "2cb48f26130919f92f30650bdcc30e6f4ebe45ac",
"shasum": ""
},
"require": {
@@ -7786,9 +7913,9 @@
],
"support": {
"issues": "https://github.com/paragonie/sodium_compat/issues",
- "source": "https://github.com/paragonie/sodium_compat/tree/v1.23.0"
+ "source": "https://github.com/paragonie/sodium_compat/tree/v1.24.0"
},
- "time": "2025-10-06T08:53:07+00:00"
+ "time": "2025-12-30T16:16:35+00:00"
},
{
"name": "part-db/exchanger",
@@ -8346,16 +8473,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.6.3",
+ "version": "5.6.6",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9"
+ "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9",
- "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
+ "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"shasum": ""
},
"require": {
@@ -8365,7 +8492,7 @@
"phpdocumentor/reflection-common": "^2.2",
"phpdocumentor/type-resolver": "^1.7",
"phpstan/phpdoc-parser": "^1.7|^2.0",
- "webmozart/assert": "^1.9.1"
+ "webmozart/assert": "^1.9.1 || ^2"
},
"require-dev": {
"mockery/mockery": "~1.3.5 || ~1.6.0",
@@ -8404,22 +8531,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.3"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6"
},
- "time": "2025-08-01T19:43:32+00:00"
+ "time": "2025-12-22T21:13:58+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.10.0",
+ "version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
+ "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
+ "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
"shasum": ""
},
"require": {
@@ -8462,22 +8589,22 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
},
- "time": "2024-11-09T15:12:26+00:00"
+ "time": "2025-11-21T15:09:14+00:00"
},
{
"name": "phpoffice/phpspreadsheet",
- "version": "5.1.0",
+ "version": "5.4.0",
"source": {
"type": "git",
"url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
- "reference": "fd26e45a814e94ae2aad0df757d9d1739c4bf2e0"
+ "reference": "48f2fe37d64c2dece0ef71fb2ac55497566782af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fd26e45a814e94ae2aad0df757d9d1739c4bf2e0",
- "reference": "fd26e45a814e94ae2aad0df757d9d1739c4bf2e0",
+ "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/48f2fe37d64c2dece0ef71fb2ac55497566782af",
+ "reference": "48f2fe37d64c2dece0ef71fb2ac55497566782af",
"shasum": ""
},
"require": {
@@ -8485,6 +8612,7 @@
"ext-ctype": "*",
"ext-dom": "*",
"ext-fileinfo": "*",
+ "ext-filter": "*",
"ext-gd": "*",
"ext-iconv": "*",
"ext-libxml": "*",
@@ -8499,15 +8627,14 @@
"markbaker/complex": "^3.0",
"markbaker/matrix": "^3.0",
"php": "^8.1",
- "psr/http-client": "^1.0",
- "psr/http-factory": "^1.0",
"psr/simple-cache": "^1.0 || ^2.0 || ^3.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "dev-main",
"dompdf/dompdf": "^2.0 || ^3.0",
+ "ext-intl": "*",
"friendsofphp/php-cs-fixer": "^3.2",
- "mitoteam/jpgraph": "^10.3",
+ "mitoteam/jpgraph": "^10.5",
"mpdf/mpdf": "^8.1.1",
"phpcompatibility/php-compatibility": "^9.3",
"phpstan/phpstan": "^1.1 || ^2.0",
@@ -8519,7 +8646,7 @@
},
"suggest": {
"dompdf/dompdf": "Option for rendering PDF with PDF Writer",
- "ext-intl": "PHP Internationalization Functions",
+ "ext-intl": "PHP Internationalization Functions, required for NumberFormat Wizard and StringHelper::setLocale()",
"mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
"mpdf/mpdf": "Option for rendering PDF with PDF Writer",
"tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer"
@@ -8552,6 +8679,9 @@
},
{
"name": "Adrien Crivelli"
+ },
+ {
+ "name": "Owen Leibman"
}
],
"description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
@@ -8568,22 +8698,22 @@
],
"support": {
"issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
- "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.1.0"
+ "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.4.0"
},
- "time": "2025-09-04T05:34:49+00:00"
+ "time": "2026-01-11T04:52:00+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "2.3.0",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495"
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495",
- "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
"shasum": ""
},
"require": {
@@ -8615,9 +8745,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
},
- "time": "2025-08-30T15:50:23+00:00"
+ "time": "2026-01-25T14:56:51+00:00"
},
{
"name": "psr/cache",
@@ -9182,16 +9312,16 @@
},
{
"name": "revolt/event-loop",
- "version": "v1.0.7",
+ "version": "v1.0.8",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3"
+ "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3",
- "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3",
+ "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c",
+ "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c",
"shasum": ""
},
"require": {
@@ -9248,22 +9378,22 @@
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
- "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7"
+ "source": "https://github.com/revoltphp/event-loop/tree/v1.0.8"
},
- "time": "2025-01-25T19:27:39+00:00"
+ "time": "2025-08-27T21:33:23+00:00"
},
{
"name": "rhukster/dom-sanitizer",
- "version": "1.0.7",
+ "version": "1.0.8",
"source": {
"type": "git",
"url": "https://github.com/rhukster/dom-sanitizer.git",
- "reference": "c2a98f27ad742668b254282ccc5581871d0fb601"
+ "reference": "757e4d6ac03afe9afa4f97cbef453fc5c25f0729"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rhukster/dom-sanitizer/zipball/c2a98f27ad742668b254282ccc5581871d0fb601",
- "reference": "c2a98f27ad742668b254282ccc5581871d0fb601",
+ "url": "https://api.github.com/repos/rhukster/dom-sanitizer/zipball/757e4d6ac03afe9afa4f97cbef453fc5c25f0729",
+ "reference": "757e4d6ac03afe9afa4f97cbef453fc5c25f0729",
"shasum": ""
},
"require": {
@@ -9293,22 +9423,22 @@
"description": "A simple but effective DOM/SVG/MathML Sanitizer for PHP 7.4+",
"support": {
"issues": "https://github.com/rhukster/dom-sanitizer/issues",
- "source": "https://github.com/rhukster/dom-sanitizer/tree/1.0.7"
+ "source": "https://github.com/rhukster/dom-sanitizer/tree/1.0.8"
},
- "time": "2023-11-06T16:46:48+00:00"
+ "time": "2024-04-15T08:48:55+00:00"
},
{
"name": "robrichards/xmlseclibs",
- "version": "3.1.3",
+ "version": "3.1.4",
"source": {
"type": "git",
"url": "https://github.com/robrichards/xmlseclibs.git",
- "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07"
+ "reference": "bc87389224c6de95802b505e5265b0ec2c5bcdbd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/2bdfd742624d739dfadbd415f00181b4a77aaf07",
- "reference": "2bdfd742624d739dfadbd415f00181b4a77aaf07",
+ "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/bc87389224c6de95802b505e5265b0ec2c5bcdbd",
+ "reference": "bc87389224c6de95802b505e5265b0ec2c5bcdbd",
"shasum": ""
},
"require": {
@@ -9335,61 +9465,9 @@
],
"support": {
"issues": "https://github.com/robrichards/xmlseclibs/issues",
- "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.3"
+ "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.4"
},
- "time": "2024-11-20T21:13:56+00:00"
- },
- {
- "name": "runtime/frankenphp-symfony",
- "version": "0.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-runtime/frankenphp-symfony.git",
- "reference": "56822c3631d9522a3136a4c33082d006bdfe4bad"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-runtime/frankenphp-symfony/zipball/56822c3631d9522a3136a4c33082d006bdfe4bad",
- "reference": "56822c3631d9522a3136a4c33082d006bdfe4bad",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
- "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
- "symfony/runtime": "^5.4 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.5"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Runtime\\FrankenPhpSymfony\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Kévin Dunglas",
- "email": "kevin@dunglas.dev"
- }
- ],
- "description": "FrankenPHP runtime for Symfony",
- "support": {
- "issues": "https://github.com/php-runtime/frankenphp-symfony/issues",
- "source": "https://github.com/php-runtime/frankenphp-symfony/tree/0.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/nyholm",
- "type": "github"
- }
- ],
- "time": "2023-12-12T12:06:11+00:00"
+ "time": "2025-12-08T11:57:53+00:00"
},
{
"name": "s9e/regexp-builder",
@@ -9481,16 +9559,16 @@
},
{
"name": "s9e/text-formatter",
- "version": "2.19.0",
+ "version": "2.19.3",
"source": {
"type": "git",
"url": "https://github.com/s9e/TextFormatter.git",
- "reference": "d65a4f61cbe494937afb3150dc73b6e757d400d3"
+ "reference": "aee579c12d05ca3053f9b9abdb8c479c0f2fbe69"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/d65a4f61cbe494937afb3150dc73b6e757d400d3",
- "reference": "d65a4f61cbe494937afb3150dc73b6e757d400d3",
+ "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/aee579c12d05ca3053f9b9abdb8c479c0f2fbe69",
+ "reference": "aee579c12d05ca3053f9b9abdb8c479c0f2fbe69",
"shasum": ""
},
"require": {
@@ -9518,7 +9596,7 @@
},
"type": "library",
"extra": {
- "version": "2.19.0"
+ "version": "2.19.3"
},
"autoload": {
"psr-4": {
@@ -9550,31 +9628,39 @@
],
"support": {
"issues": "https://github.com/s9e/TextFormatter/issues",
- "source": "https://github.com/s9e/TextFormatter/tree/2.19.0"
+ "source": "https://github.com/s9e/TextFormatter/tree/2.19.3"
},
- "time": "2025-04-26T09:27:34+00:00"
+ "time": "2025-11-14T21:26:59+00:00"
},
{
"name": "sabberworm/php-css-parser",
- "version": "v8.9.0",
+ "version": "v9.1.0",
"source": {
"type": "git",
"url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
- "reference": "d8e916507b88e389e26d4ab03c904a082aa66bb9"
+ "reference": "1b363fdbdc6dd0ca0f4bf98d3a4d7f388133f1fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/d8e916507b88e389e26d4ab03c904a082aa66bb9",
- "reference": "d8e916507b88e389e26d4ab03c904a082aa66bb9",
+ "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/1b363fdbdc6dd0ca0f4bf98d3a4d7f388133f1fb",
+ "reference": "1b363fdbdc6dd0ca0f4bf98d3a4d7f388133f1fb",
"shasum": ""
},
"require": {
"ext-iconv": "*",
- "php": "^5.6.20 || ^7.0.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
+ "php": "^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
+ "thecodingmachine/safe": "^1.3 || ^2.5 || ^3.3"
},
"require-dev": {
- "phpunit/phpunit": "5.7.27 || 6.5.14 || 7.5.20 || 8.5.41",
- "rawr/cross-data-providers": "^2.0.0"
+ "php-parallel-lint/php-parallel-lint": "1.4.0",
+ "phpstan/extension-installer": "1.4.3",
+ "phpstan/phpstan": "1.12.28 || 2.1.25",
+ "phpstan/phpstan-phpunit": "1.4.2 || 2.0.7",
+ "phpstan/phpstan-strict-rules": "1.6.2 || 2.0.6",
+ "phpunit/phpunit": "8.5.46",
+ "rawr/phpunit-data-provider": "3.3.1",
+ "rector/rector": "1.2.10 || 2.1.7",
+ "rector/type-perfect": "1.0.0 || 2.1.0"
},
"suggest": {
"ext-mbstring": "for parsing UTF-8 CSS"
@@ -9582,7 +9668,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "9.0.x-dev"
+ "dev-main": "9.2.x-dev"
}
},
"autoload": {
@@ -9616,26 +9702,86 @@
],
"support": {
"issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
- "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.9.0"
+ "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v9.1.0"
},
- "time": "2025-07-11T13:20:48+00:00"
+ "time": "2025-09-14T07:37:21+00:00"
},
{
- "name": "scheb/2fa-backup-code",
- "version": "v7.11.0",
+ "name": "sabre/uri",
+ "version": "3.0.2",
"source": {
"type": "git",
- "url": "https://github.com/scheb/2fa-backup-code.git",
- "reference": "62c6099b179903db5ab03b8059068cdb28659294"
+ "url": "https://github.com/sabre-io/uri.git",
+ "reference": "38eeab6ed9eec435a2188db489d4649c56272c51"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/scheb/2fa-backup-code/zipball/62c6099b179903db5ab03b8059068cdb28659294",
- "reference": "62c6099b179903db5ab03b8059068cdb28659294",
+ "url": "https://api.github.com/repos/sabre-io/uri/zipball/38eeab6ed9eec435a2188db489d4649c56272c51",
+ "reference": "38eeab6ed9eec435a2188db489d4649c56272c51",
"shasum": ""
},
"require": {
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.64",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^1.12",
+ "phpstan/phpstan-phpunit": "^1.4",
+ "phpstan/phpstan-strict-rules": "^1.6",
+ "phpunit/phpunit": "^9.6"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/functions.php"
+ ],
+ "psr-4": {
+ "Sabre\\Uri\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Evert Pot",
+ "email": "me@evertpot.com",
+ "homepage": "http://evertpot.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Functions for making sense out of URIs.",
+ "homepage": "http://sabre.io/uri/",
+ "keywords": [
+ "rfc3986",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "forum": "https://groups.google.com/group/sabredav-discuss",
+ "issues": "https://github.com/sabre-io/uri/issues",
+ "source": "https://github.com/fruux/sabre-uri"
+ },
+ "time": "2024-09-04T15:30:08+00:00"
+ },
+ {
+ "name": "scheb/2fa-backup-code",
+ "version": "v7.13.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/scheb/2fa-backup-code.git",
+ "reference": "35f1ace4be7be2c10158d2bb8284208499111db8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/scheb/2fa-backup-code/zipball/35f1ace4be7be2c10158d2bb8284208499111db8",
+ "reference": "35f1ace4be7be2c10158d2bb8284208499111db8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"scheb/2fa-bundle": "self.version"
},
"type": "library",
@@ -9665,27 +9811,27 @@
"two-step"
],
"support": {
- "source": "https://github.com/scheb/2fa-backup-code/tree/v7.11.0"
+ "source": "https://github.com/scheb/2fa-backup-code/tree/v7.13.1"
},
- "time": "2025-04-20T08:27:40+00:00"
+ "time": "2025-11-20T13:35:24+00:00"
},
{
"name": "scheb/2fa-bundle",
- "version": "v7.11.0",
+ "version": "v7.13.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-bundle.git",
- "reference": "06a343d14dad8cdd1670157d384738f9cfba29e5"
+ "reference": "edcc14456b508aab37ec792cfc36793d04226784"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/scheb/2fa-bundle/zipball/06a343d14dad8cdd1670157d384738f9cfba29e5",
- "reference": "06a343d14dad8cdd1670157d384738f9cfba29e5",
+ "url": "https://api.github.com/repos/scheb/2fa-bundle/zipball/edcc14456b508aab37ec792cfc36793d04226784",
+ "reference": "edcc14456b508aab37ec792cfc36793d04226784",
"shasum": ""
},
"require": {
"ext-json": "*",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"symfony/config": "^6.4 || ^7.0",
"symfony/dependency-injection": "^6.4 || ^7.0",
"symfony/event-dispatcher": "^6.4 || ^7.0",
@@ -9733,29 +9879,32 @@
"two-step"
],
"support": {
- "source": "https://github.com/scheb/2fa-bundle/tree/v7.11.0"
+ "source": "https://github.com/scheb/2fa-bundle/tree/v7.13.1"
},
- "time": "2025-06-27T12:14:20+00:00"
+ "time": "2025-12-18T15:29:07+00:00"
},
{
"name": "scheb/2fa-google-authenticator",
- "version": "v7.11.0",
+ "version": "v7.13.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-google-authenticator.git",
- "reference": "01a446eb68a76c3d0528a190029afa5e6ce5c384"
+ "reference": "7ad34bbde343a0770571464127ee072aacb70a58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/scheb/2fa-google-authenticator/zipball/01a446eb68a76c3d0528a190029afa5e6ce5c384",
- "reference": "01a446eb68a76c3d0528a190029afa5e6ce5c384",
+ "url": "https://api.github.com/repos/scheb/2fa-google-authenticator/zipball/7ad34bbde343a0770571464127ee072aacb70a58",
+ "reference": "7ad34bbde343a0770571464127ee072aacb70a58",
"shasum": ""
},
"require": {
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"scheb/2fa-bundle": "self.version",
"spomky-labs/otphp": "^11.0"
},
+ "suggest": {
+ "symfony/validator": "Needed if you want to use the Google Authenticator TOTP validator constraint"
+ },
"type": "library",
"autoload": {
"psr-4": {
@@ -9783,28 +9932,28 @@
"two-step"
],
"support": {
- "source": "https://github.com/scheb/2fa-google-authenticator/tree/v7.11.0"
+ "source": "https://github.com/scheb/2fa-google-authenticator/tree/v7.13.1"
},
- "time": "2025-04-20T08:38:44+00:00"
+ "time": "2025-12-04T15:55:14+00:00"
},
{
"name": "scheb/2fa-trusted-device",
- "version": "v7.11.0",
+ "version": "v7.13.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-trusted-device.git",
- "reference": "6ab98fdee3aa001ca6598eeb422d9abf2c85b5b3"
+ "reference": "ae3a5819faccbf151af078f432e4e6c97bb44ebf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/scheb/2fa-trusted-device/zipball/6ab98fdee3aa001ca6598eeb422d9abf2c85b5b3",
- "reference": "6ab98fdee3aa001ca6598eeb422d9abf2c85b5b3",
+ "url": "https://api.github.com/repos/scheb/2fa-trusted-device/zipball/ae3a5819faccbf151af078f432e4e6c97bb44ebf",
+ "reference": "ae3a5819faccbf151af078f432e4e6c97bb44ebf",
"shasum": ""
},
"require": {
"lcobucci/clock": "^3.0",
"lcobucci/jwt": "^5.0",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"scheb/2fa-bundle": "self.version"
},
"type": "library",
@@ -9834,9 +9983,9 @@
"two-step"
],
"support": {
- "source": "https://github.com/scheb/2fa-trusted-device/tree/v7.11.0"
+ "source": "https://github.com/scheb/2fa-trusted-device/tree/v7.13.1"
},
- "time": "2025-06-27T12:14:20+00:00"
+ "time": "2025-12-01T15:40:59+00:00"
},
{
"name": "shivas/versioning-bundle",
@@ -9900,21 +10049,21 @@
},
{
"name": "spatie/db-dumper",
- "version": "3.8.0",
+ "version": "3.8.3",
"source": {
"type": "git",
"url": "https://github.com/spatie/db-dumper.git",
- "reference": "91e1fd4dc000aefc9753cda2da37069fc996baee"
+ "reference": "eac3221fbe27fac51f388600d27b67b1b079406e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/db-dumper/zipball/91e1fd4dc000aefc9753cda2da37069fc996baee",
- "reference": "91e1fd4dc000aefc9753cda2da37069fc996baee",
+ "url": "https://api.github.com/repos/spatie/db-dumper/zipball/eac3221fbe27fac51f388600d27b67b1b079406e",
+ "reference": "eac3221fbe27fac51f388600d27b67b1b079406e",
"shasum": ""
},
"require": {
"php": "^8.0",
- "symfony/process": "^5.0|^6.0|^7.0"
+ "symfony/process": "^5.0|^6.0|^7.0|^8.0"
},
"require-dev": {
"pestphp/pest": "^1.22"
@@ -9947,7 +10096,7 @@
"spatie"
],
"support": {
- "source": "https://github.com/spatie/db-dumper/tree/3.8.0"
+ "source": "https://github.com/spatie/db-dumper/tree/3.8.3"
},
"funding": [
{
@@ -9959,44 +10108,32 @@
"type": "github"
}
],
- "time": "2025-02-14T15:04:22+00:00"
+ "time": "2026-01-05T16:26:03+00:00"
},
{
"name": "spomky-labs/cbor-php",
- "version": "3.1.1",
+ "version": "3.2.2",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/cbor-php.git",
- "reference": "5404f3e21cbe72f5cf612aa23db2b922fd2f43bf"
+ "reference": "2a5fb86aacfe1004611370ead6caa2bfc88435d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/5404f3e21cbe72f5cf612aa23db2b922fd2f43bf",
- "reference": "5404f3e21cbe72f5cf612aa23db2b922fd2f43bf",
+ "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/2a5fb86aacfe1004611370ead6caa2bfc88435d0",
+ "reference": "2a5fb86aacfe1004611370ead6caa2bfc88435d0",
"shasum": ""
},
"require": {
- "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13",
+ "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13|^0.14",
"ext-mbstring": "*",
"php": ">=8.0"
},
"require-dev": {
- "deptrac/deptrac": "^3.0",
- "ekino/phpstan-banned-code": "^1.0|^2.0|^3.0",
"ext-json": "*",
- "infection/infection": "^0.29",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.0|^2.0",
- "phpstan/phpstan-beberlei-assert": "^1.0|^2.0",
- "phpstan/phpstan-deprecation-rules": "^1.0|^2.0",
- "phpstan/phpstan-phpunit": "^1.0|^2.0",
- "phpstan/phpstan-strict-rules": "^1.0|^2.0",
- "phpunit/phpunit": "^10.1|^11.0|^12.0",
- "rector/rector": "^1.0|^2.0",
"roave/security-advisories": "dev-latest",
- "symfony/var-dumper": "^6.0|^7.0",
- "symplify/easy-coding-standard": "^12.0"
+ "symfony/error-handler": "^6.4|^7.1|^8.0",
+ "symfony/var-dumper": "^6.4|^7.1|^8.0"
},
"suggest": {
"ext-bcmath": "GMP or BCMath extensions will drastically improve the library performance. BCMath extension needed to handle the Big Float and Decimal Fraction Tags",
@@ -10030,7 +10167,7 @@
],
"support": {
"issues": "https://github.com/Spomky-Labs/cbor-php/issues",
- "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.1.1"
+ "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.2.2"
},
"funding": [
{
@@ -10042,42 +10179,30 @@
"type": "patreon"
}
],
- "time": "2025-06-13T11:57:55+00:00"
+ "time": "2025-11-13T13:00:34+00:00"
},
{
"name": "spomky-labs/otphp",
- "version": "11.3.0",
+ "version": "11.4.2",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/otphp.git",
- "reference": "2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33"
+ "reference": "2a1b503fd1c1a5c751ab3c5cd37f2d2d26ab74ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33",
- "reference": "2d8ccb5fc992b9cc65ef321fa4f00fefdb3f4b33",
+ "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/2a1b503fd1c1a5c751ab3c5cd37f2d2d26ab74ad",
+ "reference": "2a1b503fd1c1a5c751ab3c5cd37f2d2d26ab74ad",
"shasum": ""
},
"require": {
- "ext-mbstring": "*",
"paragonie/constant_time_encoding": "^2.0 || ^3.0",
"php": ">=8.1",
"psr/clock": "^1.0",
"symfony/deprecation-contracts": "^3.2"
},
"require-dev": {
- "ekino/phpstan-banned-code": "^1.0",
- "infection/infection": "^0.26|^0.27|^0.28|^0.29",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.0",
- "phpunit/phpunit": "^9.5.26|^10.0|^11.0",
- "qossmic/deptrac-shim": "^1.0",
- "rector/rector": "^1.0",
- "symfony/phpunit-bridge": "^6.1|^7.0",
- "symplify/easy-coding-standard": "^12.0"
+ "symfony/error-handler": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -10112,7 +10237,7 @@
],
"support": {
"issues": "https://github.com/Spomky-Labs/otphp/issues",
- "source": "https://github.com/Spomky-Labs/otphp/tree/11.3.0"
+ "source": "https://github.com/Spomky-Labs/otphp/tree/11.4.2"
},
"funding": [
{
@@ -10124,24 +10249,24 @@
"type": "patreon"
}
],
- "time": "2024-06-12T11:22:32+00:00"
+ "time": "2026-01-23T10:53:01+00:00"
},
{
"name": "spomky-labs/pki-framework",
- "version": "1.3.0",
+ "version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/pki-framework.git",
- "reference": "eced5b5ce70518b983ff2be486e902bbd15135ae"
+ "reference": "f0e9a548df4e3942886adc9b7830581a46334631"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/eced5b5ce70518b983ff2be486e902bbd15135ae",
- "reference": "eced5b5ce70518b983ff2be486e902bbd15135ae",
+ "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/f0e9a548df4e3942886adc9b7830581a46334631",
+ "reference": "f0e9a548df4e3942886adc9b7830581a46334631",
"shasum": ""
},
"require": {
- "brick/math": "^0.10|^0.11|^0.12|^0.13",
+ "brick/math": "^0.10|^0.11|^0.12|^0.13|^0.14",
"ext-mbstring": "*",
"php": ">=8.1"
},
@@ -10149,7 +10274,7 @@
"ekino/phpstan-banned-code": "^1.0|^2.0|^3.0",
"ext-gmp": "*",
"ext-openssl": "*",
- "infection/infection": "^0.28|^0.29",
+ "infection/infection": "^0.28|^0.29|^0.31",
"php-parallel-lint/php-parallel-lint": "^1.3",
"phpstan/extension-installer": "^1.3|^2.0",
"phpstan/phpstan": "^1.8|^2.0",
@@ -10159,8 +10284,8 @@
"phpunit/phpunit": "^10.1|^11.0|^12.0",
"rector/rector": "^1.0|^2.0",
"roave/security-advisories": "dev-latest",
- "symfony/string": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
"symplify/easy-coding-standard": "^12.0"
},
"suggest": {
@@ -10221,7 +10346,7 @@
],
"support": {
"issues": "https://github.com/Spomky-Labs/pki-framework/issues",
- "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.3.0"
+ "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.4.1"
},
"funding": [
{
@@ -10233,7 +10358,7 @@
"type": "patreon"
}
],
- "time": "2025-06-13T08:35:04+00:00"
+ "time": "2025-12-20T12:57:40+00:00"
},
{
"name": "symfony/apache-pack",
@@ -10263,16 +10388,16 @@
},
{
"name": "symfony/asset",
- "version": "v7.3.0",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset.git",
- "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b"
+ "reference": "a6f49cf087a1fcfe7130b9b604a8a2b878b06c40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/56c4d9f759247c4e07d8549e3baf7493cb9c3e4b",
- "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/a6f49cf087a1fcfe7130b9b604a8a2b878b06c40",
+ "reference": "a6f49cf087a1fcfe7130b9b604a8a2b878b06c40",
"shasum": ""
},
"require": {
@@ -10282,9 +10407,9 @@
"symfony/http-foundation": "<6.4"
},
"require-dev": {
- "symfony/http-client": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -10312,7 +10437,7 @@
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/asset/tree/v7.3.0"
+ "source": "https://github.com/symfony/asset/tree/v7.4.4"
},
"funding": [
{
@@ -10323,25 +10448,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-03-05T10:15:41+00:00"
+ "time": "2026-01-13T10:40:19+00:00"
},
{
"name": "symfony/cache",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f"
+ "reference": "8dde98d5a4123b53877aca493f9be57b333f14bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f",
- "reference": "bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/8dde98d5a4123b53877aca493f9be57b333f14bd",
+ "reference": "8dde98d5a4123b53877aca493f9be57b333f14bd",
"shasum": ""
},
"require": {
@@ -10349,12 +10478,14 @@
"psr/cache": "^2.0|^3.0",
"psr/log": "^1.1|^2|^3",
"symfony/cache-contracts": "^3.6",
- "symfony/deprecation-contracts": "^2.5|^3.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/service-contracts": "^2.5|^3",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"conflict": {
"doctrine/dbal": "<3.6",
+ "ext-redis": "<6.1",
+ "ext-relay": "<0.12.1",
"symfony/dependency-injection": "<6.4",
"symfony/http-kernel": "<6.4",
"symfony/var-dumper": "<6.4"
@@ -10369,13 +10500,13 @@
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -10410,7 +10541,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.3.4"
+ "source": "https://github.com/symfony/cache/tree/v7.4.5"
},
"funding": [
{
@@ -10430,7 +10561,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -10510,16 +10641,16 @@
},
{
"name": "symfony/clock",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24"
+ "reference": "9169f24776edde469914c1e7a1442a50f7a4e110"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
- "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/9169f24776edde469914c1e7a1442a50f7a4e110",
+ "reference": "9169f24776edde469914c1e7a1442a50f7a4e110",
"shasum": ""
},
"require": {
@@ -10564,7 +10695,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.3.0"
+ "source": "https://github.com/symfony/clock/tree/v7.4.0"
},
"funding": [
{
@@ -10575,31 +10706,35 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2025-11-12T15:39:26+00:00"
},
{
"name": "symfony/config",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "8a09223170046d2cfda3d2e11af01df2c641e961"
+ "reference": "4275b53b8ab0cf37f48bf273dc2285c8178efdfb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/8a09223170046d2cfda3d2e11af01df2c641e961",
- "reference": "8a09223170046d2cfda3d2e11af01df2c641e961",
+ "url": "https://api.github.com/repos/symfony/config/zipball/4275b53b8ab0cf37f48bf273dc2285c8178efdfb",
+ "reference": "4275b53b8ab0cf37f48bf273dc2285c8178efdfb",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/filesystem": "^7.1",
+ "symfony/filesystem": "^7.1|^8.0",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
@@ -10607,11 +10742,11 @@
"symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -10639,7 +10774,7 @@
"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/v7.3.4"
+ "source": "https://github.com/symfony/config/tree/v7.4.4"
},
"funding": [
{
@@ -10659,20 +10794,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-22T12:46:16+00:00"
+ "time": "2026-01-13T11:36:38+00:00"
},
{
"name": "symfony/console",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db"
+ "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db",
- "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db",
+ "url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
+ "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
"shasum": ""
},
"require": {
@@ -10680,7 +10815,7 @@
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^7.2"
+ "symfony/string": "^7.2|^8.0"
},
"conflict": {
"symfony/dependency-injection": "<6.4",
@@ -10694,16 +10829,16 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -10737,7 +10872,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.3.4"
+ "source": "https://github.com/symfony/console/tree/v7.4.4"
},
"funding": [
{
@@ -10757,20 +10892,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-22T15:31:00+00:00"
+ "time": "2026-01-13T11:36:38+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2"
+ "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2",
- "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/ab862f478513e7ca2fe9ec117a6f01a8da6e1135",
+ "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135",
"shasum": ""
},
"require": {
@@ -10806,7 +10941,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.3.0"
+ "source": "https://github.com/symfony/css-selector/tree/v7.4.0"
},
"funding": [
{
@@ -10817,33 +10952,37 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-25T14:21:43+00:00"
+ "time": "2025-10-30T13:39:42+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4"
+ "reference": "76a02cddca45a5254479ad68f9fa274ead0a7ef2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/82119812ab0bf3425c1234d413efd1b19bb92ae4",
- "reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/76a02cddca45a5254479ad68f9fa274ead0a7ef2",
+ "reference": "76a02cddca45a5254479ad68f9fa274ead0a7ef2",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/service-contracts": "^3.5",
- "symfony/var-exporter": "^6.4.20|^7.2.5"
+ "symfony/service-contracts": "^3.6",
+ "symfony/var-exporter": "^6.4.20|^7.2.5|^8.0"
},
"conflict": {
"ext-psr": "<1.1|>=2",
@@ -10856,9 +10995,9 @@
"symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -10886,7 +11025,7 @@
"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/v7.3.4"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.4.5"
},
"funding": [
{
@@ -10906,7 +11045,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -10977,16 +11116,16 @@
},
{
"name": "symfony/doctrine-bridge",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "21cd48c34a47a0d0e303a590a67c3450fde55888"
+ "reference": "3408d9fb7bda6c8db9f3e4099863c9017bcbc62d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/21cd48c34a47a0d0e303a590a67c3450fde55888",
- "reference": "21cd48c34a47a0d0e303a590a67c3450fde55888",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/3408d9fb7bda6c8db9f3e4099863c9017bcbc62d",
+ "reference": "3408d9fb7bda6c8db9f3e4099863c9017bcbc62d",
"shasum": ""
},
"require": {
@@ -11013,7 +11152,7 @@
"symfony/property-info": "<6.4",
"symfony/security-bundle": "<6.4",
"symfony/security-core": "<6.4",
- "symfony/validator": "<6.4"
+ "symfony/validator": "<7.4"
},
"require-dev": {
"doctrine/collections": "^1.8|^2.0",
@@ -11021,24 +11160,24 @@
"doctrine/dbal": "^3.6|^4",
"doctrine/orm": "^2.15|^3",
"psr/log": "^1|^2|^3",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/doctrine-messenger": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/form": "^6.4.6|^7.0.6",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/type-info": "^7.1.8",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/doctrine-messenger": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/form": "^7.2|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/type-info": "^7.1.8|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^7.4|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "symfony-bridge",
"autoload": {
@@ -11066,7 +11205,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v7.3.4"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v7.4.4"
},
"funding": [
{
@@ -11086,30 +11225,31 @@
"type": "tidelift"
}
],
- "time": "2025-09-24T09:56:23+00:00"
+ "time": "2026-01-20T16:42:42+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v7.3.3",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba"
+ "reference": "71fd6a82fc357c8b5de22f78b228acfc43dee965"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/efa076ea0eeff504383ff0dcf827ea5ce15690ba",
- "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/71fd6a82fc357c8b5de22f78b228acfc43dee965",
+ "reference": "71fd6a82fc357c8b5de22f78b228acfc43dee965",
"shasum": ""
},
"require": {
"masterminds/html5": "^2.6",
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
- "symfony/css-selector": "^6.4|^7.0"
+ "symfony/css-selector": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11137,7 +11277,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v7.3.3"
+ "source": "https://github.com/symfony/dom-crawler/tree/v7.4.4"
},
"funding": [
{
@@ -11157,20 +11297,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-06T20:13:54+00:00"
+ "time": "2026-01-05T08:47:25+00:00"
},
{
"name": "symfony/dotenv",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
- "reference": "2192790a11f9e22cbcf9dc705a3ff22a5503923a"
+ "reference": "1658a4d34df028f3d93bcdd8e81f04423925a364"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/2192790a11f9e22cbcf9dc705a3ff22a5503923a",
- "reference": "2192790a11f9e22cbcf9dc705a3ff22a5503923a",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/1658a4d34df028f3d93bcdd8e81f04423925a364",
+ "reference": "1658a4d34df028f3d93bcdd8e81f04423925a364",
"shasum": ""
},
"require": {
@@ -11181,8 +11321,8 @@
"symfony/process": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11215,7 +11355,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v7.3.2"
+ "source": "https://github.com/symfony/dotenv/tree/v7.4.0"
},
"funding": [
{
@@ -11235,36 +11375,37 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:29:33+00:00"
+ "time": "2025-11-16T10:14:42+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4"
+ "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/99f81bc944ab8e5dae4f21b4ca9972698bbad0e4",
- "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8",
+ "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/polyfill-php85": "^1.32",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"conflict": {
"symfony/deprecation-contracts": "<2.5",
"symfony/http-kernel": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
"symfony/webpack-encore-bundle": "^1.0|^2.0"
},
"bin": [
@@ -11296,7 +11437,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v7.3.4"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.4"
},
"funding": [
{
@@ -11316,20 +11457,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-20T16:42:42+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.3.3",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191"
+ "reference": "dc2c0eba1af673e736bb851d747d266108aea746"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746",
+ "reference": "dc2c0eba1af673e736bb851d747d266108aea746",
"shasum": ""
},
"require": {
@@ -11346,13 +11487,14 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11380,7 +11522,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.4"
},
"funding": [
{
@@ -11400,7 +11542,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2026-01-05T11:45:34+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -11480,21 +11622,21 @@
},
{
"name": "symfony/expression-language",
- "version": "v7.3.2",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "32d2d19c62e58767e6552166c32fb259975d2b23"
+ "reference": "f3a6497eb6573e185f2ec41cd3b3f0cd68ddf667"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/32d2d19c62e58767e6552166c32fb259975d2b23",
- "reference": "32d2d19c62e58767e6552166c32fb259975d2b23",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/f3a6497eb6573e185f2ec41cd3b3f0cd68ddf667",
+ "reference": "f3a6497eb6573e185f2ec41cd3b3f0cd68ddf667",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/cache": "^6.4|^7.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/service-contracts": "^2.5|^3"
},
@@ -11524,7 +11666,7 @@
"description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/expression-language/tree/v7.3.2"
+ "source": "https://github.com/symfony/expression-language/tree/v7.4.4"
},
"funding": [
{
@@ -11544,20 +11686,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:29:33+00:00"
+ "time": "2026-01-05T08:47:25+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd"
+ "reference": "d551b38811096d0be9c4691d406991b47c0c630a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd",
- "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/d551b38811096d0be9c4691d406991b47c0c630a",
+ "reference": "d551b38811096d0be9c4691d406991b47c0c630a",
"shasum": ""
},
"require": {
@@ -11566,7 +11708,7 @@
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^6.4|^7.0"
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11594,7 +11736,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.3.2"
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.0"
},
"funding": [
{
@@ -11614,27 +11756,27 @@
"type": "tidelift"
}
],
- "time": "2025-07-07T08:17:47+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.3.2",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe"
+ "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe",
- "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
+ "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11662,7 +11804,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.3.2"
+ "source": "https://github.com/symfony/finder/tree/v7.4.5"
},
"funding": [
{
@@ -11682,35 +11824,36 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T13:41:35+00:00"
+ "time": "2026-01-26T15:07:59+00:00"
},
{
"name": "symfony/flex",
- "version": "v2.8.2",
+ "version": "v2.10.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
- "reference": "f356aa35f3cf3d2f46c31d344c1098eb2d260426"
+ "reference": "9cd384775973eabbf6e8b05784dda279fc67c28d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/flex/zipball/f356aa35f3cf3d2f46c31d344c1098eb2d260426",
- "reference": "f356aa35f3cf3d2f46c31d344c1098eb2d260426",
+ "url": "https://api.github.com/repos/symfony/flex/zipball/9cd384775973eabbf6e8b05784dda279fc67c28d",
+ "reference": "9cd384775973eabbf6e8b05784dda279fc67c28d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^2.1",
- "php": ">=8.0"
+ "php": ">=8.1"
},
"conflict": {
- "composer/semver": "<1.7.2"
+ "composer/semver": "<1.7.2",
+ "symfony/dotenv": "<5.4"
},
"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"
+ "symfony/dotenv": "^6.4|^7.4|^8.0",
+ "symfony/filesystem": "^6.4|^7.4|^8.0",
+ "symfony/phpunit-bridge": "^6.4|^7.4|^8.0",
+ "symfony/process": "^6.4|^7.4|^8.0"
},
"type": "composer-plugin",
"extra": {
@@ -11734,7 +11877,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
- "source": "https://github.com/symfony/flex/tree/v2.8.2"
+ "source": "https://github.com/symfony/flex/tree/v2.10.0"
},
"funding": [
{
@@ -11754,31 +11897,31 @@
"type": "tidelift"
}
],
- "time": "2025-08-22T07:17:23+00:00"
+ "time": "2025-11-16T09:38:19+00:00"
},
{
"name": "symfony/form",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "7b3eee0f4d4dfd1ff1be70a27474197330c61736"
+ "reference": "264fc873f01376216f0b884ecc81b34b830e25a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/7b3eee0f4d4dfd1ff1be70a27474197330c61736",
- "reference": "7b3eee0f4d4dfd1ff1be70a27474197330c61736",
+ "url": "https://api.github.com/repos/symfony/form/zipball/264fc873f01376216f0b884ecc81b34b830e25a8",
+ "reference": "264fc873f01376216f0b884ecc81b34b830e25a8",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/options-resolver": "^7.3",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/options-resolver": "^7.3|^8.0",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/property-access": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -11788,26 +11931,28 @@
"symfony/error-handler": "<6.4",
"symfony/framework-bundle": "<6.4",
"symfony/http-kernel": "<6.4",
+ "symfony/intl": "<7.4",
"symfony/translation": "<6.4.3|>=7.0,<7.0.3",
"symfony/translation-contracts": "<2.5",
"symfony/twig-bridge": "<6.4"
},
"require-dev": {
"doctrine/collections": "^1.0|^2.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/html-sanitizer": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/translation": "^6.4.3|^7.0.3",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/html-sanitizer": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^7.4|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4.3|^7.0.3|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4.12|^7.1.5|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11835,7 +11980,7 @@
"description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/v7.3.4"
+ "source": "https://github.com/symfony/form/tree/v7.4.4"
},
"funding": [
{
@@ -11855,57 +12000,56 @@
"type": "tidelift"
}
],
- "time": "2025-09-22T15:31:00+00:00"
+ "time": "2026-01-23T10:51:15+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "b13e7cec5a144c8dba6f4233a2c53c00bc29e140"
+ "reference": "dcf89ca6712d9e1b5d3f14dea0e1c2685a05d1cd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/b13e7cec5a144c8dba6f4233a2c53c00bc29e140",
- "reference": "b13e7cec5a144c8dba6f4233a2c53c00bc29e140",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/dcf89ca6712d9e1b5d3f14dea0e1c2685a05d1cd",
+ "reference": "dcf89ca6712d9e1b5d3f14dea0e1c2685a05d1cd",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*",
"php": ">=8.2",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^7.3",
- "symfony/dependency-injection": "^7.2",
+ "symfony/cache": "^6.4.12|^7.0|^8.0",
+ "symfony/config": "^7.4.4|^8.0.4",
+ "symfony/dependency-injection": "^7.4.4|^8.0.4",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^7.3",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/filesystem": "^7.1",
- "symfony/finder": "^6.4|^7.0",
- "symfony/http-foundation": "^7.3",
- "symfony/http-kernel": "^7.2",
+ "symfony/error-handler": "^7.3|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/filesystem": "^7.1|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
+ "symfony/http-kernel": "^7.4|^8.0",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/routing": "^6.4|^7.0"
+ "symfony/polyfill-php85": "^1.32",
+ "symfony/routing": "^7.4|^8.0"
},
"conflict": {
"doctrine/persistence": "<1.3",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=6",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/asset": "<6.4",
"symfony/asset-mapper": "<6.4",
"symfony/clock": "<6.4",
"symfony/console": "<6.4",
"symfony/dom-crawler": "<6.4",
"symfony/dotenv": "<6.4",
- "symfony/form": "<6.4",
+ "symfony/form": "<7.4",
"symfony/http-client": "<6.4",
- "symfony/json-streamer": ">=7.4",
"symfony/lock": "<6.4",
"symfony/mailer": "<6.4",
- "symfony/messenger": "<6.4",
+ "symfony/messenger": "<7.4",
"symfony/mime": "<6.4",
- "symfony/object-mapper": ">=7.4",
"symfony/property-access": "<6.4",
"symfony/property-info": "<6.4",
"symfony/runtime": "<6.4.13|>=7.0,<7.1.6",
@@ -11920,51 +12064,52 @@
"symfony/validator": "<6.4",
"symfony/web-profiler-bundle": "<6.4",
"symfony/webhook": "<7.2",
- "symfony/workflow": "<7.3.0-beta2"
+ "symfony/workflow": "<7.4"
},
"require-dev": {
"doctrine/persistence": "^1.3|^2|^3",
"dragonmantank/cron-expression": "^3.1",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "phpdocumentor/reflection-docblock": "^5.2",
"seld/jsonlint": "^1.10",
- "symfony/asset": "^6.4|^7.0",
- "symfony/asset-mapper": "^6.4|^7.0",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/dom-crawler": "^6.4|^7.0",
- "symfony/dotenv": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/html-sanitizer": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/json-streamer": "7.3.*",
- "symfony/lock": "^6.4|^7.0",
- "symfony/mailer": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/notifier": "^6.4|^7.0",
- "symfony/object-mapper": "^v7.3.0-beta2",
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/asset-mapper": "^6.4|^7.0|^8.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/dotenv": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/form": "^7.4|^8.0",
+ "symfony/html-sanitizer": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/json-streamer": "^7.3|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/mailer": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^7.4|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/notifier": "^6.4|^7.0|^8.0",
+ "symfony/object-mapper": "^7.3|^8.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/scheduler": "^6.4.4|^7.0.4",
- "symfony/security-bundle": "^6.4|^7.0",
- "symfony/semaphore": "^6.4|^7.0",
- "symfony/serializer": "^7.2.5",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/string": "^6.4|^7.0",
- "symfony/translation": "^7.3",
- "symfony/twig-bundle": "^6.4|^7.0",
- "symfony/type-info": "^7.1.8",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/web-link": "^6.4|^7.0",
- "symfony/webhook": "^7.2",
- "symfony/workflow": "^7.3",
- "symfony/yaml": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0",
+ "symfony/scheduler": "^6.4.4|^7.0.4|^8.0",
+ "symfony/security-bundle": "^6.4|^7.0|^8.0",
+ "symfony/semaphore": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^7.2.5|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^7.3|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.0|^8.0",
+ "symfony/type-info": "^7.1.8|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^7.4|^8.0",
+ "symfony/web-link": "^6.4|^7.0|^8.0",
+ "symfony/webhook": "^7.2|^8.0",
+ "symfony/workflow": "^7.4|^8.0",
+ "symfony/yaml": "^7.3|^8.0",
"twig/twig": "^3.12"
},
"type": "symfony-bundle",
@@ -11993,7 +12138,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v7.3.4"
+ "source": "https://github.com/symfony/framework-bundle/tree/v7.4.5"
},
"funding": [
{
@@ -12013,20 +12158,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-17T05:51:54+00:00"
+ "time": "2026-01-27T08:59:58+00:00"
},
{
"name": "symfony/http-client",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62"
+ "reference": "84bb634857a893cc146cceb467e31b3f02c5fe9f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/4b62871a01c49457cf2a8e560af7ee8a94b87a62",
- "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/84bb634857a893cc146cceb467e31b3f02c5fe9f",
+ "reference": "84bb634857a893cc146cceb467e31b3f02c5fe9f",
"shasum": ""
},
"require": {
@@ -12057,12 +12202,13 @@
"php-http/httplug": "^1.0|^2.0",
"psr/http-client": "^1.0",
"symfony/amphp-http-client-meta": "^1.0|^2.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12093,7 +12239,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v7.3.4"
+ "source": "https://github.com/symfony/http-client/tree/v7.4.5"
},
"funding": [
{
@@ -12113,7 +12259,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -12195,23 +12341,22 @@
},
{
"name": "symfony/http-foundation",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6"
+ "reference": "446d0db2b1f21575f1284b74533e425096abdfb6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6",
- "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/446d0db2b1f21575f1284b74533e425096abdfb6",
+ "reference": "446d0db2b1f21575f1284b74533e425096abdfb6",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php83": "^1.27"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "^1.1"
},
"conflict": {
"doctrine/dbal": "<3.6",
@@ -12220,13 +12365,13 @@
"require-dev": {
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4.12|^7.1.5",
- "symfony/clock": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0"
+ "symfony/cache": "^6.4.12|^7.1.5|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12254,7 +12399,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.3.4"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.5"
},
"funding": [
{
@@ -12274,29 +12419,29 @@
"type": "tidelift"
}
],
- "time": "2025-09-16T08:38:17+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "b796dffea7821f035047235e076b60ca2446e3cf"
+ "reference": "229eda477017f92bd2ce7615d06222ec0c19e82a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b796dffea7821f035047235e076b60ca2446e3cf",
- "reference": "b796dffea7821f035047235e076b60ca2446e3cf",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/229eda477017f92bd2ce7615d06222ec0c19e82a",
+ "reference": "229eda477017f92bd2ce7615d06222ec0c19e82a",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^7.3",
- "symfony/http-foundation": "^7.3",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^7.3|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
@@ -12306,6 +12451,7 @@
"symfony/console": "<6.4",
"symfony/dependency-injection": "<6.4",
"symfony/doctrine-bridge": "<6.4",
+ "symfony/flex": "<2.10",
"symfony/form": "<6.4",
"symfony/http-client": "<6.4",
"symfony/http-client-contracts": "<2.5",
@@ -12323,27 +12469,27 @@
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/dom-crawler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-access": "^7.1",
- "symfony/routing": "^6.4|^7.0",
- "symfony/serializer": "^7.1",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^7.1|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^7.1|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0",
"twig/twig": "^3.12"
},
"type": "library",
@@ -12372,7 +12518,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v7.3.4"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.5"
},
"funding": [
{
@@ -12392,20 +12538,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-27T12:32:17+00:00"
+ "time": "2026-01-28T10:33:42+00:00"
},
{
"name": "symfony/intl",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "e6db84864655885d9dac676a9d7dde0d904fda54"
+ "reference": "7fa2d46174166bcd7829abc8717949f8a0b21fb7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/e6db84864655885d9dac676a9d7dde0d904fda54",
- "reference": "e6db84864655885d9dac676a9d7dde0d904fda54",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/7fa2d46174166bcd7829abc8717949f8a0b21fb7",
+ "reference": "7fa2d46174166bcd7829abc8717949f8a0b21fb7",
"shasum": ""
},
"require": {
@@ -12416,8 +12562,8 @@
"symfony/string": "<7.1"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12462,7 +12608,7 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v7.3.4"
+ "source": "https://github.com/symfony/intl/tree/v7.4.4"
},
"funding": [
{
@@ -12482,20 +12628,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-08T14:11:30+00:00"
+ "time": "2026-01-12T12:19:02+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "ab97ef2f7acf0216955f5845484235113047a31d"
+ "reference": "7b750074c40c694ceb34cb926d6dffee231c5cd6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/ab97ef2f7acf0216955f5845484235113047a31d",
- "reference": "ab97ef2f7acf0216955f5845484235113047a31d",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/7b750074c40c694ceb34cb926d6dffee231c5cd6",
+ "reference": "7b750074c40c694ceb34cb926d6dffee231c5cd6",
"shasum": ""
},
"require": {
@@ -12503,8 +12649,8 @@
"php": ">=8.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/mime": "^7.2",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^7.2|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -12515,10 +12661,10 @@
"symfony/twig-bridge": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12546,7 +12692,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.3.4"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.4"
},
"funding": [
{
@@ -12566,43 +12712,44 @@
"type": "tidelift"
}
],
- "time": "2025-09-17T05:51:54+00:00"
+ "time": "2026-01-08T08:25:11+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35"
+ "reference": "b18c7e6e9eee1e19958138df10412f3c4c316148"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/b1b828f69cbaf887fa835a091869e55df91d0e35",
- "reference": "b1b828f69cbaf887fa835a091869e55df91d0e35",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/b18c7e6e9eee1e19958138df10412f3c4c316148",
+ "reference": "b18c7e6e9eee1e19958138df10412f3c4c316148",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=6",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/mailer": "<6.4",
"symfony/serializer": "<6.4.3|>7.0,<7.0.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
"league/html-to-markdown": "^5.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/serializer": "^6.4.3|^7.0.3"
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.3|^7.0.3|^8.0"
},
"type": "library",
"autoload": {
@@ -12634,7 +12781,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.3.4"
+ "source": "https://github.com/symfony/mime/tree/v7.4.5"
},
"funding": [
{
@@ -12654,26 +12801,27 @@
"type": "tidelift"
}
],
- "time": "2025-09-16T08:38:17+00:00"
+ "time": "2026-01-27T08:59:58+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "7acf2abe23e5019451399ba69fc8ed3d61d4d8f0"
+ "reference": "9c34e8170b09f062a9a38880a3cb58ee35cb7fd4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/7acf2abe23e5019451399ba69fc8ed3d61d4d8f0",
- "reference": "7acf2abe23e5019451399ba69fc8ed3d61d4d8f0",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/9c34e8170b09f062a9a38880a3cb58ee35cb7fd4",
+ "reference": "9c34e8170b09f062a9a38880a3cb58ee35cb7fd4",
"shasum": ""
},
"require": {
"monolog/monolog": "^3",
"php": ">=8.2",
- "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -12682,13 +12830,13 @@
"symfony/security-core": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/mailer": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/mailer": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "symfony-bridge",
"autoload": {
@@ -12716,7 +12864,7 @@
"description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v7.3.4"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.4"
},
"funding": [
{
@@ -12736,48 +12884,43 @@
"type": "tidelift"
}
],
- "time": "2025-09-24T16:45:39+00:00"
+ "time": "2026-01-07T11:35:36+00:00"
},
{
"name": "symfony/monolog-bundle",
- "version": "v3.10.0",
+ "version": "v3.11.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
+ "reference": "0e675a6e08f791ef960dc9c7e392787111a3f0c1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
- "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/0e675a6e08f791ef960dc9c7e392787111a3f0c1",
+ "reference": "0e675a6e08f791ef960dc9c7e392787111a3f0c1",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.0",
"monolog/monolog": "^1.25.1 || ^2.0 || ^3.0",
- "php": ">=7.2.5",
- "symfony/config": "^5.4 || ^6.0 || ^7.0",
- "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
- "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
- "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0"
+ "php": ">=8.1",
+ "symfony/config": "^6.4 || ^7.0",
+ "symfony/dependency-injection": "^6.4 || ^7.0",
+ "symfony/deprecation-contracts": "^2.5 || ^3.0",
+ "symfony/http-kernel": "^6.4 || ^7.0",
+ "symfony/monolog-bridge": "^6.4 || ^7.0",
+ "symfony/polyfill-php84": "^1.30"
},
"require-dev": {
- "symfony/console": "^5.4 || ^6.0 || ^7.0",
- "symfony/phpunit-bridge": "^6.3 || ^7.0",
- "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
+ "symfony/console": "^6.4 || ^7.0",
+ "symfony/phpunit-bridge": "^7.3.3",
+ "symfony/yaml": "^6.4 || ^7.0"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\MonologBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Bundle\\MonologBundle\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -12801,7 +12944,7 @@
],
"support": {
"issues": "https://github.com/symfony/monolog-bundle/issues",
- "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0"
+ "source": "https://github.com/symfony/monolog-bundle/tree/v3.11.1"
},
"funding": [
{
@@ -12812,25 +12955,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2023-11-06T17:08:13+00:00"
+ "time": "2025-12-08T07:58:26+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d"
+ "reference": "b38026df55197f9e39a44f3215788edf83187b80"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d",
- "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b38026df55197f9e39a44f3215788edf83187b80",
+ "reference": "b38026df55197f9e39a44f3215788edf83187b80",
"shasum": ""
},
"require": {
@@ -12868,7 +13015,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.3.3"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.4.0"
},
"funding": [
{
@@ -12888,20 +13035,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-05T10:16:07+00:00"
+ "time": "2025-11-12T15:39:26+00:00"
},
{
"name": "symfony/password-hasher",
- "version": "v7.3.0",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/password-hasher.git",
- "reference": "31fbe66af859582a20b803f38be96be8accdf2c3"
+ "reference": "ab8e0ef42483f31c417c82ecfcf7be7b91d784fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/password-hasher/zipball/31fbe66af859582a20b803f38be96be8accdf2c3",
- "reference": "31fbe66af859582a20b803f38be96be8accdf2c3",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/ab8e0ef42483f31c417c82ecfcf7be7b91d784fe",
+ "reference": "ab8e0ef42483f31c417c82ecfcf7be7b91d784fe",
"shasum": ""
},
"require": {
@@ -12911,8 +13058,8 @@
"symfony/security-core": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -12944,7 +13091,7 @@
"password"
],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v7.3.0"
+ "source": "https://github.com/symfony/password-hasher/tree/v7.4.4"
},
"funding": [
{
@@ -12955,12 +13102,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-02-04T08:22:58+00:00"
+ "time": "2026-01-01T22:13:48+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -13387,255 +13538,6 @@
],
"time": "2024-09-09T11:45:10+00:00"
},
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.33.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
- "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
- "shasum": ""
- },
- "require": {
- "ext-iconv": "*",
- "php": ">=7.2"
- },
- "provide": {
- "ext-mbstring": "*"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://github.com/nicolas-grekas",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-12-23T08:48:59+00:00"
- },
- {
- "name": "symfony/polyfill-php80",
- "version": "v1.33.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
- "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://github.com/nicolas-grekas",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2025-01-02T08:10:11+00:00"
- },
- {
- "name": "symfony/polyfill-php82",
- "version": "v1.33.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php82.git",
- "reference": "5d2ed36f7734637dacc025f179698031951b1692"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692",
- "reference": "5d2ed36f7734637dacc025f179698031951b1692",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php82\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php82/tree/v1.33.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://github.com/nicolas-grekas",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-09T11:45:10+00:00"
- },
{
"name": "symfony/polyfill-php83",
"version": "v1.33.0",
@@ -13796,6 +13698,86 @@
],
"time": "2025-06-24T13:30:11+00:00"
},
+ {
+ "name": "symfony/polyfill-php85",
+ "version": "v1.33.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php85.git",
+ "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php85\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-06-23T16:12:55+00:00"
+ },
{
"name": "symfony/polyfill-uuid",
"version": "v1.33.0",
@@ -13881,16 +13863,16 @@
},
{
"name": "symfony/process",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b"
+ "reference": "608476f4604102976d687c483ac63a79ba18cc97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b",
- "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97",
+ "reference": "608476f4604102976d687c483ac63a79ba18cc97",
"shasum": ""
},
"require": {
@@ -13922,7 +13904,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.3.4"
+ "source": "https://github.com/symfony/process/tree/v7.4.5"
},
"funding": [
{
@@ -13942,28 +13924,29 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-26T15:07:59+00:00"
},
{
"name": "symfony/property-access",
- "version": "v7.3.3",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7"
+ "reference": "fa49bf1ca8fce1ba0e2dba4e4658554cfb9364b1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7",
- "reference": "4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/fa49bf1ca8fce1ba0e2dba4e4658554cfb9364b1",
+ "reference": "fa49bf1ca8fce1ba0e2dba4e4658554cfb9364b1",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/property-info": "^6.4|^7.0"
+ "symfony/property-info": "^6.4.32|~7.3.10|^7.4.4|^8.0.4"
},
"require-dev": {
- "symfony/cache": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4.1|^7.0.1|^8.0"
},
"type": "library",
"autoload": {
@@ -14002,7 +13985,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v7.3.3"
+ "source": "https://github.com/symfony/property-access/tree/v7.4.4"
},
"funding": [
{
@@ -14022,30 +14005,30 @@
"type": "tidelift"
}
],
- "time": "2025-08-04T15:15:28+00:00"
+ "time": "2026-01-05T08:47:25+00:00"
},
{
"name": "symfony/property-info",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "7b6db23f23d13ada41e1cb484748a8ec028fbace"
+ "reference": "1c9d326bd69602561e2ea467a16c09b5972eee21"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/7b6db23f23d13ada41e1cb484748a8ec028fbace",
- "reference": "7b6db23f23d13ada41e1cb484748a8ec028fbace",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/1c9d326bd69602561e2ea467a16c09b5972eee21",
+ "reference": "1c9d326bd69602561e2ea467a16c09b5972eee21",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/string": "^6.4|^7.0",
- "symfony/type-info": "~7.2.8|^7.3.1"
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/type-info": "~7.3.10|^7.4.4|^8.0.4"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/reflection-docblock": "<5.2|>=6",
"phpdocumentor/type-resolver": "<1.5.1",
"symfony/cache": "<6.4",
"symfony/dependency-injection": "<6.4",
@@ -14054,9 +14037,9 @@
"require-dev": {
"phpdocumentor/reflection-docblock": "^5.2",
"phpstan/phpdoc-parser": "^1.0|^2.0",
- "symfony/cache": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -14092,7 +14075,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.3.4"
+ "source": "https://github.com/symfony/property-info/tree/v7.4.5"
},
"funding": [
{
@@ -14112,26 +14095,26 @@
"type": "tidelift"
}
],
- "time": "2025-09-15T13:55:54+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v7.3.0",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f"
+ "reference": "929ffe10bbfbb92e711ac3818d416f9daffee067"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/03f2f72319e7acaf2a9f6fcbe30ef17eec51594f",
- "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/929ffe10bbfbb92e711ac3818d416f9daffee067",
+ "reference": "929ffe10bbfbb92e711ac3818d416f9daffee067",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/http-message": "^1.0|^2.0",
- "symfony/http-foundation": "^6.4|^7.0"
+ "symfony/http-foundation": "^6.4|^7.0|^8.0"
},
"conflict": {
"php-http/discovery": "<1.15",
@@ -14141,11 +14124,12 @@
"nyholm/psr7": "^1.1",
"php-http/discovery": "^1.15",
"psr/log": "^1.1.4|^2|^3",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0"
},
"type": "symfony-bridge",
"autoload": {
@@ -14179,7 +14163,7 @@
"psr-7"
],
"support": {
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.3.0"
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.4.4"
},
"funding": [
{
@@ -14190,34 +14174,38 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-26T08:57:56+00:00"
+ "time": "2026-01-03T23:30:35+00:00"
},
{
"name": "symfony/rate-limiter",
- "version": "v7.3.2",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/rate-limiter.git",
- "reference": "7e855541d302ba752f86fb0e97932e7969fe9c04"
+ "reference": "7e275c57293cd2d894e126cc68855ecd82bcd173"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/7e855541d302ba752f86fb0e97932e7969fe9c04",
- "reference": "7e855541d302ba752f86fb0e97932e7969fe9c04",
+ "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/7e275c57293cd2d894e126cc68855ecd82bcd173",
+ "reference": "7e275c57293cd2d894e126cc68855ecd82bcd173",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/options-resolver": "^7.3"
+ "symfony/options-resolver": "^7.3|^8.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/lock": "^6.4|^7.0"
+ "symfony/lock": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -14249,7 +14237,7 @@
"rate-limiter"
],
"support": {
- "source": "https://github.com/symfony/rate-limiter/tree/v7.3.2"
+ "source": "https://github.com/symfony/rate-limiter/tree/v7.4.5"
},
"funding": [
{
@@ -14269,20 +14257,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-07T08:17:57+00:00"
+ "time": "2026-01-27T16:16:02+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c"
+ "reference": "0798827fe2c79caeed41d70b680c2c3507d10147"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c",
- "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/0798827fe2c79caeed41d70b680c2c3507d10147",
+ "reference": "0798827fe2c79caeed41d70b680c2c3507d10147",
"shasum": ""
},
"require": {
@@ -14296,11 +14284,11 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -14334,7 +14322,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.3.4"
+ "source": "https://github.com/symfony/routing/tree/v7.4.4"
},
"funding": [
{
@@ -14354,20 +14342,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-12T12:19:02+00:00"
},
{
"name": "symfony/runtime",
- "version": "v7.3.4",
+ "version": "v7.4.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/runtime.git",
- "reference": "3550e2711e30bfa5d808514781cd52d1cc1d9e9f"
+ "reference": "876f902a6cb6b26c003de244188c06b2ba1c172f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/runtime/zipball/3550e2711e30bfa5d808514781cd52d1cc1d9e9f",
- "reference": "3550e2711e30bfa5d808514781cd52d1cc1d9e9f",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/876f902a6cb6b26c003de244188c06b2ba1c172f",
+ "reference": "876f902a6cb6b26c003de244188c06b2ba1c172f",
"shasum": ""
},
"require": {
@@ -14379,10 +14367,10 @@
},
"require-dev": {
"composer/composer": "^2.6",
- "symfony/console": "^6.4|^7.0",
- "symfony/dotenv": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dotenv": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "composer-plugin",
"extra": {
@@ -14417,7 +14405,7 @@
"runtime"
],
"support": {
- "source": "https://github.com/symfony/runtime/tree/v7.3.4"
+ "source": "https://github.com/symfony/runtime/tree/v7.4.1"
},
"funding": [
{
@@ -14437,36 +14425,37 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T15:31:28+00:00"
+ "time": "2025-12-05T14:04:53+00:00"
},
{
"name": "symfony/security-bundle",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
- "reference": "f750d9abccbeaa433c56f6a4eb2073166476a75a"
+ "reference": "7281b644c76985ddf3927f5e65152b0cc29d175b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/f750d9abccbeaa433c56f6a4eb2073166476a75a",
- "reference": "f750d9abccbeaa433c56f6a4eb2073166476a75a",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/7281b644c76985ddf3927f5e65152b0cc29d175b",
+ "reference": "7281b644c76985ddf3927f5e65152b0cc29d175b",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*",
"php": ">=8.2",
- "symfony/clock": "^6.4|^7.0",
- "symfony/config": "^7.3",
- "symfony/dependency-injection": "^6.4.11|^7.1.4",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/password-hasher": "^6.4|^7.0",
- "symfony/security-core": "^7.3",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/security-http": "^7.3",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^7.4|^8.0",
+ "symfony/dependency-injection": "^6.4.11|^7.1.4|^8.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/password-hasher": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^7.4|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/security-http": "^7.4|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -14480,25 +14469,26 @@
"symfony/validator": "<6.4"
},
"require-dev": {
- "symfony/asset": "^6.4|^7.0",
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/dom-crawler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/ldap": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0",
- "symfony/twig-bundle": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
- "twig/twig": "^3.12",
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/ldap": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.15",
"web-token/jwt-library": "^3.3.2|^4.0"
},
"type": "symfony-bundle",
@@ -14527,7 +14517,7 @@
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-bundle/tree/v7.3.4"
+ "source": "https://github.com/symfony/security-bundle/tree/v7.4.4"
},
"funding": [
{
@@ -14547,27 +14537,27 @@
"type": "tidelift"
}
],
- "time": "2025-09-22T15:31:00+00:00"
+ "time": "2026-01-10T13:56:23+00:00"
},
{
"name": "symfony/security-core",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "68b9d3ca57615afde6152a1e1441fa035bea43f8"
+ "reference": "958a70725a8d669bec6721f4cd318d209712e944"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/68b9d3ca57615afde6152a1e1441fa035bea43f8",
- "reference": "68b9d3ca57615afde6152a1e1441fa035bea43f8",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/958a70725a8d669bec6721f4cd318d209712e944",
+ "reference": "958a70725a8d669bec6721f4cd318d209712e944",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/event-dispatcher-contracts": "^2.5|^3",
- "symfony/password-hasher": "^6.4|^7.0",
+ "symfony/password-hasher": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
@@ -14582,15 +14572,15 @@
"psr/cache": "^1.0|^2.0|^3.0",
"psr/container": "^1.1|^2.0",
"psr/log": "^1|^2|^3",
- "symfony/cache": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/event-dispatcher": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/ldap": "^6.4|^7.0",
- "symfony/string": "^6.4|^7.0",
- "symfony/translation": "^6.4.3|^7.0.3",
- "symfony/validator": "^6.4|^7.0"
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/ldap": "^6.4|^7.0|^8.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4.3|^7.0.3|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -14618,7 +14608,7 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v7.3.4"
+ "source": "https://github.com/symfony/security-core/tree/v7.4.4"
},
"funding": [
{
@@ -14638,33 +14628,33 @@
"type": "tidelift"
}
],
- "time": "2025-09-24T14:32:13+00:00"
+ "time": "2026-01-14T09:36:49+00:00"
},
{
"name": "symfony/security-csrf",
- "version": "v7.3.0",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
- "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3"
+ "reference": "06a2a2f90f355b8b4ec23685fa6ceff8d5dc41cc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/2b4b0c46c901729e4e90719eacd980381f53e0a3",
- "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/06a2a2f90f355b8b4ec23685fa6ceff8d5dc41cc",
+ "reference": "06a2a2f90f355b8b4ec23685fa6ceff8d5dc41cc",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/security-core": "^6.4|^7.0"
+ "symfony/security-core": "^6.4|^7.0|^8.0"
},
"conflict": {
"symfony/http-foundation": "<6.4"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -14692,7 +14682,7 @@
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v7.3.0"
+ "source": "https://github.com/symfony/security-csrf/tree/v7.4.4"
},
"funding": [
{
@@ -14703,55 +14693,59 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-01-02T18:42:10+00:00"
+ "time": "2026-01-14T10:11:16+00:00"
},
{
"name": "symfony/security-http",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "1cf54d0648ebab23bf9b8972617b79f1995e13a9"
+ "reference": "9d41a473637bf5d074c5f5a73177fd9d769407fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/1cf54d0648ebab23bf9b8972617b79f1995e13a9",
- "reference": "1cf54d0648ebab23bf9b8972617b79f1995e13a9",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/9d41a473637bf5d074c5f5a73177fd9d769407fd",
+ "reference": "9d41a473637bf5d074c5f5a73177fd9d769407fd",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/security-core": "^7.3",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^7.3|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
"symfony/clock": "<6.4",
- "symfony/event-dispatcher": "<6.4",
"symfony/http-client-contracts": "<3.0",
"symfony/security-bundle": "<6.4",
"symfony/security-csrf": "<6.4"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/cache": "^6.4|^7.0",
- "symfony/clock": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^3.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
"web-token/jwt-library": "^3.3.2|^4.0"
},
"type": "library",
@@ -14780,7 +14774,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v7.3.4"
+ "source": "https://github.com/symfony/security-http/tree/v7.4.4"
},
"funding": [
{
@@ -14800,20 +14794,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-09T17:06:44+00:00"
+ "time": "2026-01-14T10:11:16+00:00"
},
{
"name": "symfony/serializer",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "0df5af266c6fe9a855af7db4fea86e13b9ca3ab1"
+ "reference": "480cd1237c98ab1219c20945b92c9d4480a44f47"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/0df5af266c6fe9a855af7db4fea86e13b9ca3ab1",
- "reference": "0df5af266c6fe9a855af7db4fea86e13b9ca3ab1",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/480cd1237c98ab1219c20945b92c9d4480a44f47",
+ "reference": "480cd1237c98ab1219c20945b92c9d4480a44f47",
"shasum": ""
},
"require": {
@@ -14823,8 +14817,8 @@
"symfony/polyfill-php84": "^1.30"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=6",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/dependency-injection": "<6.4",
"symfony/property-access": "<6.4",
"symfony/property-info": "<6.4",
@@ -14833,29 +14827,29 @@
"symfony/yaml": "<6.4"
},
"require-dev": {
- "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
+ "phpdocumentor/reflection-docblock": "^5.2",
"phpstan/phpdoc-parser": "^1.0|^2.0",
"seld/jsonlint": "^1.10",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^7.2",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^7.2|^8.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/type-info": "^7.1.8",
- "symfony/uid": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0",
- "symfony/var-exporter": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/type-info": "^7.1.8|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -14883,7 +14877,7 @@
"description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/serializer/tree/v7.3.4"
+ "source": "https://github.com/symfony/serializer/tree/v7.4.5"
},
"funding": [
{
@@ -14903,20 +14897,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-15T13:39:02+00:00"
+ "time": "2026-01-27T08:59:58+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.6.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"shasum": ""
},
"require": {
@@ -14970,7 +14964,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -14981,25 +14975,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-04-25T09:37:31+00:00"
+ "time": "2025-07-15T11:30:57+00:00"
},
{
"name": "symfony/stimulus-bundle",
- "version": "v2.30.0",
+ "version": "v2.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stimulus-bundle.git",
- "reference": "668b9efe9d0ab8b4e50091263171609e0459c0c8"
+ "reference": "dfbf6b443bb381cb611e06f64dc23603b614b575"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/668b9efe9d0ab8b4e50091263171609e0459c0c8",
- "reference": "668b9efe9d0ab8b4e50091263171609e0459c0c8",
+ "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/dfbf6b443bb381cb611e06f64dc23603b614b575",
+ "reference": "dfbf6b443bb381cb611e06f64dc23603b614b575",
"shasum": ""
},
"require": {
@@ -15039,7 +15037,7 @@
"symfony-ux"
],
"support": {
- "source": "https://github.com/symfony/stimulus-bundle/tree/v2.30.0"
+ "source": "https://github.com/symfony/stimulus-bundle/tree/v2.32.0"
},
"funding": [
{
@@ -15059,20 +15057,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T15:25:48+00:00"
+ "time": "2025-12-02T07:12:06+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd"
+ "reference": "8a24af0a2e8a872fb745047180649b8418303084"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd",
- "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8a24af0a2e8a872fb745047180649b8418303084",
+ "reference": "8a24af0a2e8a872fb745047180649b8418303084",
"shasum": ""
},
"require": {
@@ -15105,7 +15103,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v7.3.0"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.4.0"
},
"funding": [
{
@@ -15116,31 +15114,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-02-24T10:49:57+00:00"
+ "time": "2025-08-04T07:05:15+00:00"
},
{
"name": "symfony/string",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "f96476035142921000338bad71e5247fbc138872"
+ "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872",
- "reference": "f96476035142921000338bad71e5247fbc138872",
+ "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f",
+ "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-grapheme": "~1.33",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
@@ -15148,11 +15151,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/emoji": "^7.1",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/emoji": "^7.1|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -15191,7 +15194,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.3.4"
+ "source": "https://github.com/symfony/string/tree/v7.4.4"
},
"funding": [
{
@@ -15211,27 +15214,27 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T14:36:48+00:00"
+ "time": "2026-01-12T10:54:30+00:00"
},
{
"name": "symfony/translation",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "ec25870502d0c7072d086e8ffba1420c85965174"
+ "reference": "bfde13711f53f549e73b06d27b35a55207528877"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174",
- "reference": "ec25870502d0c7072d086e8ffba1420c85965174",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/bfde13711f53f549e73b06d27b35a55207528877",
+ "reference": "bfde13711f53f549e73b06d27b35a55207528877",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^2.5|^3.0"
+ "symfony/translation-contracts": "^2.5.3|^3.3"
},
"conflict": {
"nikic/php-parser": "<5.0",
@@ -15250,17 +15253,17 @@
"require-dev": {
"nikic/php-parser": "^5.0",
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
"symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -15291,7 +15294,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v7.3.4"
+ "source": "https://github.com/symfony/translation/tree/v7.4.4"
},
"funding": [
{
@@ -15311,20 +15314,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-07T11:39:36+00:00"
+ "time": "2026-01-13T10:40:19+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.6.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d"
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
- "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977",
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977",
"shasum": ""
},
"require": {
@@ -15373,7 +15376,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -15384,25 +15387,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-27T08:32:26+00:00"
+ "time": "2025-07-15T13:41:35+00:00"
},
{
"name": "symfony/twig-bridge",
- "version": "v7.3.3",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "33558f013b7f6ed72805527c8405cae0062e47c5"
+ "reference": "f2dd26b604e856476ef7e0efa4568bc07eb7ddc8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/33558f013b7f6ed72805527c8405cae0062e47c5",
- "reference": "33558f013b7f6ed72805527c8405cae0062e47c5",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/f2dd26b604e856476ef7e0efa4568bc07eb7ddc8",
+ "reference": "f2dd26b604e856476ef7e0efa4568bc07eb7ddc8",
"shasum": ""
},
"require": {
@@ -15412,10 +15419,10 @@
"twig/twig": "^3.21"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
+ "phpdocumentor/reflection-docblock": "<5.2|>=6",
+ "phpdocumentor/type-resolver": "<1.5.1",
"symfony/console": "<6.4",
- "symfony/form": "<6.4",
+ "symfony/form": "<6.4.32|>7,<7.3.10|>7.4,<7.4.4|>8.0,<8.0.4",
"symfony/http-foundation": "<6.4",
"symfony/http-kernel": "<6.4",
"symfony/mime": "<6.4",
@@ -15426,34 +15433,34 @@
"require-dev": {
"egulias/email-validator": "^2.1.10|^3|^4",
"league/html-to-markdown": "^5.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^6.4|^7.0",
- "symfony/asset-mapper": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/emoji": "^7.1",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/form": "^6.4.20|^7.2.5",
- "symfony/html-sanitizer": "^6.4|^7.0",
- "symfony/http-foundation": "^7.3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/asset-mapper": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/emoji": "^7.1|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4.32|~7.3.10|^7.4.4|^8.0.4",
+ "symfony/html-sanitizer": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^7.3|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
"symfony/security-acl": "^2.8|^3.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-csrf": "^6.4|^7.0",
- "symfony/security-http": "^6.4|^7.0",
- "symfony/serializer": "^6.4.3|^7.0.3",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/web-link": "^6.4|^7.0",
- "symfony/workflow": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/security-csrf": "^6.4|^7.0|^8.0",
+ "symfony/security-http": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.3|^7.0.3|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/web-link": "^6.4|^7.0|^8.0",
+ "symfony/workflow": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0",
"twig/cssinliner-extra": "^3",
"twig/inky-extra": "^3",
"twig/markdown-extra": "^3"
@@ -15484,7 +15491,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v7.3.3"
+ "source": "https://github.com/symfony/twig-bridge/tree/v7.4.5"
},
"funding": [
{
@@ -15504,30 +15511,31 @@
"type": "tidelift"
}
],
- "time": "2025-08-18T13:10:53+00:00"
+ "time": "2026-01-27T08:59:58+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "da5c778a8416fcce5318737c4d944f6fa2bb3f81"
+ "reference": "e8829e02ff96a391ed0703bac9e7ff0537480b6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/da5c778a8416fcce5318737c4d944f6fa2bb3f81",
- "reference": "da5c778a8416fcce5318737c4d944f6fa2bb3f81",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e8829e02ff96a391ed0703bac9e7ff0537480b6b",
+ "reference": "e8829e02ff96a391ed0703bac9e7ff0537480b6b",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"php": ">=8.2",
- "symfony/config": "^7.3",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/twig-bridge": "^7.3",
+ "symfony/config": "^7.4|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/twig-bridge": "^7.3|^8.0",
"twig/twig": "^3.12"
},
"conflict": {
@@ -15535,16 +15543,17 @@
"symfony/translation": "<6.4"
},
"require-dev": {
- "symfony/asset": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/form": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0",
- "symfony/translation": "^6.4|^7.0",
- "symfony/web-link": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/asset": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/form": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
+ "symfony/web-link": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -15572,7 +15581,7 @@
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bundle/tree/v7.3.4"
+ "source": "https://github.com/symfony/twig-bundle/tree/v7.4.4"
},
"funding": [
{
@@ -15592,20 +15601,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-10T12:00:31+00:00"
+ "time": "2026-01-06T12:34:24+00:00"
},
{
"name": "symfony/type-info",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "d34eaeb57f39c8a9c97eb72a977c423207dfa35b"
+ "reference": "f83c725e72b39b2704b9d6fc85070ad6ac7a5889"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/d34eaeb57f39c8a9c97eb72a977c423207dfa35b",
- "reference": "d34eaeb57f39c8a9c97eb72a977c423207dfa35b",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/f83c725e72b39b2704b9d6fc85070ad6ac7a5889",
+ "reference": "f83c725e72b39b2704b9d6fc85070ad6ac7a5889",
"shasum": ""
},
"require": {
@@ -15655,7 +15664,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v7.3.4"
+ "source": "https://github.com/symfony/type-info/tree/v7.4.4"
},
"funding": [
{
@@ -15675,20 +15684,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T15:33:27+00:00"
+ "time": "2026-01-09T12:14:21+00:00"
},
{
"name": "symfony/uid",
- "version": "v7.3.1",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb"
+ "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/a69f69f3159b852651a6bf45a9fdd149520525bb",
- "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/7719ce8aba76be93dfe249192f1fbfa52c588e36",
+ "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36",
"shasum": ""
},
"require": {
@@ -15696,7 +15705,7 @@
"symfony/polyfill-uuid": "^1.15"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -15733,7 +15742,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.3.1"
+ "source": "https://github.com/symfony/uid/tree/v7.4.4"
},
"funding": [
{
@@ -15744,25 +15753,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-06-27T19:55:54+00:00"
+ "time": "2026-01-03T23:30:35+00:00"
},
{
"name": "symfony/ux-translator",
- "version": "v2.30.0",
+ "version": "v2.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/ux-translator.git",
- "reference": "9616091db206df4caa7d8dce2e48941512b1a94a"
+ "reference": "fde719a87903d9bc6fe60abf7581c1143532c918"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/ux-translator/zipball/9616091db206df4caa7d8dce2e48941512b1a94a",
- "reference": "9616091db206df4caa7d8dce2e48941512b1a94a",
+ "url": "https://api.github.com/repos/symfony/ux-translator/zipball/fde719a87903d9bc6fe60abf7581c1143532c918",
+ "reference": "fde719a87903d9bc6fe60abf7581c1143532c918",
"shasum": ""
},
"require": {
@@ -15810,7 +15823,7 @@
"symfony-ux"
],
"support": {
- "source": "https://github.com/symfony/ux-translator/tree/v2.30.0"
+ "source": "https://github.com/symfony/ux-translator/tree/v2.32.0"
},
"funding": [
{
@@ -15830,20 +15843,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T15:25:48+00:00"
+ "time": "2025-12-26T17:37:51+00:00"
},
{
"name": "symfony/ux-turbo",
- "version": "v2.30.0",
+ "version": "v2.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/ux-turbo.git",
- "reference": "c5e88c7e16713e84a2a35f36276ccdb05c2c78d8"
+ "reference": "0deaa8abef20933d11f8bbe9899d950b4333ca1e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/c5e88c7e16713e84a2a35f36276ccdb05c2c78d8",
- "reference": "c5e88c7e16713e84a2a35f36276ccdb05c2c78d8",
+ "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/0deaa8abef20933d11f8bbe9899d950b4333ca1e",
+ "reference": "0deaa8abef20933d11f8bbe9899d950b4333ca1e",
"shasum": ""
},
"require": {
@@ -15855,8 +15868,8 @@
},
"require-dev": {
"dbrekelmans/bdi": "dev-main",
- "doctrine/doctrine-bundle": "^2.4.3",
- "doctrine/orm": "^2.8 | 3.0",
+ "doctrine/doctrine-bundle": "^2.4.3|^3.0|^4.0",
+ "doctrine/orm": "^2.8|^3.0",
"php-webdriver/webdriver": "^1.15",
"phpstan/phpstan": "^2.1.17",
"symfony/asset-mapper": "^6.4|^7.0|^8.0",
@@ -15864,7 +15877,7 @@
"symfony/expression-language": "^5.4|^6.0|^7.0|^8.0",
"symfony/form": "^5.4|^6.0|^7.0|^8.0",
"symfony/framework-bundle": "^6.4|^7.0|^8.0",
- "symfony/mercure-bundle": "^0.3.7",
+ "symfony/mercure-bundle": "^0.3.7|^0.4.1",
"symfony/messenger": "^5.4|^6.0|^7.0|^8.0",
"symfony/panther": "^2.2",
"symfony/phpunit-bridge": "^5.4|^6.0|^7.0|^8.0",
@@ -15913,7 +15926,7 @@
"turbo-stream"
],
"support": {
- "source": "https://github.com/symfony/ux-turbo/tree/v2.30.0"
+ "source": "https://github.com/symfony/ux-turbo/tree/v2.32.0"
},
"funding": [
{
@@ -15933,20 +15946,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T15:25:48+00:00"
+ "time": "2025-12-17T06:03:34+00:00"
},
{
"name": "symfony/validator",
- "version": "v7.3.4",
+ "version": "v7.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "5e29a348b5fac2227b6938a54db006d673bb813a"
+ "reference": "fcec92c40df1c93507857da08226005573b655c6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/5e29a348b5fac2227b6938a54db006d673bb813a",
- "reference": "5e29a348b5fac2227b6938a54db006d673bb813a",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/fcec92c40df1c93507857da08226005573b655c6",
+ "reference": "fcec92c40df1c93507857da08226005573b655c6",
"shasum": ""
},
"require": {
@@ -15966,27 +15979,29 @@
"symfony/intl": "<6.4",
"symfony/property-info": "<6.4",
"symfony/translation": "<6.4.3|>=7.0,<7.0.3",
+ "symfony/var-exporter": "<6.4.25|>=7.0,<7.3.3",
"symfony/yaml": "<6.4"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3|^4",
- "symfony/cache": "^6.4|^7.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/string": "^6.4|^7.0",
- "symfony/translation": "^6.4.3|^7.0.3",
+ "symfony/cache": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/string": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4.3|^7.0.3|^8.0",
"symfony/type-info": "^7.1.8",
- "symfony/yaml": "^6.4|^7.0"
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -16015,7 +16030,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v7.3.4"
+ "source": "https://github.com/symfony/validator/tree/v7.4.5"
},
"funding": [
{
@@ -16035,20 +16050,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-24T06:32:27+00:00"
+ "time": "2026-01-27T08:59:58+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb"
+ "reference": "0e4769b46a0c3c62390d124635ce59f66874b282"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb",
- "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e4769b46a0c3c62390d124635ce59f66874b282",
+ "reference": "0e4769b46a0c3c62390d124635ce59f66874b282",
"shasum": ""
},
"require": {
@@ -16060,10 +16075,10 @@
"symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/uid": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
"twig/twig": "^3.12"
},
"bin": [
@@ -16102,7 +16117,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.3.4"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.4"
},
"funding": [
{
@@ -16122,20 +16137,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2026-01-01T22:13:48+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v7.3.4",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4"
+ "reference": "03a60f169c79a28513a78c967316fbc8bf17816f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f020b544a30a7fe8ba972e53ee48a74c0bc87f4",
- "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f",
+ "reference": "03a60f169c79a28513a78c967316fbc8bf17816f",
"shasum": ""
},
"require": {
@@ -16143,9 +16158,9 @@
"symfony/deprecation-contracts": "^2.5|^3"
},
"require-dev": {
- "symfony/property-access": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -16183,7 +16198,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.3.4"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.4.0"
},
"funding": [
{
@@ -16203,20 +16218,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:12:26+00:00"
+ "time": "2025-09-11T10:15:23+00:00"
},
{
"name": "symfony/web-link",
- "version": "v7.3.0",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-link.git",
- "reference": "7697f74fce67555665339423ce453cc8216a98ff"
+ "reference": "9ff1f19069e3d2d341d60729392a4a6dfc45052a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-link/zipball/7697f74fce67555665339423ce453cc8216a98ff",
- "reference": "7697f74fce67555665339423ce453cc8216a98ff",
+ "url": "https://api.github.com/repos/symfony/web-link/zipball/9ff1f19069e3d2d341d60729392a4a6dfc45052a",
+ "reference": "9ff1f19069e3d2d341d60729392a4a6dfc45052a",
"shasum": ""
},
"require": {
@@ -16230,7 +16245,7 @@
"psr/link-implementation": "1.0|2.0"
},
"require-dev": {
- "symfony/http-kernel": "^6.4|^7.0"
+ "symfony/http-kernel": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -16270,7 +16285,7 @@
"push"
],
"support": {
- "source": "https://github.com/symfony/web-link/tree/v7.3.0"
+ "source": "https://github.com/symfony/web-link/tree/v7.4.4"
},
"funding": [
{
@@ -16281,25 +16296,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-05-19T13:28:18+00:00"
+ "time": "2026-01-01T22:13:48+00:00"
},
{
"name": "symfony/webpack-encore-bundle",
- "version": "v2.3.0",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/webpack-encore-bundle.git",
- "reference": "7ae70d44c24c3b913f308af8396169b5c6d9e0f5"
+ "reference": "5b932e0feddd81aaf0ecd7d5fcd2e450e5a7817e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/7ae70d44c24c3b913f308af8396169b5c6d9e0f5",
- "reference": "7ae70d44c24c3b913f308af8396169b5c6d9e0f5",
+ "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/5b932e0feddd81aaf0ecd7d5fcd2e450e5a7817e",
+ "reference": "5b932e0feddd81aaf0ecd7d5fcd2e450e5a7817e",
"shasum": ""
},
"require": {
@@ -16342,7 +16361,7 @@
"description": "Integration of your Symfony app with Webpack Encore",
"support": {
"issues": "https://github.com/symfony/webpack-encore-bundle/issues",
- "source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.3.0"
+ "source": "https://github.com/symfony/webpack-encore-bundle/tree/v2.4.0"
},
"funding": [
{
@@ -16362,32 +16381,32 @@
"type": "tidelift"
}
],
- "time": "2025-08-05T11:43:32+00:00"
+ "time": "2025-11-27T13:41:46+00:00"
},
{
"name": "symfony/yaml",
- "version": "v7.3.3",
+ "version": "v7.4.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d"
+ "reference": "24dd4de28d2e3988b311751ac49e684d783e2345"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345",
+ "reference": "24dd4de28d2e3988b311751ac49e684d783e2345",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -16418,7 +16437,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.3.3"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.1"
},
"funding": [
{
@@ -16438,20 +16457,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T11:34:33+00:00"
+ "time": "2025-12-04T18:11:45+00:00"
},
{
"name": "symplify/easy-coding-standard",
- "version": "12.6.0",
+ "version": "12.6.2",
"source": {
"type": "git",
"url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
- "reference": "781e6124dc7e14768ae999a8f5309566bbe62004"
+ "reference": "7a6798aa424f0ecafb1542b6f5207c5a99704d3d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/781e6124dc7e14768ae999a8f5309566bbe62004",
- "reference": "781e6124dc7e14768ae999a8f5309566bbe62004",
+ "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/7a6798aa424f0ecafb1542b6f5207c5a99704d3d",
+ "reference": "7a6798aa424f0ecafb1542b6f5207c5a99704d3d",
"shasum": ""
},
"require": {
@@ -16487,7 +16506,7 @@
],
"support": {
"issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues",
- "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.6.0"
+ "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.6.2"
},
"funding": [
{
@@ -16499,20 +16518,20 @@
"type": "github"
}
],
- "time": "2025-09-10T14:21:58+00:00"
+ "time": "2025-10-29T08:51:50+00:00"
},
{
"name": "tecnickcom/tc-lib-barcode",
- "version": "2.4.8",
+ "version": "2.4.24",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/tc-lib-barcode.git",
- "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4"
+ "reference": "605b92bfaf8ed2cba18a1c6603d90bc828aa3d5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/f238ffd120d98a34df6573590e7ed02f766a91c4",
- "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4",
+ "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/605b92bfaf8ed2cba18a1c6603d90bc828aa3d5b",
+ "reference": "605b92bfaf8ed2cba18a1c6603d90bc828aa3d5b",
"shasum": ""
},
"require": {
@@ -16521,13 +16540,14 @@
"ext-gd": "*",
"ext-pcre": "*",
"php": ">=8.1",
- "tecnickcom/tc-lib-color": "^2.2"
+ "tecnickcom/tc-lib-color": "^2.3"
},
"require-dev": {
"pdepend/pdepend": "2.16.2",
+ "phpcompatibility/php-compatibility": "^10.0.0@dev",
"phpmd/phpmd": "2.15.0",
- "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40",
- "squizlabs/php_codesniffer": "3.13.0"
+ "phpunit/phpunit": "12.5.8 || 11.5.50 || 10.5.63",
+ "squizlabs/php_codesniffer": "4.0.1"
},
"type": "library",
"autoload": {
@@ -16591,7 +16611,7 @@
],
"support": {
"issues": "https://github.com/tecnickcom/tc-lib-barcode/issues",
- "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.4.8"
+ "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.4.24"
},
"funding": [
{
@@ -16599,20 +16619,20 @@
"type": "custom"
}
],
- "time": "2025-06-06T11:35:02+00:00"
+ "time": "2026-02-04T19:57:11+00:00"
},
{
"name": "tecnickcom/tc-lib-color",
- "version": "2.2.13",
+ "version": "2.3.8",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/tc-lib-color.git",
- "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6"
+ "reference": "6331d57bd847d883652012a5c3594aa03aea4c50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/85d1366fb33813aa521d30e3d7c7d7d82a8103a6",
- "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6",
+ "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/6331d57bd847d883652012a5c3594aa03aea4c50",
+ "reference": "6331d57bd847d883652012a5c3594aa03aea4c50",
"shasum": ""
},
"require": {
@@ -16621,9 +16641,10 @@
},
"require-dev": {
"pdepend/pdepend": "2.16.2",
+ "phpcompatibility/php-compatibility": "^10.0.0@dev",
"phpmd/phpmd": "2.15.0",
- "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40",
- "squizlabs/php_codesniffer": "3.13.0"
+ "phpunit/phpunit": "12.5.8 || 11.5.50 || 10.5.63",
+ "squizlabs/php_codesniffer": "4.0.1"
},
"type": "library",
"autoload": {
@@ -16660,7 +16681,7 @@
],
"support": {
"issues": "https://github.com/tecnickcom/tc-lib-color/issues",
- "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.2.13"
+ "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.3.8"
},
"funding": [
{
@@ -16668,27 +16689,166 @@
"type": "custom"
}
],
- "time": "2025-06-06T11:33:19+00:00"
+ "time": "2026-02-04T19:55:28+00:00"
},
{
- "name": "tijsverkoyen/css-to-inline-styles",
- "version": "v2.3.0",
+ "name": "thecodingmachine/safe",
+ "version": "v3.3.0",
"source": {
"type": "git",
- "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "0d72ac1c00084279c1816675284073c5a337c20d"
+ "url": "https://github.com/thecodingmachine/safe.git",
+ "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d",
- "reference": "0d72ac1c00084279c1816675284073c5a337c20d",
+ "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/2cdd579eeaa2e78e51c7509b50cc9fb89a956236",
+ "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-parallel-lint": "^1.4",
+ "phpstan/phpstan": "^2",
+ "phpunit/phpunit": "^10",
+ "squizlabs/php_codesniffer": "^3.2"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/special_cases.php",
+ "generated/apache.php",
+ "generated/apcu.php",
+ "generated/array.php",
+ "generated/bzip2.php",
+ "generated/calendar.php",
+ "generated/classobj.php",
+ "generated/com.php",
+ "generated/cubrid.php",
+ "generated/curl.php",
+ "generated/datetime.php",
+ "generated/dir.php",
+ "generated/eio.php",
+ "generated/errorfunc.php",
+ "generated/exec.php",
+ "generated/fileinfo.php",
+ "generated/filesystem.php",
+ "generated/filter.php",
+ "generated/fpm.php",
+ "generated/ftp.php",
+ "generated/funchand.php",
+ "generated/gettext.php",
+ "generated/gmp.php",
+ "generated/gnupg.php",
+ "generated/hash.php",
+ "generated/ibase.php",
+ "generated/ibmDb2.php",
+ "generated/iconv.php",
+ "generated/image.php",
+ "generated/imap.php",
+ "generated/info.php",
+ "generated/inotify.php",
+ "generated/json.php",
+ "generated/ldap.php",
+ "generated/libxml.php",
+ "generated/lzf.php",
+ "generated/mailparse.php",
+ "generated/mbstring.php",
+ "generated/misc.php",
+ "generated/mysql.php",
+ "generated/mysqli.php",
+ "generated/network.php",
+ "generated/oci8.php",
+ "generated/opcache.php",
+ "generated/openssl.php",
+ "generated/outcontrol.php",
+ "generated/pcntl.php",
+ "generated/pcre.php",
+ "generated/pgsql.php",
+ "generated/posix.php",
+ "generated/ps.php",
+ "generated/pspell.php",
+ "generated/readline.php",
+ "generated/rnp.php",
+ "generated/rpminfo.php",
+ "generated/rrd.php",
+ "generated/sem.php",
+ "generated/session.php",
+ "generated/shmop.php",
+ "generated/sockets.php",
+ "generated/sodium.php",
+ "generated/solr.php",
+ "generated/spl.php",
+ "generated/sqlsrv.php",
+ "generated/ssdeep.php",
+ "generated/ssh2.php",
+ "generated/stream.php",
+ "generated/strings.php",
+ "generated/swoole.php",
+ "generated/uodbc.php",
+ "generated/uopz.php",
+ "generated/url.php",
+ "generated/var.php",
+ "generated/xdiff.php",
+ "generated/xml.php",
+ "generated/xmlrpc.php",
+ "generated/yaml.php",
+ "generated/yaz.php",
+ "generated/zip.php",
+ "generated/zlib.php"
+ ],
+ "classmap": [
+ "lib/DateTime.php",
+ "lib/DateTimeImmutable.php",
+ "lib/Exceptions/",
+ "generated/Exceptions/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHP core functions that throw exceptions instead of returning FALSE on error",
+ "support": {
+ "issues": "https://github.com/thecodingmachine/safe/issues",
+ "source": "https://github.com/thecodingmachine/safe/tree/v3.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/OskarStark",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/shish",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/staabm",
+ "type": "github"
+ }
+ ],
+ "time": "2025-05-14T06:15:44+00:00"
+ },
+ {
+ "name": "tijsverkoyen/css-to-inline-styles",
+ "version": "v2.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41",
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"php": "^7.4 || ^8.0",
- "symfony/css-selector": "^5.4 || ^6.0 || ^7.0"
+ "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^2.0",
@@ -16721,22 +16881,22 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0"
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0"
},
- "time": "2024-12-21T16:25:41+00:00"
+ "time": "2025-12-02T11:56:42+00:00"
},
{
"name": "twig/cssinliner-extra",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/cssinliner-extra.git",
- "reference": "378d29b61d6406c456e3a4afbd15bbeea0b72ea8"
+ "reference": "c25fa18b09a418e4d1454ec291f9406f630675ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/378d29b61d6406c456e3a4afbd15bbeea0b72ea8",
- "reference": "378d29b61d6406c456e3a4afbd15bbeea0b72ea8",
+ "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/c25fa18b09a418e4d1454ec291f9406f630675ba",
+ "reference": "c25fa18b09a418e4d1454ec291f9406f630675ba",
"shasum": ""
},
"require": {
@@ -16780,7 +16940,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.23.0"
},
"funding": [
{
@@ -16792,30 +16952,30 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-12-02T14:45:16+00:00"
},
{
"name": "twig/extra-bundle",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "62d1cf47a1aa009cbd07b21045b97d3d5cb79896"
+ "reference": "7a27e784dc56eddfef5e9295829b290ce06f1682"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/62d1cf47a1aa009cbd07b21045b97d3d5cb79896",
- "reference": "62d1cf47a1aa009cbd07b21045b97d3d5cb79896",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/7a27e784dc56eddfef5e9295829b290ce06f1682",
+ "reference": "7a27e784dc56eddfef5e9295829b290ce06f1682",
"shasum": ""
},
"require": {
"php": ">=8.1.0",
- "symfony/framework-bundle": "^5.4|^6.4|^7.0",
- "symfony/twig-bundle": "^5.4|^6.4|^7.0",
+ "symfony/framework-bundle": "^5.4|^6.4|^7.0|^8.0",
+ "symfony/twig-bundle": "^5.4|^6.4|^7.0|^8.0",
"twig/twig": "^3.2|^4.0"
},
"require-dev": {
- "league/commonmark": "^1.0|^2.0",
+ "league/commonmark": "^2.7",
"symfony/phpunit-bridge": "^6.4|^7.0",
"twig/cache-extra": "^3.0",
"twig/cssinliner-extra": "^3.0",
@@ -16854,7 +17014,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.21.0"
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.23.0"
},
"funding": [
{
@@ -16866,26 +17026,26 @@
"type": "tidelift"
}
],
- "time": "2025-02-19T14:29:33+00:00"
+ "time": "2025-12-18T20:46:15+00:00"
},
{
"name": "twig/html-extra",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/html-extra.git",
- "reference": "5442dd707601c83b8cd4233e37bb10ab8489a90f"
+ "reference": "2ef1d0ccaa06d4f4405b330fe6c4b6f7b50fbbc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/html-extra/zipball/5442dd707601c83b8cd4233e37bb10ab8489a90f",
- "reference": "5442dd707601c83b8cd4233e37bb10ab8489a90f",
+ "url": "https://api.github.com/repos/twigphp/html-extra/zipball/2ef1d0ccaa06d4f4405b330fe6c4b6f7b50fbbc3",
+ "reference": "2ef1d0ccaa06d4f4405b330fe6c4b6f7b50fbbc3",
"shasum": ""
},
"require": {
"php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/mime": "^5.4|^6.4|^7.0",
+ "symfony/mime": "^5.4|^6.4|^7.0|^8.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
@@ -16922,7 +17082,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/html-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/html-extra/tree/v3.23.0"
},
"funding": [
{
@@ -16934,20 +17094,20 @@
"type": "tidelift"
}
],
- "time": "2025-02-19T14:29:33+00:00"
+ "time": "2025-12-02T14:45:16+00:00"
},
{
"name": "twig/inky-extra",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/inky-extra.git",
- "reference": "aacd79d94534b4a7fd6533cb5c33c4ee97239a0d"
+ "reference": "6bdca65a38167f7bd0ad7ea04819098d465a5cc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/aacd79d94534b4a7fd6533cb5c33c4ee97239a0d",
- "reference": "aacd79d94534b4a7fd6533cb5c33c4ee97239a0d",
+ "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/6bdca65a38167f7bd0ad7ea04819098d465a5cc4",
+ "reference": "6bdca65a38167f7bd0ad7ea04819098d465a5cc4",
"shasum": ""
},
"require": {
@@ -16992,7 +17152,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/inky-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/inky-extra/tree/v3.23.0"
},
"funding": [
{
@@ -17004,25 +17164,25 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-12-02T14:45:16+00:00"
},
{
"name": "twig/intl-extra",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/intl-extra.git",
- "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146"
+ "reference": "32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/05bc5d46b9df9e62399eae53e7c0b0633298b146",
- "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146",
+ "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f",
+ "reference": "32f15a38d45a8d0ec11bc8a3d97d3ac2a261499f",
"shasum": ""
},
"require": {
"php": ">=8.1.0",
- "symfony/intl": "^5.4|^6.4|^7.0",
+ "symfony/intl": "^5.4|^6.4|^7.0|^8.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
@@ -17056,7 +17216,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/intl-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/intl-extra/tree/v3.23.0"
},
"funding": [
{
@@ -17068,20 +17228,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2026-01-17T13:57:47+00:00"
},
{
"name": "twig/markdown-extra",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/markdown-extra.git",
- "reference": "f4616e1dd375209dacf6026f846e6b537d036ce4"
+ "reference": "faf069b259e2d3930c73c2f53e2dec8440bd90a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/f4616e1dd375209dacf6026f846e6b537d036ce4",
- "reference": "f4616e1dd375209dacf6026f846e6b537d036ce4",
+ "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/faf069b259e2d3930c73c2f53e2dec8440bd90a2",
+ "reference": "faf069b259e2d3930c73c2f53e2dec8440bd90a2",
"shasum": ""
},
"require": {
@@ -17091,7 +17251,7 @@
},
"require-dev": {
"erusev/parsedown": "dev-master as 1.x-dev",
- "league/commonmark": "^1.0|^2.0",
+ "league/commonmark": "^2.7",
"league/html-to-markdown": "^4.8|^5.0",
"michelf/php-markdown": "^1.8|^2.0",
"symfony/phpunit-bridge": "^6.4|^7.0"
@@ -17128,7 +17288,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/markdown-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/markdown-extra/tree/v3.23.0"
},
"funding": [
{
@@ -17140,25 +17300,25 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-12-02T14:45:16+00:00"
},
{
"name": "twig/string-extra",
- "version": "v3.21.0",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/string-extra.git",
- "reference": "4b3337544ac8f76c280def94e32b53acfaec0589"
+ "reference": "6ec8f2e8ca9b2193221a02cb599dc92c36384368"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/string-extra/zipball/4b3337544ac8f76c280def94e32b53acfaec0589",
- "reference": "4b3337544ac8f76c280def94e32b53acfaec0589",
+ "url": "https://api.github.com/repos/twigphp/string-extra/zipball/6ec8f2e8ca9b2193221a02cb599dc92c36384368",
+ "reference": "6ec8f2e8ca9b2193221a02cb599dc92c36384368",
"shasum": ""
},
"require": {
"php": ">=8.1.0",
- "symfony/string": "^5.4|^6.4|^7.0",
+ "symfony/string": "^5.4|^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^3.13|^4.0"
},
@@ -17195,7 +17355,7 @@
"unicode"
],
"support": {
- "source": "https://github.com/twigphp/string-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/string-extra/tree/v3.23.0"
},
"funding": [
{
@@ -17207,20 +17367,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-12-02T14:45:16+00:00"
},
{
"name": "twig/twig",
- "version": "v3.21.1",
+ "version": "v3.23.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
+ "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
- "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9",
+ "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9",
"shasum": ""
},
"require": {
@@ -17274,7 +17434,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.21.1"
+ "source": "https://github.com/twigphp/Twig/tree/v3.23.0"
},
"funding": [
{
@@ -17286,7 +17446,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-03T07:21:55+00:00"
+ "time": "2026-01-23T21:00:41+00:00"
},
{
"name": "ua-parser/uap-php",
@@ -17353,43 +17513,32 @@
},
{
"name": "web-auth/cose-lib",
- "version": "4.4.2",
+ "version": "4.5.0",
"source": {
"type": "git",
"url": "https://github.com/web-auth/cose-lib.git",
- "reference": "a93b61c48fb587855f64a9ec11ad7b60e867cb15"
+ "reference": "5adac6fe126994a3ee17ed9950efb4947ab132a9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/a93b61c48fb587855f64a9ec11ad7b60e867cb15",
- "reference": "a93b61c48fb587855f64a9ec11ad7b60e867cb15",
+ "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/5adac6fe126994a3ee17ed9950efb4947ab132a9",
+ "reference": "5adac6fe126994a3ee17ed9950efb4947ab132a9",
"shasum": ""
},
"require": {
- "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13",
+ "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13|^0.14",
"ext-json": "*",
"ext-openssl": "*",
"php": ">=8.1",
"spomky-labs/pki-framework": "^1.0"
},
"require-dev": {
- "deptrac/deptrac": "^3.0",
- "ekino/phpstan-banned-code": "^1.0|^2.0|^3.0",
- "infection/infection": "^0.29",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "phpstan/extension-installer": "^1.3",
- "phpstan/phpstan": "^1.7|^2.0",
- "phpstan/phpstan-deprecation-rules": "^1.0|^2.0",
- "phpstan/phpstan-phpunit": "^1.1|^2.0",
- "phpstan/phpstan-strict-rules": "^1.0|^2.0",
- "phpunit/phpunit": "^10.1|^11.0|^12.0",
- "rector/rector": "^2.0",
- "symfony/phpunit-bridge": "^6.4|^7.0",
- "symplify/easy-coding-standard": "^12.0"
+ "spomky-labs/cbor-php": "^3.2.2"
},
"suggest": {
"ext-bcmath": "For better performance, please install either GMP (recommended) or BCMath extension",
- "ext-gmp": "For better performance, please install either GMP (recommended) or BCMath extension"
+ "ext-gmp": "For better performance, please install either GMP (recommended) or BCMath extension",
+ "spomky-labs/cbor-php": "For COSE Signature support"
},
"type": "library",
"autoload": {
@@ -17419,7 +17568,7 @@
],
"support": {
"issues": "https://github.com/web-auth/cose-lib/issues",
- "source": "https://github.com/web-auth/cose-lib/tree/4.4.2"
+ "source": "https://github.com/web-auth/cose-lib/tree/4.5.0"
},
"funding": [
{
@@ -17431,20 +17580,20 @@
"type": "patreon"
}
],
- "time": "2025-08-14T20:33:29+00:00"
+ "time": "2026-01-03T14:43:18+00:00"
},
{
"name": "web-auth/webauthn-lib",
- "version": "5.2.2",
+ "version": "5.2.3",
"source": {
"type": "git",
"url": "https://github.com/web-auth/webauthn-lib.git",
- "reference": "8937c397c8ae91b5af422ca8aa915c756062da74"
+ "reference": "8782f575032fedc36e2eb27c39c736054e2b6867"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/8937c397c8ae91b5af422ca8aa915c756062da74",
- "reference": "8937c397c8ae91b5af422ca8aa915c756062da74",
+ "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/8782f575032fedc36e2eb27c39c736054e2b6867",
+ "reference": "8782f575032fedc36e2eb27c39c736054e2b6867",
"shasum": ""
},
"require": {
@@ -17505,7 +17654,7 @@
"webauthn"
],
"support": {
- "source": "https://github.com/web-auth/webauthn-lib/tree/5.2.2"
+ "source": "https://github.com/web-auth/webauthn-lib/tree/5.2.3"
},
"funding": [
{
@@ -17517,20 +17666,20 @@
"type": "patreon"
}
],
- "time": "2025-03-16T14:38:43+00:00"
+ "time": "2025-12-20T10:54:02+00:00"
},
{
"name": "web-auth/webauthn-symfony-bundle",
- "version": "5.2.2",
+ "version": "5.2.3",
"source": {
"type": "git",
"url": "https://github.com/web-auth/webauthn-symfony-bundle.git",
- "reference": "aebb0315b43728a92973cc3d4d471cbe414baa54"
+ "reference": "91f0aff70703e20d84251c83e238da1f8fc53b24"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/web-auth/webauthn-symfony-bundle/zipball/aebb0315b43728a92973cc3d4d471cbe414baa54",
- "reference": "aebb0315b43728a92973cc3d4d471cbe414baa54",
+ "url": "https://api.github.com/repos/web-auth/webauthn-symfony-bundle/zipball/91f0aff70703e20d84251c83e238da1f8fc53b24",
+ "reference": "91f0aff70703e20d84251c83e238da1f8fc53b24",
"shasum": ""
},
"require": {
@@ -17587,7 +17736,7 @@
"webauthn"
],
"support": {
- "source": "https://github.com/web-auth/webauthn-symfony-bundle/tree/5.2.2"
+ "source": "https://github.com/web-auth/webauthn-symfony-bundle/tree/5.2.3"
},
"funding": [
{
@@ -17599,37 +17748,37 @@
"type": "patreon"
}
],
- "time": "2025-03-24T12:00:00+00:00"
+ "time": "2025-12-20T10:20:41+00:00"
},
{
"name": "webmozart/assert",
- "version": "1.11.0",
+ "version": "2.1.2",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ "reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/ce6a2f100c404b2d32a1dd1270f9b59ad4f57649",
+ "reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649",
"shasum": ""
},
"require": {
"ext-ctype": "*",
- "php": "^7.2 || ^8.0"
+ "ext-date": "*",
+ "ext-filter": "*",
+ "php": "^8.2"
},
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
+ "suggest": {
+ "ext-intl": "",
+ "ext-simplexml": "",
+ "ext-spl": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.10-dev"
+ "dev-feature/2-0": "2.0-dev"
}
},
"autoload": {
@@ -17645,6 +17794,10 @@
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
+ },
+ {
+ "name": "Woody Gilk",
+ "email": "woody.gilk@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
@@ -17655,9 +17808,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ "source": "https://github.com/webmozarts/assert/tree/2.1.2"
},
- "time": "2022-06-03T18:03:27+00:00"
+ "time": "2026-01-13T14:02:24+00:00"
},
{
"name": "willdurand/negotiation",
@@ -17719,34 +17872,34 @@
"packages-dev": [
{
"name": "dama/doctrine-test-bundle",
- "version": "v8.4.0",
+ "version": "v8.6.0",
"source": {
"type": "git",
"url": "https://github.com/dmaicher/doctrine-test-bundle.git",
- "reference": "ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2"
+ "reference": "f7e3487643e685432f7e27c50cac64e9f8c515a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2",
- "reference": "ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2",
+ "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/f7e3487643e685432f7e27c50cac64e9f8c515a4",
+ "reference": "f7e3487643e685432f7e27c50cac64e9f8c515a4",
"shasum": ""
},
"require": {
"doctrine/dbal": "^3.3 || ^4.0",
"doctrine/doctrine-bundle": "^2.11.0 || ^3.0",
- "php": ">= 8.1",
+ "php": ">= 8.2",
"psr/cache": "^2.0 || ^3.0",
"symfony/cache": "^6.4 || ^7.3 || ^8.0",
"symfony/framework-bundle": "^6.4 || ^7.3 || ^8.0"
},
"conflict": {
- "phpunit/phpunit": "<10.0"
+ "phpunit/phpunit": "<11.0"
},
"require-dev": {
"behat/behat": "^3.0",
"friendsofphp/php-cs-fixer": "^3.27",
"phpstan/phpstan": "^2.0",
- "phpunit/phpunit": "^10.5.57 || ^11.5.41|| ^12.3.14",
+ "phpunit/phpunit": "^11.5.41|| ^12.3.14",
"symfony/dotenv": "^6.4 || ^7.3 || ^8.0",
"symfony/process": "^6.4 || ^7.3 || ^8.0"
},
@@ -17782,37 +17935,37 @@
],
"support": {
"issues": "https://github.com/dmaicher/doctrine-test-bundle/issues",
- "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.4.0"
+ "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.6.0"
},
- "time": "2025-10-11T15:24:02+00:00"
+ "time": "2026-01-21T07:39:44+00:00"
},
{
"name": "doctrine/doctrine-fixtures-bundle",
- "version": "4.2.0",
+ "version": "4.3.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineFixturesBundle.git",
- "reference": "cd58d7738fe1fea1dbfd3e3f3bb421ee92d45e10"
+ "reference": "9e013ed10d49bf7746b07204d336384a7d9b5a4d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/cd58d7738fe1fea1dbfd3e3f3bb421ee92d45e10",
- "reference": "cd58d7738fe1fea1dbfd3e3f3bb421ee92d45e10",
+ "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/9e013ed10d49bf7746b07204d336384a7d9b5a4d",
+ "reference": "9e013ed10d49bf7746b07204d336384a7d9b5a4d",
"shasum": ""
},
"require": {
- "doctrine/data-fixtures": "^2.0",
+ "doctrine/data-fixtures": "^2.2",
"doctrine/doctrine-bundle": "^2.2 || ^3.0",
"doctrine/orm": "^2.14.0 || ^3.0",
"doctrine/persistence": "^2.4 || ^3.0 || ^4.0",
"php": "^8.1",
"psr/log": "^2 || ^3",
- "symfony/config": "^6.4 || ^7.0",
- "symfony/console": "^6.4 || ^7.0",
- "symfony/dependency-injection": "^6.4 || ^7.0",
+ "symfony/config": "^6.4 || ^7.0 || ^8.0",
+ "symfony/console": "^6.4 || ^7.0 || ^8.0",
+ "symfony/dependency-injection": "^6.4 || ^7.0 || ^8.0",
"symfony/deprecation-contracts": "^2.1 || ^3",
- "symfony/doctrine-bridge": "^6.4.16 || ^7.1.9",
- "symfony/http-kernel": "^6.4 || ^7.0"
+ "symfony/doctrine-bridge": "^6.4.16 || ^7.1.9 || ^8.0",
+ "symfony/http-kernel": "^6.4 || ^7.0 || ^8.0"
},
"conflict": {
"doctrine/dbal": "< 3"
@@ -17854,7 +18007,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues",
- "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/4.2.0"
+ "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/4.3.1"
},
"funding": [
{
@@ -17870,7 +18023,7 @@
"type": "tidelift"
}
],
- "time": "2025-10-12T16:50:54+00:00"
+ "time": "2025-12-03T16:05:42+00:00"
},
{
"name": "ekino/phpstan-banned-code",
@@ -17940,27 +18093,27 @@
},
{
"name": "jbtronics/translation-editor-bundle",
- "version": "v1.1.2",
+ "version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/translation-editor-bundle.git",
- "reference": "bab5dd6ef41e87ba3d60c6363793e1cdf5cb6249"
+ "reference": "36bfb256e11d231d185bc2491323b041ba731257"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/translation-editor-bundle/zipball/bab5dd6ef41e87ba3d60c6363793e1cdf5cb6249",
- "reference": "bab5dd6ef41e87ba3d60c6363793e1cdf5cb6249",
+ "url": "https://api.github.com/repos/jbtronics/translation-editor-bundle/zipball/36bfb256e11d231d185bc2491323b041ba731257",
+ "reference": "36bfb256e11d231d185bc2491323b041ba731257",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^8.1",
"symfony/deprecation-contracts": "^3.4",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/translation": "^7.0|^6.4",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^7.0|^6.4|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/twig-bundle": "^7.0|^6.4",
- "symfony/web-profiler-bundle": "^7.0|^6.4"
+ "symfony/twig-bundle": "^7.0|^6.4|^8.0",
+ "symfony/web-profiler-bundle": "^7.0|^6.4|^8.0"
},
"require-dev": {
"ekino/phpstan-banned-code": "^1.0",
@@ -17994,7 +18147,7 @@
],
"support": {
"issues": "https://github.com/jbtronics/translation-editor-bundle/issues",
- "source": "https://github.com/jbtronics/translation-editor-bundle/tree/v1.1.2"
+ "source": "https://github.com/jbtronics/translation-editor-bundle/tree/v1.1.3"
},
"funding": [
{
@@ -18006,7 +18159,7 @@
"type": "github"
}
],
- "time": "2025-07-28T09:19:13+00:00"
+ "time": "2025-11-30T22:23:47+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -18070,16 +18223,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v5.6.1",
+ "version": "v5.7.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
"shasum": ""
},
"require": {
@@ -18122,9 +18275,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
},
- "time": "2025-08-13T20:13:15+00:00"
+ "time": "2025-12-06T11:56:16+00:00"
},
{
"name": "phar-io/manifest",
@@ -18294,11 +18447,11 @@
},
{
"name": "phpstan/phpstan",
- "version": "2.1.31",
+ "version": "2.1.38",
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ead89849d879fe203ce9292c6ef5e7e76f867b96",
- "reference": "ead89849d879fe203ce9292c6ef5e7e76f867b96",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dfaf1f530e1663aa167bc3e52197adb221582629",
+ "reference": "dfaf1f530e1663aa167bc3e52197adb221582629",
"shasum": ""
},
"require": {
@@ -18343,25 +18496,25 @@
"type": "github"
}
],
- "time": "2025-10-10T14:14:11+00:00"
+ "time": "2026-01-30T17:12:46+00:00"
},
{
"name": "phpstan/phpstan-doctrine",
- "version": "2.0.10",
+ "version": "2.0.14",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-doctrine.git",
- "reference": "5eaf37b87288474051469aee9f937fc9d862f330"
+ "reference": "70cd3e82fef49171163ff682a89cfe793d88581c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/5eaf37b87288474051469aee9f937fc9d862f330",
- "reference": "5eaf37b87288474051469aee9f937fc9d862f330",
+ "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/70cd3e82fef49171163ff682a89cfe793d88581c",
+ "reference": "70cd3e82fef49171163ff682a89cfe793d88581c",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
- "phpstan/phpstan": "^2.1.13"
+ "phpstan/phpstan": "^2.1.34"
},
"conflict": {
"doctrine/collections": "<1.0",
@@ -18386,7 +18539,7 @@
"nesbot/carbon": "^2.49",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/phpstan-deprecation-rules": "^2.0.2",
- "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0.8",
"phpstan/phpstan-strict-rules": "^2.0",
"phpunit/phpunit": "^9.6.20",
"ramsey/uuid": "^4.2",
@@ -18414,22 +18567,22 @@
"description": "Doctrine extensions for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-doctrine/issues",
- "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.10"
+ "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.14"
},
- "time": "2025-10-06T10:01:02+00:00"
+ "time": "2026-01-25T14:56:09+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
- "version": "2.0.7",
+ "version": "2.0.8",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538"
+ "reference": "1ed9e626a37f7067b594422411539aa807190573"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/d6211c46213d4181054b3d77b10a5c5cb0d59538",
- "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/1ed9e626a37f7067b594422411539aa807190573",
+ "reference": "1ed9e626a37f7067b594422411539aa807190573",
"shasum": ""
},
"require": {
@@ -18462,22 +18615,22 @@
"description": "Extra strict and opinionated rules for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
- "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.7"
+ "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.8"
},
- "time": "2025-09-26T11:19:08+00:00"
+ "time": "2026-01-27T08:10:25+00:00"
},
{
"name": "phpstan/phpstan-symfony",
- "version": "2.0.8",
+ "version": "2.0.12",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-symfony.git",
- "reference": "8820c22d785c235f69bb48da3d41e688bc8a1796"
+ "reference": "a46dd92eaf15146cd932d897a272e59cd4108ce2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/8820c22d785c235f69bb48da3d41e688bc8a1796",
- "reference": "8820c22d785c235f69bb48da3d41e688bc8a1796",
+ "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/a46dd92eaf15146cd932d897a272e59cd4108ce2",
+ "reference": "a46dd92eaf15146cd932d897a272e59cd4108ce2",
"shasum": ""
},
"require": {
@@ -18490,7 +18643,7 @@
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0.8",
"phpstan/phpstan-strict-rules": "^2.0",
"phpunit/phpunit": "^9.6",
"psr/container": "1.1.2",
@@ -18533,41 +18686,41 @@
"description": "Symfony Framework extensions and rules for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-symfony/issues",
- "source": "https://github.com/phpstan/phpstan-symfony/tree/2.0.8"
+ "source": "https://github.com/phpstan/phpstan-symfony/tree/2.0.12"
},
- "time": "2025-09-07T06:55:50+00:00"
+ "time": "2026-01-23T09:04:33+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "11.0.11",
+ "version": "11.0.12",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4"
+ "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4",
- "reference": "4f7722aa9a7b76aa775e2d9d4e95d1ea16eeeef4",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56",
+ "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.4.0",
+ "nikic/php-parser": "^5.7.0",
"php": ">=8.2",
"phpunit/php-file-iterator": "^5.1.0",
"phpunit/php-text-template": "^4.0.1",
"sebastian/code-unit-reverse-lookup": "^4.0.1",
"sebastian/complexity": "^4.0.1",
- "sebastian/environment": "^7.2.0",
+ "sebastian/environment": "^7.2.1",
"sebastian/lines-of-code": "^3.0.1",
"sebastian/version": "^5.0.2",
- "theseer/tokenizer": "^1.2.3"
+ "theseer/tokenizer": "^1.3.1"
},
"require-dev": {
- "phpunit/phpunit": "^11.5.2"
+ "phpunit/phpunit": "^11.5.46"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -18605,7 +18758,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.11"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12"
},
"funding": [
{
@@ -18625,32 +18778,32 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T14:37:49+00:00"
+ "time": "2025-12-24T07:01:01+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "5.1.0",
+ "version": "5.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
+ "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
- "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903",
+ "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^11.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -18678,15 +18831,27 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator",
+ "type": "tidelift"
}
],
- "time": "2024-08-27T05:02:59+00:00"
+ "time": "2026-02-02T13:52:54+00:00"
},
{
"name": "phpunit/php-invoker",
@@ -18874,16 +19039,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "11.5.42",
+ "version": "11.5.51",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "1c6cb5dfe412af3d0dfd414cfd110e3b9cfdbc3c"
+ "reference": "ad14159f92910b0f0e3928c13e9b2077529de091"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c6cb5dfe412af3d0dfd414cfd110e3b9cfdbc3c",
- "reference": "1c6cb5dfe412af3d0dfd414cfd110e3b9cfdbc3c",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ad14159f92910b0f0e3928c13e9b2077529de091",
+ "reference": "ad14159f92910b0f0e3928c13e9b2077529de091",
"shasum": ""
},
"require": {
@@ -18897,19 +19062,20 @@
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.2",
- "phpunit/php-code-coverage": "^11.0.11",
- "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-code-coverage": "^11.0.12",
+ "phpunit/php-file-iterator": "^5.1.1",
"phpunit/php-invoker": "^5.0.1",
"phpunit/php-text-template": "^4.0.1",
"phpunit/php-timer": "^7.0.1",
"sebastian/cli-parser": "^3.0.2",
"sebastian/code-unit": "^3.0.3",
- "sebastian/comparator": "^6.3.2",
+ "sebastian/comparator": "^6.3.3",
"sebastian/diff": "^6.0.2",
"sebastian/environment": "^7.2.1",
"sebastian/exporter": "^6.3.2",
"sebastian/global-state": "^7.0.2",
"sebastian/object-enumerator": "^6.0.1",
+ "sebastian/recursion-context": "^6.0.3",
"sebastian/type": "^5.1.3",
"sebastian/version": "^5.0.2",
"staabm/side-effects-detector": "^1.0.5"
@@ -18955,7 +19121,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.42"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.51"
},
"funding": [
{
@@ -18979,25 +19145,25 @@
"type": "tidelift"
}
],
- "time": "2025-09-28T12:09:13+00:00"
+ "time": "2026-02-05T07:59:30+00:00"
},
{
"name": "rector/rector",
- "version": "2.2.3",
+ "version": "2.3.6",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "d27f976a332a87b5d03553c2e6f04adbe5da034f"
+ "reference": "ca9ebb81d280cd362ea39474dabd42679e32ca6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/d27f976a332a87b5d03553c2e6f04adbe5da034f",
- "reference": "d27f976a332a87b5d03553c2e6f04adbe5da034f",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/ca9ebb81d280cd362ea39474dabd42679e32ca6b",
+ "reference": "ca9ebb81d280cd362ea39474dabd42679e32ca6b",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
- "phpstan/phpstan": "^2.1.26"
+ "phpstan/phpstan": "^2.1.38"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -19031,7 +19197,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/2.2.3"
+ "source": "https://github.com/rectorphp/rector/tree/2.3.6"
},
"funding": [
{
@@ -19039,7 +19205,7 @@
"type": "github"
}
],
- "time": "2025-10-11T21:50:23+00:00"
+ "time": "2026-02-06T14:25:06+00:00"
},
{
"name": "roave/security-advisories",
@@ -19047,31 +19213,36 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "7a8f128281289412092c450a5eb3df5cabbc89e1"
+ "reference": "7ea2d110787f6807213e27a1255c6b858ad99d89"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/7a8f128281289412092c450a5eb3df5cabbc89e1",
- "reference": "7a8f128281289412092c450a5eb3df5cabbc89e1",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/7ea2d110787f6807213e27a1255c6b858ad99d89",
+ "reference": "7ea2d110787f6807213e27a1255c6b858ad99d89",
"shasum": ""
},
"conflict": {
"3f/pygmentize": "<1.2",
"adaptcms/adaptcms": "<=1.3",
- "admidio/admidio": "<4.3.12",
+ "admidio/admidio": "<=4.3.16",
"adodb/adodb-php": "<=5.22.9",
"aheinze/cockpit": "<2.2",
"aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.07.2",
"aimeos/ai-admin-jsonadm": "<2020.10.13|>=2021.04.1,<2021.10.6|>=2022.04.1,<2022.10.3|>=2023.04.1,<2023.10.4|==2024.04.1",
"aimeos/ai-client-html": ">=2020.04.1,<2020.10.27|>=2021.04.1,<2021.10.22|>=2022.04.1,<2022.10.13|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.04.7",
+ "aimeos/ai-cms-grapesjs": ">=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.9|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.10.8|>=2025.04.1,<2025.10.2",
"aimeos/ai-controller-frontend": "<2020.10.15|>=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.8|>=2023.04.1,<2023.10.9|==2024.04.1",
"aimeos/aimeos-core": ">=2022.04.1,<2022.10.17|>=2023.04.1,<2023.10.17|>=2024.04.1,<2024.04.7",
+ "aimeos/aimeos-laravel": "==2021.10",
"aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5",
"airesvsg/acf-to-rest-api": "<=3.1",
"akaunting/akaunting": "<2.1.13",
"akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53",
- "alextselegidis/easyappointments": "<1.5.2.0-beta1",
+ "alextselegidis/easyappointments": "<=1.5.2",
+ "alexusmai/laravel-file-manager": "<=3.3.1",
+ "algolia/algoliasearch-magento-2": "<=3.16.1|>=3.17.0.0-beta1,<=3.17.1",
"alt-design/alt-redirect": "<1.6.4",
+ "altcha-org/altcha": "<1.3.1",
"alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1",
"amazing/media2click": ">=1,<1.3.3",
"ameos/ameos_tarteaucitron": "<1.2.23",
@@ -19095,22 +19266,22 @@
"athlon1600/php-proxy-app": "<=3",
"athlon1600/youtube-downloader": "<=4",
"austintoddj/canvas": "<=3.4.2",
- "auth0/auth0-php": ">=3.3,<=8.16",
- "auth0/login": "<=7.18",
- "auth0/symfony": "<=5.4.1",
- "auth0/wordpress": "<=5.3",
+ "auth0/auth0-php": ">=3.3,<8.18",
+ "auth0/login": "<7.20",
+ "auth0/symfony": "<=5.5",
+ "auth0/wordpress": "<=5.4",
"automad/automad": "<2.0.0.0-alpha5",
"automattic/jetpack": "<9.8",
"awesome-support/awesome-support": "<=6.0.7",
- "aws/aws-sdk-php": "<3.288.1",
- "azuracast/azuracast": "<0.18.3",
+ "aws/aws-sdk-php": "<3.368",
+ "azuracast/azuracast": "<=0.23.1",
"b13/seo_basics": "<0.8.2",
- "backdrop/backdrop": "<1.27.3|>=1.28,<1.28.2",
+ "backdrop/backdrop": "<=1.32",
"backpack/crud": "<3.4.9",
"backpack/filemanager": "<2.0.2|>=3,<3.0.9",
"bacula-web/bacula-web": "<9.7.1",
"badaso/core": "<=2.9.11",
- "bagisto/bagisto": "<=2.3.7",
+ "bagisto/bagisto": "<2.3.10",
"barrelstrength/sprout-base-email": "<1.2.7",
"barrelstrength/sprout-forms": "<3.9",
"barryvdh/laravel-translation-manager": "<0.6.8",
@@ -19142,7 +19313,8 @@
"bvbmedia/multishop": "<2.0.39",
"bytefury/crater": "<6.0.2",
"cachethq/cachet": "<2.5.1",
- "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10",
+ "cadmium-org/cadmium-cms": "<=0.4.9",
+ "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10|>=5.2.10,<5.2.12|==5.3",
"cakephp/database": ">=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10",
"cardgate/magento2": "<2.0.33",
"cardgate/woocommerce": "<=3.1.15",
@@ -19156,34 +19328,41 @@
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"chriskacerguis/codeigniter-restserver": "<=2.7.1",
"chrome-php/chrome": "<1.14",
+ "ci4-cms-erp/ci4ms": "<0.28.5",
"civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3",
"ckeditor/ckeditor": "<4.25",
"clickstorm/cs-seo": ">=6,<6.8|>=7,<7.5|>=8,<8.4|>=9,<9.3",
"co-stack/fal_sftp": "<0.2.6",
"cockpit-hq/cockpit": "<2.11.4",
+ "code16/sharp": "<9.11.1",
"codeception/codeception": "<3.1.3|>=4,<4.1.22",
"codeigniter/framework": "<3.1.10",
"codeigniter4/framework": "<4.6.2",
"codeigniter4/shield": "<1.0.0.0-beta8",
"codiad/codiad": "<=2.8.4",
"codingms/additional-tca": ">=1.7,<1.15.17|>=1.16,<1.16.9",
+ "codingms/modules": "<4.3.11|>=5,<5.7.4|>=6,<6.4.2|>=7,<7.5.5",
"commerceteam/commerce": ">=0.9.6,<0.9.9",
"components/jquery": ">=1.0.3,<3.5",
- "composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7",
+ "composer/composer": "<1.10.27|>=2,<2.2.26|>=2.3,<2.9.3",
"concrete5/concrete5": "<9.4.3",
"concrete5/core": "<8.5.8|>=9,<9.1",
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
"contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4",
"contao/contao": ">=3,<3.5.37|>=4,<4.4.56|>=4.5,<4.13.56|>=5,<5.3.38|>=5.4.0.0-RC1-dev,<5.6.1",
"contao/core": "<3.5.39",
- "contao/core-bundle": "<4.13.56|>=5,<5.3.38|>=5.4,<5.6.1",
+ "contao/core-bundle": "<4.13.57|>=5,<5.3.42|>=5.4,<5.6.5",
"contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8",
"contao/managed-edition": "<=1.5",
+ "coreshop/core-shop": "<4.1.9",
"corveda/phpsandbox": "<1.3.5",
"cosenary/instagram": "<=2.3",
"couleurcitron/tarteaucitron-wp": "<0.3",
- "craftcms/cms": "<=4.16.5|>=5,<=5.8.6",
- "croogo/croogo": "<4",
+ "cpsit/typo3-mailqueue": "<0.4.3|>=0.5,<0.5.1",
+ "craftcms/cms": "<=4.16.16|>=5,<=5.8.20",
+ "craftcms/commerce": ">=4.0.0.0-RC1-dev,<=4.10|>=5,<=5.5.1",
+ "craftcms/composer": ">=4.0.0.0-RC1-dev,<=4.10|>=5.0.0.0-RC1-dev,<=5.5.1",
+ "croogo/croogo": "<=4.0.7",
"cuyz/valinor": "<0.12",
"czim/file-handling": "<1.5|>=2,<2.3",
"czproject/git-php": "<4.0.3",
@@ -19200,6 +19379,7 @@
"derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4",
"desperado/xml-bundle": "<=0.1.7",
"dev-lancer/minecraft-motd-parser": "<=1.0.5",
+ "devcode-it/openstamanager": "<=2.9.8",
"devgroup/dotplant": "<2020.09.14-dev",
"digimix/wp-svg-upload": "<=1",
"directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2",
@@ -19219,36 +19399,47 @@
"dompdf/dompdf": "<2.0.4",
"doublethreedigital/guest-entries": "<3.1.2",
"drupal-pattern-lab/unified-twig-extensions": "<=0.1",
+ "drupal/access_code": "<2.0.5",
+ "drupal/acquia_dam": "<1.1.5",
"drupal/admin_audit_trail": "<1.0.5",
"drupal/ai": "<1.0.5",
"drupal/alogin": "<2.0.6",
"drupal/cache_utility": "<1.2.1",
+ "drupal/civictheme": "<1.12",
"drupal/commerce_alphabank_redirect": "<1.0.3",
"drupal/commerce_eurobank_redirect": "<2.1.1",
"drupal/config_split": "<1.10|>=2,<2.0.2",
- "drupal/core": ">=6,<6.38|>=7,<7.102|>=8,<10.3.14|>=10.4,<10.4.5|>=11,<11.0.13|>=11.1,<11.1.5",
+ "drupal/core": ">=6,<6.38|>=7,<7.103|>=8,<10.4.9|>=10.5,<10.5.6|>=11,<11.1.9|>=11.2,<11.2.8",
"drupal/core-recommended": ">=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
+ "drupal/currency": "<3.5",
"drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
+ "drupal/email_tfa": "<2.0.6",
"drupal/formatter_suite": "<2.1",
"drupal/gdpr": "<3.0.1|>=3.1,<3.1.2",
"drupal/google_tag": "<1.8|>=2,<2.0.8",
"drupal/ignition": "<1.0.4",
+ "drupal/json_field": "<1.5",
"drupal/lightgallery": "<1.6",
"drupal/link_field_display_mode_formatter": "<1.6",
"drupal/matomo": "<1.24",
"drupal/oauth2_client": "<4.1.3",
"drupal/oauth2_server": "<2.1",
"drupal/obfuscate": "<2.0.1",
+ "drupal/plausible_tracking": "<1.0.2",
"drupal/quick_node_block": "<2",
"drupal/rapidoc_elements_field_formatter": "<1.0.1",
+ "drupal/reverse_proxy_header": "<1.1.2",
+ "drupal/simple_multistep": "<2",
+ "drupal/simple_oauth": ">=6,<6.0.7",
"drupal/spamspan": "<3.2.1",
"drupal/tfa": "<1.10",
+ "drupal/umami_analytics": "<1.0.1",
"duncanmcclean/guest-entries": "<3.1.2",
"dweeves/magmi": "<=0.7.24",
"ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2",
"ecodev/newsletter": "<=4",
"ectouch/ectouch": "<=2.7.2",
- "egroupware/egroupware": "<23.1.20240624",
+ "egroupware/egroupware": "<23.1.20260113|>=26.0.20251208,<26.0.20260113",
"elefant/cms": "<2.0.7",
"elgg/elgg": "<3.3.24|>=4,<4.0.5",
"elijaa/phpmemcacheadmin": "<=1.3",
@@ -19271,23 +19462,24 @@
"ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1|>=5.3.0.0-beta1,<5.3.5",
"ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12",
"ezsystems/ezplatform-http-cache": "<2.3.16",
- "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.35",
+ "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.35",
"ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8",
"ezsystems/ezplatform-richtext": ">=2.3,<2.3.26|>=3.3,<3.3.40",
"ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15",
"ezsystems/ezplatform-user": ">=1,<1.0.1",
- "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31",
+ "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.31",
"ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.03.5.1",
"ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3",
"ezsystems/repository-forms": ">=2.3,<2.3.2.1-dev|>=2.5,<2.5.15",
"ezyang/htmlpurifier": "<=4.2",
"facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2",
- "facturascripts/facturascripts": "<=2022.08",
+ "facturascripts/facturascripts": "<2025.81",
"fastly/magento2": "<1.2.26",
"feehi/cms": "<=2.1.1",
"feehi/feehicms": "<=2.1.1",
"fenom/fenom": "<=2.12.1",
"filament/actions": ">=3.2,<3.2.123",
+ "filament/filament": ">=4,<4.3.1",
"filament/infolists": ">=3,<3.2.115",
"filament/tables": ">=3,<3.2.115",
"filegator/filegator": "<7.8",
@@ -19306,6 +19498,7 @@
"floriangaerber/magnesium": "<0.3.1",
"fluidtypo3/vhs": "<5.1.1",
"fof/byobu": ">=0.3.0.0-beta2,<1.1.7",
+ "fof/pretty-mail": "<=1.1.2",
"fof/upload": "<1.2.3",
"foodcoopshop/foodcoopshop": ">=3.2,<3.6.1",
"fooman/tcpdf": "<6.2.22",
@@ -19329,9 +19522,9 @@
"genix/cms": "<=1.1.11",
"georgringer/news": "<1.3.3",
"geshi/geshi": "<=1.0.9.1",
- "getformwork/formwork": "<1.13.1|>=2.0.0.0-beta1,<2.0.0.0-beta4",
- "getgrav/grav": "<1.7.46",
- "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1",
+ "getformwork/formwork": "<2.2",
+ "getgrav/grav": "<1.11.0.0-beta1",
+ "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1|>=5,<=5.2.1",
"getkirby/kirby": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1",
"getkirby/panel": "<2.5.14",
"getkirby/starterkit": "<=3.7.0.2",
@@ -19369,7 +19562,7 @@
"ibexa/http-cache": ">=4.6,<4.6.14",
"ibexa/post-install": "<1.0.16|>=4.6,<4.6.14",
"ibexa/solr": ">=4.5,<4.5.4",
- "ibexa/user": ">=4,<4.4.3|>=5,<5.0.3",
+ "ibexa/user": ">=4,<4.4.3|>=5,<5.0.4",
"icecoder/icecoder": "<=8.1",
"idno/known": "<=1.3.1",
"ilicmiljan/secure-props": ">=1.2,<1.2.2",
@@ -19421,7 +19614,7 @@
"kelvinmo/simplexrd": "<3.1.1",
"kevinpapst/kimai2": "<1.16.7",
"khodakhah/nodcms": "<=3",
- "kimai/kimai": "<=2.20.1",
+ "kimai/kimai": "<2.46",
"kitodo/presentation": "<3.2.3|>=3.3,<3.3.4",
"klaviyo/magento2-extension": ">=1,<3",
"knplabs/knp-snappy": "<=1.4.2",
@@ -19440,10 +19633,10 @@
"laravel/framework": "<10.48.29|>=11,<11.44.1|>=12,<12.1.1",
"laravel/laravel": ">=5.4,<5.4.22",
"laravel/pulse": "<1.3.1",
- "laravel/reverb": "<1.4",
+ "laravel/reverb": "<1.7",
"laravel/socialite": ">=1,<2.0.10",
"latte/latte": "<2.10.8",
- "lavalite/cms": "<=9|==10.1",
+ "lavalite/cms": "<=10.1",
"lavitto/typo3-form-to-database": "<2.2.5|>=3,<3.2.2|>=4,<4.2.3|>=5,<5.0.2",
"lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5",
"league/commonmark": "<2.7",
@@ -19452,11 +19645,12 @@
"leantime/leantime": "<3.3",
"lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3",
"libreform/libreform": ">=2,<=2.0.8",
- "librenms/librenms": "<2017.08.18",
+ "librenms/librenms": "<25.12",
"liftkit/database": "<2.13.2",
"lightsaml/lightsaml": "<1.3.5",
"limesurvey/limesurvey": "<6.5.12",
"livehelperchat/livehelperchat": "<=3.91",
+ "livewire-filemanager/filemanager": "<=1.0.4",
"livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.6.4",
"livewire/volt": "<1.7",
"lms/routes": "<2.1.1",
@@ -19466,7 +19660,7 @@
"luyadev/yii-helpers": "<1.2.1",
"macropay-solutions/laravel-crud-wizard-free": "<3.4.17",
"maestroerror/php-heic-to-jpg": "<1.0.5",
- "magento/community-edition": "<=2.4.5.0-patch14|==2.4.6|>=2.4.6.0-patch1,<=2.4.6.0-patch12|>=2.4.7.0-beta1,<=2.4.7.0-patch7|>=2.4.8.0-beta1,<=2.4.8.0-patch2|>=2.4.9.0-alpha1,<=2.4.9.0-alpha2|==2.4.9",
+ "magento/community-edition": "<2.4.6.0-patch13|>=2.4.7.0-beta1,<2.4.7.0-patch8|>=2.4.8.0-beta1,<2.4.8.0-patch3|>=2.4.9.0-alpha1,<2.4.9.0-alpha3|==2.4.9",
"magento/core": "<=1.9.4.5",
"magento/magento1ce": "<1.9.4.3-dev",
"magento/magento1ee": ">=1,<1.14.4.3-dev",
@@ -19477,17 +19671,18 @@
"maikuolan/phpmussel": ">=1,<1.6",
"mainwp/mainwp": "<=4.4.3.3",
"manogi/nova-tiptap": "<=3.2.6",
- "mantisbt/mantisbt": "<=2.26.3",
+ "mantisbt/mantisbt": "<2.27.2",
"marcwillmann/turn": "<0.3.3",
"marshmallow/nova-tiptap": "<5.7",
"matomo/matomo": "<1.11",
"matyhtf/framework": "<3.0.6",
- "mautic/core": "<5.2.8|>=6.0.0.0-alpha,<6.0.5",
+ "mautic/core": "<5.2.9|>=6,<6.0.7",
"mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1",
+ "mautic/grapes-js-builder-bundle": ">=4,<4.4.18|>=5,<5.2.9|>=6,<6.0.7",
"maximebf/debugbar": "<1.19",
"mdanter/ecc": "<2",
"mediawiki/abuse-filter": "<1.39.9|>=1.40,<1.41.3|>=1.42,<1.42.2",
- "mediawiki/cargo": "<3.6.1",
+ "mediawiki/cargo": "<3.8.3",
"mediawiki/core": "<1.39.5|==1.40",
"mediawiki/data-transfer": ">=1.39,<1.39.11|>=1.41,<1.41.3|>=1.42,<1.42.2",
"mediawiki/matomo": "<2.4.3",
@@ -19503,25 +19698,26 @@
"microsoft/microsoft-graph": ">=1.16,<1.109.1|>=2,<2.0.1",
"microsoft/microsoft-graph-beta": "<2.0.1",
"microsoft/microsoft-graph-core": "<2.0.2",
- "microweber/microweber": "<=2.0.19",
+ "microweber/microweber": "<2.0.20",
"mikehaertl/php-shellcommand": "<1.6.1",
+ "mineadmin/mineadmin": "<=3.0.9",
"miniorange/miniorange-saml": "<1.4.3",
"mittwald/typo3_forum": "<1.2.1",
"mobiledetect/mobiledetectlib": "<2.8.32",
"modx/revolution": "<=3.1",
"mojo42/jirafeau": "<4.4",
"mongodb/mongodb": ">=1,<1.9.2",
+ "mongodb/mongodb-extension": "<1.21.2",
"monolog/monolog": ">=1.8,<1.12",
- "moodle/moodle": "<4.3.12|>=4.4,<4.4.8|>=4.5.0.0-beta,<4.5.4",
+ "moodle/moodle": "<4.4.12|>=4.5.0.0-beta,<4.5.8|>=5.0.0.0-beta,<5.0.4|>=5.1.0.0-beta,<5.1.1",
"moonshine/moonshine": "<=3.12.5",
"mos/cimage": "<0.7.19",
"movim/moxl": ">=0.8,<=0.10",
"movingbytes/social-network": "<=1.2.1",
"mpdf/mpdf": "<=7.1.7",
- "munkireport/comment": "<4.1",
+ "munkireport/comment": "<4",
"munkireport/managedinstalls": "<2.6",
"munkireport/munki_facts": "<1.5",
- "munkireport/munkireport": ">=2.5.3,<5.6.3",
"munkireport/reportdata": "<3.5",
"munkireport/softwareupdate": "<1.6",
"mustache/mustache": ">=2,<2.14.1",
@@ -19541,6 +19737,7 @@
"netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15",
"nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6",
"nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13",
+ "neuron-core/neuron-ai": "<=2.8.11",
"nilsteampassnet/teampass": "<3.1.3.1-dev",
"nitsan/ns-backup": "<13.0.1",
"nonfiction/nterchange": "<4.1.1",
@@ -19557,15 +19754,15 @@
"october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1",
"october/october": "<3.7.5",
"october/rain": "<1.0.472|>=1.1,<1.1.2",
- "october/system": "<3.7.5",
+ "october/system": "<=3.7.12|>=4,<=4.0.11",
"oliverklee/phpunit": "<3.5.15",
"omeka/omeka-s": "<4.0.3",
- "onelogin/php-saml": "<2.10.4",
+ "onelogin/php-saml": "<2.21.1|>=3,<3.8.1|>=4,<4.3.1",
"oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5",
"open-web-analytics/open-web-analytics": "<1.8.1",
"opencart/opencart": ">=0",
"openid/php-openid": "<2.3",
- "openmage/magento-lts": "<20.12.3",
+ "openmage/magento-lts": "<20.16.1",
"opensolutions/vimbadmin": "<=3.0.15",
"opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7",
"orchid/platform": ">=8,<14.43",
@@ -19584,6 +19781,7 @@
"pagekit/pagekit": "<=1.0.18",
"paragonie/ecc": "<2.0.1",
"paragonie/random_compat": "<2",
+ "paragonie/sodium_compat": "<1.24|>=2,<2.5",
"passbolt/passbolt_api": "<4.6.2",
"paypal/adaptivepayments-sdk-php": "<=3.9.2",
"paypal/invoice-sdk-php": "<=3.9",
@@ -19596,6 +19794,7 @@
"pear/pear": "<=1.10.1",
"pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1",
"personnummer/personnummer": "<3.0.2",
+ "ph7software/ph7builder": "<=17.9.1",
"phanan/koel": "<5.1.4",
"phenx/php-svg-lib": "<0.5.2",
"php-censor/php-censor": "<2.0.13|>=2.1,<2.1.5",
@@ -19606,27 +19805,29 @@
"phpmailer/phpmailer": "<6.5",
"phpmussel/phpmussel": ">=1,<1.6",
"phpmyadmin/phpmyadmin": "<5.2.2",
- "phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5|>=3.2.10,<=4.0.1",
+ "phpmyfaq/phpmyfaq": "<=4.0.16",
"phpoffice/common": "<0.2.9",
"phpoffice/math": "<=0.2",
"phpoffice/phpexcel": "<=1.8.2",
"phpoffice/phpspreadsheet": "<1.30|>=2,<2.1.12|>=2.2,<2.4|>=3,<3.10|>=4,<5",
+ "phppgadmin/phppgadmin": "<=7.13",
"phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
"phpservermon/phpservermon": "<3.6",
"phpsysinfo/phpsysinfo": "<3.4.3",
- "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3",
+ "phpunit/phpunit": "<8.5.52|>=9,<9.6.33|>=10,<10.5.62|>=11,<11.5.50|>=12,<12.5.8",
"phpwhois/phpwhois": "<=4.2.5",
"phpxmlrpc/extras": "<0.6.1",
"phpxmlrpc/phpxmlrpc": "<4.9.2",
"pi/pi": "<=2.5",
- "pimcore/admin-ui-classic-bundle": "<1.7.6",
+ "pimcore/admin-ui-classic-bundle": "<=1.7.15|>=2.0.0.0-RC1-dev,<=2.2.2",
"pimcore/customer-management-framework-bundle": "<4.2.1",
"pimcore/data-hub": "<1.2.4",
"pimcore/data-importer": "<1.8.9|>=1.9,<1.9.3",
"pimcore/demo": "<10.3",
"pimcore/ecommerce-framework-bundle": "<1.0.10",
"pimcore/perspective-editor": "<1.5.1",
- "pimcore/pimcore": "<11.5.4",
+ "pimcore/pimcore": "<=11.5.13|>=12.0.0.0-RC1-dev,<12.3.1",
+ "pimcore/web2print-tools-bundle": "<=5.2.1|>=6.0.0.0-RC1-dev,<=6.1",
"piwik/piwik": "<1.11",
"pixelfed/pixelfed": "<0.12.5",
"plotly/plotly.js": "<2.25.2",
@@ -19639,18 +19840,19 @@
"prestashop/blockwishlist": ">=2,<2.1.1",
"prestashop/contactform": ">=1.0.1,<4.3",
"prestashop/gamification": "<2.3.2",
- "prestashop/prestashop": "<8.2.3",
+ "prestashop/prestashop": "<8.2.4|>=9.0.0.0-alpha1,<9.0.3",
"prestashop/productcomments": "<5.0.2",
"prestashop/ps_checkout": "<4.4.1|>=5,<5.0.5",
"prestashop/ps_contactinfo": "<=3.3.2",
"prestashop/ps_emailsubscription": "<2.6.1",
"prestashop/ps_facetedsearch": "<3.4.1",
"prestashop/ps_linklist": "<3.1",
- "privatebin/privatebin": "<1.4|>=1.5,<1.7.4",
- "processwire/processwire": "<=3.0.229",
+ "privatebin/privatebin": "<1.4|>=1.5,<1.7.4|>=1.7.7,<2.0.3",
+ "processwire/processwire": "<=3.0.246",
"propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7",
"propel/propel1": ">=1,<=1.7.1",
- "pterodactyl/panel": "<=1.11.10",
+ "psy/psysh": "<=0.11.22|>=0.12,<=0.12.18",
+ "pterodactyl/panel": "<1.12",
"ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2",
"ptrofimov/beanstalk_console": "<1.7.14",
"pubnub/pubnub": "<6.1",
@@ -19668,13 +19870,13 @@
"rap2hpoutre/laravel-log-viewer": "<0.13",
"react/http": ">=0.7,<1.9",
"really-simple-plugins/complianz-gdpr": "<6.4.2",
- "redaxo/source": "<5.18.3",
+ "redaxo/source": "<=5.20.1",
"remdex/livehelperchat": "<4.29",
"renolit/reint-downloadmanager": "<4.0.2|>=5,<5.0.1",
"reportico-web/reportico": "<=8.1",
"rhukster/dom-sanitizer": "<1.0.7",
"rmccue/requests": ">=1.6,<1.8",
- "robrichards/xmlseclibs": ">=1,<3.0.4",
+ "robrichards/xmlseclibs": "<=3.1.3",
"roots/soil": "<4.1",
"roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11",
"rudloff/alltube": "<3.0.3",
@@ -19690,11 +19892,11 @@
"setasign/fpdi": "<2.6.4",
"sfroemken/url_redirect": "<=1.2.1",
"sheng/yiicms": "<1.2.1",
- "shopware/core": "<6.5.8.18-dev|>=6.6,<6.6.10.3-dev|>=6.7,<6.7.2.1-dev",
- "shopware/platform": "<=6.6.10.4|>=6.7.0.0-RC1-dev,<6.7.0.0-RC2-dev",
+ "shopware/core": "<6.6.10.9-dev|>=6.7,<6.7.6.1-dev",
+ "shopware/platform": "<6.6.10.7-dev|>=6.7,<6.7.3.1-dev",
"shopware/production": "<=6.3.5.2",
- "shopware/shopware": "<=5.7.17|>=6.7,<6.7.2.1-dev",
- "shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev",
+ "shopware/shopware": "<=5.7.17|>=6.4.6,<6.6.10.10-dev|>=6.7,<6.7.6.1-dev",
+ "shopware/storefront": "<6.6.10.10-dev|>=6.7,<6.7.5.1-dev",
"shopxo/shopxo": "<=6.4",
"showdoc/showdoc": "<2.10.4",
"shuchkin/simplexlsx": ">=1.0.12,<1.1.13",
@@ -19735,24 +19937,25 @@
"slim/slim": "<2.6",
"slub/slub-events": "<3.0.3",
"smarty/smarty": "<4.5.3|>=5,<5.1.1",
- "snipe/snipe-it": "<8.1.18",
+ "snipe/snipe-it": "<=8.3.4",
"socalnick/scn-social-auth": "<1.15.2",
"socialiteproviders/steam": "<1.1",
- "solspace/craft-freeform": ">=5,<5.10.16",
+ "solspace/craft-freeform": "<4.1.29|>=5,<=5.14.6",
"soosyze/soosyze": "<=2",
"spatie/browsershot": "<5.0.5",
"spatie/image-optimizer": "<1.7.3",
"spencer14420/sp-php-email-handler": "<1",
"spipu/html2pdf": "<5.2.8",
+ "spiral/roadrunner": "<2025.1",
"spoon/library": "<1.4.1",
"spoonity/tcpdf": "<6.2.22",
"squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1",
"ssddanbrown/bookstack": "<24.05.1",
- "starcitizentools/citizen-skin": ">=1.9.4,<3.4",
+ "starcitizentools/citizen-skin": ">=1.9.4,<3.9",
"starcitizentools/short-description": ">=4,<4.0.1",
"starcitizentools/tabber-neue": ">=1.9.1,<2.7.2|>=3,<3.1.1",
"starcitizenwiki/embedvideo": "<=4",
- "statamic/cms": "<=5.16",
+ "statamic/cms": "<=5.22",
"stormpath/sdk": "<9.9.99",
"studio-42/elfinder": "<=2.1.64",
"studiomitte/friendlycaptcha": "<0.1.4",
@@ -19783,7 +19986,7 @@
"symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1",
"symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<5.3.15|>=5.4.3,<5.4.4|>=6.0.3,<6.0.4",
"symfony/http-client": ">=4.3,<5.4.47|>=6,<6.4.15|>=7,<7.1.8",
- "symfony/http-foundation": "<5.4.46|>=6,<6.4.14|>=7,<7.1.7",
+ "symfony/http-foundation": "<5.4.50|>=6,<6.4.29|>=7,<7.3.7",
"symfony/http-kernel": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6",
"symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1",
@@ -19791,7 +19994,7 @@
"symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
"symfony/polyfill": ">=1,<1.10",
"symfony/polyfill-php55": ">=1,<1.10",
- "symfony/process": "<5.4.46|>=6,<6.4.14|>=7,<7.1.7",
+ "symfony/process": "<5.4.51|>=6,<6.4.33|>=7,<7.1.7|>=7.3,<7.3.11|>=7.4,<7.4.5|>=8,<8.0.5",
"symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
"symfony/routing": ">=2,<2.0.19",
"symfony/runtime": ">=5.3,<5.4.46|>=6,<6.4.14|>=7,<7.1.7",
@@ -19802,7 +20005,7 @@
"symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8",
"symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.4.47|>=6,<6.4.15|>=7,<7.1.8",
"symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12",
- "symfony/symfony": "<5.4.47|>=6,<6.4.15|>=7,<7.1.8",
+ "symfony/symfony": "<5.4.51|>=6,<6.4.33|>=7,<7.3.11|>=7.4,<7.4.5|>=8,<8.0.5",
"symfony/translation": ">=2,<2.0.17",
"symfony/twig-bridge": ">=2,<4.4.51|>=5,<5.4.31|>=6,<6.3.8",
"symfony/ux-autocomplete": "<2.11.2",
@@ -19826,7 +20029,7 @@
"thelia/thelia": ">=2.1,<2.1.3",
"theonedemon/phpwhois": "<=4.2.5",
"thinkcmf/thinkcmf": "<6.0.8",
- "thorsten/phpmyfaq": "<=4.0.1|>=4.0.7,<4.0.13",
+ "thorsten/phpmyfaq": "<=4.0.16|>=4.1.0.0-alpha,<=4.1.0.0-beta2",
"tikiwiki/tiki-manager": "<=17.1",
"timber/timber": ">=0.16.6,<1.23.1|>=1.24,<1.24.1|>=2,<2.1",
"tinymce/tinymce": "<7.2",
@@ -19837,7 +20040,7 @@
"topthink/framework": "<6.0.17|>=6.1,<=8.0.4",
"topthink/think": "<=6.1.1",
"topthink/thinkphp": "<=3.2.3|>=6.1.3,<=8.0.4",
- "torrentpier/torrentpier": "<=2.4.3",
+ "torrentpier/torrentpier": "<=2.8.8",
"tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2",
"tribalsystems/zenario": "<=9.7.61188",
"truckersmp/phpwhois": "<=4.3.1",
@@ -19845,10 +20048,10 @@
"twbs/bootstrap": "<3.4.1|>=4,<4.3.1",
"twig/twig": "<3.11.2|>=3.12,<3.14.1|>=3.16,<3.19",
"typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2",
- "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
+ "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.55|>=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1",
"typo3/cms-belog": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
"typo3/cms-beuser": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
- "typo3/cms-core": "<=8.7.56|>=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
+ "typo3/cms-core": "<=8.7.56|>=9,<9.5.55|>=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1",
"typo3/cms-dashboard": ">=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
"typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1",
"typo3/cms-extensionmanager": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
@@ -19860,7 +20063,8 @@
"typo3/cms-install": "<4.1.14|>=4.2,<4.2.16|>=4.3,<4.3.9|>=4.4,<4.4.5|>=12.2,<12.4.8|==13.4.2",
"typo3/cms-lowlevel": ">=11,<=11.5.41",
"typo3/cms-recordlist": ">=11,<11.5.48",
- "typo3/cms-recycler": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
+ "typo3/cms-recycler": ">=9,<9.5.55|>=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1",
+ "typo3/cms-redirects": ">=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1",
"typo3/cms-rte-ckeditor": ">=9.5,<9.5.42|>=10,<10.4.39|>=11,<11.5.30",
"typo3/cms-scheduler": ">=11,<=11.5.41",
"typo3/cms-setup": ">=9,<=9.5.50|>=10,<=10.4.49|>=11,<=11.5.43|>=12,<=12.4.30|>=13,<=13.4.11",
@@ -19911,7 +20115,7 @@
"wikimedia/parsoid": "<0.12.2",
"willdurand/js-translation-bundle": "<2.1.1",
"winter/wn-backend-module": "<1.2.4",
- "winter/wn-cms-module": "<1.0.476|>=1.1,<1.1.11|>=1.2,<1.2.7",
+ "winter/wn-cms-module": "<=1.2.9",
"winter/wn-dusk-plugin": "<2.1",
"winter/wn-system-module": "<1.2.4",
"wintercms/winter": "<=1.2.3",
@@ -19942,8 +20146,9 @@
"yiisoft/yii2-redis": "<2.0.20",
"yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6",
"yoast-seo-for-typo3/yoast_seo": "<7.2.3",
- "yourls/yourls": "<=1.8.2",
+ "yourls/yourls": "<=1.10.2",
"yuan1994/tpadmin": "<=1.3.12",
+ "yungifez/skuul": "<=2.6.5",
"z-push/z-push-dev": "<2.7.6",
"zencart/zencart": "<=1.5.7.0-beta",
"zendesk/zendesk_api_client_php": "<2.2.11",
@@ -20019,7 +20224,7 @@
"type": "tidelift"
}
],
- "time": "2025-10-17T18:06:27+00:00"
+ "time": "2026-02-05T22:08:29+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -20193,16 +20398,16 @@
},
{
"name": "sebastian/comparator",
- "version": "6.3.2",
+ "version": "6.3.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8"
+ "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/85c77556683e6eee4323e4c5468641ca0237e2e8",
- "reference": "85c77556683e6eee4323e4c5468641ca0237e2e8",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9",
+ "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9",
"shasum": ""
},
"require": {
@@ -20261,7 +20466,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.2"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3"
},
"funding": [
{
@@ -20281,7 +20486,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-10T08:07:46+00:00"
+ "time": "2026-01-24T09:26:40+00:00"
},
{
"name": "sebastian/complexity",
@@ -21061,27 +21266,28 @@
},
{
"name": "symfony/browser-kit",
- "version": "v7.3.2",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "f0b889b73a845cddef1d25fe207b37fd04cb5419"
+ "reference": "bed167eadaaba641f51fc842c9227aa5e251309e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/f0b889b73a845cddef1d25fe207b37fd04cb5419",
- "reference": "f0b889b73a845cddef1d25fe207b37fd04cb5419",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/bed167eadaaba641f51fc842c9227aa5e251309e",
+ "reference": "bed167eadaaba641f51fc842c9227aa5e251309e",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/dom-crawler": "^6.4|^7.0"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0"
},
"require-dev": {
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/mime": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0"
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -21109,7 +21315,7 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v7.3.2"
+ "source": "https://github.com/symfony/browser-kit/tree/v7.4.4"
},
"funding": [
{
@@ -21129,34 +21335,34 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:47:49+00:00"
+ "time": "2026-01-13T10:40:19+00:00"
},
{
"name": "symfony/debug-bundle",
- "version": "v7.3.4",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug-bundle.git",
- "reference": "30f922edd53dd85238f1f26dbb68a044109f8f0e"
+ "reference": "329383fb895353e3c8ab792cc35c4a7e7b17881b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/30f922edd53dd85238f1f26dbb68a044109f8f0e",
- "reference": "30f922edd53dd85238f1f26dbb68a044109f8f0e",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/329383fb895353e3c8ab792cc35c4a7e7b17881b",
+ "reference": "329383fb895353e3c8ab792cc35c4a7e7b17881b",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"ext-xml": "*",
"php": ">=8.2",
- "symfony/config": "^7.3",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/twig-bridge": "^6.4|^7.0",
- "symfony/var-dumper": "^6.4|^7.0"
+ "symfony/config": "^7.3|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"require-dev": {
- "symfony/web-profiler-bundle": "^6.4|^7.0"
+ "symfony/web-profiler-bundle": "^6.4|^7.0|^8.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -21184,7 +21390,7 @@
"description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/debug-bundle/tree/v7.3.4"
+ "source": "https://github.com/symfony/debug-bundle/tree/v7.4.0"
},
"funding": [
{
@@ -21204,35 +21410,35 @@
"type": "tidelift"
}
],
- "time": "2025-09-10T12:00:31+00:00"
+ "time": "2025-10-24T13:56:35+00:00"
},
{
"name": "symfony/maker-bundle",
- "version": "v1.64.0",
+ "version": "v1.65.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
- "reference": "c86da84640b0586e92aee2b276ee3638ef2f425a"
+ "reference": "eba30452d212769c9a5bcf0716959fd8ba1e54e3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/c86da84640b0586e92aee2b276ee3638ef2f425a",
- "reference": "c86da84640b0586e92aee2b276ee3638ef2f425a",
+ "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/eba30452d212769c9a5bcf0716959fd8ba1e54e3",
+ "reference": "eba30452d212769c9a5bcf0716959fd8ba1e54e3",
"shasum": ""
},
"require": {
"doctrine/inflector": "^2.0",
"nikic/php-parser": "^5.0",
"php": ">=8.1",
- "symfony/config": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.2|^3",
- "symfony/filesystem": "^6.4|^7.0",
- "symfony/finder": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0"
},
"conflict": {
"doctrine/doctrine-bundle": "<2.10",
@@ -21240,13 +21446,14 @@
},
"require-dev": {
"composer/semver": "^3.0",
- "doctrine/doctrine-bundle": "^2.5.0",
+ "doctrine/doctrine-bundle": "^2.5.0|^3.0.0",
"doctrine/orm": "^2.15|^3",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/phpunit-bridge": "^6.4.1|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-http": "^6.4|^7.0",
- "symfony/yaml": "^6.4|^7.0",
+ "doctrine/persistence": "^3.1|^4.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/phpunit-bridge": "^6.4.1|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/security-http": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0",
"twig/twig": "^3.0|^4.x-dev"
},
"type": "symfony-bundle",
@@ -21281,7 +21488,7 @@
],
"support": {
"issues": "https://github.com/symfony/maker-bundle/issues",
- "source": "https://github.com/symfony/maker-bundle/tree/v1.64.0"
+ "source": "https://github.com/symfony/maker-bundle/tree/v1.65.1"
},
"funding": [
{
@@ -21292,37 +21499,37 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-06-23T16:12:08+00:00"
+ "time": "2025-12-02T07:14:37+00:00"
},
{
"name": "symfony/phpunit-bridge",
- "version": "v7.3.4",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "ed77a629c13979e051b7000a317966474d566398"
+ "reference": "f933e68bb9df29d08077a37e1515a23fea8562ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/ed77a629c13979e051b7000a317966474d566398",
- "reference": "ed77a629c13979e051b7000a317966474d566398",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/f933e68bb9df29d08077a37e1515a23fea8562ab",
+ "reference": "f933e68bb9df29d08077a37e1515a23fea8562ab",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
- },
- "conflict": {
- "phpunit/phpunit": "<7.5|9.1.2"
+ "php": ">=8.1.0"
},
"require-dev": {
- "symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/error-handler": "^5.4|^6.4|^7.0",
- "symfony/polyfill-php81": "^1.27"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/error-handler": "^6.4.3|^7.0.3|^8.0"
},
"bin": [
"bin/simple-phpunit"
@@ -21366,7 +21573,7 @@
"testing"
],
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v7.3.4"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.3"
},
"funding": [
{
@@ -21386,32 +21593,32 @@
"type": "tidelift"
}
],
- "time": "2025-09-12T12:18:52+00:00"
+ "time": "2025-12-09T15:33:45+00:00"
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v7.3.4",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "f305fa4add690bb7d6b14ab61f37c3bd061a3dd7"
+ "reference": "be165e29e6109efb89bfaefe56e3deccf72a8643"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/f305fa4add690bb7d6b14ab61f37c3bd061a3dd7",
- "reference": "f305fa4add690bb7d6b14ab61f37c3bd061a3dd7",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/be165e29e6109efb89bfaefe56e3deccf72a8643",
+ "reference": "be165e29e6109efb89bfaefe56e3deccf72a8643",
"shasum": ""
},
"require": {
"composer-runtime-api": ">=2.1",
"php": ">=8.2",
- "symfony/config": "^7.3",
+ "symfony/config": "^7.3|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/routing": "^6.4|^7.0",
- "symfony/twig-bundle": "^6.4|^7.0",
- "twig/twig": "^3.12"
+ "symfony/framework-bundle": "^6.4.13|^7.1.6|^8.0",
+ "symfony/http-kernel": "^6.4.13|^7.1.6|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/twig-bundle": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.15"
},
"conflict": {
"symfony/form": "<6.4",
@@ -21421,10 +21628,11 @@
"symfony/workflow": "<7.3"
},
"require-dev": {
- "symfony/browser-kit": "^6.4|^7.0",
- "symfony/console": "^6.4|^7.0",
- "symfony/css-selector": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/runtime": "^6.4.13|^7.1.6|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "symfony-bundle",
"autoload": {
@@ -21455,7 +21663,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.3.4"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.4.4"
},
"funding": [
{
@@ -21475,20 +21683,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-25T08:03:55+00:00"
+ "time": "2026-01-07T11:56:45+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.3",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
+ "reference": "b7489ce515e168639d17feec34b8847c326b0b3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c",
+ "reference": "b7489ce515e168639d17feec34b8847c326b0b3c",
"shasum": ""
},
"require": {
@@ -21517,7 +21725,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
+ "source": "https://github.com/theseer/tokenizer/tree/1.3.1"
},
"funding": [
{
@@ -21525,7 +21733,7 @@
"type": "github"
}
],
- "time": "2024-03-03T12:36:25+00:00"
+ "time": "2025-11-17T20:03:58+00:00"
}
],
"aliases": [],
@@ -21543,7 +21751,8 @@
"ext-iconv": "*",
"ext-intl": "*",
"ext-json": "*",
- "ext-mbstring": "*"
+ "ext-mbstring": "*",
+ "ext-zip": "*"
},
"platform-dev": {},
"platform-overrides": {
diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml
index 6adea442..846033d6 100644
--- a/config/packages/cache.yaml
+++ b/config/packages/cache.yaml
@@ -23,3 +23,7 @@ framework:
info_provider.cache:
adapter: cache.app
+
+ cache.settings:
+ adapter: cache.app
+ tags: true
diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml
index 6843a177..dd8f30a5 100644
--- a/config/packages/framework.yaml
+++ b/config/packages/framework.yaml
@@ -1,3 +1,4 @@
+# yaml-language-server: $schema=../../vendor/symfony/dependency-injection/Loader/schema/services.schema.json
# see https://symfony.com/doc/current/reference/configuration/framework.html
framework:
secret: '%env(APP_SECRET)%'
@@ -8,6 +9,7 @@ framework:
# Must be set to true, to enable the change of HTTP method via _method parameter, otherwise our delete routines does not work anymore
# TODO: Rework delete routines to work without _method parameter as it is not recommended anymore (see https://github.com/symfony/symfony/issues/45278)
http_method_override: true
+ allowed_http_method_override: ['DELETE']
# Allow users to configure trusted hosts via .env variables
# see https://symfony.com/doc/current/reference/configuration/framework.html#trusted-hosts
diff --git a/config/packages/knpu_oauth2_client.yaml b/config/packages/knpu_oauth2_client.yaml
index 5e56d5c5..4967684e 100644
--- a/config/packages/knpu_oauth2_client.yaml
+++ b/config/packages/knpu_oauth2_client.yaml
@@ -35,4 +35,4 @@ knpu_oauth2_client:
provider_options:
urlAuthorize: 'https://identity.nexar.com/connect/authorize'
urlAccessToken: 'https://identity.nexar.com/connect/token'
- urlResourceOwnerDetails: ''
\ No newline at end of file
+ urlResourceOwnerDetails: ''
diff --git a/config/packages/monolog.yaml b/config/packages/monolog.yaml
index 725ebd7c..387d71ad 100644
--- a/config/packages/monolog.yaml
+++ b/config/packages/monolog.yaml
@@ -10,14 +10,6 @@ when@dev:
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
- # uncomment to get logging in your browser
- # you may have to allow bigger header sizes in your Web server configuration
- #firephp:
- # type: firephp
- # level: info
- #chromephp:
- # type: chromephp
- # level: info
console:
type: console
process_psr_3_messages: false
@@ -45,6 +37,7 @@ when@prod:
action_level: error
handler: nested
excluded_http_codes: [404, 405]
+ channels: ["!deprecation"]
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
nested:
type: stream
diff --git a/config/packages/settings.yaml b/config/packages/settings.yaml
index c16d1804..b3d209f6 100644
--- a/config/packages/settings.yaml
+++ b/config/packages/settings.yaml
@@ -3,6 +3,7 @@ jbtronics_settings:
cache:
default_cacheable: true
+ service: 'cache.settings'
orm_storage:
default_entity_class: App\Entity\SettingsEntry
diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml
index 674aa317..95ae4f3b 100644
--- a/config/packages/twig.yaml
+++ b/config/packages/twig.yaml
@@ -1,6 +1,6 @@
twig:
default_path: '%kernel.project_dir%/templates'
- form_themes: ['bootstrap_5_horizontal_layout.html.twig', 'form/extended_bootstrap_layout.html.twig', 'form/permission_layout.html.twig', 'form/filter_types_layout.html.twig']
+ form_themes: ['bootstrap_5_horizontal_layout.html.twig', 'form/extended_bootstrap_layout.html.twig', 'form/permission_layout.html.twig', 'form/filter_types_layout.html.twig', 'form/synonyms_collection.html.twig']
paths:
'%kernel.project_dir%/assets/css': css
@@ -20,4 +20,4 @@ twig:
when@test:
twig:
- strict_variables: true
\ No newline at end of file
+ strict_variables: true
diff --git a/config/packages/ux_translator.yaml b/config/packages/ux_translator.yaml
index 1c1c7060..46d37964 100644
--- a/config/packages/ux_translator.yaml
+++ b/config/packages/ux_translator.yaml
@@ -1,3 +1,12 @@
ux_translator:
# The directory where the JavaScript translations are dumped
dump_directory: '%kernel.project_dir%/var/translations'
+ # Only include the frontend translation domain in the JavaScript bundle
+ domains:
+ - 'frontend'
+
+when@prod:
+ ux_translator:
+ # Control whether TypeScript types are dumped alongside translations.
+ # Disable this if you do not use TypeScript (e.g. in production when using AssetMapper), to speed up cache warmup.
+ # dump_typescript: false
diff --git a/config/parameters.yaml b/config/parameters.yaml
index d4fe7581..b79e2b88 100644
--- a/config/parameters.yaml
+++ b/config/parameters.yaml
@@ -10,7 +10,7 @@ parameters:
partdb.title: '%env(string:settings:customization:instanceName)%' # The title shown inside of Part-DB (e.g. in the navbar and on homepage)
partdb.locale_menu: ['en', 'de', 'it', 'fr', 'ru', 'ja', 'cs', 'da', 'zh', 'pl', 'hu'] # The languages that are shown in user drop down menu
- partdb.default_uri: '%env(string:DEFAULT_URI)%' # The default URI to use for the Part-DB instance (e.g. https://part-db.example.com/). This is used for generating links in emails
+ partdb.default_uri: '%env(addSlash:string:DEFAULT_URI)%' # The default URI to use for the Part-DB instance (e.g. https://part-db.example.com/). This is used for generating links in emails
partdb.db.emulate_natural_sort: '%env(bool:DATABASE_EMULATE_NATURAL_SORT)%' # If this is set to true, natural sorting is emulated on platforms that do not support it natively. This can be slow on large datasets.
diff --git a/config/permissions.yaml b/config/permissions.yaml
index 7acee7f0..0dabf9d3 100644
--- a/config/permissions.yaml
+++ b/config/permissions.yaml
@@ -18,7 +18,7 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
parts: # e.g. this maps to perms_parts in User/Group database
group: "data"
- label: "perm.parts"
+ label: "[[Part]]"
operations: # Here are all possible operations are listed => the op name is mapped to bit value
read:
label: "perm.read"
@@ -71,7 +71,7 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
storelocations: &PART_CONTAINING
- label: "perm.storelocations"
+ label: "[[Storage_location]]"
group: "data"
operations:
read:
@@ -103,39 +103,39 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
footprints:
<<: *PART_CONTAINING
- label: "perm.part.footprints"
+ label: "[[Footprint]]"
categories:
<<: *PART_CONTAINING
- label: "perm.part.categories"
+ label: "[[Category]]"
suppliers:
<<: *PART_CONTAINING
- label: "perm.part.supplier"
+ label: "[[Supplier]]"
manufacturers:
<<: *PART_CONTAINING
- label: "perm.part.manufacturers"
+ label: "[[Manufacturer]]"
projects:
<<: *PART_CONTAINING
- label: "perm.projects"
+ label: "[[Project]]"
attachment_types:
<<: *PART_CONTAINING
- label: "perm.part.attachment_types"
+ label: "[[Attachment_type]]"
currencies:
<<: *PART_CONTAINING
- label: "perm.currencies"
+ label: "[[Currency]]"
measurement_units:
<<: *PART_CONTAINING
- label: "perm.measurement_units"
+ label: "[[Measurement_unit]]"
part_custom_states:
<<: *PART_CONTAINING
- label: "perm.part_custom_states"
+ label: "[[Part_custom_state]]"
tools:
label: "perm.part.tools"
@@ -297,6 +297,10 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
show_updates:
label: "perm.system.show_available_updates"
apiTokenRole: ROLE_API_ADMIN
+ manage_updates:
+ label: "perm.system.manage_updates"
+ alsoSet: ['show_updates', 'server_infos']
+ apiTokenRole: ROLE_API_ADMIN
attachments:
@@ -377,4 +381,4 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
manage_tokens:
label: "perm.api.manage_tokens"
alsoSet: ['access_api']
- apiTokenRole: ROLE_API_FULL
\ No newline at end of file
+ apiTokenRole: ROLE_API_FULL
diff --git a/config/reference.php b/config/reference.php
new file mode 100644
index 00000000..a1a077aa
--- /dev/null
+++ b/config/reference.php
@@ -0,0 +1,2912 @@
+ [
+ * 'App\\' => [
+ * 'resource' => '../src/',
+ * ],
+ * ],
+ * ]);
+ * ```
+ *
+ * @psalm-type ImportsConfig = list
+ * @psalm-type ParametersConfig = array|Param|null>|Param|null>
+ * @psalm-type ArgumentsType = list|array
+ * @psalm-type CallType = array|array{0:string, 1?:ArgumentsType, 2?:bool}|array{method:string, arguments?:ArgumentsType, returns_clone?:bool}
+ * @psalm-type TagsType = list>> // arrays inside the list must have only one element, with the tag name as the key
+ * @psalm-type CallbackType = string|array{0:string|ReferenceConfigurator,1:string}|\Closure|ReferenceConfigurator|ExpressionConfigurator
+ * @psalm-type DeprecationType = array{package: string, version: string, message?: string}
+ * @psalm-type DefaultsType = array{
+ * public?: bool,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * autowire?: bool,
+ * autoconfigure?: bool,
+ * bind?: array,
+ * }
+ * @psalm-type InstanceofType = array{
+ * shared?: bool,
+ * lazy?: bool|string,
+ * public?: bool,
+ * properties?: array,
+ * configurator?: CallbackType,
+ * calls?: list,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * autowire?: bool,
+ * bind?: array,
+ * constructor?: string,
+ * }
+ * @psalm-type DefinitionType = array{
+ * class?: string,
+ * file?: string,
+ * parent?: string,
+ * shared?: bool,
+ * synthetic?: bool,
+ * lazy?: bool|string,
+ * public?: bool,
+ * abstract?: bool,
+ * deprecated?: DeprecationType,
+ * factory?: CallbackType,
+ * configurator?: CallbackType,
+ * arguments?: ArgumentsType,
+ * properties?: array,
+ * calls?: list,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * decorates?: string,
+ * decoration_inner_name?: string,
+ * decoration_priority?: int,
+ * decoration_on_invalid?: 'exception'|'ignore'|null,
+ * autowire?: bool,
+ * autoconfigure?: bool,
+ * bind?: array,
+ * constructor?: string,
+ * from_callable?: CallbackType,
+ * }
+ * @psalm-type AliasType = string|array{
+ * alias: string,
+ * public?: bool,
+ * deprecated?: DeprecationType,
+ * }
+ * @psalm-type PrototypeType = array{
+ * resource: string,
+ * namespace?: string,
+ * exclude?: string|list,
+ * parent?: string,
+ * shared?: bool,
+ * lazy?: bool|string,
+ * public?: bool,
+ * abstract?: bool,
+ * deprecated?: DeprecationType,
+ * factory?: CallbackType,
+ * arguments?: ArgumentsType,
+ * properties?: array,
+ * configurator?: CallbackType,
+ * calls?: list,
+ * tags?: TagsType,
+ * resource_tags?: TagsType,
+ * autowire?: bool,
+ * autoconfigure?: bool,
+ * bind?: array,
+ * constructor?: string,
+ * }
+ * @psalm-type StackType = array{
+ * stack: list>,
+ * public?: bool,
+ * deprecated?: DeprecationType,
+ * }
+ * @psalm-type ServicesConfig = array{
+ * _defaults?: DefaultsType,
+ * _instanceof?: InstanceofType,
+ * ...
+ * }
+ * @psalm-type ExtensionType = array
+ * @psalm-type FrameworkConfig = array{
+ * secret?: scalar|Param|null,
+ * http_method_override?: bool|Param, // Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. // Default: false
+ * allowed_http_method_override?: list|null,
+ * trust_x_sendfile_type_header?: scalar|Param|null, // Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
+ * ide?: scalar|Param|null, // Default: "%env(default::SYMFONY_IDE)%"
+ * test?: bool|Param,
+ * default_locale?: scalar|Param|null, // Default: "en"
+ * set_locale_from_accept_language?: bool|Param, // Whether to use the Accept-Language HTTP header to set the Request locale (only when the "_locale" request attribute is not passed). // Default: false
+ * set_content_language_from_locale?: bool|Param, // Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
+ * enabled_locales?: list,
+ * trusted_hosts?: list,
+ * trusted_proxies?: mixed, // Default: ["%env(default::SYMFONY_TRUSTED_PROXIES)%"]
+ * trusted_headers?: list,
+ * error_controller?: scalar|Param|null, // Default: "error_controller"
+ * handle_all_throwables?: bool|Param, // HttpKernel will handle all kinds of \Throwable. // Default: true
+ * csrf_protection?: bool|array{
+ * enabled?: scalar|Param|null, // Default: null
+ * stateless_token_ids?: list,
+ * check_header?: scalar|Param|null, // Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
+ * cookie_name?: scalar|Param|null, // The name of the cookie to use when using stateless protection. // Default: "csrf-token"
+ * },
+ * form?: bool|array{ // Form configuration
+ * enabled?: bool|Param, // Default: true
+ * csrf_protection?: bool|array{
+ * enabled?: scalar|Param|null, // Default: null
+ * token_id?: scalar|Param|null, // Default: null
+ * field_name?: scalar|Param|null, // Default: "_token"
+ * field_attr?: array,
+ * },
+ * },
+ * http_cache?: bool|array{ // HTTP cache configuration
+ * enabled?: bool|Param, // Default: false
+ * debug?: bool|Param, // Default: "%kernel.debug%"
+ * trace_level?: "none"|"short"|"full"|Param,
+ * trace_header?: scalar|Param|null,
+ * default_ttl?: int|Param,
+ * private_headers?: list,
+ * skip_response_headers?: list,
+ * allow_reload?: bool|Param,
+ * allow_revalidate?: bool|Param,
+ * stale_while_revalidate?: int|Param,
+ * stale_if_error?: int|Param,
+ * terminate_on_cache_hit?: bool|Param,
+ * },
+ * esi?: bool|array{ // ESI configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * ssi?: bool|array{ // SSI configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * fragments?: bool|array{ // Fragments configuration
+ * enabled?: bool|Param, // Default: false
+ * hinclude_default_template?: scalar|Param|null, // Default: null
+ * path?: scalar|Param|null, // Default: "/_fragment"
+ * },
+ * profiler?: bool|array{ // Profiler configuration
+ * enabled?: bool|Param, // Default: false
+ * collect?: bool|Param, // Default: true
+ * collect_parameter?: scalar|Param|null, // The name of the parameter to use to enable or disable collection on a per request basis. // Default: null
+ * only_exceptions?: bool|Param, // Default: false
+ * only_main_requests?: bool|Param, // Default: false
+ * dsn?: scalar|Param|null, // Default: "file:%kernel.cache_dir%/profiler"
+ * collect_serializer_data?: bool|Param, // Enables the serializer data collector and profiler panel. // Default: false
+ * },
+ * workflows?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * workflows?: array,
+ * definition_validators?: list,
+ * support_strategy?: scalar|Param|null,
+ * initial_marking?: list,
+ * events_to_dispatch?: list|null,
+ * places?: list,
+ * }>,
+ * transitions: list,
+ * to?: list,
+ * weight?: int|Param, // Default: 1
+ * metadata?: list,
+ * }>,
+ * metadata?: list,
+ * }>,
+ * },
+ * router?: bool|array{ // Router configuration
+ * enabled?: bool|Param, // Default: false
+ * resource: scalar|Param|null,
+ * type?: scalar|Param|null,
+ * cache_dir?: scalar|Param|null, // Deprecated: Setting the "framework.router.cache_dir.cache_dir" configuration option is deprecated. It will be removed in version 8.0. // Default: "%kernel.build_dir%"
+ * default_uri?: scalar|Param|null, // The default URI used to generate URLs in a non-HTTP context. // Default: null
+ * http_port?: scalar|Param|null, // Default: 80
+ * https_port?: scalar|Param|null, // Default: 443
+ * strict_requirements?: scalar|Param|null, // set to true to throw an exception when a parameter does not match the requirements set to false to disable exceptions when a parameter does not match the requirements (and return null instead) set to null to disable parameter checks against requirements 'true' is the preferred configuration in development mode, while 'false' or 'null' might be preferred in production // Default: true
+ * utf8?: bool|Param, // Default: true
+ * },
+ * session?: bool|array{ // Session configuration
+ * enabled?: bool|Param, // Default: false
+ * storage_factory_id?: scalar|Param|null, // Default: "session.storage.factory.native"
+ * handler_id?: scalar|Param|null, // Defaults to using the native session handler, or to the native *file* session handler if "save_path" is not null.
+ * name?: scalar|Param|null,
+ * cookie_lifetime?: scalar|Param|null,
+ * cookie_path?: scalar|Param|null,
+ * cookie_domain?: scalar|Param|null,
+ * cookie_secure?: true|false|"auto"|Param, // Default: "auto"
+ * cookie_httponly?: bool|Param, // Default: true
+ * cookie_samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
+ * use_cookies?: bool|Param,
+ * gc_divisor?: scalar|Param|null,
+ * gc_probability?: scalar|Param|null,
+ * gc_maxlifetime?: scalar|Param|null,
+ * save_path?: scalar|Param|null, // Defaults to "%kernel.cache_dir%/sessions" if the "handler_id" option is not null.
+ * metadata_update_threshold?: int|Param, // Seconds to wait between 2 session metadata updates. // Default: 0
+ * sid_length?: int|Param, // Deprecated: Setting the "framework.session.sid_length.sid_length" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option.
+ * sid_bits_per_character?: int|Param, // Deprecated: Setting the "framework.session.sid_bits_per_character.sid_bits_per_character" configuration option is deprecated. It will be removed in version 8.0. No alternative is provided as PHP 8.4 has deprecated the related option.
+ * },
+ * request?: bool|array{ // Request configuration
+ * enabled?: bool|Param, // Default: false
+ * formats?: array>,
+ * },
+ * assets?: bool|array{ // Assets configuration
+ * enabled?: bool|Param, // Default: true
+ * strict_mode?: bool|Param, // Throw an exception if an entry is missing from the manifest.json. // Default: false
+ * version_strategy?: scalar|Param|null, // Default: null
+ * version?: scalar|Param|null, // Default: null
+ * version_format?: scalar|Param|null, // Default: "%%s?%%s"
+ * json_manifest_path?: scalar|Param|null, // Default: null
+ * base_path?: scalar|Param|null, // Default: ""
+ * base_urls?: list,
+ * packages?: array,
+ * }>,
+ * },
+ * asset_mapper?: bool|array{ // Asset Mapper configuration
+ * enabled?: bool|Param, // Default: false
+ * paths?: array,
+ * excluded_patterns?: list,
+ * exclude_dotfiles?: bool|Param, // If true, any files starting with "." will be excluded from the asset mapper. // Default: true
+ * server?: bool|Param, // If true, a "dev server" will return the assets from the public directory (true in "debug" mode only by default). // Default: true
+ * public_prefix?: scalar|Param|null, // The public path where the assets will be written to (and served from when "server" is true). // Default: "/assets/"
+ * missing_import_mode?: "strict"|"warn"|"ignore"|Param, // Behavior if an asset cannot be found when imported from JavaScript or CSS files - e.g. "import './non-existent.js'". "strict" means an exception is thrown, "warn" means a warning is logged, "ignore" means the import is left as-is. // Default: "warn"
+ * extensions?: array,
+ * importmap_path?: scalar|Param|null, // The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
+ * importmap_polyfill?: scalar|Param|null, // The importmap name that will be used to load the polyfill. Set to false to disable. // Default: "es-module-shims"
+ * importmap_script_attributes?: array,
+ * vendor_dir?: scalar|Param|null, // The directory to store JavaScript vendors. // Default: "%kernel.project_dir%/assets/vendor"
+ * precompress?: bool|array{ // Precompress assets with Brotli, Zstandard and gzip.
+ * enabled?: bool|Param, // Default: false
+ * formats?: list,
+ * extensions?: list,
+ * },
+ * },
+ * translator?: bool|array{ // Translator configuration
+ * enabled?: bool|Param, // Default: true
+ * fallbacks?: list,
+ * logging?: bool|Param, // Default: false
+ * formatter?: scalar|Param|null, // Default: "translator.formatter.default"
+ * cache_dir?: scalar|Param|null, // Default: "%kernel.cache_dir%/translations"
+ * default_path?: scalar|Param|null, // The default path used to load translations. // Default: "%kernel.project_dir%/translations"
+ * paths?: list,
+ * pseudo_localization?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * accents?: bool|Param, // Default: true
+ * expansion_factor?: float|Param, // Default: 1.0
+ * brackets?: bool|Param, // Default: true
+ * parse_html?: bool|Param, // Default: false
+ * localizable_html_attributes?: list,
+ * },
+ * providers?: array,
+ * locales?: list,
+ * }>,
+ * globals?: array,
+ * domain?: string|Param,
+ * }>,
+ * },
+ * validation?: bool|array{ // Validation configuration
+ * enabled?: bool|Param, // Default: true
+ * cache?: scalar|Param|null, // Deprecated: Setting the "framework.validation.cache.cache" configuration option is deprecated. It will be removed in version 8.0.
+ * enable_attributes?: bool|Param, // Default: true
+ * static_method?: list,
+ * translation_domain?: scalar|Param|null, // Default: "validators"
+ * email_validation_mode?: "html5"|"html5-allow-no-tld"|"strict"|"loose"|Param, // Default: "html5"
+ * mapping?: array{
+ * paths?: list,
+ * },
+ * not_compromised_password?: bool|array{
+ * enabled?: bool|Param, // When disabled, compromised passwords will be accepted as valid. // Default: true
+ * endpoint?: scalar|Param|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null
+ * },
+ * disable_translation?: bool|Param, // Default: false
+ * auto_mapping?: array,
+ * }>,
+ * },
+ * annotations?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * serializer?: bool|array{ // Serializer configuration
+ * enabled?: bool|Param, // Default: true
+ * enable_attributes?: bool|Param, // Default: true
+ * name_converter?: scalar|Param|null,
+ * circular_reference_handler?: scalar|Param|null,
+ * max_depth_handler?: scalar|Param|null,
+ * mapping?: array{
+ * paths?: list,
+ * },
+ * default_context?: list,
+ * named_serializers?: array,
+ * include_built_in_normalizers?: bool|Param, // Whether to include the built-in normalizers // Default: true
+ * include_built_in_encoders?: bool|Param, // Whether to include the built-in encoders // Default: true
+ * }>,
+ * },
+ * property_access?: bool|array{ // Property access configuration
+ * enabled?: bool|Param, // Default: true
+ * magic_call?: bool|Param, // Default: false
+ * magic_get?: bool|Param, // Default: true
+ * magic_set?: bool|Param, // Default: true
+ * throw_exception_on_invalid_index?: bool|Param, // Default: false
+ * throw_exception_on_invalid_property_path?: bool|Param, // Default: true
+ * },
+ * type_info?: bool|array{ // Type info configuration
+ * enabled?: bool|Param, // Default: true
+ * aliases?: array,
+ * },
+ * property_info?: bool|array{ // Property info configuration
+ * enabled?: bool|Param, // Default: true
+ * with_constructor_extractor?: bool|Param, // Registers the constructor extractor.
+ * },
+ * cache?: array{ // Cache configuration
+ * prefix_seed?: scalar|Param|null, // Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
+ * app?: scalar|Param|null, // App related cache pools configuration. // Default: "cache.adapter.filesystem"
+ * system?: scalar|Param|null, // System related cache pools configuration. // Default: "cache.adapter.system"
+ * directory?: scalar|Param|null, // Default: "%kernel.share_dir%/pools/app"
+ * default_psr6_provider?: scalar|Param|null,
+ * default_redis_provider?: scalar|Param|null, // Default: "redis://localhost"
+ * default_valkey_provider?: scalar|Param|null, // Default: "valkey://localhost"
+ * default_memcached_provider?: scalar|Param|null, // Default: "memcached://localhost"
+ * default_doctrine_dbal_provider?: scalar|Param|null, // Default: "database_connection"
+ * default_pdo_provider?: scalar|Param|null, // Default: null
+ * pools?: array,
+ * tags?: scalar|Param|null, // Default: null
+ * public?: bool|Param, // Default: false
+ * default_lifetime?: scalar|Param|null, // Default lifetime of the pool.
+ * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
+ * early_expiration_message_bus?: scalar|Param|null,
+ * clearer?: scalar|Param|null,
+ * }>,
+ * },
+ * php_errors?: array{ // PHP errors handling configuration
+ * log?: mixed, // Use the application logger instead of the PHP logger for logging PHP errors. // Default: true
+ * throw?: bool|Param, // Throw PHP errors as \ErrorException instances. // Default: true
+ * },
+ * exceptions?: array,
+ * web_link?: bool|array{ // Web links configuration
+ * enabled?: bool|Param, // Default: true
+ * },
+ * lock?: bool|string|array{ // Lock configuration
+ * enabled?: bool|Param, // Default: false
+ * resources?: array>,
+ * },
+ * semaphore?: bool|string|array{ // Semaphore configuration
+ * enabled?: bool|Param, // Default: false
+ * resources?: array,
+ * },
+ * messenger?: bool|array{ // Messenger configuration
+ * enabled?: bool|Param, // Default: false
+ * routing?: array,
+ * }>,
+ * serializer?: array{
+ * default_serializer?: scalar|Param|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
+ * symfony_serializer?: array{
+ * format?: scalar|Param|null, // Serialization format for the messenger.transport.symfony_serializer service (which is not the serializer used by default). // Default: "json"
+ * context?: array,
+ * },
+ * },
+ * transports?: array,
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * retry_strategy?: string|array{
+ * service?: scalar|Param|null, // Service id to override the retry strategy entirely. // Default: null
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
+ * },
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use when processing messages. // Default: null
+ * }>,
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * stop_worker_on_signals?: list,
+ * default_bus?: scalar|Param|null, // Default: null
+ * buses?: array,
+ * }>,
+ * }>,
+ * },
+ * scheduler?: bool|array{ // Scheduler configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * disallow_search_engine_index?: bool|Param, // Enabled by default when debug is enabled. // Default: true
+ * http_client?: bool|array{ // HTTP Client configuration
+ * enabled?: bool|Param, // Default: true
+ * max_host_connections?: int|Param, // The maximum number of connections to a single host.
+ * default_options?: array{
+ * headers?: array,
+ * vars?: array,
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...)
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
+ * sha1?: mixed,
+ * pin-sha256?: mixed,
+ * md5?: mixed,
+ * },
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: array,
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool|Param, // Default: false
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: array,
+ * }>,
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * },
+ * mock_response_factory?: scalar|Param|null, // The id of the service that should generate mock responses. It should be either an invokable or an iterable.
+ * scoped_clients?: array,
+ * headers?: array,
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
+ * sha1?: mixed,
+ * pin-sha256?: mixed,
+ * md5?: mixed,
+ * },
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: array,
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool|Param, // Default: false
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: array,
+ * }>,
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * }>,
+ * },
+ * mailer?: bool|array{ // Mailer configuration
+ * enabled?: bool|Param, // Default: true
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * dsn?: scalar|Param|null, // Default: null
+ * transports?: array,
+ * envelope?: array{ // Mailer Envelope configuration
+ * sender?: scalar|Param|null,
+ * recipients?: list,
+ * allowed_recipients?: list,
+ * },
+ * headers?: array,
+ * dkim_signer?: bool|array{ // DKIM signer configuration
+ * enabled?: bool|Param, // Default: false
+ * key?: scalar|Param|null, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
+ * domain?: scalar|Param|null, // Default: ""
+ * select?: scalar|Param|null, // Default: ""
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: ""
+ * options?: array,
+ * },
+ * smime_signer?: bool|array{ // S/MIME signer configuration
+ * enabled?: bool|Param, // Default: false
+ * key?: scalar|Param|null, // Path to key (in PEM format) // Default: ""
+ * certificate?: scalar|Param|null, // Path to certificate (in PEM format without the `file://` prefix) // Default: ""
+ * passphrase?: scalar|Param|null, // The private key passphrase // Default: null
+ * extra_certificates?: scalar|Param|null, // Default: null
+ * sign_options?: int|Param, // Default: null
+ * },
+ * smime_encrypter?: bool|array{ // S/MIME encrypter configuration
+ * enabled?: bool|Param, // Default: false
+ * repository?: scalar|Param|null, // S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
+ * cipher?: int|Param, // A set of algorithms used to encrypt the message // Default: null
+ * },
+ * },
+ * secrets?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * vault_directory?: scalar|Param|null, // Default: "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%"
+ * local_dotenv_file?: scalar|Param|null, // Default: "%kernel.project_dir%/.env.%kernel.environment%.local"
+ * decryption_env_var?: scalar|Param|null, // Default: "base64:default::SYMFONY_DECRYPTION_SECRET"
+ * },
+ * notifier?: bool|array{ // Notifier configuration
+ * enabled?: bool|Param, // Default: false
+ * message_bus?: scalar|Param|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * chatter_transports?: array,
+ * texter_transports?: array,
+ * notification_on_failed_messages?: bool|Param, // Default: false
+ * channel_policy?: array>,
+ * admin_recipients?: list,
+ * },
+ * rate_limiter?: bool|array{ // Rate limiter configuration
+ * enabled?: bool|Param, // Default: true
+ * limiters?: array,
+ * limit?: int|Param, // The maximum allowed hits in a fixed interval or burst.
+ * interval?: scalar|Param|null, // Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * rate?: array{ // Configures the fill rate if "policy" is set to "token_bucket".
+ * interval?: scalar|Param|null, // Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
+ * },
+ * }>,
+ * },
+ * uid?: bool|array{ // Uid configuration
+ * enabled?: bool|Param, // Default: true
+ * default_uuid_version?: 7|6|4|1|Param, // Default: 7
+ * name_based_uuid_version?: 5|3|Param, // Default: 5
+ * name_based_uuid_namespace?: scalar|Param|null,
+ * time_based_uuid_version?: 7|6|1|Param, // Default: 7
+ * time_based_uuid_node?: scalar|Param|null,
+ * },
+ * html_sanitizer?: bool|array{ // HtmlSanitizer configuration
+ * enabled?: bool|Param, // Default: false
+ * sanitizers?: array,
+ * block_elements?: list,
+ * drop_elements?: list,
+ * allow_attributes?: array,
+ * drop_attributes?: array,
+ * force_attributes?: array>,
+ * force_https_urls?: bool|Param, // Transforms URLs using the HTTP scheme to use the HTTPS scheme instead. // Default: false
+ * allowed_link_schemes?: list,
+ * allowed_link_hosts?: list|null,
+ * allow_relative_links?: bool|Param, // Allows relative URLs to be used in links href attributes. // Default: false
+ * allowed_media_schemes?: list,
+ * allowed_media_hosts?: list|null,
+ * allow_relative_medias?: bool|Param, // Allows relative URLs to be used in media source attributes (img, audio, video, ...). // Default: false
+ * with_attribute_sanitizers?: list,
+ * without_attribute_sanitizers?: list,
+ * max_input_length?: int|Param, // The maximum length allowed for the sanitized input. // Default: 0
+ * }>,
+ * },
+ * webhook?: bool|array{ // Webhook configuration
+ * enabled?: bool|Param, // Default: false
+ * message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus"
+ * routing?: array,
+ * },
+ * remote-event?: bool|array{ // RemoteEvent configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * json_streamer?: bool|array{ // JSON streamer configuration
+ * enabled?: bool|Param, // Default: false
+ * },
+ * }
+ * @psalm-type DoctrineConfig = array{
+ * dbal?: array{
+ * default_connection?: scalar|Param|null,
+ * types?: array,
+ * driver_schemes?: array,
+ * connections?: array,
+ * mapping_types?: array,
+ * default_table_options?: array,
+ * schema_manager_factory?: scalar|Param|null, // Default: "doctrine.dbal.default_schema_manager_factory"
+ * result_cache?: scalar|Param|null,
+ * slaves?: array,
+ * replicas?: array,
+ * }>,
+ * },
+ * orm?: array{
+ * default_entity_manager?: scalar|Param|null,
+ * auto_generate_proxy_classes?: scalar|Param|null, // Auto generate mode possible values are: "NEVER", "ALWAYS", "FILE_NOT_EXISTS", "EVAL", "FILE_NOT_EXISTS_OR_CHANGED", this option is ignored when the "enable_native_lazy_objects" option is true // Default: false
+ * enable_lazy_ghost_objects?: bool|Param, // Enables the new implementation of proxies based on lazy ghosts instead of using the legacy implementation // Default: true
+ * enable_native_lazy_objects?: bool|Param, // Enables the new native implementation of PHP lazy objects instead of generated proxies // Default: false
+ * proxy_dir?: scalar|Param|null, // Configures the path where generated proxy classes are saved when using non-native lazy objects, this option is ignored when the "enable_native_lazy_objects" option is true // Default: "%kernel.build_dir%/doctrine/orm/Proxies"
+ * proxy_namespace?: scalar|Param|null, // Defines the root namespace for generated proxy classes when using non-native lazy objects, this option is ignored when the "enable_native_lazy_objects" option is true // Default: "Proxies"
+ * controller_resolver?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * auto_mapping?: bool|Param|null, // Set to false to disable using route placeholders as lookup criteria when the primary key doesn't match the argument name // Default: null
+ * evict_cache?: bool|Param, // Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
+ * },
+ * entity_managers?: array,
+ * }>,
+ * }>,
+ * },
+ * connection?: scalar|Param|null,
+ * class_metadata_factory_name?: scalar|Param|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
+ * default_repository_class?: scalar|Param|null, // Default: "Doctrine\\ORM\\EntityRepository"
+ * auto_mapping?: scalar|Param|null, // Default: false
+ * naming_strategy?: scalar|Param|null, // Default: "doctrine.orm.naming_strategy.default"
+ * quote_strategy?: scalar|Param|null, // Default: "doctrine.orm.quote_strategy.default"
+ * typed_field_mapper?: scalar|Param|null, // Default: "doctrine.orm.typed_field_mapper.default"
+ * entity_listener_resolver?: scalar|Param|null, // Default: null
+ * fetch_mode_subselect_batch_size?: scalar|Param|null,
+ * repository_factory?: scalar|Param|null, // Default: "doctrine.orm.container_repository_factory"
+ * schema_ignore_classes?: list,
+ * report_fields_where_declared?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.16 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/10455. // Default: true
+ * validate_xml_mapping?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14. See https://github.com/doctrine/orm/pull/6728. // Default: false
+ * second_level_cache?: array{
+ * region_cache_driver?: string|array{
+ * type?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
+ * pool?: scalar|Param|null,
+ * },
+ * region_lock_lifetime?: scalar|Param|null, // Default: 60
+ * log_enabled?: bool|Param, // Default: true
+ * region_lifetime?: scalar|Param|null, // Default: 3600
+ * enabled?: bool|Param, // Default: true
+ * factory?: scalar|Param|null,
+ * regions?: array,
+ * loggers?: array,
+ * },
+ * hydrators?: array,
+ * mappings?: array,
+ * dql?: array{
+ * string_functions?: array,
+ * numeric_functions?: array,
+ * datetime_functions?: array,
+ * },
+ * filters?: array,
+ * }>,
+ * identity_generation_preferences?: array,
+ * }>,
+ * resolve_target_entities?: array,
+ * },
+ * }
+ * @psalm-type DoctrineMigrationsConfig = array{
+ * enable_service_migrations?: bool|Param, // Whether to enable fetching migrations from the service container. // Default: false
+ * migrations_paths?: array,
+ * services?: array,
+ * factories?: array,
+ * storage?: array{ // Storage to use for migration status metadata.
+ * table_storage?: array{ // The default metadata storage, implemented as a table in the database.
+ * table_name?: scalar|Param|null, // Default: null
+ * version_column_name?: scalar|Param|null, // Default: null
+ * version_column_length?: scalar|Param|null, // Default: null
+ * executed_at_column_name?: scalar|Param|null, // Default: null
+ * execution_time_column_name?: scalar|Param|null, // Default: null
+ * },
+ * },
+ * migrations?: list,
+ * connection?: scalar|Param|null, // Connection name to use for the migrations database. // Default: null
+ * em?: scalar|Param|null, // Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
+ * all_or_nothing?: scalar|Param|null, // Run all migrations in a transaction. // Default: false
+ * check_database_platform?: scalar|Param|null, // Adds an extra check in the generated migrations to allow execution only on the same platform as they were initially generated on. // Default: true
+ * custom_template?: scalar|Param|null, // Custom template path for generated migration classes. // Default: null
+ * organize_migrations?: scalar|Param|null, // Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
+ * enable_profiler?: bool|Param, // Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead. // Default: false
+ * transactional?: bool|Param, // Whether or not to wrap migrations in a single transaction. // Default: true
+ * }
+ * @psalm-type SecurityConfig = array{
+ * access_denied_url?: scalar|Param|null, // Default: null
+ * session_fixation_strategy?: "none"|"migrate"|"invalidate"|Param, // Default: "migrate"
+ * hide_user_not_found?: bool|Param, // Deprecated: The "hide_user_not_found" option is deprecated and will be removed in 8.0. Use the "expose_security_errors" option instead.
+ * expose_security_errors?: \Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::None|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::AccountStatus|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::All|Param, // Default: "none"
+ * erase_credentials?: bool|Param, // Default: true
+ * access_decision_manager?: array{
+ * strategy?: "affirmative"|"consensus"|"unanimous"|"priority"|Param,
+ * service?: scalar|Param|null,
+ * strategy_service?: scalar|Param|null,
+ * allow_if_all_abstain?: bool|Param, // Default: false
+ * allow_if_equal_granted_denied?: bool|Param, // Default: true
+ * },
+ * password_hashers?: array,
+ * hash_algorithm?: scalar|Param|null, // Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
+ * key_length?: scalar|Param|null, // Default: 40
+ * ignore_case?: bool|Param, // Default: false
+ * encode_as_base64?: bool|Param, // Default: true
+ * iterations?: scalar|Param|null, // Default: 5000
+ * cost?: int|Param, // Default: null
+ * memory_cost?: scalar|Param|null, // Default: null
+ * time_cost?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
+ * }>,
+ * providers?: array,
+ * },
+ * entity?: array{
+ * class: scalar|Param|null, // The full entity class name of your user class.
+ * property?: scalar|Param|null, // Default: null
+ * manager_name?: scalar|Param|null, // Default: null
+ * },
+ * memory?: array{
+ * users?: array,
+ * }>,
+ * },
+ * ldap?: array{
+ * service: scalar|Param|null,
+ * base_dn: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: null
+ * search_password?: scalar|Param|null, // Default: null
+ * extra_fields?: list,
+ * default_roles?: list,
+ * role_fetcher?: scalar|Param|null, // Default: null
+ * uid_key?: scalar|Param|null, // Default: "sAMAccountName"
+ * filter?: scalar|Param|null, // Default: "({uid_key}={user_identifier})"
+ * password_attribute?: scalar|Param|null, // Default: null
+ * },
+ * saml?: array{
+ * user_class: scalar|Param|null,
+ * default_roles?: list,
+ * },
+ * }>,
+ * firewalls: array,
+ * security?: bool|Param, // Default: true
+ * user_checker?: scalar|Param|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
+ * request_matcher?: scalar|Param|null,
+ * access_denied_url?: scalar|Param|null,
+ * access_denied_handler?: scalar|Param|null,
+ * entry_point?: scalar|Param|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
+ * provider?: scalar|Param|null,
+ * stateless?: bool|Param, // Default: false
+ * lazy?: bool|Param, // Default: false
+ * context?: scalar|Param|null,
+ * logout?: array{
+ * enable_csrf?: bool|Param|null, // Default: null
+ * csrf_token_id?: scalar|Param|null, // Default: "logout"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_manager?: scalar|Param|null,
+ * path?: scalar|Param|null, // Default: "/logout"
+ * target?: scalar|Param|null, // Default: "/"
+ * invalidate_session?: bool|Param, // Default: true
+ * clear_site_data?: list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>,
+ * delete_cookies?: array,
+ * },
+ * switch_user?: array{
+ * provider?: scalar|Param|null,
+ * parameter?: scalar|Param|null, // Default: "_switch_user"
+ * role?: scalar|Param|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
+ * target_route?: scalar|Param|null, // Default: null
+ * },
+ * required_badges?: list,
+ * custom_authenticators?: list,
+ * login_throttling?: array{
+ * limiter?: scalar|Param|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
+ * max_attempts?: int|Param, // Default: 5
+ * interval?: scalar|Param|null, // Default: "1 minute"
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
+ * cache_pool?: string|Param, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
+ * storage_service?: string|Param, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
+ * },
+ * two_factor?: array{
+ * check_path?: scalar|Param|null, // Default: "/2fa_check"
+ * post_only?: bool|Param, // Default: true
+ * auth_form_path?: scalar|Param|null, // Default: "/2fa"
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * success_handler?: scalar|Param|null, // Default: null
+ * failure_handler?: scalar|Param|null, // Default: null
+ * authentication_required_handler?: scalar|Param|null, // Default: null
+ * auth_code_parameter_name?: scalar|Param|null, // Default: "_auth_code"
+ * trusted_parameter_name?: scalar|Param|null, // Default: "_trusted"
+ * remember_me_sets_trusted?: scalar|Param|null, // Default: false
+ * multi_factor?: bool|Param, // Default: false
+ * prepare_on_login?: bool|Param, // Default: false
+ * prepare_on_access_denied?: bool|Param, // Default: false
+ * enable_csrf?: scalar|Param|null, // Default: false
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "two_factor"
+ * csrf_header?: scalar|Param|null, // Default: null
+ * csrf_token_manager?: scalar|Param|null, // Default: "scheb_two_factor.csrf_token_manager"
+ * provider?: scalar|Param|null, // Default: null
+ * },
+ * webauthn?: array{
+ * user_provider?: scalar|Param|null, // Default: null
+ * options_storage?: scalar|Param|null, // Deprecated: The child node "options_storage" at path "security.firewalls..webauthn.options_storage" is deprecated. Please use the root option "options_storage" instead. // Default: null
+ * success_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultSuccessHandler"
+ * failure_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultFailureHandler"
+ * secured_rp_ids?: array,
+ * authentication?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * profile?: scalar|Param|null, // Default: "default"
+ * options_builder?: scalar|Param|null, // Default: null
+ * routes?: array{
+ * host?: scalar|Param|null, // Default: null
+ * options_method?: scalar|Param|null, // Default: "POST"
+ * options_path?: scalar|Param|null, // Default: "/login/options"
+ * result_method?: scalar|Param|null, // Default: "POST"
+ * result_path?: scalar|Param|null, // Default: "/login"
+ * },
+ * options_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultRequestOptionsHandler"
+ * },
+ * registration?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * profile?: scalar|Param|null, // Default: "default"
+ * options_builder?: scalar|Param|null, // Default: null
+ * routes?: array{
+ * host?: scalar|Param|null, // Default: null
+ * options_method?: scalar|Param|null, // Default: "POST"
+ * options_path?: scalar|Param|null, // Default: "/register/options"
+ * result_method?: scalar|Param|null, // Default: "POST"
+ * result_path?: scalar|Param|null, // Default: "/register"
+ * },
+ * options_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultCreationOptionsHandler"
+ * },
+ * },
+ * x509?: array{
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN_Email"
+ * credentials?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN"
+ * user_identifier?: scalar|Param|null, // Default: "emailAddress"
+ * },
+ * remote_user?: array{
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "REMOTE_USER"
+ * },
+ * saml?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null, // Default: "Nbgrp\\OneloginSamlBundle\\Security\\Http\\Authentication\\SamlAuthenticationSuccessHandler"
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * identifier_attribute?: scalar|Param|null, // Default: null
+ * use_attribute_friendly_name?: bool|Param, // Default: false
+ * user_factory?: scalar|Param|null, // Default: null
+ * token_factory?: scalar|Param|null, // Default: null
+ * persist_user?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * login_link?: array{
+ * check_route: scalar|Param|null, // Route that will validate the login link - e.g. "app_login_link_verify".
+ * check_post_only?: scalar|Param|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
+ * signature_properties: list,
+ * lifetime?: int|Param, // The lifetime of the login link in seconds. // Default: 600
+ * max_uses?: int|Param, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
+ * used_link_cache?: scalar|Param|null, // Cache service id used to expired links of max_uses is set.
+ * success_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
+ * failure_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
+ * provider?: scalar|Param|null, // The user provider to load users from.
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * form_login?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
+ * enable_csrf?: bool|Param, // Default: false
+ * post_only?: bool|Param, // Default: true
+ * form_only?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * form_login_ldap?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
+ * enable_csrf?: bool|Param, // Default: false
+ * post_only?: bool|Param, // Default: true
+ * form_only?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * json_login?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * },
+ * json_login_ldap?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * access_token?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: null
+ * token_extractors?: list,
+ * token_handler: string|array{
+ * id?: scalar|Param|null,
+ * oidc_user_info?: string|array{
+ * base_uri: scalar|Param|null, // Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
+ * discovery?: array{ // Enable the OIDC discovery.
+ * cache?: array{
+ * id: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
+ * client?: scalar|Param|null, // HttpClient service id to use to call the OIDC server.
+ * },
+ * oidc?: array{
+ * discovery?: array{ // Enable the OIDC discovery.
+ * base_uri: list,
+ * cache?: array{
+ * id: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
+ * audience: scalar|Param|null, // Audience set in the token, for validation purpose.
+ * issuers: list,
+ * algorithm?: array,
+ * algorithms: list,
+ * key?: scalar|Param|null, // Deprecated: The "key" option is deprecated and will be removed in 8.0. Use the "keyset" option instead. // JSON-encoded JWK used to sign the token (must contain a "kty" key).
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
+ * encryption?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * enforce?: bool|Param, // When enabled, the token shall be encrypted. // Default: false
+ * algorithms: list,
+ * keyset: scalar|Param|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
+ * },
+ * },
+ * cas?: array{
+ * validation_url: scalar|Param|null, // CAS server validation URL
+ * prefix?: scalar|Param|null, // CAS prefix // Default: "cas"
+ * http_client?: scalar|Param|null, // HTTP Client service // Default: null
+ * },
+ * oauth2?: scalar|Param|null,
+ * },
+ * },
+ * http_basic?: array{
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * },
+ * http_basic_ldap?: array{
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * remember_me?: array{
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * service?: scalar|Param|null,
+ * user_providers?: list,
+ * catch_exceptions?: bool|Param, // Default: true
+ * signature_properties?: list,
+ * token_provider?: string|array{
+ * service?: scalar|Param|null, // The service ID of a custom remember-me token provider.
+ * doctrine?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * connection?: scalar|Param|null, // Default: null
+ * },
+ * },
+ * token_verifier?: scalar|Param|null, // The service ID of a custom rememberme token verifier.
+ * name?: scalar|Param|null, // Default: "REMEMBERME"
+ * lifetime?: int|Param, // Default: 31536000
+ * path?: scalar|Param|null, // Default: "/"
+ * domain?: scalar|Param|null, // Default: null
+ * secure?: true|false|"auto"|Param, // Default: null
+ * httponly?: bool|Param, // Default: true
+ * samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
+ * always_remember_me?: bool|Param, // Default: false
+ * remember_me_parameter?: scalar|Param|null, // Default: "_remember_me"
+ * },
+ * }>,
+ * access_control?: list,
+ * attributes?: array,
+ * route?: scalar|Param|null, // Default: null
+ * methods?: list,
+ * allow_if?: scalar|Param|null, // Default: null
+ * roles?: list,
+ * }>,
+ * role_hierarchy?: array>,
+ * }
+ * @psalm-type TwigConfig = array{
+ * form_themes?: list,
+ * globals?: array,
+ * autoescape_service?: scalar|Param|null, // Default: null
+ * autoescape_service_method?: scalar|Param|null, // Default: null
+ * base_template_class?: scalar|Param|null, // Deprecated: The child node "base_template_class" at path "twig.base_template_class" is deprecated.
+ * cache?: scalar|Param|null, // Default: true
+ * charset?: scalar|Param|null, // Default: "%kernel.charset%"
+ * debug?: bool|Param, // Default: "%kernel.debug%"
+ * strict_variables?: bool|Param, // Default: "%kernel.debug%"
+ * auto_reload?: scalar|Param|null,
+ * optimizations?: int|Param,
+ * default_path?: scalar|Param|null, // The default path used to load templates. // Default: "%kernel.project_dir%/templates"
+ * file_name_pattern?: list,
+ * paths?: array,
+ * date?: array{ // The default format options used by the date filter.
+ * format?: scalar|Param|null, // Default: "F j, Y H:i"
+ * interval_format?: scalar|Param|null, // Default: "%d days"
+ * timezone?: scalar|Param|null, // The timezone used when formatting dates, when set to null, the timezone returned by date_default_timezone_get() is used. // Default: null
+ * },
+ * number_format?: array{ // The default format options for the number_format filter.
+ * decimals?: int|Param, // Default: 0
+ * decimal_point?: scalar|Param|null, // Default: "."
+ * thousands_separator?: scalar|Param|null, // Default: ","
+ * },
+ * mailer?: array{
+ * html_to_text_converter?: scalar|Param|null, // A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
+ * },
+ * }
+ * @psalm-type WebProfilerConfig = array{
+ * toolbar?: bool|array{ // Profiler toolbar configuration
+ * enabled?: bool|Param, // Default: false
+ * ajax_replace?: bool|Param, // Replace toolbar on AJAX requests // Default: false
+ * },
+ * intercept_redirects?: bool|Param, // Default: false
+ * excluded_ajax_paths?: scalar|Param|null, // Default: "^/((index|app(_[\\w]+)?)\\.php/)?_wdt"
+ * }
+ * @psalm-type MonologConfig = array{
+ * use_microseconds?: scalar|Param|null, // Default: true
+ * channels?: list,
+ * handlers?: array,
+ * excluded_http_codes?: list,
+ * }>,
+ * accepted_levels?: list,
+ * min_level?: scalar|Param|null, // Default: "DEBUG"
+ * max_level?: scalar|Param|null, // Default: "EMERGENCY"
+ * buffer_size?: scalar|Param|null, // Default: 0
+ * flush_on_overflow?: bool|Param, // Default: false
+ * handler?: scalar|Param|null,
+ * url?: scalar|Param|null,
+ * exchange?: scalar|Param|null,
+ * exchange_name?: scalar|Param|null, // Default: "log"
+ * room?: scalar|Param|null,
+ * message_format?: scalar|Param|null, // Default: "text"
+ * api_version?: scalar|Param|null, // Default: null
+ * channel?: scalar|Param|null, // Default: null
+ * bot_name?: scalar|Param|null, // Default: "Monolog"
+ * use_attachment?: scalar|Param|null, // Default: true
+ * use_short_attachment?: scalar|Param|null, // Default: false
+ * include_extra?: scalar|Param|null, // Default: false
+ * icon_emoji?: scalar|Param|null, // Default: null
+ * webhook_url?: scalar|Param|null,
+ * exclude_fields?: list,
+ * team?: scalar|Param|null,
+ * notify?: scalar|Param|null, // Default: false
+ * nickname?: scalar|Param|null, // Default: "Monolog"
+ * token?: scalar|Param|null,
+ * region?: scalar|Param|null,
+ * source?: scalar|Param|null,
+ * use_ssl?: bool|Param, // Default: true
+ * user?: mixed,
+ * title?: scalar|Param|null, // Default: null
+ * host?: scalar|Param|null, // Default: null
+ * port?: scalar|Param|null, // Default: 514
+ * config?: list,
+ * members?: list,
+ * connection_string?: scalar|Param|null,
+ * timeout?: scalar|Param|null,
+ * time?: scalar|Param|null, // Default: 60
+ * deduplication_level?: scalar|Param|null, // Default: 400
+ * store?: scalar|Param|null, // Default: null
+ * connection_timeout?: scalar|Param|null,
+ * persistent?: bool|Param,
+ * dsn?: scalar|Param|null,
+ * hub_id?: scalar|Param|null, // Default: null
+ * client_id?: scalar|Param|null, // Default: null
+ * auto_log_stacks?: scalar|Param|null, // Default: false
+ * release?: scalar|Param|null, // Default: null
+ * environment?: scalar|Param|null, // Default: null
+ * message_type?: scalar|Param|null, // Default: 0
+ * parse_mode?: scalar|Param|null, // Default: null
+ * disable_webpage_preview?: bool|Param|null, // Default: null
+ * disable_notification?: bool|Param|null, // Default: null
+ * split_long_messages?: bool|Param, // Default: false
+ * delay_between_messages?: bool|Param, // Default: false
+ * topic?: int|Param, // Default: null
+ * factor?: int|Param, // Default: 1
+ * tags?: list,
+ * console_formater_options?: mixed, // Deprecated: "monolog.handlers..console_formater_options.console_formater_options" is deprecated, use "monolog.handlers..console_formater_options.console_formatter_options" instead.
+ * console_formatter_options?: mixed, // Default: []
+ * formatter?: scalar|Param|null,
+ * nested?: bool|Param, // Default: false
+ * publisher?: string|array{
+ * id?: scalar|Param|null,
+ * hostname?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 12201
+ * chunk_size?: scalar|Param|null, // Default: 1420
+ * encoder?: "json"|"compressed_json"|Param,
+ * },
+ * mongo?: string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 27017
+ * user?: scalar|Param|null,
+ * pass?: scalar|Param|null,
+ * database?: scalar|Param|null, // Default: "monolog"
+ * collection?: scalar|Param|null, // Default: "logs"
+ * },
+ * mongodb?: string|array{
+ * id?: scalar|Param|null, // ID of a MongoDB\Client service
+ * uri?: scalar|Param|null,
+ * username?: scalar|Param|null,
+ * password?: scalar|Param|null,
+ * database?: scalar|Param|null, // Default: "monolog"
+ * collection?: scalar|Param|null, // Default: "logs"
+ * },
+ * elasticsearch?: string|array{
+ * id?: scalar|Param|null,
+ * hosts?: list,
+ * host?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 9200
+ * transport?: scalar|Param|null, // Default: "Http"
+ * user?: scalar|Param|null, // Default: null
+ * password?: scalar|Param|null, // Default: null
+ * },
+ * index?: scalar|Param|null, // Default: "monolog"
+ * document_type?: scalar|Param|null, // Default: "logs"
+ * ignore_error?: scalar|Param|null, // Default: false
+ * redis?: string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * password?: scalar|Param|null, // Default: null
+ * port?: scalar|Param|null, // Default: 6379
+ * database?: scalar|Param|null, // Default: 0
+ * key_name?: scalar|Param|null, // Default: "monolog_redis"
+ * },
+ * predis?: string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * },
+ * from_email?: scalar|Param|null,
+ * to_email?: list,
+ * subject?: scalar|Param|null,
+ * content_type?: scalar|Param|null, // Default: null
+ * headers?: list,
+ * mailer?: scalar|Param|null, // Default: null
+ * email_prototype?: string|array{
+ * id: scalar|Param|null,
+ * method?: scalar|Param|null, // Default: null
+ * },
+ * lazy?: bool|Param, // Default: true
+ * verbosity_levels?: array{
+ * VERBOSITY_QUIET?: scalar|Param|null, // Default: "ERROR"
+ * VERBOSITY_NORMAL?: scalar|Param|null, // Default: "WARNING"
+ * VERBOSITY_VERBOSE?: scalar|Param|null, // Default: "NOTICE"
+ * VERBOSITY_VERY_VERBOSE?: scalar|Param|null, // Default: "INFO"
+ * VERBOSITY_DEBUG?: scalar|Param|null, // Default: "DEBUG"
+ * },
+ * channels?: string|array{
+ * type?: scalar|Param|null,
+ * elements?: list,
+ * },
+ * }>,
+ * }
+ * @psalm-type DebugConfig = array{
+ * max_items?: int|Param, // Max number of displayed items past the first level, -1 means no limit. // Default: 2500
+ * min_depth?: int|Param, // Minimum tree depth to clone all the items, 1 is default. // Default: 1
+ * max_string_length?: int|Param, // Max length of displayed strings, -1 means no limit. // Default: -1
+ * dump_destination?: scalar|Param|null, // A stream URL where dumps should be written to. // Default: null
+ * theme?: "dark"|"light"|Param, // Changes the color of the dump() output when rendered directly on the templating. "dark" (default) or "light". // Default: "dark"
+ * }
+ * @psalm-type MakerConfig = array{
+ * root_namespace?: scalar|Param|null, // Default: "App"
+ * generate_final_classes?: bool|Param, // Default: true
+ * generate_final_entities?: bool|Param, // Default: false
+ * }
+ * @psalm-type WebpackEncoreConfig = array{
+ * output_path: scalar|Param|null, // The path where Encore is building the assets - i.e. Encore.setOutputPath()
+ * crossorigin?: false|"anonymous"|"use-credentials"|Param, // crossorigin value when Encore.enableIntegrityHashes() is used, can be false (default), anonymous or use-credentials // Default: false
+ * preload?: bool|Param, // preload all rendered script and link tags automatically via the http2 Link header. // Default: false
+ * cache?: bool|Param, // Enable caching of the entry point file(s) // Default: false
+ * strict_mode?: bool|Param, // Throw an exception if the entrypoints.json file is missing or an entry is missing from the data // Default: true
+ * builds?: array,
+ * script_attributes?: array,
+ * link_attributes?: array,
+ * }
+ * @psalm-type DatatablesConfig = array{
+ * language_from_cdn?: bool|Param, // Load i18n data from DataTables CDN or locally // Default: true
+ * persist_state?: "none"|"query"|"fragment"|"local"|"session"|Param, // Where to persist the current table state automatically // Default: "fragment"
+ * method?: "GET"|"POST"|Param, // Default HTTP method to be used for callbacks // Default: "POST"
+ * options?: array,
+ * renderer?: scalar|Param|null, // Default service used to render templates, built-in TwigRenderer uses global Twig environment // Default: "Omines\\DataTablesBundle\\Twig\\TwigRenderer"
+ * template?: scalar|Param|null, // Default template to be used for DataTables HTML // Default: "@DataTables/datatable_html.html.twig"
+ * template_parameters?: array{ // Default parameters to be passed to the template
+ * className?: scalar|Param|null, // Default class attribute to apply to the root table elements // Default: "table table-bordered"
+ * columnFilter?: "thead"|"tfoot"|"both"|Param|null, // If and where to enable the DataTables Filter module // Default: null
+ * ...
+ * },
+ * translation_domain?: scalar|Param|null, // Default translation domain to be used // Default: "messages"
+ * }
+ * @psalm-type LiipImagineConfig = array{
+ * resolvers?: array,
+ * get_options?: array,
+ * put_options?: array,
+ * proxies?: array,
+ * },
+ * flysystem?: array{
+ * filesystem_service: scalar|Param|null,
+ * cache_prefix?: scalar|Param|null, // Default: ""
+ * root_url: scalar|Param|null,
+ * visibility?: "public"|"private"|"noPredefinedVisibility"|Param, // Default: "public"
+ * },
+ * }>,
+ * loaders?: array,
+ * allow_unresolvable_data_roots?: bool|Param, // Default: false
+ * bundle_resources?: array{
+ * enabled?: bool|Param, // Default: false
+ * access_control_type?: "blacklist"|"whitelist"|Param, // Sets the access control method applied to bundle names in "access_control_list" into a blacklist or whitelist. // Default: "blacklist"
+ * access_control_list?: list,
+ * },
+ * },
+ * flysystem?: array{
+ * filesystem_service: scalar|Param|null,
+ * },
+ * asset_mapper?: array,
+ * chain?: array{
+ * loaders: list,
+ * },
+ * }>,
+ * driver?: scalar|Param|null, // Default: "gd"
+ * cache?: scalar|Param|null, // Default: "default"
+ * cache_base_path?: scalar|Param|null, // Default: ""
+ * data_loader?: scalar|Param|null, // Default: "default"
+ * default_image?: scalar|Param|null, // Default: null
+ * default_filter_set_settings?: array{
+ * quality?: scalar|Param|null, // Default: 100
+ * jpeg_quality?: scalar|Param|null, // Default: null
+ * png_compression_level?: scalar|Param|null, // Default: null
+ * png_compression_filter?: scalar|Param|null, // Default: null
+ * format?: scalar|Param|null, // Default: null
+ * animated?: bool|Param, // Default: false
+ * cache?: scalar|Param|null, // Default: null
+ * data_loader?: scalar|Param|null, // Default: null
+ * default_image?: scalar|Param|null, // Default: null
+ * filters?: array>,
+ * post_processors?: array>,
+ * },
+ * controller?: array{
+ * filter_action?: scalar|Param|null, // Default: "Liip\\ImagineBundle\\Controller\\ImagineController::filterAction"
+ * filter_runtime_action?: scalar|Param|null, // Default: "Liip\\ImagineBundle\\Controller\\ImagineController::filterRuntimeAction"
+ * redirect_response_code?: int|Param, // Default: 302
+ * },
+ * filter_sets?: array>,
+ * post_processors?: array>,
+ * }>,
+ * twig?: array{
+ * mode?: "none"|"lazy"|"legacy"|Param, // Twig mode: none/lazy/legacy (default) // Default: "legacy"
+ * assets_version?: scalar|Param|null, // Default: null
+ * },
+ * enqueue?: bool|Param, // Enables integration with enqueue if set true. Allows resolve image caches in background by sending messages to MQ. // Default: false
+ * messenger?: bool|array{ // Enables integration with symfony/messenger if set true. Warmup image caches in background by sending messages to MQ.
+ * enabled?: bool|Param, // Default: false
+ * },
+ * templating?: bool|Param, // Enables integration with symfony/templating component // Default: true
+ * webp?: array{
+ * generate?: bool|Param, // Default: false
+ * quality?: int|Param, // Default: 100
+ * cache?: scalar|Param|null, // Default: null
+ * data_loader?: scalar|Param|null, // Default: null
+ * post_processors?: array>,
+ * },
+ * }
+ * @psalm-type DamaDoctrineTestConfig = array{
+ * enable_static_connection?: mixed, // Default: true
+ * enable_static_meta_data_cache?: bool|Param, // Default: true
+ * enable_static_query_cache?: bool|Param, // Default: true
+ * connection_keys?: list,
+ * }
+ * @psalm-type TwigExtraConfig = array{
+ * cache?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * },
+ * html?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * markdown?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * intl?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * cssinliner?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * inky?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * string?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * },
+ * commonmark?: array{
+ * renderer?: array{ // Array of options for rendering HTML.
+ * block_separator?: scalar|Param|null,
+ * inner_separator?: scalar|Param|null,
+ * soft_break?: scalar|Param|null,
+ * },
+ * html_input?: "strip"|"allow"|"escape"|Param, // How to handle HTML input.
+ * allow_unsafe_links?: bool|Param, // Remove risky link and image URLs by setting this to false. // Default: true
+ * max_nesting_level?: int|Param, // The maximum nesting level for blocks. // Default: 9223372036854775807
+ * max_delimiters_per_line?: int|Param, // The maximum number of strong/emphasis delimiters per line. // Default: 9223372036854775807
+ * slug_normalizer?: array{ // Array of options for configuring how URL-safe slugs are created.
+ * instance?: mixed,
+ * max_length?: int|Param, // Default: 255
+ * unique?: mixed,
+ * },
+ * commonmark?: array{ // Array of options for configuring the CommonMark core extension.
+ * enable_em?: bool|Param, // Default: true
+ * enable_strong?: bool|Param, // Default: true
+ * use_asterisk?: bool|Param, // Default: true
+ * use_underscore?: bool|Param, // Default: true
+ * unordered_list_markers?: list,
+ * },
+ * ...
+ * },
+ * }
+ * @psalm-type GregwarCaptchaConfig = array{
+ * length?: scalar|Param|null, // Default: 5
+ * width?: scalar|Param|null, // Default: 130
+ * height?: scalar|Param|null, // Default: 50
+ * font?: scalar|Param|null, // Default: "C:\\Users\\mail\\Documents\\PHP\\Part-DB-server\\vendor\\gregwar\\captcha-bundle\\DependencyInjection/../Generator/Font/captcha.ttf"
+ * keep_value?: scalar|Param|null, // Default: false
+ * charset?: scalar|Param|null, // Default: "abcdefhjkmnprstuvwxyz23456789"
+ * as_file?: scalar|Param|null, // Default: false
+ * as_url?: scalar|Param|null, // Default: false
+ * reload?: scalar|Param|null, // Default: false
+ * image_folder?: scalar|Param|null, // Default: "captcha"
+ * web_path?: scalar|Param|null, // Default: "%kernel.project_dir%/public"
+ * gc_freq?: scalar|Param|null, // Default: 100
+ * expiration?: scalar|Param|null, // Default: 60
+ * quality?: scalar|Param|null, // Default: 50
+ * invalid_message?: scalar|Param|null, // Default: "Bad code value"
+ * bypass_code?: scalar|Param|null, // Default: null
+ * whitelist_key?: scalar|Param|null, // Default: "captcha_whitelist_key"
+ * humanity?: scalar|Param|null, // Default: 0
+ * distortion?: scalar|Param|null, // Default: true
+ * max_front_lines?: scalar|Param|null, // Default: null
+ * max_behind_lines?: scalar|Param|null, // Default: null
+ * interpolation?: scalar|Param|null, // Default: true
+ * text_color?: list,
+ * background_color?: list,
+ * background_images?: list,
+ * disabled?: scalar|Param|null, // Default: false
+ * ignore_all_effects?: scalar|Param|null, // Default: false
+ * session_key?: scalar|Param|null, // Default: "captcha"
+ * }
+ * @psalm-type FlorianvSwapConfig = array{
+ * cache?: array{
+ * ttl?: int|Param, // Default: 3600
+ * type?: scalar|Param|null, // A cache type or service id // Default: null
+ * },
+ * providers?: array{
+ * apilayer_fixer?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * apilayer_currency_data?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * apilayer_exchange_rates_data?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * abstract_api?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * fixer?: array{
+ * priority?: int|Param, // Default: 0
+ * access_key: scalar|Param|null,
+ * enterprise?: bool|Param, // Default: false
+ * },
+ * cryptonator?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * exchange_rates_api?: array{
+ * priority?: int|Param, // Default: 0
+ * access_key: scalar|Param|null,
+ * enterprise?: bool|Param, // Default: false
+ * },
+ * webservicex?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * central_bank_of_czech_republic?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * central_bank_of_republic_turkey?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * european_central_bank?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * national_bank_of_romania?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * russian_central_bank?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * frankfurter?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * fawazahmed_currency_api?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * bulgarian_national_bank?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * national_bank_of_ukraine?: array{
+ * priority?: int|Param, // Default: 0
+ * },
+ * currency_data_feed?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * currency_layer?: array{
+ * priority?: int|Param, // Default: 0
+ * access_key: scalar|Param|null,
+ * enterprise?: bool|Param, // Default: false
+ * },
+ * forge?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * open_exchange_rates?: array{
+ * priority?: int|Param, // Default: 0
+ * app_id: scalar|Param|null,
+ * enterprise?: bool|Param, // Default: false
+ * },
+ * xignite?: array{
+ * priority?: int|Param, // Default: 0
+ * token: scalar|Param|null,
+ * },
+ * xchangeapi?: array{
+ * priority?: int|Param, // Default: 0
+ * api_key: scalar|Param|null,
+ * },
+ * currency_converter?: array{
+ * priority?: int|Param, // Default: 0
+ * access_key: scalar|Param|null,
+ * enterprise?: bool|Param, // Default: false
+ * },
+ * array?: array{
+ * priority?: int|Param, // Default: 0
+ * latestRates: mixed,
+ * historicalRates?: mixed,
+ * },
+ * },
+ * }
+ * @psalm-type NelmioSecurityConfig = array{
+ * signed_cookie?: array{
+ * names?: list,
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * hash_algo?: scalar|Param|null,
+ * legacy_hash_algo?: scalar|Param|null, // Fallback algorithm to allow for frictionless hash algorithm upgrades. Use with caution and as a temporary measure as it allows for downgrade attacks. // Default: null
+ * separator?: scalar|Param|null, // Default: "."
+ * },
+ * clickjacking?: array{
+ * hosts?: list,
+ * paths?: array,
+ * content_types?: list,
+ * },
+ * external_redirects?: array{
+ * abort?: bool|Param, // Default: false
+ * override?: scalar|Param|null, // Default: null
+ * forward_as?: scalar|Param|null, // Default: null
+ * log?: bool|Param, // Default: false
+ * allow_list?: list,
+ * },
+ * flexible_ssl?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * cookie_name?: scalar|Param|null, // Default: "auth"
+ * unsecured_logout?: bool|Param, // Default: false
+ * },
+ * forced_ssl?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * hsts_max_age?: scalar|Param|null, // Default: null
+ * hsts_subdomains?: bool|Param, // Default: false
+ * hsts_preload?: bool|Param, // Default: false
+ * allow_list?: list,
+ * hosts?: list,
+ * redirect_status_code?: scalar|Param|null, // Default: 302
+ * },
+ * content_type?: array{
+ * nosniff?: bool|Param, // Default: false
+ * },
+ * xss_protection?: array{ // Deprecated: The "xss_protection" option is deprecated, use Content Security Policy without allowing "unsafe-inline" scripts instead.
+ * enabled?: bool|Param, // Default: false
+ * mode_block?: bool|Param, // Default: false
+ * report_uri?: scalar|Param|null, // Default: null
+ * },
+ * csp?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * request_matcher?: scalar|Param|null, // Default: null
+ * hosts?: list,
+ * content_types?: list,
+ * report_endpoint?: array{
+ * log_channel?: scalar|Param|null, // Default: null
+ * log_formatter?: scalar|Param|null, // Default: "nelmio_security.csp_report.log_formatter"
+ * log_level?: "alert"|"critical"|"debug"|"emergency"|"error"|"info"|"notice"|"warning"|Param, // Default: "notice"
+ * filters?: array{
+ * domains?: bool|Param, // Default: true
+ * schemes?: bool|Param, // Default: true
+ * browser_bugs?: bool|Param, // Default: true
+ * injected_scripts?: bool|Param, // Default: true
+ * },
+ * dismiss?: list>,
+ * },
+ * compat_headers?: bool|Param, // Default: true
+ * report_logger_service?: scalar|Param|null, // Default: "logger"
+ * hash?: array{
+ * algorithm?: "sha256"|"sha384"|"sha512"|Param, // The algorithm to use for hashes // Default: "sha256"
+ * },
+ * report?: array{
+ * level1_fallback?: bool|Param, // Provides CSP Level 1 fallback when using hash or nonce (CSP level 2) by adding 'unsafe-inline' source. See https://www.w3.org/TR/CSP2/#directive-script-src and https://www.w3.org/TR/CSP2/#directive-style-src // Default: true
+ * browser_adaptive?: bool|array{ // Do not send directives that browser do not support
+ * enabled?: bool|Param, // Default: false
+ * parser?: scalar|Param|null, // Default: "nelmio_security.ua_parser.ua_php"
+ * },
+ * default-src?: list,
+ * base-uri?: list,
+ * block-all-mixed-content?: bool|Param, // Default: false
+ * child-src?: list,
+ * connect-src?: list,
+ * font-src?: list,
+ * form-action?: list,
+ * frame-ancestors?: list,
+ * frame-src?: list,
+ * img-src?: list,
+ * manifest-src?: list,
+ * media-src?: list,
+ * object-src?: list,
+ * plugin-types?: list,
+ * script-src?: list,
+ * style-src?: list,
+ * upgrade-insecure-requests?: bool|Param, // Default: false
+ * report-uri?: list,
+ * worker-src?: list,
+ * prefetch-src?: list,
+ * report-to?: scalar|Param|null,
+ * },
+ * enforce?: array{
+ * level1_fallback?: bool|Param, // Provides CSP Level 1 fallback when using hash or nonce (CSP level 2) by adding 'unsafe-inline' source. See https://www.w3.org/TR/CSP2/#directive-script-src and https://www.w3.org/TR/CSP2/#directive-style-src // Default: true
+ * browser_adaptive?: bool|array{ // Do not send directives that browser do not support
+ * enabled?: bool|Param, // Default: false
+ * parser?: scalar|Param|null, // Default: "nelmio_security.ua_parser.ua_php"
+ * },
+ * default-src?: list,
+ * base-uri?: list,
+ * block-all-mixed-content?: bool|Param, // Default: false
+ * child-src?: list,
+ * connect-src?: list,
+ * font-src?: list,
+ * form-action?: list,
+ * frame-ancestors?: list,
+ * frame-src?: list,
+ * img-src?: list,
+ * manifest-src?: list,
+ * media-src?: list,
+ * object-src?: list,
+ * plugin-types?: list,
+ * script-src?: list,
+ * style-src?: list,
+ * upgrade-insecure-requests?: bool|Param, // Default: false
+ * report-uri?: list,
+ * worker-src?: list,
+ * prefetch-src?: list,
+ * report-to?: scalar|Param|null,
+ * },
+ * },
+ * referrer_policy?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * policies?: list,
+ * },
+ * permissions_policy?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * policies?: array{
+ * accelerometer?: mixed, // Default: null
+ * ambient_light_sensor?: mixed, // Default: null
+ * attribution_reporting?: mixed, // Default: null
+ * autoplay?: mixed, // Default: null
+ * bluetooth?: mixed, // Default: null
+ * browsing_topics?: mixed, // Default: null
+ * camera?: mixed, // Default: null
+ * captured_surface_control?: mixed, // Default: null
+ * compute_pressure?: mixed, // Default: null
+ * cross_origin_isolated?: mixed, // Default: null
+ * deferred_fetch?: mixed, // Default: null
+ * deferred_fetch_minimal?: mixed, // Default: null
+ * display_capture?: mixed, // Default: null
+ * encrypted_media?: mixed, // Default: null
+ * fullscreen?: mixed, // Default: null
+ * gamepad?: mixed, // Default: null
+ * geolocation?: mixed, // Default: null
+ * gyroscope?: mixed, // Default: null
+ * hid?: mixed, // Default: null
+ * identity_credentials_get?: mixed, // Default: null
+ * idle_detection?: mixed, // Default: null
+ * interest_cohort?: mixed, // Default: null
+ * language_detector?: mixed, // Default: null
+ * local_fonts?: mixed, // Default: null
+ * magnetometer?: mixed, // Default: null
+ * microphone?: mixed, // Default: null
+ * midi?: mixed, // Default: null
+ * otp_credentials?: mixed, // Default: null
+ * payment?: mixed, // Default: null
+ * picture_in_picture?: mixed, // Default: null
+ * publickey_credentials_create?: mixed, // Default: null
+ * publickey_credentials_get?: mixed, // Default: null
+ * screen_wake_lock?: mixed, // Default: null
+ * serial?: mixed, // Default: null
+ * speaker_selection?: mixed, // Default: null
+ * storage_access?: mixed, // Default: null
+ * summarizer?: mixed, // Default: null
+ * translator?: mixed, // Default: null
+ * usb?: mixed, // Default: null
+ * web_share?: mixed, // Default: null
+ * window_management?: mixed, // Default: null
+ * xr_spatial_tracking?: mixed, // Default: null
+ * },
+ * },
+ * cross_origin_isolation?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * paths?: array,
+ * },
+ * }
+ * @psalm-type TurboConfig = array{
+ * broadcast?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * entity_template_prefixes?: list,
+ * doctrine_orm?: bool|array{ // Enable the Doctrine ORM integration
+ * enabled?: bool|Param, // Default: true
+ * },
+ * },
+ * default_transport?: scalar|Param|null, // Default: "default"
+ * }
+ * @psalm-type TfaWebauthnConfig = array{
+ * enabled?: scalar|Param|null, // Default: false
+ * timeout?: int|Param, // Default: 60000
+ * rpID?: scalar|Param|null, // Default: null
+ * rpName?: scalar|Param|null, // Default: "Webauthn Application"
+ * rpIcon?: scalar|Param|null, // Default: null
+ * template?: scalar|Param|null, // Default: "@TFAWebauthn/Authentication/form.html.twig"
+ * U2FAppID?: scalar|Param|null, // Default: null
+ * }
+ * @psalm-type SchebTwoFactorConfig = array{
+ * persister?: scalar|Param|null, // Default: "scheb_two_factor.persister.doctrine"
+ * model_manager_name?: scalar|Param|null, // Default: null
+ * security_tokens?: list,
+ * ip_whitelist?: list,
+ * ip_whitelist_provider?: scalar|Param|null, // Default: "scheb_two_factor.default_ip_whitelist_provider"
+ * two_factor_token_factory?: scalar|Param|null, // Default: "scheb_two_factor.default_token_factory"
+ * two_factor_provider_decider?: scalar|Param|null, // Default: "scheb_two_factor.default_provider_decider"
+ * two_factor_condition?: scalar|Param|null, // Default: null
+ * code_reuse_cache?: scalar|Param|null, // Default: null
+ * code_reuse_cache_duration?: int|Param, // Default: 60
+ * code_reuse_default_handler?: scalar|Param|null, // Default: null
+ * trusted_device?: bool|array{
+ * enabled?: scalar|Param|null, // Default: false
+ * manager?: scalar|Param|null, // Default: "scheb_two_factor.default_trusted_device_manager"
+ * lifetime?: int|Param, // Default: 5184000
+ * extend_lifetime?: bool|Param, // Default: false
+ * key?: scalar|Param|null, // Default: null
+ * cookie_name?: scalar|Param|null, // Default: "trusted_device"
+ * cookie_secure?: true|false|"auto"|Param, // Default: "auto"
+ * cookie_domain?: scalar|Param|null, // Default: null
+ * cookie_path?: scalar|Param|null, // Default: "/"
+ * cookie_same_site?: scalar|Param|null, // Default: "lax"
+ * },
+ * backup_codes?: bool|array{
+ * enabled?: scalar|Param|null, // Default: false
+ * manager?: scalar|Param|null, // Default: "scheb_two_factor.default_backup_code_manager"
+ * },
+ * google?: bool|array{
+ * enabled?: scalar|Param|null, // Default: false
+ * form_renderer?: scalar|Param|null, // Default: null
+ * issuer?: scalar|Param|null, // Default: null
+ * server_name?: scalar|Param|null, // Default: null
+ * template?: scalar|Param|null, // Default: "@SchebTwoFactor/Authentication/form.html.twig"
+ * digits?: int|Param, // Default: 6
+ * leeway?: int|Param, // Default: 0
+ * },
+ * }
+ * @psalm-type WebauthnConfig = array{
+ * fake_credential_generator?: scalar|Param|null, // A service that implements the FakeCredentialGenerator to generate fake credentials for preventing username enumeration. // Default: "Webauthn\\SimpleFakeCredentialGenerator"
+ * clock?: scalar|Param|null, // PSR-20 Clock service. // Default: "webauthn.clock.default"
+ * options_storage?: scalar|Param|null, // Service responsible of the options/user entity storage during the ceremony // Default: "Webauthn\\Bundle\\Security\\Storage\\SessionStorage"
+ * event_dispatcher?: scalar|Param|null, // PSR-14 Event Dispatcher service. // Default: "Psr\\EventDispatcher\\EventDispatcherInterface"
+ * http_client?: scalar|Param|null, // A Symfony HTTP client. // Default: "webauthn.http_client.default"
+ * logger?: scalar|Param|null, // A PSR-3 logger to receive logs during the processes // Default: "webauthn.logger.default"
+ * credential_repository?: scalar|Param|null, // This repository is responsible of the credential storage // Default: "Webauthn\\Bundle\\Repository\\DummyPublicKeyCredentialSourceRepository"
+ * user_repository?: scalar|Param|null, // This repository is responsible of the user storage // Default: "Webauthn\\Bundle\\Repository\\DummyPublicKeyCredentialUserEntityRepository"
+ * allowed_origins?: array,
+ * allow_subdomains?: bool|Param, // Default: false
+ * secured_rp_ids?: array,
+ * counter_checker?: scalar|Param|null, // This service will check if the counter is valid. By default it throws an exception (recommended). // Default: "Webauthn\\Counter\\ThrowExceptionIfInvalid"
+ * top_origin_validator?: scalar|Param|null, // For cross origin (e.g. iframe), this service will be in charge of verifying the top origin. // Default: null
+ * creation_profiles?: array,
+ * public_key_credential_parameters?: list,
+ * attestation_conveyance?: scalar|Param|null, // Default: "none"
+ * }>,
+ * request_profiles?: array,
+ * }>,
+ * metadata?: bool|array{ // Enable the support of the Metadata Statements. Please read the documentation for this feature.
+ * enabled?: bool|Param, // Default: false
+ * mds_repository: scalar|Param|null, // The Metadata Statement repository.
+ * status_report_repository: scalar|Param|null, // The Status Report repository.
+ * certificate_chain_checker?: scalar|Param|null, // A Certificate Chain checker. // Default: "Webauthn\\MetadataService\\CertificateChain\\PhpCertificateChainValidator"
+ * },
+ * controllers?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * creation?: array,
+ * allow_subdomains?: bool|Param, // Default: false
+ * secured_rp_ids?: array,
+ * }>,
+ * request?: array,
+ * allow_subdomains?: bool|Param, // Default: false
+ * secured_rp_ids?: array,
+ * }>,
+ * },
+ * }
+ * @psalm-type NbgrpOneloginSamlConfig = array{ // nb:group OneLogin PHP Symfony Bundle configuration
+ * onelogin_settings?: array/saml/"
+ * strict?: bool|Param,
+ * debug?: bool|Param,
+ * idp: array{
+ * entityId: scalar|Param|null,
+ * singleSignOnService: array{
+ * url: scalar|Param|null,
+ * binding?: scalar|Param|null,
+ * },
+ * singleLogoutService?: array{
+ * url?: scalar|Param|null,
+ * responseUrl?: scalar|Param|null,
+ * binding?: scalar|Param|null,
+ * },
+ * x509cert?: scalar|Param|null,
+ * certFingerprint?: scalar|Param|null,
+ * certFingerprintAlgorithm?: "sha1"|"sha256"|"sha384"|"sha512"|Param,
+ * x509certMulti?: array{
+ * signing?: list,
+ * encryption?: list,
+ * },
+ * },
+ * sp?: array{
+ * entityId?: scalar|Param|null, // Default: "/saml/metadata"
+ * assertionConsumerService?: array{
+ * url?: scalar|Param|null, // Default: "