10BC0 Merge branch '6.4' into 7.0 · symfony/symfony@f581151 · GitHub
[go: up one dir, main page]

Skip to content

Commit f581151

Browse files
Merge branch '6.4' into 7.0
* 6.4: [AssetMapper] Fixing js sourceMappingURL extraction when sourceMappingURL used in code [VarExporter] Deprecate per-property lazy-initializers [Routing] Extend old Annotations from new Attributes [Mailer] Update default Mailjet port Bump Symfony version to 6.4.0 Update VERSION for 6.4.0-BETA3 Update CHANGELOG for 6.4.0-BETA3
2 parents 21673dc + 8f7cb63 commit f581151

File tree

26 files changed

+128
-44
lines changed

26 files changed

+128
-44
lines changed

CHANGELOG-6.4.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,44 @@ in 6.4 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/v6.4.0...v6.4.1
99

10+
* 6.4.0-BETA3 (2023-11-10)
11+
12+
* bug #51666 [RateLimiter] CompoundLimiter was accepting requests even when some limiters already consumed all tokens (10n)
13+
* bug #52524 [AssetMapper] Only download a CSS file if it is explicitly advertised (weaverryan)
14+
* bug #52523 [AssetMapper] avoid caching MappedAsset inside JavaScript Import (weaverryan)
15+
* bug #52519 [AssetMapper] If assets are served from a subdirectory or CDN, also adjust importmap keys (weaverryan)
16+
* bug #52508 [AssetMapper] Fix jsdelivr import parsing with no imported value (weaverryan)
17+
* security #cve-2023-46734 [TwigBridge] Ensure CodeExtension's filters properly escape their input (nicolas-grekas, GromNaN)
18+
* security #cve-2023-46735 [Webhook] Remove user-submitted type from HTTP response (nicolas-grekas)
19+
* security #cve-2023-46733 [Security] Fix possible session fixation when only the *token* changes (RobertMe)
20+
* bug #52514 [FrameworkBundle] Don't reference SYMFONY_IDE env var in non-debug mode (nicolas-grekas)
21+
* bug #52506 [SecurityBundle] wire the secret for Symfony 6.4 compatibility (xabbuh)
22+
* bug #52496 [VarDumper] Accept mixed key on `DsPairStub` (marc-mabe)
23+
* bug #52502 [Config] Prefixing `FileExistenceResource::__toString()` to avoid conflict with `FileResource` (weaverryan)
24+
* bug #52491 [String] Method toByteString conversion using iconv is unreachable (Vincentv92)
25+
* bug #52488 [HttpKernel] Fix PHP deprecation (nicolas-grekas)
26+
* bug #52469 Check whether secrets are empty and mark them all as sensitive (nicolas-grekas)
27+
* feature #52471 [HttpKernel] Add `ControllerResolver::allowControllers()` to define which callables are legit controllers when the `_check_controller_is_allowed` request attribute is set (nicolas-grekas)
28+
* bug #52476 [Messenger] fix compatibility with Doctrine DBAL 4 (xabbuh)
29+
* bug #52434 [Console][FrameworkBundle] Fix missing `profile` option for console commands (keulinho)
30+
* bug #52474 [HttpFoundation] ensure string type with mbstring func overloading enabled (xabbuh)
31+
* bug #52472 [HttpClient][WebProfilerBundle] Do not generate cURL command when files are uploaded (MatTheCat)
32+
* bug #52457 [Cache][HttpFoundation][Lock] Fix empty username/password for PDO PostgreSQL (HypeMC)
33+
* bug #52443 [Yaml] Fix uid binary parsing (mRoca)
34+
* feature #52449 [TwigBridge] Mark CodeExtension as `@internal` (fabpot)
35+
* bug #52429 [HttpClient] Replace `escapeshellarg` to prevent overpassing `ARG_MAX` (alexandre-daubois)
36+
* bug #52442 Disable the "Copy as cURL" button when the debug info are disabled (stof)
37+
* bug #52444 Remove full DSNs from exception messages (nicolas-grekas)
38+
* feature #52336 [HttpFoundation][Lock] Makes MongoDB adapters usable with `ext-mongodb` only (GromNaN)
39+
* bug #52428 [HttpKernel] Preventing error 500 when function putenv is disabled (ShaiMagal)
40+
* bug #52427 [Console][Process] do not let context classes extend the message classes (xabbuh)
41+
* bug #52408 [Yaml] Fix block scalar array parsing (NickSdot)
42+
* bug #52132 [Console] Fix horizontal table top border is incorrectly rendered (OskarStark)
43+
* bug #52368 [AssetMapper] Fixing bug where JSCompiler used non-absolute importmap entry path (weaverryan)
44+
* bug #52367 [Uid] Fix UuidV7 collisions within the same ms (nicolas-grekas)
45+
* bug #52287 [FrameworkBundle] Fix deprecation layer for "enable_annotations" in validation and serializer configuration (lyrixx)
46+
* bug #52222 [MonologBridge] Fix support for monolog 3.0 (louismariegaborit)
47+
1048
* 6.4.0-BETA2 (2023-10-29)
1149

1250
* bug #52329 [HttpClient] Psr18Client: parse HTTP Reason Phrase for Response (Hanmac)

src/Symfony/Component/AssetMapper/ImportMap/Resolver/JsDelivrEsmResolver.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,10 @@ private function makeImportsBare(string $content, array &$dependencies): string
248248
}, $content);
249249

