diff --git a/.env b/.env
index 3ba3d65d..8d5e5a54 100644
--- a/.env
+++ b/.env
@@ -71,6 +71,17 @@ DISABLE_WEB_UPDATES=1
# Restoring backups is a destructive operation that could overwrite your database.
DISABLE_BACKUP_RESTORE=1
+# Disable backup download from the Update Manager UI (0=enabled, 1=disabled).
+# Backups contain sensitive data including password hashes and secrets.
+# When enabled, users must confirm their password before downloading.
+DISABLE_BACKUP_DOWNLOAD=1
+
+# Watchtower integration for Docker-based updates.
+# Set these to enable one-click updates via the Update Manager UI.
+# See https://containrrr.dev/watchtower/ for Watchtower setup.
+WATCHTOWER_API_URL=
+WATCHTOWER_API_TOKEN=
+
###################################################################################
# SAML Single sign on-settings
###################################################################################
@@ -116,6 +127,10 @@ SAML_SP_PRIVATE_KEY="MIIE..."
# In demo mode things it is not possible for a user to change his password and his settings.
DEMO_MODE=0
+# When this is set to 1, users can make Part-DB directly download a file specified as a URL from the local network and create it as a local file.
+# This allows users access to all resources available in the local network, which could be a security risk, so use this only if you trust your users and have a secure local network.
+ALLOW_ATTACHMENT_DOWNLOADS_FROM_LOCALNETWORK=0
+
# Change this to true, if no url rewriting (like mod_rewrite for Apache) is available
# In that case all URL contains the index.php front controller in URL
NO_URL_REWRITE_AVAILABLE=0
@@ -146,3 +161,11 @@ APP_ENV=prod
APP_SECRET=a03498528f5a5fc089273ec9ae5b2849
APP_SHARE_DIR=var/share
###< symfony/framework-bundle ###
+
+###> symfony/ai-generic-platform ###
+# GENERIC_BASE_URL=https://api.example.com/v1
+###< symfony/ai-generic-platform ###
+
+###> symfony/ai-open-router-platform ###
+OPENROUTER_API_KEY=
+###< symfony/ai-open-router-platform ###
diff --git a/.github/workflows/assets_artifact_build.yml b/.github/workflows/assets_artifact_build.yml
index 3409b7fd..a74ae7cc 100644
--- a/.github/workflows/assets_artifact_build.yml
+++ b/.github/workflows/assets_artifact_build.yml
@@ -8,6 +8,9 @@ on:
branches:
- '*'
- "!l10n_*" # Dont test localization branches
+ tags:
+ - 'v*.*.*'
+ - 'v*.*.*-**'
pull_request:
branches:
- '*'
@@ -17,6 +20,8 @@ jobs:
assets_artifact_build:
name: Build assets artifact
runs-on: ubuntu-22.04
+ permissions:
+ contents: write
env:
APP_ENV: prod
@@ -62,7 +67,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v6
with:
- node-version: '20'
+ node-version: '22'
- name: Install yarn dependencies
run: yarn install
@@ -80,13 +85,20 @@ jobs:
run: zip -r /tmp/partdb_assets.zip public/build/ vendor/
- name: Upload assets artifact
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: Only dependencies and built assets
path: /tmp/partdb_assets.zip
- name: Upload full artifact
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: Full Part-DB including dependencies and built assets
path: /tmp/partdb_with_assets.zip
+
+ - name: Upload assets as release attachment
+ if: startsWith(github.ref, 'refs/tags/')
+ run: |
+ gh release upload "${{ github.ref_name }}" /tmp/partdb_assets.zip /tmp/partdb_with_assets.zip --clobber
+ env:
+ GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml
index 1eff846e..210dbc18 100644
--- a/.github/workflows/docker_build.yml
+++ b/.github/workflows/docker_build.yml
@@ -36,7 +36,7 @@ jobs:
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@v5
+ uses: docker/metadata-action@v6
with:
# list of Docker images to use as base name for tags
images: |
@@ -66,11 +66,11 @@ jobs:
-
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
+ uses: docker/setup-buildx-action@v4
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
- uses: docker/login-action@v3
+ uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -78,7 +78,7 @@ jobs:
-
name: Build and push by digest
id: build
- uses: docker/build-push-action@v6
+ uses: docker/build-push-action@v7
with:
context: .
platforms: ${{ matrix.platform }}
@@ -98,7 +98,7 @@ jobs:
-
name: Upload digest
if: github.event_name != 'pull_request'
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: digests-${{ matrix.platform-slug }}
path: /tmp/digests/*
@@ -113,7 +113,7 @@ jobs:
steps:
-
name: Download digests
- uses: actions/download-artifact@v7
+ uses: actions/download-artifact@v8
with:
path: /tmp/digests
pattern: digests-*
@@ -121,12 +121,12 @@ jobs:
-
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
+ uses: docker/setup-buildx-action@v4
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@v5
+ uses: docker/metadata-action@v6
with:
images: |
jbtronics/part-db1
@@ -142,7 +142,7 @@ jobs:
-
name: Login to DockerHub
- uses: docker/login-action@v3
+ uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
diff --git a/.github/workflows/docker_frankenphp.yml b/.github/workflows/docker_frankenphp.yml
index 8acb5c22..36ec322d 100644
--- a/.github/workflows/docker_frankenphp.yml
+++ b/.github/workflows/docker_frankenphp.yml
@@ -36,7 +36,7 @@ jobs:
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@v5
+ uses: docker/metadata-action@v6
with:
# list of Docker images to use as base name for tags
images: |
@@ -66,11 +66,11 @@ jobs:
-
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
+ uses: docker/setup-buildx-action@v4
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
- uses: docker/login-action@v3
+ uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -78,7 +78,7 @@ jobs:
-
name: Build and push by digest
id: build
- uses: docker/build-push-action@v6
+ uses: docker/build-push-action@v7
with:
context: .
file: Dockerfile-frankenphp
@@ -99,7 +99,7 @@ jobs:
-
name: Upload digest
if: github.event_name != 'pull_request'
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: digests-${{ matrix.platform-slug }}
path: /tmp/digests/*
@@ -114,7 +114,7 @@ jobs:
steps:
-
name: Download digests
- uses: actions/download-artifact@v7
+ uses: actions/download-artifact@v8
with:
path: /tmp/digests
pattern: digests-*
@@ -122,12 +122,12 @@ jobs:
-
name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
+ uses: docker/setup-buildx-action@v4
-
name: Docker meta
id: docker_meta
- uses: docker/metadata-action@v5
+ uses: docker/metadata-action@v6
with:
images: |
partdborg/part-db
@@ -143,7 +143,7 @@ jobs:
-
name: Login to DockerHub
- uses: docker/login-action@v3
+ uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 3df1955a..5b756228 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -106,7 +106,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v6
with:
- node-version: '20'
+ node-version: '22'
- name: Install yarn dependencies
run: yarn install
@@ -129,7 +129,7 @@ jobs:
run: ./bin/phpunit --coverage-clover=coverage.xml
- name: Upload coverage
- uses: codecov/codecov-action@v5
+ uses: codecov/codecov-action@v6
with:
env_vars: PHP_VERSION,DB_TYPE
token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.gitignore b/.gitignore
index dd5c43db..704d6202 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,10 @@
uploads/*
!uploads/.keep
+# Some people use Certbot or similar tools to make SSL certificates.
+# Also see https://www.rfc-editor.org/rfc/rfc5785
+public/.well-known/
+
# Do not keep cache files
.php_cs.cache
.phpcs-cache
@@ -50,4 +54,11 @@ phpstan.neon
###< phpstan/phpstan ###
.claude/
-CLAUDE.md
\ No newline at end of file
+CLAUDE.md
+
+.codex
+migrations/.codex
+docker-data/
+scripts/
+db/
+docker-compose.yaml
diff --git a/Dockerfile-frankenphp b/Dockerfile-frankenphp
index 4bf9eeeb..bdf9c1fd 100644
--- a/Dockerfile-frankenphp
+++ b/Dockerfile-frankenphp
@@ -62,7 +62,7 @@ RUN yarn build
RUN yarn cache clean && rm -rf node_modules/
# FrankenPHP base stage
-FROM dunglas/frankenphp:1-php8.4 AS frankenphp_upstream
+FROM dunglas/frankenphp:1-php8.4-bookworm AS frankenphp_upstream
ARG TARGETARCH
RUN --mount=type=cache,id=apt-cache-$TARGETARCH,target=/var/cache/apt \
--mount=type=cache,id=apt-lists-$TARGETARCH,target=/var/lib/apt/lists \
diff --git a/README.md b/README.md
index 993a1a9c..b857711f 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,7 @@ for the first time.
* Automatic thumbnail generation for pictures
* Use cloud providers (like Octopart, Digikey, Farnell, LCSC or TME) to automatically get part information, datasheets, and
prices for parts
+* Retrieve part information from arbitrary shop websites, using either conventional data extraction from structured metadata, or AI based data extraction
* API to access Part-DB from other applications/scripts
* [Integration with KiCad](https://docs.part-db.de/usage/eda_integration.html): Use Part-DB as the central datasource for your
KiCad and see available parts from Part-DB directly inside KiCad.
@@ -74,11 +75,11 @@ Part-DB is also used by small companies and universities for managing their inve
## Requirements
* A **web server** (like Apache2 or nginx) that is capable of
- running [Symfony 6](https://symfony.com/doc/current/reference/requirements.html),
+ running [Symfony 7](https://symfony.com/doc/current/reference/requirements.html),
this includes a minimum PHP version of **PHP 8.2**
* A **MySQL** (at least 5.7) /**MariaDB** (at least 10.4) database server, or **PostgreSQL** 10+ if you do not want to use SQLite.
* Shell access to your server is highly recommended!
-* For building the client-side assets **yarn** and **nodejs** (>= 20.0) is needed.
+* For building the client-side assets **yarn** and **nodejs** (>= 22.0) is needed.
## Installation
diff --git a/VERSION b/VERSION
index 834f2629..6ceb272e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.8.0
+2.11.1
diff --git a/assets/controllers/bulk_import_controller.js b/assets/controllers/bulk_import_controller.js
index 49e4d60f..a04ff13e 100644
--- a/assets/controllers/bulk_import_controller.js
+++ b/assets/controllers/bulk_import_controller.js
@@ -3,14 +3,16 @@ import { generateCsrfHeaders } from "./csrf_protection_controller"
export default class extends Controller {
static targets = ["progressBar", "progressText"]
- static values = {
+ static values = {
jobId: Number,
partId: Number,
researchUrl: String,
researchAllUrl: String,
markCompletedUrl: String,
markSkippedUrl: String,
- markPendingUrl: String
+ markPendingUrl: String,
+ quickApplyUrl: String,
+ quickApplyAllUrl: String
}
connect() {
@@ -119,13 +121,11 @@ export default class extends Controller {
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 })
+ method: 'POST'
})
if (data.success) {
@@ -321,6 +321,94 @@ export default class extends Controller {
}
}
+ async quickApply(event) {
+ event.preventDefault()
+ event.stopPropagation()
+
+ const partId = event.currentTarget.dataset.partId
+ const providerKey = event.currentTarget.dataset.providerKey
+ const providerId = event.currentTarget.dataset.providerId
+ const button = event.currentTarget
+ const originalHtml = button.innerHTML
+
+ button.disabled = true
+ button.innerHTML = ' Applying...'
+
+ try {
+ const url = this.quickApplyUrlValue.replace('__PART_ID__', partId)
+ const data = await this.fetchWithErrorHandling(url, {
+ method: 'POST',
+ body: JSON.stringify({ providerKey, providerId })
+ }, 60000)
+
+ if (data.success) {
+ this.updateProgressDisplay(data)
+ this.showSuccessMessage(data.message || 'Part updated successfully')
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ } else {
+ this.showErrorMessage(data.error || 'Quick apply failed')
+ button.innerHTML = originalHtml
+ button.disabled = false
+ }
+ } catch (error) {
+ console.error('Error in quick apply:', error)
+ this.showErrorMessage(error.message || 'Quick apply failed')
+ button.innerHTML = originalHtml
+ button.disabled = false
+ }
+ }
+
+ async quickApplyAll(event) {
+ event.preventDefault()
+ event.stopPropagation()
+
+ if (!confirm('This will apply the top search result to all pending parts without individual review. Continue?')) {
+ return
+ }
+
+ const button = event.currentTarget
+ const spinner = document.getElementById('quick-apply-all-spinner')
+ const originalHtml = button.innerHTML
+
+ button.disabled = true
+ if (spinner) {
+ spinner.style.display = 'inline-block'
+ }
+
+ try {
+ const data = await this.fetchWithErrorHandling(this.quickApplyAllUrlValue, {
+ method: 'POST'
+ }, 300000)
+
+ if (data.success) {
+ this.updateProgressDisplay(data)
+
+ let message = data.message || 'Bulk apply completed'
+ if (data.errors && data.errors.length > 0) {
+ message += '\nErrors:\n' + data.errors.join('\n')
+ }
+
+ this.showSuccessMessage(message)
+ sessionStorage.setItem('bulkImportScrollPosition', window.scrollY.toString())
+ window.location.reload()
+ } else {
+ this.showErrorMessage(data.error || 'Bulk apply failed')
+ button.innerHTML = originalHtml
+ button.disabled = false
+ }
+ } catch (error) {
+ console.error('Error in quick apply all:', error)
+ this.showErrorMessage(error.message || 'Bulk apply failed')
+ button.innerHTML = originalHtml
+ button.disabled = false
+ } finally {
+ if (spinner) {
+ spinner.style.display = 'none'
+ }
+ }
+ }
+
showSuccessMessage(message) {
this.showToast('success', message)
}
diff --git a/assets/controllers/docker_update_progress_controller.js b/assets/controllers/docker_update_progress_controller.js
new file mode 100644
index 00000000..bc4c6ff3
--- /dev/null
+++ b/assets/controllers/docker_update_progress_controller.js
@@ -0,0 +1,377 @@
+/*
+ * This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
+ *
+ * Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+import { Controller } from '@hotwired/stimulus';
+
+/**
+ * Stimulus controller for Docker update progress tracking.
+ *
+ * Polls the health check endpoint to detect when the container restarts
+ * after a Watchtower-triggered update. Drives the step timeline UI
+ * with timestamps, matching the git update progress style.
+ */
+export default class extends Controller {
+ static values = {
+ healthUrl: String,
+ previousVersion: { type: String, default: 'unknown' },
+ pollInterval: { type: Number, default: 5000 },
+ maxWaitTime: { type: Number, default: 600000 }, // 10 minutes
+ // Translated UI strings (passed from Twig template)
+ textPulling: { type: String, default: 'Waiting for Watchtower to pull the new image...' },
+ textPullingDetail: { type: String, default: 'Watchtower is checking for and downloading the latest Docker image...' },
+ textRestarting: { type: String, default: 'Container is restarting with the new image...' },
+ textRestartingDetail: { type: String, default: 'The container is being recreated with the updated image. This may take a moment...' },
+ textSuccess: { type: String, default: 'Update Complete!' },
+ textSuccessDetail: { type: String, default: 'Part-DB has been updated successfully via Docker.' },
+ textTimeout: { type: String, default: 'Update Taking Longer Than Expected' },
+ textTimeoutDetail: { type: String, default: 'The update may still be in progress. Check your Docker logs for details.' },
+ textStepPull: { type: String, default: 'Pull Image' },
+ textStepRestart: { type: String, default: 'Restart Container' },
+ };
+
+ static targets = [
+ // Header
+ 'headerWhale', 'titleIcon',
+ 'statusText', 'statusSubtext',
+ 'progressBar', 'elapsedTime',
+ // Alerts
+ 'stepAlert', 'stepName', 'stepMessage',
+ 'successAlert', 'timeoutAlert', 'errorAlert', 'errorMessage', 'warningAlert',
+ // Step timeline (multi-target arrays)
+ 'stepRow', 'stepIcon', 'stepDetail', 'stepTime',
+ // Version display
+ 'newVersion', 'previousVersion',
+ // Actions
+ 'actions',
+ ];
+
+ // Step definitions: name -> { index, progress% }
+ static STEPS = {
+ trigger: { index: 0, progress: 15 },
+ pull: { index: 1, progress: 30 },
+ stop: { index: 2, progress: 50 },
+ restart: { index: 3, progress: 65 },
+ health: { index: 4, progress: 80 },
+ verify: { index: 5, progress: 100 },
+ };
+
+ connect() {
+ this.serverWentDown = false;
+ this.serverCameBack = false;
+ this.startTime = Date.now();
+ this.timer = null;
+ this.currentStep = 'pull'; // trigger is already done
+ this.stepTimestamps = { trigger: this.formatTime(new Date()) };
+ this.consecutiveSuccessCount = 0;
+
+ // Set the trigger step timestamp
+ this.setStepTimestamp(0, this.stepTimestamps.trigger);
+
+ this.poll();
+ }
+
+ disconnect() {
+ if (this.timer) {
+ clearTimeout(this.timer);
+ }
+ }
+
+ createTimeoutSignal(ms) {
+ if (typeof AbortSignal.timeout === 'function') {
+ return AbortSignal.timeout(ms);
+ }
+ const controller = new AbortController();
+ setTimeout(() => controller.abort(), ms);
+ return controller.signal;
+ }
+
+ async poll() {
+ const elapsed = Date.now() - this.startTime;
+ this.updateElapsedTime(elapsed);
+
+ if (elapsed > this.maxWaitTimeValue) {
+ this.showTimeout();
+ return;
+ }
+
+ try {
+ const response = await fetch(this.healthUrlValue, {
+ cache: 'no-store',
+ signal: this.createTimeoutSignal(4000),
+ });
+
+ if (response.ok) {
+ let data;
+ try {
+ data = await response.json();
+ } catch (parseError) {
+ this.schedulePoll();
+ return;
+ }
+
+ if (this.serverWentDown) {
+ // Server came back! Move through health check -> verify
+ if (!this.serverCameBack) {
+ this.serverCameBack = true;
+ this.advanceToStep('health');
+ }
+
+ this.consecutiveSuccessCount++;
+
+ // Wait for 2 consecutive successes to confirm stability
+ if (this.consecutiveSuccessCount >= 2) {
+ this.showSuccess(data.version);
+ return;
+ }
+ } else {
+ // Server still up - Watchtower pulling image
+ this.showPulling();
+ }
+ } else if (response.status === 503) {
+ // Maintenance mode or shutting down
+ this.serverWentDown = true;
+ this.consecutiveSuccessCount = 0;
+ this.advanceToStep('stop');
+ } else {
+ if (this.serverWentDown) {
+ this.showRestarting();
+ } else {
+ this.showPulling();
+ }
+ }
+ } catch (e) {
+ // Connection refused = container is down
+ if (!this.serverWentDown) {
+ this.serverWentDown = true;
+ this.advanceToStep('stop');
+ }
+ this.consecutiveSuccessCount = 0;
+ this.showRestarting();
+ }
+
+ this.schedulePoll();
+ }
+
+ schedulePoll() {
+ this.timer = setTimeout(() => this.poll(), this.pollIntervalValue);
+ }
+
+ /**
+ * Advance the step timeline to a specific step.
+ * Marks all previous steps as complete with timestamps.
+ */
+ advanceToStep(stepName) {
+ const steps = this.constructor.STEPS;
+ const targetIndex = steps[stepName]?.index;
+ if (targetIndex === undefined) return;
+
+ const stepNames = Object.keys(steps);
+ const now = this.formatTime(new Date());
+
+ for (let i = 0; i < stepNames.length; i++) {
+ const name = stepNames[i];
+
+ if (i < targetIndex) {
+ // Completed step
+ this.markStepComplete(i, this.stepTimestamps[name] || now);
+ if (!this.stepTimestamps[name]) {
+ this.stepTimestamps[name] = now;
+ }
+ } else if (i === targetIndex) {
+ // Current active step
+ this.markStepActive(i);
+ this.stepTimestamps[name] = now;
+ this.setStepTimestamp(i, now);
+ this.currentStep = name;
+ }
+ // Steps after targetIndex remain pending (no change needed)
+ }
+
+ // Update progress bar
+ this.updateProgressBar(steps[stepName].progress);
+ }
+
+ showPulling() {
+ if (this.hasStatusTextTarget) {
+ this.statusTextTarget.textContent = this.textPullingValue;
+ }
+ if (this.hasStepNameTarget) {
+ this.stepNameTarget.textContent = this.textStepPullValue;
+ }
+ if (this.hasStepMessageTarget) {
+ this.stepMessageTarget.textContent = this.textPullingDetailValue;
+ }
+ this.updateProgressBar(30);
+ }
+
+ showRestarting() {
+ // Advance to restart step if we haven't already
+ if (this.currentStep !== 'restart' && this.currentStep !== 'health' && this.currentStep !== 'verify') {
+ this.advanceToStep('restart');
+ }
+
+ if (this.hasStatusTextTarget) {
+ this.statusTextTarget.textContent = this.textRestartingValue;
+ }
+ if (this.hasStepNameTarget) {
+ this.stepNameTarget.textContent = this.textStepRestartValue;
+ }
+ if (this.hasStepMessageTarget) {
+ this.stepMessageTarget.textContent = this.textRestartingDetailValue;
+ }
+ }
+
+ showSuccess(newVersion) {
+ // Advance all steps to complete
+ const steps = this.constructor.STEPS;
+ const stepNames = Object.keys(steps);
+ const now = this.formatTime(new Date());
+
+ for (let i = 0; i < stepNames.length; i++) {
+ const name = stepNames[i];
+ this.markStepComplete(i, this.stepTimestamps[name] || now);
+ }
+
+ this.updateProgressBar(100);
+
+ // Update whale animation
+ if (this.hasHeaderWhaleTarget) {
+ this.headerWhaleTarget.classList.add('success');
+ }
+ if (this.hasTitleIconTarget) {
+ this.titleIconTarget.className = 'fas fa-check-circle text-success';
+ }
+
+ if (this.hasStatusTextTarget) {
+ this.statusTextTarget.textContent = this.textSuccessValue;
+ }
+ if (this.hasStatusSubtextTarget) {
+ this.statusSubtextTarget.textContent = this.textSuccessDetailValue;
+ }
+
+ // Hide step alert, show success alert
+ this.toggleTarget('stepAlert', false);
+ this.toggleTarget('successAlert', true);
+ this.toggleTarget('warningAlert', false);
+ this.toggleTarget('actions', true);
+
+ if (this.hasNewVersionTarget) {
+ this.newVersionTarget.textContent = newVersion || 'latest';
+ }
+ if (this.hasPreviousVersionTarget) {
+ this.previousVersionTarget.textContent = this.previousVersionValue;
+ }
+ }
+
+ showTimeout() {
+ this.updateProgressBar(0);
+
+ if (this.hasHeaderWhaleTarget) {
+ this.headerWhaleTarget.classList.add('timeout');
+ }
+ if (this.hasTitleIconTarget) {
+ this.titleIconTarget.className = 'fas fa-exclamation-triangle text-warning';
+ }
+
+ if (this.hasStatusTextTarget) {
+ this.statusTextTarget.textContent = this.textTimeoutValue;
+ }
+ if (this.hasStatusSubtextTarget) {
+ this.statusSubtextTarget.textContent = this.textTimeoutDetailValue;
+ }
+
+ this.toggleTarget('stepAlert', false);
+ this.toggleTarget('timeoutAlert', true);
+ this.toggleTarget('warningAlert', false);
+ this.toggleTarget('actions', true);
+ }
+
+ // --- Step timeline helpers ---
+
+ markStepComplete(index, timestamp) {
+ if (this.stepIconTargets[index]) {
+ this.stepIconTargets[index].className = 'fas fa-check-circle text-success me-3';
+ }
+ if (this.stepRowTargets[index]) {
+ this.stepRowTargets[index].classList.remove('text-muted');
+ }
+ if (timestamp) {
+ this.setStepTimestamp(index, timestamp);
+ }
+ }
+
+ markStepActive(index) {
+ if (this.stepIconTargets[index]) {
+ this.stepIconTargets[index].className = 'fas fa-spinner fa-spin text-primary me-3';
+ }
+ if (this.stepRowTargets[index]) {
+ this.stepRowTargets[index].classList.remove('text-muted');
+ }
+ }
+
+ setStepTimestamp(index, time) {
+ if (this.stepTimeTargets[index]) {
+ this.stepTimeTargets[index].textContent = time;
+ }
+ }
+
+ // --- UI helpers ---
+
+ toggleTarget(name, show) {
+ const hasMethod = 'has' + name.charAt(0).toUpperCase() + name.slice(1) + 'Target';
+ if (this[hasMethod]) {
+ this[name + 'Target'].classList.toggle('d-none', !show);
+ }
+ }
+
+ updateProgressBar(percent) {
+ if (this.hasProgressBarTarget) {
+ const bar = this.progressBarTarget;
+ // Remove all width classes
+ bar.classList.remove('progress-w-0', 'progress-w-15', 'progress-w-30', 'progress-w-50', 'progress-w-65', 'progress-w-80', 'progress-w-100');
+ bar.classList.add('progress-w-' + percent);
+ bar.textContent = percent + '%';
+ bar.setAttribute('aria-valuenow', percent);
+
+ bar.classList.remove('bg-success', 'bg-danger', 'progress-bar-striped', 'progress-bar-animated');
+ if (percent === 100) {
+ bar.classList.add('bg-success');
+ } else if (percent === 0) {
+ bar.classList.add('bg-danger');
+ } else {
+ bar.classList.add('progress-bar-striped', 'progress-bar-animated');
+ }
+ }
+ }
+
+ updateElapsedTime(elapsed) {
+ if (this.hasElapsedTimeTarget) {
+ const seconds = Math.floor(elapsed / 1000);
+ const minutes = Math.floor(seconds / 60);
+ const remainingSeconds = seconds % 60;
+ this.elapsedTimeTarget.textContent = minutes > 0
+ ? `${minutes}m ${remainingSeconds}s`
+ : `${remainingSeconds}s`;
+ }
+ }
+
+ formatTime(date) {
+ return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit' });
+ }
+}
diff --git a/assets/controllers/elements/ai_model_autocomplete_controller.js b/assets/controllers/elements/ai_model_autocomplete_controller.js
new file mode 100644
index 00000000..e36e6b1f
--- /dev/null
+++ b/assets/controllers/elements/ai_model_autocomplete_controller.js
@@ -0,0 +1,152 @@
+/*
+ * 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";
+
+import "tom-select/dist/css/tom-select.bootstrap5.css";
+import '../../css/components/tom-select_extensions.css';
+import TomSelect from "tom-select";
+
+import TomSelect_click_to_edit from '../../tomselect/click_to_edit/click_to_edit'
+import TomSelect_autoselect_typed from '../../tomselect/autoselect_typed/autoselect_typed'
+
+TomSelect.define('click_to_edit', TomSelect_click_to_edit)
+TomSelect.define('autoselect_typed', TomSelect_autoselect_typed)
+
+export default class extends Controller {
+ _tomSelect;
+
+ _platformSelector;
+
+ connect() {
+
+ let dropdownParent = "body";
+ if (this.element.closest('.modal')) {
+ dropdownParent = null
+ }
+
+ //Try to find the platform selector
+ const platformSelector = document.querySelector("select[data-platform-selector-label='" + this.element.dataset.platformSelector + "']");
+ //Clear tomselect options, if the platform selector changes
+ if (platformSelector) {
+ this.platformSelector = platformSelector;
+ platformSelector.addEventListener('change', () => {
+ //Force reload of options by clearing the cache and options of TomSelect and triggering a search with an empty string
+ this._tomSelect.clearOptions();
+ this._tomSelect.clearCache();
+ this._tomSelect.load('');
+ });
+ }
+
+ let settings = {
+ persistent: false,
+ create: true,
+ maxItems: 1,
+ preload: 'focus',
+ createOnBlur: true,
+ selectOnTab: true,
+ clearAfterSelect: true,
+ shouldLoad: ((query) => true),
+ maxOptions: null,
+ //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: dropdownParent,
+ render: {
+ item: (data, escape) => {
+ return '' + escape(data.label) + '';
+ },
+ option: (data, escape) => {
+ if (data.image) {
+ return "
"
+ }
+ return '' + escape(data.label) + '
';
+ }
+ },
+ plugins: {
+ 'autoselect_typed': {},
+ 'click_to_edit': {},
+ 'clear_button': {},
+ "restore_on_backspace": {}
+ }
+ };
+
+ if(this.element.dataset.urlTemplate) {
+ const base_url = this.element.dataset.urlTemplate;
+ settings.searchField = "label";
+ settings.sortField = "label";
+ settings.valueField = "label";
+ settings.load = (query, callback) => {
+
+
+ if (!this.platformSelector) {
+ console.error("Platform selector not found for AI model autocomplete");
+ callback();
+ return;
+ }
+
+ //Platform is the selected option
+ const platform = this.platformSelector.value;
+ if (!platform) {
+ callback();
+ return;
+ }
+
+ const self = this;
+
+ //Only fetch each platform once
+ if(self.platformLoaded === platform) {
+ callback();
+ }
+
+
+ const url = base_url.replace('__PLATFORM__', encodeURIComponent(platform));
+
+ fetch(url)
+ .then(response => response.json())
+ .then(json => {
+
+ self.platformLoaded = platform;
+
+ var data = [];
+
+ for (const name in json) {
+ data.push({
+ "label": name,
+ "capabilities": json[name].capabilities,
+ });
+ }
+
+ callback(data);
+ }).catch(()=>{
+ callback();
+ });
+ };
+ }
+ this._tomSelect = new TomSelect(this.element, settings);
+ }
+
+ disconnect() {
+ super.disconnect();
+ //Destroy the TomSelect instance
+ this._tomSelect.destroy();
+ }
+
+}
+
+
diff --git a/assets/controllers/elements/attachment_autocomplete_controller.js b/assets/controllers/elements/attachment_autocomplete_controller.js
index 94b01136..86975c0c 100644
--- a/assets/controllers/elements/attachment_autocomplete_controller.js
+++ b/assets/controllers/elements/attachment_autocomplete_controller.js
@@ -45,6 +45,7 @@ export default class extends Controller {
maxItems: 1,
createOnBlur: true,
selectOnTab: true,
+ clearAfterSelect: 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: dropdownParent,
diff --git a/assets/controllers/elements/ckeditor_controller.js b/assets/controllers/elements/ckeditor_controller.js
index b7c87dab..17aa9214 100644
--- a/assets/controllers/elements/ckeditor_controller.js
+++ b/assets/controllers/elements/ckeditor_controller.js
@@ -29,7 +29,7 @@ import "ckeditor5/ckeditor5.css";;
import "../../css/components/ckeditor.css";
const translationContext = require.context(
- 'ckeditor5/translations',
+ 'ckeditor5-translations', //Alias defined in webpack.config.js
false,
//Only load the translation files we will really need
/(de|it|fr|ru|ja|cs|da|zh|pl|hu)\.js$/
diff --git a/assets/controllers/elements/datatables/datatables_controller.js b/assets/controllers/elements/datatables/datatables_controller.js
index 9ac23483..d945004b 100644
--- a/assets/controllers/elements/datatables/datatables_controller.js
+++ b/assets/controllers/elements/datatables/datatables_controller.js
@@ -83,8 +83,6 @@ export default class extends Controller {
if (data) {
//Do not save the start value (current page), as we want to always start at the first page on a page reload
delete data.start;
- //Reset the data length to the default value by deleting the length property
- delete data.length;
}
return data;
@@ -113,8 +111,16 @@ export default class extends Controller {
return null;
}
+ //The saved order index is visual (post-reorder). If colReorder state
+ //exists, map it back to the original column index so the server sorts
+ //the correct column. colReorder[visualIndex] == originalIndex.
+ let columnIndex = order[0];
+ if (saved_state.colReorder) {
+ columnIndex = saved_state.colReorder[columnIndex];
+ }
+
return {
- column: order[0],
+ column: columnIndex,
dir: order[1]
}
});
diff --git a/assets/controllers/elements/part_select_controller.js b/assets/controllers/elements/part_select_controller.js
index b69acbbc..1edbdf67 100644
--- a/assets/controllers/elements/part_select_controller.js
+++ b/assets/controllers/elements/part_select_controller.js
@@ -23,6 +23,8 @@ export default class extends Controller {
valueField: "id",
labelField: "name",
dropdownParent: dropdownParent,
+ selectOnTab: true,
+ clearAfterSelect: true,
preload: "focus",
render: {
item: (data, escape) => {
diff --git a/assets/controllers/elements/select_controller.js b/assets/controllers/elements/select_controller.js
index d70e588c..11e29280 100644
--- a/assets/controllers/elements/select_controller.js
+++ b/assets/controllers/elements/select_controller.js
@@ -49,6 +49,7 @@ export default class extends Controller {
selectOnTab: true,
maxOptions: null,
dropdownParent: dropdownParent,
+ clearAfterSelect: true,
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 17e85fae..01bbd24b 100644
--- a/assets/controllers/elements/select_multiple_controller.js
+++ b/assets/controllers/elements/select_multiple_controller.js
@@ -35,6 +35,8 @@ export default class extends Controller {
maxItems: 1000,
allowEmptyOption: true,
dropdownParent: dropdownParent,
+ selectOnTab: true,
+ clearAfterSelect: true,
plugins: ['remove_button'],
});
}
diff --git a/assets/controllers/elements/sidebar_tree_controller.js b/assets/controllers/elements/sidebar_tree_controller.js
index d50cf900..e0f012be 100644
--- a/assets/controllers/elements/sidebar_tree_controller.js
+++ b/assets/controllers/elements/sidebar_tree_controller.js
@@ -19,6 +19,7 @@
import {Controller} from "@hotwired/stimulus";
import {default as TreeController} from "./tree_controller";
+import {EVENT_INITIALIZED} from "@jbtronics/bs-treeview";
export default class extends TreeController {
static targets = [ "tree", 'sourceText' ];
@@ -40,6 +41,8 @@ export default class extends TreeController {
//Check if we have a saved mode
const stored_mode = localStorage.getItem(this._storage_key);
+ this._frame = this.element.dataset.frame || "content"; //By default, navigate in the content frame, if a frame is defined
+
//Use stored mode if possible, otherwise use default
if(stored_mode) {
try {
@@ -55,6 +58,39 @@ export default class extends TreeController {
//Register an event listener which checks if the tree needs to be updated
document.addEventListener('turbo:render', this.doUpdateIfNeeded.bind(this));
+
+ //Register an event listener, to check if we end up on a page we can highlight in the tree, if so then higlight it
+ document.addEventListener('turbo:load', this._onTurboLoad.bind(this));
+ //On initial page load the tree is not available yet, so do another check after the tree is initialized
+ this.treeTarget.addEventListener(EVENT_INITIALIZED, (event) => {
+ this.selectNodeWithURL(document.location)
+ });
+ }
+
+ _onTurboLoad(event) {
+ this.selectNodeWithURL(event.detail.url);
+ }
+
+ selectNodeWithURL(url) {
+ //Get path from url
+ const path = new URL(url).pathname;
+
+ if (!this._tree) {
+ return;
+ }
+
+ //Unselect all nodes
+ this._tree.unselectAll({silent: true, ignorePreventUnselect: true});
+
+ //Try to find a node with this path as data-path
+ const nodes = this._tree.findNodes(path, "href");
+ if (nodes.length !== 1) {
+ return; //We can only work with exactly one node, if there are multiple nodes with the same path, we cannot know which one to select, so we do nothing
+ }
+ const node = nodes[0];
+
+ node.setSelected(true, {ignorePreventUnselect: true, silent: true});
+ this._tree.revealNode(node);
}
doUpdateIfNeeded()
diff --git a/assets/controllers/elements/static_file_autocomplete_controller.js b/assets/controllers/elements/static_file_autocomplete_controller.js
index 9703c618..bd01246a 100644
--- a/assets/controllers/elements/static_file_autocomplete_controller.js
+++ b/assets/controllers/elements/static_file_autocomplete_controller.js
@@ -56,6 +56,7 @@ export default class extends Controller {
searchField: 'text',
orderField: 'text',
dropdownParent: dropdownParent,
+ clearAfterSelect: 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',
diff --git a/assets/controllers/elements/structural_entity_select_controller.js b/assets/controllers/elements/structural_entity_select_controller.js
index 2666530b..5c462e51 100644
--- a/assets/controllers/elements/structural_entity_select_controller.js
+++ b/assets/controllers/elements/structural_entity_select_controller.js
@@ -58,6 +58,7 @@ export default class extends Controller {
delimiter: "$$VERY_LONG_DELIMITER_THAT_SHOULD_NEVER_APPEAR$$",
splitOn: null,
dropdownParent: dropdownParent,
+ clearAfterSelect: true,
searchField: [
{field: "text", weight : 2},
diff --git a/assets/controllers/elements/tagsinput_controller.js b/assets/controllers/elements/tagsinput_controller.js
index 14725227..a4b1f175 100644
--- a/assets/controllers/elements/tagsinput_controller.js
+++ b/assets/controllers/elements/tagsinput_controller.js
@@ -49,6 +49,7 @@ export default class extends Controller {
createOnBlur: true,
create: true,
dropdownParent: dropdownParent,
+ clearAfterSelect: true,
};
if(this.element.dataset.autocomplete) {
diff --git a/assets/controllers/elements/tree_controller.js b/assets/controllers/elements/tree_controller.js
index bb64839c..80a06bc3 100644
--- a/assets/controllers/elements/tree_controller.js
+++ b/assets/controllers/elements/tree_controller.js
@@ -39,6 +39,8 @@ export default class extends Controller {
*/
_tree = null;
+ _frame = "frame";
+
connect() {
const treeElement = this.treeTarget;
if (!treeElement) {
@@ -48,6 +50,7 @@ export default class extends Controller {
this._url = this.element.dataset.treeUrl;
this._data = this.element.dataset.treeData;
+ this._frame = this.element.dataset.frame || "content"; //By default, navigate in the content frame, if a frame is defined
if(this.element.dataset.treeShowTags === "true") {
this._showTags = true;
@@ -99,8 +102,7 @@ export default class extends Controller {
onNodeSelected: (event) => {
const node = event.detail.node;
if (node.href) {
- window.Turbo.visit(node.href, {action: "advance"});
- this._registerURLWatcher(node);
+ window.Turbo.visit(node.href, {action: "advance", frame: this._frame});
}
},
}, [BS5Theme, BS53Theme, FAIconTheme]);
@@ -110,41 +112,12 @@ export default class extends Controller {
const treeView = event.detail.treeView;
treeView.revealNode(treeView.getSelected());
- //Add the url watcher to all selected nodes
- for (const node of treeView.getSelected()) {
- this._registerURLWatcher(node);
- }
-
//Add contextmenu event listener to the tree, which allows us to open the links in a new tab with a right click
treeView.getTreeElement().addEventListener("contextmenu", this._onContextMenu.bind(this));
});
}
- _registerURLWatcher(node)
- {
- //Register a watcher for a location change, which will unselect the node, if the location changes
- const desired_url = node.href;
-
- //Ensure that the node is unselected, if the location changes
- const unselectNode = () => {
- //Parse url so we can properly compare them
- const desired = new URL(node.href, window.location.origin);
-
- //We only compare the pathname, because the hash and parameters should not matter
- if(window.location.pathname !== desired.pathname) {
- //The ignore parameter is important here, otherwise the node will not be unselected
- node.setSelected(false, {silent: true, ignorePreventUnselect: true});
-
- //Unregister the watcher
- document.removeEventListener('turbo:load', unselectNode);
- }
- };
-
- //Register the watcher via hotwire turbo
- //We must just load to have the new url in window.location
- document.addEventListener('turbo:load', unselectNode);
- }
_onContextMenu(event)
{
@@ -198,4 +171,4 @@ export default class extends Controller {
return myResolve(this._data);
});
}
-}
\ No newline at end of file
+}
diff --git a/assets/controllers/field_mapping_controller.js b/assets/controllers/field_mapping_controller.js
index 9c9c8ac6..50c19a0d 100644
--- a/assets/controllers/field_mapping_controller.js
+++ b/assets/controllers/field_mapping_controller.js
@@ -70,6 +70,13 @@ export default class extends Controller {
newFieldSelect.addEventListener('change', this.updateFieldOptions.bind(this))
}
+ // Auto-increment priority based on existing mappings
+ const nextPriority = this.getNextPriority()
+ const priorityInput = newRow.querySelector('input[name*="[priority]"]')
+ if (priorityInput) {
+ priorityInput.value = nextPriority
+ }
+
this.updateFieldOptions()
this.updateAddButtonState()
}
@@ -119,6 +126,18 @@ export default class extends Controller {
}
}
+ getNextPriority() {
+ const priorityInputs = this.tbodyTarget.querySelectorAll('input[name*="[priority]"]')
+ let maxPriority = 0
+ priorityInputs.forEach(input => {
+ const val = parseInt(input.value, 10)
+ if (!isNaN(val) && val > maxPriority) {
+ maxPriority = val
+ }
+ })
+ return Math.min(maxPriority + 1, 10)
+ }
+
handleFormSubmit(event) {
if (this.hasSubmitButtonTarget) {
this.submitButtonTarget.disabled = true
diff --git a/assets/controllers/pages/parameters_autocomplete_controller.js b/assets/controllers/pages/parameters_autocomplete_controller.js
index e187aa42..4abea969 100644
--- a/assets/controllers/pages/parameters_autocomplete_controller.js
+++ b/assets/controllers/pages/parameters_autocomplete_controller.js
@@ -75,6 +75,7 @@ export default class extends Controller
searchField: "name",
//labelField: "name",
valueField: "name",
+ clearAfterSelect: true,
onItemAdd: this.onItemAdd.bind(this),
render: {
option: (data, escape) => {
@@ -136,4 +137,4 @@ export default class extends Controller
//Destroy the TomSelect instance
this._tomSelect.destroy();
}
-}
\ No newline at end of file
+}
diff --git a/composer.json b/composer.json
index 89e0f19b..b23ea92b 100644
--- a/composer.json
+++ b/composer.json
@@ -33,6 +33,7 @@
"jbtronics/dompdf-font-loader-bundle": "^1.0.0",
"jbtronics/settings-bundle": "^3.0.0",
"jfcherng/php-diff": "^6.14",
+ "jkphl/micrometa": "^v3.4.0",
"knpuniversity/oauth2-client-bundle": "^2.15",
"league/commonmark": "^2.7",
"league/csv": "^9.8.0",
@@ -56,6 +57,9 @@
"scheb/2fa-trusted-device": "^v7.11.0",
"shivas/versioning-bundle": "^4.0",
"spatie/db-dumper": "^3.3.1",
+ "symfony/ai-bundle": "^0.8.0",
+ "symfony/ai-lm-studio-platform": "^0.8.0",
+ "symfony/ai-open-router-platform": "^0.8.0",
"symfony/apache-pack": "^1.0",
"symfony/asset": "7.4.*",
"symfony/console": "7.4.*",
@@ -177,6 +181,11 @@
"allow-contrib": false,
"require": "7.4.*",
"docker": true
+ },
+ "phpstan/extension-installer": {
+ "ignore" : [
+ "ekino/phpstan-banned-code"
+ ]
}
}
}
diff --git a/composer.lock b/composer.lock
index 71af9169..e4144934 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": "32c5677a31185e0ed124904012500154",
+ "content-hash": "31a276e9a2b45a04facbe2d88f4a042f",
"packages": [
{
"name": "amphp/amp",
@@ -318,16 +318,16 @@
},
{
"name": "amphp/hpack",
- "version": "v3.2.1",
+ "version": "v3.2.2",
"source": {
"type": "git",
"url": "https://github.com/amphp/hpack.git",
- "reference": "4f293064b15682a2b178b1367ddf0b8b5feb0239"
+ "reference": "291da27078e7e149a9bad4d08ff05bf7d81c89f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/hpack/zipball/4f293064b15682a2b178b1367ddf0b8b5feb0239",
- "reference": "4f293064b15682a2b178b1367ddf0b8b5feb0239",
+ "url": "https://api.github.com/repos/amphp/hpack/zipball/291da27078e7e149a9bad4d08ff05bf7d81c89f4",
+ "reference": "291da27078e7e149a9bad4d08ff05bf7d81c89f4",
"shasum": ""
},
"require": {
@@ -336,7 +336,7 @@
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"http2jp/hpack-test-case": "^1",
- "nikic/php-fuzzer": "^0.0.10",
+ "nikic/php-fuzzer": "^0.0.11",
"phpunit/phpunit": "^7 | ^8 | ^9"
},
"type": "library",
@@ -380,7 +380,7 @@
],
"support": {
"issues": "https://github.com/amphp/hpack/issues",
- "source": "https://github.com/amphp/hpack/tree/v3.2.1"
+ "source": "https://github.com/amphp/hpack/tree/v3.2.2"
},
"funding": [
{
@@ -388,7 +388,7 @@
"type": "github"
}
],
- "time": "2024-03-21T19:00:16+00:00"
+ "time": "2026-05-03T19:28:59+00:00"
},
{
"name": "amphp/http",
@@ -751,24 +751,27 @@
},
{
"name": "amphp/serialization",
- "version": "v1.0.0",
+ "version": "v1.1.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/serialization.git",
- "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1"
+ "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1",
- "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1",
+ "url": "https://api.github.com/repos/amphp/serialization/zipball/fdf2834d78cebb0205fb2672676c1b1eb84371f0",
+ "reference": "fdf2834d78cebb0205fb2672676c1b1eb84371f0",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.4"
},
"require-dev": {
- "amphp/php-cs-fixer-config": "dev-master",
- "phpunit/phpunit": "^9 || ^8 || ^7"
+ "amphp/php-cs-fixer-config": "^2",
+ "ext-json": "*",
+ "ext-zlib": "*",
+ "phpunit/phpunit": "^9",
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -803,22 +806,28 @@
],
"support": {
"issues": "https://github.com/amphp/serialization/issues",
- "source": "https://github.com/amphp/serialization/tree/master"
+ "source": "https://github.com/amphp/serialization/tree/v1.1.0"
},
- "time": "2020-03-25T21:39:07+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/amphp",
+ "type": "github"
+ }
+ ],
+ "time": "2026-04-05T15:59:53+00:00"
},
{
"name": "amphp/socket",
- "version": "v2.3.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/socket.git",
- "reference": "58e0422221825b79681b72c50c47a930be7bf1e1"
+ "reference": "dadb63c5d3179fd83803e29dfeac27350e619314"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1",
- "reference": "58e0422221825b79681b72c50c47a930be7bf1e1",
+ "url": "https://api.github.com/repos/amphp/socket/zipball/dadb63c5d3179fd83803e29dfeac27350e619314",
+ "reference": "dadb63c5d3179fd83803e29dfeac27350e619314",
"shasum": ""
},
"require": {
@@ -827,17 +836,17 @@
"amphp/dns": "^2",
"ext-openssl": "*",
"kelunik/certificate": "^1.1",
- "league/uri": "^6.5 | ^7",
- "league/uri-interfaces": "^2.3 | ^7",
+ "league/uri": "^7",
+ "league/uri-interfaces": "^7",
"php": ">=8.1",
- "revolt/event-loop": "^1 || ^0.2"
+ "revolt/event-loop": "^1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"amphp/process": "^2",
"phpunit/phpunit": "^9",
- "psalm/phar": "5.20"
+ "psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -881,7 +890,7 @@
],
"support": {
"issues": "https://github.com/amphp/socket/issues",
- "source": "https://github.com/amphp/socket/tree/v2.3.1"
+ "source": "https://github.com/amphp/socket/tree/v2.4.0"
},
"funding": [
{
@@ -889,7 +898,7 @@
"type": "github"
}
],
- "time": "2024-04-21T14:33:03+00:00"
+ "time": "2026-04-19T15:09:56+00:00"
},
{
"name": "amphp/sync",
@@ -968,16 +977,16 @@
},
{
"name": "api-platform/doctrine-common",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/doctrine-common.git",
- "reference": "566acb646b001f21bc6aa7bd36a109e075f5c131"
+ "reference": "2072247e3c8126d815f20324e7aaa97c2b5ee889"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/doctrine-common/zipball/566acb646b001f21bc6aa7bd36a109e075f5c131",
- "reference": "566acb646b001f21bc6aa7bd36a109e075f5c131",
+ "url": "https://api.github.com/repos/api-platform/doctrine-common/zipball/2072247e3c8126d815f20324e7aaa97c2b5ee889",
+ "reference": "2072247e3c8126d815f20324e7aaa97c2b5ee889",
"shasum": ""
},
"require": {
@@ -995,7 +1004,7 @@
"doctrine/mongodb-odm": "^2.10",
"doctrine/orm": "^2.17 || ^3.0",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/type-info": "^7.3 || ^8.0"
},
"suggest": {
@@ -1019,7 +1028,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1052,35 +1061,37 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/doctrine-common/tree/v4.3.0-alpha.2"
+ "source": "https://github.com/api-platform/doctrine-common/tree/v4.3.4"
},
- "time": "2026-02-13T15:07:33+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/doctrine-orm",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/doctrine-orm.git",
- "reference": "a7d4c255519ac0438f9293b3e97d2b3bd9ca43d7"
+ "reference": "3dc88ee48ffcdb6eee45ec1d3e9f25ea2aad4eaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/doctrine-orm/zipball/a7d4c255519ac0438f9293b3e97d2b3bd9ca43d7",
- "reference": "a7d4c255519ac0438f9293b3e97d2b3bd9ca43d7",
+ "url": "https://api.github.com/repos/api-platform/doctrine-orm/zipball/3dc88ee48ffcdb6eee45ec1d3e9f25ea2aad4eaa",
+ "reference": "3dc88ee48ffcdb6eee45ec1d3e9f25ea2aad4eaa",
"shasum": ""
},
"require": {
- "api-platform/doctrine-common": "^4.2.9",
+ "api-platform/doctrine-common": "^4.2.23",
"api-platform/metadata": "^4.2",
+ "api-platform/serializer": "^4.2.16",
"api-platform/state": "^4.2.4",
- "doctrine/orm": "^2.17 || ^3.0",
+ "composer/semver": "^3.4",
+ "doctrine/orm": "^2.17 || ^3.0.1",
"php": ">=8.2"
},
"require-dev": {
"doctrine/doctrine-bundle": "^2.11 || ^3.1",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"ramsey/uuid": "^4.7",
"ramsey/uuid-doctrine": "^2.0",
"symfony/cache": "^6.4 || ^7.0 || ^8.0",
@@ -1106,7 +1117,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1139,30 +1150,30 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/doctrine-orm/tree/v4.2.19"
+ "source": "https://github.com/api-platform/doctrine-orm/tree/v4.3.4"
},
- "time": "2026-02-25T15:52:40+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/documentation",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/documentation.git",
- "reference": "873543a827df5c25b008bd730f2096701e1943b8"
+ "reference": "f07b444aef1f75bb07beb9f8d799213f05070e5f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/documentation/zipball/873543a827df5c25b008bd730f2096701e1943b8",
- "reference": "873543a827df5c25b008bd730f2096701e1943b8",
+ "url": "https://api.github.com/repos/api-platform/documentation/zipball/f07b444aef1f75bb07beb9f8d799213f05070e5f",
+ "reference": "f07b444aef1f75bb07beb9f8d799213f05070e5f",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2",
+ "api-platform/metadata": "^4.3",
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.2"
+ "phpunit/phpunit": "^11.5 || ^12.2"
},
"type": "project",
"extra": {
@@ -1177,7 +1188,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1202,34 +1213,34 @@
],
"description": "API Platform documentation controller.",
"support": {
- "source": "https://github.com/api-platform/documentation/tree/v4.3.0-alpha.2"
+ "source": "https://github.com/api-platform/documentation/tree/v4.3.4"
},
- "time": "2025-12-27T22:15:57+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/http-cache",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/http-cache.git",
- "reference": "ec5f9068d3d66be63db4d80acaf518868dea1321"
+ "reference": "dd7c092b9abee06e72fd58544fe714b6c2a61efa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/http-cache/zipball/ec5f9068d3d66be63db4d80acaf518868dea1321",
- "reference": "ec5f9068d3d66be63db4d80acaf518868dea1321",
+ "url": "https://api.github.com/repos/api-platform/http-cache/zipball/dd7c092b9abee06e72fd58544fe714b6c2a61efa",
+ "reference": "dd7c092b9abee06e72fd58544fe714b6c2a61efa",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2",
- "api-platform/state": "^4.2.4",
+ "api-platform/metadata": "^4.3",
+ "api-platform/state": "^4.3",
"php": ">=8.2",
"symfony/http-foundation": "^6.4.14 || ^7.0 || ^8.0"
},
"require-dev": {
"guzzlehttp/guzzle": "^6.0 || ^7.0 || ^8.0",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/dependency-injection": "^6.4 || ^7.0 || ^8.0",
"symfony/http-client": "^6.4 || ^7.0 || ^8.0",
"symfony/type-info": "^7.3 || ^8.0"
@@ -1247,7 +1258,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1282,42 +1293,42 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/http-cache/tree/v4.3.0-alpha.2"
+ "source": "https://github.com/api-platform/http-cache/tree/v4.3.4"
},
- "time": "2026-02-13T15:07:33+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/hydra",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/hydra.git",
- "reference": "3f2587cc3b98f46247ca458ba557c03f62e19905"
+ "reference": "9b0a677b21ee4f2ec255386a84bdcf1d12ea7bc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/hydra/zipball/3f2587cc3b98f46247ca458ba557c03f62e19905",
- "reference": "3f2587cc3b98f46247ca458ba557c03f62e19905",
+ "url": "https://api.github.com/repos/api-platform/hydra/zipball/9b0a677b21ee4f2ec255386a84bdcf1d12ea7bc4",
+ "reference": "9b0a677b21ee4f2ec255386a84bdcf1d12ea7bc4",
"shasum": ""
},
"require": {
- "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",
+ "api-platform/documentation": "^4.3",
+ "api-platform/json-schema": "^4.3",
+ "api-platform/jsonld": "^4.3",
+ "api-platform/metadata": "^4.3",
+ "api-platform/serializer": "^4.3",
+ "api-platform/state": "^4.3",
"php": ">=8.2",
"symfony/type-info": "^7.3 || ^8.0",
"symfony/web-link": "^6.4 || ^7.1 || ^8.0"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.2",
- "api-platform/doctrine-odm": "^4.2",
- "api-platform/doctrine-orm": "^4.2",
+ "api-platform/doctrine-common": "^4.3",
+ "api-platform/doctrine-odm": "^4.3",
+ "api-platform/doctrine-orm": "^4.3",
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2"
+ "phpunit/phpunit": "^11.5 || ^12.2"
},
"type": "library",
"extra": {
@@ -1332,7 +1343,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1369,30 +1380,30 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/hydra/tree/v4.2.19"
+ "source": "https://github.com/api-platform/hydra/tree/v4.3.4"
},
- "time": "2026-02-27T10:31:31+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/json-api",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/json-api.git",
- "reference": "d28b51d78c50451e6714ed7a0c673ec6d9070900"
+ "reference": "30e399ea2266403d04fd93df83c6983cf0a30e5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/json-api/zipball/d28b51d78c50451e6714ed7a0c673ec6d9070900",
- "reference": "d28b51d78c50451e6714ed7a0c673ec6d9070900",
+ "url": "https://api.github.com/repos/api-platform/json-api/zipball/30e399ea2266403d04fd93df83c6983cf0a30e5d",
+ "reference": "30e399ea2266403d04fd93df83c6983cf0a30e5d",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.2",
- "api-platform/json-schema": "^4.2",
- "api-platform/metadata": "^4.2",
- "api-platform/serializer": "^4.2.18",
- "api-platform/state": "^4.2.4",
+ "api-platform/documentation": "^4.3",
+ "api-platform/json-schema": "^4.3",
+ "api-platform/metadata": "^4.3",
+ "api-platform/serializer": "^4.3",
+ "api-platform/state": "^4.3",
"php": ">=8.2",
"symfony/error-handler": "^6.4 || ^7.0 || ^8.0",
"symfony/http-foundation": "^6.4.14 || ^7.0 || ^8.0",
@@ -1401,7 +1412,7 @@
"require-dev": {
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
@@ -1417,7 +1428,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1451,26 +1462,26 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/json-api/tree/v4.2.19"
+ "source": "https://github.com/api-platform/json-api/tree/v4.3.4"
},
- "time": "2026-02-27T16:03:48+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/json-schema",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/json-schema.git",
- "reference": "adc464d8240ac411ff8ed65ac8614b16d11f5544"
+ "reference": "23dc2c388a08f2006b9189a0883a08f8837d7249"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/json-schema/zipball/adc464d8240ac411ff8ed65ac8614b16d11f5544",
- "reference": "adc464d8240ac411ff8ed65ac8614b16d11f5544",
+ "url": "https://api.github.com/repos/api-platform/json-schema/zipball/23dc2c388a08f2006b9189a0883a08f8837d7249",
+ "reference": "23dc2c388a08f2006b9189a0883a08f8837d7249",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2",
+ "api-platform/metadata": "^4.3",
"php": ">=8.2",
"symfony/console": "^6.4 || ^7.0 || ^8.0",
"symfony/property-info": "^6.4 || ^7.1 || ^8.0",
@@ -1480,7 +1491,7 @@
},
"require-dev": {
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2"
+ "phpunit/phpunit": "^11.5 || ^12.2"
},
"type": "library",
"extra": {
@@ -1495,7 +1506,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1532,32 +1543,32 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/json-schema/tree/v4.2.19"
+ "source": "https://github.com/api-platform/json-schema/tree/v4.3.4"
},
- "time": "2026-02-25T15:52:40+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/jsonld",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/jsonld.git",
- "reference": "08593fc073466badae67b8f4999ec19e3ade9eab"
+ "reference": "20ca6d7b5c11674c3046d710aaa0c9bc1795e54b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/jsonld/zipball/08593fc073466badae67b8f4999ec19e3ade9eab",
- "reference": "08593fc073466badae67b8f4999ec19e3ade9eab",
+ "url": "https://api.github.com/repos/api-platform/jsonld/zipball/20ca6d7b5c11674c3046d710aaa0c9bc1795e54b",
+ "reference": "20ca6d7b5c11674c3046d710aaa0c9bc1795e54b",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2",
- "api-platform/serializer": "^4.2.4",
- "api-platform/state": "^4.2.4",
+ "api-platform/metadata": "^4.3",
+ "api-platform/serializer": "^4.3",
+ "api-platform/state": "^4.3",
"php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
@@ -1573,7 +1584,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1612,22 +1623,22 @@
"rest"
],
"support": {
- "source": "https://github.com/api-platform/jsonld/tree/v4.2.19"
+ "source": "https://github.com/api-platform/jsonld/tree/v4.3.4"
},
- "time": "2026-02-13T17:30:49+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/metadata",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/metadata.git",
- "reference": "af91b0d349b2aa8afffe100cce544b4d72add3eb"
+ "reference": "e93caa26e7992ca138f2d12f79b5b25d2d091b7b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/metadata/zipball/af91b0d349b2aa8afffe100cce544b4d72add3eb",
- "reference": "af91b0d349b2aa8afffe100cce544b4d72add3eb",
+ "url": "https://api.github.com/repos/api-platform/metadata/zipball/e93caa26e7992ca138f2d12f79b5b25d2d091b7b",
+ "reference": "e93caa26e7992ca138f2d12f79b5b25d2d091b7b",
"shasum": ""
},
"require": {
@@ -1640,12 +1651,12 @@
"symfony/type-info": "^7.3 || ^8.0"
},
"require-dev": {
- "api-platform/json-schema": "^4.2",
- "api-platform/openapi": "^4.2",
- "api-platform/state": "^4.2.4",
+ "api-platform/json-schema": "^4.3",
+ "api-platform/openapi": "^4.3",
+ "api-platform/state": "^4.3",
"phpspec/prophecy-phpunit": "^2.2",
"phpstan/phpdoc-parser": "^1.29 || ^2.0",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/config": "^6.4 || ^7.0 || ^8.0",
"symfony/routing": "^6.4 || ^7.0 || ^8.0",
"symfony/var-dumper": "^6.4 || ^7.0 || ^8.0",
@@ -1670,7 +1681,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1710,28 +1721,28 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/metadata/tree/v4.2.19"
+ "source": "https://github.com/api-platform/metadata/tree/v4.3.4"
},
- "time": "2026-02-25T15:52:40+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/openapi",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/openapi.git",
- "reference": "59c13717f63e21f98d4ed4e4d7122b0bade72e2e"
+ "reference": "1562617e7500a50c2b6e6f43a0fb29a6a47e83a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/openapi/zipball/59c13717f63e21f98d4ed4e4d7122b0bade72e2e",
- "reference": "59c13717f63e21f98d4ed4e4d7122b0bade72e2e",
+ "url": "https://api.github.com/repos/api-platform/openapi/zipball/1562617e7500a50c2b6e6f43a0fb29a6a47e83a2",
+ "reference": "1562617e7500a50c2b6e6f43a0fb29a6a47e83a2",
"shasum": ""
},
"require": {
- "api-platform/json-schema": "^4.2",
- "api-platform/metadata": "^4.2",
- "api-platform/state": "^4.2.4",
+ "api-platform/json-schema": "^4.3",
+ "api-platform/metadata": "^4.3",
+ "api-platform/state": "^4.3",
"php": ">=8.2",
"symfony/console": "^6.4 || ^7.0 || ^8.0",
"symfony/filesystem": "^6.4 || ^7.0 || ^8.0",
@@ -1740,11 +1751,12 @@
"symfony/type-info": "^7.3 || ^8.0"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.2",
- "api-platform/doctrine-odm": "^4.2",
- "api-platform/doctrine-orm": "^4.2",
+ "api-platform/doctrine-common": "^4.3",
+ "api-platform/doctrine-odm": "^4.3",
+ "api-platform/doctrine-orm": "^4.3",
+ "api-platform/serializer": "^4.3",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/type-info": "^7.3 || ^8.0"
},
"type": "library",
@@ -1760,7 +1772,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1800,27 +1812,27 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/openapi/tree/v4.2.19"
+ "source": "https://github.com/api-platform/openapi/tree/v4.3.4"
},
- "time": "2026-01-26T15:38:30+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/serializer",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/serializer.git",
- "reference": "bd627b86c0cb37bd2c2ca6b7f996d5301627f627"
+ "reference": "bd7c26cc8e6858abc9661d677c15eaf4c61e08e3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/serializer/zipball/bd627b86c0cb37bd2c2ca6b7f996d5301627f627",
- "reference": "bd627b86c0cb37bd2c2ca6b7f996d5301627f627",
+ "url": "https://api.github.com/repos/api-platform/serializer/zipball/bd7c26cc8e6858abc9661d677c15eaf4c61e08e3",
+ "reference": "bd7c26cc8e6858abc9661d677c15eaf4c61e08e3",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2",
- "api-platform/state": "^4.2.4",
+ "api-platform/metadata": "^4.3",
+ "api-platform/state": "^4.3",
"php": ">=8.2",
"symfony/property-access": "^6.4 || ^7.0 || ^8.0",
"symfony/property-info": "^6.4 || ^7.1 || ^8.0",
@@ -1828,14 +1840,15 @@
"symfony/validator": "^6.4.11 || ^7.0 || ^8.0"
},
"require-dev": {
- "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",
+ "api-platform/doctrine-common": "^4.3",
+ "api-platform/doctrine-odm": "^4.3",
+ "api-platform/doctrine-orm": "^4.3",
+ "api-platform/json-schema": "^4.3",
+ "api-platform/openapi": "^4.3",
"doctrine/collections": "^2.1",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
+ "sebastian/exporter": "^6.3.2 || ^7.0.2",
"symfony/mercure-bundle": "*",
"symfony/type-info": "^7.3 || ^8.0",
"symfony/var-dumper": "^6.4 || ^7.0 || ^8.0",
@@ -1858,7 +1871,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1893,26 +1906,26 @@
"serializer"
],
"support": {
- "source": "https://github.com/api-platform/serializer/tree/v4.2.19"
+ "source": "https://github.com/api-platform/serializer/tree/v4.3.4"
},
- "time": "2026-02-27T16:03:48+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/state",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/state.git",
- "reference": "1b6f69c75579ab0f132cd45e45d5f43ed19a15a5"
+ "reference": "dda8789e95b1627a6427edb48f9024b306fdf5ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/state/zipball/1b6f69c75579ab0f132cd45e45d5f43ed19a15a5",
- "reference": "1b6f69c75579ab0f132cd45e45d5f43ed19a15a5",
+ "url": "https://api.github.com/repos/api-platform/state/zipball/dda8789e95b1627a6427edb48f9024b306fdf5ff",
+ "reference": "dda8789e95b1627a6427edb48f9024b306fdf5ff",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2.3",
+ "api-platform/metadata": "^4.3",
"php": ">=8.2",
"psr/container": "^1.0 || ^2.0",
"symfony/deprecation-contracts": "^3.1",
@@ -1921,9 +1934,9 @@
"symfony/translation-contracts": "^3.0"
},
"require-dev": {
- "api-platform/serializer": "^4.2.4",
- "api-platform/validator": "^4.2.4",
- "phpunit/phpunit": "^12.2",
+ "api-platform/serializer": "^4.3",
+ "api-platform/validator": "^4.3.1",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/http-foundation": "^6.4.14 || ^7.0 || ^8.0",
"symfony/object-mapper": "^7.4 || ^8.0",
"symfony/type-info": "^7.4 || ^8.0",
@@ -1950,7 +1963,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -1990,35 +2003,35 @@
"swagger"
],
"support": {
- "source": "https://github.com/api-platform/state/tree/v4.2.19"
+ "source": "https://github.com/api-platform/state/tree/v4.3.4"
},
- "time": "2026-02-17T09:18:17+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/symfony",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/symfony.git",
- "reference": "3ed112cd9e278a5ba2d7b663df04861a3c4ba905"
+ "reference": "532063884e3f91a8a831322a572220cc55501a2f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/symfony/zipball/3ed112cd9e278a5ba2d7b663df04861a3c4ba905",
- "reference": "3ed112cd9e278a5ba2d7b663df04861a3c4ba905",
+ "url": "https://api.github.com/repos/api-platform/symfony/zipball/532063884e3f91a8a831322a572220cc55501a2f",
+ "reference": "532063884e3f91a8a831322a572220cc55501a2f",
"shasum": ""
},
"require": {
- "api-platform/documentation": "^4.2.12",
- "api-platform/http-cache": "^4.2.12",
- "api-platform/hydra": "^4.2.12",
- "api-platform/json-schema": "^4.2.12",
- "api-platform/jsonld": "^4.2.12",
- "api-platform/metadata": "^4.2.12",
- "api-platform/openapi": "^4.2.12",
- "api-platform/serializer": "^4.2.12",
- "api-platform/state": "^4.2.12",
- "api-platform/validator": "^4.2.12",
+ "api-platform/documentation": "^4.3",
+ "api-platform/http-cache": "^4.3",
+ "api-platform/hydra": "^4.3",
+ "api-platform/json-schema": "^4.3",
+ "api-platform/jsonld": "^4.3",
+ "api-platform/metadata": "^4.3",
+ "api-platform/openapi": "^4.3",
+ "api-platform/serializer": "^4.3",
+ "api-platform/state": "^4.3",
+ "api-platform/validator": "^4.3.1",
"php": ">=8.2",
"symfony/asset": "^6.4 || ^7.0 || ^8.0",
"symfony/finder": "^6.4 || ^7.0 || ^8.0",
@@ -2029,14 +2042,14 @@
"willdurand/negotiation": "^3.1"
},
"require-dev": {
- "api-platform/doctrine-common": "^4.2.12",
- "api-platform/doctrine-odm": "^4.2.12",
- "api-platform/doctrine-orm": "^4.2.12",
- "api-platform/elasticsearch": "^4.2.12",
- "api-platform/graphql": "^4.2.12",
- "api-platform/hal": "^4.2.12",
+ "api-platform/doctrine-common": "^4.3",
+ "api-platform/doctrine-odm": "^4.3",
+ "api-platform/doctrine-orm": "^4.3",
+ "api-platform/elasticsearch": "^4.3",
+ "api-platform/graphql": "^4.3",
+ "api-platform/hal": "^4.3",
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2",
+ "phpunit/phpunit": "^11.5 || ^12.2",
"symfony/expression-language": "^6.4 || ^7.0 || ^8.0",
"symfony/intl": "^6.4 || ^7.0 || ^8.0",
"symfony/mercure-bundle": "*",
@@ -2077,7 +2090,7 @@
"require": "^6.4 || ^7.0 || ^8.0"
},
"branch-alias": {
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -2118,26 +2131,26 @@
"symfony"
],
"support": {
- "source": "https://github.com/api-platform/symfony/tree/v4.2.19"
+ "source": "https://github.com/api-platform/symfony/tree/v4.3.4"
},
- "time": "2026-02-27T10:22:56+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "api-platform/validator",
- "version": "v4.2.19",
+ "version": "v4.3.4",
"source": {
"type": "git",
"url": "https://github.com/api-platform/validator.git",
- "reference": "22968964145b3fe542b5885f6a2e74d77e7e28c3"
+ "reference": "22693bc3d3538af700cf274b99c834c37b1d1a68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/validator/zipball/22968964145b3fe542b5885f6a2e74d77e7e28c3",
- "reference": "22968964145b3fe542b5885f6a2e74d77e7e28c3",
+ "url": "https://api.github.com/repos/api-platform/validator/zipball/22693bc3d3538af700cf274b99c834c37b1d1a68",
+ "reference": "22693bc3d3538af700cf274b99c834c37b1d1a68",
"shasum": ""
},
"require": {
- "api-platform/metadata": "^4.2",
+ "api-platform/metadata": "^4.3",
"php": ">=8.2",
"symfony/http-kernel": "^6.4 || ^7.1 || ^8.0",
"symfony/serializer": "^6.4 || ^7.1 || ^8.0",
@@ -2147,7 +2160,7 @@
},
"require-dev": {
"phpspec/prophecy-phpunit": "^2.2",
- "phpunit/phpunit": "^12.2"
+ "phpunit/phpunit": "^11.5 || ^12.2"
},
"type": "library",
"extra": {
@@ -2162,7 +2175,7 @@
"dev-3.4": "3.4.x-dev",
"dev-4.1": "4.1.x-dev",
"dev-4.2": "4.2.x-dev",
- "dev-main": "4.3.x-dev"
+ "dev-main": "4.4.x-dev"
}
},
"autoload": {
@@ -2194,9 +2207,9 @@
"validator"
],
"support": {
- "source": "https://github.com/api-platform/validator/tree/v4.2.19"
+ "source": "https://github.com/api-platform/validator/tree/v4.3.4"
},
- "time": "2026-01-26T15:45:40+00:00"
+ "time": "2026-04-30T12:21:24+00:00"
},
{
"name": "beberlei/assert",
@@ -2500,16 +2513,16 @@
},
{
"name": "composer/ca-bundle",
- "version": "1.5.10",
+ "version": "1.5.11",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63"
+ "reference": "68ff39175e8e94a4bb1d259407ce51a6a60f09e6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/961a5e4056dd2e4a2eedcac7576075947c28bf63",
- "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/68ff39175e8e94a4bb1d259407ce51a6a60f09e6",
+ "reference": "68ff39175e8e94a4bb1d259407ce51a6a60f09e6",
"shasum": ""
},
"require": {
@@ -2556,7 +2569,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.10"
+ "source": "https://github.com/composer/ca-bundle/tree/1.5.11"
},
"funding": [
{
@@ -2568,7 +2581,7 @@
"type": "github"
}
],
- "time": "2025-12-08T15:06:51+00:00"
+ "time": "2026-03-30T09:16:10+00:00"
},
{
"name": "composer/package-versions-deprecated",
@@ -2722,6 +2735,83 @@
],
"time": "2024-11-12T16:29:46+00:00"
},
+ {
+ "name": "composer/semver",
+ "version": "3.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/semver.git",
+ "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95",
+ "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.11",
+ "symfony/phpunit-bridge": "^3 || ^7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "support": {
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.4.4"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ }
+ ],
+ "time": "2025-08-20T19:15:30+00:00"
+ },
{
"name": "daverandom/libdns",
"version": "v2.1.0",
@@ -3020,16 +3110,16 @@
},
{
"name": "doctrine/data-fixtures",
- "version": "2.2.0",
+ "version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/data-fixtures.git",
- "reference": "7a615ba135e45d67674bb623d90f34f6c7b6bd97"
+ "reference": "bf7ac3a050b54b261cedfb3d0a44733819062275"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/7a615ba135e45d67674bb623d90f34f6c7b6bd97",
- "reference": "7a615ba135e45d67674bb623d90f34f6c7b6bd97",
+ "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/bf7ac3a050b54b261cedfb3d0a44733819062275",
+ "reference": "bf7ac3a050b54b261cedfb3d0a44733819062275",
"shasum": ""
},
"require": {
@@ -3047,12 +3137,14 @@
"doctrine/dbal": "^3.5 || ^4",
"doctrine/mongodb-odm": "^1.3.0 || ^2.0.0",
"doctrine/orm": "^2.14 || ^3",
+ "doctrine/phpcr-odm": "^1.8 || ^2.0",
"ext-sqlite3": "*",
"fig/log-test": "^1",
- "phpstan/phpstan": "2.1.31",
- "phpunit/phpunit": "10.5.45 || 12.4.0",
- "symfony/cache": "^6.4 || ^7",
- "symfony/var-exporter": "^6.4 || ^7"
+ "jackalope/jackalope-fs": "*",
+ "phpstan/phpstan": "2.1.46",
+ "phpunit/phpunit": "10.5.63 || 12.5.12",
+ "symfony/cache": "^6.4 || ^7 || ^8",
+ "symfony/var-exporter": "^6.4 || ^7 || ^8"
},
"suggest": {
"alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)",
@@ -3083,7 +3175,7 @@
],
"support": {
"issues": "https://github.com/doctrine/data-fixtures/issues",
- "source": "https://github.com/doctrine/data-fixtures/tree/2.2.0"
+ "source": "https://github.com/doctrine/data-fixtures/tree/2.2.1"
},
"funding": [
{
@@ -3099,20 +3191,20 @@
"type": "tidelift"
}
],
- "time": "2025-10-17T20:06:20+00:00"
+ "time": "2026-04-01T13:56:01+00:00"
},
{
"name": "doctrine/dbal",
- "version": "4.4.2",
+ "version": "4.4.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "476f7f0fa6ea4aa5364926db7fabdf6049075722"
+ "reference": "61e730f1658814821a85f2402c945f3883407dec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/476f7f0fa6ea4aa5364926db7fabdf6049075722",
- "reference": "476f7f0fa6ea4aa5364926db7fabdf6049075722",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/61e730f1658814821a85f2402c945f3883407dec",
+ "reference": "61e730f1658814821a85f2402c945f3883407dec",
"shasum": ""
},
"require": {
@@ -3189,7 +3281,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/4.4.2"
+ "source": "https://github.com/doctrine/dbal/tree/4.4.3"
},
"funding": [
{
@@ -3205,7 +3297,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-26T12:12:19+00:00"
+ "time": "2026-03-20T08:52:12+00:00"
},
{
"name": "doctrine/deprecations",
@@ -3791,16 +3883,16 @@
},
{
"name": "doctrine/migrations",
- "version": "3.9.6",
+ "version": "3.9.7",
"source": {
"type": "git",
"url": "https://github.com/doctrine/migrations.git",
- "reference": "ffd8355cdd8505fc650d9604f058bf62aedd80a1"
+ "reference": "96cb2a89b56c9efb0bac38e606dc0b0f13e650ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/migrations/zipball/ffd8355cdd8505fc650d9604f058bf62aedd80a1",
- "reference": "ffd8355cdd8505fc650d9604f058bf62aedd80a1",
+ "url": "https://api.github.com/repos/doctrine/migrations/zipball/96cb2a89b56c9efb0bac38e606dc0b0f13e650ec",
+ "reference": "96cb2a89b56c9efb0bac38e606dc0b0f13e650ec",
"shasum": ""
},
"require": {
@@ -3874,7 +3966,7 @@
],
"support": {
"issues": "https://github.com/doctrine/migrations/issues",
- "source": "https://github.com/doctrine/migrations/tree/3.9.6"
+ "source": "https://github.com/doctrine/migrations/tree/3.9.7"
},
"funding": [
{
@@ -3890,20 +3982,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-11T06:46:11+00:00"
+ "time": "2026-04-23T19:33:20+00:00"
},
{
"name": "doctrine/orm",
- "version": "3.6.2",
+ "version": "3.6.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
- "reference": "4262eb495b4d2a53b45de1ac58881e0091f2970f"
+ "reference": "e88cd591f0786089dee22b972c28aa2076df51c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/orm/zipball/4262eb495b4d2a53b45de1ac58881e0091f2970f",
- "reference": "4262eb495b4d2a53b45de1ac58881e0091f2970f",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/e88cd591f0786089dee22b972c28aa2076df51c0",
+ "reference": "e88cd591f0786089dee22b972c28aa2076df51c0",
"shasum": ""
},
"require": {
@@ -3976,25 +4068,26 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
- "source": "https://github.com/doctrine/orm/tree/3.6.2"
+ "source": "https://github.com/doctrine/orm/tree/3.6.3"
},
- "time": "2026-01-30T21:41:41+00:00"
+ "time": "2026-04-02T06:53:27+00:00"
},
{
"name": "doctrine/persistence",
- "version": "4.1.1",
+ "version": "4.2.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
- "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09"
+ "reference": "49ab73e0d3e2ac8d1f5ecda3dd8acd5503781e8b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/persistence/zipball/b9c49ad3558bb77ef973f4e173f2e9c2eca9be09",
- "reference": "b9c49ad3558bb77ef973f4e173f2e9c2eca9be09",
+ "url": "https://api.github.com/repos/doctrine/persistence/zipball/49ab73e0d3e2ac8d1f5ecda3dd8acd5503781e8b",
+ "reference": "49ab73e0d3e2ac8d1f5ecda3dd8acd5503781e8b",
"shasum": ""
},
"require": {
+ "doctrine/deprecations": "^1",
"doctrine/event-manager": "^1 || ^2",
"php": "^8.1",
"psr/cache": "^1.0 || ^2.0 || ^3.0"
@@ -4005,13 +4098,13 @@
"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"
+ "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/finder": "^4.4 || ^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Persistence\\": "src/Persistence"
+ "Doctrine\\Persistence\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4055,7 +4148,7 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
- "source": "https://github.com/doctrine/persistence/tree/4.1.1"
+ "source": "https://github.com/doctrine/persistence/tree/4.2.0"
},
"funding": [
{
@@ -4071,7 +4164,7 @@
"type": "tidelift"
}
],
- "time": "2025-10-16T20:13:18+00:00"
+ "time": "2026-04-26T12:12:52+00:00"
},
{
"name": "doctrine/sql-formatter",
@@ -4130,16 +4223,16 @@
},
{
"name": "dompdf/dompdf",
- "version": "v3.1.4",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "db712c90c5b9868df3600e64e68da62e78a34623"
+ "reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/db712c90c5b9868df3600e64e68da62e78a34623",
- "reference": "db712c90c5b9868df3600e64e68da62e78a34623",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
+ "reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
"shasum": ""
},
"require": {
@@ -4188,9 +4281,9 @@
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v3.1.4"
+ "source": "https://github.com/dompdf/dompdf/tree/v3.1.5"
},
- "time": "2025-10-29T12:43:30+00:00"
+ "time": "2026-03-03T13:54:37+00:00"
},
{
"name": "dompdf/php-font-lib",
@@ -4753,16 +4846,16 @@
},
{
"name": "guzzlehttp/psr7",
- "version": "2.8.0",
+ "version": "2.9.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "21dc724a0583619cd1652f673303492272778051"
+ "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051",
- "reference": "21dc724a0583619cd1652f673303492272778051",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884",
+ "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884",
"shasum": ""
},
"require": {
@@ -4778,6 +4871,7 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "0.9.0",
+ "jshttp/mime-db": "1.54.0.1",
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"suggest": {
@@ -4849,7 +4943,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.8.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.9.0"
},
"funding": [
{
@@ -4865,7 +4959,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-23T21:21:41+00:00"
+ "time": "2026-03-10T16:41:02+00:00"
},
{
"name": "hshn/base64-encoded-file",
@@ -5108,16 +5202,16 @@
},
{
"name": "jbtronics/settings-bundle",
- "version": "v3.2.1",
+ "version": "v3.3.1",
"source": {
"type": "git",
"url": "https://github.com/jbtronics/settings-bundle.git",
- "reference": "9cce5f59482e66417166354072c7e24790495b9b"
+ "reference": "ca90a8b2255482d11f10cb30c49791a7dabd5d40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/9cce5f59482e66417166354072c7e24790495b9b",
- "reference": "9cce5f59482e66417166354072c7e24790495b9b",
+ "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/ca90a8b2255482d11f10cb30c49791a7dabd5d40",
+ "reference": "ca90a8b2255482d11f10cb30c49791a7dabd5d40",
"shasum": ""
},
"require": {
@@ -5146,11 +5240,13 @@
"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"
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
},
"suggest": {
"doctrine/doctrine-bundle": "To use the doctrine ORM storage",
- "symfony/twig-bridge": "Allows to access settings in twig templates"
+ "symfony/twig-bridge": "Allows to access settings in twig templates",
+ "symfony/yaml": "To use the YAML metadata driver for settings configuration"
},
"type": "symfony-bundle",
"autoload": {
@@ -5165,20 +5261,30 @@
"authors": [
{
"name": "Jan Böhmer",
- "email": "mail@jan-boehmer.de"
+ "email": "mail@jan-boehmer.de",
+ "role": "Maintainer"
+ },
+ {
+ "name": "Github Contributors",
+ "homepage": "https://github.com/jbtronics/settings-bundle/graphs/contributors"
}
],
"description": "A symfony bundle to easily create typesafe, user-configurable settings for symfony applications",
"keywords": [
"Settings",
"config",
+ "configuration",
+ "dynamic-settings",
+ "options",
+ "preferences",
"symfony",
"symfony-bundle",
+ "user-config",
"user-configurable"
],
"support": {
"issues": "https://github.com/jbtronics/settings-bundle/issues",
- "source": "https://github.com/jbtronics/settings-bundle/tree/v3.2.1"
+ "source": "https://github.com/jbtronics/settings-bundle/tree/v3.3.1"
},
"funding": [
{
@@ -5190,7 +5296,7 @@
"type": "github"
}
],
- "time": "2026-02-28T16:30:47+00:00"
+ "time": "2026-04-28T10:57:15+00:00"
},
{
"name": "jfcherng/php-color-output",
@@ -5429,6 +5535,174 @@
],
"time": "2023-05-21T07:57:08+00:00"
},
+ {
+ "name": "jkphl/dom-factory",
+ "version": "v1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/jkphl/dom-factory.git",
+ "reference": "dd32b8b2cc800f065c0eff8bb621d9f80147d45e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/jkphl/dom-factory/zipball/dd32b8b2cc800f065c0eff8bb621d9f80147d45e",
+ "reference": "dd32b8b2cc800f065c0eff8bb621d9f80147d45e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "guzzlehttp/guzzle": "^6.0||^7.0",
+ "masterminds/html5": "^2.7",
+ "php": ">=7.2"
+ },
+ "require-dev": {
+ "clue/graph-composer": "^1.1",
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^8.0||^9.0",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Jkphl\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Joschi Kuphal",
+ "email": "joschi@kuphal.net",
+ "homepage": "https://jkphl.is",
+ "role": "Developer"
+ }
+ ],
+ "description": "Simple HTML5/XML DOM factory",
+ "homepage": "https://github.com/jkphl/dom-factory",
+ "support": {
+ "email": "joschi@kuphal.net",
+ "issues": "https://github.com/jkphl/dom-factory/issues",
+ "source": "https://github.com/jkphl/dom-factory"
+ },
+ "time": "2021-06-28T11:49:36+00:00"
+ },
+ {
+ "name": "jkphl/micrometa",
+ "version": "v3.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/jkphl/micrometa.git",
+ "reference": "003583fa91eab9c62e5a47e9d4f909b2fad44de2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/jkphl/micrometa/zipball/003583fa91eab9c62e5a47e9d4f909b2fad44de2",
+ "reference": "003583fa91eab9c62e5a47e9d4f909b2fad44de2",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "jkphl/dom-factory": "^1",
+ "jkphl/rdfa-lite-microdata": "^0.4.4",
+ "league/uri": "^5.0|^6.5|^7.0",
+ "mf2/mf2": "^0.4",
+ "ml/json-ld": "^1.2",
+ "monolog/monolog": "^1.24 || ^2 || ^3",
+ "php": ">=7.1.3",
+ "psr/cache": "^1.0|^2|^3",
+ "psr/log": "^1.1|^2|^3",
+ "symfony/cache": "^4.0|^5.0|^6.0|^7.0|^8.0"
+ },
+ "require-dev": {
+ "clue/graph-composer": "^1.1",
+ "mf2/tests": "@dev",
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^7.0 || ^8.5",
+ "squizlabs/php_codesniffer": "^3.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Jkphl\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Joschi Kuphal",
+ "email": "joschi@tollwerk.de",
+ "homepage": "https://jkphl.is",
+ "role": "Developer"
+ }
+ ],
+ "description": "A meta parser for extracting micro information out of web documents, currently supporting Microformats 1+2, HTML Microdata, RDFa Lite 1.1 and JSON-LD",
+ "homepage": "https://jkphl.is/projects/micrometa/",
+ "support": {
+ "email": "joschi@tollwerk.de",
+ "issues": "https://github.com/jkphl/micrometa/issues",
+ "source": "https://github.com/jkphl/micrometa"
+ },
+ "time": "2026-04-28T07:20:59+00:00"
+ },
+ {
+ "name": "jkphl/rdfa-lite-microdata",
+ "version": "v0.4.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/jkphl/rdfa-lite-microdata.git",
+ "reference": "ffc4940e8be55798257a03da7ed7d4506a13c3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/jkphl/rdfa-lite-microdata/zipball/ffc4940e8be55798257a03da7ed7d4506a13c3e5",
+ "reference": "ffc4940e8be55798257a03da7ed7d4506a13c3e5",
+ "shasum": ""
+ },
+ "require": {
+ "jkphl/dom-factory": "^1",
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "clue/graph-composer": "dev-master",
+ "codeclimate/php-test-reporter": "^0.4.4",
+ "phpunit/phpunit": "^4.8",
+ "satooshi/php-coveralls": "^1.0",
+ "squizlabs/php_codesniffer": "^2.8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Jkphl\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Joschi Kuphal",
+ "email": "joschi@tollwerk.de",
+ "homepage": "https://jkphl.is",
+ "role": "Developer"
+ }
+ ],
+ "description": "RDFa Lite 1.1 and HTML Microdata parser for web documents (HTML, SVG, XML)",
+ "homepage": "https://github.com/jkphl/rdfa-lite-microdata",
+ "support": {
+ "email": "joschi@tollwerk.de",
+ "issues": "https://github.com/jkphl/rdfa-lite-microdata/issues",
+ "source": "https://github.com/jkphl/rdfa-lite-microdata"
+ },
+ "time": "2023-01-27T13:29:45+00:00"
+ },
{
"name": "kelunik/certificate",
"version": "v1.1.3",
@@ -5686,16 +5960,16 @@
},
{
"name": "league/commonmark",
- "version": "2.8.0",
+ "version": "2.8.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb"
+ "reference": "59fb075d2101740c337c7216e3f32b36c204218b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
- "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b",
+ "reference": "59fb075d2101740c337c7216e3f32b36c204218b",
"shasum": ""
},
"require": {
@@ -5720,9 +5994,9 @@
"phpstan/phpstan": "^1.8.2",
"phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0",
"scrutinizer/ocular": "^1.8.1",
- "symfony/finder": "^5.3 | ^6.0 | ^7.0",
- "symfony/process": "^5.4 | ^6.0 | ^7.0",
- "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0",
+ "symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0",
+ "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0 || ^8.0",
"unleashedtech/php-coding-standard": "^3.1.1",
"vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0"
},
@@ -5789,7 +6063,7 @@
"type": "tidelift"
}
],
- "time": "2025-11-26T21:48:24+00:00"
+ "time": "2026-03-19T13:16:38+00:00"
},
{
"name": "league/config",
@@ -6120,20 +6394,20 @@
},
{
"name": "league/uri",
- "version": "7.8.0",
+ "version": "7.8.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
- "reference": "4436c6ec8d458e4244448b069cc572d088230b76"
+ "reference": "08cf38e3924d4f56238125547b5720496fac8fd4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76",
- "reference": "4436c6ec8d458e4244448b069cc572d088230b76",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4",
+ "reference": "08cf38e3924d4f56238125547b5720496fac8fd4",
"shasum": ""
},
"require": {
- "league/uri-interfaces": "^7.8",
+ "league/uri-interfaces": "^7.8.1",
"php": "^8.1",
"psr/http-factory": "^1"
},
@@ -6206,7 +6480,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.8.0"
+ "source": "https://github.com/thephpleague/uri/tree/7.8.1"
},
"funding": [
{
@@ -6214,24 +6488,24 @@
"type": "github"
}
],
- "time": "2026-01-14T17:24:56+00:00"
+ "time": "2026-03-15T20:22:25+00:00"
},
{
"name": "league/uri-components",
- "version": "7.8.0",
+ "version": "7.8.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-components.git",
- "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba"
+ "reference": "848ff9db2f0be06229d6034b7c2e33d41b4fd675"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/8b5ffcebcc0842b76eb80964795bd56a8333b2ba",
- "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba",
+ "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/848ff9db2f0be06229d6034b7c2e33d41b4fd675",
+ "reference": "848ff9db2f0be06229d6034b7c2e33d41b4fd675",
"shasum": ""
},
"require": {
- "league/uri": "^7.8",
+ "league/uri": "^7.8.1",
"php": "^8.1"
},
"suggest": {
@@ -6290,7 +6564,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.8.0"
+ "source": "https://github.com/thephpleague/uri-components/tree/7.8.1"
},
"funding": [
{
@@ -6298,20 +6572,20 @@
"type": "github"
}
],
- "time": "2026-01-14T17:24:56+00:00"
+ "time": "2026-03-15T20:22:25+00:00"
},
{
"name": "league/uri-interfaces",
- "version": "7.8.0",
+ "version": "7.8.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4"
+ "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
- "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928",
+ "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928",
"shasum": ""
},
"require": {
@@ -6374,7 +6648,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.8.0"
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1"
},
"funding": [
{
@@ -6382,7 +6656,7 @@
"type": "github"
}
],
- "time": "2026-01-15T06:54:53+00:00"
+ "time": "2026-03-08T20:05:35+00:00"
},
{
"name": "liip/imagine-bundle",
@@ -6794,6 +7068,170 @@
},
"time": "2025-07-25T09:04:22+00:00"
},
+ {
+ "name": "mf2/mf2",
+ "version": "0.4.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/microformats/php-mf2.git",
+ "reference": "00b70ee7eb7f5b0585b1bd467f6c9cbd75055d23"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/microformats/php-mf2/zipball/00b70ee7eb7f5b0585b1bd467f6c9cbd75055d23",
+ "reference": "00b70ee7eb7f5b0585b1bd467f6c9cbd75055d23",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "mf2/tests": "@dev",
+ "phpdocumentor/phpdocumentor": "v2.8.4",
+ "phpunit/phpunit": "4.8.*"
+ },
+ "suggest": {
+ "barnabywalters/mf-cleaner": "To more easily handle the canonical data php-mf2 gives you",
+ "masterminds/html5": "Alternative HTML parser for PHP, for better HTML5 support."
+ },
+ "bin": [
+ "bin/fetch-mf2",
+ "bin/parse-mf2"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Mf2/Parser.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "CC0-1.0"
+ ],
+ "authors": [
+ {
+ "name": "Barnaby Walters",
+ "homepage": "http://waterpigs.co.uk"
+ }
+ ],
+ "description": "A pure, generic microformats2 parser — makes HTML as easy to consume as a JSON API",
+ "keywords": [
+ "html",
+ "microformats",
+ "microformats 2",
+ "parser",
+ "semantic"
+ ],
+ "support": {
+ "issues": "https://github.com/microformats/php-mf2/issues",
+ "source": "https://github.com/microformats/php-mf2/tree/master"
+ },
+ "time": "2018-08-24T14:47:04+00:00"
+ },
+ {
+ "name": "ml/iri",
+ "version": "1.1.4",
+ "target-dir": "ML/IRI",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lanthaler/IRI.git",
+ "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lanthaler/IRI/zipball/cbd44fa913e00ea624241b38cefaa99da8d71341",
+ "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341",
+ "shasum": ""
+ },
+ "require": {
+ "lib-pcre": ">=4.0",
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "ML\\IRI": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Markus Lanthaler",
+ "email": "mail@markus-lanthaler.com",
+ "homepage": "http://www.markus-lanthaler.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "IRI handling for PHP",
+ "homepage": "http://www.markus-lanthaler.com",
+ "keywords": [
+ "URN",
+ "iri",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/lanthaler/IRI/issues",
+ "source": "https://github.com/lanthaler/IRI/tree/master"
+ },
+ "time": "2014-01-21T13:43:39+00:00"
+ },
+ {
+ "name": "ml/json-ld",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lanthaler/JsonLD.git",
+ "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/537e68e87a6bce23e57c575cd5dcac1f67ce25d8",
+ "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ml/iri": "^1.1.1",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "json-ld/tests": "1.0",
+ "phpunit/phpunit": "^4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "ML\\JsonLD\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Markus Lanthaler",
+ "email": "mail@markus-lanthaler.com",
+ "homepage": "http://www.markus-lanthaler.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "JSON-LD Processor for PHP",
+ "homepage": "http://www.markus-lanthaler.com",
+ "keywords": [
+ "JSON-LD",
+ "jsonld"
+ ],
+ "support": {
+ "issues": "https://github.com/lanthaler/JsonLD/issues",
+ "source": "https://github.com/lanthaler/JsonLD/tree/1.2.1"
+ },
+ "time": "2022-09-29T08:45:17+00:00"
+ },
{
"name": "monolog/monolog",
"version": "3.10.0",
@@ -7716,6 +8154,58 @@
],
"time": "2025-12-09T10:50:49+00:00"
},
+ {
+ "name": "oskarstark/enum-helper",
+ "version": "1.8.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/OskarStark/enum-helper.git",
+ "reference": "14e185f1cc259d7cd3f61eea17f9b174a886a6da"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/OskarStark/enum-helper/zipball/14e185f1cc259d7cd3f61eea17f9b174a886a6da",
+ "reference": "14e185f1cc259d7cd3f61eea17f9b174a886a6da",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<10"
+ },
+ "require-dev": {
+ "ergebnis/php-cs-fixer-config": "^6.58",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^10.5",
+ "rector/rector": "^2.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "OskarStark\\Enum\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Oskar Stark",
+ "email": "oskarstark@googlemail.com"
+ }
+ ],
+ "description": "This library provides helpers for several enum operations",
+ "keywords": [
+ "enum"
+ ],
+ "support": {
+ "issues": "https://github.com/OskarStark/enum-helper/issues",
+ "source": "https://github.com/OskarStark/enum-helper/tree/1.8.4"
+ },
+ "time": "2026-02-05T08:59:09+00:00"
+ },
{
"name": "paragonie/constant_time_encoding",
"version": "v3.1.3",
@@ -8341,16 +8831,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.6.6",
+ "version": "6.0.3",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
+ "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
- "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/7bae67520aa9f5ecc506d646810bd40d9da54582",
+ "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582",
"shasum": ""
},
"require": {
@@ -8358,8 +8848,8 @@
"ext-filter": "*",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.7",
- "phpstan/phpdoc-parser": "^1.7|^2.0",
+ "phpdocumentor/type-resolver": "^2.0",
+ "phpstan/phpdoc-parser": "^2.0",
"webmozart/assert": "^1.9.1 || ^2"
},
"require-dev": {
@@ -8369,7 +8859,8 @@
"phpstan/phpstan-mockery": "^1.1",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.5",
- "psalm/phar": "^5.26"
+ "psalm/phar": "^5.26",
+ "shipmonk/dead-code-detector": "^0.5.1"
},
"type": "library",
"extra": {
@@ -8399,44 +8890,44 @@
"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.6"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.3"
},
- "time": "2025-12-22T21:13:58+00:00"
+ "time": "2026-03-18T20:49:53+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.12.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
+ "reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
- "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/327a05bbee54120d4786a0dc67aad30226ad4cf9",
+ "reference": "327a05bbee54120d4786a0dc67aad30226ad4cf9",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
- "php": "^7.3 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.18|^2.0"
+ "phpstan/phpdoc-parser": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "psalm/phar": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-1.x": "1.x-dev"
+ "dev-1.x": "1.x-dev",
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
@@ -8457,22 +8948,22 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/2.0.0"
},
- "time": "2025-11-21T15:09:14+00:00"
+ "time": "2026-01-06T21:53:42+00:00"
},
{
"name": "phpoffice/phpspreadsheet",
- "version": "5.5.0",
+ "version": "5.7.0",
"source": {
"type": "git",
"url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
- "reference": "eecd31b885a1c8192f12738130f85bbc6e8906ba"
+ "reference": "9f55d3b9b7bcb1084fda8340e4b7ce4ed10cd0c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/eecd31b885a1c8192f12738130f85bbc6e8906ba",
- "reference": "eecd31b885a1c8192f12738130f85bbc6e8906ba",
+ "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/9f55d3b9b7bcb1084fda8340e4b7ce4ed10cd0c8",
+ "reference": "9f55d3b9b7bcb1084fda8340e4b7ce4ed10cd0c8",
"shasum": ""
},
"require": {
@@ -8566,9 +9057,9 @@
],
"support": {
"issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
- "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.5.0"
+ "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.7.0"
},
- "time": "2026-03-01T00:58:56+00:00"
+ "time": "2026-04-20T02:42:17+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -9252,16 +9743,16 @@
},
{
"name": "rhukster/dom-sanitizer",
- "version": "1.0.8",
+ "version": "1.0.11",
"source": {
"type": "git",
"url": "https://github.com/rhukster/dom-sanitizer.git",
- "reference": "757e4d6ac03afe9afa4f97cbef453fc5c25f0729"
+ "reference": "02d08ec8b36b93b04517d74fe82b715ef06273bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rhukster/dom-sanitizer/zipball/757e4d6ac03afe9afa4f97cbef453fc5c25f0729",
- "reference": "757e4d6ac03afe9afa4f97cbef453fc5c25f0729",
+ "url": "https://api.github.com/repos/rhukster/dom-sanitizer/zipball/02d08ec8b36b93b04517d74fe82b715ef06273bd",
+ "reference": "02d08ec8b36b93b04517d74fe82b715ef06273bd",
"shasum": ""
},
"require": {
@@ -9291,22 +9782,22 @@
"description": "A simple but effective DOM/SVG/MathML Sanitizer for PHP 7.4+",
"support": {
"issues": "https://github.com/rhukster/dom-sanitizer/issues",
- "source": "https://github.com/rhukster/dom-sanitizer/tree/1.0.8"
+ "source": "https://github.com/rhukster/dom-sanitizer/tree/1.0.11"
},
- "time": "2024-04-15T08:48:55+00:00"
+ "time": "2026-04-23T22:56:32+00:00"
},
{
"name": "robrichards/xmlseclibs",
- "version": "3.1.4",
+ "version": "3.1.5",
"source": {
"type": "git",
"url": "https://github.com/robrichards/xmlseclibs.git",
- "reference": "bc87389224c6de95802b505e5265b0ec2c5bcdbd"
+ "reference": "03062be78178cbb5e8f605cd255dc32a14981f92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/bc87389224c6de95802b505e5265b0ec2c5bcdbd",
- "reference": "bc87389224c6de95802b505e5265b0ec2c5bcdbd",
+ "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/03062be78178cbb5e8f605cd255dc32a14981f92",
+ "reference": "03062be78178cbb5e8f605cd255dc32a14981f92",
"shasum": ""
},
"require": {
@@ -9333,9 +9824,9 @@
],
"support": {
"issues": "https://github.com/robrichards/xmlseclibs/issues",
- "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.4"
+ "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.5"
},
- "time": "2025-12-08T11:57:53+00:00"
+ "time": "2026-03-13T10:31:56+00:00"
},
{
"name": "s9e/regexp-builder",
@@ -9502,16 +9993,16 @@
},
{
"name": "sabberworm/php-css-parser",
- "version": "v9.2.0",
+ "version": "v9.3.0",
"source": {
"type": "git",
"url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
- "reference": "59373045e11ad47b5c18fc615feee0219e42f6d3"
+ "reference": "88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/59373045e11ad47b5c18fc615feee0219e42f6d3",
- "reference": "59373045e11ad47b5c18fc615feee0219e42f6d3",
+ "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949",
+ "reference": "88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949",
"shasum": ""
},
"require": {
@@ -9538,7 +10029,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "9.3.x-dev"
+ "dev-main": "9.4.x-dev"
}
},
"autoload": {
@@ -9576,34 +10067,35 @@
],
"support": {
"issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
- "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v9.2.0"
+ "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v9.3.0"
},
- "time": "2026-02-21T17:12:03+00:00"
+ "time": "2026-03-03T17:31:43+00:00"
},
{
"name": "sabre/uri",
- "version": "3.0.2",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/uri.git",
- "reference": "38eeab6ed9eec435a2188db489d4649c56272c51"
+ "reference": "a926c749dddfb289b8a9b5218d16ac06affdc631"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/uri/zipball/38eeab6ed9eec435a2188db489d4649c56272c51",
- "reference": "38eeab6ed9eec435a2188db489d4649c56272c51",
+ "url": "https://api.github.com/repos/sabre-io/uri/zipball/a926c749dddfb289b8a9b5218d16ac06affdc631",
+ "reference": "a926c749dddfb289b8a9b5218d16ac06affdc631",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0"
+ "php": "^8.2"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.64",
+ "friendsofphp/php-cs-fixer": "^3.95",
"phpstan/extension-installer": "^1.4",
- "phpstan/phpstan": "^1.12",
- "phpstan/phpstan-phpunit": "^1.4",
- "phpstan/phpstan-strict-rules": "^1.6",
- "phpunit/phpunit": "^9.6"
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^10.5",
+ "rector/rector": "^2.4"
},
"type": "library",
"autoload": {
@@ -9638,7 +10130,7 @@
"issues": "https://github.com/sabre-io/uri/issues",
"source": "https://github.com/fruux/sabre-uri"
},
- "time": "2024-09-04T15:30:08+00:00"
+ "time": "2026-04-26T04:19:03+00:00"
},
{
"name": "scheb/2fa-backup-code",
@@ -9863,30 +10355,30 @@
},
{
"name": "shivas/versioning-bundle",
- "version": "4.1.1",
+ "version": "4.2.0",
"source": {
"type": "git",
"url": "https://github.com/shivas/versioning-bundle.git",
- "reference": "fd89e3501ff1b0d3e6abe61eb7a878d1d4746868"
+ "reference": "5013ef49951cb8be3846eb77bf3f096a51ea66d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/shivas/versioning-bundle/zipball/fd89e3501ff1b0d3e6abe61eb7a878d1d4746868",
- "reference": "fd89e3501ff1b0d3e6abe61eb7a878d1d4746868",
+ "url": "https://api.github.com/repos/shivas/versioning-bundle/zipball/5013ef49951cb8be3846eb77bf3f096a51ea66d1",
+ "reference": "5013ef49951cb8be3846eb77bf3f096a51ea66d1",
"shasum": ""
},
"require": {
"nikolaposa/version": "^4",
"php": "^7.2.5 || ^8",
- "symfony/console": "^5.4 || ^6 || ^7",
- "symfony/framework-bundle": "^5.4 || ^6 || ^7",
- "symfony/process": "^5.4 || ^6 || ^7"
+ "symfony/console": "^5.4 || ^6 || ^7 || ^8",
+ "symfony/framework-bundle": "^5.4 || ^6 || ^7 || ^8",
+ "symfony/process": "^5.4 || ^6 || ^7 || ^8"
},
"require-dev": {
"mikey179/vfsstream": "^2",
- "nyholm/symfony-bundle-test": "^3.0",
+ "nyholm/symfony-bundle-test": "^3.1",
"phpunit/phpunit": "^8.5.27",
- "symfony/phpunit-bridge": "^5.4 || ^6 || ^7",
+ "symfony/phpunit-bridge": "^5.4 || ^6 || ^7 || ^8",
"twig/twig": "^2 || ^3"
},
"type": "symfony-bundle",
@@ -9916,10 +10408,10 @@
],
"support": {
"issues": "https://github.com/shivas/versioning-bundle/issues",
- "source": "https://github.com/shivas/versioning-bundle/tree/4.1.1",
+ "source": "https://github.com/shivas/versioning-bundle/tree/4.2.0",
"wiki": "https://github.com/shivas/versioning-bundle/wiki"
},
- "time": "2024-08-14T19:33:15+00:00"
+ "time": "2026-03-30T07:38:31+00:00"
},
{
"name": "spatie/db-dumper",
@@ -9986,20 +10478,20 @@
},
{
"name": "spomky-labs/cbor-php",
- "version": "3.2.2",
+ "version": "3.2.3",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/cbor-php.git",
- "reference": "2a5fb86aacfe1004611370ead6caa2bfc88435d0"
+ "reference": "dd6eb84e6d92f7b8bd0da56b4b4dd7235aed0c32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/2a5fb86aacfe1004611370ead6caa2bfc88435d0",
- "reference": "2a5fb86aacfe1004611370ead6caa2bfc88435d0",
+ "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/dd6eb84e6d92f7b8bd0da56b4b4dd7235aed0c32",
+ "reference": "dd6eb84e6d92f7b8bd0da56b4b4dd7235aed0c32",
"shasum": ""
},
"require": {
- "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13|^0.14",
+ "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13|^0.14|^0.15|^0.16|^0.17",
"ext-mbstring": "*",
"php": ">=8.0"
},
@@ -10041,7 +10533,7 @@
],
"support": {
"issues": "https://github.com/Spomky-Labs/cbor-php/issues",
- "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.2.2"
+ "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.2.3"
},
"funding": [
{
@@ -10053,7 +10545,7 @@
"type": "patreon"
}
],
- "time": "2025-11-13T13:00:34+00:00"
+ "time": "2026-04-01T12:15:20+00:00"
},
{
"name": "spomky-labs/otphp",
@@ -10127,40 +10619,41 @@
},
{
"name": "spomky-labs/pki-framework",
- "version": "1.4.1",
+ "version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/Spomky-Labs/pki-framework.git",
- "reference": "f0e9a548df4e3942886adc9b7830581a46334631"
+ "reference": "aa576cbd07128075bef97ac2f8af9854e67513d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/f0e9a548df4e3942886adc9b7830581a46334631",
- "reference": "f0e9a548df4e3942886adc9b7830581a46334631",
+ "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/aa576cbd07128075bef97ac2f8af9854e67513d8",
+ "reference": "aa576cbd07128075bef97ac2f8af9854e67513d8",
"shasum": ""
},
"require": {
- "brick/math": "^0.10|^0.11|^0.12|^0.13|^0.14",
+ "brick/math": "^0.10|^0.11|^0.12|^0.13|^0.14|^0.15|^0.16|^0.17",
"ext-mbstring": "*",
- "php": ">=8.1"
+ "php": ">=8.1",
+ "psr/clock": "^1.0"
},
"require-dev": {
"ekino/phpstan-banned-code": "^1.0|^2.0|^3.0",
"ext-gmp": "*",
"ext-openssl": "*",
- "infection/infection": "^0.28|^0.29|^0.31",
+ "infection/infection": "^0.28|^0.29|^0.31|^0.32",
"php-parallel-lint/php-parallel-lint": "^1.3",
"phpstan/extension-installer": "^1.3|^2.0",
"phpstan/phpstan": "^1.8|^2.0",
"phpstan/phpstan-deprecation-rules": "^1.0|^2.0",
"phpstan/phpstan-phpunit": "^1.1|^2.0",
"phpstan/phpstan-strict-rules": "^1.3|^2.0",
- "phpunit/phpunit": "^10.1|^11.0|^12.0",
+ "phpunit/phpunit": "^10.1|^11.0|^12.0|^13.0",
"rector/rector": "^1.0|^2.0",
"roave/security-advisories": "dev-latest",
"symfony/string": "^6.4|^7.0|^8.0",
"symfony/var-dumper": "^6.4|^7.0|^8.0",
- "symplify/easy-coding-standard": "^12.0"
+ "symplify/easy-coding-standard": "^12.0|^13.0"
},
"suggest": {
"ext-bcmath": "For better performance (or GMP)",
@@ -10220,7 +10713,7 @@
],
"support": {
"issues": "https://github.com/Spomky-Labs/pki-framework/issues",
- "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.4.1"
+ "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.4.2"
},
"funding": [
{
@@ -10232,7 +10725,553 @@
"type": "patreon"
}
],
- "time": "2025-12-20T12:57:40+00:00"
+ "time": "2026-03-23T22:56:56+00:00"
+ },
+ {
+ "name": "symfony/ai-bundle",
+ "version": "v0.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/ai-bundle.git",
+ "reference": "847365e0f885f8814421e9c94f03ce19e0b54bbc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/ai-bundle/zipball/847365e0f885f8814421e9c94f03ce19e0b54bbc",
+ "reference": "847365e0f885f8814421e9c94f03ce19e0b54bbc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/ai-platform": "^0.8",
+ "symfony/clock": "^7.3|^8.0",
+ "symfony/config": "^7.3|^8.0",
+ "symfony/console": "^7.3|^8.0",
+ "symfony/dependency-injection": "^7.3|^8.0",
+ "symfony/framework-bundle": "^7.3|^8.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "google/auth": "^1.47",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^11.5.53",
+ "symfony/ai-agent": "^0.8",
+ "symfony/ai-ai-ml-api-platform": "^0.8",
+ "symfony/ai-albert-platform": "^0.8",
+ "symfony/ai-amazee-ai-platform": "^0.8",
+ "symfony/ai-anthropic-platform": "^0.8",
+ "symfony/ai-azure-platform": "^0.8",
+ "symfony/ai-azure-search-store": "^0.8",
+ "symfony/ai-bedrock-platform": "^0.8",
+ "symfony/ai-cache-message-store": "^0.8",
+ "symfony/ai-cache-platform": "^0.8",
+ "symfony/ai-cache-store": "^0.8",
+ "symfony/ai-cartesia-platform": "^0.8",
+ "symfony/ai-cerebras-platform": "^0.8",
+ "symfony/ai-chat": "^0.8",
+ "symfony/ai-chroma-db-store": "^0.8",
+ "symfony/ai-click-house-store": "^0.8",
+ "symfony/ai-cloudflare-message-store": "^0.8",
+ "symfony/ai-cloudflare-store": "^0.8",
+ "symfony/ai-decart-platform": "^0.8",
+ "symfony/ai-deep-seek-platform": "^0.8",
+ "symfony/ai-docker-model-runner-platform": "^0.8",
+ "symfony/ai-doctrine-message-store": "^0.8",
+ "symfony/ai-elasticsearch-store": "^0.8",
+ "symfony/ai-eleven-labs-platform": "^0.8",
+ "symfony/ai-failover-platform": "^0.8",
+ "symfony/ai-gemini-platform": "^0.8",
+ "symfony/ai-generic-platform": "^0.8",
+ "symfony/ai-hugging-face-platform": "^0.8",
+ "symfony/ai-lm-studio-platform": "^0.8",
+ "symfony/ai-manticore-search-store": "^0.8",
+ "symfony/ai-maria-db-store": "^0.8",
+ "symfony/ai-meilisearch-message-store": "^0.8",
+ "symfony/ai-meilisearch-store": "^0.8",
+ "symfony/ai-meta-platform": "^0.8",
+ "symfony/ai-milvus-store": "^0.8",
+ "symfony/ai-mistral-platform": "^0.8",
+ "symfony/ai-mongo-db-message-store": "^0.8",
+ "symfony/ai-mongo-db-store": "^0.8",
+ "symfony/ai-neo4j-store": "^0.8",
+ "symfony/ai-ollama-platform": "^0.8",
+ "symfony/ai-open-ai-platform": "^0.8",
+ "symfony/ai-open-responses-platform": "^0.8",
+ "symfony/ai-open-router-platform": "^0.8",
+ "symfony/ai-open-search-store": "^0.8",
+ "symfony/ai-perplexity-platform": "^0.8",
+ "symfony/ai-pinecone-store": "^0.8",
+ "symfony/ai-pogocache-message-store": "^0.8",
+ "symfony/ai-postgres-store": "^0.8",
+ "symfony/ai-qdrant-store": "^0.8",
+ "symfony/ai-redis-message-store": "^0.8",
+ "symfony/ai-redis-store": "^0.8",
+ "symfony/ai-replicate-platform": "^0.8",
+ "symfony/ai-s3vectors-store": "^0.8",
+ "symfony/ai-scaleway-platform": "^0.8",
+ "symfony/ai-session-message-store": "^0.8",
+ "symfony/ai-sqlite-store": "^0.8",
+ "symfony/ai-store": "^0.8",
+ "symfony/ai-supabase-store": "^0.8",
+ "symfony/ai-surreal-db-message-store": "^0.8",
+ "symfony/ai-surreal-db-store": "^0.8",
+ "symfony/ai-transformers-php-platform": "^0.8",
+ "symfony/ai-typesense-store": "^0.8",
+ "symfony/ai-vektor-store": "^0.8",
+ "symfony/ai-vertex-ai-platform": "^0.8",
+ "symfony/ai-voyage-platform": "^0.8",
+ "symfony/ai-weaviate-store": "^0.8",
+ "symfony/expression-language": "^7.3|^8.0",
+ "symfony/security-core": "^7.3|^8.0",
+ "symfony/translation": "^7.3|^8.0",
+ "symfony/validator": "^7.3|^8.0"
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/ai",
+ "name": "symfony/ai"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\AI\\AiBundle\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christopher Hertel",
+ "email": "mail@christopher-hertel.de"
+ },
+ {
+ "name": "Oskar Stark",
+ "email": "oskarstark@googlemail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Integration bundle for Symfony AI components",
+ "support": {
+ "source": "https://github.com/symfony/ai-bundle/tree/v0.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-04-20T21:23:24+00:00"
+ },
+ {
+ "name": "symfony/ai-generic-platform",
+ "version": "v0.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/ai-generic-platform.git",
+ "reference": "2e358c0e88c676fad0b61b3df715f9822d29a7e3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/ai-generic-platform/zipball/2e358c0e88c676fad0b61b3df715f9822d29a7e3",
+ "reference": "2e358c0e88c676fad0b61b3df715f9822d29a7e3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/ai-platform": "^0.8",
+ "symfony/http-client": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^11.5.53"
+ },
+ "type": "symfony-ai-platform",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/ai",
+ "name": "symfony/ai"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\AI\\Platform\\Bridge\\Generic\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christopher Hertel",
+ "email": "mail@christopher-hertel.de"
+ },
+ {
+ "name": "Oskar Stark",
+ "email": "oskarstark@googlemail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic platform bridge for Symfony AI",
+ "keywords": [
+ "Bridge",
+ "ai",
+ "generic",
+ "platform"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/ai-generic-platform/tree/v0.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-04-20T21:23:24+00:00"
+ },
+ {
+ "name": "symfony/ai-lm-studio-platform",
+ "version": "v0.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/ai-lm-studio-platform.git",
+ "reference": "ad1c046dd9e7d6e474bc86554443e2d9400a7826"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/ai-lm-studio-platform/zipball/ad1c046dd9e7d6e474bc86554443e2d9400a7826",
+ "reference": "ad1c046dd9e7d6e474bc86554443e2d9400a7826",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/ai-generic-platform": "^0.8",
+ "symfony/ai-platform": "^0.8",
+ "symfony/http-client": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^11.5.53"
+ },
+ "type": "symfony-ai-platform",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/ai",
+ "name": "symfony/ai"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\AI\\Platform\\Bridge\\LmStudio\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christopher Hertel",
+ "email": "mail@christopher-hertel.de"
+ },
+ {
+ "name": "Oskar Stark",
+ "email": "oskarstark@googlemail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "LM Studio platform bridge for Symfony AI",
+ "keywords": [
+ "Bridge",
+ "ai",
+ "lmstudio",
+ "local",
+ "platform"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/ai-lm-studio-platform/tree/v0.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-04-20T21:23:24+00:00"
+ },
+ {
+ "name": "symfony/ai-open-router-platform",
+ "version": "v0.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/ai-open-router-platform.git",
+ "reference": "eb5ed3176b78bc489bf325c5d6bc4efc255804be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/ai-open-router-platform/zipball/eb5ed3176b78bc489bf325c5d6bc4efc255804be",
+ "reference": "eb5ed3176b78bc489bf325c5d6bc4efc255804be",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/ai-generic-platform": "^0.8",
+ "symfony/ai-platform": "^0.8",
+ "symfony/http-client": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^11.5.53"
+ },
+ "type": "symfony-ai-platform",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/ai",
+ "name": "symfony/ai"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\AI\\Platform\\Bridge\\OpenRouter\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christopher Hertel",
+ "email": "mail@christopher-hertel.de"
+ },
+ {
+ "name": "Oskar Stark",
+ "email": "oskarstark@googlemail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "OpenRouter platform bridge for Symfony AI",
+ "keywords": [
+ "Bridge",
+ "OpenRouter",
+ "ai",
+ "platform"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/ai-open-router-platform/tree/v0.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-04-20T21:23:24+00:00"
+ },
+ {
+ "name": "symfony/ai-platform",
+ "version": "v0.8.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/ai-platform.git",
+ "reference": "86ed9396f53cad02b5d1ca8092956ea74f65823f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/ai-platform/zipball/86ed9396f53cad02b5d1ca8092956ea74f65823f",
+ "reference": "86ed9396f53cad02b5d1ca8092956ea74f65823f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-fileinfo": "*",
+ "oskarstark/enum-helper": "^1.5",
+ "php": ">=8.2",
+ "phpdocumentor/reflection-docblock": "^5.4|^6.0",
+ "phpstan/phpdoc-parser": "^2.1",
+ "psr/log": "^3.0",
+ "symfony/clock": "^7.3|^8.0",
+ "symfony/event-dispatcher": "^7.3|^8.0",
+ "symfony/property-access": "^7.3|^8.0",
+ "symfony/property-info": "^7.3|^8.0",
+ "symfony/serializer": "^7.3|^8.0",
+ "symfony/type-info": "^7.3|^8.0",
+ "symfony/uid": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^11.5.53",
+ "symfony/cache": "^7.3|^8.0",
+ "symfony/console": "^7.3|^8.0",
+ "symfony/dotenv": "^7.3|^8.0",
+ "symfony/expression-language": "^7.3|^8.0",
+ "symfony/finder": "^7.3|^8.0",
+ "symfony/http-client": "^7.3|^8.0",
+ "symfony/http-client-contracts": "^3.5",
+ "symfony/intl": "^7.3|^8.0",
+ "symfony/process": "^7.3|^8.0",
+ "symfony/validator": "^7.3|^8.0",
+ "symfony/var-dumper": "^7.3|^8.0",
+ "symfony/yaml": "^7.3|^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/ai",
+ "name": "symfony/ai"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\AI\\Platform\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christopher Hertel",
+ "email": "mail@christopher-hertel.de"
+ },
+ {
+ "name": "Oskar Stark",
+ "email": "oskarstark@googlemail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "PHP library for interacting with AI platform provider.",
+ "keywords": [
+ "Gemini",
+ "OpenRouter",
+ "ai",
+ "aimlapi",
+ "albert",
+ "amazeeai",
+ "anthropic",
+ "azure",
+ "bedrock",
+ "cerebras",
+ "dockermodelrunner",
+ "elevenlabs",
+ "huggingface",
+ "inference",
+ "litellm",
+ "llama",
+ "lmstudio",
+ "meta",
+ "mistral",
+ "nova",
+ "ollama",
+ "openai",
+ "ovh",
+ "perplexity",
+ "replicate",
+ "speech",
+ "transformers",
+ "vertexai",
+ "voyage"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/ai-platform/tree/v0.8.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2026-04-20T21:28:38+00:00"
},
{
"name": "symfony/apache-pack",
@@ -10262,16 +11301,16 @@
},
{
"name": "symfony/asset",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset.git",
- "reference": "d944ae87e4697af05aadeacfc5e603c3c18ef4fb"
+ "reference": "d2e2f014ccd6ec9fae8dbe6336a4164346a2a856"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/d944ae87e4697af05aadeacfc5e603c3c18ef4fb",
- "reference": "d944ae87e4697af05aadeacfc5e603c3c18ef4fb",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/d2e2f014ccd6ec9fae8dbe6336a4164346a2a856",
+ "reference": "d2e2f014ccd6ec9fae8dbe6336a4164346a2a856",
"shasum": ""
},
"require": {
@@ -10311,7 +11350,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.4.6"
+ "source": "https://github.com/symfony/asset/tree/v7.4.8"
},
"funding": [
{
@@ -10331,20 +11370,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-09T09:33:46+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/cache",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "1d06192e8f164e2729b0031e6807d72a6195b8bb"
+ "reference": "3860fa12a5013b48d445909c6ea07f870e10ba7c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/1d06192e8f164e2729b0031e6807d72a6195b8bb",
- "reference": "1d06192e8f164e2729b0031e6807d72a6195b8bb",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/3860fa12a5013b48d445909c6ea07f870e10ba7c",
+ "reference": "3860fa12a5013b48d445909c6ea07f870e10ba7c",
"shasum": ""
},
"require": {
@@ -10415,7 +11454,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.4.6"
+ "source": "https://github.com/symfony/cache/tree/v7.4.9"
},
"funding": [
{
@@ -10435,7 +11474,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-21T23:29:27+00:00"
+ "time": "2026-04-29T13:21:53+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -10515,16 +11554,16 @@
},
{
"name": "symfony/clock",
- "version": "v7.4.0",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "9169f24776edde469914c1e7a1442a50f7a4e110"
+ "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/9169f24776edde469914c1e7a1442a50f7a4e110",
- "reference": "9169f24776edde469914c1e7a1442a50f7a4e110",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/674fa3b98e21531dd040e613479f5f6fa8f32111",
+ "reference": "674fa3b98e21531dd040e613479f5f6fa8f32111",
"shasum": ""
},
"require": {
@@ -10569,7 +11608,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.4.0"
+ "source": "https://github.com/symfony/clock/tree/v7.4.8"
},
"funding": [
{
@@ -10589,20 +11628,20 @@
"type": "tidelift"
}
],
- "time": "2025-11-12T15:39:26+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/config",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "9400e2f9226b3b64ebb0a8ae967ae84e54e39640"
+ "reference": "d4a277b7a0f26487db16b264d935c617b7d994ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/9400e2f9226b3b64ebb0a8ae967ae84e54e39640",
- "reference": "9400e2f9226b3b64ebb0a8ae967ae84e54e39640",
+ "url": "https://api.github.com/repos/symfony/config/zipball/d4a277b7a0f26487db16b264d935c617b7d994ea",
+ "reference": "d4a277b7a0f26487db16b264d935c617b7d994ea",
"shasum": ""
},
"require": {
@@ -10648,7 +11687,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.4.6"
+ "source": "https://github.com/symfony/config/tree/v7.4.9"
},
"funding": [
{
@@ -10668,20 +11707,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-29T14:25:20+00:00"
},
{
"name": "symfony/console",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "6d643a93b47398599124022eb24d97c153c12f27"
+ "reference": "d7d2b64a45a89d607865927b176fa51c33ddbb58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/6d643a93b47398599124022eb24d97c153c12f27",
- "reference": "6d643a93b47398599124022eb24d97c153c12f27",
+ "url": "https://api.github.com/repos/symfony/console/zipball/d7d2b64a45a89d607865927b176fa51c33ddbb58",
+ "reference": "d7d2b64a45a89d607865927b176fa51c33ddbb58",
"shasum": ""
},
"require": {
@@ -10746,7 +11785,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.4.6"
+ "source": "https://github.com/symfony/console/tree/v7.4.9"
},
"funding": [
{
@@ -10766,20 +11805,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T17:02:47+00:00"
+ "time": "2026-04-22T15:21:55+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "2e7c52c647b406e2107dd867db424a4dbac91864"
+ "reference": "b75663ed96cf4756e28e3105476f220f92886cc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/2e7c52c647b406e2107dd867db424a4dbac91864",
- "reference": "2e7c52c647b406e2107dd867db424a4dbac91864",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/b75663ed96cf4756e28e3105476f220f92886cc4",
+ "reference": "b75663ed96cf4756e28e3105476f220f92886cc4",
"shasum": ""
},
"require": {
@@ -10815,7 +11854,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.4.6"
+ "source": "https://github.com/symfony/css-selector/tree/v7.4.9"
},
"funding": [
{
@@ -10835,20 +11874,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-17T07:53:42+00:00"
+ "time": "2026-04-18T13:18:21+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "a3f7d594ca53a34a7d39ae683fbca09408b0c598"
+ "reference": "27cd9f912438d07ced76008bc66cf8b0cf4de622"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a3f7d594ca53a34a7d39ae683fbca09408b0c598",
- "reference": "a3f7d594ca53a34a7d39ae683fbca09408b0c598",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/27cd9f912438d07ced76008bc66cf8b0cf4de622",
+ "reference": "27cd9f912438d07ced76008bc66cf8b0cf4de622",
"shasum": ""
},
"require": {
@@ -10899,7 +11938,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.4.6"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.4.9"
},
"funding": [
{
@@ -10919,7 +11958,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-30T18:38:49+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -10990,16 +12029,16 @@
},
{
"name": "symfony/doctrine-bridge",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "710cb7313446aa5ce67e2da06c01f1640dfbdcc6"
+ "reference": "7a87c85853f3069e3657a823c62b02952de46b0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/710cb7313446aa5ce67e2da06c01f1640dfbdcc6",
- "reference": "710cb7313446aa5ce67e2da06c01f1640dfbdcc6",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/7a87c85853f3069e3657a823c62b02952de46b0a",
+ "reference": "7a87c85853f3069e3657a823c62b02952de46b0a",
"shasum": ""
},
"require": {
@@ -11079,7 +12118,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v7.4.6"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v7.4.9"
},
"funding": [
{
@@ -11099,20 +12138,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-17T08:07:48+00:00"
+ "time": "2026-04-29T14:19:39+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "487ba8fa43da9a8e6503fe939b45ecd96875410e"
+ "reference": "2918e7c2ba964defca1f5b69c6f74886529e2dc8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/487ba8fa43da9a8e6503fe939b45ecd96875410e",
- "reference": "487ba8fa43da9a8e6503fe939b45ecd96875410e",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2918e7c2ba964defca1f5b69c6f74886529e2dc8",
+ "reference": "2918e7c2ba964defca1f5b69c6f74886529e2dc8",
"shasum": ""
},
"require": {
@@ -11151,7 +12190,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v7.4.6"
+ "source": "https://github.com/symfony/dom-crawler/tree/v7.4.8"
},
"funding": [
{
@@ -11171,20 +12210,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-17T07:53:42+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/dotenv",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
- "reference": "db374255a1c99511d34d5e009dce5be75d0d9c23"
+ "reference": "ba757a8564a0ccac1a26a859b83295645020ea68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/db374255a1c99511d34d5e009dce5be75d0d9c23",
- "reference": "db374255a1c99511d34d5e009dce5be75d0d9c23",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/ba757a8564a0ccac1a26a859b83295645020ea68",
+ "reference": "ba757a8564a0ccac1a26a859b83295645020ea68",
"shasum": ""
},
"require": {
@@ -11229,7 +12268,7 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v7.4.6"
+ "source": "https://github.com/symfony/dotenv/tree/v7.4.9"
},
"funding": [
{
@@ -11249,20 +12288,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-13T11:43:08+00:00"
+ "time": "2026-04-29T13:21:53+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8"
+ "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8",
- "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa",
+ "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa",
"shasum": ""
},
"require": {
@@ -11311,7 +12350,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.4.4"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.8"
},
"funding": [
{
@@ -11331,20 +12370,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-20T16:42:42+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.4.4",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "dc2c0eba1af673e736bb851d747d266108aea746"
+ "reference": "e4a2e29753c7801f7a8340e066cfa788f3bc8101"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746",
- "reference": "dc2c0eba1af673e736bb851d747d266108aea746",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e4a2e29753c7801f7a8340e066cfa788f3bc8101",
+ "reference": "e4a2e29753c7801f7a8340e066cfa788f3bc8101",
"shasum": ""
},
"require": {
@@ -11396,7 +12435,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.4.4"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.9"
},
"funding": [
{
@@ -11416,7 +12455,7 @@
"type": "tidelift"
}
],
- "time": "2026-01-05T11:45:34+00:00"
+ "time": "2026-04-18T13:18:21+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -11496,16 +12535,16 @@
},
{
"name": "symfony/expression-language",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "f3a6497eb6573e185f2ec41cd3b3f0cd68ddf667"
+ "reference": "87ff95687748f4af65e4d5a6e917d448ec52aa83"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/f3a6497eb6573e185f2ec41cd3b3f0cd68ddf667",
- "reference": "f3a6497eb6573e185f2ec41cd3b3f0cd68ddf667",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/87ff95687748f4af65e4d5a6e917d448ec52aa83",
+ "reference": "87ff95687748f4af65e4d5a6e917d448ec52aa83",
"shasum": ""
},
"require": {
@@ -11540,7 +12579,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.4.4"
+ "source": "https://github.com/symfony/expression-language/tree/v7.4.8"
},
"funding": [
{
@@ -11560,20 +12599,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-05T08:47:25+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "3ebc794fa5315e59fd122561623c2e2e4280538e"
+ "reference": "dcd8f96bcdc0f128ec406c765cc066c6035d1be3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/3ebc794fa5315e59fd122561623c2e2e4280538e",
- "reference": "3ebc794fa5315e59fd122561623c2e2e4280538e",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/dcd8f96bcdc0f128ec406c765cc066c6035d1be3",
+ "reference": "dcd8f96bcdc0f128ec406c765cc066c6035d1be3",
"shasum": ""
},
"require": {
@@ -11610,7 +12649,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.4.6"
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.9"
},
"funding": [
{
@@ -11630,20 +12669,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-18T13:18:21+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf"
+ "reference": "e0be088d22278583a82da281886e8c3592fbf149"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/8655bf1076b7a3a346cb11413ffdabff50c7ffcf",
- "reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149",
+ "reference": "e0be088d22278583a82da281886e8c3592fbf149",
"shasum": ""
},
"require": {
@@ -11678,7 +12717,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.4.6"
+ "source": "https://github.com/symfony/finder/tree/v7.4.8"
},
"funding": [
{
@@ -11698,7 +12737,7 @@
"type": "tidelift"
}
],
- "time": "2026-01-29T09:40:50+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/flex",
@@ -11775,16 +12814,16 @@
},
{
"name": "symfony/form",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "1ec55f7b1a6152760a670415c334f70a08d264f9"
+ "reference": "b6c107af659106abec1771d9d7d22da528644d3a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/1ec55f7b1a6152760a670415c334f70a08d264f9",
- "reference": "1ec55f7b1a6152760a670415c334f70a08d264f9",
+ "url": "https://api.github.com/repos/symfony/form/zipball/b6c107af659106abec1771d9d7d22da528644d3a",
+ "reference": "b6c107af659106abec1771d9d7d22da528644d3a",
"shasum": ""
},
"require": {
@@ -11854,7 +12893,7 @@
"description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/v7.4.6"
+ "source": "https://github.com/symfony/form/tree/v7.4.9"
},
"funding": [
{
@@ -11874,20 +12913,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-29T14:39:19+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "a4022da7530f794aa64cea34b388439afb6323a3"
+ "reference": "601423cc0af2eb5e8c4acdf21fed553d456ff802"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a4022da7530f794aa64cea34b388439afb6323a3",
- "reference": "a4022da7530f794aa64cea34b388439afb6323a3",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/601423cc0af2eb5e8c4acdf21fed553d456ff802",
+ "reference": "601423cc0af2eb5e8c4acdf21fed553d456ff802",
"shasum": ""
},
"require": {
@@ -11923,7 +12962,7 @@
"symfony/lock": "<6.4",
"symfony/mailer": "<6.4",
"symfony/messenger": "<7.4",
- "symfony/mime": "<6.4",
+ "symfony/mime": "<6.4.37|>=7.0,<7.4.9|>=8.0,<8.0.9",
"symfony/property-access": "<6.4",
"symfony/property-info": "<6.4",
"symfony/runtime": "<6.4.13|>=7.0,<7.1.6",
@@ -11961,7 +13000,7 @@
"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/mime": "^6.4.37|^7.4.9|^8.0.9",
"symfony/notifier": "^6.4|^7.0|^8.0",
"symfony/object-mapper": "^7.3|^8.0",
"symfony/polyfill-intl-icu": "~1.0",
@@ -12012,7 +13051,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.4.6"
+ "source": "https://github.com/symfony/framework-bundle/tree/v7.4.9"
},
"funding": [
{
@@ -12032,20 +13071,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-30T08:57:13+00:00"
},
{
"name": "symfony/http-client",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "2bde8afd5ab2fe0b05a9c2d4c3c0e28ceb98a154"
+ "reference": "7e941c6abf4e3bf7dca160bf0e11ef36a9f832f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/2bde8afd5ab2fe0b05a9c2d4c3c0e28ceb98a154",
- "reference": "2bde8afd5ab2fe0b05a9c2d4c3c0e28ceb98a154",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/7e941c6abf4e3bf7dca160bf0e11ef36a9f832f6",
+ "reference": "7e941c6abf4e3bf7dca160bf0e11ef36a9f832f6",
"shasum": ""
},
"require": {
@@ -12113,7 +13152,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v7.4.6"
+ "source": "https://github.com/symfony/http-client/tree/v7.4.9"
},
"funding": [
{
@@ -12133,7 +13172,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-18T09:46:18+00:00"
+ "time": "2026-04-29T13:25:15+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -12215,16 +13254,16 @@
},
{
"name": "symfony/http-foundation",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "fd97d5e926e988a363cef56fbbf88c5c528e9065"
+ "reference": "9381209597ec66c25be154cbf2289076e64d1eab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/fd97d5e926e988a363cef56fbbf88c5c528e9065",
- "reference": "fd97d5e926e988a363cef56fbbf88c5c528e9065",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9381209597ec66c25be154cbf2289076e64d1eab",
+ "reference": "9381209597ec66c25be154cbf2289076e64d1eab",
"shasum": ""
},
"require": {
@@ -12273,7 +13312,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.4.6"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.8"
},
"funding": [
{
@@ -12293,20 +13332,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-21T16:25:55+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "002ac0cf4cd972a7fd0912dcd513a95e8a81ce83"
+ "reference": "017e76ad089bac281553389269e259e155935e1a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/002ac0cf4cd972a7fd0912dcd513a95e8a81ce83",
- "reference": "002ac0cf4cd972a7fd0912dcd513a95e8a81ce83",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/017e76ad089bac281553389269e259e155935e1a",
+ "reference": "017e76ad089bac281553389269e259e155935e1a",
"shasum": ""
},
"require": {
@@ -12392,7 +13431,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.4.6"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.8"
},
"funding": [
{
@@ -12412,20 +13451,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-26T08:30:57+00:00"
+ "time": "2026-03-31T20:57:01+00:00"
},
{
"name": "symfony/intl",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "6d6a398b18f73b3110140dbb030dcee2ae4ea81f"
+ "reference": "7cfb7792d580dea833647420afd5f2f98df8457b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/6d6a398b18f73b3110140dbb030dcee2ae4ea81f",
- "reference": "6d6a398b18f73b3110140dbb030dcee2ae4ea81f",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/7cfb7792d580dea833647420afd5f2f98df8457b",
+ "reference": "7cfb7792d580dea833647420afd5f2f98df8457b",
"shasum": ""
},
"require": {
@@ -12482,7 +13521,7 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v7.4.6"
+ "source": "https://github.com/symfony/intl/tree/v7.4.8"
},
"funding": [
{
@@ -12502,20 +13541,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-09T09:33:46+00:00"
+ "time": "2026-03-30T12:55:43+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "b02726f39a20bc65e30364f5c750c4ddbf1f58e9"
+ "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/b02726f39a20bc65e30364f5c750c4ddbf1f58e9",
- "reference": "b02726f39a20bc65e30364f5c750c4ddbf1f58e9",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/f6ea532250b476bfc1b56699b388a1bdbf168f62",
+ "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62",
"shasum": ""
},
"require": {
@@ -12566,7 +13605,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.4.6"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.8"
},
"funding": [
{
@@ -12586,20 +13625,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "9fc881d95feae4c6c48678cb6372bd8a7ba04f5f"
+ "reference": "2d550c4758ba4c47519a6667c36553d535705b0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/9fc881d95feae4c6c48678cb6372bd8a7ba04f5f",
- "reference": "9fc881d95feae4c6c48678cb6372bd8a7ba04f5f",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/2d550c4758ba4c47519a6667c36553d535705b0c",
+ "reference": "2d550c4758ba4c47519a6667c36553d535705b0c",
"shasum": ""
},
"require": {
@@ -12655,7 +13694,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.4.6"
+ "source": "https://github.com/symfony/mime/tree/v7.4.9"
},
"funding": [
{
@@ -12675,20 +13714,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-05T15:57:06+00:00"
+ "time": "2026-04-29T13:21:53+00:00"
},
{
"name": "symfony/monolog-bridge",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "69e98e7e10dae3daa896ef0f20e17a3928362d88"
+ "reference": "20366bceee51838144a14805204bb792cb3d09f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/69e98e7e10dae3daa896ef0f20e17a3928362d88",
- "reference": "69e98e7e10dae3daa896ef0f20e17a3928362d88",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/20366bceee51838144a14805204bb792cb3d09f2",
+ "reference": "20366bceee51838144a14805204bb792cb3d09f2",
"shasum": ""
},
"require": {
@@ -12738,7 +13777,7 @@
"description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.6"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v7.4.9"
},
"funding": [
{
@@ -12758,20 +13797,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-17T07:53:42+00:00"
+ "time": "2026-04-29T13:21:53+00:00"
},
{
"name": "symfony/monolog-bundle",
- "version": "v4.0.1",
+ "version": "v4.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "3b4ee2717ee56c5e1edb516140a175eb2a72bc66"
+ "reference": "c012c6aba13129eb02aa7dd61e66e720911d8598"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/3b4ee2717ee56c5e1edb516140a175eb2a72bc66",
- "reference": "3b4ee2717ee56c5e1edb516140a175eb2a72bc66",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/c012c6aba13129eb02aa7dd61e66e720911d8598",
+ "reference": "c012c6aba13129eb02aa7dd61e66e720911d8598",
"shasum": ""
},
"require": {
@@ -12817,7 +13856,7 @@
],
"support": {
"issues": "https://github.com/symfony/monolog-bundle/issues",
- "source": "https://github.com/symfony/monolog-bundle/tree/v4.0.1"
+ "source": "https://github.com/symfony/monolog-bundle/tree/v4.0.2"
},
"funding": [
{
@@ -12837,20 +13876,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-08T08:00:13+00:00"
+ "time": "2026-04-02T18:27:21+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v7.4.0",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "b38026df55197f9e39a44f3215788edf83187b80"
+ "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b38026df55197f9e39a44f3215788edf83187b80",
- "reference": "b38026df55197f9e39a44f3215788edf83187b80",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/2888fcdc4dc2fd5f7c7397be78631e8af12e02b4",
+ "reference": "2888fcdc4dc2fd5f7c7397be78631e8af12e02b4",
"shasum": ""
},
"require": {
@@ -12888,7 +13927,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.4.0"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.4.8"
},
"funding": [
{
@@ -12908,20 +13947,20 @@
"type": "tidelift"
}
],
- "time": "2025-11-12T15:39:26+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/password-hasher",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/password-hasher.git",
- "reference": "376755eb9c9857d78aedb68341ad2f46d1908b29"
+ "reference": "18a7d92126c95962f7efbcc9e421ba710a366847"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/password-hasher/zipball/376755eb9c9857d78aedb68341ad2f46d1908b29",
- "reference": "376755eb9c9857d78aedb68341ad2f46d1908b29",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/18a7d92126c95962f7efbcc9e421ba710a366847",
+ "reference": "18a7d92126c95962f7efbcc9e421ba710a366847",
"shasum": ""
},
"require": {
@@ -12964,7 +14003,7 @@
"password"
],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v7.4.6"
+ "source": "https://github.com/symfony/password-hasher/tree/v7.4.8"
},
"funding": [
{
@@ -12984,20 +14023,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-11T16:03:16+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2",
"shasum": ""
},
"require": {
@@ -13047,7 +14086,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0"
},
"funding": [
{
@@ -13067,20 +14106,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70"
+ "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70",
- "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/4864388bfbd3001ce88e234fab652acd91fdc57e",
+ "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e",
"shasum": ""
},
"require": {
@@ -13129,7 +14168,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.37.0"
},
"funding": [
{
@@ -13149,20 +14188,20 @@
"type": "tidelift"
}
],
- "time": "2025-06-27T09:58:17+00:00"
+ "time": "2026-04-26T13:13:48+00:00"
},
{
"name": "symfony/polyfill-intl-icu",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git",
- "reference": "bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c"
+ "reference": "3510b63d07376b04e57e27e82607d468bb134f78"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c",
- "reference": "bfc8fa13dbaf21d69114b0efcd72ab700fb04d0c",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/3510b63d07376b04e57e27e82607d468bb134f78",
+ "reference": "3510b63d07376b04e57e27e82607d468bb134f78",
"shasum": ""
},
"require": {
@@ -13217,7 +14256,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.37.0"
},
"funding": [
{
@@ -13237,11 +14276,11 @@
"type": "tidelift"
}
],
- "time": "2025-06-20T22:24:30+00:00"
+ "time": "2026-04-10T16:50:15+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
@@ -13304,7 +14343,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.37.0"
},
"funding": [
{
@@ -13328,7 +14367,7 @@
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -13389,7 +14428,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.37.0"
},
"funding": [
{
@@ -13413,16 +14452,16 @@
},
{
"name": "symfony/polyfill-php83",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5"
+ "reference": "3600c2cb22399e25bb226e4a135ce91eeb2a6149"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5",
- "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/3600c2cb22399e25bb226e4a135ce91eeb2a6149",
+ "reference": "3600c2cb22399e25bb226e4a135ce91eeb2a6149",
"shasum": ""
},
"require": {
@@ -13469,7 +14508,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.37.0"
},
"funding": [
{
@@ -13489,20 +14528,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-08T02:45:35+00:00"
+ "time": "2026-04-10T17:25:58+00:00"
},
{
"name": "symfony/polyfill-php84",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php84.git",
- "reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
+ "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
- "reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06",
+ "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06",
"shasum": ""
},
"require": {
@@ -13549,7 +14588,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.37.0"
},
"funding": [
{
@@ -13569,20 +14608,20 @@
"type": "tidelift"
}
],
- "time": "2025-06-24T13:30:11+00:00"
+ "time": "2026-04-10T18:47:49+00:00"
},
{
"name": "symfony/polyfill-php85",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php85.git",
- "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
+ "reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
- "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/fcfa4973a9917cef23f2e38774da74a2b7d115ee",
+ "reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee",
"shasum": ""
},
"require": {
@@ -13629,7 +14668,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php85/tree/v1.37.0"
},
"funding": [
{
@@ -13649,20 +14688,20 @@
"type": "tidelift"
}
],
- "time": "2025-06-23T16:12:55+00:00"
+ "time": "2026-04-26T13:10:57+00:00"
},
{
"name": "symfony/polyfill-uuid",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2"
+ "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
- "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/26dfec253c4cf3e51b541b52ddf7e42cb0908e94",
+ "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94",
"shasum": ""
},
"require": {
@@ -13712,7 +14751,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.37.0"
},
"funding": [
{
@@ -13732,20 +14771,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/process",
- "version": "v7.4.5",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "608476f4604102976d687c483ac63a79ba18cc97"
+ "reference": "60f19cd3badc8de688421e21e4305eba50f8089a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97",
- "reference": "608476f4604102976d687c483ac63a79ba18cc97",
+ "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a",
+ "reference": "60f19cd3badc8de688421e21e4305eba50f8089a",
"shasum": ""
},
"require": {
@@ -13777,7 +14816,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.4.5"
+ "source": "https://github.com/symfony/process/tree/v7.4.8"
},
"funding": [
{
@@ -13797,20 +14836,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-26T15:07:59+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/property-access",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "fa49bf1ca8fce1ba0e2dba4e4658554cfb9364b1"
+ "reference": "b7dad9dae8b8a47ef7ecc76c8569e7d8c7d90cfc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/fa49bf1ca8fce1ba0e2dba4e4658554cfb9364b1",
- "reference": "fa49bf1ca8fce1ba0e2dba4e4658554cfb9364b1",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/b7dad9dae8b8a47ef7ecc76c8569e7d8c7d90cfc",
+ "reference": "b7dad9dae8b8a47ef7ecc76c8569e7d8c7d90cfc",
"shasum": ""
},
"require": {
@@ -13858,7 +14897,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v7.4.4"
+ "source": "https://github.com/symfony/property-access/tree/v7.4.8"
},
"funding": [
{
@@ -13878,27 +14917,27 @@
"type": "tidelift"
}
],
- "time": "2026-01-05T08:47:25+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/property-info",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "6396b28f44d7c28b209a1bd73acf0dd985a0a4ef"
+ "reference": "ac5e82528b986c4f7cfccbf7764b5d2e824d6175"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/6396b28f44d7c28b209a1bd73acf0dd985a0a4ef",
- "reference": "6396b28f44d7c28b209a1bd73acf0dd985a0a4ef",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/ac5e82528b986c4f7cfccbf7764b5d2e824d6175",
+ "reference": "ac5e82528b986c4f7cfccbf7764b5d2e824d6175",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/string": "^6.4|^7.0|^8.0",
- "symfony/type-info": "~7.3.10|^7.4.4|^8.0.4"
+ "symfony/type-info": "^7.4.7|^8.0.7"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<5.2|>=7",
@@ -13948,7 +14987,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.4.6"
+ "source": "https://github.com/symfony/property-info/tree/v7.4.8"
},
"funding": [
{
@@ -13968,20 +15007,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-13T11:51:31+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "929ffe10bbfbb92e711ac3818d416f9daffee067"
+ "reference": "76f1a57719a4a04c0ea18678a6c9305b5dcb9da8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/929ffe10bbfbb92e711ac3818d416f9daffee067",
- "reference": "929ffe10bbfbb92e711ac3818d416f9daffee067",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/76f1a57719a4a04c0ea18678a6c9305b5dcb9da8",
+ "reference": "76f1a57719a4a04c0ea18678a6c9305b5dcb9da8",
"shasum": ""
},
"require": {
@@ -14036,7 +15075,7 @@
"psr-7"
],
"support": {
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.4.4"
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.4.8"
},
"funding": [
{
@@ -14056,20 +15095,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-03T23:30:35+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/rate-limiter",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/rate-limiter.git",
- "reference": "7219be81396041c24c1d12241ca7ef1f88b80783"
+ "reference": "0b0078d29f6e64b8833492e9f76a853f23fb1a81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/7219be81396041c24c1d12241ca7ef1f88b80783",
- "reference": "7219be81396041c24c1d12241ca7ef1f88b80783",
+ "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/0b0078d29f6e64b8833492e9f76a853f23fb1a81",
+ "reference": "0b0078d29f6e64b8833492e9f76a853f23fb1a81",
"shasum": ""
},
"require": {
@@ -14110,7 +15149,7 @@
"rate-limiter"
],
"support": {
- "source": "https://github.com/symfony/rate-limiter/tree/v7.4.6"
+ "source": "https://github.com/symfony/rate-limiter/tree/v7.4.9"
},
"funding": [
{
@@ -14130,20 +15169,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-29T13:21:53+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "238d749c56b804b31a9bf3e26519d93b65a60938"
+ "reference": "287771d8bc86eacb30678dd10eda6c64a859951f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/238d749c56b804b31a9bf3e26519d93b65a60938",
- "reference": "238d749c56b804b31a9bf3e26519d93b65a60938",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/287771d8bc86eacb30678dd10eda6c64a859951f",
+ "reference": "287771d8bc86eacb30678dd10eda6c64a859951f",
"shasum": ""
},
"require": {
@@ -14195,7 +15234,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.4.6"
+ "source": "https://github.com/symfony/routing/tree/v7.4.9"
},
"funding": [
{
@@ -14215,20 +15254,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-22T15:21:55+00:00"
},
{
"name": "symfony/runtime",
- "version": "v7.4.1",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/runtime.git",
- "reference": "876f902a6cb6b26c003de244188c06b2ba1c172f"
+ "reference": "6d792a64fec1eae2f011cfe9ab5978a9eab3071e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/runtime/zipball/876f902a6cb6b26c003de244188c06b2ba1c172f",
- "reference": "876f902a6cb6b26c003de244188c06b2ba1c172f",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/6d792a64fec1eae2f011cfe9ab5978a9eab3071e",
+ "reference": "6d792a64fec1eae2f011cfe9ab5978a9eab3071e",
"shasum": ""
},
"require": {
@@ -14278,7 +15317,7 @@
"runtime"
],
"support": {
- "source": "https://github.com/symfony/runtime/tree/v7.4.1"
+ "source": "https://github.com/symfony/runtime/tree/v7.4.8"
},
"funding": [
{
@@ -14298,20 +15337,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-05T14:04:53+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/security-bundle",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-bundle.git",
- "reference": "d79c6d9a373fe8585e85bcfca4c24b9783214263"
+ "reference": "6f73fdfd9ad23bf24b6f6c8d35be3ea6853d91af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/d79c6d9a373fe8585e85bcfca4c24b9783214263",
- "reference": "d79c6d9a373fe8585e85bcfca4c24b9783214263",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/6f73fdfd9ad23bf24b6f6c8d35be3ea6853d91af",
+ "reference": "6f73fdfd9ad23bf24b6f6c8d35be3ea6853d91af",
"shasum": ""
},
"require": {
@@ -14390,7 +15429,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.4.6"
+ "source": "https://github.com/symfony/security-bundle/tree/v7.4.8"
},
"funding": [
{
@@ -14410,20 +15449,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-22T22:01:45+00:00"
+ "time": "2026-03-30T13:54:39+00:00"
},
{
"name": "symfony/security-core",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "958a70725a8d669bec6721f4cd318d209712e944"
+ "reference": "23e0cd6615661e33e53faf714bf6a130c2f75c25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/958a70725a8d669bec6721f4cd318d209712e944",
- "reference": "958a70725a8d669bec6721f4cd318d209712e944",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/23e0cd6615661e33e53faf714bf6a130c2f75c25",
+ "reference": "23e0cd6615661e33e53faf714bf6a130c2f75c25",
"shasum": ""
},
"require": {
@@ -14481,7 +15520,7 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v7.4.4"
+ "source": "https://github.com/symfony/security-core/tree/v7.4.8"
},
"funding": [
{
@@ -14501,20 +15540,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-14T09:36:49+00:00"
+ "time": "2026-03-31T07:00:19+00:00"
},
{
"name": "symfony/security-csrf",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
- "reference": "d01adcd3141bec95e4cfd338f6b4482f1dd6a42b"
+ "reference": "16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/d01adcd3141bec95e4cfd338f6b4482f1dd6a42b",
- "reference": "d01adcd3141bec95e4cfd338f6b4482f1dd6a42b",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d",
+ "reference": "16b3aa2f67d02fb0dbd013a8759bbe90daaa9c5d",
"shasum": ""
},
"require": {
@@ -14555,7 +15594,7 @@
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v7.4.6"
+ "source": "https://github.com/symfony/security-csrf/tree/v7.4.8"
},
"funding": [
{
@@ -14575,20 +15614,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-11T16:03:16+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/security-http",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "52ce5ef5708900dcab9f55750cf81250a0ebba9f"
+ "reference": "a34991b13899de1f953df245395aa2196f9bc113"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/52ce5ef5708900dcab9f55750cf81250a0ebba9f",
- "reference": "52ce5ef5708900dcab9f55750cf81250a0ebba9f",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/a34991b13899de1f953df245395aa2196f9bc113",
+ "reference": "a34991b13899de1f953df245395aa2196f9bc113",
"shasum": ""
},
"require": {
@@ -14647,7 +15686,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v7.4.6"
+ "source": "https://github.com/symfony/security-http/tree/v7.4.9"
},
"funding": [
{
@@ -14667,20 +15706,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-18T09:46:18+00:00"
+ "time": "2026-04-22T15:21:55+00:00"
},
{
"name": "symfony/serializer",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "83c3cbd6dcb96c1dbe197499a0714f8dceb0f274"
+ "reference": "006fd51717addf2df2bd1a64dafef6b7fab6b455"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/83c3cbd6dcb96c1dbe197499a0714f8dceb0f274",
- "reference": "83c3cbd6dcb96c1dbe197499a0714f8dceb0f274",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/006fd51717addf2df2bd1a64dafef6b7fab6b455",
+ "reference": "006fd51717addf2df2bd1a64dafef6b7fab6b455",
"shasum": ""
},
"require": {
@@ -14751,7 +15790,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.4.6"
+ "source": "https://github.com/symfony/serializer/tree/v7.4.8"
},
"funding": [
{
@@ -14771,7 +15810,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-03-30T21:34:42+00:00"
},
{
"name": "symfony/service-contracts",
@@ -14862,16 +15901,16 @@
},
{
"name": "symfony/stimulus-bundle",
- "version": "v2.32.0",
+ "version": "v2.35.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stimulus-bundle.git",
- "reference": "dfbf6b443bb381cb611e06f64dc23603b614b575"
+ "reference": "05af0259f201dbbd15c103bea289989a4b483b5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/dfbf6b443bb381cb611e06f64dc23603b614b575",
- "reference": "dfbf6b443bb381cb611e06f64dc23603b614b575",
+ "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/05af0259f201dbbd15c103bea289989a4b483b5b",
+ "reference": "05af0259f201dbbd15c103bea289989a4b483b5b",
"shasum": ""
},
"require": {
@@ -14911,7 +15950,7 @@
"symfony-ux"
],
"support": {
- "source": "https://github.com/symfony/stimulus-bundle/tree/v2.32.0"
+ "source": "https://github.com/symfony/stimulus-bundle/tree/v2.35.0"
},
"funding": [
{
@@ -14931,20 +15970,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-02T07:12:06+00:00"
+ "time": "2026-03-22T22:21:50+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v7.4.0",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "8a24af0a2e8a872fb745047180649b8418303084"
+ "reference": "70a852d72fec4d51efb1f48dcd968efcaf5ccb89"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8a24af0a2e8a872fb745047180649b8418303084",
- "reference": "8a24af0a2e8a872fb745047180649b8418303084",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/70a852d72fec4d51efb1f48dcd968efcaf5ccb89",
+ "reference": "70a852d72fec4d51efb1f48dcd968efcaf5ccb89",
"shasum": ""
},
"require": {
@@ -14977,7 +16016,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v7.4.0"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.4.8"
},
"funding": [
{
@@ -14997,20 +16036,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-04T07:05:15+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/string",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "9f209231affa85aa930a5e46e6eb03381424b30b"
+ "reference": "114ac57257d75df748eda23dd003878080b8e688"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/9f209231affa85aa930a5e46e6eb03381424b30b",
- "reference": "9f209231affa85aa930a5e46e6eb03381424b30b",
+ "url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688",
+ "reference": "114ac57257d75df748eda23dd003878080b8e688",
"shasum": ""
},
"require": {
@@ -15068,7 +16107,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.4.6"
+ "source": "https://github.com/symfony/string/tree/v7.4.8"
},
"funding": [
{
@@ -15088,20 +16127,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-09T09:33:46+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/translation",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "1888cf064399868af3784b9e043240f1d89d25ce"
+ "reference": "33600f8489485425bfcddd0d983391038d3422e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/1888cf064399868af3784b9e043240f1d89d25ce",
- "reference": "1888cf064399868af3784b9e043240f1d89d25ce",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/33600f8489485425bfcddd0d983391038d3422e7",
+ "reference": "33600f8489485425bfcddd0d983391038d3422e7",
"shasum": ""
},
"require": {
@@ -15168,7 +16207,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v7.4.6"
+ "source": "https://github.com/symfony/translation/tree/v7.4.8"
},
"funding": [
{
@@ -15188,7 +16227,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-17T07:53:42+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -15274,16 +16313,16 @@
},
{
"name": "symfony/twig-bridge",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "8903bc9a64cf624ffe522893f3626d5a0b97175c"
+ "reference": "ac43e7e59298ed1ce98c8d228b651d46e907d02c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/8903bc9a64cf624ffe522893f3626d5a0b97175c",
- "reference": "8903bc9a64cf624ffe522893f3626d5a0b97175c",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/ac43e7e59298ed1ce98c8d228b651d46e907d02c",
+ "reference": "ac43e7e59298ed1ce98c8d228b651d46e907d02c",
"shasum": ""
},
"require": {
@@ -15299,7 +16338,7 @@
"symfony/form": "<6.4.32|>7,<7.3.10|>7.4,<7.4.4|>8.0,<8.0.4",
"symfony/http-foundation": "<6.4",
"symfony/http-kernel": "<6.4",
- "symfony/mime": "<6.4",
+ "symfony/mime": "<6.4.36|>7,<7.4.8|>8.0,<8.0.8",
"symfony/serializer": "<6.4",
"symfony/translation": "<6.4",
"symfony/workflow": "<6.4"
@@ -15320,7 +16359,7 @@
"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/mime": "^6.4.36|^7.4.8|^8.0.8",
"symfony/polyfill-intl-icu": "~1.0",
"symfony/property-info": "^6.4|^7.0|^8.0",
"symfony/routing": "^6.4|^7.0|^8.0",
@@ -15365,7 +16404,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v7.4.6"
+ "source": "https://github.com/symfony/twig-bridge/tree/v7.4.8"
},
"funding": [
{
@@ -15385,20 +16424,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-03-30T15:17:09+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "e8829e02ff96a391ed0703bac9e7ff0537480b6b"
+ "reference": "ba1e06d7ff1ebb1d1799b6608d925f4eaba88d95"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e8829e02ff96a391ed0703bac9e7ff0537480b6b",
- "reference": "e8829e02ff96a391ed0703bac9e7ff0537480b6b",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/ba1e06d7ff1ebb1d1799b6608d925f4eaba88d95",
+ "reference": "ba1e06d7ff1ebb1d1799b6608d925f4eaba88d95",
"shasum": ""
},
"require": {
@@ -15455,7 +16494,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.4.4"
+ "source": "https://github.com/symfony/twig-bundle/tree/v7.4.8"
},
"funding": [
{
@@ -15475,20 +16514,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-06T12:34:24+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/type-info",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "4855ceea609b2c09e48ff76e12a97a3955531735"
+ "reference": "cafeedbf157b890e94ac5b83eaed85595106d5d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/4855ceea609b2c09e48ff76e12a97a3955531735",
- "reference": "4855ceea609b2c09e48ff76e12a97a3955531735",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/cafeedbf157b890e94ac5b83eaed85595106d5d6",
+ "reference": "cafeedbf157b890e94ac5b83eaed85595106d5d6",
"shasum": ""
},
"require": {
@@ -15538,7 +16577,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v7.4.6"
+ "source": "https://github.com/symfony/type-info/tree/v7.4.9"
},
"funding": [
{
@@ -15558,20 +16597,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-17T14:00:31+00:00"
+ "time": "2026-04-22T15:21:55+00:00"
},
{
"name": "symfony/uid",
- "version": "v7.4.4",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36"
+ "reference": "2676b524340abcfe4d6151ec698463cebafee439"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/7719ce8aba76be93dfe249192f1fbfa52c588e36",
- "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/2676b524340abcfe4d6151ec698463cebafee439",
+ "reference": "2676b524340abcfe4d6151ec698463cebafee439",
"shasum": ""
},
"require": {
@@ -15616,7 +16655,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.4.4"
+ "source": "https://github.com/symfony/uid/tree/v7.4.9"
},
"funding": [
{
@@ -15636,20 +16675,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-03T23:30:35+00:00"
+ "time": "2026-04-30T15:19:22+00:00"
},
{
"name": "symfony/ux-translator",
- "version": "v2.32.0",
+ "version": "v2.35.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/ux-translator.git",
- "reference": "fde719a87903d9bc6fe60abf7581c1143532c918"
+ "reference": "5a56d25237393e865e3df94a39d2c8f0ce94b50c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/ux-translator/zipball/fde719a87903d9bc6fe60abf7581c1143532c918",
- "reference": "fde719a87903d9bc6fe60abf7581c1143532c918",
+ "url": "https://api.github.com/repos/symfony/ux-translator/zipball/5a56d25237393e865e3df94a39d2c8f0ce94b50c",
+ "reference": "5a56d25237393e865e3df94a39d2c8f0ce94b50c",
"shasum": ""
},
"require": {
@@ -15697,7 +16736,7 @@
"symfony-ux"
],
"support": {
- "source": "https://github.com/symfony/ux-translator/tree/v2.32.0"
+ "source": "https://github.com/symfony/ux-translator/tree/v2.35.0"
},
"funding": [
{
@@ -15717,25 +16756,25 @@
"type": "tidelift"
}
],
- "time": "2025-12-26T17:37:51+00:00"
+ "time": "2026-03-22T22:21:50+00:00"
},
{
"name": "symfony/ux-turbo",
- "version": "v2.32.0",
+ "version": "v2.35.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/ux-turbo.git",
- "reference": "0deaa8abef20933d11f8bbe9899d950b4333ca1e"
+ "reference": "4309a4299f5f1b9b7ce4c13ed6d1b77a5472c216"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/0deaa8abef20933d11f8bbe9899d950b4333ca1e",
- "reference": "0deaa8abef20933d11f8bbe9899d950b4333ca1e",
+ "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/4309a4299f5f1b9b7ce4c13ed6d1b77a5472c216",
+ "reference": "4309a4299f5f1b9b7ce4c13ed6d1b77a5472c216",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "symfony/stimulus-bundle": "^2.9.1"
+ "symfony/stimulus-bundle": "^2.9.1|^3.0"
},
"conflict": {
"symfony/flex": "<1.13"
@@ -15760,7 +16799,7 @@
"symfony/security-core": "^5.4|^6.0|^7.0|^8.0",
"symfony/stopwatch": "^5.4|^6.0|^7.0|^8.0",
"symfony/twig-bundle": "^6.4|^7.0|^8.0",
- "symfony/ux-twig-component": "^2.21",
+ "symfony/ux-twig-component": "^2.21|^3.0",
"symfony/web-profiler-bundle": "^5.4|^6.0|^7.0|^8.0"
},
"type": "symfony-bundle",
@@ -15800,7 +16839,7 @@
"turbo-stream"
],
"support": {
- "source": "https://github.com/symfony/ux-turbo/tree/v2.32.0"
+ "source": "https://github.com/symfony/ux-turbo/tree/v2.35.0"
},
"funding": [
{
@@ -15820,20 +16859,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-17T06:03:34+00:00"
+ "time": "2026-04-03T05:13:59+00:00"
},
{
"name": "symfony/validator",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "a1ceaf285712ed8034819a76b5fbba23eaf3e54d"
+ "reference": "d3bb3dcfbaa26b5782196819dac2e1097d5fae2c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/a1ceaf285712ed8034819a76b5fbba23eaf3e54d",
- "reference": "a1ceaf285712ed8034819a76b5fbba23eaf3e54d",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/d3bb3dcfbaa26b5782196819dac2e1097d5fae2c",
+ "reference": "d3bb3dcfbaa26b5782196819dac2e1097d5fae2c",
"shasum": ""
},
"require": {
@@ -15904,7 +16943,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v7.4.6"
+ "source": "https://github.com/symfony/validator/tree/v7.4.9"
},
"funding": [
{
@@ -15924,20 +16963,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-25T16:50:00+00:00"
+ "time": "2026-04-30T15:35:16+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "045321c440ac18347b136c63d2e9bf28a2dc0291"
+ "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/045321c440ac18347b136c63d2e9bf28a2dc0291",
- "reference": "045321c440ac18347b136c63d2e9bf28a2dc0291",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd",
+ "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd",
"shasum": ""
},
"require": {
@@ -15991,7 +17030,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.4.6"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.8"
},
"funding": [
{
@@ -16011,20 +17050,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-15T10:53:20+00:00"
+ "time": "2026-03-30T13:44:50+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v7.4.0",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "03a60f169c79a28513a78c967316fbc8bf17816f"
+ "reference": "22e03a49c95ef054a43601cd159b222bfab1c701"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/03a60f169c79a28513a78c967316fbc8bf17816f",
- "reference": "03a60f169c79a28513a78c967316fbc8bf17816f",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/22e03a49c95ef054a43601cd159b222bfab1c701",
+ "reference": "22e03a49c95ef054a43601cd159b222bfab1c701",
"shasum": ""
},
"require": {
@@ -16072,7 +17111,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.4.0"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.4.9"
},
"funding": [
{
@@ -16092,20 +17131,20 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T10:15:23+00:00"
+ "time": "2026-04-18T13:18:21+00:00"
},
{
"name": "symfony/web-link",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-link.git",
- "reference": "9ff1f19069e3d2d341d60729392a4a6dfc45052a"
+ "reference": "0711009963009e7d6d59149327f3ad633ee3fe25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-link/zipball/9ff1f19069e3d2d341d60729392a4a6dfc45052a",
- "reference": "9ff1f19069e3d2d341d60729392a4a6dfc45052a",
+ "url": "https://api.github.com/repos/symfony/web-link/zipball/0711009963009e7d6d59149327f3ad633ee3fe25",
+ "reference": "0711009963009e7d6d59149327f3ad633ee3fe25",
"shasum": ""
},
"require": {
@@ -16159,7 +17198,7 @@
"push"
],
"support": {
- "source": "https://github.com/symfony/web-link/tree/v7.4.4"
+ "source": "https://github.com/symfony/web-link/tree/v7.4.8"
},
"funding": [
{
@@ -16179,7 +17218,7 @@
"type": "tidelift"
}
],
- "time": "2026-01-01T22:13:48+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/webpack-encore-bundle",
@@ -16259,16 +17298,16 @@
},
{
"name": "symfony/yaml",
- "version": "v7.4.6",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "58751048de17bae71c5aa0d13cb19d79bca26391"
+ "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/58751048de17bae71c5aa0d13cb19d79bca26391",
- "reference": "58751048de17bae71c5aa0d13cb19d79bca26391",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883",
+ "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883",
"shasum": ""
},
"require": {
@@ -16311,7 +17350,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.4.6"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.8"
},
"funding": [
{
@@ -16331,29 +17370,29 @@
"type": "tidelift"
}
],
- "time": "2026-02-09T09:33:46+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symplify/easy-coding-standard",
- "version": "13.0.4",
+ "version": "13.1.3",
"source": {
"type": "git",
- "url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
- "reference": "5c7e7a07e5d6a98b9dd2e6fc0a9155efb7c166c8"
+ "url": "https://github.com/easy-coding-standard/ecs.git",
+ "reference": "d894d088d7ebb9326f9eed28bf251481c813b89f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/5c7e7a07e5d6a98b9dd2e6fc0a9155efb7c166c8",
- "reference": "5c7e7a07e5d6a98b9dd2e6fc0a9155efb7c166c8",
+ "url": "https://api.github.com/repos/easy-coding-standard/ecs/zipball/d894d088d7ebb9326f9eed28bf251481c813b89f",
+ "reference": "d894d088d7ebb9326f9eed28bf251481c813b89f",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"conflict": {
- "friendsofphp/php-cs-fixer": "<3.92.4",
+ "friendsofphp/php-cs-fixer": "<3.95.1",
"phpcsstandards/php_codesniffer": "<4.0.1",
- "symplify/coding-standard": "<12.1"
+ "symplify/coding-standard": "<13.0"
},
"suggest": {
"ext-dom": "Needed to support checkstyle output format in class CheckstyleOutputFormatter"
@@ -16379,33 +17418,22 @@
"static analysis"
],
"support": {
- "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues",
- "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/13.0.4"
+ "source": "https://github.com/easy-coding-standard/ecs/tree/13.1.3"
},
- "funding": [
- {
- "url": "https://www.paypal.me/rectorphp",
- "type": "custom"
- },
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2026-01-05T09:10:04+00:00"
+ "time": "2026-05-04T21:45:57+00:00"
},
{
"name": "tecnickcom/tc-lib-barcode",
- "version": "2.4.27",
+ "version": "2.4.39",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/tc-lib-barcode.git",
- "reference": "8d754e2cb6001114ff7669982739245078346d8f"
+ "reference": "11886fb5a44ec0f6e77302439e9ebf55034383fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/8d754e2cb6001114ff7669982739245078346d8f",
- "reference": "8d754e2cb6001114ff7669982739245078346d8f",
+ "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/11886fb5a44ec0f6e77302439e9ebf55034383fa",
+ "reference": "11886fb5a44ec0f6e77302439e9ebf55034383fa",
"shasum": ""
},
"require": {
@@ -16414,14 +17442,14 @@
"ext-gd": "*",
"ext-pcre": "*",
"php": ">=8.1",
- "tecnickcom/tc-lib-color": "^2.3"
+ "tecnickcom/tc-lib-color": "^2.5"
},
"require-dev": {
- "pdepend/pdepend": "2.16.2",
+ "pdepend/pdepend": "^2.16",
"phpcompatibility/php-compatibility": "^10.0.0@dev",
- "phpmd/phpmd": "2.15.0",
- "phpunit/phpunit": "13.0.5 || 12.5.14 || 11.5.55 || 10.5.63",
- "squizlabs/php_codesniffer": "4.0.1"
+ "phpmd/phpmd": "^2.15",
+ "phpunit/phpunit": "^13.1 || ^12.5 || ^11.5 || ^10.5",
+ "squizlabs/php_codesniffer": "^4.0"
},
"type": "library",
"autoload": {
@@ -16441,7 +17469,7 @@
}
],
"description": "PHP library to generate linear and bidimensional barcodes",
- "homepage": "http://www.tecnick.com",
+ "homepage": "https://tcpdf.org",
"keywords": [
"3 of 9",
"ANSI MH10.8M-1983",
@@ -16485,28 +17513,28 @@
],
"support": {
"issues": "https://github.com/tecnickcom/tc-lib-barcode/issues",
- "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.4.27"
+ "source": "https://github.com/tecnickcom/tc-lib-barcode"
},
"funding": [
{
- "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ",
- "type": "custom"
+ "url": "https://github.com/sponsors/tecnickcom",
+ "type": "github"
}
],
- "time": "2026-02-28T10:33:16+00:00"
+ "time": "2026-05-01T19:04:12+00:00"
},
{
"name": "tecnickcom/tc-lib-color",
- "version": "2.3.9",
+ "version": "2.5.3",
"source": {
"type": "git",
"url": "https://github.com/tecnickcom/tc-lib-color.git",
- "reference": "7eed5344ed57a3d55b56bebbd1329bd0e8fe597a"
+ "reference": "136d522f1640723e490b79171e910e647403d971"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/7eed5344ed57a3d55b56bebbd1329bd0e8fe597a",
- "reference": "7eed5344ed57a3d55b56bebbd1329bd0e8fe597a",
+ "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/136d522f1640723e490b79171e910e647403d971",
+ "reference": "136d522f1640723e490b79171e910e647403d971",
"shasum": ""
},
"require": {
@@ -16514,11 +17542,11 @@
"php": ">=8.1"
},
"require-dev": {
- "pdepend/pdepend": "2.16.2",
+ "pdepend/pdepend": "^2.16",
"phpcompatibility/php-compatibility": "^10.0.0@dev",
- "phpmd/phpmd": "2.15.0",
- "phpunit/phpunit": "13.0.5 || 12.5.14 || 11.5.55 || 10.5.63",
- "squizlabs/php_codesniffer": "4.0.1"
+ "phpmd/phpmd": "^2.15",
+ "phpunit/phpunit": "^13.1 || ^12.5 || ^11.5 || ^10.5",
+ "squizlabs/php_codesniffer": "^4.0"
},
"type": "library",
"autoload": {
@@ -16538,7 +17566,7 @@
}
],
"description": "PHP library to manipulate various color representations",
- "homepage": "http://www.tecnick.com",
+ "homepage": "https://tcpdf.org",
"keywords": [
"cmyk",
"color",
@@ -16555,15 +17583,15 @@
],
"support": {
"issues": "https://github.com/tecnickcom/tc-lib-color/issues",
- "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.3.9"
+ "source": "https://github.com/tecnickcom/tc-lib-color"
},
"funding": [
{
- "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ",
- "type": "custom"
+ "url": "https://github.com/sponsors/tecnickcom",
+ "type": "github"
}
],
- "time": "2026-02-23T20:00:30+00:00"
+ "time": "2026-05-01T19:02:25+00:00"
},
{
"name": "thecodingmachine/safe",
@@ -16813,7 +17841,7 @@
},
{
"name": "twig/cssinliner-extra",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/cssinliner-extra.git",
@@ -16866,7 +17894,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.23.0"
+ "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.24.0"
},
"funding": [
{
@@ -16882,16 +17910,16 @@
},
{
"name": "twig/extra-bundle",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "7a27e784dc56eddfef5e9295829b290ce06f1682"
+ "reference": "6a621fcb1f28aa9ea7b34a99047ae0cdf5b834c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/7a27e784dc56eddfef5e9295829b290ce06f1682",
- "reference": "7a27e784dc56eddfef5e9295829b290ce06f1682",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/6a621fcb1f28aa9ea7b34a99047ae0cdf5b834c9",
+ "reference": "6a621fcb1f28aa9ea7b34a99047ae0cdf5b834c9",
"shasum": ""
},
"require": {
@@ -16940,7 +17968,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.23.0"
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.24.0"
},
"funding": [
{
@@ -16952,20 +17980,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-18T20:46:15+00:00"
+ "time": "2026-02-07T08:07:38+00:00"
},
{
"name": "twig/html-extra",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/html-extra.git",
- "reference": "2ef1d0ccaa06d4f4405b330fe6c4b6f7b50fbbc3"
+ "reference": "313900fb98b371b006a55b1a29241a192634be13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/html-extra/zipball/2ef1d0ccaa06d4f4405b330fe6c4b6f7b50fbbc3",
- "reference": "2ef1d0ccaa06d4f4405b330fe6c4b6f7b50fbbc3",
+ "url": "https://api.github.com/repos/twigphp/html-extra/zipball/313900fb98b371b006a55b1a29241a192634be13",
+ "reference": "313900fb98b371b006a55b1a29241a192634be13",
"shasum": ""
},
"require": {
@@ -17008,7 +18036,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/html-extra/tree/v3.23.0"
+ "source": "https://github.com/twigphp/html-extra/tree/v3.24.0"
},
"funding": [
{
@@ -17020,11 +18048,11 @@
"type": "tidelift"
}
],
- "time": "2025-12-02T14:45:16+00:00"
+ "time": "2026-03-17T07:24:08+00:00"
},
{
"name": "twig/inky-extra",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/inky-extra.git",
@@ -17078,7 +18106,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/inky-extra/tree/v3.23.0"
+ "source": "https://github.com/twigphp/inky-extra/tree/v3.24.0"
},
"funding": [
{
@@ -17094,7 +18122,7 @@
},
{
"name": "twig/intl-extra",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/intl-extra.git",
@@ -17142,7 +18170,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/intl-extra/tree/v3.23.0"
+ "source": "https://github.com/twigphp/intl-extra/tree/v3.24.0"
},
"funding": [
{
@@ -17158,16 +18186,16 @@
},
{
"name": "twig/markdown-extra",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/markdown-extra.git",
- "reference": "faf069b259e2d3930c73c2f53e2dec8440bd90a2"
+ "reference": "67a11120356e034a5bbc70c5b9b9a4d0f31ca06e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/faf069b259e2d3930c73c2f53e2dec8440bd90a2",
- "reference": "faf069b259e2d3930c73c2f53e2dec8440bd90a2",
+ "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/67a11120356e034a5bbc70c5b9b9a4d0f31ca06e",
+ "reference": "67a11120356e034a5bbc70c5b9b9a4d0f31ca06e",
"shasum": ""
},
"require": {
@@ -17214,7 +18242,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/markdown-extra/tree/v3.23.0"
+ "source": "https://github.com/twigphp/markdown-extra/tree/v3.24.0"
},
"funding": [
{
@@ -17226,11 +18254,11 @@
"type": "tidelift"
}
],
- "time": "2025-12-02T14:45:16+00:00"
+ "time": "2026-02-07T08:07:38+00:00"
},
{
"name": "twig/string-extra",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/string-extra.git",
@@ -17281,7 +18309,7 @@
"unicode"
],
"support": {
- "source": "https://github.com/twigphp/string-extra/tree/v3.23.0"
+ "source": "https://github.com/twigphp/string-extra/tree/v3.24.0"
},
"funding": [
{
@@ -17297,16 +18325,16 @@
},
{
"name": "twig/twig",
- "version": "v3.23.0",
+ "version": "v3.24.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9"
+ "reference": "a6769aefb305efef849dc25c9fd1653358c148f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9",
- "reference": "a64dc5d2cc7d6cafb9347f6cd802d0d06d0351c9",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6769aefb305efef849dc25c9fd1653358c148f0",
+ "reference": "a6769aefb305efef849dc25c9fd1653358c148f0",
"shasum": ""
},
"require": {
@@ -17316,7 +18344,8 @@
"symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
- "phpstan/phpstan": "^2.0",
+ "php-cs-fixer/shim": "^3.0@stable",
+ "phpstan/phpstan": "^2.0@stable",
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
@@ -17360,7 +18389,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.23.0"
+ "source": "https://github.com/twigphp/Twig/tree/v3.24.0"
},
"funding": [
{
@@ -17372,7 +18401,7 @@
"type": "tidelift"
}
],
- "time": "2026-01-23T21:00:41+00:00"
+ "time": "2026-03-17T21:31:11+00:00"
},
{
"name": "ua-parser/uap-php",
@@ -17439,20 +18468,20 @@
},
{
"name": "web-auth/cose-lib",
- "version": "4.5.0",
+ "version": "4.5.2",
"source": {
"type": "git",
"url": "https://github.com/web-auth/cose-lib.git",
- "reference": "5adac6fe126994a3ee17ed9950efb4947ab132a9"
+ "reference": "5b38660f90070a8e45f3dbc9528ade3b608dd77d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/5adac6fe126994a3ee17ed9950efb4947ab132a9",
- "reference": "5adac6fe126994a3ee17ed9950efb4947ab132a9",
+ "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/5b38660f90070a8e45f3dbc9528ade3b608dd77d",
+ "reference": "5b38660f90070a8e45f3dbc9528ade3b608dd77d",
"shasum": ""
},
"require": {
- "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13|^0.14",
+ "brick/math": "^0.9|^0.10|^0.11|^0.12|^0.13|^0.14|^0.15|^0.16|^0.17",
"ext-json": "*",
"ext-openssl": "*",
"php": ">=8.1",
@@ -17494,7 +18523,7 @@
],
"support": {
"issues": "https://github.com/web-auth/cose-lib/issues",
- "source": "https://github.com/web-auth/cose-lib/tree/4.5.0"
+ "source": "https://github.com/web-auth/cose-lib/tree/4.5.2"
},
"funding": [
{
@@ -17506,20 +18535,20 @@
"type": "patreon"
}
],
- "time": "2026-01-03T14:43:18+00:00"
+ "time": "2026-05-03T09:49:50+00:00"
},
{
"name": "web-auth/webauthn-lib",
- "version": "5.2.3",
+ "version": "5.3.2",
"source": {
"type": "git",
"url": "https://github.com/web-auth/webauthn-lib.git",
- "reference": "8782f575032fedc36e2eb27c39c736054e2b6867"
+ "reference": "a272f254c056fb3d6c80a4801d3c7c5fedc6a08d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/8782f575032fedc36e2eb27c39c736054e2b6867",
- "reference": "8782f575032fedc36e2eb27c39c736054e2b6867",
+ "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/a272f254c056fb3d6c80a4801d3c7c5fedc6a08d",
+ "reference": "a272f254c056fb3d6c80a4801d3c7c5fedc6a08d",
"shasum": ""
},
"require": {
@@ -17527,18 +18556,18 @@
"ext-openssl": "*",
"paragonie/constant_time_encoding": "^2.6|^3.0",
"php": ">=8.2",
- "phpdocumentor/reflection-docblock": "^5.3",
+ "phpdocumentor/reflection-docblock": "^5.3|^6.0",
"psr/clock": "^1.0",
"psr/event-dispatcher": "^1.0",
"psr/log": "^1.0|^2.0|^3.0",
"spomky-labs/cbor-php": "^3.0",
"spomky-labs/pki-framework": "^1.0",
- "symfony/clock": "^6.4|^7.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^3.2",
- "symfony/property-access": "^6.4|^7.0",
- "symfony/property-info": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/uid": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
"web-auth/cose-lib": "^4.2.3"
},
"suggest": {
@@ -17580,7 +18609,7 @@
"webauthn"
],
"support": {
- "source": "https://github.com/web-auth/webauthn-lib/tree/5.2.3"
+ "source": "https://github.com/web-auth/webauthn-lib/tree/5.3.2"
},
"funding": [
{
@@ -17592,34 +18621,35 @@
"type": "patreon"
}
],
- "time": "2025-12-20T10:54:02+00:00"
+ "time": "2026-05-01T12:14:37+00:00"
},
{
"name": "web-auth/webauthn-symfony-bundle",
- "version": "5.2.3",
+ "version": "5.3.2",
"source": {
"type": "git",
"url": "https://github.com/web-auth/webauthn-symfony-bundle.git",
- "reference": "91f0aff70703e20d84251c83e238da1f8fc53b24"
+ "reference": "1d20af98b50810e8776c52b671201b6bb73ea981"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/web-auth/webauthn-symfony-bundle/zipball/91f0aff70703e20d84251c83e238da1f8fc53b24",
- "reference": "91f0aff70703e20d84251c83e238da1f8fc53b24",
+ "url": "https://api.github.com/repos/web-auth/webauthn-symfony-bundle/zipball/1d20af98b50810e8776c52b671201b6bb73ea981",
+ "reference": "1d20af98b50810e8776c52b671201b6bb73ea981",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/event-dispatcher": "^1.0",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/framework-bundle": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/security-bundle": "^6.4|^7.0",
- "symfony/security-core": "^6.4|^7.0",
- "symfony/security-http": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0",
- "symfony/validator": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/security-bundle": "^6.4|^7.0|^8.0",
+ "symfony/security-core": "^6.4|^7.0|^8.0",
+ "symfony/security-http": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/service-contracts": "^3.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
"web-auth/webauthn-lib": "self.version"
},
"suggest": {
@@ -17662,7 +18692,7 @@
"webauthn"
],
"support": {
- "source": "https://github.com/web-auth/webauthn-symfony-bundle/tree/5.2.3"
+ "source": "https://github.com/web-auth/webauthn-symfony-bundle/tree/5.3.2"
},
"funding": [
{
@@ -17674,20 +18704,20 @@
"type": "patreon"
}
],
- "time": "2025-12-20T10:20:41+00:00"
+ "time": "2026-05-04T08:08:16+00:00"
},
{
"name": "webmozart/assert",
- "version": "2.1.6",
+ "version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
- "reference": "ff31ad6efc62e66e518fbab1cde3453d389bcdc8"
+ "reference": "eb0d790f735ba6cff25c683a85a1da0eadeff9e4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/ff31ad6efc62e66e518fbab1cde3453d389bcdc8",
- "reference": "ff31ad6efc62e66e518fbab1cde3453d389bcdc8",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/eb0d790f735ba6cff25c683a85a1da0eadeff9e4",
+ "reference": "eb0d790f735ba6cff25c683a85a1da0eadeff9e4",
"shasum": ""
},
"require": {
@@ -17734,9 +18764,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/2.1.6"
+ "source": "https://github.com/webmozarts/assert/tree/2.3.0"
},
- "time": "2026-02-27T10:28:38+00:00"
+ "time": "2026-04-11T10:33:05+00:00"
},
{
"name": "willdurand/negotiation",
@@ -17953,29 +18983,29 @@
},
{
"name": "ekino/phpstan-banned-code",
- "version": "v3.0.0",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/ekino/phpstan-banned-code.git",
- "reference": "27122aa1783d6521e500c0c397c53244cfbde26f"
+ "reference": "3356fb9dae03c8759a61fee39dab4728dcc16d74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ekino/phpstan-banned-code/zipball/27122aa1783d6521e500c0c397c53244cfbde26f",
- "reference": "27122aa1783d6521e500c0c397c53244cfbde26f",
+ "url": "https://api.github.com/repos/ekino/phpstan-banned-code/zipball/3356fb9dae03c8759a61fee39dab4728dcc16d74",
+ "reference": "3356fb9dae03c8759a61fee39dab4728dcc16d74",
"shasum": ""
},
"require": {
- "php": "^8.1",
+ "php": "^8.2",
"phpstan/phpstan": "^2.0"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.6",
"friendsofphp/php-cs-fixer": "^3.0",
- "nikic/php-parser": "^4.3",
+ "nikic/php-parser": "^5.4",
"phpstan/phpstan-phpunit": "^2.0",
- "phpunit/phpunit": "^9.5",
- "symfony/var-dumper": "^5.0"
+ "phpunit/phpunit": "^10.5",
+ "symfony/var-dumper": "^6.4"
},
"type": "phpstan-extension",
"extra": {
@@ -18013,9 +19043,9 @@
],
"support": {
"issues": "https://github.com/ekino/phpstan-banned-code/issues",
- "source": "https://github.com/ekino/phpstan-banned-code/tree/v3.0.0"
+ "source": "https://github.com/ekino/phpstan-banned-code/tree/v3.2.0"
},
- "time": "2024-11-13T09:57:22+00:00"
+ "time": "2026-03-13T12:47:55+00:00"
},
{
"name": "jbtronics/translation-editor-bundle",
@@ -18373,11 +19403,11 @@
},
{
"name": "phpstan/phpstan",
- "version": "2.1.40",
+ "version": "2.1.54",
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b",
- "reference": "9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8be50c3992107dc837b17da4d140fbbdf9a5c5bd",
+ "reference": "8be50c3992107dc837b17da4d140fbbdf9a5c5bd",
"shasum": ""
},
"require": {
@@ -18422,20 +19452,20 @@
"type": "github"
}
],
- "time": "2026-02-23T15:04:35+00:00"
+ "time": "2026-04-29T13:31:09+00:00"
},
{
"name": "phpstan/phpstan-doctrine",
- "version": "2.0.18",
+ "version": "2.0.21",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-doctrine.git",
- "reference": "44a216a5cd9fe52be489dcf1e2d565c473daa1ca"
+ "reference": "81dac0ee4363c2359128aec844df31efb215dddc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/44a216a5cd9fe52be489dcf1e2d565c473daa1ca",
- "reference": "44a216a5cd9fe52be489dcf1e2d565c473daa1ca",
+ "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/81dac0ee4363c2359128aec844df31efb215dddc",
+ "reference": "81dac0ee4363c2359128aec844df31efb215dddc",
"shasum": ""
},
"require": {
@@ -18496,22 +19526,22 @@
],
"support": {
"issues": "https://github.com/phpstan/phpstan-doctrine/issues",
- "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.18"
+ "source": "https://github.com/phpstan/phpstan-doctrine/tree/2.0.21"
},
- "time": "2026-02-24T10:01:00+00:00"
+ "time": "2026-04-17T13:00:39+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
- "version": "2.0.10",
+ "version": "2.0.11",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f"
+ "reference": "9b000a578b85b32945b358b172c7b20e91189024"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f",
- "reference": "1aba28b697c1e3b6bbec8a1725f8b11b6d3e5a5f",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/9b000a578b85b32945b358b172c7b20e91189024",
+ "reference": "9b000a578b85b32945b358b172c7b20e91189024",
"shasum": ""
},
"require": {
@@ -18547,9 +19577,9 @@
],
"support": {
"issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
- "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.10"
+ "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.11"
},
- "time": "2026-02-11T14:17:32+00:00"
+ "time": "2026-05-02T06:54:10+00:00"
},
{
"name": "phpstan/phpstan-symfony",
@@ -19084,21 +20114,21 @@
},
{
"name": "rector/rector",
- "version": "2.3.8",
+ "version": "2.4.2",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "bbd37aedd8df749916cffa2a947cfc4714d1ba2c"
+ "reference": "e645b6463c6a88ea5b44b17d3387d35a912c7946"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/bbd37aedd8df749916cffa2a947cfc4714d1ba2c",
- "reference": "bbd37aedd8df749916cffa2a947cfc4714d1ba2c",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/e645b6463c6a88ea5b44b17d3387d35a912c7946",
+ "reference": "e645b6463c6a88ea5b44b17d3387d35a912c7946",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
- "phpstan/phpstan": "^2.1.38"
+ "phpstan/phpstan": "^2.1.48"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -19132,7 +20162,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/2.3.8"
+ "source": "https://github.com/rectorphp/rector/tree/2.4.2"
},
"funding": [
{
@@ -19140,7 +20170,7 @@
"type": "github"
}
],
- "time": "2026-02-22T09:45:50+00:00"
+ "time": "2026-04-16T13:07:34+00:00"
},
{
"name": "roave/security-advisories",
@@ -19148,18 +20178,18 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "89525190c449738e468ee27e77f9fdc1bc160e08"
+ "reference": "9d468c11a8da481c22b4e610494babae032fdb03"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/89525190c449738e468ee27e77f9fdc1bc160e08",
- "reference": "89525190c449738e468ee27e77f9fdc1bc160e08",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/9d468c11a8da481c22b4e610494babae032fdb03",
+ "reference": "9d468c11a8da481c22b4e610494babae032fdb03",
"shasum": ""
},
"conflict": {
"3f/pygmentize": "<1.2",
"adaptcms/adaptcms": "<=1.3",
- "admidio/admidio": "<=4.3.16",
+ "admidio/admidio": "<=5.0.8",
"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",
@@ -19176,6 +20206,7 @@
"alextselegidis/easyappointments": "<=1.5.2",
"alexusmai/laravel-file-manager": "<=3.3.1",
"algolia/algoliasearch-magento-2": "<=3.16.1|>=3.17.0.0-beta1,<=3.17.1",
+ "almirhodzic/nova-toggle-5": "<1.3",
"alt-design/alt-redirect": "<1.6.4",
"altcha-org/altcha": "<1.3.1",
"alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1",
@@ -19201,16 +20232,18 @@
"athlon1600/php-proxy": "<=5.1",
"athlon1600/php-proxy-app": "<=3",
"athlon1600/youtube-downloader": "<=4",
+ "aureuserp/aureuserp": "<1.3.0.0-beta1",
"austintoddj/canvas": "<=3.4.2",
- "auth0/auth0-php": ">=3.3,<8.18",
- "auth0/login": "<7.20",
- "auth0/symfony": "<=5.5",
- "auth0/wordpress": "<=5.4",
+ "auth0/auth0-php": ">=3.3,<=8.18",
+ "auth0/login": "<=7.20",
+ "auth0/symfony": "<=5.7",
+ "auth0/wordpress": "<=5.5",
"automad/automad": "<2.0.0.0-alpha5",
"automattic/jetpack": "<9.8",
"awesome-support/awesome-support": "<=6.0.7",
- "aws/aws-sdk-php": "<3.368",
- "azuracast/azuracast": "<=0.23.1",
+ "aws/aws-sdk-php": "<=3.371.3",
+ "ayacoo/redirect-tab": "<2.1.2|>=3,<3.1.7|>=4,<4.0.5",
+ "azuracast/azuracast": "<=0.23.5",
"b13/seo_basics": "<0.8.2",
"backdrop/backdrop": "<=1.32",
"backpack/crud": "<3.4.9",
@@ -19222,7 +20255,7 @@
"barrelstrength/sprout-forms": "<3.9",
"barryvdh/laravel-translation-manager": "<0.6.8",
"barzahlen/barzahlen-php": "<2.0.1",
- "baserproject/basercms": "<=5.1.1",
+ "baserproject/basercms": "<=5.2.2",
"bassjobsen/bootstrap-3-typeahead": ">4.0.2",
"bbpress/bbpress": "<2.6.5",
"bcit-ci/codeigniter": "<3.1.3",
@@ -19265,13 +20298,13 @@
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"chriskacerguis/codeigniter-restserver": "<=2.7.1",
"chrome-php/chrome": "<1.14",
- "ci4-cms-erp/ci4ms": "<0.28.5",
+ "ci4-cms-erp/ci4ms": "<=0.31.7",
"civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3",
"ckeditor/ckeditor": "<4.25",
"clickstorm/cs-seo": ">=6,<6.8|>=7,<7.5|>=8,<8.4|>=9,<9.3",
"co-stack/fal_sftp": "<0.2.6",
- "cockpit-hq/cockpit": "<2.11.4",
- "code16/sharp": "<9.11.1",
+ "cockpit-hq/cockpit": "<2.14",
+ "code16/sharp": "<9.20",
"codeception/codeception": "<3.1.3|>=4,<4.1.22",
"codeigniter/framework": "<3.1.10",
"codeigniter4/framework": "<4.6.2",
@@ -19281,8 +20314,8 @@
"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.26|>=2.3,<2.9.3",
- "concrete5/concrete5": "<9.4.3",
+ "composer/composer": "<2.2.27|>=2.3,<2.9.6",
+ "concrete5/concrete5": "<9.4.8",
"concrete5/core": "<8.5.8|>=9,<9.1",
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
"contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4",
@@ -19295,11 +20328,15 @@
"corveda/phpsandbox": "<1.3.5",
"cosenary/instagram": "<=2.3",
"couleurcitron/tarteaucitron-wp": "<0.3",
- "cpsit/typo3-mailqueue": "<0.4.3|>=0.5,<0.5.1",
- "craftcms/cms": "<4.17.0.0-beta1|>=5,<5.9.0.0-beta1",
- "craftcms/commerce": ">=4.0.0.0-RC1-dev,<=4.10|>=5,<=5.5.1",
+ "cpsit/typo3-mailqueue": "<0.4.5|>=0.5,<0.5.2",
+ "craftcms/aws-s3": ">=2.0.2,<=2.2.4",
+ "craftcms/azure-blob": ">=2.0.0.0-beta1,<=2.1",
+ "craftcms/cms": "<=4.17.8|>=5,<5.9.15",
+ "craftcms/commerce": ">=4,<4.11|>=5,<5.6",
"craftcms/composer": ">=4.0.0.0-RC1-dev,<=4.10|>=5.0.0.0-RC1-dev,<=5.5.1",
"craftcms/craft": ">=3.5,<=4.16.17|>=5.0.0.0-RC1-dev,<=5.8.21",
+ "craftcms/google-cloud": ">=2.0.0.0-beta1,<=2.2",
+ "craftcms/webhooks": ">=3,<3.2",
"croogo/croogo": "<=4.0.7",
"cuyz/valinor": "<0.12",
"czim/file-handling": "<1.5|>=2,<2.3",
@@ -19313,11 +20350,12 @@
"david-garcia/phpwhois": "<=4.3.1",
"dbrisinajumi/d2files": "<1",
"dcat/laravel-admin": "<=2.1.3|==2.2.0.0-beta|==2.2.2.0-beta",
+ "dedoc/scramble": ">=0.13.2,<0.13.22",
"derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3",
"derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4",
"desperado/xml-bundle": "<=0.1.7",
"dev-lancer/minecraft-motd-parser": "<=1.0.5",
- "devcode-it/openstamanager": "<=2.9.8",
+ "devcode-it/openstamanager": "<=2.10.1",
"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",
@@ -19334,9 +20372,10 @@
"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.3",
+ "dolibarr/dolibarr": "<=22.0.4",
"dompdf/dompdf": "<2.0.4",
"doublethreedigital/guest-entries": "<3.1.2",
+ "dreamfactory/df-core": "<1.0.4",
"drupal-pattern-lab/unified-twig-extensions": "<=0.1",
"drupal/access_code": "<2.0.5",
"drupal/acquia_dam": "<1.1.5",
@@ -19375,7 +20414,7 @@
"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",
+ "ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.3.1",
"ecodev/newsletter": "<=4",
"ectouch/ectouch": "<=2.7.2",
"egroupware/egroupware": "<23.1.20260113|>=26.0.20251208,<26.0.20260113",
@@ -19420,7 +20459,7 @@
"filament/actions": ">=3.2,<3.2.123",
"filament/filament": ">=4,<4.3.1",
"filament/infolists": ">=3,<3.2.115",
- "filament/tables": ">=3,<3.2.115",
+ "filament/tables": ">=3,<3.2.115|>=4,<4.8.5|>=5,<5.3.5",
"filegator/filegator": "<7.8",
"filp/whoops": "<2.1.13",
"fineuploader/php-traditional-server": "<=1.2.2",
@@ -19428,10 +20467,11 @@
"fisharebest/webtrees": "<=2.1.18",
"fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2",
"fixpunkt/fp-newsletter": "<1.1.1|>=1.2,<2.1.2|>=2.2,<3.2.6",
- "flarum/core": "<1.8.10",
+ "flarum/core": "<=1.8.15|>=2.0.0.0-beta1,<=2.0.0.0-beta8",
"flarum/flarum": "<0.1.0.0-beta8",
"flarum/framework": "<1.8.10",
"flarum/mentions": "<1.6.3",
+ "flarum/nicknames": "<1.8.3",
"flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15",
"flarum/tags": "<=0.1.0.0-beta13",
"floriangaerber/magnesium": "<0.3.1",
@@ -19454,7 +20494,7 @@
"friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6",
"froala/wysiwyg-editor": "<=4.3",
"frosh/adminer-platform": "<2.2.1",
- "froxlor/froxlor": "<=2.2.5",
+ "froxlor/froxlor": "<2.3.6",
"frozennode/administrator": "<=5.0.12",
"fuel/core": "<1.8.1",
"funadmin/funadmin": "<=7.1.0.0-RC4",
@@ -19463,8 +20503,9 @@
"georgringer/news": "<1.3.3",
"geshi/geshi": "<=1.0.9.1",
"getformwork/formwork": "<=2.3.3",
- "getgrav/grav": "<1.11.0.0-beta1",
- "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1|>=5,<=5.2.1",
+ "getgrav/grav": "<2.0.0.0-beta2",
+ "getgrav/grav-plugin-api": "<1.0.0.0-beta15",
+ "getkirby/cms": "<4.9|>=5,<5.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",
@@ -19473,12 +20514,13 @@
"globalpayments/php-sdk": "<2",
"goalgorilla/open_social": "<12.3.11|>=12.4,<12.4.10|>=13.0.0.0-alpha1,<13.0.0.0-alpha11",
"gogentooss/samlbase": "<1.2.7",
- "google/protobuf": "<3.4",
+ "goodoneuz/pay-uz": "<=2.2.24",
+ "google/protobuf": "<4.33.6",
"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",
+ "grumpydictator/firefly-iii": "<6.1.17|>=6.4.23,<=6.5",
"gugoan/economizzer": "<=0.9.0.0-beta1",
"guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5",
"guzzlehttp/oauth-subscriber": "<0.8.1",
@@ -19493,6 +20535,7 @@
"hjue/justwriting": "<=1",
"hov/jobfair": "<1.0.13|>=2,<2.0.2",
"httpsoft/http-message": "<1.0.12",
+ "hybridauth/hybridauth": "<=3.12.2",
"hyn/multi-tenant": ">=5.6,<5.7.2",
"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",
@@ -19504,7 +20547,7 @@
"ibexa/solr": ">=4.5,<4.5.4",
"ibexa/user": ">=4,<4.4.3|>=5,<5.0.4",
"icecoder/icecoder": "<=8.1",
- "idno/known": "<=1.6.2",
+ "idno/known": "<1.6.4",
"ilicmiljan/secure-props": ">=1.2,<1.2.2",
"illuminate/auth": "<5.5.10",
"illuminate/cookie": ">=4,<=4.0.11|>=4.1,<6.18.31|>=7,<7.22.4",
@@ -19521,10 +20564,12 @@
"innologi/typo3-appointments": "<2.0.6",
"intelliants/subrion": "<4.2.2",
"inter-mediator/inter-mediator": "==5.5",
- "ipl/web": "<0.10.1",
+ "invoiceninja/invoiceninja": "<5.13.4",
+ "ipl/web": "<=0.13",
"islandora/crayfish": "<4.1",
"islandora/islandora": ">=2,<2.4.1",
"ivankristianto/phpwhois": "<=4.3",
+ "j0k3r/graby": "<=2.5",
"jackalope/jackalope-doctrine-dbal": "<1.7.4",
"jambagecom/div2007": "<0.10.2",
"james-heinrich/getid3": "<1.9.21",
@@ -19532,7 +20577,9 @@
"jasig/phpcas": "<1.3.3",
"jbartels/wec-map": "<3.0.3",
"jcbrand/converse.js": "<3.3.3",
+ "joedolson/my-calendar": "<3.7.7",
"joelbutcher/socialstream": "<5.6|>=6,<6.2",
+ "johnbillion/query-monitor": "<3.20.4",
"johnbillion/wp-crontrol": "<1.16.2|>=1.17,<1.19.2",
"joomla/application": "<1.0.13",
"joomla/archive": "<1.1.12|>=2,<2.0.1",
@@ -19550,17 +20597,19 @@
"juzaweb/cms": "<=3.4.2",
"jweiland/events2": "<8.3.8|>=9,<9.0.6",
"jweiland/kk-downloader": "<1.2.2",
+ "kantorge/yaffa": "<=2",
"kazist/phpwhois": "<=4.2.6",
+ "kelvinmo/simplejwt": "<=1.1",
"kelvinmo/simplexrd": "<3.1.1",
"kevinpapst/kimai2": "<1.16.7",
- "khodakhah/nodcms": "<=3",
- "kimai/kimai": "<2.46",
+ "khodakhah/nodcms": "<=3.4.1",
+ "kimai/kimai": "<2.54",
"kitodo/presentation": "<3.2.3|>=3.3,<3.3.4",
"klaviyo/magento2-extension": ">=1,<3",
"knplabs/knp-snappy": "<=1.4.2",
"kohana/core": "<3.3.3",
"koillection/koillection": "<1.6.12",
- "krayin/laravel-crm": "<=1.3",
+ "krayin/laravel-crm": "<=2.2",
"kreait/firebase-php": ">=3.2,<3.8.1",
"kumbiaphp/kumbiapp": "<=1.1.1",
"la-haute-societe/tcpdf": "<6.2.22",
@@ -19572,6 +20621,7 @@
"laravel/fortify": "<1.11.1",
"laravel/framework": "<10.48.29|>=11,<11.44.1|>=12,<12.1.1",
"laravel/laravel": ">=5.4,<5.4.22",
+ "laravel/passport": ">=13,<13.7.1",
"laravel/pulse": "<1.3.1",
"laravel/reverb": "<1.7",
"laravel/socialite": ">=1,<2.0.10",
@@ -19579,16 +20629,16 @@
"lavalite/cms": "<=10.1",
"lavitto/typo3-form-to-database": "<2.2.5|>=3,<3.2.2|>=4,<4.2.3|>=5,<5.0.2",
"lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5",
- "league/commonmark": "<2.7",
+ "league/commonmark": "<=2.8.1",
"league/flysystem": "<1.1.4|>=2,<2.1.1",
"league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3",
"leantime/leantime": "<3.3",
"lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3",
"libreform/libreform": ">=2,<=2.0.8",
- "librenms/librenms": "<26.2",
+ "librenms/librenms": "<26.3",
"liftkit/database": "<2.13.2",
"lightsaml/lightsaml": "<1.3.5",
- "limesurvey/limesurvey": "<6.5.12",
+ "limesurvey/limesurvey": "<6.15.4",
"livehelperchat/livehelperchat": "<=3.91",
"livewire-filemanager/filemanager": "<=1.0.4",
"livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.6.4",
@@ -19611,8 +20661,9 @@
"maikuolan/phpmussel": ">=1,<1.6",
"mainwp/mainwp": "<=4.4.3.3",
"manogi/nova-tiptap": "<=3.2.6",
- "mantisbt/mantisbt": "<2.27.2",
+ "mantisbt/mantisbt": "<2.28.1",
"marcwillmann/turn": "<0.3.3",
+ "markhuot/craftql": "<=1.3.7",
"marshmallow/nova-tiptap": "<5.7",
"matomo/matomo": "<1.11",
"matyhtf/framework": "<3.0.6",
@@ -19620,6 +20671,7 @@
"mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1",
"mautic/grapes-js-builder-bundle": ">=4,<4.4.18|>=5,<5.2.9|>=6,<6.0.7",
"maximebf/debugbar": "<1.19",
+ "mckenziearts/livewire-markdown-editor": "<1.3",
"mdanter/ecc": "<2",
"mediawiki/abuse-filter": "<1.39.9|>=1.40,<1.41.3|>=1.42,<1.42.2",
"mediawiki/cargo": "<3.8.3",
@@ -19642,6 +20694,7 @@
"mikehaertl/php-shellcommand": "<1.6.1",
"mineadmin/mineadmin": "<=3.0.9",
"miniorange/miniorange-saml": "<1.4.3",
+ "miraheze/ts-portal": "<=33",
"mittwald/typo3_forum": "<1.2.1",
"mobiledetect/mobiledetectlib": "<2.8.32",
"modx/revolution": "<=3.1",
@@ -19662,6 +20715,7 @@
"munkireport/softwareupdate": "<1.6",
"mustache/mustache": ">=2,<2.14.1",
"mwdelaney/wp-enable-svg": "<=0.2",
+ "nabeel/phpvms": "<7.0.6",
"namshi/jose": "<2.2",
"nasirkhan/laravel-starter": "<11.11",
"nategood/httpful": "<1",
@@ -19692,9 +20746,9 @@
"nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1",
"october/backend": "<1.1.2",
"october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1",
- "october/october": "<3.7.5",
- "october/rain": "<1.0.472|>=1.1,<1.1.2",
- "october/system": "<=3.7.12|>=4,<=4.0.11",
+ "october/october": "<3.7.14|>=4,<4.1.10",
+ "october/rain": "<=3.7.13|>=4,<=4.1.9",
+ "october/system": "<3.7.16|>=4,<4.1.16",
"oliverklee/phpunit": "<3.5.15",
"omeka/omeka-s": "<4.0.3",
"onelogin/php-saml": "<2.21.1|>=3,<3.8.1|>=4,<4.3.1",
@@ -19702,9 +20756,9 @@
"open-web-analytics/open-web-analytics": "<1.8.1",
"opencart/opencart": ">=0",
"openid/php-openid": "<2.3",
- "openmage/magento-lts": "<20.16.1",
+ "openmage/magento-lts": "<=20.17",
"opensolutions/vimbadmin": "<=3.0.15",
- "opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7",
+ "opensource-workshop/connect-cms": "<1.41.1|>=2,<2.41.1",
"orchid/platform": ">=8,<14.43",
"oro/calendar-bundle": ">=4.2,<=4.2.6|>=5,<=5.0.6|>=5.1,<5.1.1",
"oro/commerce": ">=4.1,<5.0.11|>=5.1,<5.1.1",
@@ -19745,16 +20799,16 @@
"phpmailer/phpmailer": "<6.5",
"phpmussel/phpmussel": ">=1,<1.6",
"phpmyadmin/phpmyadmin": "<5.2.2",
- "phpmyfaq/phpmyfaq": "<=4.0.16",
+ "phpmyfaq/phpmyfaq": "<=4.1",
"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",
+ "phpoffice/phpspreadsheet": "<=1.30.3|>=2,<=2.1.15|>=2.2,<=2.4.4|>=3,<=3.10.4|>=4,<=5.6",
"phppgadmin/phppgadmin": "<=7.13",
- "phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
+ "phpseclib/phpseclib": "<=2.0.53|>=3,<=3.0.51",
"phpservermon/phpservermon": "<3.6",
"phpsysinfo/phpsysinfo": "<3.4.3",
- "phpunit/phpunit": "<8.5.52|>=9,<9.6.33|>=10,<10.5.62|>=11,<11.5.50|>=12,<12.5.8",
+ "phpunit/phpunit": "<8.5.52|>=9,<9.6.33|>=10,<10.5.62|>=11,<11.5.50|>=12,<12.5.8|>=12.5.21,<12.5.22|>=13.1.5,<13.1.6",
"phpwhois/phpwhois": "<=4.2.5",
"phpxmlrpc/extras": "<0.6.1",
"phpxmlrpc/phpxmlrpc": "<4.9.2",
@@ -19773,7 +20827,7 @@
"pixelfed/pixelfed": "<0.12.5",
"plotly/plotly.js": "<2.25.2",
"pocketmine/bedrock-protocol": "<8.0.2",
- "pocketmine/pocketmine-mp": "<5.32.1",
+ "pocketmine/pocketmine-mp": "<5.42.1",
"pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1",
"pressbooks/pressbooks": "<5.18",
"prestashop/autoupgrade": ">=4,<4.10.1",
@@ -19781,15 +20835,15 @@
"prestashop/blockwishlist": ">=2,<2.1.1",
"prestashop/contactform": ">=1.0.1,<4.3",
"prestashop/gamification": "<2.3.2",
- "prestashop/prestashop": "<8.2.4|>=9.0.0.0-alpha1,<9.0.3",
+ "prestashop/prestashop": "<8.2.5|>=9.0.0.0-alpha1,<9.1",
"prestashop/productcomments": "<5.0.2",
- "prestashop/ps_checkout": "<4.4.1|>=5,<5.0.5",
+ "prestashop/ps_checkout": "<5.3",
"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|>=1.7.7,<2.0.3",
- "processwire/processwire": "<=3.0.246",
+ "processwire/processwire": "<=3.0.255",
"propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7",
"propel/propel1": ">=1,<=1.7.1",
"psy/psysh": "<=0.11.22|>=0.12,<=0.12.18",
@@ -19799,6 +20853,7 @@
"pubnub/pubnub": "<6.1",
"punktde/pt_extbase": "<1.5.1",
"pusher/pusher-php-server": "<2.2.1",
+ "putyourlightson/craft-sprig": ">=2,<2.15.2|>=3,<3.7.2",
"pwweb/laravel-core": "<=0.3.6.0-beta",
"pxlrbt/filament-excel": "<1.1.14|>=2.0.0.0-alpha,<2.3.3",
"pyrocms/pyrocms": "<=3.9.1",
@@ -19807,25 +20862,30 @@
"rainlab/blog-plugin": "<1.4.1",
"rainlab/debugbar-plugin": "<3.1",
"rainlab/user-plugin": "<=1.4.5",
+ "ralffreit/mfa-email": "<1.0.7|==2",
"rankmath/seo-by-rank-math": "<=1.0.95",
"rap2hpoutre/laravel-log-viewer": "<0.13",
"react/http": ">=0.7,<1.9",
"really-simple-plugins/complianz-gdpr": "<6.4.2",
- "redaxo/source": "<=5.20.1",
+ "redaxo/source": "<5.21",
"remdex/livehelperchat": "<4.29",
"renolit/reint-downloadmanager": "<4.0.2|>=5,<5.0.1",
"reportico-web/reportico": "<=8.1",
- "rhukster/dom-sanitizer": "<1.0.7",
+ "rhukster/dom-sanitizer": "<1.0.10",
"rmccue/requests": ">=1.6,<1.8",
- "robrichards/xmlseclibs": "<=3.1.3",
+ "roadiz/documents": "<2.3.42|>=2.4,<2.5.44|>=2.6,<2.6.28|>=2.7,<2.7.9",
+ "roadiz/openid": "<2.3.43|>=2.5,<2.5.45|>=2.6,<2.6.31|>=2.7,<2.7.18",
+ "robrichards/xmlseclibs": "<3.1.5",
"roots/soil": "<4.1",
- "roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11",
+ "roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11|>=1.7.0.0-beta,<1.7.0.0-RC5-dev",
"rudloff/alltube": "<3.0.3",
"rudloff/rtmpdump-bin": "<=2.3.1",
"s-cart/core": "<=9.0.5",
"s-cart/s-cart": "<6.9",
+ "s9y/serendipity": "<2.6",
"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",
+ "saloonphp/saloon": "<4",
"samwilson/unlinked-wikibase": "<1.42",
"scheb/two-factor-bundle": "<3.26|>=4,<4.11",
"sensiolabs/connect": "<4.2.3",
@@ -19833,17 +20893,17 @@
"setasign/fpdi": "<2.6.4",
"sfroemken/url_redirect": "<=1.2.1",
"sheng/yiicms": "<1.2.1",
- "shopware/core": "<6.6.10.9-dev|>=6.7,<6.7.6.1-dev",
- "shopware/platform": "<6.6.10.7-dev|>=6.7,<6.7.3.1-dev",
+ "shopware/core": "<6.6.10.15-dev|>=6.7,<6.7.8.1-dev",
+ "shopware/platform": "<6.6.10.15-dev|>=6.7,<6.7.8.1-dev",
"shopware/production": "<=6.3.5.2",
"shopware/shopware": "<=5.7.17|>=6.4.6,<6.6.10.10-dev|>=6.7,<6.7.6.1-dev",
"shopware/storefront": "<6.6.10.10-dev|>=6.7,<6.7.5.1-dev",
"shopxo/shopxo": "<=6.4",
- "showdoc/showdoc": "<2.10.4",
+ "showdoc/showdoc": "<3.8.1",
"shuchkin/simplexlsx": ">=1.0.12,<1.1.13",
"silverstripe-australia/advancedreports": ">=1,<=2",
"silverstripe/admin": "<1.13.19|>=2,<2.1.8",
- "silverstripe/assets": ">=1,<1.11.1",
+ "silverstripe/assets": "<2.4.5|>=3,<3.1.3",
"silverstripe/cms": "<4.11.3",
"silverstripe/comments": ">=1.3,<3.1.1",
"silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
@@ -19868,7 +20928,7 @@
"simplesamlphp/simplesamlphp-module-openid": "<1",
"simplesamlphp/simplesamlphp-module-openidprovider": "<0.9",
"simplesamlphp/xml-common": "<1.20",
- "simplesamlphp/xml-security": "==1.6.11",
+ "simplesamlphp/xml-security": "<1.13.9|>=2,<2.3.1",
"simplito/elliptic-php": "<1.0.6",
"sitegeist/fluid-components": "<3.5",
"sjbr/sr-feuser-register": "<2.6.2|>=5.1,<12.5",
@@ -19878,7 +20938,7 @@
"slim/slim": "<2.6",
"slub/slub-events": "<3.0.3",
"smarty/smarty": "<4.5.3|>=5,<5.1.1",
- "snipe/snipe-it": "<=8.3.4",
+ "snipe/snipe-it": "<8.3.7",
"socalnick/scn-social-auth": "<1.15.2",
"socialiteproviders/steam": "<1.1",
"solspace/craft-freeform": "<4.1.29|>=5,<=5.14.6",
@@ -19896,14 +20956,14 @@
"starcitizentools/short-description": ">=4,<4.0.1",
"starcitizentools/tabber-neue": ">=1.9.1,<2.7.2|>=3,<3.1.1",
"starcitizenwiki/embedvideo": "<=4",
- "statamic/cms": "<5.73.11|>=6,<6.4",
+ "statamic/cms": "<5.73.20|>=6,<6.13",
"stormpath/sdk": "<9.9.99",
- "studio-42/elfinder": "<=2.1.64",
+ "studio-42/elfinder": "<2.1.67",
"studiomitte/friendlycaptcha": "<0.1.4",
"subhh/libconnect": "<7.0.8|>=8,<8.1",
"sukohi/surpass": "<1",
"sulu/form-bundle": ">=2,<2.5.3",
- "sulu/sulu": "<1.6.44|>=2,<2.5.25|>=2.6,<2.6.9|>=3.0.0.0-alpha1,<3.0.0.0-alpha3",
+ "sulu/sulu": "<2.6.22|>=3,<3.0.5",
"sumocoders/framework-user-bundle": "<1.4",
"superbig/craft-audit": "<3.0.2",
"svewap/a21glossary": "<=0.4.10",
@@ -19915,7 +20975,7 @@
"sylius/grid-bundle": "<1.10.1",
"sylius/paypal-plugin": "<1.6.2|>=1.7,<1.7.2|>=2,<2.0.2",
"sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4",
- "sylius/sylius": "<1.12.19|>=1.13.0.0-alpha1,<1.13.4",
+ "sylius/sylius": "<1.9.12|>=1.10,<1.10.16|>=1.11,<1.11.17|>=1.12,<=1.12.22|>=1.13,<=1.13.14|>=1.14,<=1.14.17|>=2,<=2.0.15|>=2.1,<=2.1.11|>=2.2,<=2.2.2",
"symbiote/silverstripe-multivaluefield": ">=3,<3.1",
"symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4",
"symbiote/silverstripe-seed": "<6.0.3",
@@ -19970,7 +21030,7 @@
"thelia/thelia": ">=2.1,<2.1.3",
"theonedemon/phpwhois": "<=4.2.5",
"thinkcmf/thinkcmf": "<6.0.8",
- "thorsten/phpmyfaq": "<4.0.18|>=4.1.0.0-alpha,<=4.1.0.0-beta2",
+ "thorsten/phpmyfaq": "<4.1.1",
"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",
@@ -19990,7 +21050,7 @@
"twig/twig": "<3.11.2|>=3.12,<3.14.1|>=3.16,<3.19",
"typicms/core": "<16.1.7",
"typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2",
- "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.55|>=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1",
+ "typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.55|>=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1|==14.2",
"typo3/cms-belog": ">=10,<=10.4.47|>=11,<=11.5.41|>=12,<=12.4.24|>=13,<=13.4.2",
"typo3/cms-beuser": ">=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
"typo3/cms-core": "<=8.7.56|>=9,<9.5.55|>=10,<=10.4.54|>=11,<=11.5.48|>=12,<=12.4.40|>=13,<=13.4.22|>=14,<=14.0.1",
@@ -20043,20 +21103,22 @@
"wallabag/wallabag": "<2.6.11",
"wanglelecc/laracms": "<=1.0.3",
"wapplersystems/a21glossary": "<=0.4.10",
- "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9",
- "web-auth/webauthn-lib": ">=4.5,<4.9",
+ "web-auth/webauthn-framework": ">=3.3,<3.3.4|>=4.5,<4.9|>=5.2,<5.2.4",
+ "web-auth/webauthn-lib": ">=4.5,<4.9|>=5.2,<5.2.4",
+ "web-auth/webauthn-symfony-bundle": ">=5.2,<5.2.4",
"web-feet/coastercms": "==5.5",
"web-tp3/wec_map": "<3.0.3",
"webbuilders-group/silverstripe-kapost-bridge": "<0.4",
"webcoast/deferred-image-processing": "<1.0.2",
"webklex/laravel-imap": "<5.3",
"webklex/php-imap": "<5.3",
+ "webonyx/graphql-php": "<=15.32.2",
"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",
- "winter/wn-backend-module": "<1.2.4",
+ "winter/wn-backend-module": "<1.2.12",
"winter/wn-cms-module": "<=1.2.9",
"winter/wn-dusk-plugin": "<2.1",
"winter/wn-system-module": "<1.2.4",
@@ -20069,11 +21131,13 @@
"wpanel/wpanel4-cms": "<=4.3.1",
"wpcloud/wp-stateless": "<3.2",
"wpglobus/wpglobus": "<=1.9.6",
- "wwbn/avideo": "<=21",
+ "wpmetabox/meta-box": "<5.11.2",
+ "wwbn/avideo": "<=29",
"xataface/xataface": "<3",
"xpressengine/xpressengine": "<3.0.15",
"yab/quarx": "<2.4.5",
- "yeswiki/yeswiki": "<=4.5.4",
+ "yansongda/pay": "<=3.7.19",
+ "yeswiki/yeswiki": "<=4.6",
"yetiforce/yetiforce-crm": "<6.5",
"yidashi/yii2cmf": "<=2",
"yii2mod/yii2-cms": "<1.9.2",
@@ -20088,6 +21152,7 @@
"yiisoft/yii2-redis": "<2.0.20",
"yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6",
"yoast-seo-for-typo3/yoast_seo": "<7.2.3",
+ "yoast/duplicate-post": "<=4.5",
"yourls/yourls": "<=1.10.2",
"yuan1994/tpadmin": "<=1.3.12",
"yungifez/skuul": "<=2.6.5",
@@ -20167,7 +21232,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-01T01:36:02+00:00"
+ "time": "2026-05-05T21:24:41+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -21209,16 +22274,16 @@
},
{
"name": "symfony/browser-kit",
- "version": "v7.4.4",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "bed167eadaaba641f51fc842c9227aa5e251309e"
+ "reference": "41850d8f8ddef9a9cd7314fa9f4902cf48885521"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/bed167eadaaba641f51fc842c9227aa5e251309e",
- "reference": "bed167eadaaba641f51fc842c9227aa5e251309e",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/41850d8f8ddef9a9cd7314fa9f4902cf48885521",
+ "reference": "41850d8f8ddef9a9cd7314fa9f4902cf48885521",
"shasum": ""
},
"require": {
@@ -21258,7 +22323,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.4.4"
+ "source": "https://github.com/symfony/browser-kit/tree/v7.4.8"
},
"funding": [
{
@@ -21278,20 +22343,20 @@
"type": "tidelift"
}
],
- "time": "2026-01-13T10:40:19+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/debug-bundle",
- "version": "v7.4.0",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug-bundle.git",
- "reference": "329383fb895353e3c8ab792cc35c4a7e7b17881b"
+ "reference": "3eb18c1e6cd16da2cea1f1b5162e442af4afee44"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/329383fb895353e3c8ab792cc35c4a7e7b17881b",
- "reference": "329383fb895353e3c8ab792cc35c4a7e7b17881b",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/3eb18c1e6cd16da2cea1f1b5162e442af4afee44",
+ "reference": "3eb18c1e6cd16da2cea1f1b5162e442af4afee44",
"shasum": ""
},
"require": {
@@ -21333,7 +22398,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.4.0"
+ "source": "https://github.com/symfony/debug-bundle/tree/v7.4.8"
},
"funding": [
{
@@ -21353,23 +22418,24 @@
"type": "tidelift"
}
],
- "time": "2025-10-24T13:56:35+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/maker-bundle",
- "version": "v1.66.0",
+ "version": "v1.67.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
- "reference": "b5b4afa2a570b926682e9f34615a6766dd560ff4"
+ "reference": "6ce8b313845f16bcf385ee3cb31d8b24e30d5516"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/b5b4afa2a570b926682e9f34615a6766dd560ff4",
- "reference": "b5b4afa2a570b926682e9f34615a6766dd560ff4",
+ "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/6ce8b313845f16bcf385ee3cb31d8b24e30d5516",
+ "reference": "6ce8b313845f16bcf385ee3cb31d8b24e30d5516",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.1",
"doctrine/inflector": "^2.0",
"nikic/php-parser": "^5.0",
"php": ">=8.1",
@@ -21431,7 +22497,7 @@
],
"support": {
"issues": "https://github.com/symfony/maker-bundle/issues",
- "source": "https://github.com/symfony/maker-bundle/tree/v1.66.0"
+ "source": "https://github.com/symfony/maker-bundle/tree/v1.67.0"
},
"funding": [
{
@@ -21451,20 +22517,20 @@
"type": "tidelift"
}
],
- "time": "2026-02-09T08:55:54+00:00"
+ "time": "2026-03-18T13:39:06+00:00"
},
{
"name": "symfony/phpunit-bridge",
- "version": "v7.4.3",
+ "version": "v7.4.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "f933e68bb9df29d08077a37e1515a23fea8562ab"
+ "reference": "140bbbe1cd1c21a084494ccddeee33f3c3381d7d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/f933e68bb9df29d08077a37e1515a23fea8562ab",
- "reference": "f933e68bb9df29d08077a37e1515a23fea8562ab",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/140bbbe1cd1c21a084494ccddeee33f3c3381d7d",
+ "reference": "140bbbe1cd1c21a084494ccddeee33f3c3381d7d",
"shasum": ""
},
"require": {
@@ -21516,7 +22582,7 @@
"testing"
],
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.3"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v7.4.8"
},
"funding": [
{
@@ -21536,20 +22602,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-09T15:33:45+00:00"
+ "time": "2026-03-24T13:12:05+00:00"
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v7.4.6",
+ "version": "v7.4.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "952fbb5ea12e101e05510069eacf01e169955100"
+ "reference": "36dd8b8c05da059925c5804641aad9159e5b73e8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/952fbb5ea12e101e05510069eacf01e169955100",
- "reference": "952fbb5ea12e101e05510069eacf01e169955100",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/36dd8b8c05da059925c5804641aad9159e5b73e8",
+ "reference": "36dd8b8c05da059925c5804641aad9159e5b73e8",
"shasum": ""
},
"require": {
@@ -21606,7 +22672,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.4.6"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.4.9"
},
"funding": [
{
@@ -21626,7 +22692,7 @@
"type": "tidelift"
}
],
- "time": "2026-02-11T16:03:16+00:00"
+ "time": "2026-04-22T15:21:55+00:00"
},
{
"name": "theseer/tokenizer",
@@ -21701,5 +22767,5 @@
"platform-overrides": {
"php": "8.2.0"
},
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.9.0"
}
diff --git a/config/bundles.php b/config/bundles.php
index ae7dc9cc..000c58a1 100644
--- a/config/bundles.php
+++ b/config/bundles.php
@@ -33,4 +33,5 @@ return [
Jbtronics\SettingsBundle\JbtronicsSettingsBundle::class => ['all' => true],
Jbtronics\TranslationEditorBundle\JbtronicsTranslationEditorBundle::class => ['dev' => true],
ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
+ Symfony\AI\AiBundle\AiBundle::class => ['all' => true],
];
diff --git a/config/packages/ai.yaml b/config/packages/ai.yaml
new file mode 100644
index 00000000..89f8e7ae
--- /dev/null
+++ b/config/packages/ai.yaml
@@ -0,0 +1,27 @@
+ai:
+ platform:
+ # Inference Platform configuration
+ # see https://github.com/symfony/ai/tree/main/src/platform#platform-bridges
+
+ # openai:
+ # api_key: '%env(OPENAI_API_KEY)%'
+
+ agent:
+ # Agent configuration
+ # see https://symfony.com/doc/current/ai/bundles/ai-bundle.html
+
+ # default:
+ # platform: 'ai.platform.openai'
+ # model: 'gpt-5-mini'
+ # prompt: |
+ # You are a pirate and you write funny.
+ # tools:
+ # - 'Symfony\AI\Agent\Bridge\Clock\Clock'
+
+ store:
+ # Store configuration
+
+ # chromadb:
+ # default:
+ # client: 'client.service.id'
+ # collection: 'my_collection'
diff --git a/config/packages/ai_generic_platform.yaml b/config/packages/ai_generic_platform.yaml
new file mode 100644
index 00000000..c2c2e133
--- /dev/null
+++ b/config/packages/ai_generic_platform.yaml
@@ -0,0 +1,5 @@
+ai:
+ platform:
+ generic:
+ default:
+ base_url: '%env(GENERIC_BASE_URL)%'
diff --git a/config/packages/ai_lm_studio_platform.yaml b/config/packages/ai_lm_studio_platform.yaml
new file mode 100644
index 00000000..0e4287e0
--- /dev/null
+++ b/config/packages/ai_lm_studio_platform.yaml
@@ -0,0 +1,4 @@
+ai:
+ platform:
+ lmstudio:
+ host_url: '%env(string:settings:ai_lmstudio:hostURL)%'
diff --git a/config/packages/ai_open_router_platform.yaml b/config/packages/ai_open_router_platform.yaml
new file mode 100644
index 00000000..d34de592
--- /dev/null
+++ b/config/packages/ai_open_router_platform.yaml
@@ -0,0 +1,4 @@
+ai:
+ platform:
+ openrouter:
+ api_key: '%env(string:settings:ai_openrouter:apiKey)%'
diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml
index 846033d6..c1816aa2 100644
--- a/config/packages/cache.yaml
+++ b/config/packages/cache.yaml
@@ -25,5 +25,5 @@ framework:
adapter: cache.app
cache.settings:
- adapter: cache.app
+ adapter: cache.system
tags: true
diff --git a/config/packages/datatables.yaml b/config/packages/datatables.yaml
index f1ea4715..fe238a1e 100644
--- a/config/packages/datatables.yaml
+++ b/config/packages/datatables.yaml
@@ -8,7 +8,7 @@ datatables:
# Set options, as documented at https://datatables.net/reference/option/
options:
- lengthMenu : [[10, 25, 50, 100], [10, 25, 50, 100]] # We add the "All" option, when part tables are generated
+ lengthMenu : [[10, 25, 50, 100, 250, 500], [10, 25, 50, 100, 250, 500]] # We add the "All" option, when part tables are generated
#pageLength: '%partdb.table.default_page_size%' # Set to -1 to disable pagination (i.e. show all rows) by default
pageLength: 50 #TODO
dom: " <'row' <'col mb-2 input-group flex-nowrap' B l > <'col-auto mb-2' < p >>>
diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml
index 5261c295..164ac717 100644
--- a/config/packages/doctrine.yaml
+++ b/config/packages/doctrine.yaml
@@ -56,6 +56,7 @@ doctrine:
natsort: App\Doctrine\Functions\Natsort
array_position: App\Doctrine\Functions\ArrayPosition
ilike: App\Doctrine\Functions\ILike
+ si_value_sort: App\Doctrine\Functions\SiValueSort
when@test:
doctrine:
diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml
index 95ae4f3b..860cef42 100644
--- a/config/packages/twig.yaml
+++ b/config/packages/twig.yaml
@@ -18,6 +18,11 @@ twig:
saml_enabled: '%partdb.saml.enabled%'
part_preview_generator: '@App\Services\Attachments\PartPreviewGenerator'
+ # Bootstrap grid classes used for horizontal form layouts
+ col_label: 'col-sm-3 col-lg-2' # The column classes for form labels
+ col_input: 'col-sm-9 col-lg-10' # The column classes for form input fields
+ offset_label: 'offset-sm-3 offset-lg-2' # Offset classes for elements that should be aligned with the input fields (e.g., submit buttons)
+
when@test:
twig:
strict_variables: true
diff --git a/config/parameters.yaml b/config/parameters.yaml
index b79e2b88..b1aa5314 100644
--- a/config/parameters.yaml
+++ b/config/parameters.yaml
@@ -105,6 +105,8 @@ parameters:
env(DATABASE_EMULATE_NATURAL_SORT): 0
+ env(ALLOW_ATTACHMENT_DOWNLOADS_FROM_LOCALNETWORK): 0
+
######################################################################################################################
# Bulk Info Provider Import Configuration
######################################################################################################################
diff --git a/config/reference.php b/config/reference.php
index bfac5a46..e1304d43 100644
--- a/config/reference.php
+++ b/config/reference.php
@@ -128,7 +128,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* @psalm-type FrameworkConfig = array{
* secret?: scalar|Param|null,
* http_method_override?: bool|Param, // Set true to enable support for the '_method' request parameter to determine the intended HTTP method on POST requests. // Default: false
- * allowed_http_method_override?: list|null,
+ * allowed_http_method_override?: null|list,
* trust_x_sendfile_type_header?: scalar|Param|null, // Set true to enable support for xsendfile in binary file responses. // Default: "%env(bool:default::SYMFONY_TRUST_X_SENDFILE_TYPE_HEADER)%"
* ide?: scalar|Param|null, // Default: "%env(default::SYMFONY_IDE)%"
* test?: bool|Param,
@@ -136,9 +136,9 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* set_locale_from_accept_language?: bool|Param, // Whether to use the Accept-Language HTTP header to set the Request locale (only when the "_locale" request attribute is not passed). // Default: false
* set_content_language_from_locale?: bool|Param, // Whether to set the Content-Language HTTP header on the Response using the Request locale. // Default: false
* enabled_locales?: list,
- * trusted_hosts?: list,
+ * trusted_hosts?: string|list,
* trusted_proxies?: mixed, // Default: ["%env(default::SYMFONY_TRUSTED_PROXIES)%"]
- * trusted_headers?: list,
+ * trusted_headers?: string|list,
* error_controller?: scalar|Param|null, // Default: "error_controller"
* handle_all_throwables?: bool|Param, // HttpKernel will handle all kinds of \Throwable. // Default: true
* csrf_protection?: bool|array{
@@ -193,40 +193,40 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* workflows?: bool|array{
* enabled?: bool|Param, // Default: false
* workflows?: array,
- * definition_validators?: list,
- * support_strategy?: scalar|Param|null,
- * initial_marking?: list,
- * events_to_dispatch?: list|null,
- * places?: list,
+ * definition_validators?: list,
+ * support_strategy?: scalar|Param|null,
+ * initial_marking?: backed-enum|string|list,
+ * events_to_dispatch?: null|list,
+ * places?: string|list,
+ * }>,
+ * transitions?: list,
+ * to?: backed-enum|string|list,
+ * weight?: int|Param, // Default: 1
+ * metadata?: array,
+ * }>,
* metadata?: array,
* }>,
- * transitions?: list,
- * to?: list,
- * weight?: int|Param, // Default: 1
- * metadata?: array,
- * }>,
- * metadata?: array,
- * }>,
* },
* router?: bool|array{ // Router configuration
* enabled?: bool|Param, // Default: false
@@ -271,20 +271,20 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* version_format?: scalar|Param|null, // Default: "%%s?%%s"
* json_manifest_path?: scalar|Param|null, // Default: null
* base_path?: scalar|Param|null, // Default: ""
- * base_urls?: list,
+ * base_urls?: string|list,
* packages?: array,
- * }>,
+ * strict_mode?: bool|Param, // Throw an exception if an entry is missing from the manifest.json. // Default: false
+ * version_strategy?: scalar|Param|null, // Default: null
+ * version?: scalar|Param|null,
+ * version_format?: scalar|Param|null, // Default: null
+ * json_manifest_path?: scalar|Param|null, // Default: null
+ * base_path?: scalar|Param|null, // Default: ""
+ * base_urls?: string|list,
+ * }>,
* },
* asset_mapper?: bool|array{ // Asset Mapper configuration
* enabled?: bool|Param, // Default: false
- * paths?: array,
+ * paths?: string|array,
* excluded_patterns?: list,
* exclude_dotfiles?: bool|Param, // If true, any files starting with "." will be excluded from the asset mapper. // Default: true
* server?: bool|Param, // If true, a "dev server" will return the assets from the public directory (true in "debug" mode only by default). // Default: true
@@ -303,7 +303,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* translator?: bool|array{ // Translator configuration
* enabled?: bool|Param, // Default: true
- * fallbacks?: list,
+ * fallbacks?: string|list,
* logging?: bool|Param, // Default: false
* formatter?: scalar|Param|null, // Default: "translator.formatter.default"
* cache_dir?: scalar|Param|null, // Default: "%kernel.cache_dir%/translations"
@@ -318,22 +318,22 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* localizable_html_attributes?: list,
* },
* providers?: array,
- * locales?: list,
- * }>,
+ * dsn?: scalar|Param|null,
+ * domains?: list,
+ * locales?: list,
+ * }>,
* globals?: array,
- * domain?: string|Param,
- * }>,
+ * value?: mixed,
+ * message?: string|Param,
+ * parameters?: array,
+ * domain?: string|Param,
+ * }>,
* },
* validation?: bool|array{ // Validation configuration
* enabled?: bool|Param, // Default: true
* cache?: scalar|Param|null, // Deprecated: Setting the "framework.validation.cache.cache" configuration option is deprecated. It will be removed in version 8.0.
* enable_attributes?: bool|Param, // Default: true
- * static_method?: list,
+ * static_method?: string|list,
* translation_domain?: scalar|Param|null, // Default: "validators"
* email_validation_mode?: "html5"|"html5-allow-no-tld"|"strict"|"loose"|Param, // Default: "html5"
* mapping?: array{
@@ -345,8 +345,8 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* disable_translation?: bool|Param, // Default: false
* auto_mapping?: array,
- * }>,
+ * services?: list,
+ * }>,
* },
* annotations?: bool|array{
* enabled?: bool|Param, // Default: false
@@ -362,11 +362,11 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* default_context?: array,
* named_serializers?: array,
- * include_built_in_normalizers?: bool|Param, // Whether to include the built-in normalizers // Default: true
- * include_built_in_encoders?: bool|Param, // Whether to include the built-in encoders // Default: true
- * }>,
+ * name_converter?: scalar|Param|null,
+ * default_context?: array,
+ * include_built_in_normalizers?: bool|Param, // Whether to include the built-in normalizers // Default: true
+ * include_built_in_encoders?: bool|Param, // Whether to include the built-in encoders // Default: true
+ * }>,
* },
* property_access?: bool|array{ // Property access configuration
* enabled?: bool|Param, // Default: true
@@ -396,40 +396,40 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* default_doctrine_dbal_provider?: scalar|Param|null, // Default: "database_connection"
* default_pdo_provider?: scalar|Param|null, // Default: null
* pools?: array,
- * tags?: scalar|Param|null, // Default: null
- * public?: bool|Param, // Default: false
- * default_lifetime?: scalar|Param|null, // Default lifetime of the pool.
- * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
- * early_expiration_message_bus?: scalar|Param|null,
- * clearer?: scalar|Param|null,
- * }>,
+ * adapters?: string|list,
+ * tags?: scalar|Param|null, // Default: null
+ * public?: bool|Param, // Default: false
+ * default_lifetime?: scalar|Param|null, // Default lifetime of the pool.
+ * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
+ * early_expiration_message_bus?: scalar|Param|null,
+ * clearer?: scalar|Param|null,
+ * }>,
* },
* php_errors?: array{ // PHP errors handling configuration
* log?: mixed, // Use the application logger instead of the PHP logger for logging PHP errors. // Default: true
* throw?: bool|Param, // Throw PHP errors as \ErrorException instances. // Default: true
* },
* exceptions?: array,
+ * log_level?: scalar|Param|null, // The level of log message. Null to let Symfony decide. // Default: null
+ * status_code?: scalar|Param|null, // The status code of the response. Null or 0 to let Symfony decide. // Default: null
+ * log_channel?: scalar|Param|null, // The channel of log message. Null to let Symfony decide. // Default: null
+ * }>,
* web_link?: bool|array{ // Web links configuration
* enabled?: bool|Param, // Default: true
* },
* lock?: bool|string|array{ // Lock configuration
* enabled?: bool|Param, // Default: false
- * resources?: array>,
+ * resources?: string|array>,
* },
* semaphore?: bool|string|array{ // Semaphore configuration
* enabled?: bool|Param, // Default: false
- * resources?: array,
+ * resources?: string|array,
* },
* messenger?: bool|array{ // Messenger configuration
* enabled?: bool|Param, // Default: false
* routing?: array,
- * }>,
+ * senders?: list,
+ * }>,
* serializer?: array{
* default_serializer?: scalar|Param|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer"
* symfony_serializer?: array{
@@ -438,34 +438,34 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* },
* transports?: array,
- * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
- * retry_strategy?: string|array{
- * service?: scalar|Param|null, // Service id to override the retry strategy entirely. // Default: null
- * max_retries?: int|Param, // Default: 3
- * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
- * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
- * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
- * jitter?: float|Param, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
- * },
- * rate_limiter?: scalar|Param|null, // Rate limiter name to use when processing messages. // Default: null
- * }>,
+ * dsn?: scalar|Param|null,
+ * serializer?: scalar|Param|null, // Service id of a custom serializer to use. // Default: null
+ * options?: array,
+ * failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
+ * retry_strategy?: string|array{
+ * service?: scalar|Param|null, // Service id to override the retry strategy entirely. // Default: null
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: this delay = (delay * (multiple ^ retries)). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness to apply to the delay (between 0 and 1). // Default: 0.1
+ * },
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use when processing messages. // Default: null
+ * }>,
* failure_transport?: scalar|Param|null, // Transport name to send failed messages to (after all retries have failed). // Default: null
- * stop_worker_on_signals?: list,
+ * stop_worker_on_signals?: int|string|list,
* default_bus?: scalar|Param|null, // Default: null
* buses?: array,
+ * default_middleware?: bool|string|array{
+ * enabled?: bool|Param, // Default: true
+ * allow_no_handlers?: bool|Param, // Default: false
+ * allow_no_senders?: bool|Param, // Default: true
+ * },
+ * middleware?: string|list,
+ * }>,
* }>,
- * }>,
* },
* scheduler?: bool|array{ // Scheduler configuration
* enabled?: bool|Param, // Default: false
@@ -510,10 +510,10 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* retry_failed?: bool|array{
* enabled?: bool|Param, // Default: false
* retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
- * http_codes?: array,
- * }>,
+ * http_codes?: int|string|array,
+ * }>,
* max_retries?: int|Param, // Default: 3
* delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
* multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
@@ -523,57 +523,57 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* },
* mock_response_factory?: scalar|Param|null, // The id of the service that should generate mock responses. It should be either an invokable or an iterable.
* scoped_clients?: array,
- * headers?: array,
- * max_redirects?: int|Param, // The maximum number of redirects to follow.
- * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
- * resolve?: array,
- * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
- * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
- * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
- * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
- * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
- * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
- * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
- * cafile?: scalar|Param|null, // A certificate authority file.
- * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
- * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
- * local_pk?: scalar|Param|null, // A private key file.
- * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
- * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
- * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
- * sha1?: mixed,
- * pin-sha256?: mixed,
- * md5?: mixed,
- * },
- * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
- * extra?: array,
- * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
- * caching?: bool|array{ // Caching configuration.
- * enabled?: bool|Param, // Default: false
- * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
- * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
- * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
- * },
- * retry_failed?: bool|array{
- * enabled?: bool|Param, // Default: false
- * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
- * http_codes?: array,
- * }>,
- * max_retries?: int|Param, // Default: 3
- * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
- * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
- * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
- * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
- * },
- * }>,
+ * scope?: scalar|Param|null, // The regular expression that the request URL must match before adding the other options. When none is provided, the base URI is used instead.
+ * base_uri?: scalar|Param|null, // The URI to resolve relative URLs, following rules in RFC 3985, section 2.
+ * auth_basic?: scalar|Param|null, // An HTTP Basic authentication "username:password".
+ * auth_bearer?: scalar|Param|null, // A token enabling HTTP Bearer authorization.
+ * auth_ntlm?: scalar|Param|null, // A "username:password" pair to use Microsoft NTLM authentication (requires the cURL extension).
+ * query?: array,
+ * headers?: array,
+ * max_redirects?: int|Param, // The maximum number of redirects to follow.
+ * http_version?: scalar|Param|null, // The default HTTP version, typically 1.1 or 2.0, leave to null for the best version.
+ * resolve?: array,
+ * proxy?: scalar|Param|null, // The URL of the proxy to pass requests through or null for automatic detection.
+ * no_proxy?: scalar|Param|null, // A comma separated list of hosts that do not require a proxy to be reached.
+ * timeout?: float|Param, // The idle timeout, defaults to the "default_socket_timeout" ini parameter.
+ * max_duration?: float|Param, // The maximum execution time for the request+response as a whole.
+ * bindto?: scalar|Param|null, // A network interface name, IP address, a host name or a UNIX socket to bind to.
+ * verify_peer?: bool|Param, // Indicates if the peer should be verified in a TLS context.
+ * verify_host?: bool|Param, // Indicates if the host should exist as a certificate common name.
+ * cafile?: scalar|Param|null, // A certificate authority file.
+ * capath?: scalar|Param|null, // A directory that contains multiple certificate authority files.
+ * local_cert?: scalar|Param|null, // A PEM formatted certificate file.
+ * local_pk?: scalar|Param|null, // A private key file.
+ * passphrase?: scalar|Param|null, // The passphrase used to encrypt the "local_pk" file.
+ * ciphers?: scalar|Param|null, // A list of TLS ciphers separated by colons, commas or spaces (e.g. "RC3-SHA:TLS13-AES-128-GCM-SHA256"...).
+ * peer_fingerprint?: array{ // Associative array: hashing algorithm => hash(es).
+ * sha1?: mixed,
+ * pin-sha256?: mixed,
+ * md5?: mixed,
+ * },
+ * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
+ * extra?: array,
+ * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
+ * caching?: bool|array{ // Caching configuration.
+ * enabled?: bool|Param, // Default: false
+ * cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client"
+ * shared?: bool|Param, // Indicates whether the cache is shared (public) or private. // Default: true
+ * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. Null means no cap. // Default: null
+ * },
+ * retry_failed?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * retry_strategy?: scalar|Param|null, // service id to override the retry strategy. // Default: null
+ * http_codes?: int|string|array,
+ * }>,
+ * max_retries?: int|Param, // Default: 3
+ * delay?: int|Param, // Time in ms to delay (or the initial value when multiplier is used). // Default: 1000
+ * multiplier?: float|Param, // If greater than 1, delay will grow exponentially for each retry: delay * (multiple ^ retries). // Default: 2
+ * max_delay?: int|Param, // Max time in ms that a retry should ever be delayed (0 = infinite). // Default: 0
+ * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
+ * },
+ * }>,
* },
* mailer?: bool|array{ // Mailer configuration
* enabled?: bool|Param, // Default: true
@@ -582,12 +582,12 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* transports?: array,
* envelope?: array{ // Mailer Envelope configuration
* sender?: scalar|Param|null,
- * recipients?: list,
- * allowed_recipients?: list,
+ * recipients?: string|list,
+ * allowed_recipients?: string|list,
* },
* headers?: array,
+ * value?: mixed,
+ * }>,
* dkim_signer?: bool|array{ // DKIM signer configuration
* enabled?: bool|Param, // Default: false
* key?: scalar|Param|null, // Key content, or path to key (in PEM format with the `file://` prefix) // Default: ""
@@ -624,25 +624,25 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* notification_on_failed_messages?: bool|Param, // Default: false
* channel_policy?: array>,
* admin_recipients?: list,
+ * email?: scalar|Param|null,
+ * phone?: scalar|Param|null, // Default: ""
+ * }>,
* },
* rate_limiter?: bool|array{ // Rate limiter configuration
* enabled?: bool|Param, // Default: true
* limiters?: array,
- * limit?: int|Param, // The maximum allowed hits in a fixed interval or burst.
- * interval?: scalar|Param|null, // Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
- * rate?: array{ // Configures the fill rate if "policy" is set to "token_bucket".
- * interval?: scalar|Param|null, // Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
- * amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
- * },
- * }>,
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by this limiter (or null to disable locking). // Default: "auto"
+ * cache_pool?: scalar|Param|null, // The cache pool to use for storing the current limiter state. // Default: "cache.rate_limiter"
+ * storage_service?: scalar|Param|null, // The service ID of a custom storage implementation, this precedes any configured "cache_pool". // Default: null
+ * policy?: "fixed_window"|"token_bucket"|"sliding_window"|"compound"|"no_limit"|Param, // The algorithm to be used by this limiter.
+ * limiters?: string|list,
+ * limit?: int|Param, // The maximum allowed hits in a fixed interval or burst.
+ * interval?: scalar|Param|null, // Configures the fixed interval if "policy" is set to "fixed_window" or "sliding_window". The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * rate?: array{ // Configures the fill rate if "policy" is set to "token_bucket".
+ * interval?: scalar|Param|null, // Configures the rate interval. The value must be a number followed by "second", "minute", "hour", "day", "week" or "month" (or their plural equivalent).
+ * amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
+ * },
+ * }>,
* },
* uid?: bool|array{ // Uid configuration
* enabled?: bool|Param, // Default: true
@@ -655,33 +655,33 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* html_sanitizer?: bool|array{ // HtmlSanitizer configuration
* enabled?: bool|Param, // Default: false
* sanitizers?: array,
- * block_elements?: list,
- * drop_elements?: list,
- * allow_attributes?: array,
- * drop_attributes?: array,
- * force_attributes?: array>,
- * force_https_urls?: bool|Param, // Transforms URLs using the HTTP scheme to use the HTTPS scheme instead. // Default: false
- * allowed_link_schemes?: list,
- * allowed_link_hosts?: list|null,
- * allow_relative_links?: bool|Param, // Allows relative URLs to be used in links href attributes. // Default: false
- * allowed_media_schemes?: list,
- * allowed_media_hosts?: list|null,
- * allow_relative_medias?: bool|Param, // Allows relative URLs to be used in media source attributes (img, audio, video, ...). // Default: false
- * with_attribute_sanitizers?: list,
- * without_attribute_sanitizers?: list,
- * max_input_length?: int|Param, // The maximum length allowed for the sanitized input. // Default: 0
- * }>,
+ * allow_safe_elements?: bool|Param, // Allows "safe" elements and attributes. // Default: false
+ * allow_static_elements?: bool|Param, // Allows all static elements and attributes from the W3C Sanitizer API standard. // Default: false
+ * allow_elements?: array,
+ * block_elements?: string|list,
+ * drop_elements?: string|list,
+ * allow_attributes?: array,
+ * drop_attributes?: array,
+ * force_attributes?: array>,
+ * force_https_urls?: bool|Param, // Transforms URLs using the HTTP scheme to use the HTTPS scheme instead. // Default: false
+ * allowed_link_schemes?: string|list,
+ * allowed_link_hosts?: null|string|list,
+ * allow_relative_links?: bool|Param, // Allows relative URLs to be used in links href attributes. // Default: false
+ * allowed_media_schemes?: string|list,
+ * allowed_media_hosts?: null|string|list,
+ * allow_relative_medias?: bool|Param, // Allows relative URLs to be used in media source attributes (img, audio, video, ...). // Default: false
+ * with_attribute_sanitizers?: string|list,
+ * without_attribute_sanitizers?: string|list,
+ * max_input_length?: int|Param, // The maximum length allowed for the sanitized input. // Default: 0
+ * }>,
* },
* webhook?: bool|array{ // Webhook configuration
* enabled?: bool|Param, // Default: false
* message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus"
* routing?: array,
+ * service?: scalar|Param|null,
+ * secret?: scalar|Param|null, // Default: ""
+ * }>,
* },
* remote-event?: bool|array{ // RemoteEvent configuration
* enabled?: bool|Param, // Default: false
@@ -694,62 +694,11 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* dbal?: array{
* default_connection?: scalar|Param|null,
* types?: array,
+ * class?: scalar|Param|null,
+ * commented?: bool|Param, // Deprecated: The doctrine-bundle type commenting features were removed; the corresponding config parameter was deprecated in 2.0 and will be dropped in 3.0.
+ * }>,
* driver_schemes?: array,
* connections?: array,
- * mapping_types?: array,
- * default_table_options?: array,
- * schema_manager_factory?: scalar|Param|null, // Default: "doctrine.dbal.default_schema_manager_factory"
- * result_cache?: scalar|Param|null,
- * slaves?: array,
+ * mapping_types?: array,
+ * default_table_options?: array,
+ * schema_manager_factory?: scalar|Param|null, // Default: "doctrine.dbal.default_schema_manager_factory"
+ * result_cache?: scalar|Param|null,
+ * slaves?: array,
+ * replicas?: array,
* }>,
- * replicas?: array,
- * }>,
* },
* orm?: array{
* default_entity_manager?: scalar|Param|null,
@@ -828,94 +828,94 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* evict_cache?: bool|Param, // Set to true to fetch the entity from the database instead of using the cache, if any // Default: false
* },
* entity_managers?: array,
- * }>,
- * }>,
- * },
- * connection?: scalar|Param|null,
- * class_metadata_factory_name?: scalar|Param|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
- * default_repository_class?: scalar|Param|null, // Default: "Doctrine\\ORM\\EntityRepository"
- * auto_mapping?: scalar|Param|null, // Default: false
- * naming_strategy?: scalar|Param|null, // Default: "doctrine.orm.naming_strategy.default"
- * quote_strategy?: scalar|Param|null, // Default: "doctrine.orm.quote_strategy.default"
- * typed_field_mapper?: scalar|Param|null, // Default: "doctrine.orm.typed_field_mapper.default"
- * entity_listener_resolver?: scalar|Param|null, // Default: null
- * fetch_mode_subselect_batch_size?: scalar|Param|null,
- * repository_factory?: scalar|Param|null, // Default: "doctrine.orm.container_repository_factory"
- * schema_ignore_classes?: list,
- * report_fields_where_declared?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.16 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/10455. // Default: true
- * validate_xml_mapping?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14. See https://github.com/doctrine/orm/pull/6728. // Default: false
- * second_level_cache?: array{
- * region_cache_driver?: string|array{
+ * query_cache_driver?: string|array{
* type?: scalar|Param|null, // Default: null
* id?: scalar|Param|null,
* pool?: scalar|Param|null,
* },
- * region_lock_lifetime?: scalar|Param|null, // Default: 60
- * log_enabled?: bool|Param, // Default: true
- * region_lifetime?: scalar|Param|null, // Default: 3600
- * enabled?: bool|Param, // Default: true
- * factory?: scalar|Param|null,
- * regions?: array,
+ * }>,
+ * }>,
+ * },
+ * connection?: scalar|Param|null,
+ * class_metadata_factory_name?: scalar|Param|null, // Default: "Doctrine\\ORM\\Mapping\\ClassMetadataFactory"
+ * default_repository_class?: scalar|Param|null, // Default: "Doctrine\\ORM\\EntityRepository"
+ * auto_mapping?: scalar|Param|null, // Default: false
+ * naming_strategy?: scalar|Param|null, // Default: "doctrine.orm.naming_strategy.default"
+ * quote_strategy?: scalar|Param|null, // Default: "doctrine.orm.quote_strategy.default"
+ * typed_field_mapper?: scalar|Param|null, // Default: "doctrine.orm.typed_field_mapper.default"
+ * entity_listener_resolver?: scalar|Param|null, // Default: null
+ * fetch_mode_subselect_batch_size?: scalar|Param|null,
+ * repository_factory?: scalar|Param|null, // Default: "doctrine.orm.container_repository_factory"
+ * schema_ignore_classes?: list,
+ * report_fields_where_declared?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.16 and will be mandatory in ORM 3.0. See https://github.com/doctrine/orm/pull/10455. // Default: true
+ * validate_xml_mapping?: bool|Param, // Set to "true" to opt-in to the new mapping driver mode that was added in Doctrine ORM 2.14. See https://github.com/doctrine/orm/pull/6728. // Default: false
+ * second_level_cache?: array{
+ * region_cache_driver?: string|array{
* type?: scalar|Param|null, // Default: null
* id?: scalar|Param|null,
* pool?: scalar|Param|null,
* },
- * lock_path?: scalar|Param|null, // Default: "%kernel.cache_dir%/doctrine/orm/slc/filelock"
- * lock_lifetime?: scalar|Param|null, // Default: 60
- * type?: scalar|Param|null, // Default: "default"
- * lifetime?: scalar|Param|null, // Default: 0
- * service?: scalar|Param|null,
- * name?: scalar|Param|null,
- * }>,
- * loggers?: array,
- * },
- * hydrators?: array,
- * mappings?: array,
+ * loggers?: array,
+ * },
+ * hydrators?: array,
+ * mappings?: array,
+ * dql?: array{
+ * string_functions?: array,
+ * numeric_functions?: array,
+ * datetime_functions?: array,
+ * },
+ * filters?: array,
+ * }>,
+ * identity_generation_preferences?: array,
* }>,
- * dql?: array{
- * string_functions?: array,
- * numeric_functions?: array,
- * datetime_functions?: array,
- * },
- * filters?: array,
- * }>,
- * identity_generation_preferences?: array,
- * }>,
* resolve_target_entities?: array,
* },
* }
@@ -957,390 +957,391 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* allow_if_equal_granted_denied?: bool|Param, // Default: true
* },
* password_hashers?: array,
- * hash_algorithm?: scalar|Param|null, // Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
- * key_length?: scalar|Param|null, // Default: 40
- * ignore_case?: bool|Param, // Default: false
- * encode_as_base64?: bool|Param, // Default: true
- * iterations?: scalar|Param|null, // Default: 5000
- * cost?: int|Param, // Default: null
- * memory_cost?: scalar|Param|null, // Default: null
- * time_cost?: scalar|Param|null, // Default: null
- * id?: scalar|Param|null,
- * }>,
+ * algorithm?: scalar|Param|null,
+ * migrate_from?: string|list,
+ * hash_algorithm?: scalar|Param|null, // Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms. // Default: "sha512"
+ * key_length?: scalar|Param|null, // Default: 40
+ * ignore_case?: bool|Param, // Default: false
+ * encode_as_base64?: bool|Param, // Default: true
+ * iterations?: scalar|Param|null, // Default: 5000
+ * cost?: int|Param, // Default: null
+ * memory_cost?: scalar|Param|null, // Default: null
+ * time_cost?: scalar|Param|null, // Default: null
+ * id?: scalar|Param|null,
+ * }>,
* providers?: array,
- * },
- * entity?: array{
- * class?: scalar|Param|null, // The full entity class name of your user class.
- * property?: scalar|Param|null, // Default: null
- * manager_name?: scalar|Param|null, // Default: null
- * },
- * memory?: array{
- * users?: array,
- * }>,
- * },
- * ldap?: array{
- * service?: scalar|Param|null,
- * base_dn?: scalar|Param|null,
- * search_dn?: scalar|Param|null, // Default: null
- * search_password?: scalar|Param|null, // Default: null
- * extra_fields?: list,
- * default_roles?: list,
- * role_fetcher?: scalar|Param|null, // Default: null
- * uid_key?: scalar|Param|null, // Default: "sAMAccountName"
- * filter?: scalar|Param|null, // Default: "({uid_key}={user_identifier})"
- * password_attribute?: scalar|Param|null, // Default: null
- * },
- * saml?: array{
- * user_class?: scalar|Param|null,
- * default_roles?: list,
- * },
- * }>,
+ * id?: scalar|Param|null,
+ * chain?: array{
+ * providers?: string|list,
+ * },
+ * entity?: array{
+ * class?: scalar|Param|null, // The full entity class name of your user class.
+ * property?: scalar|Param|null, // Default: null
+ * manager_name?: scalar|Param|null, // Default: null
+ * },
+ * memory?: array{
+ * users?: array,
+ * }>,
+ * },
+ * ldap?: array{
+ * service?: scalar|Param|null,
+ * base_dn?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: null
+ * search_password?: scalar|Param|null, // Default: null
+ * extra_fields?: list,
+ * default_roles?: string|list,
+ * role_fetcher?: scalar|Param|null, // Default: null
+ * uid_key?: scalar|Param|null, // Default: "sAMAccountName"
+ * filter?: scalar|Param|null, // Default: "({uid_key}={user_identifier})"
+ * password_attribute?: scalar|Param|null, // Default: null
+ * },
+ * saml?: array{
+ * user_class?: scalar|Param|null,
+ * default_roles?: list,
+ * },
+ * }>,
* firewalls?: array,
- * security?: bool|Param, // Default: true
- * user_checker?: scalar|Param|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
- * request_matcher?: scalar|Param|null,
- * access_denied_url?: scalar|Param|null,
- * access_denied_handler?: scalar|Param|null,
- * entry_point?: scalar|Param|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
- * provider?: scalar|Param|null,
- * stateless?: bool|Param, // Default: false
- * lazy?: bool|Param, // Default: false
- * context?: scalar|Param|null,
- * logout?: array{
- * enable_csrf?: bool|Param|null, // Default: null
- * csrf_token_id?: scalar|Param|null, // Default: "logout"
- * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
- * csrf_token_manager?: scalar|Param|null,
- * path?: scalar|Param|null, // Default: "/logout"
- * target?: scalar|Param|null, // Default: "/"
- * invalidate_session?: bool|Param, // Default: true
- * clear_site_data?: list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>,
- * delete_cookies?: array,
- * },
- * switch_user?: array{
+ * pattern?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * methods?: string|list,
+ * security?: bool|Param, // Default: true
+ * user_checker?: scalar|Param|null, // The UserChecker to use when authenticating users in this firewall. // Default: "security.user_checker"
+ * request_matcher?: scalar|Param|null,
+ * access_denied_url?: scalar|Param|null,
+ * access_denied_handler?: scalar|Param|null,
+ * entry_point?: scalar|Param|null, // An enabled authenticator name or a service id that implements "Symfony\Component\Security\Http\EntryPoint\AuthenticationEntryPointInterface".
* provider?: scalar|Param|null,
- * parameter?: scalar|Param|null, // Default: "_switch_user"
- * role?: scalar|Param|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
- * target_route?: scalar|Param|null, // Default: null
- * },
- * required_badges?: list,
- * custom_authenticators?: list,
- * login_throttling?: array{
- * limiter?: scalar|Param|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
- * max_attempts?: int|Param, // Default: 5
- * interval?: scalar|Param|null, // Default: "1 minute"
- * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
- * cache_pool?: string|Param, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
- * storage_service?: string|Param, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
- * },
- * two_factor?: array{
- * check_path?: scalar|Param|null, // Default: "/2fa_check"
- * post_only?: bool|Param, // Default: true
- * auth_form_path?: scalar|Param|null, // Default: "/2fa"
- * always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|Param|null, // Default: "/"
- * success_handler?: scalar|Param|null, // Default: null
- * failure_handler?: scalar|Param|null, // Default: null
- * authentication_required_handler?: scalar|Param|null, // Default: null
- * auth_code_parameter_name?: scalar|Param|null, // Default: "_auth_code"
- * trusted_parameter_name?: scalar|Param|null, // Default: "_trusted"
- * remember_me_sets_trusted?: scalar|Param|null, // Default: false
- * multi_factor?: bool|Param, // Default: false
- * prepare_on_login?: bool|Param, // Default: false
- * prepare_on_access_denied?: bool|Param, // Default: false
- * enable_csrf?: scalar|Param|null, // Default: false
- * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
- * csrf_token_id?: scalar|Param|null, // Default: "two_factor"
- * csrf_header?: scalar|Param|null, // Default: null
- * csrf_token_manager?: scalar|Param|null, // Default: "scheb_two_factor.csrf_token_manager"
- * provider?: scalar|Param|null, // Default: null
- * },
- * webauthn?: array{
- * user_provider?: scalar|Param|null, // Default: null
- * options_storage?: scalar|Param|null, // Deprecated: The child node "options_storage" at path "security.firewalls..webauthn.options_storage" is deprecated. Please use the root option "options_storage" instead. // Default: null
- * success_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultSuccessHandler"
- * failure_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultFailureHandler"
- * secured_rp_ids?: array,
- * authentication?: bool|array{
- * enabled?: bool|Param, // Default: true
- * profile?: scalar|Param|null, // Default: "default"
- * options_builder?: scalar|Param|null, // Default: null
- * routes?: array{
- * host?: scalar|Param|null, // Default: null
- * options_method?: scalar|Param|null, // Default: "POST"
- * options_path?: scalar|Param|null, // Default: "/login/options"
- * result_method?: scalar|Param|null, // Default: "POST"
- * result_path?: scalar|Param|null, // Default: "/login"
- * },
- * options_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultRequestOptionsHandler"
+ * stateless?: bool|Param, // Default: false
+ * lazy?: bool|Param, // Default: false
+ * context?: scalar|Param|null,
+ * logout?: array{
+ * enable_csrf?: bool|Param|null, // Default: null
+ * csrf_token_id?: scalar|Param|null, // Default: "logout"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_manager?: scalar|Param|null,
+ * path?: scalar|Param|null, // Default: "/logout"
+ * target?: scalar|Param|null, // Default: "/"
+ * invalidate_session?: bool|Param, // Default: true
+ * clear_site_data?: string|list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>,
+ * delete_cookies?: string|array,
* },
- * registration?: bool|array{
- * enabled?: bool|Param, // Default: false
- * profile?: scalar|Param|null, // Default: "default"
- * options_builder?: scalar|Param|null, // Default: null
- * routes?: array{
- * host?: scalar|Param|null, // Default: null
- * options_method?: scalar|Param|null, // Default: "POST"
- * options_path?: scalar|Param|null, // Default: "/register/options"
- * result_method?: scalar|Param|null, // Default: "POST"
- * result_path?: scalar|Param|null, // Default: "/register"
- * },
- * options_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultCreationOptionsHandler"
+ * switch_user?: array{
+ * provider?: scalar|Param|null,
+ * parameter?: scalar|Param|null, // Default: "_switch_user"
+ * role?: scalar|Param|null, // Default: "ROLE_ALLOWED_TO_SWITCH"
+ * target_route?: scalar|Param|null, // Default: null
* },
- * },
- * x509?: array{
- * provider?: scalar|Param|null,
- * user?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN_Email"
- * credentials?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN"
- * user_identifier?: scalar|Param|null, // Default: "emailAddress"
- * },
- * remote_user?: array{
- * provider?: scalar|Param|null,
- * user?: scalar|Param|null, // Default: "REMOTE_USER"
- * },
- * saml?: array{
- * provider?: scalar|Param|null,
- * remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|Param|null, // Default: "Nbgrp\\OneloginSamlBundle\\Security\\Http\\Authentication\\SamlAuthenticationSuccessHandler"
- * failure_handler?: scalar|Param|null,
- * check_path?: scalar|Param|null, // Default: "/login_check"
- * use_forward?: bool|Param, // Default: false
- * login_path?: scalar|Param|null, // Default: "/login"
- * identifier_attribute?: scalar|Param|null, // Default: null
- * use_attribute_friendly_name?: bool|Param, // Default: false
- * user_factory?: scalar|Param|null, // Default: null
- * token_factory?: scalar|Param|null, // Default: null
- * persist_user?: bool|Param, // Default: false
- * always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|Param|null, // Default: "/"
- * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
- * use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|Param|null, // Default: null
- * failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
- * },
- * login_link?: array{
- * check_route?: scalar|Param|null, // Route that will validate the login link - e.g. "app_login_link_verify".
- * check_post_only?: scalar|Param|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
- * signature_properties?: list,
- * lifetime?: int|Param, // The lifetime of the login link in seconds. // Default: 600
- * max_uses?: int|Param, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
- * used_link_cache?: scalar|Param|null, // Cache service id used to expired links of max_uses is set.
- * success_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
- * failure_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
- * provider?: scalar|Param|null, // The user provider to load users from.
- * secret?: scalar|Param|null, // Default: "%kernel.secret%"
- * always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|Param|null, // Default: "/"
- * login_path?: scalar|Param|null, // Default: "/login"
- * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
- * use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|Param|null, // Default: null
- * failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
- * },
- * form_login?: array{
- * provider?: scalar|Param|null,
- * remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|Param|null,
- * failure_handler?: scalar|Param|null,
- * check_path?: scalar|Param|null, // Default: "/login_check"
- * use_forward?: bool|Param, // Default: false
- * login_path?: scalar|Param|null, // Default: "/login"
- * username_parameter?: scalar|Param|null, // Default: "_username"
- * password_parameter?: scalar|Param|null, // Default: "_password"
- * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
- * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
- * enable_csrf?: bool|Param, // Default: false
- * post_only?: bool|Param, // Default: true
- * form_only?: bool|Param, // Default: false
- * always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|Param|null, // Default: "/"
- * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
- * use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|Param|null, // Default: null
- * failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
- * },
- * form_login_ldap?: array{
- * provider?: scalar|Param|null,
- * remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|Param|null,
- * failure_handler?: scalar|Param|null,
- * check_path?: scalar|Param|null, // Default: "/login_check"
- * use_forward?: bool|Param, // Default: false
- * login_path?: scalar|Param|null, // Default: "/login"
- * username_parameter?: scalar|Param|null, // Default: "_username"
- * password_parameter?: scalar|Param|null, // Default: "_password"
- * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
- * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
- * enable_csrf?: bool|Param, // Default: false
- * post_only?: bool|Param, // Default: true
- * form_only?: bool|Param, // Default: false
- * always_use_default_target_path?: bool|Param, // Default: false
- * default_target_path?: scalar|Param|null, // Default: "/"
- * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
- * use_referer?: bool|Param, // Default: false
- * failure_path?: scalar|Param|null, // Default: null
- * failure_forward?: bool|Param, // Default: false
- * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
- * service?: scalar|Param|null, // Default: "ldap"
- * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
- * query_string?: scalar|Param|null,
- * search_dn?: scalar|Param|null, // Default: ""
- * search_password?: scalar|Param|null, // Default: ""
- * },
- * json_login?: array{
- * provider?: scalar|Param|null,
- * remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|Param|null,
- * failure_handler?: scalar|Param|null,
- * check_path?: scalar|Param|null, // Default: "/login_check"
- * use_forward?: bool|Param, // Default: false
- * login_path?: scalar|Param|null, // Default: "/login"
- * username_path?: scalar|Param|null, // Default: "username"
- * password_path?: scalar|Param|null, // Default: "password"
- * },
- * json_login_ldap?: array{
- * provider?: scalar|Param|null,
- * remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|Param|null,
- * failure_handler?: scalar|Param|null,
- * check_path?: scalar|Param|null, // Default: "/login_check"
- * use_forward?: bool|Param, // Default: false
- * login_path?: scalar|Param|null, // Default: "/login"
- * username_path?: scalar|Param|null, // Default: "username"
- * password_path?: scalar|Param|null, // Default: "password"
- * service?: scalar|Param|null, // Default: "ldap"
- * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
- * query_string?: scalar|Param|null,
- * search_dn?: scalar|Param|null, // Default: ""
- * search_password?: scalar|Param|null, // Default: ""
- * },
- * access_token?: array{
- * provider?: scalar|Param|null,
- * remember_me?: bool|Param, // Default: true
- * success_handler?: scalar|Param|null,
- * failure_handler?: scalar|Param|null,
- * realm?: scalar|Param|null, // Default: null
- * token_extractors?: list,
- * token_handler?: string|array{
- * id?: scalar|Param|null,
- * oidc_user_info?: string|array{
- * base_uri?: scalar|Param|null, // Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
- * discovery?: array{ // Enable the OIDC discovery.
- * cache?: array{
- * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
- * },
- * },
- * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
- * client?: scalar|Param|null, // HttpClient service id to use to call the OIDC server.
- * },
- * oidc?: array{
- * discovery?: array{ // Enable the OIDC discovery.
- * base_uri?: list,
- * cache?: array{
- * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
- * },
- * },
- * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
- * audience?: scalar|Param|null, // Audience set in the token, for validation purpose.
- * issuers?: list,
- * algorithm?: array,
- * algorithms?: list,
- * key?: scalar|Param|null, // Deprecated: The "key" option is deprecated and will be removed in 8.0. Use the "keyset" option instead. // JSON-encoded JWK used to sign the token (must contain a "kty" key).
- * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
- * encryption?: bool|array{
- * enabled?: bool|Param, // Default: false
- * enforce?: bool|Param, // When enabled, the token shall be encrypted. // Default: false
- * algorithms?: list,
- * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
- * },
- * },
- * cas?: array{
- * validation_url?: scalar|Param|null, // CAS server validation URL
- * prefix?: scalar|Param|null, // CAS prefix // Default: "cas"
- * http_client?: scalar|Param|null, // HTTP Client service // Default: null
- * },
- * oauth2?: scalar|Param|null,
+ * required_badges?: list,
+ * custom_authenticators?: list,
+ * login_throttling?: array{
+ * limiter?: scalar|Param|null, // A service id implementing "Symfony\Component\HttpFoundation\RateLimiter\RequestRateLimiterInterface".
+ * max_attempts?: int|Param, // Default: 5
+ * interval?: scalar|Param|null, // Default: "1 minute"
+ * lock_factory?: scalar|Param|null, // The service ID of the lock factory used by the login rate limiter (or null to disable locking). // Default: null
+ * cache_pool?: string|Param, // The cache pool to use for storing the limiter state // Default: "cache.rate_limiter"
+ * storage_service?: string|Param, // The service ID of a custom storage implementation, this precedes any configured "cache_pool" // Default: null
* },
- * },
- * http_basic?: array{
- * provider?: scalar|Param|null,
- * realm?: scalar|Param|null, // Default: "Secured Area"
- * },
- * http_basic_ldap?: array{
- * provider?: scalar|Param|null,
- * realm?: scalar|Param|null, // Default: "Secured Area"
- * service?: scalar|Param|null, // Default: "ldap"
- * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
- * query_string?: scalar|Param|null,
- * search_dn?: scalar|Param|null, // Default: ""
- * search_password?: scalar|Param|null, // Default: ""
- * },
- * remember_me?: array{
- * secret?: scalar|Param|null, // Default: "%kernel.secret%"
- * service?: scalar|Param|null,
- * user_providers?: list,
- * catch_exceptions?: bool|Param, // Default: true
- * signature_properties?: list,
- * token_provider?: string|array{
- * service?: scalar|Param|null, // The service ID of a custom remember-me token provider.
- * doctrine?: bool|array{
+ * two_factor?: array{
+ * check_path?: scalar|Param|null, // Default: "/2fa_check"
+ * post_only?: bool|Param, // Default: true
+ * auth_form_path?: scalar|Param|null, // Default: "/2fa"
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * success_handler?: scalar|Param|null, // Default: null
+ * failure_handler?: scalar|Param|null, // Default: null
+ * authentication_required_handler?: scalar|Param|null, // Default: null
+ * auth_code_parameter_name?: scalar|Param|null, // Default: "_auth_code"
+ * trusted_parameter_name?: scalar|Param|null, // Default: "_trusted"
+ * remember_me_sets_trusted?: scalar|Param|null, // Default: false
+ * multi_factor?: bool|Param, // Default: false
+ * prepare_on_login?: bool|Param, // Default: false
+ * prepare_on_access_denied?: bool|Param, // Default: false
+ * enable_csrf?: scalar|Param|null, // Default: false
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "two_factor"
+ * csrf_header?: scalar|Param|null, // Default: null
+ * csrf_token_manager?: scalar|Param|null, // Default: "scheb_two_factor.csrf_token_manager"
+ * provider?: scalar|Param|null, // Default: null
+ * },
+ * webauthn?: array{
+ * user_provider?: scalar|Param|null, // Default: null
+ * options_storage?: scalar|Param|null, // Deprecated: The child node "options_storage" at path "security.firewalls..webauthn.options_storage" is deprecated. Please use the root option "options_storage" instead. // Default: null
+ * success_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultSuccessHandler"
+ * failure_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultFailureHandler"
+ * secured_rp_ids?: array,
+ * authentication?: bool|array{
+ * enabled?: bool|Param, // Default: true
+ * profile?: scalar|Param|null, // Default: "default"
+ * options_builder?: scalar|Param|null, // Default: null
+ * routes?: array{
+ * host?: scalar|Param|null, // Default: null
+ * options_method?: scalar|Param|null, // Default: "POST"
+ * options_path?: scalar|Param|null, // Default: "/login/options"
+ * result_method?: scalar|Param|null, // Default: "POST"
+ * result_path?: scalar|Param|null, // Default: "/login"
+ * },
+ * options_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultRequestOptionsHandler"
+ * },
+ * registration?: bool|array{
* enabled?: bool|Param, // Default: false
- * connection?: scalar|Param|null, // Default: null
+ * hide_existing_credentials?: bool|Param, // Default: true
+ * profile?: scalar|Param|null, // Default: "default"
+ * options_builder?: scalar|Param|null, // Default: null
+ * routes?: array{
+ * host?: scalar|Param|null, // Default: null
+ * options_method?: scalar|Param|null, // Default: "POST"
+ * options_path?: scalar|Param|null, // Default: "/register/options"
+ * result_method?: scalar|Param|null, // Default: "POST"
+ * result_path?: scalar|Param|null, // Default: "/register"
+ * },
+ * options_handler?: scalar|Param|null, // Default: "Webauthn\\Bundle\\Security\\Handler\\DefaultCreationOptionsHandler"
* },
* },
- * token_verifier?: scalar|Param|null, // The service ID of a custom rememberme token verifier.
- * name?: scalar|Param|null, // Default: "REMEMBERME"
- * lifetime?: int|Param, // Default: 31536000
- * path?: scalar|Param|null, // Default: "/"
- * domain?: scalar|Param|null, // Default: null
- * secure?: true|false|"auto"|Param, // Default: null
- * httponly?: bool|Param, // Default: true
- * samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
- * always_remember_me?: bool|Param, // Default: false
- * remember_me_parameter?: scalar|Param|null, // Default: "_remember_me"
- * },
- * }>,
+ * x509?: array{
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN_Email"
+ * credentials?: scalar|Param|null, // Default: "SSL_CLIENT_S_DN"
+ * user_identifier?: scalar|Param|null, // Default: "emailAddress"
+ * },
+ * remote_user?: array{
+ * provider?: scalar|Param|null,
+ * user?: scalar|Param|null, // Default: "REMOTE_USER"
+ * },
+ * saml?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null, // Default: "Nbgrp\\OneloginSamlBundle\\Security\\Http\\Authentication\\SamlAuthenticationSuccessHandler"
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * identifier_attribute?: scalar|Param|null, // Default: null
+ * use_attribute_friendly_name?: bool|Param, // Default: false
+ * user_factory?: scalar|Param|null, // Default: null
+ * token_factory?: scalar|Param|null, // Default: null
+ * persist_user?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * login_link?: array{
+ * check_route?: scalar|Param|null, // Route that will validate the login link - e.g. "app_login_link_verify".
+ * check_post_only?: scalar|Param|null, // If true, only HTTP POST requests to "check_route" will be handled by the authenticator. // Default: false
+ * signature_properties?: list,
+ * lifetime?: int|Param, // The lifetime of the login link in seconds. // Default: 600
+ * max_uses?: int|Param, // Max number of times a login link can be used - null means unlimited within lifetime. // Default: null
+ * used_link_cache?: scalar|Param|null, // Cache service id used to expired links of max_uses is set.
+ * success_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface.
+ * failure_handler?: scalar|Param|null, // A service id that implements Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface.
+ * provider?: scalar|Param|null, // The user provider to load users from.
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * form_login?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
+ * enable_csrf?: bool|Param, // Default: false
+ * post_only?: bool|Param, // Default: true
+ * form_only?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * },
+ * form_login_ldap?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_parameter?: scalar|Param|null, // Default: "_username"
+ * password_parameter?: scalar|Param|null, // Default: "_password"
+ * csrf_parameter?: scalar|Param|null, // Default: "_csrf_token"
+ * csrf_token_id?: scalar|Param|null, // Default: "authenticate"
+ * enable_csrf?: bool|Param, // Default: false
+ * post_only?: bool|Param, // Default: true
+ * form_only?: bool|Param, // Default: false
+ * always_use_default_target_path?: bool|Param, // Default: false
+ * default_target_path?: scalar|Param|null, // Default: "/"
+ * target_path_parameter?: scalar|Param|null, // Default: "_target_path"
+ * use_referer?: bool|Param, // Default: false
+ * failure_path?: scalar|Param|null, // Default: null
+ * failure_forward?: bool|Param, // Default: false
+ * failure_path_parameter?: scalar|Param|null, // Default: "_failure_path"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * json_login?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * },
+ * json_login_ldap?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * check_path?: scalar|Param|null, // Default: "/login_check"
+ * use_forward?: bool|Param, // Default: false
+ * login_path?: scalar|Param|null, // Default: "/login"
+ * username_path?: scalar|Param|null, // Default: "username"
+ * password_path?: scalar|Param|null, // Default: "password"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * access_token?: array{
+ * provider?: scalar|Param|null,
+ * remember_me?: bool|Param, // Default: true
+ * success_handler?: scalar|Param|null,
+ * failure_handler?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: null
+ * token_extractors?: string|list,
+ * token_handler?: string|array{
+ * id?: scalar|Param|null,
+ * oidc_user_info?: string|array{
+ * base_uri?: scalar|Param|null, // Base URI of the userinfo endpoint on the OIDC server, or the OIDC server URI to use the discovery (require "discovery" to be configured).
+ * discovery?: array{ // Enable the OIDC discovery.
+ * cache?: array{
+ * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g. sub, email, etc.). // Default: "sub"
+ * client?: scalar|Param|null, // HttpClient service id to use to call the OIDC server.
+ * },
+ * oidc?: array{
+ * discovery?: array{ // Enable the OIDC discovery.
+ * base_uri?: string|list,
+ * cache?: array{
+ * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
+ * },
+ * },
+ * claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub"
+ * audience?: scalar|Param|null, // Audience set in the token, for validation purpose.
+ * issuers?: list,
+ * algorithm?: array,
+ * algorithms?: list,
+ * key?: scalar|Param|null, // Deprecated: The "key" option is deprecated and will be removed in 8.0. Use the "keyset" option instead. // JSON-encoded JWK used to sign the token (must contain a "kty" key).
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to sign the token (must contain a list of valid public keys).
+ * encryption?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * enforce?: bool|Param, // When enabled, the token shall be encrypted. // Default: false
+ * algorithms?: list,
+ * keyset?: scalar|Param|null, // JSON-encoded JWKSet used to decrypt the token (must contain a list of valid private keys).
+ * },
+ * },
+ * cas?: array{
+ * validation_url?: scalar|Param|null, // CAS server validation URL
+ * prefix?: scalar|Param|null, // CAS prefix // Default: "cas"
+ * http_client?: scalar|Param|null, // HTTP Client service // Default: null
+ * },
+ * oauth2?: scalar|Param|null,
+ * },
+ * },
+ * http_basic?: array{
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * },
+ * http_basic_ldap?: array{
+ * provider?: scalar|Param|null,
+ * realm?: scalar|Param|null, // Default: "Secured Area"
+ * service?: scalar|Param|null, // Default: "ldap"
+ * dn_string?: scalar|Param|null, // Default: "{user_identifier}"
+ * query_string?: scalar|Param|null,
+ * search_dn?: scalar|Param|null, // Default: ""
+ * search_password?: scalar|Param|null, // Default: ""
+ * },
+ * remember_me?: array{
+ * secret?: scalar|Param|null, // Default: "%kernel.secret%"
+ * service?: scalar|Param|null,
+ * user_providers?: string|list,
+ * catch_exceptions?: bool|Param, // Default: true
+ * signature_properties?: list,
+ * token_provider?: string|array{
+ * service?: scalar|Param|null, // The service ID of a custom remember-me token provider.
+ * doctrine?: bool|array{
+ * enabled?: bool|Param, // Default: false
+ * connection?: scalar|Param|null, // Default: null
+ * },
+ * },
+ * token_verifier?: scalar|Param|null, // The service ID of a custom rememberme token verifier.
+ * name?: scalar|Param|null, // Default: "REMEMBERME"
+ * lifetime?: int|Param, // Default: 31536000
+ * path?: scalar|Param|null, // Default: "/"
+ * domain?: scalar|Param|null, // Default: null
+ * secure?: true|false|"auto"|Param, // Default: null
+ * httponly?: bool|Param, // Default: true
+ * samesite?: null|"lax"|"strict"|"none"|Param, // Default: "lax"
+ * always_remember_me?: bool|Param, // Default: false
+ * remember_me_parameter?: scalar|Param|null, // Default: "_remember_me"
+ * },
+ * }>,
* access_control?: list,
- * attributes?: array,
- * route?: scalar|Param|null, // Default: null
- * methods?: list,
- * allow_if?: scalar|Param|null, // Default: null
- * roles?: list,
- * }>,
+ * request_matcher?: scalar|Param|null, // Default: null
+ * requires_channel?: scalar|Param|null, // Default: null
+ * path?: scalar|Param|null, // Use the urldecoded format. // Default: null
+ * host?: scalar|Param|null, // Default: null
+ * port?: int|Param, // Default: null
+ * ips?: string|list,
+ * attributes?: array,
+ * route?: scalar|Param|null, // Default: null
+ * methods?: string|list,
+ * allow_if?: scalar|Param|null, // Default: null
+ * roles?: string|list,
+ * }>,
* role_hierarchy?: array>,
* }
* @psalm-type TwigConfig = array{
* form_themes?: list,
* globals?: array,
+ * id?: scalar|Param|null,
+ * type?: scalar|Param|null,
+ * value?: mixed,
+ * }>,
* autoescape_service?: scalar|Param|null, // Default: null
* autoescape_service_method?: scalar|Param|null, // Default: null
* base_template_class?: scalar|Param|null, // Deprecated: The child node "base_template_class" at path "twig.base_template_class" is deprecated.
@@ -1351,7 +1352,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* auto_reload?: scalar|Param|null,
* optimizations?: int|Param,
* default_path?: scalar|Param|null, // The default path used to load templates. // Default: "%kernel.project_dir%/templates"
- * file_name_pattern?: list,
+ * file_name_pattern?: string|list,
* paths?: array,
* date?: array{ // The default format options used by the date filter.
* format?: scalar|Param|null, // Default: "F j, Y H:i"
@@ -1379,144 +1380,144 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* use_microseconds?: scalar|Param|null, // Default: true
* channels?: list,
* handlers?: array,
- * }>,
- * accepted_levels?: list,
- * min_level?: scalar|Param|null, // Default: "DEBUG"
- * max_level?: scalar|Param|null, // Default: "EMERGENCY"
- * buffer_size?: scalar|Param|null, // Default: 0
- * flush_on_overflow?: bool|Param, // Default: false
- * handler?: scalar|Param|null,
- * url?: scalar|Param|null,
- * exchange?: scalar|Param|null,
- * exchange_name?: scalar|Param|null, // Default: "log"
- * channel?: scalar|Param|null, // Default: null
- * bot_name?: scalar|Param|null, // Default: "Monolog"
- * use_attachment?: scalar|Param|null, // Default: true
- * use_short_attachment?: scalar|Param|null, // Default: false
- * include_extra?: scalar|Param|null, // Default: false
- * icon_emoji?: scalar|Param|null, // Default: null
- * webhook_url?: scalar|Param|null,
- * exclude_fields?: list,
- * token?: scalar|Param|null,
- * region?: scalar|Param|null,
- * source?: scalar|Param|null,
- * use_ssl?: bool|Param, // Default: true
- * user?: mixed,
- * title?: scalar|Param|null, // Default: null
- * host?: scalar|Param|null, // Default: null
- * port?: scalar|Param|null, // Default: 514
- * config?: list,
- * members?: list,
- * connection_string?: scalar|Param|null,
- * timeout?: scalar|Param|null,
- * time?: scalar|Param|null, // Default: 60
- * deduplication_level?: scalar|Param|null, // Default: 400
- * store?: scalar|Param|null, // Default: null
- * connection_timeout?: scalar|Param|null,
- * persistent?: bool|Param,
- * message_type?: scalar|Param|null, // Default: 0
- * parse_mode?: scalar|Param|null, // Default: null
- * disable_webpage_preview?: bool|Param|null, // Default: null
- * disable_notification?: bool|Param|null, // Default: null
- * split_long_messages?: bool|Param, // Default: false
- * delay_between_messages?: bool|Param, // Default: false
- * topic?: int|Param, // Default: null
- * factor?: int|Param, // Default: 1
- * tags?: list,
- * console_formatter_options?: mixed, // Default: []
- * formatter?: scalar|Param|null,
- * nested?: bool|Param, // Default: false
- * publisher?: string|array{
- * id?: scalar|Param|null,
- * hostname?: scalar|Param|null,
- * port?: scalar|Param|null, // Default: 12201
- * chunk_size?: scalar|Param|null, // Default: 1420
- * encoder?: "json"|"compressed_json"|Param,
- * },
- * mongodb?: string|array{
- * id?: scalar|Param|null, // ID of a MongoDB\Client service
- * uri?: scalar|Param|null,
- * username?: scalar|Param|null,
- * password?: scalar|Param|null,
- * database?: scalar|Param|null, // Default: "monolog"
- * collection?: scalar|Param|null, // Default: "logs"
- * },
- * elasticsearch?: string|array{
- * id?: scalar|Param|null,
- * hosts?: list,
- * host?: scalar|Param|null,
- * port?: scalar|Param|null, // Default: 9200
- * transport?: scalar|Param|null, // Default: "Http"
- * user?: scalar|Param|null, // Default: null
- * password?: scalar|Param|null, // Default: null
- * },
- * index?: scalar|Param|null, // Default: "monolog"
- * document_type?: scalar|Param|null, // Default: "logs"
- * ignore_error?: scalar|Param|null, // Default: false
- * redis?: string|array{
- * id?: scalar|Param|null,
- * host?: scalar|Param|null,
- * password?: scalar|Param|null, // Default: null
- * port?: scalar|Param|null, // Default: 6379
- * database?: scalar|Param|null, // Default: 0
- * key_name?: scalar|Param|null, // Default: "monolog_redis"
- * },
- * predis?: string|array{
- * id?: scalar|Param|null,
- * host?: scalar|Param|null,
- * },
- * from_email?: scalar|Param|null,
- * to_email?: list,
- * subject?: scalar|Param|null,
- * content_type?: scalar|Param|null, // Default: null
- * headers?: list,
- * mailer?: scalar|Param|null, // Default: null
- * email_prototype?: string|array{
- * id?: scalar|Param|null,
- * method?: scalar|Param|null, // Default: null
- * },
- * verbosity_levels?: array{
- * VERBOSITY_QUIET?: scalar|Param|null, // Default: "ERROR"
- * VERBOSITY_NORMAL?: scalar|Param|null, // Default: "WARNING"
- * VERBOSITY_VERBOSE?: scalar|Param|null, // Default: "NOTICE"
- * VERBOSITY_VERY_VERBOSE?: scalar|Param|null, // Default: "INFO"
- * VERBOSITY_DEBUG?: scalar|Param|null, // Default: "DEBUG"
- * },
- * channels?: string|array{
* type?: scalar|Param|null,
- * elements?: list,
- * },
- * }>,
+ * id?: scalar|Param|null,
+ * enabled?: bool|Param, // Default: true
+ * priority?: scalar|Param|null, // Default: 0
+ * level?: scalar|Param|null, // Default: "DEBUG"
+ * bubble?: bool|Param, // Default: true
+ * interactive_only?: bool|Param, // Default: false
+ * app_name?: scalar|Param|null, // Default: null
+ * include_stacktraces?: bool|Param, // Default: false
+ * process_psr_3_messages?: array{
+ * enabled?: bool|Param|null, // Default: null
+ * date_format?: scalar|Param|null,
+ * remove_used_context_fields?: bool|Param,
+ * },
+ * path?: scalar|Param|null, // Default: "%kernel.logs_dir%/%kernel.environment%.log"
+ * file_permission?: scalar|Param|null, // Default: null
+ * use_locking?: bool|Param, // Default: false
+ * filename_format?: scalar|Param|null, // Default: "{filename}-{date}"
+ * date_format?: scalar|Param|null, // Default: "Y-m-d"
+ * ident?: scalar|Param|null, // Default: false
+ * logopts?: scalar|Param|null, // Default: 1
+ * facility?: scalar|Param|null, // Default: "user"
+ * max_files?: scalar|Param|null, // Default: 0
+ * action_level?: scalar|Param|null, // Default: "WARNING"
+ * activation_strategy?: scalar|Param|null, // Default: null
+ * stop_buffering?: bool|Param, // Default: true
+ * passthru_level?: scalar|Param|null, // Default: null
+ * excluded_http_codes?: list,
+ * }>,
+ * accepted_levels?: list,
+ * min_level?: scalar|Param|null, // Default: "DEBUG"
+ * max_level?: scalar|Param|null, // Default: "EMERGENCY"
+ * buffer_size?: scalar|Param|null, // Default: 0
+ * flush_on_overflow?: bool|Param, // Default: false
+ * handler?: scalar|Param|null,
+ * url?: scalar|Param|null,
+ * exchange?: scalar|Param|null,
+ * exchange_name?: scalar|Param|null, // Default: "log"
+ * channel?: scalar|Param|null, // Default: null
+ * bot_name?: scalar|Param|null, // Default: "Monolog"
+ * use_attachment?: scalar|Param|null, // Default: true
+ * use_short_attachment?: scalar|Param|null, // Default: false
+ * include_extra?: scalar|Param|null, // Default: false
+ * icon_emoji?: scalar|Param|null, // Default: null
+ * webhook_url?: scalar|Param|null,
+ * exclude_fields?: list,
+ * token?: scalar|Param|null,
+ * region?: scalar|Param|null,
+ * source?: scalar|Param|null,
+ * use_ssl?: bool|Param, // Default: true
+ * user?: mixed,
+ * title?: scalar|Param|null, // Default: null
+ * host?: scalar|Param|null, // Default: null
+ * port?: scalar|Param|null, // Default: 514
+ * config?: list,
+ * members?: list,
+ * connection_string?: scalar|Param|null,
+ * timeout?: scalar|Param|null,
+ * time?: scalar|Param|null, // Default: 60
+ * deduplication_level?: scalar|Param|null, // Default: 400
+ * store?: scalar|Param|null, // Default: null
+ * connection_timeout?: scalar|Param|null,
+ * persistent?: bool|Param,
+ * message_type?: scalar|Param|null, // Default: 0
+ * parse_mode?: scalar|Param|null, // Default: null
+ * disable_webpage_preview?: bool|Param|null, // Default: null
+ * disable_notification?: bool|Param|null, // Default: null
+ * split_long_messages?: bool|Param, // Default: false
+ * delay_between_messages?: bool|Param, // Default: false
+ * topic?: int|Param, // Default: null
+ * factor?: int|Param, // Default: 1
+ * tags?: string|list,
+ * console_formatter_options?: mixed, // Default: []
+ * formatter?: scalar|Param|null,
+ * nested?: bool|Param, // Default: false
+ * publisher?: string|array{
+ * id?: scalar|Param|null,
+ * hostname?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 12201
+ * chunk_size?: scalar|Param|null, // Default: 1420
+ * encoder?: "json"|"compressed_json"|Param,
+ * },
+ * mongodb?: string|array{
+ * id?: scalar|Param|null, // ID of a MongoDB\Client service
+ * uri?: scalar|Param|null,
+ * username?: scalar|Param|null,
+ * password?: scalar|Param|null,
+ * database?: scalar|Param|null, // Default: "monolog"
+ * collection?: scalar|Param|null, // Default: "logs"
+ * },
+ * elasticsearch?: string|array{
+ * id?: scalar|Param|null,
+ * hosts?: list,
+ * host?: scalar|Param|null,
+ * port?: scalar|Param|null, // Default: 9200
+ * transport?: scalar|Param|null, // Default: "Http"
+ * user?: scalar|Param|null, // Default: null
+ * password?: scalar|Param|null, // Default: null
+ * },
+ * index?: scalar|Param|null, // Default: "monolog"
+ * document_type?: scalar|Param|null, // Default: "logs"
+ * ignore_error?: scalar|Param|null, // Default: false
+ * redis?: string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * password?: scalar|Param|null, // Default: null
+ * port?: scalar|Param|null, // Default: 6379
+ * database?: scalar|Param|null, // Default: 0
+ * key_name?: scalar|Param|null, // Default: "monolog_redis"
+ * },
+ * predis?: string|array{
+ * id?: scalar|Param|null,
+ * host?: scalar|Param|null,
+ * },
+ * from_email?: scalar|Param|null,
+ * to_email?: string|list,
+ * subject?: scalar|Param|null,
+ * content_type?: scalar|Param|null, // Default: null
+ * headers?: list,
+ * mailer?: scalar|Param|null, // Default: null
+ * email_prototype?: string|array{
+ * id?: scalar|Param|null,
+ * method?: scalar|Param|null, // Default: null
+ * },
+ * verbosity_levels?: array{
+ * VERBOSITY_QUIET?: scalar|Param|null, // Default: "ERROR"
+ * VERBOSITY_NORMAL?: scalar|Param|null, // Default: "WARNING"
+ * VERBOSITY_VERBOSE?: scalar|Param|null, // Default: "NOTICE"
+ * VERBOSITY_VERY_VERBOSE?: scalar|Param|null, // Default: "INFO"
+ * VERBOSITY_DEBUG?: scalar|Param|null, // Default: "DEBUG"
+ * },
+ * channels?: string|array{
+ * type?: scalar|Param|null,
+ * elements?: list,
+ * },
+ * }>,
* }
* @psalm-type DebugConfig = array{
* max_items?: int|Param, // Max number of displayed items past the first level, -1 means no limit. // Default: 2500
@@ -1550,58 +1551,58 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* template_parameters?: array{ // Default parameters to be passed to the template
* className?: scalar|Param|null, // Default class attribute to apply to the root table elements // Default: "table table-bordered"
* columnFilter?: "thead"|"tfoot"|"both"|Param|null, // If and where to enable the DataTables Filter module // Default: null
- * ...
+ * ...
* },
* translation_domain?: scalar|Param|null, // Default translation domain to be used // Default: "messages"
* }
* @psalm-type LiipImagineConfig = array{
* resolvers?: array,
- * get_options?: array,
- * put_options?: array,
- * proxies?: array,
- * },
- * flysystem?: array{
- * filesystem_service?: scalar|Param|null,
- * cache_prefix?: scalar|Param|null, // Default: ""
- * root_url?: scalar|Param|null,
- * visibility?: "public"|"private"|"noPredefinedVisibility"|Param, // Default: "public"
- * },
- * }>,
- * loaders?: array,
- * allow_unresolvable_data_roots?: bool|Param, // Default: false
- * bundle_resources?: array{
- * enabled?: bool|Param, // Default: false
- * access_control_type?: "blacklist"|"whitelist"|Param, // Sets the access control method applied to bundle names in "access_control_list" into a blacklist or whitelist. // Default: "blacklist"
- * access_control_list?: list,
+ * web_path?: array{
+ * web_root?: scalar|Param|null, // Default: "%kernel.project_dir%/public"
+ * cache_prefix?: scalar|Param|null, // Default: "media/cache"
* },
- * },
- * flysystem?: array{
- * filesystem_service?: scalar|Param|null,
- * },
- * asset_mapper?: array,
- * chain?: array{
- * loaders?: list,
- * },
- * }>,
+ * aws_s3?: array{
+ * bucket?: scalar|Param|null,
+ * cache?: scalar|Param|null, // Default: false
+ * use_psr_cache?: bool|Param, // Default: false
+ * acl?: scalar|Param|null, // Default: "public-read"
+ * cache_prefix?: scalar|Param|null, // Default: ""
+ * client_id?: scalar|Param|null, // Default: null
+ * client_config?: list,
+ * get_options?: array,
+ * put_options?: array,
+ * proxies?: array,
+ * },
+ * flysystem?: array{
+ * filesystem_service?: scalar|Param|null,
+ * cache_prefix?: scalar|Param|null, // Default: ""
+ * root_url?: scalar|Param|null,
+ * visibility?: "public"|"private"|"noPredefinedVisibility"|Param, // Default: "public"
+ * },
+ * }>,
+ * loaders?: array,
+ * allow_unresolvable_data_roots?: bool|Param, // Default: false
+ * bundle_resources?: array{
+ * enabled?: bool|Param, // Default: false
+ * access_control_type?: "blacklist"|"whitelist"|Param, // Sets the access control method applied to bundle names in "access_control_list" into a blacklist or whitelist. // Default: "blacklist"
+ * access_control_list?: list,
+ * },
+ * },
+ * flysystem?: array{
+ * filesystem_service?: scalar|Param|null,
+ * },
+ * asset_mapper?: array,
+ * chain?: array{
+ * loaders?: list,
+ * },
+ * }>,
* driver?: scalar|Param|null, // Default: "gd"
* cache?: scalar|Param|null, // Default: "default"
* cache_base_path?: scalar|Param|null, // Default: ""
@@ -1626,18 +1627,18 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* redirect_response_code?: int|Param, // Default: 302
* },
* filter_sets?: array>,
- * post_processors?: array>,
- * }>,
+ * quality?: scalar|Param|null,
+ * jpeg_quality?: scalar|Param|null,
+ * png_compression_level?: scalar|Param|null,
+ * png_compression_filter?: scalar|Param|null,
+ * format?: scalar|Param|null,
+ * animated?: bool|Param,
+ * cache?: scalar|Param|null,
+ * data_loader?: scalar|Param|null,
+ * default_image?: scalar|Param|null,
+ * filters?: array>,
+ * post_processors?: array>,
+ * }>,
* twig?: array{
* mode?: "none"|"lazy"|"legacy"|Param, // Twig mode: none/lazy/legacy (default) // Default: "legacy"
* assets_version?: scalar|Param|null, // Default: null
@@ -1705,14 +1706,14 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* use_underscore?: bool|Param, // Default: true
* unordered_list_markers?: list,
* },
- * ...
+ * ...
* },
* }
* @psalm-type GregwarCaptchaConfig = array{
* length?: scalar|Param|null, // Default: 5
* width?: scalar|Param|null, // Default: 130
* height?: scalar|Param|null, // Default: 50
- * font?: scalar|Param|null, // Default: "C:\\Users\\mail\\Documents\\PHP\\Part-DB-server\\vendor\\gregwar\\captcha-bundle\\DependencyInjection/../Generator/Font/captcha.ttf"
+ * font?: scalar|Param|null, // Default: "/home/jan/php/Part-DB-server/vendor/gregwar/captcha-bundle/DependencyInjection/../Generator/Font/captcha.ttf"
* keep_value?: scalar|Param|null, // Default: false
* charset?: scalar|Param|null, // Default: "abcdefhjkmnprstuvwxyz23456789"
* as_file?: scalar|Param|null, // Default: false
@@ -1852,8 +1853,8 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* clickjacking?: array{
* hosts?: list,
* paths?: array,
+ * header?: scalar|Param|null, // Default: "DENY"
+ * }>,
* content_types?: list,
* },
* external_redirects?: array{
@@ -1930,7 +1931,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* script-src?: list,
* style-src?: list,
* upgrade-insecure-requests?: bool|Param, // Default: false
- * report-uri?: list,
+ * report-uri?: string|list,
* worker-src?: list,
* prefetch-src?: list,
* report-to?: scalar|Param|null,
@@ -1958,7 +1959,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* script-src?: list,
* style-src?: list,
* upgrade-insecure-requests?: bool|Param, // Default: false
- * report-uri?: list,
+ * report-uri?: string|list