Skip to content

Commit fa604a3

Browse files
Merge branch '6.2' into 6.3
* 6.2: [Serializer] Fix serializedpath for non scalar types [Serializer] Preserve array keys while denormalize variadic parameters [FrameworkBundle] enable metadata cache when annotation is disabled [DependencyInjection] Fix setting the class of auto-discovery services [FrameworkBundle] Fix auto-discovering validator constraints TranslatorBag::diff now iterates over catalogue domains instead of operation domains [HttpClient] Fix not calling the on progress callback when canceling a MockResponse [TwigBridge] Fix raw content rendering in HTML notification emails
2 parents 44b453d + f95bc45 commit fa604a3

File tree

8 files changed

+69
-21
lines changed

8 files changed

+69
-21
lines changed

Command/DebugAutowiringCommand.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ protected function execute(InputInterface $input, OutputInterface $output): int
9898
$previousId = '-';
9999
$serviceIdsNb = 0;
100100
foreach ($serviceIds as $serviceId) {
101+
if ($builder->hasDefinition($serviceId) && $builder->getDefinition($serviceId)->hasTag('container.excluded')) {
102+
continue;
103+
}
101104
$text = [];
102105
$resolvedServiceId = $serviceId;
103106
if (!str_starts_with($serviceId, $previousId)) {

DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1810,9 +1810,6 @@ private function registerSecurityCsrfConfiguration(array $config, ContainerBuild
18101810
private function registerSerializerConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader): void
18111811
{
18121812
$loader->load('serializer.php');
1813-
if ($container->getParameter('kernel.debug')) {
1814-
$container->removeDefinition('serializer.mapping.cache_class_metadata_factory');
1815-
}
18161813

18171814
$chainLoader = $container->getDefinition('serializer.mapping.chain_loader');
18181815

@@ -1835,6 +1832,10 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
18351832

18361833
$serializerLoaders = [];
18371834
if (isset($config['enable_annotations']) && $config['enable_annotations']) {
1835+
if ($container->getParameter('kernel.debug')) {
1836+
$container->removeDefinition('serializer.mapping.cache_class_metadata_factory');
1837+
}
1838+
18381839
$annotationLoader = new Definition(
18391840
AnnotationLoader::class,
18401841
[new Reference('annotation_reader', ContainerInterface::NULL_ON_INVALID_REFERENCE)]

Resources/config/validator.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
$container->parameters()
3030
->set('validator.mapping.cache.file', param('kernel.cache_dir').'/validation.php');
3131

32+
$validatorsDir = \dirname((new \ReflectionClass(EmailValidator::class))->getFileName());
33+
3234
$container->services()
3335
->set('validator', ValidatorInterface::class)
3436
->factory([service('validator.builder'), 'getValidator'])
@@ -66,11 +68,15 @@
6668
abstract_arg('Constraint validators locator'),
6769
])
6870

71+
->load('Symfony\Component\Validator\Constraints\\', $validatorsDir.'/*Validator.php')
72+
->exclude($validatorsDir.'/ExpressionLanguageSyntaxValidator.php')
73+
->abstract()
74+
->tag('container.excluded')
75+
->tag('validator.constraint_validator')
76+
6977
->set('validator.expression', ExpressionValidator::class)
7078
->args([service('validator.expression_language')->nullOnInvalid()])
71-
->tag('validator.constraint_validator', [
72-
'alias' => 'validator.expression',
73-
])
79+
->tag('validator.constraint_validator')
7480

7581
->set('validator.expression_language', ExpressionLanguage::class)
7682
->args([service('cache.validator_expression_language')->nullOnInvalid()])
@@ -83,25 +89,19 @@
8389
->args([
8490
abstract_arg('Default mode'),
8591
])
86-
->tag('validator.constraint_validator', [
87-
'alias' => EmailValidator::class,
88-
])
92+
->tag('validator.constraint_validator')
8993

9094
->set('validator.not_compromised_password', NotCompromisedPasswordValidator::class)
9195
->args([
9296
service('http_client')->nullOnInvalid(),
9397
param('kernel.charset'),
9498
false,
9599
])
96-
->tag('validator.constraint_validator', [
97-
'alias' => NotCompromisedPasswordValidator::class,
98-
])
100+
->tag('validator.constraint_validator')
99101

100102
->set('validator.when', WhenValidator::class)
101103
->args([service('validator.expression_language')->nullOnInvalid()])
102-
->tag('validator.constraint_validator', [
103-
'alias' => WhenValidator::class,
104-
])
104+
->tag('validator.constraint_validator')
105105

106106
->set('validator.no_suspicious_characters', NoSuspiciousCharactersValidator::class)
107107
->args([param('kernel.enabled_locales')])
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework', [
4+
'serializer' => [
5+
'enable_annotations' => false,
6+
'mapping' => [
7+
'paths' => [
8+
'%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/files',
9+
'%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yml',
10+
'%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yaml',
11+
],
12+
],
13+
],
14+
]);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" ?>
2+
3+
<container xmlns="http://symfony.com/schema/dic/services"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xmlns:framework="http://symfony.com/schema/dic/symfony">
6+
7+
<framework:config>
8+
<framework:serializer enable-annotations="false">
9+
<framework:mapping>
10+
<framework:path>%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/files</framework:path>
11+
<framework:path>%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yml</framework:path>
12+
<framework:path>%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yaml</framework:path>
13+
</framework:mapping>
14+
</framework:serializer>
15+
</framework:config>
16+
</container>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
framework:
2+
serializer:
3+
enable_annotations: false
4+
mapping:
5+
paths:
6+
- "%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/files"
7+
- "%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yml"
8+
- "%kernel.project_dir%/Fixtures/TestBundle/Resources/config/serializer_mapping/serialization.yaml"

Tests/DependencyInjection/FrameworkExtensionTestCase.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,9 +1567,15 @@ public function testSerializerCacheActivated()
15671567
$this->assertEquals(new Reference('serializer.mapping.cache.symfony'), $cache);
15681568
}
15691569

