-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Comparing changes
Open a pull request
base repository: symfony/symfony
base: v5.4.52
head repository: symfony/symfony
compare: v5.4.53
- 20 commits
- 40 files changed
- 2 contributors
Commits on May 20, 2026
-
[Yaml] Allow trailing newlines after the end-of-document marker
The hardened `#\.\.\.[ \t]*+$#` regex introduced in 9749cd4 only accepts horizontal whitespace after `...`, so a YAML document ending with the marker followed by a blank line is no longer stripped and the parser errors on the leftover `...`. Restore the previous tolerance for any trailing whitespace by using `\s*+$`; the possessive quantifier keeps the pattern safe from catastrophic backtracking.
Configuration menu - View commit details
-
Copy full SHA for 1ace950 - Browse repository at this point
Copy the full SHA 1ace950View commit details
Commits on May 21, 2026
-
bug #64316 [Yaml] Allow trailing newlines after the end-of-document m…
…arker (nicolas-grekas) This PR was merged into the 5.4 branch. Discussion ---------- [Yaml] Allow trailing newlines after the end-of-document marker | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Issues | Fix #64313 | License | MIT The hardened `#\.\.\.[ \t]*+$#` regex introduced in 9749cd4 only accepts horizontal whitespace after the `...` end-of-document marker, so a document ending with a blank line after `...` is no longer stripped and the parser errors on the leftover marker. Restore the previous tolerance using `\s*+$`; the possessive quantifier keeps the pattern safe from catastrophic backtracking since nothing follows it. Commits ------- 1ace950 [Yaml] Allow trailing newlines after the end-of-document marker
Configuration menu - View commit details
-
Copy full SHA for 44cf082 - Browse repository at this point
Copy the full SHA 44cf082View commit details
Commits on May 22, 2026
-
[HttpClient] Block IPv6 transition forms in NoPrivateNetworkHttpClient
Extends PRIVATE_SUBNETS with IPv4-compatible (::/96), 6to4 (2002::/16), Teredo (2001::/32) and NAT64 (64:ff9b::/96, 64:ff9b:1::/48) prefixes, so that requests to e.g. http://[2002:7f00:1::]/ are blocked when they embed a private IPv4 address.
Configuration menu - View commit details
-
Copy full SHA for 8276536 - Browse repository at this point
Copy the full SHA 8276536View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33a48d0 - Browse repository at this point
Copy the full SHA 33a48d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b63c3a - Browse repository at this point
Copy the full SHA 4b63c3aView commit details
Commits on May 23, 2026
-
[Runtime] Trust argv on CLI-like SAPIs to fix subprocess args
$_SERVER['QUERY_STRING'] can leak into CLI subprocesses (notably when spawned from PHP-FPM, where the SAPI exposes FastCGI request-context vars through getenv() and $_ENV that then propagate via Process). The QUERY_STRING gate added for CVE-2024-50340 was therefore tripped in CLI subprocesses, dropping argv processing and stripping command names and options. Trust argv when PHP_SAPI is cli/phpdbg/embed: in CLI SAPIs argv is the real OS argv, never derived from QUERY_STRING (that's a web-SAPI-only behavior of register_argc_argv), so the gate is unnecessary there. The gate still applies on actual web SAPIs. The two phpt tests that simulated the CVE attack from cli SAPI by mocking $_SERVER no longer represent a real attack vector under this model and are removed; the protection on real web SAPIs is unchanged.
Configuration menu - View commit details
-
Copy full SHA for b2a338e - Browse repository at this point
Copy the full SHA b2a338eView commit details -
bug #64336 [Cache] Accept '_' and ':' in prefix passed to AbstractAda…
…pter::clear() (nicolas-grekas) This PR was merged into the 5.4 branch. Discussion ---------- [Cache] Accept '_' and ':' in prefix passed to AbstractAdapter::clear() | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Issues | Fix #64328 | License | MIT The prefix-validation regex added to `AbstractAdapter::clear()` rejected `_`, which broke Doctrine ORM second-level cache region invalidation (regions are passed as `DC2_REGION_<name>`). It also rejected `:`, which is the conventional Redis namespace separator. This PR extends the allowed character class to include `_` and `:`. To keep SQL-backed adapters safe, `_` (a SQL LIKE single-character wildcard) is now escaped via `ESCAPE '!'` in `PdoAdapter::doClear()` and `DoctrineDbalAdapter::doClear()`. The `!` escape character is itself rejected by the validation regex, so collisions are not possible. Commits ------- 33a48d0 [Cache] Accept '_' and ':' in prefix passed to AbstractAdapter::clear()
Configuration menu - View commit details
-
Copy full SHA for c3b3711 - Browse repository at this point
Copy the full SHA c3b3711View commit details -
bug #64346 [Runtime] Trust argv on CLI-like SAPIs to fix subprocess a…
…rgs (nicolas-grekas) This PR was merged into the 5.4 branch. Discussion ---------- [Runtime] Trust argv on CLI-like SAPIs to fix subprocess args | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Issues | Fix #64327 | License | MIT `$_SERVER['QUERY_STRING']` can leak into CLI subprocesses (notably when spawned from PHP-FPM, where the SAPI exposes FastCGI request-context vars through `getenv()` and `$_ENV` that then propagate via `Process`). The `QUERY_STRING` gate added for CVE-2024-50340 was therefore tripped in CLI subprocesses, dropping argv processing and stripping command names and options. This PR trusts argv when `PHP_SAPI` is `cli`/`phpdbg`/`embed`: in CLI SAPIs argv is the real OS argv, never derived from `QUERY_STRING` (that's a web-SAPI-only behavior of `register_argc_argv`), so the gate is unnecessary there. The gate still applies on actual web SAPIs. The two phpt tests that simulated the CVE attack from cli SAPI by mocking `$_SERVER` no longer represent a real attack vector under this model and are removed; the protection on real web SAPIs is unchanged. A companion PR for `Process` against 6.4 (#64347) plugs the actual env leak as defense in depth. Commits ------- b2a338e [Runtime] Trust argv on CLI-like SAPIs to fix subprocess args
Configuration menu - View commit details
-
Copy full SHA for 84f390b - Browse repository at this point
Copy the full SHA 84f390bView commit details
Commits on May 24, 2026
-
Configuration menu - View commit details
-
Copy full SHA for ac5bba2 - Browse repository at this point
Copy the full SHA ac5bba2View commit details -
minor #64354 [Cache] skip tests for adapters that cannot clear by pre…
…fix (nicolas-grekas) This PR was merged into the 5.4 branch. Discussion ---------- [Cache] skip tests for adapters that cannot clear by prefix | Q | A | ------------- | --- | Branch? | 5.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Issues | - | License | MIT Something I forgot in #64336 Commits ------- ac5bba2 [Cache] skip tests for adapters that cannot clear by prefix
Configuration menu - View commit details
-
Copy full SHA for 0abafd1 - Browse repository at this point
Copy the full SHA 0abafd1View commit details -
security #cve-2026-48784 [Routing] Fix dot-segment encoding for chain…
…ed "../" and "./" in generated URLs (nicolas-grekas) This PR was merged into the 5.4 branch.
Configuration menu - View commit details
-
Copy full SHA for a1f5294 - Browse repository at this point
Copy the full SHA a1f5294View commit details -
Configuration menu - View commit details
-
Copy full SHA for c48a427 - Browse repository at this point
Copy the full SHA c48a427View commit details -
security #cve-2026-48489 [Security] Don't honor user-supplied _failur…
…e_path on failure_forward (nicolas-grekas) This PR was merged into the 5.4 branch.
Configuration menu - View commit details
-
Copy full SHA for 03eea72 - Browse repository at this point
Copy the full SHA 03eea72View commit details -
security #cve-2026-48736 [HttpClient] Block IPv6 transition forms in …
…NoPrivateNetworkHttpClient (nicolas-grekas) This PR was merged into the 5.4 branch.
Configuration menu - View commit details
-
Copy full SHA for 2f9a8ad - Browse repository at this point
Copy the full SHA 2f9a8adView commit details
Commits on May 26, 2026
-
Configuration menu - View commit details
-
Copy full SHA for abfed9b - Browse repository at this point
Copy the full SHA abfed9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5245467 - Browse repository at this point
Copy the full SHA 5245467View commit details -
Backports from 6.4 to make the 5.4 unit-tests CI green: - [PropertyInfo] Treat `mixed[]` as `array` in PhpDocTypeHelper - [Finder] Use `-19 years` instead of fixed `2005-10-15` for relative-date tests - [Form] Normalize ICU 72+ whitespace in DateTimeToLocalizedStringTransformer - [Intl] Normalize ICU 72+ whitespace in AbstractIntlDateFormatterTestCase - [ProxyManager] Accept both ` : bool` and `: bool` in dumper fixture - [Translation][Lokalise/Loco/Crowdin] Use createMock(LoaderInterface) where ->expects() is needed (fixes high-deps with translation 6.4) - [HttpKernel] Accept BadRequestException too in testRequestWithBadHost - [FrameworkBundle] Drop CachePoolsTest assertions that depended on system_clearer being tagged as kernel.cache_clearer
Configuration menu - View commit details
-
Copy full SHA for 511a86c - Browse repository at this point
Copy the full SHA 511a86cView commit details
Commits on May 27, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 01f1c8e - Browse repository at this point
Copy the full SHA 01f1c8eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b54c465 - Browse repository at this point
Copy the full SHA b54c465View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6436e37 - Browse repository at this point
Copy the full SHA 6436e37View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v5.4.52...v5.4.53