Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit faa10b6

Browse filesBrowse files
committed
Merge branch '7.1' of https://github.com/symfony/symfony into fix-map-uploaded-file-in-request-payload-resolver2
2 parents cd2bcd2 + 3c7124e commit faa10b6
Copy full SHA for faa10b6

File tree

505 files changed

+5492
-1899
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner

505 files changed

+5492
-1899
lines changed

‎.github/PULL_REQUEST_TEMPLATE.md

Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
| Q | A
22
| ------------- | ---
3-
| Branch? | 7.2 for features / 5.4, 6.4, 7.0, and 7.1 for bug fixes <!-- see below -->
3+
| Branch? | 7.2 for features / 5.4, 6.4, and 7.1 for bug fixes <!-- see below -->
44
| Bug fix? | yes/no
55
| New feature? | yes/no <!-- please update src/**/CHANGELOG.md files -->
66
| Deprecations? | yes/no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->

‎.github/expected-missing-return-types.diff

Copy file name to clipboardExpand all lines: .github/expected-missing-return-types.diff
+45-28
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ diff --git a/src/Symfony/Component/BrowserKit/AbstractBrowser.php b/src/Symfony/
2222
*/
2323
- abstract protected function doRequest(object $request);
2424
+ abstract protected function doRequest(object $request): object;
25-
25+
2626
/**
2727
@@ -451,5 +451,5 @@ abstract class AbstractBrowser
2828
* @throws LogicException When this abstract class is not implemented
@@ -146,21 +146,21 @@ diff --git a/src/Symfony/Component/DependencyInjection/Extension/ExtensionInterf
146146
*/
147147
- public function load(array $configs, ContainerBuilder $container);
148148
+ public function load(array $configs, ContainerBuilder $container): void;
149-
149+
150150
/**
151151
@@ -37,5 +37,5 @@ interface ExtensionInterface
152152
* @return string
153153
*/
154154
- public function getNamespace();
155155
+ public function getNamespace(): string;
156-
156+
157157
/**
158158
@@ -44,5 +44,5 @@ interface ExtensionInterface
159159
* @return string|false
160160
*/
161161
- public function getXsdValidationBasePath();
162162
+ public function getXsdValidationBasePath(): string|false;
163-
163+
164164
/**
165165
@@ -53,4 +53,4 @@ interface ExtensionInterface
166166
* @return string
@@ -189,13 +189,13 @@ diff --git a/src/Symfony/Component/EventDispatcher/EventSubscriberInterface.php
189189
diff --git a/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php b/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php
190190
--- a/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php
191191
+++ b/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php
192-
@@ -139,5 +139,5 @@ class ExpressionLanguage
192+
@@ -149,5 +149,5 @@ class ExpressionLanguage
193193
* @return void
194194
*/
195195
- protected function registerFunctions()
196196
+ protected function registerFunctions(): void
197197
{
198-
$this->addFunction(ExpressionFunction::fromPhp('constant'));
198+
$basicPhpFunctions = ['constant', 'min', 'max'];
199199
diff --git a/src/Symfony/Component/Form/AbstractType.php b/src/Symfony/Component/Form/AbstractType.php
200200
--- a/src/Symfony/Component/Form/AbstractType.php
201201
+++ b/src/Symfony/Component/Form/AbstractType.php
@@ -249,35 +249,35 @@ diff --git a/src/Symfony/Component/Form/FormTypeInterface.php b/src/Symfony/Comp
249249
*/
250250
- public function getParent();
251251
+ public function getParent(): ?string;
252-
252+
253253
/**
254254
@@ -34,5 +34,5 @@ interface FormTypeInterface
255255
* @return void
256256
*/
257257
- public function configureOptions(OptionsResolver $resolver);
258258
+ public function configureOptions(OptionsResolver $resolver): void;
259-
259+
260260
/**
261261
@@ -48,5 +48,5 @@ interface FormTypeInterface
262262
* @see FormTypeExtensionInterface::buildForm()
263263
*/
264264
- public function buildForm(FormBuilderInterface $builder, array $options);
265265
+ public function buildForm(FormBuilderInterface $builder, array $options): void;
266-
266+
267267
/**
268268
@@ -66,5 +66,5 @@ interface FormTypeInterface
269269
* @see FormTypeExtensionInterface::buildView()
270270
*/
271271
- public function buildView(FormView $view, FormInterface $form, array $options);
272272
+ public function buildView(FormView $view, FormInterface $form, array $options): void;
273-
273+
274274
/**
275275
@@ -85,5 +85,5 @@ interface FormTypeInterface
276276
* @see FormTypeExtensionInterface::finishView()
277277
*/
278278
- public function finishView(FormView $view, FormInterface $form, array $options);
279279
+ public function finishView(FormView $view, FormInterface $form, array $options): void;
280-
280+
281281
/**
282282
@@ -95,4 +95,4 @@ interface FormTypeInterface
283283
* @return string
@@ -324,26 +324,26 @@ diff --git a/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php b/src/S
324324
*/
325325
- public function boot();
326326
+ public function boot(): void;
327-
327+
328328
/**
329329
@@ -35,5 +35,5 @@ interface BundleInterface
330330
* @return void
331331
*/
332332
- public function shutdown();
333333
+ public function shutdown(): void;
334-
334+
335335
/**
336336
@@ -44,5 +44,5 @@ interface BundleInterface
337337
* @return void
338338
*/
339339
- public function build(ContainerBuilder $container);
340340
+ public function build(ContainerBuilder $container): void;
341-
341+
342342
/**
343343
diff --git a/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php b/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
344344
--- a/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
345345
+++ b/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
346-
@@ -101,5 +101,5 @@ abstract class DataCollector implements DataCollectorInterface
346+
@@ -113,5 +113,5 @@ abstract class DataCollector implements DataCollectorInterface
347347
* @return void
348348
*/
349349
- public function reset()
@@ -358,7 +358,7 @@ diff --git a/src/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterfa
358358
*/
359359
- public function collect(Request $request, Response $response, ?\Throwable $exception = null);
360360
+ public function collect(Request $request, Response $response, ?\Throwable $exception = null): void;
361-
361+
362362
/**
363363
@@ -35,4 +35,4 @@ interface DataCollectorInterface extends ResetInterface
364364
* @return string
@@ -383,38 +383,38 @@ diff --git a/src/Symfony/Component/HttpKernel/KernelInterface.php b/src/Symfony/
383383
*/
384384
- public function registerContainerConfiguration(LoaderInterface $loader);
385385
+ public function registerContainerConfiguration(LoaderInterface $loader): void;
386-
386+
387387
/**
388388
@@ -44,5 +44,5 @@ interface KernelInterface extends HttpKernelInterface
389389
* @return void
390390
*/
391391
- public function boot();
392392
+ public function boot(): void;
393-
393+
394394
/**
395395
@@ -53,5 +53,5 @@ interface KernelInterface extends HttpKernelInterface
396396
* @return void
397397
*/
398398
- public function shutdown();
399399
+ public function shutdown(): void;
400-
400+
401401
/**
402402
diff --git a/src/Symfony/Component/Routing/Loader/AttributeClassLoader.php b/src/Symfony/Component/Routing/Loader/AttributeClassLoader.php
403403
--- a/src/Symfony/Component/Routing/Loader/AttributeClassLoader.php
404404
+++ b/src/Symfony/Component/Routing/Loader/AttributeClassLoader.php
405-
@@ -234,5 +234,5 @@ abstract class AttributeClassLoader implements LoaderInterface
405+
@@ -236,5 +236,5 @@ abstract class AttributeClassLoader implements LoaderInterface
406406
* @return string
407407
*/
408408
- protected function getDefaultRouteName(\ReflectionClass $class, \ReflectionMethod $method)
409409
+ protected function getDefaultRouteName(\ReflectionClass $class, \ReflectionMethod $method): string
410410
{
411411
$name = str_replace('\\', '_', $class->name).'_'.$method->name;
412-
@@ -333,5 +333,5 @@ abstract class AttributeClassLoader implements LoaderInterface
412+
@@ -335,5 +335,5 @@ abstract class AttributeClassLoader implements LoaderInterface
413413
* @return void
414414
*/
415415
- abstract protected function configureRoute(Route $route, \ReflectionClass $class, \ReflectionMethod $method, object $annot);
416416
+ abstract protected function configureRoute(Route $route, \ReflectionClass $class, \ReflectionMethod $method, object $annot): void;
417-
417+
418418
/**
419419
diff --git a/src/Symfony/Component/Security/Core/Authentication/RememberMe/TokenProviderInterface.php b/src/Symfony/Component/Security/Core/Authentication/RememberMe/TokenProviderInterface.php
420420
--- a/src/Symfony/Component/Security/Core/Authentication/RememberMe/TokenProviderInterface.php
@@ -424,21 +424,21 @@ diff --git a/src/Symfony/Component/Security/Core/Authentication/RememberMe/Token
424424
*/
425425
- public function loadTokenBySeries(string $series);
426426
+ public function loadTokenBySeries(string $series): PersistentTokenInterface;
427-
427+
428428
/**
429429
@@ -35,5 +35,5 @@ interface TokenProviderInterface
430430
* @return void
431431
*/
432432
- public function deleteTokenBySeries(string $series);
433433
+ public function deleteTokenBySeries(string $series): void;
434-
434+
435435
/**
436436
@@ -44,5 +44,5 @@ interface TokenProviderInterface
437437
* @throws TokenNotFoundException if the token is not found
438438
*/
439439
- public function updateToken(string $series, #[\SensitiveParameter] string $tokenValue, \DateTimeInterface $lastUsed);
440440
+ public function updateToken(string $series, #[\SensitiveParameter] string $tokenValue, \DateTimeInterface $lastUsed): void;
441-
441+
442442
/**
443443
@@ -51,4 +51,4 @@ interface TokenProviderInterface
444444
* @return void
@@ -485,7 +485,7 @@ diff --git a/src/Symfony/Component/Translation/Extractor/ExtractorInterface.php
485485
*/
486486
- public function extract(string|iterable $resource, MessageCatalogue $catalogue);
487487
+ public function extract(string|iterable $resource, MessageCatalogue $catalogue): void;
488-
488+
489489
/**
490490
@@ -36,4 +36,4 @@ interface ExtractorInterface
491491
* @return void
@@ -501,7 +501,7 @@ diff --git a/src/Symfony/Component/Validator/ConstraintValidatorInterface.php b/
501501
*/
502502
- public function initialize(ExecutionContextInterface $context);
503503
+ public function initialize(ExecutionContextInterface $context): void;
504-
504+
505505
/**
506506
@@ -31,4 +31,4 @@ interface ConstraintValidatorInterface
507507
* @return void
@@ -518,6 +518,23 @@ diff --git a/src/Symfony/Component/VarDumper/Dumper/DataDumperInterface.php b/sr
518518
- public function dump(Data $data);
519519
+ public function dump(Data $data): ?string;
520520
}
521+
diff --git a/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php b/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php
522+
--- a/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php
523+
+++ b/src/Symfony/Component/VarExporter/Tests/ProxyHelperTest.php
524+
@@ -172,5 +172,5 @@ class ProxyHelperTest extends TestCase
525+
{
526+
yield 'not type hinted __unserialize method' => [new class() {
527+
- public function __unserialize($array)
528+
+ public function __unserialize($array): void
529+
{
530+
}
531+
@@ -192,5 +192,5 @@ class ProxyHelperTest extends TestCase
532+
533+
yield 'type hinted __unserialize method' => [new class() {
534+
- public function __unserialize(array $array)
535+
+ public function __unserialize(array $array): void
536+
{
537+
}
521538
diff --git a/src/Symfony/Contracts/Translation/LocaleAwareInterface.php b/src/Symfony/Contracts/Translation/LocaleAwareInterface.php
522539
--- a/src/Symfony/Contracts/Translation/LocaleAwareInterface.php
523540
+++ b/src/Symfony/Contracts/Translation/LocaleAwareInterface.php
@@ -526,7 +543,7 @@ diff --git a/src/Symfony/Contracts/Translation/LocaleAwareInterface.php b/src/Sy
526543
*/
527544
- public function setLocale(string $locale);
528545
+ public function setLocale(string $locale): void;
529-
546+
530547
/**
531548
diff --git a/src/Symfony/Contracts/Translation/TranslatorTrait.php b/src/Symfony/Contracts/Translation/TranslatorTrait.php
532549
--- a/src/Symfony/Contracts/Translation/TranslatorTrait.php

‎.github/workflows/integration-tests.yml

Copy file name to clipboardExpand all lines: .github/workflows/integration-tests.yml
+24-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828

2929
services:
3030
postgres:
31-
image: postgres:10.6-alpine
31+
image: postgres:16-alpine
3232
ports:
3333
- 5432:5432
3434
env:
@@ -44,6 +44,13 @@ jobs:
4444
LDAP_PORT_NUMBER: 3389
4545
LDAP_USERS: a
4646
LDAP_PASSWORDS: a
47+
ftp:
48+
image: onekilo79/ftpd_test
49+
ports:
50+
- 21:21
51+
- 30000-30009:30000-30009
52+
volumes:
53+
- ./:/hostmount
4754
redis:
4855
image: redis:6.2.8
4956
ports:
@@ -115,11 +122,20 @@ jobs:
115122
image: dunglas/frankenphp:1.1.0
116123
ports:
117124
- 80:80
125+
- 8681:81
126+
- 8682:82
127+
- 8683:83
128+
- 8684:84
118129
volumes:
119130
- ${{ github.workspace }}:/symfony
120131
env:
121-
SERVER_NAME: 'http://localhost'
132+
SERVER_NAME: 'http://localhost http://localhost:81 http://localhost:82 http://localhost:83 http://localhost:84'
122133
CADDY_SERVER_EXTRA_DIRECTIVES: |
134+
route /http-client* {
135+
root * /symfony/src/Symfony/Component/HttpClient/Tests/Fixtures/response-functional/
136+
php_server
137+
}
138+
123139
root * /symfony/src/Symfony/Component/HttpFoundation/Tests/Fixtures/response-functional/
124140
125141
steps:
@@ -162,6 +178,11 @@ jobs:
162178
curl -s -u Administrator:111111@ -X POST http://localhost:8091/pools/default/buckets -d 'ramQuotaMB=100&bucketType=ephemeral&name=cache'
163179
curl -s -u Administrator:111111@ -X POST http://localhost:8091/pools/default -d 'memoryQuota=256'
164180
181+
- name: Create FTP fixtures
182+
run: |
183+
mkdir -p ./ftpusers/test/pub
184+
touch ./ftpusers/test/pub/example ./ftpusers/test/readme.txt
185+
165186
- name: Setup PHP
166187
uses: shivammathur/setup-php@v2
167188
with:
@@ -212,6 +233,7 @@ jobs:
212233
- name: Run tests
213234
run: ./phpunit --group integration -v
214235
env:
236+
INTEGRATION_FTP_URL: 'ftp://test:test@localhost'
215237
REDIS_HOST: 'localhost:16379'
216238
REDIS_AUTHENTICATED_HOST: 'localhost:16380'
217239
REDIS_CLUSTER_HOSTS: 'localhost:7000 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005'

‎CHANGELOG-7.0.md

Copy file name to clipboardExpand all lines: CHANGELOG-7.0.md
+28
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,34 @@ in 7.0 minor versions.
77
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
88
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v7.0.0...v7.0.1
99

10+
* 7.0.10 (2024-07-26)
11+
12+
* bug #57803 [FrameworkBundle] move adding detailed JSON error messages to the validate phase (xabbuh)
13+
* bug #57815 [Console][PhpUnitBridge][VarDumper] Fix `NO_COLOR` empty value handling (alexandre-daubois)
14+
* bug #57828 [Translation] Fix CSV escape char in `CsvFileLoader` on PHP >= 7.4 (alexandre-daubois)
15+
* bug #57812 [Validator] treat uninitialized properties referenced by property paths as null (xabbuh)
16+
* bug #57816 [DoctrineBridge] fix messenger bus dispatch inside an active transaction (IndraGunawan)
17+
* bug #57799 [ErrorHandler][VarDumper] Remove PHP 8.4 deprecations (alexandre-daubois)
18+
* bug #57772 [WebProfilerBundle] Add word wrap in tables in dialog to see all the text in workflow listeners dialog (SpartakusMd)
19+
* bug #57802 [PropertyInfo] Fix nullable value returned from extractFromMutator on CollectionType (benjilebon)
20+
* bug #57832 [DependencyInjection] Do not try to load default method name on interface (lyrixx)
21+
* bug #57748 [SecurityBundle] use firewall-specific user checkers when manually logging in users (xabbuh)
22+
* bug #57753 [ErrorHandler] restrict the maximum length of the X-Debug-Exception header (xabbuh)
23+
* bug #57646 [Serializer] Raise correct exception in `ArrayDenormalizer` when called without a nested denormalizer (derrabus)
24+
* bug #57674 [Cache] Improve `dbindex` DSN parameter parsing (constantable)
25+
* bug #57678 [Validator] Add `setGroupProvider` to `AttributeLoader` (Maximilian Zumbansen)
26+
* bug #57679 [WebProfilerBundle] Change incorrect check for the `stateless` request attribute (themasch)
27+
* bug #57663 [Cache] use copy() instead of rename() on Windows (xabbuh)
28+
* bug #57617 [PropertyInfo] Handle collection in PhpStan same as PhpDoc (mtarld)
29+
* bug #54057 [Messenger] Passing actual `Envelope` to `WorkerMessageRetriedEvent` (daffoxdev)
30+
* bug #57645 [Routing] Discard in-memory cache of routes when writing the file-based cache (mpdude)
31+
* bug #57621 [Mailer]  force HTTP 1.1 for Mailgun API requests (xabbuh)
32+
* bug #57616 [String] Revert "Fixed u()->snake(), b()->snake() and s()->snake() methods" (nicolas-grekas)
33+
* bug #57593 [SecurityBundle] Compare paths after realpath() has been applied to both (xabbuh)
34+
* bug #57594 [String] Normalize underscores in snake() (xabbuh)
35+
* bug #57585 [HttpFoundation] Fix MockArraySessionStorage to generate more conform ids (Seldaek)
36+
* bug #57589 [FrameworkBundle] fix AssetMapper usage without assets enabled (xabbuh)
37+
1038
* 7.0.9 (2024-06-28)
1139

1240
* bug #57345 [DependencyInjection] Fix regression in ordering service locators by priority (longwave)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.