1570-
public function testSerializerCacheNotActivatedDebug()
1570+
public function testSerializerCacheUsedWithoutAnnotationsAndMappingFiles()
15711571
{
1572-
$container = $this->createContainerFromFile('serializer_enabled', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]);
1572+
$container = $this->createContainerFromFile('serializer_mapping_without_annotations', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]);
1573+
$this->assertTrue($container->hasDefinition('serializer.mapping.cache_class_metadata_factory'));
1574+
}
1575+
1576+
public function testSerializerCacheNotActivatedWithAnnotations()
1577+
{
1578+
$container = $this->createContainerFromFile('serializer_mapping', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]);
15731579
$this->assertFalse($container->hasDefinition('serializer.mapping.cache_class_metadata_factory'));
15741580
}
15751581

composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"ext-xml": "*",
2222
"symfony/cache": "^5.4|^6.0",
2323
"symfony/config": "^6.1",
24-
"symfony/dependency-injection": "^6.2",
24+
"symfony/dependency-injection": "^6.2.8",
2525
"symfony/deprecation-contracts": "^2.5|^3",
2626
"symfony/error-handler": "^6.1",
2727
"symfony/event-dispatcher": "^5.4|^6.0",
@@ -60,7 +60,7 @@
6060
"symfony/serializer": "^6.1",
6161
"symfony/stopwatch": "^5.4|^6.0",
6262
"symfony/string": "^5.4|^6.0",
63-
"symfony/translation": "^5.4|^6.0",
63+
"symfony/translation": "^6.2.8",
6464
"symfony/twig-bundle": "^5.4|^6.0",
6565
"symfony/validator": "^6.3",
6666
"symfony/workflow": "^5.4|^6.0",
@@ -94,10 +94,10 @@
9494
"symfony/security-csrf": "<5.4",
9595
"symfony/security-core": "<5.4",
9696
"symfony/stopwatch": "<5.4",
97-
"symfony/translation": "<5.4",
97+
"symfony/translation": "<6.2.8",
9898
"symfony/twig-bridge": "<5.4",
9999
"symfony/twig-bundle": "<5.4",
100-
"symfony/validator": "<5.4",
100+
"symfony/validator": "<6.3",
101101
"symfony/web-profiler-bundle": "<5.4",
102102
"symfony/workflow": "<5.4"
103103
},

0 commit comments

Comments
 (0)