diff --git a/.env b/.env
index 982d4bbd..9a6ce846 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/"
###################################################################################
@@ -134,4 +133,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/workflows/assets_artifact_build.yml b/.github/workflows/assets_artifact_build.yml
index c950375b..8ce7ccf6 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
@@ -60,7 +60,7 @@ jobs:
${{ runner.os }}-yarn-
- name: Setup node
- uses: actions/setup-node@v4
+ 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@v5
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@v5
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..d8b099eb 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
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 66e2f40c..822f5af6 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -21,7 +21,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- php-versions: ['8.2', '8.3', '8.4' ]
+ php-versions: ['8.2', '8.3', '8.4', '8.5' ]
db-type: [ 'mysql', 'sqlite', 'postgres' ]
env:
@@ -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
@@ -104,7 +104,7 @@ jobs:
run: composer install --prefer-dist --no-progress
- name: Setup node
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v6
with:
node-version: '20'
diff --git a/.gitignore b/.gitignore
index 76655919..dd5c43db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,3 +48,6 @@ yarn-error.log
###> phpstan/phpstan ###
phpstan.neon
###< phpstan/phpstan ###
+
+.claude/
+CLAUDE.md
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d31c904e..86dce560 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -20,7 +20,7 @@ was translated in other languages (this is possible via the "Other languages" dr
## Project structure
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.
+* `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 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
@@ -49,7 +49,7 @@ Part-DB uses GitHub actions to run various tests and checks on the code:
* PHPunit tests run successful
* Config files, translations and templates has valid syntax
* Doctrine schema valid
-* No known vulnerable dependecies are used
+* No known vulnerable dependencies are used
* Static analysis 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).
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..bc4d0bf3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,91 @@
+# PartDB Makefile for Test Environment Management
+
+.PHONY: help deps-install lint format format-check test coverage pre-commit all test-typecheck \
+test-setup test-clean test-db-create test-db-migrate test-cache-clear test-fixtures test-run test-reset \
+section-dev dev-setup dev-clean dev-db-create dev-db-migrate dev-cache-clear dev-warmup dev-reset
+
+# Default target
+help: ## Show this help
+ @awk 'BEGIN {FS = ":.*##"}; /^[a-zA-Z0-9][a-zA-Z0-9_-]+:.*##/ {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
+
+# Dependencies
+deps-install: ## Install PHP dependencies with unlimited memory
+ @echo "📦 Installing PHP dependencies..."
+ COMPOSER_MEMORY_LIMIT=-1 composer install
+ yarn install
+ @echo "✅ Dependencies installed"
+
+# Complete test environment setup
+test-setup: test-clean test-db-create test-db-migrate test-fixtures ## Complete test setup (clean, create DB, migrate, fixtures)
+ @echo "✅ Test environment setup complete!"
+
+# Clean test environment
+test-clean: ## Clean test cache and database files
+ @echo "🧹 Cleaning test environment..."
+ rm -rf var/cache/test
+ rm -f var/app_test.db
+ @echo "✅ Test environment cleaned"
+
+# Create test database
+test-db-create: ## Create test database (if not exists)
+ @echo "🗄️ Creating test database..."
+ -php bin/console doctrine:database:create --if-not-exists --env test || echo "⚠️ Database creation failed (expected for SQLite) - continuing..."
+
+# Run database migrations for test environment
+test-db-migrate: ## Run database migrations for test environment
+ @echo "🔄 Running database migrations..."
+ COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env test
+
+# Clear test cache
+test-cache-clear: ## Clear test cache
+ @echo "🗑️ Clearing test cache..."
+ rm -rf var/cache/test
+ @echo "✅ Test cache cleared"
+
+# Load test fixtures
+test-fixtures: ## Load test fixtures
+ @echo "📦 Loading test fixtures..."
+ php bin/console partdb:fixtures:load -n --env test
+
+# Run PHPUnit tests
+test-run: ## Run PHPUnit tests
+ @echo "🧪 Running tests..."
+ php bin/phpunit
+
+# Quick test reset (clean + migrate + fixtures, skip DB creation)
+test-reset: test-cache-clear test-db-migrate test-fixtures
+ @echo "✅ Test environment reset complete!"
+
+test-typecheck: ## Run static analysis (PHPStan)
+ @echo "🧪 Running type checks..."
+ COMPOSER_MEMORY_LIMIT=-1 composer phpstan
+
+# Development helpers
+dev-setup: dev-clean dev-db-create dev-db-migrate dev-warmup ## Complete development setup (clean, create DB, migrate, warmup)
+ @echo "✅ Development environment setup complete!"
+
+dev-clean: ## Clean development cache and database files
+ @echo "🧹 Cleaning development environment..."
+ rm -rf var/cache/dev
+ rm -f var/app_dev.db
+ @echo "✅ Development environment cleaned"
+
+dev-db-create: ## Create development database (if not exists)
+ @echo "🗄️ Creating development database..."
+ -php bin/console doctrine:database:create --if-not-exists --env dev || echo "⚠️ Database creation failed (expected for SQLite) - continuing..."
+
+dev-db-migrate: ## Run database migrations for development environment
+ @echo "🔄 Running database migrations..."
+ COMPOSER_MEMORY_LIMIT=-1 php bin/console doctrine:migrations:migrate -n --env dev
+
+dev-cache-clear: ## Clear development cache
+ @echo "🗑️ Clearing development cache..."
+ rm -rf var/cache/dev
+ @echo "✅ Development cache cleared"
+
+dev-warmup: ## Warm up development cache
+ @echo "🔥 Warming up development cache..."
+ COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=1G bin/console cache:warmup --env dev -n
+
+dev-reset: dev-cache-clear dev-db-migrate ## Quick development reset (cache clear + migrate)
+ @echo "✅ Development environment reset complete!"
\ No newline at end of file
diff --git a/README.md b/README.md
index c9d25016..de8e6291 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@

[](https://codecov.io/gh/Part-DB/Part-DB-server)

-
+


@@ -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.
diff --git a/VERSION b/VERSION
index 7ec1d6db..c043eea7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.1.0
+2.2.1
diff --git a/assets/ckeditor/plugins/PartDBLabel/PartDBLabelUI.js b/assets/ckeditor/plugins/PartDBLabel/PartDBLabelUI.js
index 095b0d25..bb9fcd1f 100644
--- a/assets/ckeditor/plugins/PartDBLabel/PartDBLabelUI.js
+++ b/assets/ckeditor/plugins/PartDBLabel/PartDBLabelUI.js
@@ -20,11 +20,12 @@
import {Plugin} from 'ckeditor5';
require('./lang/de.js');
+require('./lang/en.js');
import { addListToDropdown, createDropdown } from 'ckeditor5';
import {Collection} from 'ckeditor5';
-import {Model} from 'ckeditor5';
+import {UIModel} from 'ckeditor5';
export default class PartDBLabelUI extends Plugin {
init() {
@@ -151,18 +152,28 @@ const PLACEHOLDERS = [
function getDropdownItemsDefinitions(t) {
const itemDefinitions = new Collection();
+ let first = true;
+
for ( const group of PLACEHOLDERS) {
+
//Add group header
- itemDefinitions.add({
- 'type': 'separator',
- model: new Model( {
- withText: true,
- })
- });
+
+ //Skip separator for first group
+ if (!first) {
+
+ itemDefinitions.add({
+ 'type': 'separator',
+ model: new UIModel( {
+ withText: true,
+ })
+ });
+ } else {
+ first = false;
+ }
itemDefinitions.add({
type: 'button',
- model: new Model( {
+ model: new UIModel( {
label: t(group.label),
withText: true,
isEnabled: false,
@@ -173,7 +184,7 @@ function getDropdownItemsDefinitions(t) {
for ( const entry of group.entries) {
const definition = {
type: 'button',
- model: new Model( {
+ model: new UIModel( {
commandParam: entry[0],
label: t(entry[1]),
tooltip: entry[0],
diff --git a/assets/ckeditor/plugins/PartDBLabel/lang/de.js b/assets/ckeditor/plugins/PartDBLabel/lang/de.js
index 748b1607..e0ca0521 100644
--- a/assets/ckeditor/plugins/PartDBLabel/lang/de.js
+++ b/assets/ckeditor/plugins/PartDBLabel/lang/de.js
@@ -17,15 +17,9 @@
* along with this program. If not, see .
*/
-// Make sure that the global object is defined. If not, define it.
-window.CKEDITOR_TRANSLATIONS = window.CKEDITOR_TRANSLATIONS || {};
+import {add} from "ckeditor5";
-// Make sure that the dictionary for Polish translations exist.
-window.CKEDITOR_TRANSLATIONS[ 'de' ] = window.CKEDITOR_TRANSLATIONS[ 'de' ] || {};
-window.CKEDITOR_TRANSLATIONS[ 'de' ].dictionary = window.CKEDITOR_TRANSLATIONS[ 'de' ].dictionary || {};
-
-// Extend the dictionary for Polish translations with your translations:
-Object.assign( window.CKEDITOR_TRANSLATIONS[ 'de' ].dictionary, {
+add( "de", {
'Label Placeholder': 'Label Platzhalter',
'Part': 'Bauteil',
@@ -88,5 +82,4 @@ Object.assign( window.CKEDITOR_TRANSLATIONS[ 'de' ].dictionary, {
'Instance name': 'Instanzname',
'Target type': 'Zieltyp',
'URL of this Part-DB instance': 'URL dieser Part-DB Instanz',
-
-} );
\ No newline at end of file
+});
diff --git a/assets/ckeditor/plugins/PartDBLabel/lang/en.js b/assets/ckeditor/plugins/PartDBLabel/lang/en.js
new file mode 100644
index 00000000..8f77aaf1
--- /dev/null
+++ b/assets/ckeditor/plugins/PartDBLabel/lang/en.js
@@ -0,0 +1,84 @@
+/*
+ * 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 {add} from "ckeditor5";
+
+add( "en", {
+ 'Label Placeholder': 'Label placeholder',
+ 'Part': 'Part',
+
+ 'Database ID': 'Database ID',
+ 'Part name': 'Part name',
+ 'Category': 'Category',
+ 'Category (Full path)': 'Category (full path)',
+ 'Manufacturer': 'Manufacturer',
+ 'Manufacturer (Full path)': 'Manufacturer (full path)',
+ 'Footprint': 'Footprint',
+ 'Footprint (Full path)': 'Footprint (full path)',
+ 'Mass': 'Mass',
+ 'Manufacturer Product Number (MPN)': 'Manufacturer Product Number (MPN)',
+ 'Internal Part Number (IPN)': 'Internal Part Number (IPN)',
+ 'Tags': 'Tags',
+ 'Manufacturing status': 'Manufacturing status',
+ 'Description': 'Description',
+ 'Description (plain text)': 'Description (plain text)',
+ 'Comment': 'Comment',
+ 'Comment (plain text)': 'Comment (plain text)',
+ 'Last modified datetime': 'Last modified datetime',
+ 'Creation datetime': 'Creation datetime',
+ 'IPN as QR code': 'IPN as QR code',
+ 'IPN as Code 128 barcode': 'IPN as Code 128 barcode',
+ 'IPN as Code 39 barcode': 'IPN as Code 39 barcode',
+
+ 'Lot ID': 'Lot ID',
+ 'Lot name': 'Lot name',
+ 'Lot comment': 'Lot comment',
+ 'Lot expiration date': 'Lot expiration date',
+ 'Lot amount': 'Lot amount',
+ 'Storage location': 'Storage location',
+ 'Storage location (Full path)': 'Storage location (full path)',
+ 'Full name of the lot owner': 'Full name of the lot owner',
+ 'Username of the lot owner': 'Username of the lot owner',
+
+ 'Barcodes': 'Barcodes',
+ 'Content of the 1D barcodes (like Code 39)': 'Content of the 1D barcodes (like Code 39)',
+ 'Content of the 2D barcodes (QR codes)': 'Content of the 2D barcodes (QR codes)',
+ 'QR code linking to this element': 'QR code linking to this element',
+ 'Code 128 barcode linking to this element': 'Code 128 barcode linking to this element',
+ 'Code 39 barcode linking to this element': 'Code 39 barcode linking to this element',
+ 'Code 93 barcode linking to this element': 'Code 93 barcode linking to this element',
+ 'Datamatrix code linking to this element': 'Datamatrix code linking to this element',
+
+ 'Location ID': 'Location ID',
+ 'Name': 'Name',
+ 'Full path': 'Full path',
+ 'Parent name': 'Parent name',
+ 'Parent full path': 'Parent full path',
+ 'Full name of the location owner': 'Full name of the location owner',
+ 'Username of the location owner': 'Username of the location owner',
+
+ 'Username': 'Username',
+ 'Username (including name)': 'Username (including name)',
+ 'Current datetime': 'Current datetime',
+ 'Current date': 'Current date',
+ 'Current time': 'Current time',
+ 'Instance name': 'Instance name',
+ 'Target type': 'Target type',
+ 'URL of this Part-DB instance': 'URL of this Part-DB instance',
+} );
diff --git a/assets/controllers/bulk_import_controller.js b/assets/controllers/bulk_import_controller.js
new file mode 100644
index 00000000..49e4d60f
--- /dev/null
+++ b/assets/controllers/bulk_import_controller.js
@@ -0,0 +1,359 @@
+import { Controller } from "@hotwired/stimulus"
+import { generateCsrfHeaders } from "./csrf_protection_controller"
+
+export default class extends Controller {
+ static targets = ["progressBar", "progressText"]
+ static values = {
+ jobId: Number,
+ partId: Number,
+ researchUrl: String,
+ researchAllUrl: String,
+ markCompletedUrl: String,
+ markSkippedUrl: String,
+ markPendingUrl: String
+ }
+
+ connect() {
+ // Auto-refresh progress if job is in progress
+ if (this.hasProgressBarTarget) {
+ this.startProgressUpdates()
+ }
+
+ // Restore scroll position after page reload (if any)
+ this.restoreScrollPosition()
+ }
+
+ getHeaders() {
+ const headers = {
+ 'Content-Type': 'application/json',
+ 'X-Requested-With': 'XMLHttpRequest'
+ }
+
+ // Add CSRF headers if available
+ const form = document.querySelector('form')
+ if (form) {
+ const csrfHeaders = generateCsrfHeaders(form)
+ Object.assign(headers, csrfHeaders)
+ }
+
+ return headers
+ }
+
+ async fetchWithErrorHandling(url, options = {}, timeout = 30000) {
+ const controller = new AbortController()
+ const timeoutId = setTimeout(() => controller.abort(), timeout)
+
+ try {
+ const response = await fetch(url, {
+ ...options,
+ headers: { ...this.getHeaders(), ...options.headers },
+ signal: controller.signal
+ })
+
+ clearTimeout(timeoutId)
+
+ if (!response.ok) {
+ const errorText = await response.text()
+ throw new Error(`Server error (${response.status}): ${errorText}`)
+ }
+
+ return await response.json()
+ } catch (error) {
+ clearTimeout(timeoutId)
+
+ if (error.name === 'AbortError') {
+ throw new Error('Request timed out. Please try again.')
+ } else if (error.message.includes('Failed to fetch')) {
+ throw new Error('Network error. Please check your connection and try again.')
+ } else {
+ throw error
+ }
+ }
+ }
+
+ disconnect() {
+ if (this.progressInterval) {
+ clearInterval(this.progressInterval)
+ }
+ }
+
+ startProgressUpdates() {
+ // Progress updates are handled via page reload for better reliability
+ // No need for periodic updates since state changes trigger page refresh
+ }
+
+ restoreScrollPosition() {
+ const savedPosition = sessionStorage.getItem('bulkImportScrollPosition')
+ if (savedPosition) {
+ // Restore scroll position after a small delay to ensure page is fully loaded
+ setTimeout(() => {
+ window.scrollTo(0, parseInt(savedPosition))
+ // Clear the saved position so it doesn't interfere with normal navigation
+ sessionStorage.removeItem('bulkImportScrollPosition')
+ }, 100)
+ }
+ }
+
+ async markCompleted(event) {
+ const partId = event.currentTarget.dataset.partId
+
+ try {
+ const url = this.markCompletedUrlValue.replace('__PART_ID__', partId)
+ const data = await this.fetchWithErrorHandling(url, { method: 'POST' })
+
+ if (data.success) {
+ this.updateProgressDisplay(data)
+ this.markRowAsCompleted(partId)
+
+ if (data.job_completed) {
+ this.showJobCompletedMessage()
+ }
+ } else {
+ this.showErrorMessage(data.error || 'Failed to mark part as completed')
+ }
+ } catch (error) {
+ console.error('Error marking part as completed:', error)
+ this.showErrorMessage(error.message || 'Failed to mark part as completed')
+ }
+ }
+
+ async markSkipped(event) {
+ const partId = event.currentTarget.dataset.partId
+ const reason = prompt('Reason for skipping (optional):') || ''
+
+ try {
+ const url = this.markSkippedUrlValue.replace('__PART_ID__', partId)
+ const data = await this.fetchWithErrorHandling(url, {
+ method: 'POST',
+ body: JSON.stringify({ reason })
+ })
+
+ if (data.success) {
+ this.updateProgressDisplay(data)
+ this.markRowAsSkipped(partId)
+ } else {
+ this.showErrorMessage(data.error || 'Failed to mark part as skipped')
+ }
+ } catch (error) {
+ console.error('Error marking part as skipped:', error)
+ this.showErrorMessage(error.message || 'Failed to mark part as skipped')
+ }
+ }
+
+ async markPending(event) {
+ const partId = event.currentTarget.dataset.partId
+
+ try {
+ const url = this.markPendingUrlValue.replace('__PART_ID__', partId)
+ const data = await this.fetchWithErrorHandling(url, { method: 'POST' })
+
+ if (data.success) {
+ this.updateProgressDisplay(data)
+ this.markRowAsPending(partId)
+ } else {
+ this.showErrorMessage(data.error || 'Failed to mark part as pending')
+ }
+ } catch (error) {
+ console.error('Error marking part as pending:', error)
+ this.showErrorMessage(error.message || 'Failed to mark part as pending')
+ }
+ }
+
+ updateProgressDisplay(data) {
+ if (this.hasProgressBarTarget) {
+ this.progressBarTarget.style.width = `${data.progress}%`
+ this.progressBarTarget.setAttribute('aria-valuenow', data.progress)
+ }
+
+ if (this.hasProgressTextTarget) {
+ this.progressTextTarget.textContent = `${data.completed_count} / ${data.total_count} completed`
+ }
+ }
+
+ markRowAsCompleted(partId) {
+ // Save scroll position and refresh page to show updated state
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ }
+
+ markRowAsSkipped(partId) {
+ // Save scroll position and refresh page to show updated state
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ }
+
+ markRowAsPending(partId) {
+ // Save scroll position and refresh page to show updated state
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ }
+
+ showJobCompletedMessage() {
+ const alert = document.createElement('div')
+ alert.className = 'alert alert-success alert-dismissible fade show'
+ alert.innerHTML = `
+
+ Job completed! All parts have been processed.
+
+ `
+
+ const container = document.querySelector('.card-body')
+ container.insertBefore(alert, container.firstChild)
+ }
+
+ async researchPart(event) {
+ event.preventDefault()
+ event.stopPropagation()
+
+ const partId = event.currentTarget.dataset.partId
+ const spinner = event.currentTarget.querySelector(`[data-research-spinner="${partId}"]`)
+ const button = event.currentTarget
+
+ // Show loading state
+ if (spinner) {
+ spinner.style.display = 'inline-block'
+ }
+ button.disabled = true
+
+ try {
+ const url = this.researchUrlValue.replace('__PART_ID__', partId)
+ const controller = new AbortController()
+ const timeoutId = setTimeout(() => controller.abort(), 30000) // 30 second timeout
+
+ const response = await fetch(url, {
+ method: 'POST',
+ headers: this.getHeaders(),
+ signal: controller.signal
+ })
+
+ clearTimeout(timeoutId)
+
+ if (!response.ok) {
+ const errorText = await response.text()
+ throw new Error(`Server error (${response.status}): ${errorText}`)
+ }
+
+ const data = await response.json()
+
+ if (data.success) {
+ this.showSuccessMessage(`Research completed for part. Found ${data.results_count} results.`)
+ // Save scroll position and reload to show updated results
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ } else {
+ this.showErrorMessage(data.error || 'Research failed')
+ }
+ } catch (error) {
+ console.error('Error researching part:', error)
+
+ if (error.name === 'AbortError') {
+ this.showErrorMessage('Research timed out. Please try again.')
+ } else if (error.message.includes('Failed to fetch')) {
+ this.showErrorMessage('Network error. Please check your connection and try again.')
+ } else {
+ this.showErrorMessage(error.message || 'Research failed due to an unexpected error')
+ }
+ } finally {
+ // Hide loading state
+ if (spinner) {
+ spinner.style.display = 'none'
+ }
+ button.disabled = false
+ }
+ }
+
+ async researchAllParts(event) {
+ event.preventDefault()
+ event.stopPropagation()
+
+ const spinner = document.getElementById('research-all-spinner')
+ const button = event.currentTarget
+
+ // Show loading state
+ if (spinner) {
+ spinner.style.display = 'inline-block'
+ }
+ button.disabled = true
+
+ try {
+ const controller = new AbortController()
+ const timeoutId = setTimeout(() => controller.abort(), 120000) // 2 minute timeout for bulk operations
+
+ const response = await fetch(this.researchAllUrlValue, {
+ method: 'POST',
+ headers: this.getHeaders(),
+ signal: controller.signal
+ })
+
+ clearTimeout(timeoutId)
+
+ if (!response.ok) {
+ const errorText = await response.text()
+ throw new Error(`Server error (${response.status}): ${errorText}`)
+ }
+
+ const data = await response.json()
+
+ if (data.success) {
+ this.showSuccessMessage(`Research completed for ${data.researched_count} parts.`)
+ // Save scroll position and reload to show updated results
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ } else {
+ this.showErrorMessage(data.error || 'Bulk research failed')
+ }
+ } catch (error) {
+ console.error('Error researching all parts:', error)
+
+ if (error.name === 'AbortError') {
+ this.showErrorMessage('Bulk research timed out. This may happen with large batches. Please try again or process smaller batches.')
+ } else if (error.message.includes('Failed to fetch')) {
+ this.showErrorMessage('Network error. Please check your connection and try again.')
+ } else {
+ this.showErrorMessage(error.message || 'Bulk research failed due to an unexpected error')
+ }
+ } finally {
+ // Hide loading state
+ if (spinner) {
+ spinner.style.display = 'none'
+ }
+ button.disabled = false
+ }
+ }
+
+ showSuccessMessage(message) {
+ this.showToast('success', message)
+ }
+
+ showErrorMessage(message) {
+ this.showToast('error', message)
+ }
+
+ showToast(type, message) {
+ // Create a simple alert that doesn't disrupt layout
+ const alertId = 'alert-' + Date.now()
+ const iconClass = type === 'success' ? 'fa-check-circle' : 'fa-exclamation-triangle'
+ const alertClass = type === 'success' ? 'alert-success' : 'alert-danger'
+
+ const alertHTML = `
+
+
+ ${message}
+
+
+ `
+
+ // Add alert to body
+ document.body.insertAdjacentHTML('beforeend', alertHTML)
+
+ // Auto-remove after 5 seconds
+ setTimeout(() => {
+ const alertElement = document.getElementById(alertId)
+ if (alertElement) {
+ alertElement.remove()
+ }
+ }, 5000)
+ }
+}
\ No newline at end of file
diff --git a/assets/controllers/bulk_job_manage_controller.js b/assets/controllers/bulk_job_manage_controller.js
new file mode 100644
index 00000000..c26e37c6
--- /dev/null
+++ b/assets/controllers/bulk_job_manage_controller.js
@@ -0,0 +1,92 @@
+import { Controller } from "@hotwired/stimulus"
+import { generateCsrfHeaders } from "./csrf_protection_controller"
+
+export default class extends Controller {
+ static values = {
+ deleteUrl: String,
+ stopUrl: String,
+ deleteConfirmMessage: String,
+ stopConfirmMessage: String
+ }
+
+ connect() {
+ // Controller initialized
+ }
+ getHeaders() {
+ const headers = {
+ 'X-Requested-With': 'XMLHttpRequest'
+ }
+
+ // Add CSRF headers if available
+ const form = document.querySelector('form')
+ if (form) {
+ const csrfHeaders = generateCsrfHeaders(form)
+ Object.assign(headers, csrfHeaders)
+ }
+
+ return headers
+ }
+ async deleteJob(event) {
+ const jobId = event.currentTarget.dataset.jobId
+ const confirmMessage = this.deleteConfirmMessageValue || 'Are you sure you want to delete this job?'
+
+ if (confirm(confirmMessage)) {
+ try {
+ const deleteUrl = this.deleteUrlValue.replace('__JOB_ID__', jobId)
+
+ const response = await fetch(deleteUrl, {
+ method: 'DELETE',
+ headers: this.getHeaders()
+ })
+
+ if (!response.ok) {
+ const errorText = await response.text()
+ throw new Error(`HTTP ${response.status}: ${errorText}`)
+ }
+
+ const data = await response.json()
+
+ if (data.success) {
+ location.reload()
+ } else {
+ alert('Error deleting job: ' + (data.error || 'Unknown error'))
+ }
+ } catch (error) {
+ console.error('Error deleting job:', error)
+ alert('Error deleting job: ' + error.message)
+ }
+ }
+ }
+
+ async stopJob(event) {
+ const jobId = event.currentTarget.dataset.jobId
+ const confirmMessage = this.stopConfirmMessageValue || 'Are you sure you want to stop this job?'
+
+ if (confirm(confirmMessage)) {
+ try {
+ const stopUrl = this.stopUrlValue.replace('__JOB_ID__', jobId)
+
+ const response = await fetch(stopUrl, {
+ method: 'POST',
+ headers: this.getHeaders()
+ })
+
+ if (!response.ok) {
+ const errorText = await response.text()
+ throw new Error(`HTTP ${response.status}: ${errorText}`)
+ }
+
+ const data = await response.json()
+
+ if (data.success) {
+ location.reload()
+ } else {
+ alert('Error stopping job: ' + (data.error || 'Unknown error'))
+ }
+ } catch (error) {
+ console.error('Error stopping job:', error)
+ alert('Error stopping job: ' + error.message)
+ }
+ }
+ }
+}
\ No newline at end of file
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/attachment_autocomplete_controller.js b/assets/controllers/elements/attachment_autocomplete_controller.js
index 0175b284..94b01136 100644
--- a/assets/controllers/elements/attachment_autocomplete_controller.js
+++ b/assets/controllers/elements/attachment_autocomplete_controller.js
@@ -34,6 +34,11 @@ export default class extends Controller {
connect() {
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
+
let settings = {
persistent: false,
create: true,
@@ -42,7 +47,7 @@ export default class extends Controller {
selectOnTab: true,
//This a an ugly solution to disable the delimiter parsing of the TomSelect plugin
delimiter: 'VERY_L0NG_D€LIMITER_WHICH_WILL_NEVER_BE_ENCOUNTERED_IN_A_STRING',
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
render: {
item: (data, escape) => {
return '' + escape(data.label) + '';
diff --git a/assets/controllers/elements/ckeditor_controller.js b/assets/controllers/elements/ckeditor_controller.js
index 62a48b15..b7c87dab 100644
--- a/assets/controllers/elements/ckeditor_controller.js
+++ b/assets/controllers/elements/ckeditor_controller.js
@@ -28,6 +28,27 @@ import {EditorWatchdog} from 'ckeditor5';
import "ckeditor5/ckeditor5.css";;
import "../../css/components/ckeditor.css";
+const translationContext = require.context(
+ 'ckeditor5/translations',
+ false,
+ //Only load the translation files we will really need
+ /(de|it|fr|ru|ja|cs|da|zh|pl|hu)\.js$/
+);
+
+function loadTranslation(language) {
+ if (!language || language === 'en') {
+ return null;
+ }
+ const lang = language.slice(0, 2);
+ const path = `./${lang}.js`;
+ if (translationContext.keys().includes(path)) {
+ const module = translationContext(path);
+ return module.default;
+ } else {
+ return null;
+ }
+}
+
/* stimulusFetch: 'lazy' */
export default class extends Controller {
connect() {
@@ -63,6 +84,13 @@ export default class extends Controller {
}
}
+ //Load translations if not english
+ let translations = loadTranslation(language);
+ if (translations) {
+ //Keep existing translations (e.g. from other plugins), if any
+ config.translations = [window.CKEDITOR_TRANSLATIONS, translations];
+ }
+
const watchdog = new EditorWatchdog();
watchdog.setCreator((elementOrData, editorConfig) => {
return EDITOR_TYPE.create(elementOrData, editorConfig)
@@ -78,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/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_select_controller.js b/assets/controllers/elements/part_select_controller.js
index 0658f4b4..8a4e19b8 100644
--- a/assets/controllers/elements/part_select_controller.js
+++ b/assets/controllers/elements/part_select_controller.js
@@ -10,13 +10,19 @@ export default class extends Controller {
connect() {
+ //Check if tomselect is inside an modal and do not attach the dropdown to body in that case (as it breaks the modal)
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
+
let settings = {
allowEmptyOption: true,
plugins: ['dropdown_input'],
searchField: ["name", "description", "category", "footprint"],
valueField: "id",
labelField: "name",
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
preload: "focus",
render: {
item: (data, escape) => {
diff --git a/assets/controllers/elements/select_controller.js b/assets/controllers/elements/select_controller.js
index f933731a..d70e588c 100644
--- a/assets/controllers/elements/select_controller.js
+++ b/assets/controllers/elements/select_controller.js
@@ -38,13 +38,17 @@ export default class extends Controller {
this._emptyMessage = this.element.getAttribute('title');
}
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
let settings = {
plugins: ["clear_button"],
allowEmptyOption: true,
selectOnTab: true,
maxOptions: null,
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
render: {
item: this.renderItem.bind(this),
diff --git a/assets/controllers/elements/select_multiple_controller.js b/assets/controllers/elements/select_multiple_controller.js
index daa6b0a1..17e85fae 100644
--- a/assets/controllers/elements/select_multiple_controller.js
+++ b/assets/controllers/elements/select_multiple_controller.js
@@ -26,10 +26,15 @@ export default class extends Controller {
_tomSelect;
connect() {
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
+
this._tomSelect = new TomSelect(this.element, {
maxItems: 1000,
allowEmptyOption: true,
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
plugins: ['remove_button'],
});
}
diff --git a/assets/controllers/elements/static_file_autocomplete_controller.js b/assets/controllers/elements/static_file_autocomplete_controller.js
index 0421a26d..9703c618 100644
--- a/assets/controllers/elements/static_file_autocomplete_controller.js
+++ b/assets/controllers/elements/static_file_autocomplete_controller.js
@@ -40,6 +40,11 @@ export default class extends Controller {
connect() {
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
+
let settings = {
persistent: false,
create: true,
@@ -50,7 +55,7 @@ export default class extends Controller {
valueField: 'text',
searchField: 'text',
orderField: 'text',
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
//This a an ugly solution to disable the delimiter parsing of the TomSelect plugin
delimiter: 'VERY_L0NG_D€LIMITER_WHICH_WILL_NEVER_BE_ENCOUNTERED_IN_A_STRING',
diff --git a/assets/controllers/elements/structural_entity_select_controller.js b/assets/controllers/elements/structural_entity_select_controller.js
index 5c6f9490..4b220d5b 100644
--- a/assets/controllers/elements/structural_entity_select_controller.js
+++ b/assets/controllers/elements/structural_entity_select_controller.js
@@ -40,7 +40,10 @@ export default class extends Controller {
const allowAdd = this.element.getAttribute("data-allow-add") === "true";
const addHint = this.element.getAttribute("data-add-hint") ?? "";
-
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
let settings = {
@@ -54,7 +57,7 @@ export default class extends Controller {
maxItems: 1,
delimiter: "$$VERY_LONG_DELIMITER_THAT_SHOULD_NEVER_APPEAR$$",
splitOn: null,
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
searchField: [
{field: "text", weight : 2},
diff --git a/assets/controllers/elements/tagsinput_controller.js b/assets/controllers/elements/tagsinput_controller.js
index 53bf7608..14725227 100644
--- a/assets/controllers/elements/tagsinput_controller.js
+++ b/assets/controllers/elements/tagsinput_controller.js
@@ -33,6 +33,11 @@ export default class extends Controller {
_tomSelect;
connect() {
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
+
let settings = {
plugins: {
remove_button:{},
@@ -43,7 +48,7 @@ export default class extends Controller {
selectOnTab: true,
createOnBlur: true,
create: true,
- dropdownParent: 'body',
+ dropdownParent: dropdownParent,
};
if(this.element.dataset.autocomplete) {
diff --git a/assets/controllers/field_mapping_controller.js b/assets/controllers/field_mapping_controller.js
new file mode 100644
index 00000000..9c9c8ac6
--- /dev/null
+++ b/assets/controllers/field_mapping_controller.js
@@ -0,0 +1,136 @@
+import { Controller } from "@hotwired/stimulus"
+
+export default class extends Controller {
+ static targets = ["tbody", "addButton", "submitButton"]
+ static values = {
+ mappingIndex: Number,
+ maxMappings: Number,
+ prototype: String,
+ maxMappingsReachedMessage: String
+ }
+
+ connect() {
+ this.updateAddButtonState()
+ this.updateFieldOptions()
+ this.attachEventListeners()
+ }
+
+ attachEventListeners() {
+ // Add event listeners to existing field selects
+ const fieldSelects = this.tbodyTarget.querySelectorAll('select[name*="[field]"]')
+ fieldSelects.forEach(select => {
+ select.addEventListener('change', this.updateFieldOptions.bind(this))
+ })
+
+ // Note: Add button click is handled by Stimulus action in template (data-action="click->field-mapping#addMapping")
+ // No manual event listener needed
+
+ // Form submit handler
+ const form = this.element.querySelector('form')
+ if (form && this.hasSubmitButtonTarget) {
+ form.addEventListener('submit', this.handleFormSubmit.bind(this))
+ }
+ }
+
+ addMapping() {
+ const currentMappings = this.tbodyTarget.querySelectorAll('.mapping-row').length
+
+ if (currentMappings >= this.maxMappingsValue) {
+ alert(this.maxMappingsReachedMessageValue)
+ return
+ }
+
+ const newRowHtml = this.prototypeValue.replace(/__name__/g, this.mappingIndexValue)
+ const tempDiv = document.createElement('div')
+ tempDiv.innerHTML = newRowHtml
+
+ const fieldWidget = tempDiv.querySelector('select[name*="[field]"]') || tempDiv.children[0]
+ const providerWidget = tempDiv.querySelector('select[name*="[providers]"]') || tempDiv.children[1]
+ const priorityWidget = tempDiv.querySelector('input[name*="[priority]"]') || tempDiv.children[2]
+
+ const newRow = document.createElement('tr')
+ newRow.className = 'mapping-row'
+ newRow.innerHTML = `
+ ${fieldWidget ? fieldWidget.outerHTML : ''} |
+ ${providerWidget ? providerWidget.outerHTML : ''} |
+ ${priorityWidget ? priorityWidget.outerHTML : ''} |
+
+
+ |
+ `
+
+ this.tbodyTarget.appendChild(newRow)
+ this.mappingIndexValue++
+
+ const newFieldSelect = newRow.querySelector('select[name*="[field]"]')
+ if (newFieldSelect) {
+ newFieldSelect.value = ''
+ newFieldSelect.addEventListener('change', this.updateFieldOptions.bind(this))
+ }
+
+ this.updateFieldOptions()
+ this.updateAddButtonState()
+ }
+
+ removeMapping(event) {
+ const row = event.target.closest('tr')
+ row.remove()
+ this.updateFieldOptions()
+ this.updateAddButtonState()
+ }
+
+ updateFieldOptions() {
+ const fieldSelects = this.tbodyTarget.querySelectorAll('select[name*="[field]"]')
+
+ const selectedFields = Array.from(fieldSelects)
+ .map(select => select.value)
+ .filter(value => value && value !== '')
+
+ fieldSelects.forEach(select => {
+ Array.from(select.options).forEach(option => {
+ const isCurrentValue = option.value === select.value
+ const isEmptyOption = !option.value || option.value === ''
+ const isAlreadySelected = selectedFields.includes(option.value)
+
+ if (!isEmptyOption && isAlreadySelected && !isCurrentValue) {
+ option.disabled = true
+ option.style.display = 'none'
+ } else {
+ option.disabled = false
+ option.style.display = ''
+ }
+ })
+ })
+ }
+
+ updateAddButtonState() {
+ const currentMappings = this.tbodyTarget.querySelectorAll('.mapping-row').length
+
+ if (this.hasAddButtonTarget) {
+ if (currentMappings >= this.maxMappingsValue) {
+ this.addButtonTarget.disabled = true
+ this.addButtonTarget.title = this.maxMappingsReachedMessageValue
+ } else {
+ this.addButtonTarget.disabled = false
+ this.addButtonTarget.title = ''
+ }
+ }
+ }
+
+ handleFormSubmit(event) {
+ if (this.hasSubmitButtonTarget) {
+ this.submitButtonTarget.disabled = true
+
+ // Disable the entire form to prevent changes during processing
+ const form = event.target
+ const formElements = form.querySelectorAll('input, select, textarea, button')
+ formElements.forEach(element => {
+ if (element !== this.submitButtonTarget) {
+ element.disabled = true
+ }
+ })
+ }
+ }
+}
\ 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/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 8d4b200c..b2d8882c 100644
--- a/assets/css/app/tables.css
+++ b/assets/css/app/tables.css
@@ -94,6 +94,11 @@ th.select-checkbox {
display: inline-flex;
}
+/** Add spacing between column visibility button and length menu */
+.buttons-colvis {
+ margin-right: 0.2em !important;
+}
+
/** Fix datatables select-checkbox position */
table.dataTable tr.selected td.select-checkbox:after
{
diff --git a/assets/js/app.js b/assets/js/app.js
index 54b73676..c0550373 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');
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/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 80b413f8..872edf95 100644
--- a/composer.json
+++ b/composer.json
@@ -24,8 +24,7 @@
"doctrine/doctrine-bundle": "^2.0",
"doctrine/doctrine-migrations-bundle": "^3.0",
"doctrine/orm": "^3.2.0",
- "dompdf/dompdf": "^v3.0.0",
- "part-db/swap-bundle": "^6.0.0",
+ "dompdf/dompdf": "^3.1.2",
"gregwar/captcha-bundle": "^2.1.0",
"hshn/base64-encoded-file": "^5.0",
"jbtronics/2fa-webauthn": "^3.0.0",
@@ -37,6 +36,7 @@
"league/csv": "^9.8.0",
"league/html-to-markdown": "^5.0.1",
"liip/imagine-bundle": "^2.2",
+ "maennchen/zipstream-php": "2.1",
"nbgrp/onelogin-saml-bundle": "^v2.0.2",
"nelexa/zip": "^4.0",
"nelmio/cors-bundle": "^2.3",
@@ -45,8 +45,9 @@
"omines/datatables-bundle": "^0.10.0",
"paragonie/sodium_compat": "^1.21",
"part-db/label-fonts": "^1.0",
+ "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",
@@ -55,36 +56,35 @@
"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/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/ux-translator": "^2.10",
"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",
@@ -109,12 +109,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",
@@ -157,7 +164,7 @@
"post-update-cmd": [
"@auto-scripts"
],
- "phpstan": "vendor/bin/phpstan analyse src --level 5 --memory-limit 1G"
+ "phpstan": "php -d memory_limit=1G vendor/bin/phpstan analyse src --level 5"
},
"conflict": {
"symfony/symfony": "*"
@@ -165,7 +172,7 @@
"extra": {
"symfony": {
"allow-contrib": false,
- "require": "7.3.*",
+ "require": "7.4.*",
"docker": true
}
}
diff --git a/composer.lock b/composer.lock
index 1f67b80f..e127d1ed 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": "fe6dfc229f551945cfa6be8ca26a437e",
+ "content-hash": "624cf08821477aa7b8f6efc0d4300087",
"packages": [
{
"name": "amphp/amp",
@@ -968,21 +968,21 @@
},
{
"name": "api-platform/doctrine-common",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/doctrine-common.git",
- "reference": "e0ef3f5d1c4a9d023da519ea120a1d7732e0b1a7"
+ "reference": "76ce957843cd050ccd9119915d2cbf9eb5f5ac5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/doctrine-common/zipball/e0ef3f5d1c4a9d023da519ea120a1d7732e0b1a7",
- "reference": "e0ef3f5d1c4a9d023da519ea120a1d7732e0b1a7",
+ "url": "https://api.github.com/repos/api-platform/doctrine-common/zipball/76ce957843cd050ccd9119915d2cbf9eb5f5ac5c",
+ "reference": "76ce957843cd050ccd9119915d2cbf9eb5f5ac5c",
"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",
"doctrine/collections": "^2.1",
"doctrine/common": "^3.2.2",
"doctrine/persistence": "^3.2 || ^4.0",
@@ -995,7 +995,8 @@
"doctrine/mongodb-odm": "^2.10",
"doctrine/orm": "^2.17 || ^3.0",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "11.5.x-dev"
+ "phpunit/phpunit": "11.5.x-dev",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"suggest": {
"api-platform/graphql": "For GraphQl mercure subscriptions.",
@@ -1012,12 +1013,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1050,45 +1052,46 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/doctrine-common/tree/v4.1.23"
+ "source": "https://github.com/api-platform/doctrine-common/tree/v4.2.7"
},
- "time": "2025-08-18T13:30:43+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/doctrine-orm",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/doctrine-orm.git",
- "reference": "61a199da6f6014dba2da43ea1a66b2c9dda27263"
+ "reference": "74c91e76bc2e26592f80b3f872f3f97903cc3055"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/doctrine-orm/zipball/61a199da6f6014dba2da43ea1a66b2c9dda27263",
- "reference": "61a199da6f6014dba2da43ea1a66b2c9dda27263",
+ "url": "https://api.github.com/repos/api-platform/doctrine-orm/zipball/74c91e76bc2e26592f80b3f872f3f97903cc3055",
+ "reference": "74c91e76bc2e26592f80b3f872f3f97903cc3055",
"shasum": ""
},
"require": {
- "api-platform/doctrine-common": "^4.1.11",
- "api-platform/metadata": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "api-platform/doctrine-common": "^4.2.0-alpha.3@alpha",
+ "api-platform/metadata": "^4.2",
+ "api-platform/state": "^4.2.4",
"doctrine/orm": "^2.17 || ^3.0",
- "php": ">=8.2",
- "symfony/property-info": "^6.4 || ^7.1"
+ "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",
"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/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": {
@@ -1097,12 +1100,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1135,26 +1139,26 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/doctrine-orm/tree/v4.1.23"
+ "source": "https://github.com/api-platform/doctrine-orm/tree/v4.2.7"
},
- "time": "2025-06-06T14:56:47+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/documentation",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/documentation.git",
- "reference": "1a0ac988d659008ef8667d05bc9978863026bab8"
+ "reference": "8910f2a0aa7910ed807f128510553b24152e5ea5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/documentation/zipball/1a0ac988d659008ef8667d05bc9978863026bab8",
- "reference": "1a0ac988d659008ef8667d05bc9978863026bab8",
+ "url": "https://api.github.com/repos/api-platform/documentation/zipball/8910f2a0aa7910ed807f128510553b24152e5ea5",
+ "reference": "8910f2a0aa7910ed807f128510553b24152e5ea5",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
+ "api-platform/metadata": "^4.2",
"php": ">=8.2"
},
"require-dev": {
@@ -1167,12 +1171,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1197,36 +1202,37 @@
],
"description": "API Platform documentation controller.",
"support": {
- "source": "https://github.com/api-platform/documentation/tree/v4.2.0-alpha.1"
+ "source": "https://github.com/api-platform/documentation/tree/v4.2.7"
},
- "time": "2025-06-06T14:56:47+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/http-cache",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/http-cache.git",
- "reference": "f65f092c90311a87ebb6dda87db3ca08b57c10d6"
+ "reference": "4bb2eab81407f493f54f51be7aa1918f362c14b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/http-cache/zipball/f65f092c90311a87ebb6dda87db3ca08b57c10d6",
- "reference": "f65f092c90311a87ebb6dda87db3ca08b57c10d6",
+ "url": "https://api.github.com/repos/api-platform/http-cache/zipball/4bb2eab81407f493f54f51be7aa1918f362c14b5",
+ "reference": "4bb2eab81407f493f54f51be7aa1918f362c14b5",
"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/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": {
@@ -1235,12 +1241,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1275,38 +1282,39 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/http-cache/tree/v4.1.23"
+ "source": "https://github.com/api-platform/http-cache/tree/v4.2.7"
},
- "time": "2025-06-06T14:56:47+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/hydra",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/hydra.git",
- "reference": "8c75b814af143c95ffc1857565169ff5b6f1b421"
+ "reference": "ce704a53789ac279e0f7aafac48a8b1005df36e3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/hydra/zipball/8c75b814af143c95ffc1857565169ff5b6f1b421",
- "reference": "8c75b814af143c95ffc1857565169ff5b6f1b421",
+ "url": "https://api.github.com/repos/api-platform/hydra/zipball/ce704a53789ac279e0f7aafac48a8b1005df36e3",
+ "reference": "ce704a53789ac279e0f7aafac48a8b1005df36e3",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.1.11",
- "api-platform/json-schema": "^4.1.11",
- "api-platform/jsonld": "^4.1.11",
- "api-platform/metadata": "^4.1.11",
- "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/jsonld": "^4.2",
+ "api-platform/metadata": "^4.2",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/state": "^4.2.4",
"php": ">=8.2",
- "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"
@@ -1318,12 +1326,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1360,38 +1369,40 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/hydra/tree/v4.1.23"
+ "source": "https://github.com/api-platform/hydra/tree/v4.2.7"
},
- "time": "2025-07-15T14:10:59+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/json-api",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/json-api.git",
- "reference": "7ea9bbe5f801f58b3f78730f6e6cd4b168b450d4"
+ "reference": "f7a0680c1183795c46bc2e55a69acb94735cfbe9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/json-api/zipball/7ea9bbe5f801f58b3f78730f6e6cd4b168b450d4",
- "reference": "7ea9bbe5f801f58b3f78730f6e6cd4b168b450d4",
+ "url": "https://api.github.com/repos/api-platform/json-api/zipball/f7a0680c1183795c46bc2e55a69acb94735cfbe9",
+ "reference": "f7a0680c1183795c46bc2e55a69acb94735cfbe9",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.1.11",
- "api-platform/json-schema": "^4.1.11",
- "api-platform/metadata": "^4.1.11",
- "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/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"
+ "phpunit/phpunit": "11.5.x-dev",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1400,12 +1411,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1439,31 +1451,32 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/json-api/tree/v4.1.23"
+ "source": "https://github.com/api-platform/json-api/tree/v4.2.7"
},
- "time": "2025-08-06T07:56:58+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/json-schema",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/json-schema.git",
- "reference": "1d1c6eaa4841f3989e2bec4cdf8167fb0ca42a8f"
+ "reference": "b95eec54ae0353fc068a77fe481c7f4e2e983f33"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/json-schema/zipball/1d1c6eaa4841f3989e2bec4cdf8167fb0ca42a8f",
- "reference": "1d1c6eaa4841f3989e2bec4cdf8167fb0ca42a8f",
+ "url": "https://api.github.com/repos/api-platform/json-schema/zipball/b95eec54ae0353fc068a77fe481c7f4e2e983f33",
+ "reference": "b95eec54ae0353fc068a77fe481c7f4e2e983f33",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.1.11",
+ "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/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",
@@ -1476,12 +1489,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1518,32 +1532,33 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/json-schema/tree/v4.1.23"
+ "source": "https://github.com/api-platform/json-schema/tree/v4.2.7"
},
- "time": "2025-06-29T12:24:14+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/jsonld",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/jsonld.git",
- "reference": "e122bf1f04f895e80e6469e0f09d1f06f7508ca6"
+ "reference": "c8896d5a3ddf67ac8aa74bb54199b13153fa39c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/jsonld/zipball/e122bf1f04f895e80e6469e0f09d1f06f7508ca6",
- "reference": "e122bf1f04f895e80e6469e0f09d1f06f7508ca6",
+ "url": "https://api.github.com/repos/api-platform/jsonld/zipball/c8896d5a3ddf67ac8aa74bb54199b13153fa39c3",
+ "reference": "c8896d5a3ddf67ac8aa74bb54199b13153fa39c3",
"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"
+ "phpunit/phpunit": "11.5.x-dev",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1552,12 +1567,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1596,22 +1612,22 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/jsonld/tree/v4.1.23"
+ "source": "https://github.com/api-platform/jsonld/tree/v4.2.7"
},
- "time": "2025-07-25T10:05:30+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/metadata",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/metadata.git",
- "reference": "58b25f9a82c12727afab09b5a311828aacff8e88"
+ "reference": "68e5edff897d4f3bf95ccf1eed464d6e3900a8b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/metadata/zipball/58b25f9a82c12727afab09b5a311828aacff8e88",
- "reference": "58b25f9a82c12727afab09b5a311828aacff8e88",
+ "url": "https://api.github.com/repos/api-platform/metadata/zipball/68e5edff897d4f3bf95ccf1eed464d6e3900a8b2",
+ "reference": "68e5edff897d4f3bf95ccf1eed464d6e3900a8b2",
"shasum": ""
},
"require": {
@@ -1619,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"
+ "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.",
@@ -1648,12 +1664,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1693,40 +1710,42 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/metadata/tree/v4.1.23"
+ "source": "https://github.com/api-platform/metadata/tree/v4.2.7"
},
- "time": "2025-09-05T09:06:52+00:00"
+ "time": "2025-11-30T13:04:03+00:00"
},
{
"name": "api-platform/openapi",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/openapi.git",
- "reference": "793b53e51a5c24076d4024b6aa77de29e74015cd"
+ "reference": "ea49d6d7170f8ecc1c239e7769708628183096b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/openapi/zipball/793b53e51a5c24076d4024b6aa77de29e74015cd",
- "reference": "793b53e51a5c24076d4024b6aa77de29e74015cd",
+ "url": "https://api.github.com/repos/api-platform/openapi/zipball/ea49d6d7170f8ecc1c239e7769708628183096b8",
+ "reference": "ea49d6d7170f8ecc1c239e7769708628183096b8",
"shasum": ""
},
"require": {
- "api-platform/json-schema": "^4.1.11",
- "api-platform/metadata": "^4.1.11",
- "api-platform/state": "^4.1.11",
+ "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/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"
+ "phpunit/phpunit": "11.5.x-dev",
+ "symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
"extra": {
@@ -1735,12 +1754,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1780,45 +1800,46 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/openapi/tree/v4.1.23"
+ "source": "https://github.com/api-platform/openapi/tree/v4.2.7"
},
- "time": "2025-07-29T08:53:27+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/serializer",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/serializer.git",
- "reference": "70dbdeac9584870be444d78c1a796b6edb9e46a5"
+ "reference": "c3ea805273d5646a0eabb0161850b4e382bb96ef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/serializer/zipball/70dbdeac9584870be444d78c1a796b6edb9e46a5",
- "reference": "70dbdeac9584870be444d78c1a796b6edb9e46a5",
+ "url": "https://api.github.com/repos/api-platform/serializer/zipball/c3ea805273d5646a0eabb0161850b4e382bb96ef",
+ "reference": "c3ea805273d5646a0eabb0161850b4e382bb96ef",
"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/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",
"symfony/mercure-bundle": "*",
- "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.",
@@ -1831,12 +1852,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1871,37 +1893,41 @@
"serializer"
],
"support": {
- "source": "https://github.com/api-platform/serializer/tree/v4.1.23"
+ "source": "https://github.com/api-platform/serializer/tree/v4.2.7"
},
- "time": "2025-08-29T15:13:26+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "api-platform/state",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/state.git",
- "reference": "056b07285cdc904984fb44c2614f7df8f4620a95"
+ "reference": "b46ec9e09dd6be3e44461d18097025cf449d23b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/state/zipball/056b07285cdc904984fb44c2614f7df8f4620a95",
- "reference": "056b07285cdc904984fb44c2614f7df8f4620a95",
+ "url": "https://api.github.com/repos/api-platform/state/zipball/b46ec9e09dd6be3e44461d18097025cf449d23b6",
+ "reference": "b46ec9e09dd6be3e44461d18097025cf449d23b6",
"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/validator": "^4.1",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/validator": "^4.2.4",
"phpunit/phpunit": "11.5.x-dev",
- "symfony/http-foundation": "^6.4 || ^7.0",
- "symfony/web-link": "^6.4 || ^7.1",
+ "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": {
@@ -1918,12 +1944,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -1963,55 +1990,59 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/state/tree/v4.1.23"
+ "source": "https://github.com/api-platform/state/tree/v4.2.7"
},
- "time": "2025-07-16T14:01:52+00:00"
+ "time": "2025-11-30T13:03:35+00:00"
},
{
"name": "api-platform/symfony",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/symfony.git",
- "reference": "e35839489b4e76ffc5fc2b0cbadbbaece75b9ad1"
+ "reference": "1e16952c5cccbd7dd65936a4cefb66a10c72c26f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/symfony/zipball/e35839489b4e76ffc5fc2b0cbadbbaece75b9ad1",
- "reference": "e35839489b4e76ffc5fc2b0cbadbbaece75b9ad1",
+ "url": "https://api.github.com/repos/api-platform/symfony/zipball/1e16952c5cccbd7dd65936a4cefb66a10c72c26f",
+ "reference": "1e16952c5cccbd7dd65936a4cefb66a10c72c26f",
"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.1.11",
- "api-platform/openapi": "^4.1.11",
- "api-platform/serializer": "^4.1.11",
- "api-platform/state": "^4.1.11",
- "api-platform/validator": "^4.1.11",
+ "api-platform/documentation": "^4.2.3",
+ "api-platform/http-cache": "^4.2.3",
+ "api-platform/hydra": "^4.2.3",
+ "api-platform/json-schema": "^4.2.3",
+ "api-platform/jsonld": "^4.2.3",
+ "api-platform/metadata": "^4.2.3",
+ "api-platform/openapi": "^4.2.3",
+ "api-platform/serializer": "^4.2.4",
+ "api-platform/state": "^4.2.4",
+ "api-platform/validator": "^4.2.3",
"php": ">=8.2",
- "symfony/property-access": "^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.1",
- "symfony/security-core": "^6.4 || ^7.0",
- "symfony/serializer": "^6.4 || ^7.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.3",
+ "api-platform/doctrine-odm": "^4.2.3",
+ "api-platform/doctrine-orm": "^4.2.3",
+ "api-platform/elasticsearch": "^4.2.3",
+ "api-platform/graphql": "^4.2.3",
"phpspec/prophecy-phpunit": "^2.2",
"phpunit/phpunit": "11.5.x-dev",
- "symfony/expression-language": "^6.4 || ^7.0",
+ "symfony/expression-language": "^6.4 || ^7.0 || ^8.0",
+ "symfony/intl": "^6.4 || ^7.0 || ^8.0",
"symfony/mercure-bundle": "*",
- "symfony/routing": "^6.4 || ^7.0",
- "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": {
@@ -2019,8 +2050,8 @@
"api-platform/doctrine-orm": "To support Doctrine ORM.",
"api-platform/elasticsearch": "To support Elasticsearch.",
"api-platform/graphql": "To support GraphQL.",
+ "api-platform/hal": "to support the HAL format",
"api-platform/ramsey-uuid": "To support Ramsey's UUID identifiers.",
- "ocramius/package-versions": "To display the API Platform's version in the debug bar.",
"phpstan/phpdoc-parser": "To support extracting metadata from PHPDoc.",
"psr/cache-implementation": "To use metadata caching.",
"symfony/cache": "To have metadata caching when using Symfony integration.",
@@ -2041,12 +2072,10 @@
"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-main": "4.2.x-dev"
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -2087,32 +2116,32 @@
"symfony"
],
"support": {
- "source": "https://github.com/api-platform/symfony/tree/v4.1.23"
+ "source": "https://github.com/api-platform/symfony/tree/v4.2.7"
},
- "time": "2025-09-05T07:30:37+00:00"
+ "time": "2025-11-30T13:03:06+00:00"
},
{
"name": "api-platform/validator",
- "version": "v4.1.23",
+ "version": "v4.2.7",
"source": {
"type": "git",
"url": "https://github.com/api-platform/validator.git",
- "reference": "9f0bde95dccf1d86e6a6165543d601a4a46eaa9a"
+ "reference": "a29ba03fa64f4db7522aa19d40c4fe8500b3f160"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/validator/zipball/9f0bde95dccf1d86e6a6165543d601a4a46eaa9a",
- "reference": "9f0bde95dccf1d86e6a6165543d601a4a46eaa9a",
+ "url": "https://api.github.com/repos/api-platform/validator/zipball/a29ba03fa64f4db7522aa19d40c4fe8500b3f160",
+ "reference": "a29ba03fa64f4db7522aa19d40c4fe8500b3f160",
"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.2",
- "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",
@@ -2125,12 +2154,13 @@
"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-main": "4.2.x-dev"
+ "dev-4.2": "4.2.x-dev",
+ "dev-main": "4.3.x-dev"
}
},
"autoload": {
@@ -2162,9 +2192,9 @@
"validator"
],
"support": {
- "source": "https://github.com/api-platform/validator/tree/v4.1.23"
+ "source": "https://github.com/api-platform/validator/tree/v4.2.7"
},
- "time": "2025-07-16T14:01:52+00:00"
+ "time": "2025-11-30T12:55:42+00:00"
},
{
"name": "beberlei/assert",
@@ -2357,16 +2387,16 @@
},
{
"name": "composer/ca-bundle",
- "version": "1.5.8",
+ "version": "1.5.9",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "719026bb30813accb68271fee7e39552a58e9f65"
+ "reference": "1905981ee626e6f852448b7aaa978f8666c5bc54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/719026bb30813accb68271fee7e39552a58e9f65",
- "reference": "719026bb30813accb68271fee7e39552a58e9f65",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/1905981ee626e6f852448b7aaa978f8666c5bc54",
+ "reference": "1905981ee626e6f852448b7aaa978f8666c5bc54",
"shasum": ""
},
"require": {
@@ -2413,7 +2443,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.9"
},
"funding": [
{
@@ -2425,7 +2455,7 @@
"type": "github"
}
],
- "time": "2025-08-20T18:49:47+00:00"
+ "time": "2025-11-06T11:46:17+00:00"
},
{
"name": "composer/package-versions-deprecated",
@@ -2500,6 +2530,85 @@
],
"time": "2022-01-17T14:14:24+00:00"
},
+ {
+ "name": "composer/pcre",
+ "version": "3.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/pcre.git",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<1.11.10"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.12 || ^2",
+ "phpstan/phpstan-strict-rules": "^1 || ^2",
+ "phpunit/phpunit": "^8 || ^9"
+ },
+ "type": "library",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ },
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Pcre\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
+ "keywords": [
+ "PCRE",
+ "preg",
+ "regex",
+ "regular expression"
+ ],
+ "support": {
+ "issues": "https://github.com/composer/pcre/issues",
+ "source": "https://github.com/composer/pcre/tree/3.3.2"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-11-12T16:29:46+00:00"
+ },
{
"name": "daverandom/libdns",
"version": "v2.1.0",
@@ -2621,16 +2730,16 @@
},
{
"name": "doctrine/collections",
- "version": "2.3.0",
+ "version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
- "reference": "2eb07e5953eed811ce1b309a7478a3b236f2273d"
+ "reference": "9acfeea2e8666536edff3d77c531261c63680160"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/2eb07e5953eed811ce1b309a7478a3b236f2273d",
- "reference": "2eb07e5953eed811ce1b309a7478a3b236f2273d",
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/9acfeea2e8666536edff3d77c531261c63680160",
+ "reference": "9acfeea2e8666536edff3d77c531261c63680160",
"shasum": ""
},
"require": {
@@ -2639,11 +2748,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": {
@@ -2687,7 +2796,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.4.0"
},
"funding": [
{
@@ -2703,7 +2812,7 @@
"type": "tidelift"
}
],
- "time": "2025-03-22T10:17:19+00:00"
+ "time": "2025-10-25T09:18:13+00:00"
},
{
"name": "doctrine/common",
@@ -2798,16 +2907,16 @@
},
{
"name": "doctrine/data-fixtures",
- "version": "2.1.0",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/data-fixtures.git",
- "reference": "f161e20f04ba5440a09330e156b40f04dd70d47f"
+ "reference": "7a615ba135e45d67674bb623d90f34f6c7b6bd97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/f161e20f04ba5440a09330e156b40f04dd70d47f",
- "reference": "f161e20f04ba5440a09330e156b40f04dd70d47f",
+ "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/7a615ba135e45d67674bb623d90f34f6c7b6bd97",
+ "reference": "7a615ba135e45d67674bb623d90f34f6c7b6bd97",
"shasum": ""
},
"require": {
@@ -2821,14 +2930,14 @@
"doctrine/phpcr-odm": "<1.3.0"
},
"require-dev": {
- "doctrine/coding-standard": "^13",
+ "doctrine/coding-standard": "^14",
"doctrine/dbal": "^3.5 || ^4",
"doctrine/mongodb-odm": "^1.3.0 || ^2.0.0",
"doctrine/orm": "^2.14 || ^3",
"ext-sqlite3": "*",
"fig/log-test": "^1",
- "phpstan/phpstan": "2.1.17",
- "phpunit/phpunit": "10.5.45",
+ "phpstan/phpstan": "2.1.31",
+ "phpunit/phpunit": "10.5.45 || 12.4.0",
"symfony/cache": "^6.4 || ^7",
"symfony/var-exporter": "^6.4 || ^7"
},
@@ -2861,7 +2970,7 @@
],
"support": {
"issues": "https://github.com/doctrine/data-fixtures/issues",
- "source": "https://github.com/doctrine/data-fixtures/tree/2.1.0"
+ "source": "https://github.com/doctrine/data-fixtures/tree/2.2.0"
},
"funding": [
{
@@ -2877,20 +2986,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-08T17:48:20+00:00"
+ "time": "2025-10-17T20:06:20+00:00"
},
{
"name": "doctrine/dbal",
- "version": "4.3.3",
+ "version": "4.4.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "231959669bb2173194c95636eae7f1b41b2a8b19"
+ "reference": "e8c5163fbec0f34e357431bd1e5fc4056cdf4fdc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/231959669bb2173194c95636eae7f1b41b2a8b19",
- "reference": "231959669bb2173194c95636eae7f1b41b2a8b19",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/e8c5163fbec0f34e357431bd1e5fc4056cdf4fdc",
+ "reference": "e8c5163fbec0f34e357431bd1e5fc4056cdf4fdc",
"shasum": ""
},
"require": {
@@ -2900,17 +3009,17 @@
"psr/log": "^1|^2|^3"
},
"require-dev": {
- "doctrine/coding-standard": "13.0.1",
+ "doctrine/coding-standard": "14.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.2",
- "phpstan/phpstan": "2.1.22",
- "phpstan/phpstan-phpunit": "2.0.6",
+ "phpstan/phpstan": "2.1.30",
+ "phpstan/phpstan-phpunit": "2.0.7",
"phpstan/phpstan-strict-rules": "^2",
"phpunit/phpunit": "11.5.23",
- "slevomat/coding-standard": "8.16.2",
- "squizlabs/php_codesniffer": "3.13.1",
- "symfony/cache": "^6.3.8|^7.0",
- "symfony/console": "^5.4|^6.3|^7.0"
+ "slevomat/coding-standard": "8.24.0",
+ "squizlabs/php_codesniffer": "4.0.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."
@@ -2967,7 +3076,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/4.3.3"
+ "source": "https://github.com/doctrine/dbal/tree/4.4.0"
},
"funding": [
{
@@ -2983,7 +3092,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-04T23:52:42+00:00"
+ "time": "2025-11-29T12:17:09+00:00"
},
{
"name": "doctrine/deprecations",
@@ -3035,20 +3144,21 @@
},
{
"name": "doctrine/doctrine-bundle",
- "version": "2.16.1",
+ "version": "2.18.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git",
- "reference": "152d5083f0cd205a278131dc4351a8c94d007fe1"
+ "reference": "b769877014de053da0e5cbbb63d0ea2f3b2fea76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/152d5083f0cd205a278131dc4351a8c94d007fe1",
- "reference": "152d5083f0cd205a278131dc4351a8c94d007fe1",
+ "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/b769877014de053da0e5cbbb63d0ea2f3b2fea76",
+ "reference": "b769877014de053da0e5cbbb63d0ea2f3b2fea76",
"shasum": ""
},
"require": {
"doctrine/dbal": "^3.7.0 || ^4.0",
+ "doctrine/deprecations": "^1.0",
"doctrine/persistence": "^3.1 || ^4",
"doctrine/sql-formatter": "^1.0.1",
"php": "^8.1",
@@ -3056,7 +3166,6 @@
"symfony/config": "^6.4 || ^7.0",
"symfony/console": "^6.4 || ^7.0",
"symfony/dependency-injection": "^6.4 || ^7.0",
- "symfony/deprecation-contracts": "^2.1 || ^3",
"symfony/doctrine-bridge": "^6.4.3 || ^7.0.3",
"symfony/framework-bundle": "^6.4 || ^7.0",
"symfony/service-contracts": "^2.5 || ^3"
@@ -3071,19 +3180,17 @@
"require-dev": {
"doctrine/annotations": "^1 || ^2",
"doctrine/cache": "^1.11 || ^2.0",
- "doctrine/coding-standard": "^13",
- "doctrine/deprecations": "^1.0",
+ "doctrine/coding-standard": "^14",
"doctrine/orm": "^2.17 || ^3.1",
"friendsofphp/proxy-manager-lts": "^1.0",
"phpstan/phpstan": "2.1.1",
"phpstan/phpstan-phpunit": "2.0.3",
"phpstan/phpstan-strict-rules": "^2",
- "phpunit/phpunit": "^9.6.22",
+ "phpunit/phpunit": "^10.5.53 || ^12.3.10",
"psr/log": "^1.1.4 || ^2.0 || ^3.0",
"symfony/doctrine-messenger": "^6.4 || ^7.0",
"symfony/expression-language": "^6.4 || ^7.0",
"symfony/messenger": "^6.4 || ^7.0",
- "symfony/phpunit-bridge": "^7.2",
"symfony/property-info": "^6.4 || ^7.0",
"symfony/security-bundle": "^6.4 || ^7.0",
"symfony/stopwatch": "^6.4 || ^7.0",
@@ -3093,7 +3200,7 @@
"symfony/var-exporter": "^6.4.1 || ^7.0.1",
"symfony/web-profiler-bundle": "^6.4 || ^7.0",
"symfony/yaml": "^6.4 || ^7.0",
- "twig/twig": "^2.13 || ^3.0.4"
+ "twig/twig": "^2.14.7 || ^3.0.4"
},
"suggest": {
"doctrine/orm": "The Doctrine ORM integration is optional in the bundle.",
@@ -3138,7 +3245,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineBundle/issues",
- "source": "https://github.com/doctrine/DoctrineBundle/tree/2.16.1"
+ "source": "https://github.com/doctrine/DoctrineBundle/tree/2.18.1"
},
"funding": [
{
@@ -3154,32 +3261,32 @@
"type": "tidelift"
}
],
- "time": "2025-09-05T15:24:53+00:00"
+ "time": "2025-11-05T14:42:10+00:00"
},
{
"name": "doctrine/doctrine-migrations-bundle",
- "version": "3.4.2",
+ "version": "3.7.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
- "reference": "5a6ac7120c2924c4c070a869d08b11ccf9e277b9"
+ "reference": "1e380c6dd8ac8488217f39cff6b77e367f1a644b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/5a6ac7120c2924c4c070a869d08b11ccf9e277b9",
- "reference": "5a6ac7120c2924c4c070a869d08b11ccf9e277b9",
+ "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/1e380c6dd8ac8488217f39cff6b77e367f1a644b",
+ "reference": "1e380c6dd8ac8488217f39cff6b77e367f1a644b",
"shasum": ""
},
"require": {
- "doctrine/doctrine-bundle": "^2.4",
+ "doctrine/doctrine-bundle": "^2.4 || ^3.0",
"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",
- "doctrine/coding-standard": "^12",
+ "doctrine/coding-standard": "^12 || ^14",
"doctrine/orm": "^2.6 || ^3",
"phpstan/phpstan": "^1.4 || ^2",
"phpstan/phpstan-deprecation-rules": "^1 || ^2",
@@ -3187,8 +3294,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": {
@@ -3223,7 +3330,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues",
- "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.4.2"
+ "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.7.0"
},
"funding": [
{
@@ -3239,7 +3346,7 @@
"type": "tidelift"
}
],
- "time": "2025-03-11T17:36:26+00:00"
+ "time": "2025-11-15T19:02:59+00:00"
},
{
"name": "doctrine/event-manager",
@@ -3571,16 +3678,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": {
@@ -3590,15 +3697,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",
@@ -3610,9 +3717,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.",
@@ -3654,7 +3761,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": [
{
@@ -3670,20 +3777,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.5.8",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
- "reference": "5a541b8b3a327ab1ea5f93b1615b4ff67a34e109"
+ "reference": "78dd074266e8b47a83bcf60ab5fe06c91a639168"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/orm/zipball/5a541b8b3a327ab1ea5f93b1615b4ff67a34e109",
- "reference": "5a541b8b3a327ab1ea5f93b1615b4ff67a34e109",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/78dd074266e8b47a83bcf60ab5fe06c91a639168",
+ "reference": "78dd074266e8b47a83bcf60ab5fe06c91a639168",
"shasum": ""
},
"require": {
@@ -3699,20 +3806,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",
@@ -3758,22 +3863,22 @@
],
"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.5.8"
},
- "time": "2025-08-08T17:00:40+00:00"
+ "time": "2025-11-29T23:11:02+00:00"
},
{
"name": "doctrine/persistence",
- "version": "4.1.0",
+ "version": "4.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
- "reference": "dcbdfe4b211ae09478e192289cae7ab0987b29a4"
+ "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/persistence/zipball/dcbdfe4b211ae09478e192289cae7ab0987b29a4",
- "reference": "dcbdfe4b211ae09478e192289cae7ab0987b29a4",
+ "url": "https://api.github.com/repos/doctrine/persistence/zipball/b9c49ad3558bb77ef973f4e173f2e9c2eca9be09",
+ "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09",
"shasum": ""
},
"require": {
@@ -3782,11 +3887,11 @@
"psr/cache": "^1.0 || ^2.0 || ^3.0"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "1.12.7",
- "phpstan/phpstan-phpunit": "^1",
- "phpstan/phpstan-strict-rules": "^1.6",
- "phpunit/phpunit": "^9.6",
+ "doctrine/coding-standard": "^14",
+ "phpstan/phpstan": "2.1.30",
+ "phpstan/phpstan-phpunit": "^2",
+ "phpstan/phpstan-strict-rules": "^2",
+ "phpunit/phpunit": "^10.5.58 || ^12",
"symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0",
"symfony/finder": "^4.4 || ^5.4 || ^6.0 || ^7.0"
},
@@ -3837,7 +3942,7 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
- "source": "https://github.com/doctrine/persistence/tree/4.1.0"
+ "source": "https://github.com/doctrine/persistence/tree/4.1.1"
},
"funding": [
{
@@ -3853,30 +3958,30 @@
"type": "tidelift"
}
],
- "time": "2025-08-21T16:00:31+00:00"
+ "time": "2025-10-16T20:13:18+00:00"
},
{
"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"
@@ -3906,22 +4011,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.0",
+ "version": "v3.1.4",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "a51bd7a063a65499446919286fb18b518177155a"
+ "reference": "db712c90c5b9868df3600e64e68da62e78a34623"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/a51bd7a063a65499446919286fb18b518177155a",
- "reference": "a51bd7a063a65499446919286fb18b518177155a",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/db712c90c5b9868df3600e64e68da62e78a34623",
+ "reference": "db712c90c5b9868df3600e64e68da62e78a34623",
"shasum": ""
},
"require": {
@@ -3970,9 +4075,9 @@
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v3.1.0"
+ "source": "https://github.com/dompdf/dompdf/tree/v3.1.4"
},
- "time": "2025-01-15T14:09:04+00:00"
+ "time": "2025-10-29T12:43:30+00:00"
},
{
"name": "dompdf/php-font-lib",
@@ -4651,16 +4756,16 @@
},
{
"name": "hshn/base64-encoded-file",
- "version": "v5.0.2",
+ "version": "v5.0.3",
"source": {
"type": "git",
"url": "https://github.com/hshn/base64-encoded-file.git",
- "reference": "49e38d27fcf01a2f5b142886d6ef20fa62132a2d"
+ "reference": "74984c7e69fbed9378dbf1d64e632522cc1b6d95"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/hshn/base64-encoded-file/zipball/49e38d27fcf01a2f5b142886d6ef20fa62132a2d",
- "reference": "49e38d27fcf01a2f5b142886d6ef20fa62132a2d",
+ "url": "https://api.github.com/repos/hshn/base64-encoded-file/zipball/74984c7e69fbed9378dbf1d64e632522cc1b6d95",
+ "reference": "74984c7e69fbed9378dbf1d64e632522cc1b6d95",
"shasum": ""
},
"require": {
@@ -4707,9 +4812,9 @@
"description": "Provides handling base64 encoded files, and the integration of symfony/form",
"support": {
"issues": "https://github.com/hshn/base64-encoded-file/issues",
- "source": "https://github.com/hshn/base64-encoded-file/tree/v5.0.2"
+ "source": "https://github.com/hshn/base64-encoded-file/tree/v5.0.3"
},
- "time": "2025-07-06T05:52:34+00:00"
+ "time": "2025-10-06T10:34:52+00:00"
},
{
"name": "imagine/imagine",
@@ -4835,24 +4940,24 @@
},
{
"name": "jbtronics/dompdf-font-loader-bundle",
- "version": "v1.1.4",
+ "version": "v1.1.6",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/dompdf-font-loader-bundle.git",
- "reference": "1b41014a2dd9e82ba6a62e61deeebe3cdc1eaf1f"
+ "reference": "5fb434f35544d5757292cd5471768dda3862c932"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/dompdf-font-loader-bundle/zipball/1b41014a2dd9e82ba6a62e61deeebe3cdc1eaf1f",
- "reference": "1b41014a2dd9e82ba6a62e61deeebe3cdc1eaf1f",
+ "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",
@@ -4884,22 +4989,22 @@
],
"support": {
"issues": "https://github.com/jbtronics/dompdf-font-loader-bundle/issues",
- "source": "https://github.com/jbtronics/dompdf-font-loader-bundle/tree/v1.1.4"
+ "source": "https://github.com/jbtronics/dompdf-font-loader-bundle/tree/v1.1.6"
},
- "time": "2025-07-07T20:39:34+00:00"
+ "time": "2025-11-30T22:19:12+00:00"
},
{
"name": "jbtronics/settings-bundle",
- "version": "v3.0.1",
+ "version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/settings-bundle.git",
- "reference": "9103bd7f78f0b223d1c7167feb824004fc2a9f07"
+ "reference": "f16bce21b54d202baabfe05cb7c64a14d43b9671"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/9103bd7f78f0b223d1c7167feb824004fc2a9f07",
- "reference": "9103bd7f78f0b223d1c7167feb824004fc2a9f07",
+ "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/f16bce21b54d202baabfe05cb7c64a14d43b9671",
+ "reference": "f16bce21b54d202baabfe05cb7c64a14d43b9671",
"shasum": ""
},
"require": {
@@ -4907,11 +5012,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": {
@@ -4925,10 +5030,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",
@@ -4960,7 +5065,7 @@
],
"support": {
"issues": "https://github.com/jbtronics/settings-bundle/issues",
- "source": "https://github.com/jbtronics/settings-bundle/tree/v3.0.1"
+ "source": "https://github.com/jbtronics/settings-bundle/tree/v3.1.2"
},
"funding": [
{
@@ -4972,7 +5077,7 @@
"type": "github"
}
],
- "time": "2025-08-24T21:20:15+00:00"
+ "time": "2025-11-30T22:22:49+00:00"
},
{
"name": "jfcherng/php-color-output",
@@ -5271,31 +5376,32 @@
},
{
"name": "knpuniversity/oauth2-client-bundle",
- "version": "v2.18.4",
+ "version": "v2.20.0",
"source": {
"type": "git",
"url": "https://github.com/knpuniversity/oauth2-client-bundle.git",
- "reference": "2f48e1ff7969ef0252482d0f6af874eca639ea2d"
+ "reference": "cee929516df679473b42765ed3d50c5aa7e9a837"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/2f48e1ff7969ef0252482d0f6af874eca639ea2d",
- "reference": "2f48e1ff7969ef0252482d0f6af874eca639ea2d",
+ "url": "https://api.github.com/repos/knpuniversity/oauth2-client-bundle/zipball/cee929516df679473b42765ed3d50c5aa7e9a837",
+ "reference": "cee929516df679473b42765ed3d50c5aa7e9a837",
"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"
@@ -5324,9 +5430,9 @@
],
"support": {
"issues": "https://github.com/knpuniversity/oauth2-client-bundle/issues",
- "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.18.4"
+ "source": "https://github.com/knpuniversity/oauth2-client-bundle/tree/v2.20.0"
},
- "time": "2025-08-18T15:33:00+00:00"
+ "time": "2025-11-07T10:44:56+00:00"
},
{
"name": "lcobucci/clock",
@@ -5394,22 +5500,22 @@
},
{
"name": "lcobucci/jwt",
- "version": "5.5.0",
+ "version": "5.6.0",
"source": {
"type": "git",
"url": "https://github.com/lcobucci/jwt.git",
- "reference": "a835af59b030d3f2967725697cf88300f579088e"
+ "reference": "bb3e9f21e4196e8afc41def81ef649c164bca25e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/lcobucci/jwt/zipball/a835af59b030d3f2967725697cf88300f579088e",
- "reference": "a835af59b030d3f2967725697cf88300f579088e",
+ "url": "https://api.github.com/repos/lcobucci/jwt/zipball/bb3e9f21e4196e8afc41def81ef649c164bca25e",
+ "reference": "bb3e9f21e4196e8afc41def81ef649c164bca25e",
"shasum": ""
},
"require": {
"ext-openssl": "*",
"ext-sodium": "*",
- "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"psr/clock": "^1.0"
},
"require-dev": {
@@ -5451,7 +5557,7 @@
],
"support": {
"issues": "https://github.com/lcobucci/jwt/issues",
- "source": "https://github.com/lcobucci/jwt/tree/5.5.0"
+ "source": "https://github.com/lcobucci/jwt/tree/5.6.0"
},
"funding": [
{
@@ -5463,20 +5569,20 @@
"type": "patreon"
}
],
- "time": "2025-01-26T21:29:45+00:00"
+ "time": "2025-10-17T11:30:53+00:00"
},
{
"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": {
@@ -5513,7 +5619,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.8-dev"
+ "dev-main": "2.9-dev"
}
},
"autoload": {
@@ -5570,7 +5676,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-20T12:47:49+00:00"
+ "time": "2025-11-26T21:48:24+00:00"
},
{
"name": "league/config",
@@ -5656,16 +5762,16 @@
},
{
"name": "league/csv",
- "version": "9.24.1",
+ "version": "9.27.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/csv.git",
- "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8"
+ "reference": "26de738b8fccf785397d05ee2fc07b6cd8749797"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/csv/zipball/e0221a3f16aa2a823047d59fab5809d552e29bc8",
- "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8",
+ "url": "https://api.github.com/repos/thephpleague/csv/zipball/26de738b8fccf785397d05ee2fc07b6cd8749797",
+ "reference": "26de738b8fccf785397d05ee2fc07b6cd8749797",
"shasum": ""
},
"require": {
@@ -5681,7 +5787,7 @@
"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",
+ "phpunit/phpunit": "^10.5.16 || ^11.5.22 || ^12.3.6",
"symfony/var-dumper": "^6.4.8 || ^7.3.0"
},
"suggest": {
@@ -5743,7 +5849,7 @@
"type": "github"
}
],
- "time": "2025-06-25T14:53:51+00:00"
+ "time": "2025-10-25T08:35:20+00:00"
},
{
"name": "league/html-to-markdown",
@@ -5836,22 +5942,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",
@@ -5895,39 +6001,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.6.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430"
+ "reference": "f625804987a0a9112d954f9209d91fec52182344"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
- "reference": "81fb5145d2644324614cc532b28efd0215bda430",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/f625804987a0a9112d954f9209d91fec52182344",
+ "reference": "f625804987a0a9112d954f9209d91fec52182344",
"shasum": ""
},
"require": {
- "league/uri-interfaces": "^7.5",
- "php": "^8.1"
+ "league/uri-interfaces": "^7.6",
+ "php": "^8.1",
+ "psr/http-factory": "^1"
},
"conflict": {
"league/uri-schemes": "^1.0"
},
"suggest": {
"ext-bcmath": "to improve IPV4 host parsing",
+ "ext-dom": "to convert the URI into an HTML anchor tag",
"ext-fileinfo": "to create Data URI from file contennts",
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
+ "ext-uri": "to use the PHP native URI class",
"jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
"league/uri-components": "Needed to easily manipulate URI objects components",
+ "league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle WHATWG URL",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -5955,6 +6066,7 @@
"description": "URI manipulation library",
"homepage": "https://uri.thephpleague.com",
"keywords": [
+ "URN",
"data-uri",
"file-uri",
"ftp",
@@ -5967,9 +6079,11 @@
"psr-7",
"query-string",
"querystring",
+ "rfc2141",
"rfc3986",
"rfc3987",
"rfc6570",
+ "rfc8141",
"uri",
"uri-template",
"url",
@@ -5979,7 +6093,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.6.0"
},
"funding": [
{
@@ -5987,34 +6101,37 @@
"type": "github"
}
],
- "time": "2024-12-08T08:40:02+00:00"
+ "time": "2025-11-18T12:17:23+00:00"
},
{
"name": "league/uri-components",
- "version": "7.5.1",
+ "version": "7.6.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-components.git",
- "reference": "4aabf0e2f2f9421ffcacab35be33e4fb5e63c44f"
+ "reference": "ffa1215dbee72ee4b7bc08d983d25293812456c2"
},
"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/ffa1215dbee72ee4b7bc08d983d25293812456c2",
+ "reference": "ffa1215dbee72ee4b7bc08d983d25293812456c2",
"shasum": ""
},
"require": {
- "league/uri": "^7.5",
+ "league/uri": "^7.6",
"php": "^8.1"
},
"suggest": {
+ "bakame/aide-uri": "A polyfill for PHP8.1 until PHP8.4 to add support to PHP Native URI parser",
"ext-bcmath": "to improve IPV4 host parsing",
"ext-fileinfo": "to create Data URI from file contennts",
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"ext-mbstring": "to use the sorting algorithm of URLSearchParams",
"jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
+ "league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle WHATWG URL",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -6061,7 +6178,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.6.0"
},
"funding": [
{
@@ -6069,26 +6186,25 @@
"type": "github"
}
],
- "time": "2024-12-08T08:40:02+00:00"
+ "time": "2025-11-18T12:17:23+00:00"
},
{
"name": "league/uri-interfaces",
- "version": "7.5.0",
+ "version": "7.6.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
+ "reference": "ccbfb51c0445298e7e0b7f4481b942f589665368"
},
"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/ccbfb51c0445298e7e0b7f4481b942f589665368",
+ "reference": "ccbfb51c0445298e7e0b7f4481b942f589665368",
"shasum": ""
},
"require": {
"ext-filter": "*",
"php": "^8.1",
- "psr/http-factory": "^1",
"psr/http-message": "^1.1 || ^2.0"
},
"suggest": {
@@ -6096,6 +6212,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 WHATWG URL",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -6120,7 +6237,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",
@@ -6145,7 +6262,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.6.0"
},
"funding": [
{
@@ -6153,20 +6270,20 @@
"type": "github"
}
],
- "time": "2024-12-08T08:18:47+00:00"
+ "time": "2025-11-18T12:17:23+00:00"
},
{
"name": "liip/imagine-bundle",
- "version": "2.14.0",
+ "version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/liip/LiipImagineBundle.git",
- "reference": "f80dc13e9a454682b8c2255b3487829d2f8a7fe4"
+ "reference": "f8c98a5a962806f26571db219412b64266c763d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/f80dc13e9a454682b8c2255b3487829d2f8a7fe4",
- "reference": "f80dc13e9a454682b8c2255b3487829d2f8a7fe4",
+ "url": "https://api.github.com/repos/liip/LiipImagineBundle/zipball/f8c98a5a962806f26571db219412b64266c763d8",
+ "reference": "f8c98a5a962806f26571db219412b64266c763d8",
"shasum": ""
},
"require": {
@@ -6258,9 +6375,9 @@
],
"support": {
"issues": "https://github.com/liip/LiipImagineBundle/issues",
- "source": "https://github.com/liip/LiipImagineBundle/tree/2.14.0"
+ "source": "https://github.com/liip/LiipImagineBundle/tree/2.15.0"
},
- "time": "2025-09-03T06:33:10+00:00"
+ "time": "2025-10-09T06:49:28+00:00"
},
{
"name": "lorenzo/pinky",
@@ -6315,6 +6432,188 @@
},
"time": "2023-07-31T13:36:50+00:00"
},
+ {
+ "name": "maennchen/zipstream-php",
+ "version": "2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/maennchen/ZipStream-PHP.git",
+ "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58",
+ "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58",
+ "shasum": ""
+ },
+ "require": {
+ "myclabs/php-enum": "^1.5",
+ "php": ">= 7.1",
+ "psr/http-message": "^1.0",
+ "symfony/polyfill-mbstring": "^1.0"
+ },
+ "require-dev": {
+ "ext-zip": "*",
+ "guzzlehttp/guzzle": ">= 6.3",
+ "mikey179/vfsstream": "^1.6",
+ "phpunit/phpunit": ">= 7.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "ZipStream\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Paul Duncan",
+ "email": "pabs@pablotron.org"
+ },
+ {
+ "name": "Jonatan Männchen",
+ "email": "jonatan@maennchen.ch"
+ },
+ {
+ "name": "Jesse Donat",
+ "email": "donatj@gmail.com"
+ },
+ {
+ "name": "András Kolesár",
+ "email": "kolesar@kolesar.hu"
+ }
+ ],
+ "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.",
+ "keywords": [
+ "stream",
+ "zip"
+ ],
+ "support": {
+ "issues": "https://github.com/maennchen/ZipStream-PHP/issues",
+ "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/maennchen",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/zipstream",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2020-05-30T13:11:16+00:00"
+ },
+ {
+ "name": "markbaker/complex",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/MarkBaker/PHPComplex.git",
+ "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9",
+ "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "dev-master",
+ "phpcompatibility/php-compatibility": "^9.3",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
+ "squizlabs/php_codesniffer": "^3.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Complex\\": "classes/src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mark Baker",
+ "email": "mark@lange.demon.co.uk"
+ }
+ ],
+ "description": "PHP Class for working with complex numbers",
+ "homepage": "https://github.com/MarkBaker/PHPComplex",
+ "keywords": [
+ "complex",
+ "mathematics"
+ ],
+ "support": {
+ "issues": "https://github.com/MarkBaker/PHPComplex/issues",
+ "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2"
+ },
+ "time": "2022-12-06T16:21:08+00:00"
+ },
+ {
+ "name": "markbaker/matrix",
+ "version": "3.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/MarkBaker/PHPMatrix.git",
+ "reference": "728434227fe21be27ff6d86621a1b13107a2562c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c",
+ "reference": "728434227fe21be27ff6d86621a1b13107a2562c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "dev-master",
+ "phpcompatibility/php-compatibility": "^9.3",
+ "phpdocumentor/phpdocumentor": "2.*",
+ "phploc/phploc": "^4.0",
+ "phpmd/phpmd": "2.*",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
+ "sebastian/phpcpd": "^4.0",
+ "squizlabs/php_codesniffer": "^3.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Matrix\\": "classes/src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mark Baker",
+ "email": "mark@demon-angel.eu"
+ }
+ ],
+ "description": "PHP Class for working with matrices",
+ "homepage": "https://github.com/MarkBaker/PHPMatrix",
+ "keywords": [
+ "mathematics",
+ "matrix",
+ "vector"
+ ],
+ "support": {
+ "issues": "https://github.com/MarkBaker/PHPMatrix/issues",
+ "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1"
+ },
+ "time": "2022-12-02T22:17:43+00:00"
+ },
{
"name": "masterminds/html5",
"version": "2.10.0",
@@ -6486,17 +6785,80 @@
"time": "2025-03-24T10:02:05+00:00"
},
{
- "name": "nbgrp/onelogin-saml-bundle",
- "version": "v2.0.2",
+ "name": "myclabs/php-enum",
+ "version": "1.8.5",
"source": {
"type": "git",
- "url": "https://github.com/nbgrp/onelogin-saml-bundle.git",
- "reference": "d2feeb7de6ab5b98e69deeea31ad0ceb20a1c4dc"
+ "url": "https://github.com/myclabs/php-enum.git",
+ "reference": "e7be26966b7398204a234f8673fdad5ac6277802"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nbgrp/onelogin-saml-bundle/zipball/d2feeb7de6ab5b98e69deeea31ad0ceb20a1c4dc",
- "reference": "d2feeb7de6ab5b98e69deeea31ad0ceb20a1c4dc",
+ "url": "https://api.github.com/repos/myclabs/php-enum/zipball/e7be26966b7398204a234f8673fdad5ac6277802",
+ "reference": "e7be26966b7398204a234f8673fdad5ac6277802",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^7.3 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5",
+ "squizlabs/php_codesniffer": "1.*",
+ "vimeo/psalm": "^4.6.2 || ^5.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "MyCLabs\\Enum\\": "src/"
+ },
+ "classmap": [
+ "stubs/Stringable.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP Enum contributors",
+ "homepage": "https://github.com/myclabs/php-enum/graphs/contributors"
+ }
+ ],
+ "description": "PHP Enum implementation",
+ "homepage": "https://github.com/myclabs/php-enum",
+ "keywords": [
+ "enum"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/php-enum/issues",
+ "source": "https://github.com/myclabs/php-enum/tree/1.8.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-01-14T11:49:03+00:00"
+ },
+ {
+ "name": "nbgrp/onelogin-saml-bundle",
+ "version": "v2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nbgrp/onelogin-saml-bundle.git",
+ "reference": "087402c69ef87e0a34d9b708661deecd00fd190a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nbgrp/onelogin-saml-bundle/zipball/087402c69ef87e0a34d9b708661deecd00fd190a",
+ "reference": "087402c69ef87e0a34d9b708661deecd00fd190a",
"shasum": ""
},
"require": {
@@ -6516,7 +6878,7 @@
},
"require-dev": {
"doctrine/orm": "^2.3 || ^3",
- "phpunit/phpunit": "^11.2",
+ "phpunit/phpunit": "^11",
"symfony/event-dispatcher": "^7"
},
"type": "symfony-bundle",
@@ -6544,9 +6906,9 @@
],
"support": {
"issues": "https://github.com/nbgrp/onelogin-saml-bundle/issues",
- "source": "https://github.com/nbgrp/onelogin-saml-bundle/tree/v2.0.2"
+ "source": "https://github.com/nbgrp/onelogin-saml-bundle/tree/v2.1.0"
},
- "time": "2024-09-01T22:16:27+00:00"
+ "time": "2025-09-26T08:45:17+00:00"
},
{
"name": "nelexa/zip",
@@ -6623,25 +6985,28 @@
},
{
"name": "nelmio/cors-bundle",
- "version": "2.5.0",
+ "version": "2.6.0",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioCorsBundle.git",
- "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544"
+ "reference": "530217472204881cacd3671909f634b960c7b948"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/3a526fe025cd20e04a6a11370cf5ab28dbb5a544",
- "reference": "3a526fe025cd20e04a6a11370cf5ab28dbb5a544",
+ "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/530217472204881cacd3671909f634b960c7b948",
+ "reference": "530217472204881cacd3671909f634b960c7b948",
"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": {
@@ -6679,22 +7044,22 @@
],
"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.0"
},
- "time": "2024-06-24T21:25:28+00:00"
+ "time": "2025-10-23T06:57:22+00:00"
},
{
"name": "nelmio/security-bundle",
- "version": "v3.5.1",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioSecurityBundle.git",
- "reference": "b1c5e323d71152bc1a61a4f8fbf7d88c6fa3e2e7"
+ "reference": "f3a7bf628a0873788172a0d05d20c0224080f5eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/b1c5e323d71152bc1a61a4f8fbf7d88c6fa3e2e7",
- "reference": "b1c5e323d71152bc1a61a4f8fbf7d88c6fa3e2e7",
+ "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/f3a7bf628a0873788172a0d05d20c0224080f5eb",
+ "reference": "f3a7bf628a0873788172a0d05d20c0224080f5eb",
"shasum": ""
},
"require": {
@@ -6753,31 +7118,31 @@
],
"support": {
"issues": "https://github.com/nelmio/NelmioSecurityBundle/issues",
- "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.5.1"
+ "source": "https://github.com/nelmio/NelmioSecurityBundle/tree/v3.6.0"
},
- "time": "2025-03-13T09:17:16+00:00"
+ "time": "2025-09-19T08:24:46+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",
@@ -6787,6 +7152,9 @@
}
},
"autoload": {
+ "psr-4": {
+ "Nette\\": "src"
+ },
"classmap": [
"src/"
]
@@ -6815,22 +7183,22 @@
],
"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.0.9",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede"
+ "reference": "505a30ad386daa5211f08a318e47015b501cad30"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede",
+ "url": "https://api.github.com/repos/nette/utils/zipball/505a30ad386daa5211f08a318e47015b501cad30",
+ "reference": "505a30ad386daa5211f08a318e47015b501cad30",
"shasum": ""
},
"require": {
@@ -6904,9 +7272,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.0.9"
},
- "time": "2025-08-06T21:43:34+00:00"
+ "time": "2025-10-31T00:45:47+00:00"
},
{
"name": "nikolaposa/version",
@@ -7049,63 +7417,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",
@@ -7157,7 +7525,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": [
{
@@ -7165,7 +7533,7 @@
"type": "github"
}
],
- "time": "2025-07-24T19:50:46+00:00"
+ "time": "2025-11-28T21:20:14+00:00"
},
{
"name": "onelogin/php-saml",
@@ -7233,24 +7601,26 @@
},
{
"name": "paragonie/constant_time_encoding",
- "version": "v3.0.0",
+ "version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
"shasum": ""
},
"require": {
"php": "^8"
},
"require-dev": {
- "phpunit/phpunit": "^9",
- "vimeo/psalm": "^4|^5"
+ "infection/infection": "^0",
+ "nikic/php-fuzzer": "^0",
+ "phpunit/phpunit": "^9|^10|^11",
+ "vimeo/psalm": "^4|^5|^6"
},
"type": "library",
"autoload": {
@@ -7296,7 +7666,7 @@
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
- "time": "2024-05-08T12:36:18+00:00"
+ "time": "2025-09-24T15:06:41+00:00"
},
{
"name": "paragonie/random_compat",
@@ -7350,16 +7720,16 @@
},
{
"name": "paragonie/sodium_compat",
- "version": "v1.21.1",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/sodium_compat.git",
- "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37"
+ "reference": "b938a5c6844d222a26d46a6c7b80291e4cd8cfab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/bb312875dcdd20680419564fe42ba1d9564b9e37",
- "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37",
+ "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/b938a5c6844d222a26d46a6c7b80291e4cd8cfab",
+ "reference": "b938a5c6844d222a26d46a6c7b80291e4cd8cfab",
"shasum": ""
},
"require": {
@@ -7430,9 +7800,9 @@
],
"support": {
"issues": "https://github.com/paragonie/sodium_compat/issues",
- "source": "https://github.com/paragonie/sodium_compat/tree/v1.21.1"
+ "source": "https://github.com/paragonie/sodium_compat/tree/v1.23.0"
},
- "time": "2024-04-22T22:05:04+00:00"
+ "time": "2025-10-06T08:53:07+00:00"
},
{
"name": "part-db/exchanger",
@@ -7990,16 +8360,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.6.3",
+ "version": "5.6.5",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9"
+ "reference": "90614c73d3800e187615e2dd236ad0e2a01bf761"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9",
- "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90614c73d3800e187615e2dd236ad0e2a01bf761",
+ "reference": "90614c73d3800e187615e2dd236ad0e2a01bf761",
"shasum": ""
},
"require": {
@@ -8048,22 +8418,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.5"
},
- "time": "2025-08-01T19:43:32+00:00"
+ "time": "2025-11-27T19:50:05+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": {
@@ -8106,9 +8476,115 @@
"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.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
+ "reference": "4d597c1aacdde1805a33c525b9758113ea0d90df"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/4d597c1aacdde1805a33c525b9758113ea0d90df",
+ "reference": "4d597c1aacdde1805a33c525b9758113ea0d90df",
+ "shasum": ""
+ },
+ "require": {
+ "composer/pcre": "^1||^2||^3",
+ "ext-ctype": "*",
+ "ext-dom": "*",
+ "ext-fileinfo": "*",
+ "ext-gd": "*",
+ "ext-iconv": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "ext-xml": "*",
+ "ext-xmlreader": "*",
+ "ext-xmlwriter": "*",
+ "ext-zip": "*",
+ "ext-zlib": "*",
+ "maennchen/zipstream-php": "^2.1 || ^3.0",
+ "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",
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "mitoteam/jpgraph": "^10.5",
+ "mpdf/mpdf": "^8.1.1",
+ "phpcompatibility/php-compatibility": "^9.3",
+ "phpstan/phpstan": "^1.1 || ^2.0",
+ "phpstan/phpstan-deprecation-rules": "^1.0 || ^2.0",
+ "phpstan/phpstan-phpunit": "^1.0 || ^2.0",
+ "phpunit/phpunit": "^10.5",
+ "squizlabs/php_codesniffer": "^3.7",
+ "tecnickcom/tcpdf": "^6.5"
+ },
+ "suggest": {
+ "dompdf/dompdf": "Option for rendering PDF with PDF Writer",
+ "ext-intl": "PHP Internationalization Functions, required for NumberFormat Wizard",
+ "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"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Maarten Balliauw",
+ "homepage": "https://blog.maartenballiauw.be"
+ },
+ {
+ "name": "Mark Baker",
+ "homepage": "https://markbakeruk.net"
+ },
+ {
+ "name": "Franck Lefevre",
+ "homepage": "https://rootslabs.net"
+ },
+ {
+ "name": "Erik Tilt"
+ },
+ {
+ "name": "Adrien Crivelli"
+ }
+ ],
+ "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
+ "homepage": "https://github.com/PHPOffice/PhpSpreadsheet",
+ "keywords": [
+ "OpenXML",
+ "excel",
+ "gnumeric",
+ "ods",
+ "php",
+ "spreadsheet",
+ "xls",
+ "xlsx"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
+ "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.3.0"
+ },
+ "time": "2025-11-24T15:47:10+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -8466,16 +8942,16 @@
},
{
"name": "psr/http-message",
- "version": "2.0",
+ "version": "1.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
+ "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
+ "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
"shasum": ""
},
"require": {
@@ -8484,7 +8960,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "1.1.x-dev"
}
},
"autoload": {
@@ -8499,7 +8975,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
@@ -8513,9 +8989,9 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-message/tree/2.0"
+ "source": "https://github.com/php-fig/http-message/tree/1.1"
},
- "time": "2023-04-04T09:54:51+00:00"
+ "time": "2023-04-04T09:50:52+00:00"
},
{
"name": "psr/link",
@@ -8720,16 +9196,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": {
@@ -8786,22 +9262,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": {
@@ -8831,9 +9307,9 @@
"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",
@@ -8877,58 +9353,6 @@
},
"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"
- },
{
"name": "s9e/regexp-builder",
"version": "1.4.6",
@@ -9019,16 +9443,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": {
@@ -9056,7 +9480,7 @@
},
"type": "library",
"extra": {
- "version": "2.19.0"
+ "version": "2.19.3"
},
"autoload": {
"psr-4": {
@@ -9088,9 +9512,9 @@
],
"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",
@@ -9160,20 +9584,20 @@
},
{
"name": "scheb/2fa-backup-code",
- "version": "v7.11.0",
+ "version": "v7.12.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-backup-code.git",
- "reference": "62c6099b179903db5ab03b8059068cdb28659294"
+ "reference": "35f1ace4be7be2c10158d2bb8284208499111db8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/scheb/2fa-backup-code/zipball/62c6099b179903db5ab03b8059068cdb28659294",
- "reference": "62c6099b179903db5ab03b8059068cdb28659294",
+ "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",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"scheb/2fa-bundle": "self.version"
},
"type": "library",
@@ -9203,27 +9627,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.12.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.12.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-bundle.git",
- "reference": "06a343d14dad8cdd1670157d384738f9cfba29e5"
+ "reference": "2056c313e4ceff8098f970d99d428ddd2a3bfbf5"
},
"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/2056c313e4ceff8098f970d99d428ddd2a3bfbf5",
+ "reference": "2056c313e4ceff8098f970d99d428ddd2a3bfbf5",
"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",
@@ -9271,26 +9695,26 @@
"two-step"
],
"support": {
- "source": "https://github.com/scheb/2fa-bundle/tree/v7.11.0"
+ "source": "https://github.com/scheb/2fa-bundle/tree/v7.12.1"
},
- "time": "2025-06-27T12:14:20+00:00"
+ "time": "2025-11-25T15:24:27+00:00"
},
{
"name": "scheb/2fa-google-authenticator",
- "version": "v7.11.0",
+ "version": "v7.12.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-google-authenticator.git",
- "reference": "01a446eb68a76c3d0528a190029afa5e6ce5c384"
+ "reference": "230cf3404d56f3311a6b2da0c161db33941dba2f"
},
"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/230cf3404d56f3311a6b2da0c161db33941dba2f",
+ "reference": "230cf3404d56f3311a6b2da0c161db33941dba2f",
"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"
},
@@ -9321,28 +9745,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.12.1"
},
- "time": "2025-04-20T08:38:44+00:00"
+ "time": "2025-11-20T13:35:24+00:00"
},
{
"name": "scheb/2fa-trusted-device",
- "version": "v7.11.0",
+ "version": "v7.12.1",
"source": {
"type": "git",
"url": "https://github.com/scheb/2fa-trusted-device.git",
- "reference": "6ab98fdee3aa001ca6598eeb422d9abf2c85b5b3"
+ "reference": "e1026a977d9cdb794f349b828ab956e9341d7790"
},
"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/e1026a977d9cdb794f349b828ab956e9341d7790",
+ "reference": "e1026a977d9cdb794f349b828ab956e9341d7790",
"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",
@@ -9372,9 +9796,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.12.1"
},
- "time": "2025-06-27T12:14:20+00:00"
+ "time": "2025-11-20T13:35:24+00:00"
},
{
"name": "shivas/versioning-bundle",
@@ -9438,21 +9862,21 @@
},
{
"name": "spatie/db-dumper",
- "version": "3.8.0",
+ "version": "3.8.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/db-dumper.git",
- "reference": "91e1fd4dc000aefc9753cda2da37069fc996baee"
+ "reference": "e974cc7862b8de1bd3b7ea7d4839ba7167acb546"
},
"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/e974cc7862b8de1bd3b7ea7d4839ba7167acb546",
+ "reference": "e974cc7862b8de1bd3b7ea7d4839ba7167acb546",
"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"
@@ -9485,7 +9909,7 @@
"spatie"
],
"support": {
- "source": "https://github.com/spatie/db-dumper/tree/3.8.0"
+ "source": "https://github.com/spatie/db-dumper/tree/3.8.1"
},
"funding": [
{
@@ -9497,44 +9921,32 @@
"type": "github"
}
],
- "time": "2025-02-14T15:04:22+00:00"
+ "time": "2025-11-26T09:51:23+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",
@@ -9568,7 +9980,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": [
{
@@ -9580,7 +9992,7 @@
"type": "patreon"
}
],
- "time": "2025-06-13T11:57:55+00:00"
+ "time": "2025-11-13T13:00:34+00:00"
},
{
"name": "spomky-labs/otphp",
@@ -9666,20 +10078,20 @@
},
{
"name": "spomky-labs/pki-framework",
- "version": "1.3.0",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/pki-framework.git",
- "reference": "eced5b5ce70518b983ff2be486e902bbd15135ae"
+ "reference": "bf6f55a9d9eb25b7781640221cb54f5c727850d7"
},
"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/bf6f55a9d9eb25b7781640221cb54f5c727850d7",
+ "reference": "bf6f55a9d9eb25b7781640221cb54f5c727850d7",
"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"
},
@@ -9687,7 +10099,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",
@@ -9697,8 +10109,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": {
@@ -9759,7 +10171,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.0"
},
"funding": [
{
@@ -9771,7 +10183,7 @@
"type": "patreon"
}
],
- "time": "2025-06-13T08:35:04+00:00"
+ "time": "2025-10-22T08:24:34+00:00"
},
{
"name": "symfony/apache-pack",
@@ -9801,16 +10213,16 @@
},
{
"name": "symfony/asset",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset.git",
- "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b"
+ "reference": "0f7bccb9ffa1f373cbd659774d90629b2773464f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/56c4d9f759247c4e07d8549e3baf7493cb9c3e4b",
- "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/0f7bccb9ffa1f373cbd659774d90629b2773464f",
+ "reference": "0f7bccb9ffa1f373cbd659774d90629b2773464f",
"shasum": ""
},
"require": {
@@ -9820,9 +10232,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": {
@@ -9850,7 +10262,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.0"
},
"funding": [
{
@@ -9861,25 +10273,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": "2025-08-04T07:05:15+00:00"
},
{
"name": "symfony/cache",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "6621a2bee5373e3e972b2ae5dbedd5ac899d8cb6"
+ "reference": "a7a1325a5de2e54ddb45fda002ff528162e48293"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/6621a2bee5373e3e972b2ae5dbedd5ac899d8cb6",
- "reference": "6621a2bee5373e3e972b2ae5dbedd5ac899d8cb6",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/a7a1325a5de2e54ddb45fda002ff528162e48293",
+ "reference": "a7a1325a5de2e54ddb45fda002ff528162e48293",
"shasum": ""
},
"require": {
@@ -9887,12 +10303,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"
@@ -9907,13 +10325,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": {
@@ -9948,7 +10366,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.3.2"
+ "source": "https://github.com/symfony/cache/tree/v7.4.0"
},
"funding": [
{
@@ -9968,7 +10386,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-30T17:13:41+00:00"
+ "time": "2025-11-16T10:14:42+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -10048,16 +10466,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": {
@@ -10102,7 +10520,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.3.0"
+ "source": "https://github.com/symfony/clock/tree/v7.4.0"
},
"funding": [
{
@@ -10113,31 +10531,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.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "faef36e271bbeb74a9d733be4b56419b157762e2"
+ "reference": "f76c74e93bce2b9285f2dad7fbd06fa8182a7a41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/faef36e271bbeb74a9d733be4b56419b157762e2",
- "reference": "faef36e271bbeb74a9d733be4b56419b157762e2",
+ "url": "https://api.github.com/repos/symfony/config/zipball/f76c74e93bce2b9285f2dad7fbd06fa8182a7a41",
+ "reference": "f76c74e93bce2b9285f2dad7fbd06fa8182a7a41",
"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": {
@@ -10145,11 +10567,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": {
@@ -10177,7 +10599,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.2"
+ "source": "https://github.com/symfony/config/tree/v7.4.0"
},
"funding": [
{
@@ -10197,20 +10619,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-26T13:55:06+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/console",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7"
+ "reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7",
- "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7",
+ "url": "https://api.github.com/repos/symfony/console/zipball/0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
+ "reference": "0bc0f45254b99c58d45a8fbf9fb955d46cbd1bb8",
"shasum": ""
},
"require": {
@@ -10218,7 +10640,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",
@@ -10232,16 +10654,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": {
@@ -10275,7 +10697,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.3.3"
+ "source": "https://github.com/symfony/console/tree/v7.4.0"
},
"funding": [
{
@@ -10295,20 +10717,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-25T06:35:40+00:00"
+ "time": "2025-11-27T13:27:24+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": {
@@ -10344,7 +10766,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": [
{
@@ -10355,33 +10777,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.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "ab6c38dad5da9b15b1f7afb2f5c5814112e70261"
+ "reference": "3972ca7bbd649467b21a54870721b9e9f3652f9b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ab6c38dad5da9b15b1f7afb2f5c5814112e70261",
- "reference": "ab6c38dad5da9b15b1f7afb2f5c5814112e70261",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3972ca7bbd649467b21a54870721b9e9f3652f9b",
+ "reference": "3972ca7bbd649467b21a54870721b9e9f3652f9b",
"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",
@@ -10394,9 +10820,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": {
@@ -10424,7 +10850,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.3"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.4.0"
},
"funding": [
{
@@ -10444,7 +10870,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-14T09:54:27+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -10515,16 +10941,16 @@
},
{
"name": "symfony/doctrine-bridge",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "b371ded46da25415e1a3a7422e4acd2ec34214c5"
+ "reference": "7b511891a81ca14e993b6c88fd35d6bf656085f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b371ded46da25415e1a3a7422e4acd2ec34214c5",
- "reference": "b371ded46da25415e1a3a7422e4acd2ec34214c5",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/7b511891a81ca14e993b6c88fd35d6bf656085f7",
+ "reference": "7b511891a81ca14e993b6c88fd35d6bf656085f7",
"shasum": ""
},
"require": {
@@ -10551,7 +10977,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",
@@ -10559,24 +10985,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": {
@@ -10604,7 +11030,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.3"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v7.4.0"
},
"funding": [
{
@@ -10624,30 +11050,31 @@
"type": "tidelift"
}
],
- "time": "2025-08-18T13:10:53+00:00"
+ "time": "2025-11-04T03:05:49+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "efa076ea0eeff504383ff0dcf827ea5ce15690ba"
+ "reference": "8f3e7464fe7e77294686e935956a6a8ccf7442c4"
},
"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/8f3e7464fe7e77294686e935956a6a8ccf7442c4",
+ "reference": "8f3e7464fe7e77294686e935956a6a8ccf7442c4",
"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": {
@@ -10675,7 +11102,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.0"
},
"funding": [
{
@@ -10695,20 +11122,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-06T20:13:54+00:00"
+ "time": "2025-10-31T09:30:03+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": {
@@ -10719,8 +11146,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": {
@@ -10753,7 +11180,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v7.3.2"
+ "source": "https://github.com/symfony/dotenv/tree/v7.4.0"
},
"funding": [
{
@@ -10773,36 +11200,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.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3"
+ "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/0b31a944fcd8759ae294da4d2808cbc53aebd0c3",
- "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2",
+ "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2",
"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": [
@@ -10834,7 +11262,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.2"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.0"
},
"funding": [
{
@@ -10854,20 +11282,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-07T08:17:57+00:00"
+ "time": "2025-11-05T14:29:59+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191"
+ "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d"
},
"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/9dddcddff1ef974ad87b3708e4b442dc38b2261d",
+ "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d",
"shasum": ""
},
"require": {
@@ -10884,13 +11312,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": {
@@ -10918,7 +11347,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.0"
},
"funding": [
{
@@ -10938,7 +11367,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2025-10-28T09:38:46+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -11018,21 +11447,21 @@
},
{
"name": "symfony/expression-language",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "32d2d19c62e58767e6552166c32fb259975d2b23"
+ "reference": "8b9bbbb8c71f79a09638f6ea77c531e511139efa"
},
"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/8b9bbbb8c71f79a09638f6ea77c531e511139efa",
+ "reference": "8b9bbbb8c71f79a09638f6ea77c531e511139efa",
"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"
},
@@ -11062,7 +11491,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.0"
},
"funding": [
{
@@ -11082,20 +11511,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:29:33+00:00"
+ "time": "2025-11-12T15:39:26+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": {
@@ -11104,7 +11533,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": {
@@ -11132,7 +11561,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": [
{
@@ -11152,27 +11581,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.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe"
+ "reference": "340b9ed7320570f319028a2cbec46d40535e94bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe",
- "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd",
+ "reference": "340b9ed7320570f319028a2cbec46d40535e94bd",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.4|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -11200,7 +11629,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.0"
},
"funding": [
{
@@ -11220,35 +11649,36 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T13:41:35+00:00"
+ "time": "2025-11-05T05:42:40+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": {
@@ -11272,7 +11702,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": [
{
@@ -11292,31 +11722,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.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "f151b4a027fa67769268b80111f7fdb63edb5e79"
+ "reference": "00b8d61709b323749aef317950abd276f309597b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/f151b4a027fa67769268b80111f7fdb63edb5e79",
- "reference": "f151b4a027fa67769268b80111f7fdb63edb5e79",
+ "url": "https://api.github.com/repos/symfony/form/zipball/00b8d61709b323749aef317950abd276f309597b",
+ "reference": "00b8d61709b323749aef317950abd276f309597b",
"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": {
@@ -11326,26 +11756,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": {
@@ -11373,7 +11805,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.3"
+ "source": "https://github.com/symfony/form/tree/v7.4.0"
},
"funding": [
{
@@ -11393,38 +11825,39 @@
"type": "tidelift"
}
],
- "time": "2025-08-18T13:10:53+00:00"
+ "time": "2025-11-20T12:20:24+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "19ec4ab6be90322ed190e041e2404a976ed22571"
+ "reference": "3c62a3437267ac55bcd40175689c74772250e943"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/19ec4ab6be90322ed190e041e2404a976ed22571",
- "reference": "19ec4ab6be90322ed190e041e2404a976ed22571",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3c62a3437267ac55bcd40175689c74772250e943",
+ "reference": "3c62a3437267ac55bcd40175689c74772250e943",
"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|^8.0",
+ "symfony/dependency-injection": "^7.4|^8.0",
"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",
@@ -11436,14 +11869,12 @@
"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",
@@ -11458,51 +11889,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",
"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",
@@ -11531,7 +11963,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.3"
+ "source": "https://github.com/symfony/framework-bundle/tree/v7.4.0"
},
"funding": [
{
@@ -11551,20 +11983,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T07:45:05+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/http-client",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019"
+ "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019",
- "reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/ee5e0e0139ab506f6063a230e631bed677c650a4",
+ "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4",
"shasum": ""
},
"require": {
@@ -11595,12 +12027,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": {
@@ -11631,7 +12064,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v7.3.3"
+ "source": "https://github.com/symfony/http-client/tree/v7.4.0"
},
"funding": [
{
@@ -11651,7 +12084,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T07:45:05+00:00"
+ "time": "2025-11-20T12:32:50+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -11733,23 +12166,22 @@
},
{
"name": "symfony/http-foundation",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00"
+ "reference": "769c1720b68e964b13b58529c17d4a385c62167b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7475561ec27020196c49bb7c4f178d33d7d3dc00",
- "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/769c1720b68e964b13b58529c17d4a385c62167b",
+ "reference": "769c1720b68e964b13b58529c17d4a385c62167b",
"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",
@@ -11758,13 +12190,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": {
@@ -11792,7 +12224,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.3"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.0"
},
"funding": [
{
@@ -11812,29 +12244,29 @@
"type": "tidelift"
}
],
- "time": "2025-08-20T08:04:18+00:00"
+ "time": "2025-11-13T08:49:24+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b"
+ "reference": "7348193cd384495a755554382e4526f27c456085"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/72c304de37e1a1cec6d5d12b81187ebd4850a17b",
- "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7348193cd384495a755554382e4526f27c456085",
+ "reference": "7348193cd384495a755554382e4526f27c456085",
"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": {
@@ -11844,6 +12276,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",
@@ -11861,27 +12294,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",
@@ -11910,7 +12343,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.3"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.0"
},
"funding": [
{
@@ -11930,20 +12363,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-29T08:23:45+00:00"
+ "time": "2025-11-27T13:38:24+00:00"
},
{
"name": "symfony/intl",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "754d5ad02c889e380efc5a74fa3f6cfe56b7454d"
+ "reference": "2fa074de6c7faa6b54f2891fc22708f42245ed5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/754d5ad02c889e380efc5a74fa3f6cfe56b7454d",
- "reference": "754d5ad02c889e380efc5a74fa3f6cfe56b7454d",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/2fa074de6c7faa6b54f2891fc22708f42245ed5c",
+ "reference": "2fa074de6c7faa6b54f2891fc22708f42245ed5c",
"shasum": ""
},
"require": {
@@ -11954,8 +12387,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": {
@@ -12000,7 +12433,7 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v7.3.3"
+ "source": "https://github.com/symfony/intl/tree/v7.4.0"
},
"funding": [
{
@@ -12020,20 +12453,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-19T14:06:46+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "a32f3f45f1990db8c4341d5122a7d3a381c7e575"
+ "reference": "a3d9eea8cfa467ece41f0f54ba28185d74bd53fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/a32f3f45f1990db8c4341d5122a7d3a381c7e575",
- "reference": "a32f3f45f1990db8c4341d5122a7d3a381c7e575",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/a3d9eea8cfa467ece41f0f54ba28185d74bd53fd",
+ "reference": "a3d9eea8cfa467ece41f0f54ba28185d74bd53fd",
"shasum": ""
},
"require": {
@@ -12041,8 +12474,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": {
@@ -12053,10 +12486,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": {
@@ -12084,7 +12517,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.3.3"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.0"
},
"funding": [
{
@@ -12104,24 +12537,25 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2025-11-21T15:26:00+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1"
+ "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/e0a0f859148daf1edf6c60b398eb40bfc96697d1",
- "reference": "e0a0f859148daf1edf6c60b398eb40bfc96697d1",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/bdb02729471be5d047a3ac4a69068748f1a6be7a",
+ "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
@@ -12136,11 +12570,11 @@
"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"
+ "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": {
@@ -12172,7 +12606,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.3.2"
+ "source": "https://github.com/symfony/mime/tree/v7.4.0"
},
"funding": [
{
@@ -12192,26 +12626,27 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T13:41:35+00:00"
+ "time": "2025-11-16T10:14:42+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "6f3745e887659b46a8b7bb5ade8356a41700f095"
+ "reference": "189d16466ff83d9c51fad26382bf0beeb41bda21"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/6f3745e887659b46a8b7bb5ade8356a41700f095",
- "reference": "6f3745e887659b46a8b7bb5ade8356a41700f095",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/189d16466ff83d9c51fad26382bf0beeb41bda21",
+ "reference": "189d16466ff83d9c51fad26382bf0beeb41bda21",
"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": {
@@ -12220,13 +12655,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": {
@@ -12254,7 +12689,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.3"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.0"
},
"funding": [
{
@@ -12274,48 +12709,43 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2025-11-01T09:17:33+00:00"
},
{
"name": "symfony/monolog-bundle",
- "version": "v3.10.0",
+ "version": "v3.11.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
+ "reference": "e12eb92655b234cd50c21cda648088847a7ec777"
},
"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/e12eb92655b234cd50c21cda648088847a7ec777",
+ "reference": "e12eb92655b234cd50c21cda648088847a7ec777",
"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": [
@@ -12339,7 +12769,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.0"
},
"funding": [
{
@@ -12350,25 +12780,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-11-27T09:16:19+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": {
@@ -12406,7 +12840,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": [
{
@@ -12426,20 +12860,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.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/password-hasher.git",
- "reference": "31fbe66af859582a20b803f38be96be8accdf2c3"
+ "reference": "aa075ce6f54fe931f03c1e382597912f4fd94e1e"
},
"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/aa075ce6f54fe931f03c1e382597912f4fd94e1e",
+ "reference": "aa075ce6f54fe931f03c1e382597912f4fd94e1e",
"shasum": ""
},
"require": {
@@ -12449,8 +12883,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": {
@@ -12482,7 +12916,7 @@
"password"
],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v7.3.0"
+ "source": "https://github.com/symfony/password-hasher/tree/v7.4.0"
},
"funding": [
{
@@ -12493,12 +12927,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": "2025-08-13T16:46:49+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -12925,255 +13363,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",
@@ -13334,6 +13523,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",
@@ -13419,16 +13688,16 @@
},
{
"name": "symfony/process",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "32241012d521e2e8a9d713adb0812bb773b907f1"
+ "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1",
- "reference": "32241012d521e2e8a9d713adb0812bb773b907f1",
+ "url": "https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8",
+ "reference": "7ca8dc2d0dcf4882658313aba8be5d9fd01026c8",
"shasum": ""
},
"require": {
@@ -13460,7 +13729,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.3.3"
+ "source": "https://github.com/symfony/process/tree/v7.4.0"
},
"funding": [
{
@@ -13480,28 +13749,29 @@
"type": "tidelift"
}
],
- "time": "2025-08-18T09:42:54+00:00"
+ "time": "2025-10-16T11:21:06+00:00"
},
{
"name": "symfony/property-access",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "4a4389e5c8bd1d0320d80a23caa6a1ac71cb81a7"
+ "reference": "537626149d2910ca43eb9ce465654366bf4442f4"
},
"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/537626149d2910ca43eb9ce465654366bf4442f4",
+ "reference": "537626149d2910ca43eb9ce465654366bf4442f4",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/property-info": "^6.4|^7.0"
+ "symfony/property-info": "^6.4|^7.0|^8.0"
},
"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": {
@@ -13540,7 +13810,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v7.3.3"
+ "source": "https://github.com/symfony/property-access/tree/v7.4.0"
},
"funding": [
{
@@ -13560,27 +13830,27 @@
"type": "tidelift"
}
],
- "time": "2025-08-04T15:15:28+00:00"
+ "time": "2025-09-08T21:14:32+00:00"
},
{
"name": "symfony/property-info",
- "version": "v7.3.1",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "90586acbf2a6dd13bee4f09f09111c8bd4773970"
+ "reference": "c3c686e3d3a33a99f6967e69d6d5832acb7c25a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/90586acbf2a6dd13bee4f09f09111c8bd4773970",
- "reference": "90586acbf2a6dd13bee4f09f09111c8bd4773970",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/c3c686e3d3a33a99f6967e69d6d5832acb7c25a1",
+ "reference": "c3c686e3d3a33a99f6967e69d6d5832acb7c25a1",
"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.5|^8.0"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<5.2",
@@ -13592,9 +13862,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": {
@@ -13630,7 +13900,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.3.1"
+ "source": "https://github.com/symfony/property-info/tree/v7.4.0"
},
"funding": [
{
@@ -13641,31 +13911,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": "2025-06-27T19:55:54+00:00"
+ "time": "2025-11-13T08:38:49+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f"
+ "reference": "0101ff8bd0506703b045b1670960302d302a726c"
},
"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/0101ff8bd0506703b045b1670960302d302a726c",
+ "reference": "0101ff8bd0506703b045b1670960302d302a726c",
"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",
@@ -13675,11 +13949,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": {
@@ -13713,7 +13988,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.0"
},
"funding": [
{
@@ -13724,34 +13999,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": "2025-11-13T08:38:49+00:00"
},
{
"name": "symfony/rate-limiter",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/rate-limiter.git",
- "reference": "7e855541d302ba752f86fb0e97932e7969fe9c04"
+ "reference": "5c6df5bc10308505bb0fa8d1388bc6bd8a628ba8"
},
"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/5c6df5bc10308505bb0fa8d1388bc6bd8a628ba8",
+ "reference": "5c6df5bc10308505bb0fa8d1388bc6bd8a628ba8",
"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": {
@@ -13783,7 +14062,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.0"
},
"funding": [
{
@@ -13803,20 +14082,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-07T08:17:57+00:00"
+ "time": "2025-08-04T07:05:15+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4"
+ "reference": "4720254cb2644a0b876233d258a32bf017330db7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/7614b8ca5fa89b9cd233e21b627bfc5774f586e4",
- "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/4720254cb2644a0b876233d258a32bf017330db7",
+ "reference": "4720254cb2644a0b876233d258a32bf017330db7",
"shasum": ""
},
"require": {
@@ -13830,11 +14109,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": {
@@ -13868,7 +14147,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.3.2"
+ "source": "https://github.com/symfony/routing/tree/v7.4.0"
},
"funding": [
{
@@ -13888,20 +14167,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T11:36:08+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/runtime",
- "version": "v7.3.1",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/runtime.git",
- "reference": "9516056d432f8acdac9458eb41b80097da7a05c9"
+ "reference": "e3dd6c0f46a6810b3245726e8452cee45754e628"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/runtime/zipball/9516056d432f8acdac9458eb41b80097da7a05c9",
- "reference": "9516056d432f8acdac9458eb41b80097da7a05c9",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/e3dd6c0f46a6810b3245726e8452cee45754e628",
+ "reference": "e3dd6c0f46a6810b3245726e8452cee45754e628",
"shasum": ""
},
"require": {
@@ -13913,10 +14192,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": {
@@ -13951,7 +14230,7 @@
"runtime"
],
"support": {
- "source": "https://github.com/symfony/runtime/tree/v7.3.1"
+ "source": "https://github.com/symfony/runtime/tree/v7.4.0"
},
"funding": [
{
@@ -13962,41 +14241,46 @@
"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-13T07:48:40+00:00"
+ "time": "2025-11-04T03:05:49+00:00"
},
{
"name": "symfony/security-bundle",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
- "reference": "fbecca9a10af8d886e116f74e860e19b7583689c"
+ "reference": "48a64e746857464a5e8fd7bab84b31c9ba967eb9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/fbecca9a10af8d886e116f74e860e19b7583689c",
- "reference": "fbecca9a10af8d886e116f74e860e19b7583689c",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/48a64e746857464a5e8fd7bab84b31c9ba967eb9",
+ "reference": "48a64e746857464a5e8fd7bab84b31c9ba967eb9",
"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": {
@@ -14010,25 +14294,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",
@@ -14057,7 +14342,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.3"
+ "source": "https://github.com/symfony/security-bundle/tree/v7.4.0"
},
"funding": [
{
@@ -14077,27 +14362,27 @@
"type": "tidelift"
}
],
- "time": "2025-08-06T08:34:58+00:00"
+ "time": "2025-11-14T09:57:20+00:00"
},
{
"name": "symfony/security-core",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "4465a3b9cefbaebaeeeb98c2becfdb4b59d22488"
+ "reference": "fe4d25e5700a2f3b605bf23f520be57504ae5c51"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/4465a3b9cefbaebaeeeb98c2becfdb4b59d22488",
- "reference": "4465a3b9cefbaebaeeeb98c2becfdb4b59d22488",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/fe4d25e5700a2f3b605bf23f520be57504ae5c51",
+ "reference": "fe4d25e5700a2f3b605bf23f520be57504ae5c51",
"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": {
@@ -14112,15 +14397,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": {
@@ -14148,7 +14433,7 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v7.3.3"
+ "source": "https://github.com/symfony/security-core/tree/v7.4.0"
},
"funding": [
{
@@ -14168,33 +14453,33 @@
"type": "tidelift"
}
],
- "time": "2025-08-25T06:35:40+00:00"
+ "time": "2025-11-21T15:26:00+00:00"
},
{
"name": "symfony/security-csrf",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
- "reference": "2b4b0c46c901729e4e90719eacd980381f53e0a3"
+ "reference": "ec41009e83589d0b3d86bd131d07e6fc8ecf35ab"
},
"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/ec41009e83589d0b3d86bd131d07e6fc8ecf35ab",
+ "reference": "ec41009e83589d0b3d86bd131d07e6fc8ecf35ab",
"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": {
@@ -14222,7 +14507,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.0"
},
"funding": [
{
@@ -14233,55 +14518,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": "2025-11-21T15:26:00+00:00"
},
{
"name": "symfony/security-http",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "1bf0dc10f27d4776c47f18f98236c619793a9260"
+ "reference": "92f9cc6494f3d29042ac35c2ee5209191bbbb781"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/1bf0dc10f27d4776c47f18f98236c619793a9260",
- "reference": "1bf0dc10f27d4776c47f18f98236c619793a9260",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/92f9cc6494f3d29042ac35c2ee5209191bbbb781",
+ "reference": "92f9cc6494f3d29042ac35c2ee5209191bbbb781",
"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",
@@ -14310,7 +14599,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v7.3.3"
+ "source": "https://github.com/symfony/security-http/tree/v7.4.0"
},
"funding": [
{
@@ -14330,20 +14619,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-25T06:35:40+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/serializer",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "5608b04d8daaf29432d76ecc618b0fac169c2dfb"
+ "reference": "5a3bbf317b3f1025126b6d9debce53515601ab43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/5608b04d8daaf29432d76ecc618b0fac169c2dfb",
- "reference": "5608b04d8daaf29432d76ecc618b0fac169c2dfb",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/5a3bbf317b3f1025126b6d9debce53515601ab43",
+ "reference": "5a3bbf317b3f1025126b6d9debce53515601ab43",
"shasum": ""
},
"require": {
@@ -14366,26 +14655,26 @@
"phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
"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": {
@@ -14413,7 +14702,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.3"
+ "source": "https://github.com/symfony/serializer/tree/v7.4.0"
},
"funding": [
{
@@ -14433,20 +14722,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T11:34:33+00:00"
+ "time": "2025-11-18T13:23:20+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": {
@@ -14500,7 +14789,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": [
{
@@ -14511,25 +14800,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.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stimulus-bundle.git",
- "reference": "668b9efe9d0ab8b4e50091263171609e0459c0c8"
+ "reference": "c5ea8ee2ccd45447b7f4b6b82f704ee5e76127f0"
},
"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/c5ea8ee2ccd45447b7f4b6b82f704ee5e76127f0",
+ "reference": "c5ea8ee2ccd45447b7f4b6b82f704ee5e76127f0",
"shasum": ""
},
"require": {
@@ -14569,7 +14862,7 @@
"symfony-ux"
],
"support": {
- "source": "https://github.com/symfony/stimulus-bundle/tree/v2.30.0"
+ "source": "https://github.com/symfony/stimulus-bundle/tree/v2.31.0"
},
"funding": [
{
@@ -14589,20 +14882,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T15:25:48+00:00"
+ "time": "2025-09-24T13:27:42+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": {
@@ -14635,7 +14928,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": [
{
@@ -14646,31 +14939,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.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c"
+ "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c",
- "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c",
+ "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003",
+ "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003",
"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"
},
@@ -14678,12 +14976,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/emoji": "^7.1",
- "symfony/error-handler": "^6.4|^7.0",
- "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": {
@@ -14722,7 +15019,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.3.3"
+ "source": "https://github.com/symfony/string/tree/v7.4.0"
},
"funding": [
{
@@ -14742,27 +15039,27 @@
"type": "tidelift"
}
],
- "time": "2025-08-25T06:35:40+00:00"
+ "time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/translation",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "e0837b4cbcef63c754d89a4806575cada743a38d"
+ "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/e0837b4cbcef63c754d89a4806575cada743a38d",
- "reference": "e0837b4cbcef63c754d89a4806575cada743a38d",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/2d01ca0da3f092f91eeedb46f24aa30d2fca8f68",
+ "reference": "2d01ca0da3f092f91eeedb46f24aa30d2fca8f68",
"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",
@@ -14781,17 +15078,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": {
@@ -14822,7 +15119,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v7.3.3"
+ "source": "https://github.com/symfony/translation/tree/v7.4.0"
},
"funding": [
{
@@ -14842,20 +15139,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-01T21:02:37+00:00"
+ "time": "2025-11-27T13:27:24+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": {
@@ -14904,7 +15201,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": [
{
@@ -14915,25 +15212,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.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "33558f013b7f6ed72805527c8405cae0062e47c5"
+ "reference": "e96998da928007554b8b8c02e677861877daced9"
},
"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/e96998da928007554b8b8c02e677861877daced9",
+ "reference": "e96998da928007554b8b8c02e677861877daced9",
"shasum": ""
},
"require": {
@@ -14958,33 +15259,33 @@
"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",
+ "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.20|^7.2.5|^8.0",
+ "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"
@@ -15015,7 +15316,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.0"
},
"funding": [
{
@@ -15035,30 +15336,30 @@
"type": "tidelift"
}
],
- "time": "2025-08-18T13:10:53+00:00"
+ "time": "2025-11-05T14:29:59+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "5d85220df4d8d79e6a9ca57eea6f70004de39657"
+ "reference": "f83f530d00d1bbc6f7fafeb433077887c83326ef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/5d85220df4d8d79e6a9ca57eea6f70004de39657",
- "reference": "5d85220df4d8d79e6a9ca57eea6f70004de39657",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/f83f530d00d1bbc6f7fafeb433077887c83326ef",
+ "reference": "f83f530d00d1bbc6f7fafeb433077887c83326ef",
"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/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": {
@@ -15066,16 +15367,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": {
@@ -15103,7 +15405,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.2"
+ "source": "https://github.com/symfony/twig-bundle/tree/v7.4.0"
},
"funding": [
{
@@ -15123,20 +15425,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:47:49+00:00"
+ "time": "2025-10-02T07:41:02+00:00"
},
{
"name": "symfony/type-info",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "aa64b58ed04517d4d730202dd035895743c23273"
+ "reference": "7f9743e921abcce92a03fc693530209c59e73076"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/aa64b58ed04517d4d730202dd035895743c23273",
- "reference": "aa64b58ed04517d4d730202dd035895743c23273",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/7f9743e921abcce92a03fc693530209c59e73076",
+ "reference": "7f9743e921abcce92a03fc693530209c59e73076",
"shasum": ""
},
"require": {
@@ -15186,7 +15488,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v7.3.3"
+ "source": "https://github.com/symfony/type-info/tree/v7.4.0"
},
"funding": [
{
@@ -15206,20 +15508,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-28T09:38:04+00:00"
+ "time": "2025-11-07T09:36:46+00:00"
},
{
"name": "symfony/uid",
- "version": "v7.3.1",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb"
+ "reference": "2498e9f81b7baa206f44de583f2f48350b90142c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/a69f69f3159b852651a6bf45a9fdd149520525bb",
- "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/2498e9f81b7baa206f44de583f2f48350b90142c",
+ "reference": "2498e9f81b7baa206f44de583f2f48350b90142c",
"shasum": ""
},
"require": {
@@ -15227,7 +15529,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": {
@@ -15264,7 +15566,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.3.1"
+ "source": "https://github.com/symfony/uid/tree/v7.4.0"
},
"funding": [
{
@@ -15275,25 +15577,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": "2025-09-25T11:02:55+00:00"
},
{
"name": "symfony/ux-translator",
- "version": "v2.30.0",
+ "version": "v2.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/ux-translator.git",
- "reference": "9616091db206df4caa7d8dce2e48941512b1a94a"
+ "reference": "b4b323fdc846d2d67feb7f8ca5ef5a05238f6639"
},
"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/b4b323fdc846d2d67feb7f8ca5ef5a05238f6639",
+ "reference": "b4b323fdc846d2d67feb7f8ca5ef5a05238f6639",
"shasum": ""
},
"require": {
@@ -15341,7 +15647,7 @@
"symfony-ux"
],
"support": {
- "source": "https://github.com/symfony/ux-translator/tree/v2.30.0"
+ "source": "https://github.com/symfony/ux-translator/tree/v2.31.0"
},
"funding": [
{
@@ -15361,20 +15667,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T15:25:48+00:00"
+ "time": "2025-10-16T07:24:06+00:00"
},
{
"name": "symfony/ux-turbo",
- "version": "v2.30.0",
+ "version": "v2.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/ux-turbo.git",
- "reference": "c5e88c7e16713e84a2a35f36276ccdb05c2c78d8"
+ "reference": "06d5e4cf4573efe4faf648f3810a28c63684c706"
},
"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/06d5e4cf4573efe4faf648f3810a28c63684c706",
+ "reference": "06d5e4cf4573efe4faf648f3810a28c63684c706",
"shasum": ""
},
"require": {
@@ -15387,7 +15693,7 @@
"require-dev": {
"dbrekelmans/bdi": "dev-main",
"doctrine/doctrine-bundle": "^2.4.3",
- "doctrine/orm": "^2.8 | 3.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",
@@ -15444,7 +15750,7 @@
"turbo-stream"
],
"support": {
- "source": "https://github.com/symfony/ux-turbo/tree/v2.30.0"
+ "source": "https://github.com/symfony/ux-turbo/tree/v2.31.0"
},
"funding": [
{
@@ -15464,20 +15770,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T15:25:48+00:00"
+ "time": "2025-10-16T07:24:06+00:00"
},
{
"name": "symfony/validator",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "a2f26d7c122393db75a2d41435ad8251250f8bc6"
+ "reference": "829d4acbecc6a9c097ca9cb118d7f96f46d33da9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/a2f26d7c122393db75a2d41435ad8251250f8bc6",
- "reference": "a2f26d7c122393db75a2d41435ad8251250f8bc6",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/829d4acbecc6a9c097ca9cb118d7f96f46d33da9",
+ "reference": "829d4acbecc6a9c097ca9cb118d7f96f46d33da9",
"shasum": ""
},
"require": {
@@ -15497,27 +15803,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": {
@@ -15546,7 +15854,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v7.3.3"
+ "source": "https://github.com/symfony/validator/tree/v7.4.0"
},
"funding": [
{
@@ -15566,20 +15874,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T11:34:33+00:00"
+ "time": "2025-11-18T13:23:20+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f"
+ "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34d8d4c4b9597347306d1ec8eb4e1319b1e6986f",
- "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece",
+ "reference": "41fd6c4ae28c38b294b42af6db61446594a0dece",
"shasum": ""
},
"require": {
@@ -15591,10 +15899,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": [
@@ -15633,7 +15941,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.3.3"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.0"
},
"funding": [
{
@@ -15653,20 +15961,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2025-10-27T20:36:44+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137"
+ "reference": "03a60f169c79a28513a78c967316fbc8bf17816f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d4dfcd2a822cbedd7612eb6fbd260e46f87b7137",
- "reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f",
+ "reference": "03a60f169c79a28513a78c967316fbc8bf17816f",
"shasum": ""
},
"require": {
@@ -15674,9 +15982,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": {
@@ -15714,7 +16022,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.3.3"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.4.0"
},
"funding": [
{
@@ -15734,20 +16042,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-18T13:10:53+00:00"
+ "time": "2025-09-11T10:15:23+00:00"
},
{
"name": "symfony/web-link",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-link.git",
- "reference": "7697f74fce67555665339423ce453cc8216a98ff"
+ "reference": "c62edd6b52e31cf2f6f38fd3386725f364f19942"
},
"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/c62edd6b52e31cf2f6f38fd3386725f364f19942",
+ "reference": "c62edd6b52e31cf2f6f38fd3386725f364f19942",
"shasum": ""
},
"require": {
@@ -15761,7 +16069,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": {
@@ -15801,7 +16109,7 @@
"push"
],
"support": {
- "source": "https://github.com/symfony/web-link/tree/v7.3.0"
+ "source": "https://github.com/symfony/web-link/tree/v7.4.0"
},
"funding": [
{
@@ -15812,25 +16120,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": "2025-08-04T07:05:15+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": {
@@ -15873,7 +16185,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": [
{
@@ -15893,32 +16205,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.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d"
+ "reference": "6c84a4b55aee4cd02034d1c528e83f69ddf63810"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/6c84a4b55aee4cd02034d1c528e83f69ddf63810",
+ "reference": "6c84a4b55aee4cd02034d1c528e83f69ddf63810",
"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"
@@ -15949,7 +16261,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.0"
},
"funding": [
{
@@ -15969,20 +16281,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T11:34:33+00:00"
+ "time": "2025-11-16T10:14:42+00:00"
},
{
"name": "symplify/easy-coding-standard",
- "version": "12.5.24",
+ "version": "12.6.2",
"source": {
"type": "git",
"url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
- "reference": "4b90f2b6efed9508000968eac2397ac7aff34354"
+ "reference": "7a6798aa424f0ecafb1542b6f5207c5a99704d3d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/4b90f2b6efed9508000968eac2397ac7aff34354",
- "reference": "4b90f2b6efed9508000968eac2397ac7aff34354",
+ "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/7a6798aa424f0ecafb1542b6f5207c5a99704d3d",
+ "reference": "7a6798aa424f0ecafb1542b6f5207c5a99704d3d",
"shasum": ""
},
"require": {
@@ -16018,7 +16330,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.5.24"
+ "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.6.2"
},
"funding": [
{
@@ -16030,20 +16342,20 @@
"type": "github"
}
],
- "time": "2025-08-21T06:57:14+00:00"
+ "time": "2025-10-29T08:51:50+00:00"
},
{
"name": "tecnickcom/tc-lib-barcode",
- "version": "2.4.8",
+ "version": "2.4.11",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/tc-lib-barcode.git",
- "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4"
+ "reference": "c6d1060abaa9b540d7cd86ced827653196541e84"
},
"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/c6d1060abaa9b540d7cd86ced827653196541e84",
+ "reference": "c6d1060abaa9b540d7cd86ced827653196541e84",
"shasum": ""
},
"require": {
@@ -16057,8 +16369,8 @@
"require-dev": {
"pdepend/pdepend": "2.16.2",
"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.4.4 || 11.5.44 || 10.5.58",
+ "squizlabs/php_codesniffer": "4.0.1"
},
"type": "library",
"autoload": {
@@ -16122,7 +16434,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.11"
},
"funding": [
{
@@ -16130,20 +16442,20 @@
"type": "custom"
}
],
- "time": "2025-06-06T11:35:02+00:00"
+ "time": "2025-11-28T18:43:32+00:00"
},
{
"name": "tecnickcom/tc-lib-color",
- "version": "2.2.13",
+ "version": "2.2.16",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/tc-lib-color.git",
- "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6"
+ "reference": "f11b2fd7f72ac9d49642a7af2ec854dd09a76b62"
},
"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/f11b2fd7f72ac9d49642a7af2ec854dd09a76b62",
+ "reference": "f11b2fd7f72ac9d49642a7af2ec854dd09a76b62",
"shasum": ""
},
"require": {
@@ -16153,8 +16465,8 @@
"require-dev": {
"pdepend/pdepend": "2.16.2",
"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.4.4 || 11.5.44 || 10.5.58",
+ "squizlabs/php_codesniffer": "4.0.1"
},
"type": "library",
"autoload": {
@@ -16191,7 +16503,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.2.16"
},
"funding": [
{
@@ -16199,7 +16511,7 @@
"type": "custom"
}
],
- "time": "2025-06-06T11:33:19+00:00"
+ "time": "2025-11-28T18:42:01+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -16258,16 +16570,16 @@
},
{
"name": "twig/cssinliner-extra",
- "version": "v3.21.0",
+ "version": "v3.22.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/cssinliner-extra.git",
- "reference": "378d29b61d6406c456e3a4afbd15bbeea0b72ea8"
+ "reference": "9bcbf04ca515e98fcde479fdceaa1d9d9e76173e"
},
"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/9bcbf04ca515e98fcde479fdceaa1d9d9e76173e",
+ "reference": "9bcbf04ca515e98fcde479fdceaa1d9d9e76173e",
"shasum": ""
},
"require": {
@@ -16311,7 +16623,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.22.0"
},
"funding": [
{
@@ -16323,30 +16635,30 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-07-29T08:07:07+00:00"
},
{
"name": "twig/extra-bundle",
- "version": "v3.21.0",
+ "version": "v3.22.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "62d1cf47a1aa009cbd07b21045b97d3d5cb79896"
+ "reference": "b6534bc925bec930004facca92fccebd0c809247"
},
"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/b6534bc925bec930004facca92fccebd0c809247",
+ "reference": "b6534bc925bec930004facca92fccebd0c809247",
"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",
@@ -16385,7 +16697,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.22.1"
},
"funding": [
{
@@ -16397,26 +16709,26 @@
"type": "tidelift"
}
],
- "time": "2025-02-19T14:29:33+00:00"
+ "time": "2025-11-02T11:00:49+00:00"
},
{
"name": "twig/html-extra",
- "version": "v3.21.0",
+ "version": "v3.22.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/html-extra.git",
- "reference": "5442dd707601c83b8cd4233e37bb10ab8489a90f"
+ "reference": "d56d33315bce2b19ed815f8feedce85448736568"
},
"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/d56d33315bce2b19ed815f8feedce85448736568",
+ "reference": "d56d33315bce2b19ed815f8feedce85448736568",
"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": {
@@ -16453,7 +16765,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/html-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/html-extra/tree/v3.22.1"
},
"funding": [
{
@@ -16465,20 +16777,20 @@
"type": "tidelift"
}
],
- "time": "2025-02-19T14:29:33+00:00"
+ "time": "2025-11-02T11:00:49+00:00"
},
{
"name": "twig/inky-extra",
- "version": "v3.21.0",
+ "version": "v3.22.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/inky-extra.git",
- "reference": "aacd79d94534b4a7fd6533cb5c33c4ee97239a0d"
+ "reference": "631f42c7123240d9c2497903679ec54bb25f2f52"
},
"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/631f42c7123240d9c2497903679ec54bb25f2f52",
+ "reference": "631f42c7123240d9c2497903679ec54bb25f2f52",
"shasum": ""
},
"require": {
@@ -16523,7 +16835,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/inky-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/inky-extra/tree/v3.22.0"
},
"funding": [
{
@@ -16535,25 +16847,25 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-07-29T08:07:07+00:00"
},
{
"name": "twig/intl-extra",
- "version": "v3.21.0",
+ "version": "v3.22.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/intl-extra.git",
- "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146"
+ "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1"
},
"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/93ac31e53cdd3f2e541f42690cd0c54ca8138ab1",
+ "reference": "93ac31e53cdd3f2e541f42690cd0c54ca8138ab1",
"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": {
@@ -16587,7 +16899,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/intl-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/intl-extra/tree/v3.22.1"
},
"funding": [
{
@@ -16599,20 +16911,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-11-02T11:00:49+00:00"
},
{
"name": "twig/markdown-extra",
- "version": "v3.21.0",
+ "version": "v3.22.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/markdown-extra.git",
- "reference": "f4616e1dd375209dacf6026f846e6b537d036ce4"
+ "reference": "fb6f952082e3a7d62a75c8be2c8c47242d3925fb"
},
"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/fb6f952082e3a7d62a75c8be2c8c47242d3925fb",
+ "reference": "fb6f952082e3a7d62a75c8be2c8c47242d3925fb",
"shasum": ""
},
"require": {
@@ -16622,7 +16934,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"
@@ -16659,7 +16971,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/markdown-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/markdown-extra/tree/v3.22.0"
},
"funding": [
{
@@ -16671,25 +16983,25 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-09-15T05:57:37+00:00"
},
{
"name": "twig/string-extra",
- "version": "v3.21.0",
+ "version": "v3.22.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/string-extra.git",
- "reference": "4b3337544ac8f76c280def94e32b53acfaec0589"
+ "reference": "d5f16e0bec548bc96cce255b5f43d90492b8ce13"
},
"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/d5f16e0bec548bc96cce255b5f43d90492b8ce13",
+ "reference": "d5f16e0bec548bc96cce255b5f43d90492b8ce13",
"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"
},
@@ -16726,7 +17038,7 @@
"unicode"
],
"support": {
- "source": "https://github.com/twigphp/string-extra/tree/v3.21.0"
+ "source": "https://github.com/twigphp/string-extra/tree/v3.22.1"
},
"funding": [
{
@@ -16738,20 +17050,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T20:45:36+00:00"
+ "time": "2025-11-02T11:00:49+00:00"
},
{
"name": "twig/twig",
- "version": "v3.21.1",
+ "version": "v3.22.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
+ "reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
- "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/1de2ec1fc43ab58a4b7e80b214b96bfc895750f3",
+ "reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3",
"shasum": ""
},
"require": {
@@ -16805,7 +17117,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.22.1"
},
"funding": [
{
@@ -16817,7 +17129,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-03T07:21:55+00:00"
+ "time": "2025-11-16T16:01:12+00:00"
},
{
"name": "ua-parser/uap-php",
@@ -17134,28 +17446,28 @@
},
{
"name": "webmozart/assert",
- "version": "1.11.0",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ "reference": "9be6926d8b485f55b9229203f962b51ed377ba68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68",
+ "reference": "9be6926d8b485f55b9229203f962b51ed377ba68",
"shasum": ""
},
"require": {
"ext-ctype": "*",
+ "ext-date": "*",
+ "ext-filter": "*",
"php": "^7.2 || ^8.0"
},
- "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": {
@@ -17186,9 +17498,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/1.12.1"
},
- "time": "2022-06-03T18:03:27+00:00"
+ "time": "2025-10-29T15:56:20+00:00"
},
{
"name": "willdurand/negotiation",
@@ -17250,25 +17562,25 @@
"packages-dev": [
{
"name": "dama/doctrine-test-bundle",
- "version": "v8.3.1",
+ "version": "v8.4.0",
"source": {
"type": "git",
"url": "https://github.com/dmaicher/doctrine-test-bundle.git",
- "reference": "9bc47e02a0d67cbfef6773837249f71e65c95bf6"
+ "reference": "ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/9bc47e02a0d67cbfef6773837249f71e65c95bf6",
- "reference": "9bc47e02a0d67cbfef6773837249f71e65c95bf6",
+ "url": "https://api.github.com/repos/dmaicher/doctrine-test-bundle/zipball/ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2",
+ "reference": "ce7cd44126c36694e2f2d92c4aedd4fc5b0874f2",
"shasum": ""
},
"require": {
"doctrine/dbal": "^3.3 || ^4.0",
- "doctrine/doctrine-bundle": "^2.11.0",
+ "doctrine/doctrine-bundle": "^2.11.0 || ^3.0",
"php": ">= 8.1",
"psr/cache": "^2.0 || ^3.0",
- "symfony/cache": "^6.4 || ^7.2 || ^8.0",
- "symfony/framework-bundle": "^6.4 || ^7.2 || ^8.0"
+ "symfony/cache": "^6.4 || ^7.3 || ^8.0",
+ "symfony/framework-bundle": "^6.4 || ^7.3 || ^8.0"
},
"conflict": {
"phpunit/phpunit": "<10.0"
@@ -17277,9 +17589,9 @@
"behat/behat": "^3.0",
"friendsofphp/php-cs-fixer": "^3.27",
"phpstan/phpstan": "^2.0",
- "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0",
- "symfony/process": "^6.4 || ^7.2 || ^8.0",
- "symfony/yaml": "^6.4 || ^7.2 || ^8.0"
+ "phpunit/phpunit": "^10.5.57 || ^11.5.41|| ^12.3.14",
+ "symfony/dotenv": "^6.4 || ^7.3 || ^8.0",
+ "symfony/process": "^6.4 || ^7.3 || ^8.0"
},
"type": "symfony-bundle",
"extra": {
@@ -17313,27 +17625,27 @@
],
"support": {
"issues": "https://github.com/dmaicher/doctrine-test-bundle/issues",
- "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.3.1"
+ "source": "https://github.com/dmaicher/doctrine-test-bundle/tree/v8.4.0"
},
- "time": "2025-08-05T17:55:02+00:00"
+ "time": "2025-10-11T15:24:02+00:00"
},
{
"name": "doctrine/doctrine-fixtures-bundle",
- "version": "4.1.0",
+ "version": "4.3.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineFixturesBundle.git",
- "reference": "a06db6b81ff20a2980bf92063d80c013bb8b4b7c"
+ "reference": "11941deb6f2899b91e8b8680b07ffe63899d864b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/a06db6b81ff20a2980bf92063d80c013bb8b4b7c",
- "reference": "a06db6b81ff20a2980bf92063d80c013bb8b4b7c",
+ "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/11941deb6f2899b91e8b8680b07ffe63899d864b",
+ "reference": "11941deb6f2899b91e8b8680b07ffe63899d864b",
"shasum": ""
},
"require": {
- "doctrine/data-fixtures": "^2.0",
- "doctrine/doctrine-bundle": "^2.2",
+ "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",
@@ -17349,7 +17661,7 @@
"doctrine/dbal": "< 3"
},
"require-dev": {
- "doctrine/coding-standard": "13.0.0",
+ "doctrine/coding-standard": "14.0.0",
"phpstan/phpstan": "2.1.11",
"phpunit/phpunit": "^10.5.38 || 11.4.14"
},
@@ -17385,7 +17697,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues",
- "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/4.1.0"
+ "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/4.3.0"
},
"funding": [
{
@@ -17401,7 +17713,7 @@
"type": "tidelift"
}
],
- "time": "2025-03-26T10:56:26+00:00"
+ "time": "2025-10-20T06:18:40+00:00"
},
{
"name": "ekino/phpstan-banned-code",
@@ -17471,27 +17783,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",
@@ -17525,7 +17837,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": [
{
@@ -17537,7 +17849,7 @@
"type": "github"
}
],
- "time": "2025-07-28T09:19:13+00:00"
+ "time": "2025-11-30T22:23:47+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -17601,16 +17913,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v5.6.1",
+ "version": "v5.6.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
+ "reference": "3a454ca033b9e06b63282ce19562e892747449bb"
},
"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/3a454ca033b9e06b63282ce19562e892747449bb",
+ "reference": "3a454ca033b9e06b63282ce19562e892747449bb",
"shasum": ""
},
"require": {
@@ -17653,9 +17965,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.6.2"
},
- "time": "2025-08-13T20:13:15+00:00"
+ "time": "2025-10-21T19:32:17+00:00"
},
{
"name": "phar-io/manifest",
@@ -17825,16 +18137,11 @@
},
{
"name": "phpstan/phpstan",
- "version": "2.1.22",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
- "reference": "41600c8379eb5aee63e9413fe9e97273e25d57e4"
- },
+ "version": "2.1.32",
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/41600c8379eb5aee63e9413fe9e97273e25d57e4",
- "reference": "41600c8379eb5aee63e9413fe9e97273e25d57e4",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e126cad1e30a99b137b8ed75a85a676450ebb227",
+ "reference": "e126cad1e30a99b137b8ed75a85a676450ebb227",
"shasum": ""
},
"require": {
@@ -17879,20 +18186,20 @@
"type": "github"
}
],
- "time": "2025-08-04T19:17:37+00:00"
+ "time": "2025-11-11T15:18:17+00:00"
},
{
"name": "phpstan/phpstan-doctrine",
- "version": "2.0.5",
+ "version": "2.0.11",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-doctrine.git",
- "reference": "eeff19808f8ae3a6f7c4e43e388a2848eb2b0865"
+ "reference": "368ad1c713a6d95763890bc2292694a603ece7c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/eeff19808f8ae3a6f7c4e43e388a2848eb2b0865",
- "reference": "eeff19808f8ae3a6f7c4e43e388a2848eb2b0865",
+ "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/368ad1c713a6d95763890bc2292694a603ece7c8",
+ "reference": "368ad1c713a6d95763890bc2292694a603ece7c8",
"shasum": ""
},
"require": {
@@ -17922,11 +18229,12 @@
"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",
- "symfony/cache": "^5.4"
+ "symfony/cache": "^5.4",
+ "symfony/uid": "^5.4 || ^6.4 || ^7.3"
},
"type": "phpstan-extension",
"extra": {
@@ -17949,27 +18257,27 @@
"description": "Doctrine extensions for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-doctrine/issues",
- "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.5"
+ "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.11"
},
- "time": "2025-09-07T11:52:30+00:00"
+ "time": "2025-11-04T09:55:35+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
- "version": "2.0.6",
+ "version": "2.0.7",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "f9f77efa9de31992a832ff77ea52eb42d675b094"
+ "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/f9f77efa9de31992a832ff77ea52eb42d675b094",
- "reference": "f9f77efa9de31992a832ff77ea52eb42d675b094",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/d6211c46213d4181054b3d77b10a5c5cb0d59538",
+ "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
- "phpstan/phpstan": "^2.0.4"
+ "phpstan/phpstan": "^2.1.29"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
@@ -17997,22 +18305,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.6"
+ "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.7"
},
- "time": "2025-07-21T12:19:29+00:00"
+ "time": "2025-09-26T11:19:08+00:00"
},
{
"name": "phpstan/phpstan-symfony",
- "version": "2.0.8",
+ "version": "2.0.9",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-symfony.git",
- "reference": "8820c22d785c235f69bb48da3d41e688bc8a1796"
+ "reference": "24d8c157aa483141b0579d705ef0aac9e1b95436"
},
"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/24d8c157aa483141b0579d705ef0aac9e1b95436",
+ "reference": "24d8c157aa483141b0579d705ef0aac9e1b95436",
"shasum": ""
},
"require": {
@@ -18025,7 +18333,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",
@@ -18068,9 +18376,9 @@
"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.9"
},
- "time": "2025-09-07T06:55:50+00:00"
+ "time": "2025-11-29T11:17:28+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -18409,16 +18717,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "11.5.36",
+ "version": "11.5.44",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "264a87c7ef68b1ab9af7172357740dc266df5957"
+ "reference": "c346885c95423eda3f65d85a194aaa24873cda82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/264a87c7ef68b1ab9af7172357740dc266df5957",
- "reference": "264a87c7ef68b1ab9af7172357740dc266df5957",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c346885c95423eda3f65d85a194aaa24873cda82",
+ "reference": "c346885c95423eda3f65d85a194aaa24873cda82",
"shasum": ""
},
"require": {
@@ -18442,7 +18750,7 @@
"sebastian/comparator": "^6.3.2",
"sebastian/diff": "^6.0.2",
"sebastian/environment": "^7.2.1",
- "sebastian/exporter": "^6.3.0",
+ "sebastian/exporter": "^6.3.2",
"sebastian/global-state": "^7.0.2",
"sebastian/object-enumerator": "^6.0.1",
"sebastian/type": "^5.1.3",
@@ -18490,7 +18798,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.36"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.44"
},
"funding": [
{
@@ -18514,25 +18822,25 @@
"type": "tidelift"
}
],
- "time": "2025-09-03T06:24:17+00:00"
+ "time": "2025-11-13T07:17:35+00:00"
},
{
"name": "rector/rector",
- "version": "2.1.6",
+ "version": "2.2.9",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "729aabc0ec66e700ef164e26454a1357f222a2f3"
+ "reference": "0b8e49ec234877b83244d2ecd0df7a4c16471f05"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/729aabc0ec66e700ef164e26454a1357f222a2f3",
- "reference": "729aabc0ec66e700ef164e26454a1357f222a2f3",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/0b8e49ec234877b83244d2ecd0df7a4c16471f05",
+ "reference": "0b8e49ec234877b83244d2ecd0df7a4c16471f05",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
- "phpstan/phpstan": "^2.1.18"
+ "phpstan/phpstan": "^2.1.32"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -18566,7 +18874,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/2.1.6"
+ "source": "https://github.com/rectorphp/rector/tree/2.2.9"
},
"funding": [
{
@@ -18574,7 +18882,7 @@
"type": "github"
}
],
- "time": "2025-09-05T15:43:08+00:00"
+ "time": "2025-11-28T14:21:22+00:00"
},
{
"name": "roave/security-advisories",
@@ -18582,18 +18890,18 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "dc5c4ede5c331ae21fb68947ff89672df9b7cc7d"
+ "reference": "3f393e137e490ecb2ac77989a692129c31192de7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/dc5c4ede5c331ae21fb68947ff89672df9b7cc7d",
- "reference": "dc5c4ede5c331ae21fb68947ff89672df9b7cc7d",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/3f393e137e490ecb2ac77989a692129c31192de7",
+ "reference": "3f393e137e490ecb2ac77989a692129c31192de7",
"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",
@@ -18606,6 +18914,7 @@
"akaunting/akaunting": "<2.1.13",
"akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53",
"alextselegidis/easyappointments": "<1.5.2.0-beta1",
+ "alt-design/alt-redirect": "<1.6.4",
"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",
@@ -18629,22 +18938,22 @@
"athlon1600/php-proxy-app": "<=3",
"athlon1600/youtube-downloader": "<=4",
"austintoddj/canvas": "<=3.4.2",
- "auth0/auth0-php": ">=8.0.0.0-beta1,<8.14",
- "auth0/login": "<7.17",
- "auth0/symfony": "<5.4",
- "auth0/wordpress": "<5.3",
+ "auth0/auth0-php": ">=3.3,<=8.16",
+ "auth0/login": "<=7.18",
+ "auth0/symfony": "<=5.4.1",
+ "auth0/wordpress": "<=5.3",
"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",
"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.1",
+ "bagisto/bagisto": "<=2.3.7",
"barrelstrength/sprout-base-email": "<1.2.7",
"barrelstrength/sprout-forms": "<3.9",
"barryvdh/laravel-translation-manager": "<0.6.8",
@@ -18695,12 +19004,14 @@
"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",
@@ -18710,7 +19021,7 @@
"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",
"corveda/phpsandbox": "<1.3.5",
@@ -18725,6 +19036,7 @@
"dapphp/securimage": "<3.6.6",
"darylldoyle/safe-svg": "<1.9.10",
"datadog/dd-trace": ">=0.30,<0.30.2",
+ "datahihi1/tiny-env": "<1.0.3|>=1.0.9,<1.0.11",
"datatables/datatables": "<1.10.10",
"david-garcia/phpwhois": "<=4.3.1",
"dbrisinajumi/d2files": "<1",
@@ -18733,6 +19045,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.4",
"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",
@@ -18748,33 +19061,45 @@
"doctrine/mongodb-odm": "<1.0.2",
"doctrine/mongodb-odm-bundle": "<3.0.1",
"doctrine/orm": ">=1,<1.2.4|>=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4",
- "dolibarr/dolibarr": "<=21.0.2",
+ "dolibarr/dolibarr": "<21.0.3",
"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.102|>=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",
@@ -18799,7 +19124,7 @@
"ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1-dev",
"ezsystems/ezfind-ls": ">=5.3,<5.3.6.1-dev|>=5.4,<5.4.11.1-dev|>=2017.12,<2017.12.0.1-dev",
"ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24",
- "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.38|>=3.3,<3.3.39",
+ "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.39|>=3.3,<3.3.39",
"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",
@@ -18861,9 +19186,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",
+ "getformwork/formwork": "<2.2",
"getgrav/grav": "<1.7.46",
- "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1",
+ "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1|>=5,<5.1.4",
"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",
@@ -18874,6 +19199,7 @@
"gogentooss/samlbase": "<1.2.7",
"google/protobuf": "<3.4",
"gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3",
+ "gp247/core": "<1.1.24",
"gree/jose": "<2.2.1",
"gregwar/rst": "<1.0.3",
"grumpydictator/firefly-iii": "<6.1.17",
@@ -18892,15 +19218,15 @@
"hov/jobfair": "<1.0.13|>=2,<2.0.2",
"httpsoft/http-message": "<1.0.12",
"hyn/multi-tenant": ">=5.6,<5.7.2",
- "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.21",
+ "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.25|>=5,<5.0.3",
"ibexa/admin-ui-assets": ">=4.6.0.0-alpha1,<4.6.21",
"ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.6|>=4.6,<4.6.2",
- "ibexa/fieldtype-richtext": ">=4.6,<4.6.21",
+ "ibexa/fieldtype-richtext": ">=4.6,<4.6.25|>=5,<5.0.3",
"ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3",
"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",
+ "ibexa/user": ">=4,<4.4.3|>=5,<5.0.3",
"icecoder/icecoder": "<=8.1",
"idno/known": "<=1.3.1",
"ilicmiljan/secure-props": ">=1.2,<1.2.2",
@@ -18936,7 +19262,7 @@
"joomla/archive": "<1.1.12|>=2,<2.0.1",
"joomla/database": ">=1,<2.2|>=3,<3.4",
"joomla/filesystem": "<1.6.2|>=2,<2.0.1",
- "joomla/filter": "<1.4.4|>=2,<2.0.1",
+ "joomla/filter": "<2.0.6|>=3,<3.0.5|==4",
"joomla/framework": "<1.5.7|>=2.5.4,<=3.8.12",
"joomla/input": ">=2,<2.0.2",
"joomla/joomla-cms": "<3.9.12|>=4,<4.4.13|>=5,<5.2.6",
@@ -18975,6 +19301,7 @@
"laravel/socialite": ">=1,<2.0.10",
"latte/latte": "<2.10.8",
"lavalite/cms": "<=9|==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",
"league/flysystem": "<1.1.4|>=2,<2.1.1",
@@ -18996,17 +19323,18 @@
"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-patch1",
+ "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",
"magento/product-community-edition": "<2.4.4.0-patch9|>=2.4.5,<2.4.5.0-patch8|>=2.4.6,<2.4.6.0-patch6|>=2.4.7,<2.4.7.0-patch1",
"magento/project-community-edition": "<=2.0.2",
"magneto/core": "<1.9.4.4-dev",
+ "mahocommerce/maho": "<25.9",
"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",
@@ -19016,14 +19344,16 @@
"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",
"mediawiki/semantic-media-wiki": "<4.0.2",
"mehrwert/phpmyadmin": "<3.2",
"melisplatform/melis-asset-manager": "<5.0.1",
- "melisplatform/melis-cms": "<5.0.1",
+ "melisplatform/melis-cms": "<5.3.4",
+ "melisplatform/melis-cms-slider": "<5.3.1",
+ "melisplatform/melis-core": "<5.3.11",
"melisplatform/melis-front": "<5.0.1",
"mezzio/mezzio-swoole": "<3.7|>=4,<4.3",
"mgallegos/laravel-jqgrid": "<=1.3",
@@ -19038,17 +19368,17 @@
"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.11|>=4.5.0.0-beta,<4.5.7|>=5.0.0.0-beta,<5.0.3",
"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",
@@ -19074,6 +19404,7 @@
"notrinos/notrinos-erp": "<=0.7",
"noumo/easyii": "<=0.9",
"novaksolutions/infusionsoft-php-sdk": "<1",
+ "novosga/novosga": "<=2.2.12",
"nukeviet/nukeviet": "<4.5.02",
"nyholm/psr7": "<1.6.1",
"nystudio107/craft-seomatic": "<3.4.12",
@@ -19088,10 +19419,10 @@
"omeka/omeka-s": "<4.0.3",
"onelogin/php-saml": "<2.10.4",
"oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5",
- "open-web-analytics/open-web-analytics": "<1.7.4",
+ "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",
"opensolutions/vimbadmin": "<=3.0.15",
"opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7",
"orchid/platform": ">=8,<14.43",
@@ -19132,11 +19463,12 @@
"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.13",
"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",
@@ -19167,12 +19499,13 @@
"prestashop/gamification": "<2.3.2",
"prestashop/prestashop": "<8.2.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",
@@ -19193,7 +19526,7 @@
"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",
@@ -19204,7 +19537,7 @@
"roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11",
"rudloff/alltube": "<3.0.3",
"rudloff/rtmpdump-bin": "<=2.3.1",
- "s-cart/core": "<6.9",
+ "s-cart/core": "<=9.0.5",
"s-cart/s-cart": "<6.9",
"sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1",
"sabre/dav": ">=1.6,<1.7.11|>=1.8,<1.8.9",
@@ -19215,10 +19548,10 @@
"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.0.0-RC1-dev,<6.7.0.0-RC2-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.4.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",
+ "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",
"shopxo/shopxo": "<=6.4",
"showdoc/showdoc": "<2.10.4",
@@ -19260,7 +19593,7 @@
"slim/slim": "<2.6",
"slub/slub-events": "<3.0.3",
"smarty/smarty": "<4.5.3|>=5,<5.1.1",
- "snipe/snipe-it": "<8.1",
+ "snipe/snipe-it": "<=8.3.4",
"socalnick/scn-social-auth": "<1.15.2",
"socialiteproviders/steam": "<1.1",
"solspace/craft-freeform": ">=5,<5.10.16",
@@ -19269,14 +19602,16 @@
"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",
- "statamic/cms": "<=5.16",
+ "starcitizenwiki/embedvideo": "<=4",
+ "statamic/cms": "<=5.22",
"stormpath/sdk": "<9.9.99",
"studio-42/elfinder": "<=2.1.64",
"studiomitte/friendlycaptcha": "<0.1.4",
@@ -19307,7 +19642,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",
@@ -19326,7 +19661,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.50|>=6,<6.4.29|>=7,<7.3.7",
"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",
@@ -19350,7 +19685,7 @@
"thelia/thelia": ">=2.1,<2.1.3",
"theonedemon/phpwhois": "<=4.2.5",
"thinkcmf/thinkcmf": "<6.0.8",
- "thorsten/phpmyfaq": "<=4.0.1",
+ "thorsten/phpmyfaq": "<=4.0.13",
"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",
@@ -19361,19 +19696,19 @@
"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",
"ttskch/pagination-service-provider": "<1",
- "twbs/bootstrap": "<=3.4.1|>=4,<=4.6.2",
+ "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.24|>=10,<10.4.46|>=11,<11.5.40|>=12,<=12.4.30|>=13,<=13.4.11",
+ "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-belog": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
- "typo3/cms-beuser": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
- "typo3/cms-core": "<=8.7.56|>=9,<=9.5.50|>=10,<=10.4.49|>=11,<=11.5.43|>=12,<=12.4.30|>=13,<=13.4.11",
- "typo3/cms-dashboard": ">=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-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",
"typo3/cms-felogin": ">=4.2,<4.2.3",
@@ -19383,10 +19718,13 @@
"typo3/cms-indexed-search": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
"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-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",
"typo3/cms-webhooks": ">=12,<=12.4.30|>=13,<=13.4.11",
+ "typo3/cms-workspaces": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
"typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6",
"typo3/html-sanitizer": ">=1,<=1.5.2|>=2,<=2.1.3",
"typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3",
@@ -19427,6 +19765,7 @@
"webklex/laravel-imap": "<5.3",
"webklex/php-imap": "<5.3",
"webpa/webpa": "<3.1.2",
+ "webreinvent/vaahcms": "<=2.3.1",
"wikibase/wikibase": "<=1.39.3",
"wikimedia/parsoid": "<0.12.2",
"willdurand/js-translation-bundle": "<2.1.1",
@@ -19447,7 +19786,7 @@
"xataface/xataface": "<3",
"xpressengine/xpressengine": "<3.0.15",
"yab/quarx": "<2.4.5",
- "yeswiki/yeswiki": "<4.5.4",
+ "yeswiki/yeswiki": "<=4.5.4",
"yetiforce/yetiforce-crm": "<6.5",
"yidashi/yii2cmf": "<=2",
"yii2mod/yii2-cms": "<1.9.2",
@@ -19539,7 +19878,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-04T20:05:35+00:00"
+ "time": "2025-11-26T00:22:38+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -20006,16 +20345,16 @@
},
{
"name": "sebastian/exporter",
- "version": "6.3.0",
+ "version": "6.3.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
+ "reference": "70a298763b40b213ec087c51c739efcaa90bcd74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
- "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74",
+ "reference": "70a298763b40b213ec087c51c739efcaa90bcd74",
"shasum": ""
},
"require": {
@@ -20029,7 +20368,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.1-dev"
+ "dev-main": "6.3-dev"
}
},
"autoload": {
@@ -20072,15 +20411,27 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter",
+ "type": "tidelift"
}
],
- "time": "2024-12-05T09:17:50+00:00"
+ "time": "2025-09-24T06:12:51+00:00"
},
{
"name": "sebastian/global-state",
@@ -20569,27 +20920,28 @@
},
{
"name": "symfony/browser-kit",
- "version": "v7.3.2",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "f0b889b73a845cddef1d25fe207b37fd04cb5419"
+ "reference": "3bb26dafce31633b1f699894c86379eefc8af5bb"
},
"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/3bb26dafce31633b1f699894c86379eefc8af5bb",
+ "reference": "3bb26dafce31633b1f699894c86379eefc8af5bb",
"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": {
@@ -20617,7 +20969,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.0"
},
"funding": [
{
@@ -20637,34 +20989,34 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:47:49+00:00"
+ "time": "2025-11-05T14:29:59+00:00"
},
{
"name": "symfony/debug-bundle",
- "version": "v7.3.0",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug-bundle.git",
- "reference": "781acc90f31f5fe18915f9276890864ebbbe3da8"
+ "reference": "329383fb895353e3c8ab792cc35c4a7e7b17881b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/781acc90f31f5fe18915f9276890864ebbbe3da8",
- "reference": "781acc90f31f5fe18915f9276890864ebbbe3da8",
+ "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": {
@@ -20692,7 +21044,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.0"
+ "source": "https://github.com/symfony/debug-bundle/tree/v7.4.0"
},
"funding": [
{
@@ -20703,40 +21055,44 @@
"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-04T13:21:13+00:00"
+ "time": "2025-10-24T13:56:35+00:00"
},
{
"name": "symfony/maker-bundle",
- "version": "v1.64.0",
+ "version": "v1.65.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
- "reference": "c86da84640b0586e92aee2b276ee3638ef2f425a"
+ "reference": "9a0276d7486b29cae641b4a0a85d5e5cc149bff2"
},
"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/9a0276d7486b29cae641b4a0a85d5e5cc149bff2",
+ "reference": "9a0276d7486b29cae641b4a0a85d5e5cc149bff2",
"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",
@@ -20744,13 +21100,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",
@@ -20785,7 +21142,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.0"
},
"funding": [
{
@@ -20796,37 +21153,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-11-24T15:41:51+00:00"
},
{
"name": "symfony/phpunit-bridge",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "7954e563ed14f924593169f6c4645d58d9d9ac77"
+ "reference": "059b051b38f2138ef104dd848fa48f0cbbb7d78b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/7954e563ed14f924593169f6c4645d58d9d9ac77",
- "reference": "7954e563ed14f924593169f6c4645d58d9d9ac77",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/059b051b38f2138ef104dd848fa48f0cbbb7d78b",
+ "reference": "059b051b38f2138ef104dd848fa48f0cbbb7d78b",
"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"
@@ -20870,7 +21227,7 @@
"testing"
],
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v7.3.3"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.0"
},
"funding": [
{
@@ -20890,32 +21247,32 @@
"type": "tidelift"
}
],
- "time": "2025-08-04T15:15:28+00:00"
+ "time": "2025-10-28T22:44:23+00:00"
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v7.3.3",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "6ee224d6e9de787a47622b9ad4880e205ef16ad1"
+ "reference": "dcd955ca9c60f2942194854518049f8ae4dbd696"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/6ee224d6e9de787a47622b9ad4880e205ef16ad1",
- "reference": "6ee224d6e9de787a47622b9ad4880e205ef16ad1",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/dcd955ca9c60f2942194854518049f8ae4dbd696",
+ "reference": "dcd955ca9c60f2942194854518049f8ae4dbd696",
"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",
@@ -20925,10 +21282,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": {
@@ -20959,7 +21317,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.3.3"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.4.0"
},
"funding": [
{
@@ -20979,20 +21337,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-19T13:44:55+00:00"
+ "time": "2025-11-19T14:48:01+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": {
@@ -21021,7 +21379,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": [
{
@@ -21029,7 +21387,7 @@
"type": "github"
}
],
- "time": "2024-03-03T12:36:25+00:00"
+ "time": "2025-11-17T20:03:58+00:00"
}
],
"aliases": [],
@@ -21049,9 +21407,9 @@
"ext-json": "*",
"ext-mbstring": "*"
},
- "platform-dev": [],
+ "platform-dev": {},
"platform-overrides": {
"php": "8.2.0"
},
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/config/packages/doctrine.php b/config/packages/doctrine.php
new file mode 100644
index 00000000..47584ed7
--- /dev/null
+++ b/config/packages/doctrine.php
@@ -0,0 +1,33 @@
+.
+ */
+
+declare(strict_types=1);
+
+/**
+ * This class extends the default doctrine ORM configuration to enable native lazy objects on PHP 8.4+.
+ * We have to do this in a PHP file, because the yaml file does not support conditionals on PHP version.
+ */
+
+return static function(\Symfony\Config\DoctrineConfig $doctrine) {
+ //On PHP 8.4+ we can use native lazy objects, which are much more efficient than proxies.
+ if (PHP_VERSION_ID >= 80400) {
+ $doctrine->orm()->enableNativeLazyObjects(true);
+ }
+};
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/nelmio_security.yaml b/config/packages/nelmio_security.yaml
index c283cd8e..6b2b7337 100644
--- a/config/packages/nelmio_security.yaml
+++ b/config/packages/nelmio_security.yaml
@@ -20,12 +20,6 @@ nelmio_security:
- 'digikey.com'
- 'nexar.com'
- # forces Microsoft's XSS-Protection with
- # its block mode
- xss_protection:
- enabled: true
- mode_block: true
-
# Send a full URL in the `Referer` header when performing a same-origin request,
# only send the origin of the document to secure destination (HTTPS->HTTPS),
# and send no header to a less secure destination (HTTPS->HTTP).
diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml
index cbc1cd7e..a3f529e3 100644
--- a/config/packages/translation.yaml
+++ b/config/packages/translation.yaml
@@ -1,7 +1,7 @@
framework:
default_locale: 'en'
# Just enable the locales we need for performance reasons.
- enabled_locale: '%partdb.locale_menu%'
+ enabled_locale: ['en', 'de', 'it', 'fr', 'ru', 'ja', 'cs', 'da', 'zh', 'pl']
translator:
default_path: '%kernel.project_dir%/translations'
fallbacks:
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/parameters.yaml b/config/parameters.yaml
index 154fbd8a..b79e2b88 100644
--- a/config/parameters.yaml
+++ b/config/parameters.yaml
@@ -8,9 +8,9 @@ parameters:
# This is used as workaround for places where we can not access the settings directly (like the 2FA application names)
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'] # The languages that are shown in user drop down menu
+ 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.
@@ -104,3 +104,9 @@ parameters:
env(SAML_ROLE_MAPPING): '{}'
env(DATABASE_EMULATE_NATURAL_SORT): 0
+
+ ######################################################################################################################
+ # Bulk Info Provider Import Configuration
+ ######################################################################################################################
+ partdb.bulk_import.batch_size: 20 # Number of parts to process in each batch during bulk operations
+ partdb.bulk_import.max_parts_per_operation: 1000 # Maximum number of parts allowed per bulk import operation
diff --git a/config/permissions.yaml b/config/permissions.yaml
index 8cbd60c3..5adfb79d 100644
--- a/config/permissions.yaml
+++ b/config/permissions.yaml
@@ -18,13 +18,13 @@ 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"
# If a part can be read by a user, he can also see all the datastructures (except devices)
alsoSet: ['storelocations.read', 'footprints.read', 'categories.read', 'suppliers.read', 'manufacturers.read',
- 'currencies.read', 'attachment_types.read', 'measurement_units.read']
+ 'currencies.read', 'attachment_types.read', 'measurement_units.read', 'part_custom_states.read']
apiTokenRole: ROLE_API_READ_ONLY
edit:
label: "perm.edit"
@@ -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,35 +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: "{{part_custom_state}}"
tools:
label: "perm.part.tools"
@@ -373,4 +377,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..6ea52419
--- /dev/null
+++ b/config/reference.php
@@ -0,0 +1,2896 @@
+ [
+ * 'App\\' => [
+ * 'resource' => '../src/',
+ * ],
+ * ],
+ * ]);
+ * ```
+ *
+ * @psalm-type ImportsConfig = list
+ * @psalm-type ParametersConfig = array|null>|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|null,
+ * http_method_override?: bool, // 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|null, // Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
+ * ide?: scalar|null, // Default: "%env(default::SYMFONY_IDE)%"
+ * test?: bool,
+ * default_locale?: scalar|null, // Default: "en"
+ * set_locale_from_accept_language?: bool, // 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, // 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|null, // Default: "error_controller"
+ * handle_all_throwables?: bool, // HttpKernel will handle all kinds of \Throwable. // Default: true
+ * csrf_protection?: bool|array{
+ * enabled?: scalar|null, // Default: null
+ * stateless_token_ids?: list,
+ * check_header?: scalar|null, // Whether to check the CSRF token in a header in addition to a cookie when using stateless protection. // Default: false
+ * cookie_name?: scalar|null, // The name of the cookie to use when using stateless protection. // Default: "csrf-token"
+ * },
+ * form?: bool|array{ // Form configuration
+ * enabled?: bool, // Default: true
+ * csrf_protection?: array{
+ * enabled?: scalar|null, // Default: null
+ * token_id?: scalar|null, // Default: null
+ * field_name?: scalar|null, // Default: "_token"
+ * field_attr?: array,
+ * },
+ * },
+ * http_cache?: bool|array{ // HTTP cache configuration
+ * enabled?: bool, // Default: false
+ * debug?: bool, // Default: "%kernel.debug%"
+ * trace_level?: "none"|"short"|"full",
+ * trace_header?: scalar|null,
+ * default_ttl?: int,
+ * private_headers?: list,
+ * skip_response_headers?: list,
+ * allow_reload?: bool,
+ * allow_revalidate?: bool,
+ * stale_while_revalidate?: int,
+ * stale_if_error?: int,
+ * terminate_on_cache_hit?: bool,
+ * },
+ * esi?: bool|array{ // ESI configuration
+ * enabled?: bool, // Default: false
+ * },
+ * ssi?: bool|array{ // SSI configuration
+ * enabled?: bool, // Default: false
+ * },
+ * fragments?: bool|array{ // Fragments configuration
+ * enabled?: bool, // Default: false
+ * hinclude_default_template?: scalar|null, // Default: null
+ * path?: scalar|null, // Default: "/_fragment"
+ * },
+ * profiler?: bool|array{ // Profiler configuration
+ * enabled?: bool, // Default: false
+ * collect?: bool, // Default: true
+ * collect_parameter?: scalar|null, // The name of the parameter to use to enable or disable collection on a per request basis. // Default: null
+ * only_exceptions?: bool, // Default: false
+ * only_main_requests?: bool, // Default: false
+ * dsn?: scalar|null, // Default: "file:%kernel.cache_dir%/profiler"
+ * collect_serializer_data?: bool, // Enables the serializer data collector and profiler panel. // Default: false
+ * },
+ * workflows?: bool|array{
+ * enabled?: bool, // Default: false
+ * workflows?: array,
+ * definition_validators?: list,
+ * support_strategy?: scalar|null,
+ * initial_marking?: list,
+ * events_to_dispatch?: list|null,
+ * places?: list,
+ * }>,
+ * transitions: list,
+ * to?: list,
+ * weight?: int, // Default: 1
+ * metadata?: list,
+ * }>,
+ * metadata?: list,
+ * }>,
+ * },
+ * router?: bool|array{ // Router configuration
+ * enabled?: bool, // Default: false
+ * resource: scalar|null,
+ * type?: scalar|null,
+ * cache_dir?: scalar|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|null, // The default URI used to generate URLs in a non-HTTP context. // Default: null
+ * http_port?: scalar|null, // Default: 80
+ * https_port?: scalar|null, // Default: 443
+ * strict_requirements?: scalar|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, // Default: true
+ * },
+ * session?: bool|array{ // Session configuration
+ * enabled?: bool, // Default: false
+ * storage_factory_id?: scalar|null, // Default: "session.storage.factory.native"
+ * handler_id?: scalar|null, // Defaults to using the native session handler, or to the native *file* session handler if "save_path" is not null.
+ * name?: scalar|null,
+ * cookie_lifetime?: scalar|null,
+ * cookie_path?: scalar|null,
+ * cookie_domain?: scalar|null,
+ * cookie_secure?: true|false|"auto", // Default: "auto"
+ * cookie_httponly?: bool, // Default: true
+ * cookie_samesite?: null|"lax"|"strict"|"none", // Default: "lax"
+ * use_cookies?: bool,
+ * gc_divisor?: scalar|null,
+ * gc_probability?: scalar|null,
+ * gc_maxlifetime?: scalar|null,
+ * save_path?: scalar|null, // Defaults to "%kernel.cache_dir%/sessions" if the "handler_id" option is not null.
+ * metadata_update_threshold?: int, // Seconds to wait between 2 session metadata updates. // Default: 0
+ * sid_length?: int, // 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, // 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, // Default: false
+ * formats?: array>,
+ * },
+ * assets?: bool|array{ // Assets configuration
+ * enabled?: bool, // Default: true
+ * strict_mode?: bool, // Throw an exception if an entry is missing from the manifest.json. // Default: false
+ * version_strategy?: scalar|null, // Default: null
+ * version?: scalar|null, // Default: null
+ * version_format?: scalar|null, // Default: "%%s?%%s"
+ * json_manifest_path?: scalar|null, // Default: null
+ * base_path?: scalar|null, // Default: ""
+ * base_urls?: list,
+ * packages?: array,
+ * }>,
+ * },
+ * asset_mapper?: bool|array{ // Asset Mapper configuration
+ * enabled?: bool, // Default: false
+ * paths?: array,
+ * excluded_patterns?: list,
+ * exclude_dotfiles?: bool, // If true, any files starting with "." will be excluded from the asset mapper. // Default: true
+ * server?: bool, // 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|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", // 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|null, // The path of the importmap.php file. // Default: "%kernel.project_dir%/importmap.php"
+ * importmap_polyfill?: scalar|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|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, // Default: false
+ * formats?: list,
+ * extensions?: list,
+ * },
+ * },
+ * translator?: bool|array{ // Translator configuration
+ * enabled?: bool, // Default: true
+ * fallbacks?: list,
+ * logging?: bool, // Default: false
+ * formatter?: scalar|null, // Default: "translator.formatter.default"
+ * cache_dir?: scalar|null, // Default: "%kernel.cache_dir%/translations"
+ * default_path?: scalar|null, // The default path used to load translations. // Default: "%kernel.project_dir%/translations"
+ * paths?: list,
+ * pseudo_localization?: bool|array{
+ * enabled?: bool, // Default: false
+ * accents?: bool, // Default: true
+ * expansion_factor?: float, // Default: 1.0
+ * brackets?: bool, // Default: true
+ * parse_html?: bool, // Default: false
+ * localizable_html_attributes?: list,
+ * },
+ * providers?: array,
+ * locales?: list,
+ * }>,
+ * globals?: array,
+ * domain?: string,
+ * }>,
+ * },
+ * validation?: bool|array{ // Validation configuration
+ * enabled?: bool, // Default: true
+ * cache?: scalar|null, // Deprecated: Setting the "framework.validation.cache.cache" configuration option is deprecated. It will be removed in version 8.0.
+ * enable_attributes?: bool, // Default: true
+ * static_method?: list,
+ * translation_domain?: scalar|null, // Default: "validators"
+ * email_validation_mode?: "html5"|"html5-allow-no-tld"|"strict"|"loose", // Default: "html5"
+ * mapping?: array{
+ * paths?: list,
+ * },
+ * not_compromised_password?: bool|array{
+ * enabled?: bool, // When disabled, compromised passwords will be accepted as valid. // Default: true
+ * endpoint?: scalar|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null
+ * },
+ * disable_translation?: bool, // Default: false
+ * auto_mapping?: array,
+ * }>,
+ * },
+ * annotations?: bool|array{
+ * enabled?: bool, // Default: false
+ * },
+ * serializer?: bool|array{ // Serializer configuration
+ * enabled?: bool, // Default: true
+ * enable_attributes?: bool, // Default: true
+ * name_converter?: scalar|null,
+ * circular_reference_handler?: scalar|null,
+ * max_depth_handler?: scalar|null,
+ * mapping?: array{
+ * paths?: list,
+ * },
+ * default_context?: list,
+ * named_serializers?: array,
+ * include_built_in_normalizers?: bool, // Whether to include the built-in normalizers // Default: true
+ * include_built_in_encoders?: bool, // Whether to include the built-in encoders // Default: true
+ * }>,
+ * },
+ * property_access?: bool|array{ // Property access configuration
+ * enabled?: bool, // Default: true
+ * magic_call?: bool, // Default: false
+ * magic_get?: bool, // Default: true
+ * magic_set?: bool, // Default: true
+ * throw_exception_on_invalid_index?: bool, // Default: false
+ * throw_exception_on_invalid_property_path?: bool, // Default: true
+ * },
+ * type_info?: bool|array{ // Type info configuration
+ * enabled?: bool, // Default: true
+ * aliases?: array,
+ * },
+ * property_info?: bool|array{ // Property info configuration
+ * enabled?: bool, // Default: true
+ * with_constructor_extractor?: bool, // Registers the constructor extractor.
+ * },
+ * cache?: array{ // Cache configuration
+ * prefix_seed?: scalar|null, // Used to namespace cache keys when using several apps with the same shared backend. // Default: "_%kernel.project_dir%.%kernel.container_class%"
+ * app?: scalar|null, // App related cache pools configuration. // Default: "cache.adapter.filesystem"
+ * system?: scalar|null, // System related cache pools configuration. // Default: "cache.adapter.system"
+ * directory?: scalar|null, // Default: "%kernel.share_dir%/pools/app"
+ * default_psr6_provider?: scalar|null,
+ * default_redis_provider?: scalar|null, // Default: "redis://localhost"
+ * default_valkey_provider?: scalar|null, // Default: "valkey://localhost"
+ * default_memcached_provider?: scalar|null, // Default: "memcached://localhost"
+ * default_doctrine_dbal_provider?: scalar|null, // Default: "database_connection"
+ * default_pdo_provider?: scalar|null, // Default: null
+ * pools?: array,
+ * tags?: scalar|null, // Default: null
+ * public?: bool, // Default: false
+ * default_lifetime?: scalar|null, // Default lifetime of the pool.
+ * provider?: scalar|null, // Overwrite the setting from the default provider for this adapter.
+ * early_expiration_message_bus?: scalar|null,
+ * clearer?: scalar|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, // Throw PHP errors as \ErrorException instances. // Default: true
+ * },
+ * exceptions?: array,
+ * web_link?: bool|array{ // Web links configuration
+ * enabled?: bool, // Default: true
+ * },
+ * lock?: bool|string|array{ // Lock configuration
+ * enabled?: bool, // Default: false
+ * resources?: array>,
+ * },
+ * semaphore?: bool|string|array{ // Semaphore configuration
+ * enabled?: bool, // Default: false
+ * resources?: array,
+ * },
+ * messenger?: bool|array{ // Messenger configuration
+ * enabled?: bool, // Default: false
+ * routing?: array,
+ * }>,
+ * serializer?: array{
+ * default_serializer?: scalar|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
+ * symfony_serializer?: array{
+ * format?: scalar|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|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * retry_strategy?: string|array{
+ * service?: scalar|null, // Service id to override the retry strategy entirely. // Default: null
+ * max_retries?: int, // Default: 3
+ * delay?: int, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
+ * max_delay?: int, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
+ * },
+ * rate_limiter?: scalar|null, // Rate limiter name to use when processing messages. // Default: null
+ * }>,
+ * failure_transport?: scalar|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * stop_worker_on_signals?: list,
+ * default_bus?: scalar|null, // Default: null
+ * buses?: array,
+ * }>,
+ * }>,
+ * },
+ * scheduler?: bool|array{ // Scheduler configuration
+ * enabled?: bool, // Default: false
+ * },
+ * disallow_search_engine_index?: bool, // Enabled by default when debug is enabled. // Default: true
+ * http_client?: bool|array{ // HTTP Client configuration
+ * enabled?: bool, // Default: true
+ * max_host_connections?: int, // The maximum number of connections to a single host.
+ * default_options?: array{
+ * headers?: array,
+ * vars?: list,
+ * max_redirects?: int, // The maximum number of redirects to follow.
+ * http_version?: scalar|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|null, // A certificate authority file.
+ * capath?: scalar|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|null, // A private key file.
+ * passphrase?: scalar|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|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|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: list,
+ * rate_limiter?: scalar|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool, // Default: false
+ * cache_pool?: string, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool, // Default: false
+ * retry_strategy?: scalar|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: array,
+ * }>,
+ * max_retries?: int, // Default: 3
+ * delay?: int, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * },
+ * mock_response_factory?: scalar|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, // The maximum number of redirects to follow.
+ * http_version?: scalar|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|null, // A certificate authority file.
+ * capath?: scalar|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|null, // A private key file.
+ * passphrase?: scalar|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|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|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: list,
+ * rate_limiter?: scalar|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool, // Default: false
+ * cache_pool?: string, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool, // Default: false
+ * retry_strategy?: scalar|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: array,
+ * }>,
+ * max_retries?: int, // Default: 3
+ * delay?: int, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * }>,
+ * },
+ * mailer?: bool|array{ // Mailer configuration
+ * enabled?: bool, // Default: true
+ * message_bus?: scalar|null, // The message bus to use. Defaults to the default bus if the Messenger component is installed. // Default: null
+ * dsn?: scalar|null, // Default: null
+ * transports?: array,
+ * envelope?: array{ // Mailer Envelope configuration
+ * sender?: scalar|null,
+ * recipients?: list,
+ * allowed_recipients?: list,
+ * },
+ * headers?: array,
+ * dkim_signer?: bool|array{ // DKIM signer configuration
+ * enabled?: bool, // Default: false
+ * key?: scalar|null, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
+ * domain?: scalar|null, // Default: ""
+ * select?: scalar|null, // Default: ""
+ * passphrase?: scalar|null, // The private key passphrase // Default: ""
+ * options?: array,
+ * },
+ * smime_signer?: bool|array{ // S/MIME signer configuration
+ * enabled?: bool, // Default: false
+ * key?: scalar|null, // Path to key (in PEM format) // Default: ""
+ * certificate?: scalar|null, // Path to certificate (in PEM format without the `file://` prefix) // Default: ""
+ * passphrase?: scalar|null, // The private key passphrase // Default: null
+ * extra_certificates?: scalar|null, // Default: null
+ * sign_options?: int, // Default: null
+ * },
+ * smime_encrypter?: bool|array{ // S/MIME encrypter configuration
+ * enabled?: bool, // Default: false
+ * repository?: scalar|null, // S/MIME certificate repository service. This service shall implement the `Symfony\Component\Mailer\EventListener\SmimeCertificateRepositoryInterface`. // Default: ""
+ * cipher?: int, // A set of algorithms used to encrypt the message // Default: null
+ * },
+ * },
+ * secrets?: bool|array{
+ * enabled?: bool, // Default: true
+ * vault_directory?: scalar|null, // Default: "%kernel.project_dir%/config/secrets/%kernel.runtime_environment%"
+ * local_dotenv_file?: scalar|null, // Default: "%kernel.project_dir%/.env.%kernel.runtime_environment%.local"
+ * decryption_env_var?: scalar|null, // Default: "base64:default::SYMFONY_DECRYPTION_SECRET"
+ * },
+ * notifier?: bool|array{ // Notifier configuration
+ * enabled?: bool, // Default: false
+ * message_bus?: scalar|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, // Default: false
+ * channel_policy?: array>,
+ * admin_recipients?: list,
+ * },
+ * rate_limiter?: bool|array{ // Rate limiter configuration
+ * enabled?: bool, // Default: true
+ * limiters?: array,
+ * limit?: int, // The maximum allowed hits in a fixed interval or burst.
+ * interval?: scalar|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|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, // Amount of tokens to add each interval. // Default: 1
+ * },
+ * }>,
+ * },
+ * uid?: bool|array{ // Uid configuration
+ * enabled?: bool, // Default: true
+ * default_uuid_version?: 7|6|4|1, // Default: 7
+ * name_based_uuid_version?: 5|3, // Default: 5
+ * name_based_uuid_namespace?: scalar|null,
+ * time_based_uuid_version?: 7|6|1, // Default: 7
+ * time_based_uuid_node?: scalar|null,
+ * },
+ * html_sanitizer?: bool|array{ // HtmlSanitizer configuration
+ * enabled?: bool, // Default: false
+ * sanitizers?: array,
+ * block_elements?: list,
+ * drop_elements?: list,
+ * allow_attributes?: array,
+ * drop_attributes?: array,
+ * force_attributes?: array>,
+ * force_https_urls?: bool, // 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, // 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, // 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, // The maximum length allowed for the sanitized input. // Default: 0
+ * }>,
+ * },
+ * webhook?: bool|array{ // Webhook configuration
+ * enabled?: bool, // Default: false
+ * message_bus?: scalar|null, // The message bus to use. // Default: "messenger.default_bus"
+ * routing?: array,
+ * },
+ * remote-event?: bool|array{ // RemoteEvent configuration
+ * enabled?: bool, // Default: false
+ * },
+ * json_streamer?: bool|array{ // JSON streamer configuration
+ * enabled?: bool, // Default: false
+ * },
+ * }
+ * @psalm-type DoctrineConfig = array{
+ * dbal?: array{
+ * default_connection?: scalar|null,
+ * types?: array,
+ * driver_schemes?: array,
+ * connections?: array,
+ * mapping_types?: array,
+ * default_table_options?: array,
+ * schema_manager_factory?: scalar|null, // Default: "doctrine.dbal.default_schema_manager_factory"
+ * result_cache?: scalar|null,
+ * slaves?: array,
+ * replicas?: array,
+ * }>,
+ * },
+ * orm?: array{
+ * default_entity_manager?: scalar|null,
+ * auto_generate_proxy_classes?: scalar|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, // Enables the new implementation of proxies based on lazy ghosts instead of using the legacy implementation // Default: true
+ * enable_native_lazy_objects?: bool, // Enables the new native implementation of PHP lazy objects instead of generated proxies // Default: false
+ * proxy_dir?: scalar|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|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, // Default: true
+ * auto_mapping?: bool|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, // Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
+ * },
+ * entity_managers?: array,
+ * }>,
+ * }>,
+ * },
+ * connection?: scalar|null,
+ * class_metadata_factory_name?: scalar|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
+ * default_repository_class?: scalar|null, // Default: "Doctrine\\ORM\\EntityRepository"
+ * auto_mapping?: scalar|null, // Default: false
+ * naming_strategy?: scalar|null, // Default: "doctrine.orm.naming_strategy.default"
+ * quote_strategy?: scalar|null, // Default: "doctrine.orm.quote_strategy.default"
+ * typed_field_mapper?: scalar|null, // Default: "doctrine.orm.typed_field_mapper.default"
+ * entity_listener_resolver?: scalar|null, // Default: null
+ * fetch_mode_subselect_batch_size?: scalar|null,
+ * repository_factory?: scalar|null, // Default: "doctrine.orm.container_repository_factory"
+ * schema_ignore_classes?: list,
+ * report_fields_where_declared?: bool, // 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, // 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|null, // Default: null
+ * id?: scalar|null,
+ * pool?: scalar|null,
+ * },
+ * region_lock_lifetime?: scalar|null, // Default: 60
+ * log_enabled?: bool, // Default: true
+ * region_lifetime?: scalar|null, // Default: 3600
+ * enabled?: bool, // Default: true
+ * factory?: scalar|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, // 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|null, // Default: null
+ * version_column_name?: scalar|null, // Default: null
+ * version_column_length?: scalar|null, // Default: null
+ * executed_at_column_name?: scalar|null, // Default: null
+ * execution_time_column_name?: scalar|null, // Default: null
+ * },
+ * },
+ * migrations?: list,
+ * connection?: scalar|null, // Connection name to use for the migrations database. // Default: null
+ * em?: scalar|null, // Entity manager name to use for the migrations database (available when doctrine/orm is installed). // Default: null
+ * all_or_nothing?: scalar|null, // Run all migrations in a transaction. // Default: false
+ * check_database_platform?: scalar|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|null, // Custom template path for generated migration classes. // Default: null
+ * organize_migrations?: scalar|null, // Organize migrations mode. Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false // Default: false
+ * enable_profiler?: bool, // Whether or not to enable the profiler collector to calculate and visualize migration status. This adds some queries overhead. // Default: false
+ * transactional?: bool, // Whether or not to wrap migrations in a single transaction. // Default: true
+ * }
+ * @psalm-type SecurityConfig = array{
+ * access_denied_url?: scalar|null, // Default: null
+ * session_fixation_strategy?: "none"|"migrate"|"invalidate", // Default: "migrate"
+ * hide_user_not_found?: bool, // 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, // Default: "none"
+ * erase_credentials?: bool, // Default: true
+ * access_decision_manager?: array{
+ * strategy?: "affirmative"|"consensus"|"unanimous"|"priority",
+ * service?: scalar|null,
+ * strategy_service?: scalar|null,
+ * allow_if_all_abstain?: bool, // Default: false
+ * allow_if_equal_granted_denied?: bool, // Default: true
+ * },
+ * password_hashers?: array,
+ * hash_algorithm?: scalar|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|null, // Default: 40
+ * ignore_case?: bool, // Default: false
+ * encode_as_base64?: bool, // Default: true
+ * iterations?: scalar|null, // Default: 5000
+ * cost?: int, // Default: null
+ * memory_cost?: scalar|null, // Default: null
+ * time_cost?: scalar|null, // Default: null
+ * id?: scalar|null,
+ * }>,
+ * providers?: array,
+ * },
+ * entity?: array{
+ * class: scalar|null, // The full entity class name of your user class.
+ * property?: scalar|null, // Default: null
+ * manager_name?: scalar|null, // Default: null
+ * },
+ * memory?: array{
+ * users?: array,
+ * }>,
+ * },
+ * ldap?: array{
+ * service: scalar|null,
+ * base_dn: scalar|null,
+ * search_dn?: scalar|null, // Default: null
+ * search_password?: scalar|null, // Default: null
+ * extra_fields?: list,
+ * default_roles?: list,
+ * role_fetcher?: scalar|null, // Default: null
+ * uid_key?: scalar|null, // Default: "sAMAccountName"
+ * filter?: scalar|null, // Default: "({uid_key}={user_identifier})"
+ * password_attribute?: scalar|null, // Default: null
+ * },
+ * saml?: array{
+ * user_class: scalar|null,
+ * default_roles?: list,
+ * },
+ * }>,
+ * firewalls: array,
+ * security?: bool, // Default: true
+ * user_checker?: scalar|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
+ * request_matcher?: scalar|null,
+ * access_denied_url?: scalar|null,
+ * access_denied_handler?: scalar|null,
+ * entry_point?: scalar|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
+ * provider?: scalar|null,
+ * stateless?: bool, // Default: false
+ * lazy?: bool, // Default: false
+ * context?: scalar|null,
+ * logout?: array{
+ * enable_csrf?: bool|null, // Default: null
+ * csrf_token_id?: scalar|null, // Default: "logout"
+ * csrf_parameter?: scalar|null, // Default: "_csrf_token"
+ * csrf_token_manager?: scalar|null,
+ * path?: scalar|null, // Default: "/logout"
+ * target?: scalar|null, // Default: "/"
+ * invalidate_session?: bool, // Default: true
+ * clear_site_data?: list<"*"|"cache"|"cookies"|"storage"|"executionContexts">,
+ * delete_cookies?: array,
+ * },
+ * switch_user?: array{
+ * provider?: scalar|null,
+ * parameter?: scalar|null, // Default: "_switch_user"
+ * role?: scalar|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
+ * target_route?: scalar|null, // Default: null
+ * },
+ * required_badges?: list,
+ * custom_authenticators?: list,
+ * login_throttling?: array{
+ * limiter?: scalar|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
+ * max_attempts?: int, // Default: 5
+ * interval?: scalar|null, // Default: "1 minute"
+ * lock_factory?: scalar|null, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
+ * cache_pool?: string, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
+ * storage_service?: string, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
+ * },
+ * two_factor?: array{
+ * check_path?: scalar|null, // Default: "/2fa_check"
+ * post_only?: bool, // Default: true
+ * auth_form_path?: scalar|null, // Default: "/2fa"
+ * always_use_default_target_path?: bool, // Default: false
+ * default_target_path?: scalar|null, // Default: "/"
+ * success_handler?: scalar|null, // Default: null
+ * failure_handler?: scalar|null, // Default: null
+ * authentication_required_handler?: scalar|null, // Default: null
+ * auth_code_parameter_name?: scalar|null, // Default: "_auth_code"
+ * trusted_parameter_name?: scalar|null, // Default: "_trusted"
+ * remember_me_sets_trusted?: scalar|null, // Default: false
+ * multi_factor?: bool, // Default: false
+ * prepare_on_login?: bool, // Default: false
+ * prepare_on_access_denied?: bool, // Default: false
+ * enable_csrf?: scalar|null, // Default: false
+ * csrf_parameter?: scalar|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|null, // Default: "two_factor"
+ * csrf_header?: scalar|null, // Default: null
+ * csrf_token_manager?: scalar|null, // Default: "scheb_two_factor.csrf_token_manager"
+ * provider?: scalar|null, // Default: null
+ * },
+ * webauthn?: array{
+ * user_provider?: scalar|null, // Default: null
+ * options_storage?: scalar|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|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultSuccessHandler"
+ * failure_handler?: scalar|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultFailureHandler"
+ * secured_rp_ids?: array,
+ * authentication?: bool|array{
+ * enabled?: bool, // Default: true
+ * profile?: scalar|null, // Default: "default"
+ * options_builder?: scalar|null, // Default: null
+ * routes?: array{
+ * host?: scalar|null, // Default: null
+ * options_method?: scalar|null, // Default: "POST"
+ * options_path?: scalar|null, // Default: "/login/options"
+ * result_method?: scalar|null, // Default: "POST"
+ * result_path?: scalar|null, // Default: "/login"
+ * },
+ * options_handler?: scalar|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultRequestOptionsHandler"
+ * },
+ * registration?: bool|array{
+ * enabled?: bool, // Default: false
+ * profile?: scalar|null, // Default: "default"
+ * options_builder?: scalar|null, // Default: null
+ * routes?: array{
+ * host?: scalar|null, // Default: null
+ * options_method?: scalar|null, // Default: "POST"
+ * options_path?: scalar|null, // Default: "/register/options"
+ * result_method?: scalar|null, // Default: "POST"
+ * result_path?: scalar|null, // Default: "/register"
+ * },
+ * options_handler?: scalar|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultCreationOptionsHandler"
+ * },
+ * },
+ * x509?: array{
+ * provider?: scalar|null,
+ * user?: scalar|null, // Default: "SSL_CLIENT_S_DN_Email"
+ * credentials?: scalar|null, // Default: "SSL_CLIENT_S_DN"
+ * user_identifier?: scalar|null, // Default: "emailAddress"
+ * },
+ * remote_user?: array{
+ * provider?: scalar|null,
+ * user?: scalar|null, // Default: "REMOTE_USER"
+ * },
+ * saml?: array{
+ * provider?: scalar|null,
+ * remember_me?: bool, // Default: true
+ * success_handler?: scalar|null, // Default: "Nbgrp\\OneloginSamlBundle\\Security\\Http\\Authentication\\SamlAuthenticationSuccessHandler"
+ * failure_handler?: scalar|null,
+ * check_path?: scalar|null, // Default: "/login_check"
+ * use_forward?: bool, // Default: false
+ * login_path?: scalar|null, // Default: "/login"
+ * identifier_attribute?: scalar|null, // Default: null
+ * use_attribute_friendly_name?: bool, // Default: false
+ * user_factory?: scalar|null, // Default: null
+ * token_factory?: scalar|null, // Default: null
+ * persist_user?: bool, // Default: false
+ * always_use_default_target_path?: bool, // Default: false
+ * default_target_path?: scalar|null, // Default: "/"
+ * target_path_parameter?: scalar|null, // Default: "_target_path"
+ * use_referer?: bool, // Default: false
+ * failure_path?: scalar|null, // Default: null
+ * failure_forward?: bool, // Default: false
+ * failure_path_parameter?: scalar|null, // Default: "_failure_path"
+ * },
+ * login_link?: array{
+ * check_route: scalar|null, // Route that will validate the login link - e.g. "app_login_link_verify".
+ * check_post_only?: scalar|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
+ * signature_properties: list,
+ * lifetime?: int, // The lifetime of the login link in seconds. // Default: 600
+ * max_uses?: int, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
+ * used_link_cache?: scalar|null, // Cache service id used to expired links of max_uses is set.
+ * success_handler?: scalar|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
+ * failure_handler?: scalar|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
+ * provider?: scalar|null, // The user provider to load users from.
+ * secret?: scalar|null, // Default: "%kernel.secret%"
+ * always_use_default_target_path?: bool, // Default: false
+ * default_target_path?: scalar|null, // Default: "/"
+ * login_path?: scalar|null, // Default: "/login"
+ * target_path_parameter?: scalar|null, // Default: "_target_path"
+ * use_referer?: bool, // Default: false
+ * failure_path?: scalar|null, // Default: null
+ * failure_forward?: bool, // Default: false
+ * failure_path_parameter?: scalar|null, // Default: "_failure_path"
+ * },
+ * form_login?: array{
+ * provider?: scalar|null,
+ * remember_me?: bool, // Default: true
+ * success_handler?: scalar|null,
+ * failure_handler?: scalar|null,
+ * check_path?: scalar|null, // Default: "/login_check"
+ * use_forward?: bool, // Default: false
+ * login_path?: scalar|null, // Default: "/login"
+ * username_parameter?: scalar|null, // Default: "_username"
+ * password_parameter?: scalar|null, // Default: "_password"
+ * csrf_parameter?: scalar|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|null, // Default: "authenticate"
+ * enable_csrf?: bool, // Default: false
+ * post_only?: bool, // Default: true
+ * form_only?: bool, // Default: false
+ * always_use_default_target_path?: bool, // Default: false
+ * default_target_path?: scalar|null, // Default: "/"
+ * target_path_parameter?: scalar|null, // Default: "_target_path"
+ * use_referer?: bool, // Default: false
+ * failure_path?: scalar|null, // Default: null
+ * failure_forward?: bool, // Default: false
+ * failure_path_parameter?: scalar|null, // Default: "_failure_path"
+ * },
+ * form_login_ldap?: array{
+ * provider?: scalar|null,
+ * remember_me?: bool, // Default: true
+ * success_handler?: scalar|null,
+ * failure_handler?: scalar|null,
+ * check_path?: scalar|null, // Default: "/login_check"
+ * use_forward?: bool, // Default: false
+ * login_path?: scalar|null, // Default: "/login"
+ * username_parameter?: scalar|null, // Default: "_username"
+ * password_parameter?: scalar|null, // Default: "_password"
+ * csrf_parameter?: scalar|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|null, // Default: "authenticate"
+ * enable_csrf?: bool, // Default: false
+ * post_only?: bool, // Default: true
+ * form_only?: bool, // Default: false
+ * always_use_default_target_path?: bool, // Default: false
+ * default_target_path?: scalar|null, // Default: "/"
+ * target_path_parameter?: scalar|null, // Default: "_target_path"
+ * use_referer?: bool, // Default: false
+ * failure_path?: scalar|null, // Default: null
+ * failure_forward?: bool, // Default: false
+ * failure_path_parameter?: scalar|null, // Default: "_failure_path"
+ * service?: scalar|null, // Default: "ldap"
+ * dn_string?: scalar|null, // Default: "{user_identifier}"
+ * query_string?: scalar|null,
+ * search_dn?: scalar|null, // Default: ""
+ * search_password?: scalar|null, // Default: ""
+ * },
+ * json_login?: array{
+ * provider?: scalar|null,
+ * remember_me?: bool, // Default: true
+ * success_handler?: scalar|null,
+ * failure_handler?: scalar|null,
+ * check_path?: scalar|null, // Default: "/login_check"
+ * use_forward?: bool, // Default: false
+ * login_path?: scalar|null, // Default: "/login"
+ * username_path?: scalar|null, // Default: "username"
+ * password_path?: scalar|null, // Default: "password"
+ * },
+ * json_login_ldap?: array{
+ * provider?: scalar|null,
+ * remember_me?: bool, // Default: true
+ * success_handler?: scalar|null,
+ * failure_handler?: scalar|null,
+ * check_path?: scalar|null, // Default: "/login_check"
+ * use_forward?: bool, // Default: false
+ * login_path?: scalar|null, // Default: "/login"
+ * username_path?: scalar|null, // Default: "username"
+ * password_path?: scalar|null, // Default: "password"
+ * service?: scalar|null, // Default: "ldap"
+ * dn_string?: scalar|null, // Default: "{user_identifier}"
+ * query_string?: scalar|null,
+ * search_dn?: scalar|null, // Default: ""
+ * search_password?: scalar|null, // Default: ""
+ * },
+ * access_token?: array{
+ * provider?: scalar|null,
+ * remember_me?: bool, // Default: true
+ * success_handler?: scalar|null,
+ * failure_handler?: scalar|null,
+ * realm?: scalar|null, // Default: null
+ * token_extractors?: list,
+ * token_handler: string|array{
+ * id?: scalar|null,
+ * oidc_user_info?: string|array{
+ * base_uri: scalar|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|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
+ * client?: scalar|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|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
+ * audience: scalar|null, // Audience set in the token, for validation purpose.
+ * issuers: list,
+ * algorithm?: array,
+ * algorithms: list,
+ * key?: scalar|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|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
+ * encryption?: bool|array{
+ * enabled?: bool, // Default: false
+ * enforce?: bool, // When enabled, the token shall be encrypted. // Default: false
+ * algorithms: list,
+ * keyset: scalar|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
+ * },
+ * },
+ * cas?: array{
+ * validation_url: scalar|null, // CAS server validation URL
+ * prefix?: scalar|null, // CAS prefix // Default: "cas"
+ * http_client?: scalar|null, // HTTP Client service // Default: null
+ * },
+ * oauth2?: scalar|null,
+ * },
+ * },
+ * http_basic?: array{
+ * provider?: scalar|null,
+ * realm?: scalar|null, // Default: "Secured Area"
+ * },
+ * http_basic_ldap?: array{
+ * provider?: scalar|null,
+ * realm?: scalar|null, // Default: "Secured Area"
+ * service?: scalar|null, // Default: "ldap"
+ * dn_string?: scalar|null, // Default: "{user_identifier}"
+ * query_string?: scalar|null,
+ * search_dn?: scalar|null, // Default: ""
+ * search_password?: scalar|null, // Default: ""
+ * },
+ * remember_me?: array{
+ * secret?: scalar|null, // Default: "%kernel.secret%"
+ * service?: scalar|null,
+ * user_providers?: list,
+ * catch_exceptions?: bool, // Default: true
+ * signature_properties?: list,
+ * token_provider?: string|array{
+ * service?: scalar|null, // The service ID of a custom remember-me token provider.
+ * doctrine?: bool|array{
+ * enabled?: bool, // Default: false
+ * connection?: scalar|null, // Default: null
+ * },
+ * },
+ * token_verifier?: scalar|null, // The service ID of a custom rememberme token verifier.
+ * name?: scalar|null, // Default: "REMEMBERME"
+ * lifetime?: int, // Default: 31536000
+ * path?: scalar|null, // Default: "/"
+ * domain?: scalar|null, // Default: null
+ * secure?: true|false|"auto", // Default: null
+ * httponly?: bool, // Default: true
+ * samesite?: null|"lax"|"strict"|"none", // Default: "lax"
+ * always_remember_me?: bool, // Default: false
+ * remember_me_parameter?: scalar|null, // Default: "_remember_me"
+ * },
+ * }>,
+ * access_control?: list,
+ * attributes?: array,
+ * route?: scalar|null, // Default: null
+ * methods?: list,
+ * allow_if?: scalar|null, // Default: null
+ * roles?: list,
+ * }>,
+ * role_hierarchy?: array>,
+ * }
+ * @psalm-type TwigConfig = array{
+ * form_themes?: list,
+ * globals?: array,
+ * autoescape_service?: scalar|null, // Default: null
+ * autoescape_service_method?: scalar|null, // Default: null
+ * base_template_class?: scalar|null, // Deprecated: The child node "base_template_class" at path "twig.base_template_class" is deprecated.
+ * cache?: scalar|null, // Default: true
+ * charset?: scalar|null, // Default: "%kernel.charset%"
+ * debug?: bool, // Default: "%kernel.debug%"
+ * strict_variables?: bool, // Default: "%kernel.debug%"
+ * auto_reload?: scalar|null,
+ * optimizations?: int,
+ * default_path?: scalar|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|null, // Default: "F j, Y H:i"
+ * interval_format?: scalar|null, // Default: "%d days"
+ * timezone?: scalar|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, // Default: 0
+ * decimal_point?: scalar|null, // Default: "."
+ * thousands_separator?: scalar|null, // Default: ","
+ * },
+ * mailer?: array{
+ * html_to_text_converter?: scalar|null, // A service implementing the "Symfony\Component\Mime\HtmlToTextConverter\HtmlToTextConverterInterface". // Default: null
+ * },
+ * }
+ * @psalm-type WebProfilerConfig = array{
+ * toolbar?: bool|array{ // Profiler toolbar configuration
+ * enabled?: bool, // Default: false
+ * ajax_replace?: bool, // Replace toolbar on AJAX requests // Default: false
+ * },
+ * intercept_redirects?: bool, // Default: false
+ * excluded_ajax_paths?: scalar|null, // Default: "^/((index|app(_[\\w]+)?)\\.php/)?_wdt"
+ * }
+ * @psalm-type MonologConfig = array{
+ * use_microseconds?: scalar|null, // Default: true
+ * channels?: list,
+ * handlers?: array,
+ * excluded_http_codes?: list,
+ * }>,
+ * accepted_levels?: list,
+ * min_level?: scalar|null, // Default: "DEBUG"
+ * max_level?: scalar|null, // Default: "EMERGENCY"
+ * buffer_size?: scalar|null, // Default: 0
+ * flush_on_overflow?: bool, // Default: false
+ * handler?: scalar|null,
+ * url?: scalar|null,
+ * exchange?: scalar|null,
+ * exchange_name?: scalar|null, // Default: "log"
+ * room?: scalar|null,
+ * message_format?: scalar|null, // Default: "text"
+ * api_version?: scalar|null, // Default: null
+ * channel?: scalar|null, // Default: null
+ * bot_name?: scalar|null, // Default: "Monolog"
+ * use_attachment?: scalar|null, // Default: true
+ * use_short_attachment?: scalar|null, // Default: false
+ * include_extra?: scalar|null, // Default: false
+ * icon_emoji?: scalar|null, // Default: null
+ * webhook_url?: scalar|null,
+ * exclude_fields?: list,
+ * team?: scalar|null,
+ * notify?: scalar|null, // Default: false
+ * nickname?: scalar|null, // Default: "Monolog"
+ * token?: scalar|null,
+ * region?: scalar|null,
+ * source?: scalar|null,
+ * use_ssl?: bool, // Default: true
+ * user?: mixed,
+ * title?: scalar|null, // Default: null
+ * host?: scalar|null, // Default: null
+ * port?: scalar|null, // Default: 514
+ * config?: list,
+ * members?: list,
+ * connection_string?: scalar|null,
+ * timeout?: scalar|null,
+ * time?: scalar|null, // Default: 60
+ * deduplication_level?: scalar|null, // Default: 400
+ * store?: scalar|null, // Default: null
+ * connection_timeout?: scalar|null,
+ * persistent?: bool,
+ * dsn?: scalar|null,
+ * hub_id?: scalar|null, // Default: null
+ * client_id?: scalar|null, // Default: null
+ * auto_log_stacks?: scalar|null, // Default: false
+ * release?: scalar|null, // Default: null
+ * environment?: scalar|null, // Default: null
+ * message_type?: scalar|null, // Default: 0
+ * parse_mode?: scalar|null, // Default: null
+ * disable_webpage_preview?: bool|null, // Default: null
+ * disable_notification?: bool|null, // Default: null
+ * split_long_messages?: bool, // Default: false
+ * delay_between_messages?: bool, // Default: false
+ * topic?: int, // Default: null
+ * factor?: int, // 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|null,
+ * nested?: bool, // Default: false
+ * publisher?: string|array{
+ * id?: scalar|null,
+ * hostname?: scalar|null,
+ * port?: scalar|null, // Default: 12201
+ * chunk_size?: scalar|null, // Default: 1420
+ * encoder?: "json"|"compressed_json",
+ * },
+ * mongo?: string|array{
+ * id?: scalar|null,
+ * host?: scalar|null,
+ * port?: scalar|null, // Default: 27017
+ * user?: scalar|null,
+ * pass?: scalar|null,
+ * database?: scalar|null, // Default: "monolog"
+ * collection?: scalar|null, // Default: "logs"
+ * },
+ * mongodb?: string|array{
+ * id?: scalar|null, // ID of a MongoDB\Client service
+ * uri?: scalar|null,
+ * username?: scalar|null,
+ * password?: scalar|null,
+ * database?: scalar|null, // Default: "monolog"
+ * collection?: scalar|null, // Default: "logs"
+ * },
+ * elasticsearch?: string|array{
+ * id?: scalar|null,
+ * hosts?: list,
+ * host?: scalar|null,
+ * port?: scalar|null, // Default: 9200
+ * transport?: scalar|null, // Default: "Http"
+ * user?: scalar|null, // Default: null
+ * password?: scalar|null, // Default: null
+ * },
+ * index?: scalar|null, // Default: "monolog"
+ * document_type?: scalar|null, // Default: "logs"
+ * ignore_error?: scalar|null, // Default: false
+ * redis?: string|array{
+ * id?: scalar|null,
+ * host?: scalar|null,
+ * password?: scalar|null, // Default: null
+ * port?: scalar|null, // Default: 6379
+ * database?: scalar|null, // Default: 0
+ * key_name?: scalar|null, // Default: "monolog_redis"
+ * },
+ * predis?: string|array{
+ * id?: scalar|null,
+ * host?: scalar|null,
+ * },
+ * from_email?: scalar|null,
+ * to_email?: list,
+ * subject?: scalar|null,
+ * content_type?: scalar|null, // Default: null
+ * headers?: list,
+ * mailer?: scalar|null, // Default: null
+ * email_prototype?: string|array{
+ * id: scalar|null,
+ * method?: scalar|null, // Default: null
+ * },
+ * lazy?: bool, // Default: true
+ * verbosity_levels?: array{
+ * VERBOSITY_QUIET?: scalar|null, // Default: "ERROR"
+ * VERBOSITY_NORMAL?: scalar|null, // Default: "WARNING"
+ * VERBOSITY_VERBOSE?: scalar|null, // Default: "NOTICE"
+ * VERBOSITY_VERY_VERBOSE?: scalar|null, // Default: "INFO"
+ * VERBOSITY_DEBUG?: scalar|null, // Default: "DEBUG"
+ * },
+ * channels?: string|array{
+ * type?: scalar|null,
+ * elements?: list,
+ * },
+ * }>,
+ * }
+ * @psalm-type DebugConfig = array{
+ * max_items?: int, // Max number of displayed items past the first level, -1 means no limit. // Default: 2500
+ * min_depth?: int, // Minimum tree depth to clone all the items, 1 is default. // Default: 1
+ * max_string_length?: int, // Max length of displayed strings, -1 means no limit. // Default: -1
+ * dump_destination?: scalar|null, // A stream URL where dumps should be written to. // Default: null
+ * theme?: "dark"|"light", // 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|null, // Default: "App"
+ * generate_final_classes?: bool, // Default: true
+ * generate_final_entities?: bool, // Default: false
+ * }
+ * @psalm-type WebpackEncoreConfig = array{
+ * output_path: scalar|null, // The path where Encore is building the assets - i.e. Encore.setOutputPath()
+ * crossorigin?: false|"anonymous"|"use-credentials", // crossorigin value when Encore.enableIntegrityHashes() is used, can be false (default), anonymous or use-credentials // Default: false
+ * preload?: bool, // preload all rendered script and link tags automatically via the http2 Link header. // Default: false
+ * cache?: bool, // Enable caching of the entry point file(s) // Default: false
+ * strict_mode?: bool, // 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, // Load i18n data from DataTables CDN or locally // Default: true
+ * persist_state?: "none"|"query"|"fragment"|"local"|"session", // Where to persist the current table state automatically // Default: "fragment"
+ * method?: "GET"|"POST", // Default HTTP method to be used for callbacks // Default: "POST"
+ * options?: array,
+ * renderer?: scalar|null, // Default service used to render templates, built-in TwigRenderer uses global Twig environment // Default: "Omines\\DataTablesBundle\\Twig\\TwigRenderer"
+ * template?: scalar|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|null, // Default class attribute to apply to the root table elements // Default: "table table-bordered"
+ * columnFilter?: "thead"|"tfoot"|"both"|null, // If and where to enable the DataTables Filter module // Default: null
+ * ...
+ * },
+ * translation_domain?: scalar|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|null,
+ * cache_prefix?: scalar|null, // Default: ""
+ * root_url: scalar|null,
+ * visibility?: "public"|"private"|"noPredefinedVisibility", // Default: "public"
+ * },
+ * }>,
+ * loaders?: array,
+ * allow_unresolvable_data_roots?: bool, // Default: false
+ * bundle_resources?: array{
+ * enabled?: bool, // Default: false
+ * access_control_type?: "blacklist"|"whitelist", // 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|null,
+ * },
+ * chain?: array{
+ * loaders: list,
+ * },
+ * }>,
+ * driver?: scalar|null, // Default: "gd"
+ * cache?: scalar|null, // Default: "default"
+ * cache_base_path?: scalar|null, // Default: ""
+ * data_loader?: scalar|null, // Default: "default"
+ * default_image?: scalar|null, // Default: null
+ * default_filter_set_settings?: array{
+ * quality?: scalar|null, // Default: 100
+ * jpeg_quality?: scalar|null, // Default: null
+ * png_compression_level?: scalar|null, // Default: null
+ * png_compression_filter?: scalar|null, // Default: null
+ * format?: scalar|null, // Default: null
+ * animated?: bool, // Default: false
+ * cache?: scalar|null, // Default: null
+ * data_loader?: scalar|null, // Default: null
+ * default_image?: scalar|null, // Default: null
+ * filters?: array>,
+ * post_processors?: array>,
+ * },
+ * controller?: array{
+ * filter_action?: scalar|null, // Default: "Liip\\ImagineBundle\\Controller\\ImagineController::filterAction"
+ * filter_runtime_action?: scalar|null, // Default: "Liip\\ImagineBundle\\Controller\\ImagineController::filterRuntimeAction"
+ * redirect_response_code?: int, // Default: 302
+ * },
+ * filter_sets?: array>,
+ * post_processors?: array>,
+ * }>,
+ * twig?: array{
+ * mode?: "none"|"lazy"|"legacy", // Twig mode: none/lazy/legacy (default) // Default: "legacy"
+ * assets_version?: scalar|null, // Default: null
+ * },
+ * enqueue?: bool, // 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, // Default: false
+ * },
+ * templating?: bool, // Enables integration with symfony/templating component // Default: true
+ * webp?: array{
+ * generate?: bool, // Default: false
+ * quality?: int, // Default: 100
+ * cache?: scalar|null, // Default: null
+ * data_loader?: scalar|null, // Default: null
+ * post_processors?: array>,
+ * },
+ * }
+ * @psalm-type TwigExtraConfig = array{
+ * cache?: bool|array{
+ * enabled?: bool, // Default: false
+ * },
+ * html?: bool|array{
+ * enabled?: bool, // Default: true
+ * },
+ * markdown?: bool|array{
+ * enabled?: bool, // Default: true
+ * },
+ * intl?: bool|array{
+ * enabled?: bool, // Default: true
+ * },
+ * cssinliner?: bool|array{
+ * enabled?: bool, // Default: true
+ * },
+ * inky?: bool|array{
+ * enabled?: bool, // Default: true
+ * },
+ * string?: bool|array{
+ * enabled?: bool, // Default: true
+ * },
+ * commonmark?: array{
+ * renderer?: array{ // Array of options for rendering HTML.
+ * block_separator?: scalar|null,
+ * inner_separator?: scalar|null,
+ * soft_break?: scalar|null,
+ * },
+ * html_input?: "strip"|"allow"|"escape", // How to handle HTML input.
+ * allow_unsafe_links?: bool, // Remove risky link and image URLs by setting this to false. // Default: true
+ * max_nesting_level?: int, // The maximum nesting level for blocks. // Default: 9223372036854775807
+ * max_delimiters_per_line?: int, // 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, // Default: 255
+ * unique?: mixed,
+ * },
+ * commonmark?: array{ // Array of options for configuring the CommonMark core extension.
+ * enable_em?: bool, // Default: true
+ * enable_strong?: bool, // Default: true
+ * use_asterisk?: bool, // Default: true
+ * use_underscore?: bool, // Default: true
+ * unordered_list_markers?: list,
+ * },
+ * ...
+ * },
+ * }
+ * @psalm-type GregwarCaptchaConfig = array{
+ * length?: scalar|null, // Default: 5
+ * width?: scalar|null, // Default: 130
+ * height?: scalar|null, // Default: 50
+ * font?: scalar|null, // Default: "C:\\Users\\mail\\Documents\\PHP\\Part-DB-server\\vendor\\gregwar\\captcha-bundle\\DependencyInjection/../Generator/Font/captcha.ttf"
+ * keep_value?: scalar|null, // Default: false
+ * charset?: scalar|null, // Default: "abcdefhjkmnprstuvwxyz23456789"
+ * as_file?: scalar|null, // Default: false
+ * as_url?: scalar|null, // Default: false
+ * reload?: scalar|null, // Default: false
+ * image_folder?: scalar|null, // Default: "captcha"
+ * web_path?: scalar|null, // Default: "%kernel.project_dir%/public"
+ * gc_freq?: scalar|null, // Default: 100
+ * expiration?: scalar|null, // Default: 60
+ * quality?: scalar|null, // Default: 50
+ * invalid_message?: scalar|null, // Default: "Bad code value"
+ * bypass_code?: scalar|null, // Default: null
+ * whitelist_key?: scalar|null, // Default: "captcha_whitelist_key"
+ * humanity?: scalar|null, // Default: 0
+ * distortion?: scalar|null, // Default: true
+ * max_front_lines?: scalar|null, // Default: null
+ * max_behind_lines?: scalar|null, // Default: null
+ * interpolation?: scalar|null, // Default: true
+ * text_color?: list,
+ * background_color?: list,
+ * background_images?: list,
+ * disabled?: scalar|null, // Default: false
+ * ignore_all_effects?: scalar|null, // Default: false
+ * session_key?: scalar|null, // Default: "captcha"
+ * }
+ * @psalm-type FlorianvSwapConfig = array{
+ * cache?: array{
+ * ttl?: int, // Default: 3600
+ * type?: scalar|null, // A cache type or service id // Default: null
+ * },
+ * providers?: array{
+ * apilayer_fixer?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * apilayer_currency_data?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * apilayer_exchange_rates_data?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * abstract_api?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * fixer?: array{
+ * priority?: int, // Default: 0
+ * access_key: scalar|null,
+ * enterprise?: bool, // Default: false
+ * },
+ * cryptonator?: array{
+ * priority?: int, // Default: 0
+ * },
+ * exchange_rates_api?: array{
+ * priority?: int, // Default: 0
+ * access_key: scalar|null,
+ * enterprise?: bool, // Default: false
+ * },
+ * webservicex?: array{
+ * priority?: int, // Default: 0
+ * },
+ * central_bank_of_czech_republic?: array{
+ * priority?: int, // Default: 0
+ * },
+ * central_bank_of_republic_turkey?: array{
+ * priority?: int, // Default: 0
+ * },
+ * european_central_bank?: array{
+ * priority?: int, // Default: 0
+ * },
+ * national_bank_of_romania?: array{
+ * priority?: int, // Default: 0
+ * },
+ * russian_central_bank?: array{
+ * priority?: int, // Default: 0
+ * },
+ * frankfurter?: array{
+ * priority?: int, // Default: 0
+ * },
+ * fawazahmed_currency_api?: array{
+ * priority?: int, // Default: 0
+ * },
+ * bulgarian_national_bank?: array{
+ * priority?: int, // Default: 0
+ * },
+ * national_bank_of_ukraine?: array{
+ * priority?: int, // Default: 0
+ * },
+ * currency_data_feed?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * currency_layer?: array{
+ * priority?: int, // Default: 0
+ * access_key: scalar|null,
+ * enterprise?: bool, // Default: false
+ * },
+ * forge?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * open_exchange_rates?: array{
+ * priority?: int, // Default: 0
+ * app_id: scalar|null,
+ * enterprise?: bool, // Default: false
+ * },
+ * xignite?: array{
+ * priority?: int, // Default: 0
+ * token: scalar|null,
+ * },
+ * xchangeapi?: array{
+ * priority?: int, // Default: 0
+ * api_key: scalar|null,
+ * },
+ * currency_converter?: array{
+ * priority?: int, // Default: 0
+ * access_key: scalar|null,
+ * enterprise?: bool, // Default: false
+ * },
+ * array?: array{
+ * priority?: int, // Default: 0
+ * latestRates: mixed,
+ * historicalRates?: mixed,
+ * },
+ * },
+ * }
+ * @psalm-type NelmioSecurityConfig = array{
+ * signed_cookie?: array{
+ * names?: list,
+ * secret?: scalar|null, // Default: "%kernel.secret%"
+ * hash_algo?: scalar|null,
+ * legacy_hash_algo?: scalar|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|null, // Default: "."
+ * },
+ * clickjacking?: array{
+ * hosts?: list,
+ * paths?: array,
+ * content_types?: list,
+ * },
+ * external_redirects?: array{
+ * abort?: bool, // Default: false
+ * override?: scalar|null, // Default: null
+ * forward_as?: scalar|null, // Default: null
+ * log?: bool, // Default: false
+ * allow_list?: list,
+ * },
+ * flexible_ssl?: bool|array{
+ * enabled?: bool, // Default: false
+ * cookie_name?: scalar|null, // Default: "auth"
+ * unsecured_logout?: bool, // Default: false
+ * },
+ * forced_ssl?: bool|array{
+ * enabled?: bool, // Default: false
+ * hsts_max_age?: scalar|null, // Default: null
+ * hsts_subdomains?: bool, // Default: false
+ * hsts_preload?: bool, // Default: false
+ * allow_list?: list,
+ * hosts?: list,
+ * redirect_status_code?: scalar|null, // Default: 302
+ * },
+ * content_type?: array{
+ * nosniff?: bool, // Default: false
+ * },
+ * xss_protection?: array{ // Deprecated: The "xss_protection" option is deprecated, use Content Security Policy without allowing "unsafe-inline" scripts instead.
+ * enabled?: bool, // Default: false
+ * mode_block?: bool, // Default: false
+ * report_uri?: scalar|null, // Default: null
+ * },
+ * csp?: bool|array{
+ * enabled?: bool, // Default: true
+ * request_matcher?: scalar|null, // Default: null
+ * hosts?: list,
+ * content_types?: list,
+ * report_endpoint?: array{
+ * log_channel?: scalar|null, // Default: null
+ * log_formatter?: scalar|null, // Default: "nelmio_security.csp_report.log_formatter"
+ * log_level?: "alert"|"critical"|"debug"|"emergency"|"error"|"info"|"notice"|"warning", // Default: "notice"
+ * filters?: array{
+ * domains?: bool, // Default: true
+ * schemes?: bool, // Default: true
+ * browser_bugs?: bool, // Default: true
+ * injected_scripts?: bool, // Default: true
+ * },
+ * dismiss?: list>,
+ * },
+ * compat_headers?: bool, // Default: true
+ * report_logger_service?: scalar|null, // Default: "logger"
+ * hash?: array{
+ * algorithm?: "sha256"|"sha384"|"sha512", // The algorithm to use for hashes // Default: "sha256"
+ * },
+ * report?: array{
+ * level1_fallback?: bool, // 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, // Default: false
+ * parser?: scalar|null, // Default: "nelmio_security.ua_parser.ua_php"
+ * },
+ * default-src?: list,
+ * base-uri?: list,
+ * block-all-mixed-content?: bool, // 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, // Default: false
+ * report-uri?: list,
+ * worker-src?: list,
+ * prefetch-src?: list,
+ * report-to?: scalar|null,
+ * },
+ * enforce?: array{
+ * level1_fallback?: bool, // 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, // Default: false
+ * parser?: scalar|null, // Default: "nelmio_security.ua_parser.ua_php"
+ * },
+ * default-src?: list,
+ * base-uri?: list,
+ * block-all-mixed-content?: bool, // 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, // Default: false
+ * report-uri?: list,
+ * worker-src?: list,
+ * prefetch-src?: list,
+ * report-to?: scalar|null,
+ * },
+ * },
+ * referrer_policy?: bool|array{
+ * enabled?: bool, // Default: false
+ * policies?: list,
+ * },
+ * permissions_policy?: bool|array{
+ * enabled?: bool, // 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
+ * },
+ * },
+ * }
+ * @psalm-type TurboConfig = array{
+ * broadcast?: bool|array{
+ * enabled?: bool, // Default: true
+ * entity_template_prefixes?: list,
+ * doctrine_orm?: bool|array{ // Enable the Doctrine ORM integration
+ * enabled?: bool, // Default: true
+ * },
+ * },
+ * default_transport?: scalar|null, // Default: "default"
+ * }
+ * @psalm-type TfaWebauthnConfig = array{
+ * enabled?: scalar|null, // Default: false
+ * timeout?: int, // Default: 60000
+ * rpID?: scalar|null, // Default: null
+ * rpName?: scalar|null, // Default: "Webauthn Application"
+ * rpIcon?: scalar|null, // Default: null
+ * template?: scalar|null, // Default: "@TFAWebauthn/Authentication/form.html.twig"
+ * U2FAppID?: scalar|null, // Default: null
+ * }
+ * @psalm-type SchebTwoFactorConfig = array{
+ * persister?: scalar|null, // Default: "scheb_two_factor.persister.doctrine"
+ * model_manager_name?: scalar|null, // Default: null
+ * security_tokens?: list,
+ * ip_whitelist?: list,
+ * ip_whitelist_provider?: scalar|null, // Default: "scheb_two_factor.default_ip_whitelist_provider"
+ * two_factor_token_factory?: scalar|null, // Default: "scheb_two_factor.default_token_factory"
+ * two_factor_provider_decider?: scalar|null, // Default: "scheb_two_factor.default_provider_decider"
+ * two_factor_condition?: scalar|null, // Default: null
+ * code_reuse_cache?: scalar|null, // Default: null
+ * code_reuse_cache_duration?: int, // Default: 60
+ * code_reuse_default_handler?: scalar|null, // Default: null
+ * trusted_device?: bool|array{
+ * enabled?: scalar|null, // Default: false
+ * manager?: scalar|null, // Default: "scheb_two_factor.default_trusted_device_manager"
+ * lifetime?: int, // Default: 5184000
+ * extend_lifetime?: bool, // Default: false
+ * key?: scalar|null, // Default: null
+ * cookie_name?: scalar|null, // Default: "trusted_device"
+ * cookie_secure?: true|false|"auto", // Default: "auto"
+ * cookie_domain?: scalar|null, // Default: null
+ * cookie_path?: scalar|null, // Default: "/"
+ * cookie_same_site?: scalar|null, // Default: "lax"
+ * },
+ * backup_codes?: bool|array{
+ * enabled?: scalar|null, // Default: false
+ * manager?: scalar|null, // Default: "scheb_two_factor.default_backup_code_manager"
+ * },
+ * google?: bool|array{
+ * enabled?: scalar|null, // Default: false
+ * form_renderer?: scalar|null, // Default: null
+ * issuer?: scalar|null, // Default: null
+ * server_name?: scalar|null, // Default: null
+ * template?: scalar|null, // Default: "@SchebTwoFactor/Authentication/form.html.twig"
+ * digits?: int, // Default: 6
+ * leeway?: int, // Default: 0
+ * },
+ * }
+ * @psalm-type WebauthnConfig = array{
+ * fake_credential_generator?: scalar|null, // A service that implements the FakeCredentialGenerator to generate fake credentials for preventing username enumeration. // Default: "Webauthn\\SimpleFakeCredentialGenerator"
+ * clock?: scalar|null, // PSR-20 Clock service. // Default: "webauthn.clock.default"
+ * options_storage?: scalar|null, // Service responsible of the options/user entity storage during the ceremony // Default: "Webauthn\\Bundle\\Security\\Storage\\SessionStorage"
+ * event_dispatcher?: scalar|null, // PSR-14 Event Dispatcher service. // Default: "Psr\\EventDispatcher\\EventDispatcherInterface"
+ * http_client?: scalar|null, // A Symfony HTTP client. // Default: "webauthn.http_client.default"
+ * logger?: scalar|null, // A PSR-3 logger to receive logs during the processes // Default: "webauthn.logger.default"
+ * credential_repository?: scalar|null, // This repository is responsible of the credential storage // Default: "Webauthn\\Bundle\\Repository\\DummyPublicKeyCredentialSourceRepository"
+ * user_repository?: scalar|null, // This repository is responsible of the user storage // Default: "Webauthn\\Bundle\\Repository\\DummyPublicKeyCredentialUserEntityRepository"
+ * allowed_origins?: array,
+ * allow_subdomains?: bool, // Default: false
+ * secured_rp_ids?: array,
+ * counter_checker?: scalar|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|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|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, // Default: false
+ * mds_repository: scalar|null, // The Metadata Statement repository.
+ * status_report_repository: scalar|null, // The Status Report repository.
+ * certificate_chain_checker?: scalar|null, // A Certificate Chain checker. // Default: "Webauthn\\MetadataService\\CertificateChain\\PhpCertificateChainValidator"
+ * },
+ * controllers?: bool|array{
+ * enabled?: bool, // Default: false
+ * creation?: array,
+ * allow_subdomains?: bool, // Default: false
+ * secured_rp_ids?: array,
+ * }>,
+ * request?: array,
+ * allow_subdomains?: bool, // Default: false
+ * secured_rp_ids?: array,
+ * }>,
+ * },
+ * }
+ * @psalm-type NbgrpOneloginSamlConfig = array{ // nb:group OneLogin PHP Symfony Bundle configuration
+ * onelogin_settings?: array/saml/"
+ * strict?: bool,
+ * debug?: bool,
+ * idp: array{
+ * entityId: scalar|null,
+ * singleSignOnService: array{
+ * url: scalar|null,
+ * binding?: scalar|null,
+ * },
+ * singleLogoutService?: array{
+ * url?: scalar|null,
+ * responseUrl?: scalar|null,
+ * binding?: scalar|null,
+ * },
+ * x509cert?: scalar|null,
+ * certFingerprint?: scalar|null,
+ * certFingerprintAlgorithm?: "sha1"|"sha256"|"sha384"|"sha512",
+ * x509certMulti?: array{
+ * signing?: list,
+ * encryption?: list,
+ * },
+ * },
+ * sp?: array{
+ * entityId?: scalar|null, // Default: "/saml/metadata"
+ * assertionConsumerService?: array{
+ * url?: scalar|null, // Default: "/saml/acs"
+ * binding?: scalar|null,
+ * },
+ * attributeConsumingService?: array{
+ * serviceName?: scalar|null,
+ * serviceDescription?: scalar|null,
+ * requestedAttributes?: list,
+ * }>,
+ * },
+ * singleLogoutService?: array{
+ * url?: scalar|null, // Default: "/saml/logout"
+ * binding?: scalar|null,
+ * },
+ * NameIDFormat?: scalar|null,
+ * x509cert?: scalar|null,
+ * privateKey?: scalar|null,
+ * x509certNew?: scalar|null,
+ * },
+ * compress?: array{
+ * requests?: bool,
+ * responses?: bool,
+ * },
+ * security?: array{
+ * nameIdEncrypted?: bool,
+ * authnRequestsSigned?: bool,
+ * logoutRequestSigned?: bool,
+ * logoutResponseSigned?: bool,
+ * signMetadata?: bool,
+ * wantMessagesSigned?: bool,
+ * wantAssertionsEncrypted?: bool,
+ * wantAssertionsSigned?: bool,
+ * wantNameId?: bool,
+ * wantNameIdEncrypted?: bool,
+ * requestedAuthnContext?: mixed,
+ * requestedAuthnContextComparison?: "exact"|"minimum"|"maximum"|"better",
+ * wantXMLValidation?: bool,
+ * relaxDestinationValidation?: bool,
+ * destinationStrictlyMatches?: bool,
+ * allowRepeatAttributeName?: bool,
+ * rejectUnsolicitedResponsesWithInResponseTo?: bool,
+ * signatureAlgorithm?: "http:\/\/www.w3.org\/2000\/09\/xmldsig#rsa-sha1"|"http:\/\/www.w3.org\/2000\/09\/xmldsig#dsa-sha1"|"http:\/\/www.w3.org\/2001\/04\/xmldsig-more#rsa-sha256"|"http:\/\/www.w3.org\/2001\/04\/xmldsig-more#rsa-sha384"|"http:\/\/www.w3.org\/2001\/04\/xmldsig-more#rsa-sha512",
+ * digestAlgorithm?: "http:\/\/www.w3.org\/2000\/09\/xmldsig#sha1"|"http:\/\/www.w3.org\/2001\/04\/xmlenc#sha256"|"http:\/\/www.w3.org\/2001\/04\/xmldsig-more#sha384"|"http:\/\/www.w3.org\/2001\/04\/xmlenc#sha512",
+ * encryption_algorithm?: "http:\/\/www.w3.org\/2001\/04\/xmlenc#tripledes-cbc"|"http:\/\/www.w3.org\/2001\/04\/xmlenc#aes128-cbc"|"http:\/\/www.w3.org\/2001\/04\/xmlenc#aes192-cbc"|"http:\/\/www.w3.org\/2001\/04\/xmlenc#aes256-cbc"|"http:\/\/www.w3.org\/2009\/xmlenc11#aes128-gcm"|"http:\/\/www.w3.org\/2009\/xmlenc11#aes192-gcm"|"http:\/\/www.w3.org\/2009\/xmlenc11#aes256-gcm",
+ * lowercaseUrlencoding?: bool,
+ * },
+ * contactPerson?: array{
+ * technical?: array{
+ * givenName: scalar|null,
+ * emailAddress: scalar|null,
+ * },
+ * support?: array{
+ * givenName: scalar|null,
+ * emailAddress: scalar|null,
+ * },
+ * administrative?: array{
+ * givenName: scalar|null,
+ * emailAddress: scalar|null,
+ * },
+ * billing?: array{
+ * givenName: scalar|null,
+ * emailAddress: scalar|null,
+ * },
+ * other?: array{
+ * givenName: scalar|null,
+ * emailAddress: scalar|null,
+ * },
+ * },
+ * organization?: list