250250
// source maps are not also downloaded - so remove the sourceMappingURL
251-
$content = preg_replace('{//# sourceMappingURL=.*$}m', '', $content);
251+
// remove the final one only (in case sourceMappingURL is used in the code)
252+
if (false !== $lastPos = strrpos($content, '//# sourceMappingURL=')) {
253+
$content = substr($content, 0, $lastPos).preg_replace('{//# sourceMappingURL=.*$}m', '', substr($content, $lastPos));
254+
}
252255

253256
return preg_replace('{/\*# sourceMappingURL=[^ ]*+ \*/}', '', $content);
254257
}

src/Symfony/Component/AssetMapper/Tests/ImportMap/Resolver/JsDelivrEsmResolverTest.php

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,30 @@ public static function provideDownloadPackagesTests()
430430
],
431431
];
432432

433-
yield 'css file removes importmap' => [
433+
yield 'js sourcemap is correctly removed when sourceMapping appears in the JS' => [
434+
[
435+
'es-module-shims' => self::createRemoteEntry('es-module-shims', version: '1.8.2'),
436+
],
437+
[
438+
[
439+
'url' => '/es-module-shims@1.8.2/+esm',
440+
'body' => <<<'EOF'
441+
const je="\n//# sourceURL=",Ue="\n//# sourceMappingURL=",Me=/^(text|application)\/(x-)?javascript(;|$)/,_e=/^(application)\/wasm(;|$)/,Ie=/^(text|application)\/json(;|$)/,Re=/^(text|application)\/css(;|$)/,Te=/url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g;export{t as default};
442+
//# sourceMappingURL=/sm/ef3916de598f421a779ba0e69af94655b2043095cde2410cc01893452d893338.map
443+
EOF
444+
],
445+
],
446+
[
447+
'es-module-shims' => [
448+
'content' => <<<'EOF'
449+
const je="\n//# sourceURL=",Ue="\n//# sourceMappingURL=",Me=/^(text|application)\/(x-)?javascript(;|$)/,_e=/^(application)\/wasm(;|$)/,Ie=/^(text|application)\/json(;|$)/,Re=/^(text|application)\/css(;|$)/,Te=/url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g;export{t as default};
450+
EOF,
451+
'dependencies' => [],
452+
],
453+
],
454+
];
455+
456+
yield 'css file removes sourcemap' => [
434457
['lodash' => self::createRemoteEntry('bootstrap/dist/bootstrap.css', version: '5.0.6', type: ImportMapType::CSS)],
435458
[
436459
[

src/Symfony/Component/Mailer/Bridge/Mailjet/Transport/MailjetSmtpTransport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class MailjetSmtpTransport extends EsmtpTransport
1919
{
2020
public function __construct(string $username, #[\SensitiveParameter] string $password, EventDispatcherInterface $dispatcher = null, LoggerInterface $logger = null)
2121
{
22-
parent::__construct('in-v3.mailjet.com', 465, true, $dispatcher, $logger);
22+
parent::__construct('in-v3.mailjet.com', 587, true, $dispatcher, $logger);
2323

2424
$this->setUsername($username);
2525
$this->setPassword($password);

src/Symfony/Component/Mailer/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ CHANGELOG
1010
---
1111

1212
* Add DSN parameter `peer_fingerprint` to verify TLS certificate fingerprint
13+
* Change the default port for the `mailjet+smtp` transport from 465 to 587
1314

1415
6.3
1516
---

src/Symfony/Component/Routing/Annotation/Route.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class_exists(\Symfony\Component\Routing\Attribute\Route::class);
1717

1818
if (false) {
1919
#[\Attribute(\Attribute::IS_REPEATABLE | \Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD)]
20-
class Route
20+
class Route extends \Symfony\Component\Routing\Attribute\Route
2121
{
2222
}
2323
}

src/Symfony/Component/Routing/Attribute/Route.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
/**
1515
* @author Fabien Potencier <fabien@symfony.com>
1616
* @author Alexander M. Turek <me@derrabus.de>
17+
*
18+
* @final since Symfony 6.4
1719
*/
1820
#[\Attribute(\Attribute::IS_REPEATABLE | \Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD)]
1921
class Route

src/Symfony/Component/Serializer/Annotation/Context.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class_exists(\Symfony\Component\Serializer\Attribute\Context::class);
1717

1818
if (false) {
1919
#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)]
20-
class Context
20+
class Context extends \Symfony\Component\Serializer\Attribute\Context
2121
{
2222
}
2323
}

src/Symfony/Component/Serializer/Annotation/DiscriminatorMap.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class_exists(\Symfony\Component\Serializer\Attribute\DiscriminatorMap::class);
1515

1616
if (false) {
1717
#[\Attribute(\Attribute::TARGET_CLASS)]
18-
class DiscriminatorMap
18+
class DiscriminatorMap extends \Symfony\Component\Serializer\Attribute\DiscriminatorMap
1919
{
2020
}
2121
}

src/Symfony/Component/Serializer/Annotation/Groups.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class_exists(\Symfony\Component\Serializer\Attribute\Groups::class);
1515

1616
if (false) {
1717
#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_CLASS)]
18-
class Groups
18+
class Groups extends \Symfony\Component\Serializer\Attribute\Groups
1919
{
2020
}
2121
}

0 commit comments

Comments
 (0)
0