Symfony 8.1 (#131)

This commit is contained in:
2026-05-30 20:46:23 +02:00
committed by GitHub
parent bd387828ba
commit dc592ab54a
6 changed files with 537 additions and 394 deletions
+2
View File
@@ -4,6 +4,7 @@
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Tvdt\" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="Tvdt\" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tvdt\Tests\" /> <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tvdt\Tests\" />
<sourceFolder url="file://$MODULE_DIR$/vendor/maennchen/zipstream-php/test" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/vendor/clue/ndjson-react" /> <excludeFolder url="file://$MODULE_DIR$/vendor/clue/ndjson-react" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" /> <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/collections" /> <excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/collections" />
@@ -167,6 +168,7 @@
<excludeFolder url="file://$MODULE_DIR$/vendor/stof/doctrine-extensions-bundle" /> <excludeFolder url="file://$MODULE_DIR$/vendor/stof/doctrine-extensions-bundle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/git-state" /> <excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/git-state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ergebnis/agent-detector" /> <excludeFolder url="file://$MODULE_DIR$/vendor/ergebnis/agent-detector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-deepclone" />
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
Generated
+1
View File
@@ -204,6 +204,7 @@
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php85" /> <path value="$PROJECT_DIR$/vendor/symfony/polyfill-php85" />
<path value="$PROJECT_DIR$/vendor/sebastian/git-state" /> <path value="$PROJECT_DIR$/vendor/sebastian/git-state" />
<path value="$PROJECT_DIR$/vendor/ergebnis/agent-detector" /> <path value="$PROJECT_DIR$/vendor/ergebnis/agent-detector" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-deepclone" />
</include_path> </include_path>
</component> </component>
<component name="PhpInterpreters"> <component name="PhpInterpreters">
+4 -1
View File
@@ -3,7 +3,10 @@
"@symfony/ux-turbo": { "@symfony/ux-turbo": {
"turbo-core": { "turbo-core": {
"enabled": false, "enabled": false,
"fetch": "eager" "fetch": "eager",
"autoimport": {
"@symfony/ux-turbo/dist/mercure_stream_source_element.js": true
}
}, },
"mercure-turbo-stream": { "mercure-turbo-stream": {
"enabled": false, "enabled": false,
+26 -26
View File
@@ -19,27 +19,27 @@
"phpstan/phpdoc-parser": "^2.3.2", "phpstan/phpdoc-parser": "^2.3.2",
"sentry/sentry-symfony": "^5.9.0", "sentry/sentry-symfony": "^5.9.0",
"stof/doctrine-extensions-bundle": "^1.15.3", "stof/doctrine-extensions-bundle": "^1.15.3",
"symfony/asset": "8.0.*", "symfony/asset": "8.1.*",
"symfony/asset-mapper": "8.0.*", "symfony/asset-mapper": "8.1.*",
"symfony/brevo-mailer": "8.0.*", "symfony/brevo-mailer": "8.1.*",
"symfony/console": "8.0.*", "symfony/console": "8.1.*",
"symfony/dotenv": "8.0.*", "symfony/dotenv": "8.1.*",
"symfony/flex": "^2.10.0", "symfony/flex": "^2.10.0",
"symfony/form": "8.0.*", "symfony/form": "8.1.*",
"symfony/framework-bundle": "8.0.*", "symfony/framework-bundle": "8.1.*",
"symfony/mailer": "8.0.*", "symfony/mailer": "8.1.*",
"symfony/property-access": "8.0.*", "symfony/property-access": "8.1.*",
"symfony/property-info": "8.0.*", "symfony/property-info": "8.1.*",
"symfony/runtime": "8.0.*", "symfony/runtime": "8.1.*",
"symfony/security-bundle": "8.0.*", "symfony/security-bundle": "8.1.*",
"symfony/security-csrf": "8.0.*", "symfony/security-csrf": "8.1.*",
"symfony/serializer": "8.0.*", "symfony/serializer": "8.1.*",
"symfony/translation": "8.0.*", "symfony/translation": "8.1.*",
"symfony/twig-bundle": "8.0.*", "symfony/twig-bundle": "8.1.*",
"symfony/uid": "8.0.*", "symfony/uid": "8.1.*",
"symfony/ux-turbo": "^3", "symfony/ux-turbo": "^3.1",
"symfony/validator": "8.0.*", "symfony/validator": "8.1.*",
"symfony/yaml": "8.0.*", "symfony/yaml": "8.1.*",
"symfonycasts/sass-bundle": "^0.10", "symfonycasts/sass-bundle": "^0.10",
"symfonycasts/verify-email-bundle": "^1.18.0", "symfonycasts/verify-email-bundle": "^1.18.0",
"thecodingmachine/safe": "^3.4.0", "thecodingmachine/safe": "^3.4.0",
@@ -58,12 +58,12 @@
"phpstan/phpstan-symfony": "^2.0.15", "phpstan/phpstan-symfony": "^2.0.15",
"phpunit/phpunit": "^13.0.5", "phpunit/phpunit": "^13.0.5",
"rector/rector": "^2.3.9", "rector/rector": "^2.3.9",
"symfony/browser-kit": "8.0.*", "symfony/browser-kit": "8.1.*",
"symfony/css-selector": "8.0.*", "symfony/css-selector": "8.1.*",
"symfony/maker-bundle": "^1.67.0", "symfony/maker-bundle": "^1.67.0",
"symfony/phpunit-bridge": "8.0.*", "symfony/phpunit-bridge": "8.1.*",
"symfony/stopwatch": "8.0.*", "symfony/stopwatch": "8.1.*",
"symfony/web-profiler-bundle": "8.0.*", "symfony/web-profiler-bundle": "8.1.*",
"thecodingmachine/phpstan-safe-rule": "^1.4.3", "thecodingmachine/phpstan-safe-rule": "^1.4.3",
"vincentlanglet/twig-cs-fixer": "^3.14.0" "vincentlanglet/twig-cs-fixer": "^3.14.0"
}, },
@@ -120,7 +120,7 @@
"extra": { "extra": {
"symfony": { "symfony": {
"allow-contrib": false, "allow-contrib": false,
"require": "8.0.*", "require": "8.1.*",
"docker": true "docker": true
} }
} }
Generated
+475 -357
View File
File diff suppressed because it is too large Load Diff
+29 -10
View File
@@ -78,6 +78,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* tags?: TagsType, * tags?: TagsType,
* resource_tags?: TagsType, * resource_tags?: TagsType,
* decorates?: string, * decorates?: string,
* decorates_tag?: string,
* decoration_inner_name?: string, * decoration_inner_name?: string,
* decoration_priority?: int, * decoration_priority?: int,
* decoration_on_invalid?: 'exception'|'ignore'|null, * decoration_on_invalid?: 'exception'|'ignore'|null,
@@ -118,6 +119,11 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* stack: list<DefinitionType|AliasType|PrototypeType|array<class-string, ArgumentsType|null>>, * stack: list<DefinitionType|AliasType|PrototypeType|array<class-string, ArgumentsType|null>>,
* public?: bool, * public?: bool,
* deprecated?: DeprecationType, * deprecated?: DeprecationType,
* decorates?: string,
* decorates_tag?: string,
* decoration_inner_name?: string,
* decoration_priority?: int,
* decoration_on_invalid?: 'exception'|'ignore'|null,
* } * }
* @psalm-type ServicesConfig = array{ * @psalm-type ServicesConfig = array{
* _defaults?: DefaultsType, * _defaults?: DefaultsType,
@@ -168,7 +174,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* allow_revalidate?: bool|Param, * allow_revalidate?: bool|Param,
* stale_while_revalidate?: int|Param, * stale_while_revalidate?: int|Param,
* stale_if_error?: int|Param, * stale_if_error?: int|Param,
* terminate_on_cache_hit?: bool|Param, * terminate_on_cache_hit?: bool|Param, // Deprecated: Setting the "framework.http_cache.terminate_on_cache_hit.terminate_on_cache_hit" configuration option is deprecated. It will be removed in version 9.0.
* }, * },
* esi?: bool|array{ // ESI configuration * esi?: bool|array{ // ESI configuration
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
@@ -188,7 +194,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* only_exceptions?: bool|Param, // Default: false * only_exceptions?: bool|Param, // Default: false
* only_main_requests?: bool|Param, // Default: false * only_main_requests?: bool|Param, // Default: false
* dsn?: scalar|Param|null, // Default: "file:%kernel.cache_dir%/profiler" * dsn?: scalar|Param|null, // Default: "file:%kernel.cache_dir%/profiler"
* collect_serializer_data?: true|Param, // Default: true * collect_serializer_data?: true|Param, // Deprecated: Setting the "framework.profiler.collect_serializer_data.collect_serializer_data" configuration option is deprecated. It will be removed in version 9.0. // Default: true
* }, * },
* workflows?: bool|array{ * workflows?: bool|array{
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
@@ -340,6 +346,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* endpoint?: scalar|Param|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null * endpoint?: scalar|Param|null, // API endpoint for the NotCompromisedPassword Validator. // Default: null
* }, * },
* disable_translation?: bool|Param, // Default: false * disable_translation?: bool|Param, // Default: false
* property_metadata_existence_check?: bool|Param, // When enabled, validateProperty() and validatePropertyValue() throw an exception if no metadata is found for the given property. // Default: false
* auto_mapping?: array<string, array{ // Default: [] * auto_mapping?: array<string, array{ // Default: []
* services?: list<scalar|Param|null>, * services?: list<scalar|Param|null>,
* }>, * }>,
@@ -396,6 +403,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter. * provider?: scalar|Param|null, // Overwrite the setting from the default provider for this adapter.
* early_expiration_message_bus?: scalar|Param|null, * early_expiration_message_bus?: scalar|Param|null,
* clearer?: scalar|Param|null, * clearer?: scalar|Param|null,
* marshaller?: scalar|Param|null, // The marshaller service to use for this pool.
* }>, * }>,
* }, * },
* php_errors?: array{ // PHP errors handling configuration * php_errors?: array{ // PHP errors handling configuration
@@ -420,9 +428,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* }, * },
* messenger?: bool|array{ // Messenger configuration * messenger?: bool|array{ // Messenger configuration
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
* routing?: array<string, string|array{ // Default: [] * routing?: array<string, string|list<scalar|Param|null>>,
* senders?: list<scalar|Param|null>,
* }>,
* serializer?: array{ * serializer?: array{
* default_serializer?: scalar|Param|null, // Service id to use as the default serializer for the transports. // Default: "messenger.transport.native_php_serializer" * 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{ * symfony_serializer?: array{
@@ -498,7 +504,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
* cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client" * 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 * 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 * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. // Default: 86400
* }, * },
* retry_failed?: bool|array{ * retry_failed?: bool|array{
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
@@ -514,7 +520,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1 * jitter?: float|Param, // Randomness in percent (between 0 and 1) to apply to the delay. // Default: 0.1
* }, * },
* }, * },
* mock_response_factory?: scalar|Param|null, // The id of the service that should generate mock responses. It should be either an invokable or an iterable. * mock_response_factory?: scalar|Param|null, // `true` to always return empty 200 responses, or the id of the service to use to generate mock responses - which should be either an invokable or an iterable.
* scoped_clients?: array<string, string|array{ // Default: [] * scoped_clients?: array<string, string|array{ // Default: []
* 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. * 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. * base_uri?: scalar|Param|null, // The URI to resolve relative URLs, following rules in RFC 3985, section 2.
@@ -545,13 +551,14 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* md5?: 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. * crypto_method?: scalar|Param|null, // The minimum version of TLS to accept; must be one of STREAM_CRYPTO_METHOD_TLSv*_CLIENT constants.
* mock_response_factory?: scalar|Param|null, // `true` to always return empty 200 responses, `false` to disable mocking, or the id of the service to use to generate mock responses (invokable or iterable).
* extra?: array<string, mixed>, * extra?: array<string, mixed>,
* rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null * rate_limiter?: scalar|Param|null, // Rate limiter name to use for throttling requests. // Default: null
* caching?: bool|array{ // Caching configuration. * caching?: bool|array{ // Caching configuration.
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
* cache_pool?: string|Param, // The taggable cache pool to use for storing the responses. // Default: "cache.http_client" * 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 * 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 * max_ttl?: int|Param, // The maximum TTL (in seconds) allowed for cached responses. // Default: 86400
* }, * },
* retry_failed?: bool|array{ * retry_failed?: bool|array{
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
@@ -635,6 +642,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* 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). * 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 * amount?: int|Param, // Amount of tokens to add each interval. // Default: 1
* }, * },
* anchor_at?: scalar|Param|null, // Aligns the "fixed_window" policy to a calendar (e.g. "2024-01-05 00:00:00 UTC" combined with `interval: 1 month` resets the counter on the 5th of each month). UTC if not specified. // Default: null
* }>, * }>,
* }, * },
* uid?: bool|array{ // Uid configuration * uid?: bool|array{ // Uid configuration
@@ -644,10 +652,12 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* name_based_uuid_namespace?: scalar|Param|null, * name_based_uuid_namespace?: scalar|Param|null,
* time_based_uuid_version?: 7|6|1|Param, // Default: 7 * time_based_uuid_version?: 7|6|1|Param, // Default: 7
* time_based_uuid_node?: scalar|Param|null, * time_based_uuid_node?: scalar|Param|null,
* uuid47_secret?: scalar|Param|null, // A high-entropy secret used by the "uuid47_transformer" service. Defaults to "kernel.secret". // Default: null
* }, * },
* html_sanitizer?: bool|array{ // HtmlSanitizer configuration * html_sanitizer?: bool|array{ // HtmlSanitizer configuration
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
* sanitizers?: array<string, array{ // Default: [] * sanitizers?: array<string, array{ // Default: []
* default_action?: "drop"|"block"|"allow"|Param, // Defines how the sanitizer must behave by default.
* allow_safe_elements?: bool|Param, // Allows "safe" elements and attributes. // Default: false * 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_static_elements?: bool|Param, // Allows all static elements and attributes from the W3C Sanitizer API standard. // Default: false
* allow_elements?: array<string, mixed>, * allow_elements?: array<string, mixed>,
@@ -671,6 +681,10 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* webhook?: bool|array{ // Webhook configuration * webhook?: bool|array{ // Webhook configuration
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
* message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus" * message_bus?: scalar|Param|null, // The message bus to use. // Default: "messenger.default_bus"
* event_header_name?: scalar|Param|null, // Default: "Webhook-Event"
* id_header_name?: scalar|Param|null, // Default: "Webhook-Id"
* signature_header_name?: scalar|Param|null, // Default: "Webhook-Signature"
* signing_algorithm?: scalar|Param|null, // Default: "sha256"
* routing?: array<string, array{ // Default: [] * routing?: array<string, array{ // Default: []
* service?: scalar|Param|null, * service?: scalar|Param|null,
* secret?: scalar|Param|null, // Default: "" * secret?: scalar|Param|null, // Default: ""
@@ -681,6 +695,10 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* }, * },
* json_streamer?: bool|array{ // JSON streamer configuration * json_streamer?: bool|array{ // JSON streamer configuration
* enabled?: bool|Param, // Default: false * enabled?: bool|Param, // Default: false
* default_options?: array{
* include_null_properties?: bool|Param, // Encode the properties with null value // Default: false
* ...<string, mixed>
* },
* }, * },
* } * }
* @psalm-type DoctrineConfig = array{ * @psalm-type DoctrineConfig = array{
@@ -932,7 +950,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* access_denied_url?: scalar|Param|null, // Default: null * access_denied_url?: scalar|Param|null, // Default: null
* session_fixation_strategy?: "none"|"migrate"|"invalidate"|Param, // Default: "migrate" * session_fixation_strategy?: "none"|"migrate"|"invalidate"|Param, // Default: "migrate"
* expose_security_errors?: \Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::None|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::AccountStatus|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::All|Param, // Default: "none" * expose_security_errors?: \Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::None|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::AccountStatus|\Symfony\Component\Security\Http\Authentication\ExposeSecurityLevel::All|Param, // Default: "none"
* erase_credentials?: bool|Param, // Default: true * erase_credentials?: bool|Param, // Deprecated: Setting the "security.erase_credentials.erase_credentials" configuration option is deprecated. It will be removed in Symfony 9.0, as the "eraseCredentials()" method was removed in Symfony 8.0. // Default: true
* access_decision_manager?: array{ * access_decision_manager?: array{
* strategy?: "affirmative"|"consensus"|"unanimous"|"priority"|Param, * strategy?: "affirmative"|"consensus"|"unanimous"|"priority"|Param,
* service?: scalar|Param|null, * service?: scalar|Param|null,
@@ -1004,7 +1022,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* path?: scalar|Param|null, // Default: "/logout" * path?: scalar|Param|null, // Default: "/logout"
* target?: scalar|Param|null, // Default: "/" * target?: scalar|Param|null, // Default: "/"
* invalidate_session?: bool|Param, // Default: true * invalidate_session?: bool|Param, // Default: true
* clear_site_data?: string|list<"*"|"cache"|"cookies"|"storage"|"executionContexts"|Param>, * clear_site_data?: string|list<"*"|"cache"|"cookies"|"storage"|"clientHints"|"executionContexts"|"prefetchCache"|"prerenderCache"|Param>,
* delete_cookies?: string|array<string, array{ // Default: [] * delete_cookies?: string|array<string, array{ // Default: []
* path?: scalar|Param|null, // Default: null * path?: scalar|Param|null, // Default: null
* domain?: scalar|Param|null, // Default: null * domain?: scalar|Param|null, // Default: null
@@ -1162,6 +1180,7 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param;
* cache?: array{ * cache?: array{
* id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration. * id?: scalar|Param|null, // Cache service id to use to cache the OIDC discovery configuration.
* }, * },
* enforce_key_usage_verification?: bool|Param, // When enabled (default), only keys explicitly designated for signature (via "use":"sig" or a "key_ops" entry containing "sign"/"verify") are accepted. When disabled, keys without any usage designation are also accepted; keys explicitly restricted to encryption are still rejected. // Default: true
* }, * },
* claim?: scalar|Param|null, // Claim which contains the user identifier (e.g.: sub, email..). // Default: "sub" * 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. * audience?: scalar|Param|null, // Audience set in the token, for validation purpose.