<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
>
    <channel>
        <title>Symfony Blog</title>
        <atom:link href="https://feeds.feedburner.com/symfony/blog" rel="self" type="application/rss+xml" />
        <link>https://symfony.com/blog/</link>
        <description>Most recent posts published on the Symfony project blog</description>
        <pubDate>Sun, 01 Nov 2026 21:55:37 +0100</pubDate>
        <lastBuildDate>Sun, 01 Nov 2026 09:12:00 +0100</lastBuildDate>
        <language>en</language>
                        <item>
            <title>A Week of Symfony #1035 (October 26 – November 1, 2026)</title>
            <link>https://symfony.com/blog/a-week-of-symfony-1035-october-26-november-1-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>This week, Symfony 5.4.55, 6.4.49, 7.4.22, and 8.1.10 maintenance versions were released. We also released Symfony AI 1.0.0-BETA1 and kicked off the Symfony AI &amp;amp; MCP Hackathon, which runs until November 22. Meanwhile, we kept publishing articles about…</description>
            <content:encoded><![CDATA[
                                <p>This week, Symfony <a href="https://symfony.com/blog/symfony-5-4-55-released" class="reference external">5.4.55</a>, <a href="https://symfony.com/blog/symfony-6-4-49-released" class="reference external">6.4.49</a>, <a href="https://symfony.com/blog/symfony-7-4-22-released" class="reference external">7.4.22</a>, and <a href="https://symfony.com/blog/symfony-8-1-10-released" class="reference external">8.1.10</a> maintenance versions were released. We also released <a href="https://symfony.com/blog/symfony-ai-1-0-0-beta1-ai-and-mcp-hackathon" class="reference external">Symfony AI 1.0.0-BETA1</a> and kicked off the <a href="https://symfony.com/hackathon" class="reference external">Symfony AI &amp; MCP Hackathon</a>, which runs until November 22. Meanwhile, we kept publishing articles about Symfony 8.2 features, such as the <a href="https://symfony.com/blog/new-in-symfony-8-2-messenger-inbox" class="reference external">Messenger inbox</a>, <a href="https://symfony.com/blog/new-in-symfony-8-2-cross-application-messaging" class="reference external">cross-application messaging</a>, <a href="https://symfony.com/blog/new-in-symfony-8-2-security-expressions-everywhere" class="reference external">security expressions everywhere</a>, and <a href="https://symfony.com/blog/new-in-symfony-8-2-recovering-from-controller-attribute-failures" class="reference external">recovering from controller attribute failures</a>. Finally, we shared the <a href="https://symfony.com/blog/30-days-until-symfonycon-warsaw-2026-schedule-highlights-tickets-and-final-details" class="reference external">schedule highlights</a> of <a href="https://live.symfony.com/2026-warsaw-con/" class="reference external">SymfonyCon Warsaw 2026</a>, which starts in less than a month.</p>
<div class="section">
<h2 id="symfony-development-highlights"><a class="headerlink" href="#symfony-development-highlights" title="Permalink to this headline">Symfony development highlights</a></h2>
<p>This week, 344 pull requests were merged (201 in code, 57 in docs, 35 in UX and 51 in AI) and 90 issues were closed (35 in code, 35 in docs, 3 in UX and 17 in AI). Excluding merges, 83 authors made additions and deletions. See details for <a href="https://github.com/symfony/symfony/pulse" class="reference external" rel="external noopener noreferrer" target="_blank">code</a>, <a href="https://github.com/symfony/symfony-docs/pulse" class="reference external" rel="external noopener noreferrer" target="_blank">docs</a>, <a href="https://github.com/symfony/ux/pulse" class="reference external" rel="external noopener noreferrer" target="_blank">UX</a> and <a href="https://github.com/symfony/ai/pulse" class="reference external" rel="external noopener noreferrer" target="_blank">AI</a>.</p>
<p><a href="https://github.com/symfony/symfony/commits/6.4" class="reference external" rel="external noopener noreferrer" target="_blank">6.4 changelog</a>:</p>
<ul>
    <li><a href="https://github.com/symfony/symfony/commit/2cbd264d59daca0e81512c8cbca18917710444cd" class="reference external" rel="external noopener noreferrer" target="_blank">2cbd264</a>: [Routing] don't ignore route conditions that are "0"</li>
<li><a href="https://github.com/symfony/symfony/commit/b759b968d7d065531992e1c37ee1f9f18923635d" class="reference external" rel="external noopener noreferrer" target="_blank">b759b96</a>: [Intl] update the ICU data to 79.1</li>
<li><a href="https://github.com/symfony/symfony/commit/8953ff8d262bec20ae9ef4a099ef0760f3b8c2eb" class="reference external" rel="external noopener noreferrer" target="_blank">8953ff8</a>: [PropertyAccess] fix writing SimpleXMLElement children and dynamic properties of #[AllowDynamicProperties] classes</li>
<li><a href="https://github.com/symfony/symfony/commit/ab31573a2cf6c2833878bad84db0f8833ff565bb" class="reference external" rel="external noopener noreferrer" target="_blank">ab31573</a>: [HttpClient] fix retry delays longer than the idle timeout</li>
<li><a href="https://github.com/symfony/symfony/commit/9cb24a469b09cf8a96c4056f898401cdd2e7d8df" class="reference external" rel="external noopener noreferrer" target="_blank">9cb24a4</a>: [FrameworkBundle] make secrets key rotation safe to interrupt</li>
<li><a href="https://github.com/symfony/symfony/commit/c480297a69265327af56fb0fe895fd8faa93e2a2" class="reference external" rel="external noopener noreferrer" target="_blank">c480297</a>: [FrameworkBundle] make secrets key generation and list updates safe to interrupt</li>
<li><a href="https://github.com/symfony/symfony/commit/961a14e8e635cce8794e4e7c10bea2efe6be1a81" class="reference external" rel="external noopener noreferrer" target="_blank">961a14e</a>: [Console] fix styles that leak out of Table cells</li>
<li><a href="https://github.com/symfony/symfony/commit/a5e89145c9622b0200384ace0d1e2b4ad5dbf418" class="reference external" rel="external noopener noreferrer" target="_blank">a5e8914</a>: [Console] fix the alignment of wrapped Table cells and newlines around style tags</li>
<li><a href="https://github.com/symfony/symfony/commit/b355d0e4291bdf50261b7a2547f753b2d0b3c5b2" class="reference external" rel="external noopener noreferrer" target="_blank">b355d0e</a>: [Console] fix Table header cells that span rows and escaped tags in TableCell</li>
<li><a href="https://github.com/symfony/symfony/commit/3d361b262e926567c8963b778408e63128e3273f" class="reference external" rel="external noopener noreferrer" target="_blank">3d361b2</a>: [Console] fix style names with uppercase letters not being applied</li>
<li><a href="https://github.com/symfony/symfony/commit/5df5f1956edda5395864bbc01196bf57c1f26f19" class="reference external" rel="external noopener noreferrer" target="_blank">5df5f19</a>: [Intl] fix Timezones::getRawOffset() depending on the default timezone around DST transitions</li>
<li><a href="https://github.com/symfony/symfony/commit/697ccade60237440a7a5a0405f199fadc4324c9c" class="reference external" rel="external noopener noreferrer" target="_blank">697ccad</a>: [Validator] fix Arabic validation messages and six-form plurals</li>
<li><a href="https://github.com/symfony/symfony/commit/c27b9963c79dbf88e150b395cfccd20e700b1153" class="reference external" rel="external noopener noreferrer" target="_blank">c27b996</a>: [SecurityBundle] stop asserting an empty body for the 401 of a rejected access token</li>
<li><a href="https://github.com/symfony/symfony/commit/e31a838e0d45ff674ca9da7488cf599abdef4885" class="reference external" rel="external noopener noreferrer" target="_blank">e31a838</a>: [Security] stop logging router errors when a check path does not match the request</li>
<li><a href="https://github.com/symfony/symfony/commit/642ba3e7d143e517cbb5389158116ee86ec9ff80" class="reference external" rel="external noopener noreferrer" target="_blank">642ba3e</a>: [Cache] fix items losing their tags when saved after a concurrent invalidation</li>
<li><a href="https://github.com/symfony/symfony/commit/9ac9c8c08f07d2e934eacd25c56458ec814d8470" class="reference external" rel="external noopener noreferrer" target="_blank">9ac9c8c</a>: [Console] don't format escaped tags again when sections measure their lines</li>
<li><a href="https://github.com/symfony/symfony/commit/2aee1d28335d1a53dbe9dabf37240885b2500b2d" class="reference external" rel="external noopener noreferrer" target="_blank">2aee1d2</a>: [HttpKernel] don't keep the stale container when rebuilding it fails</li>
<li><a href="https://github.com/symfony/symfony/commit/e053d90191125938669b7fa814168c0d17ee150a" class="reference external" rel="external noopener noreferrer" target="_blank">e053d90</a>: [HttpClient] fix clearing the DNS cache of pending requests when a traced response is destructed</li>
<li><a href="https://github.com/symfony/symfony/commit/76166839b91b05cc8b9c1bc305ad099660084757" class="reference external" rel="external noopener noreferrer" target="_blank">7616683</a>: [HttpClient] fix CurlHttpClient writing the body of a response to stdout when it is canceled during stream()</li>
<li><a href="https://github.com/symfony/symfony/commit/d6455a4cb9085fe69aa3f5c3aef8ed0807596cb4" class="reference external" rel="external noopener noreferrer" target="_blank">d6455a4</a>: [WebProfilerBundle] return a 404 when opening the profiler file viewer without a file</li>
<li><a href="https://github.com/symfony/symfony/commit/c24025c36c7d7c295c054265f0b61e26edc5836d" class="reference external" rel="external noopener noreferrer" target="_blank">c24025c</a>: [HttpClient] fix reading a traced CurlResponse as a stream after its decorator is destructed</li>
<li><a href="https://github.com/symfony/symfony/commit/65dedc1206724fc77fcbc0261c40af67a102631e" class="reference external" rel="external noopener noreferrer" target="_blank">65dedc1</a>: [HttpKernel] fix searching profiles by status code 0</li>
<li><a href="https://github.com/symfony/symfony/commit/08d96a36bff2c490878fb404ca7db29ef7d5563f" class="reference external" rel="external noopener noreferrer" target="_blank">08d96a3</a>: [HttpClient] fix getContent() returning a truncated body when the response is canceled while it reads it</li>
<li><a href="https://github.com/symfony/symfony/commit/20681075f592e6a8e866d8655ce94dc5dcdf95b6" class="reference external" rel="external noopener noreferrer" target="_blank">2068107</a>: [HttpClient] fix AsyncResponse throwing a LogicException when it is canceled while streaming</li>
<li><a href="https://github.com/symfony/symfony/commit/fd88ffb6fa5f5e4c308a362db989780f0673bdbc" class="reference external" rel="external noopener noreferrer" target="_blank">fd88ffb</a>: reject trailing newlines in Content-Disposition fallbacks</li>
<li><a href="https://github.com/symfony/symfony/commit/b77add969c72b9e9ccc3cc322b85c659760d710f" class="reference external" rel="external noopener noreferrer" target="_blank">b77add9</a>: [HttpClient] let PHP destruct the response decorated by TraceableResponse</li>
<li><a href="https://github.com/symfony/symfony/commit/b4e281d593a616b01a82f196c02ebf52b202a44c" class="reference external" rel="external noopener noreferrer" target="_blank">b4e281d</a>: [WebProfilerBundle] reset the profiler Twig extension between requests</li>
<li><a href="https://github.com/symfony/symfony/commit/ab2829d75dd3da7f08f6a628be97632ceb0ad0ed" class="reference external" rel="external noopener noreferrer" target="_blank">ab2829d</a>: [WebProfilerBundle] reset the CSP handler between requests</li>
<li><a href="https://github.com/symfony/symfony/commit/ee01c09044a36e37fbfeb95623f5fe0937d6a3c3" class="reference external" rel="external noopener noreferrer" target="_blank">ee01c09</a>: [AssetMapper] fix <code translate="no" class="notranslate">importmap:remove</code> deleting the files of local entries</li>
<li><a href="https://github.com/symfony/symfony/commit/6333d9e15566c112d93deb080901aeeb6dbd3903" class="reference external" rel="external noopener noreferrer" target="_blank">6333d9e</a>: [Console] fix Table cells that span rows when they follow a cell that spans columns</li>
<li><a href="https://github.com/symfony/symfony/commit/719bc7bffe0c1fcb283cde8d83ba1322954ce7a4" class="reference external" rel="external noopener noreferrer" target="_blank">719bc7b</a>: [Console] fix setRow(), setColumnMaxWidth() and consecutive rowspans in Table</li>
<li><a href="https://github.com/symfony/symfony/commit/dcfde2dfae625087686c9f7a2bea4a03b6352f7c" class="reference external" rel="external noopener noreferrer" target="_blank">dcfde2d</a>: [Validator] show the count in the word count messages of locales with a single plural form</li>
<li><a href="https://github.com/symfony/symfony/commit/2010998319810a2442d0031e525894a1c37d674a" class="reference external" rel="external noopener noreferrer" target="_blank">2010998</a>: [Messenger] preserve handled stamps when a batch handler nacks</li>
<li><a href="https://github.com/symfony/symfony/commit/6cc97d225bdfd116e7a5897a935ee65f33166789" class="reference external" rel="external noopener noreferrer" target="_blank">6cc97d2</a>: [Messenger] don't hide handler failures when a batch handler acks the same message</li>
<li><a href="https://github.com/symfony/symfony/commit/248f04ffff13764b27cb5b05f99ad674737e762c" class="reference external" rel="external noopener noreferrer" target="_blank">248f04f</a>: [Form] preserve the Unix epoch in date string transformation</li>
<li><a href="https://github.com/symfony/symfony/commit/ad74014f2d341c0bd23a7eb06a2cf29b4427b4fe" class="reference external" rel="external noopener noreferrer" target="_blank">ad74014</a>: [Messenger] let the worker flush the batches that contain a failed message</li>
<li><a href="https://github.com/symfony/symfony/commit/0be49965ff20831133951fbc2ad73506cac44c80" class="reference external" rel="external noopener noreferrer" target="_blank">0be4996</a>: [Messenger] retry the messages whose batch was flushed during a failed dispatch</li>
<li><a href="https://github.com/symfony/symfony/commit/2906b652404fb0e490ac9e30ff6e8a85f990d616" class="reference external" rel="external noopener noreferrer" target="_blank">2906b65</a>: [Messenger] wait for all batch handlers before acknowledging a message</li>
<li><a href="https://github.com/symfony/symfony/commit/c8602738d43d80c086f0899163d16dd460563fcc" class="reference external" rel="external noopener noreferrer" target="_blank">c860273</a>: [Serializer] fix denormalizing a data URI ending with slashes to a File</li>
<li><a href="https://github.com/symfony/symfony/commit/029da409ad7017a7877175f7f8eee12b7d40affd" class="reference external" rel="external noopener noreferrer" target="_blank">029da40</a>: [Translation] don't read provider responses as file paths</li>
<li><a href="https://github.com/symfony/symfony/commit/134ec20793563a492e50673b16ab6e622a65cb95" class="reference external" rel="external noopener noreferrer" target="_blank">134ec20</a>: [Cache] add support for relay 0.61</li>
<li><a href="https://github.com/symfony/symfony/commit/24a5787887c0650bfd8fc63edf2f0b7c05f20303" class="reference external" rel="external noopener noreferrer" target="_blank">24a5787</a>: [PropertyAccess] handle uninitialized properties of anonymous classes on PHP 8.6</li>
<li><a href="https://github.com/symfony/symfony/commit/0842b1f85ab7cb31476a48e53f40676049daab03" class="reference external" rel="external noopener noreferrer" target="_blank">0842b1f</a>: [BrowserKit] expire cookies dated at the Unix epoch</li>
<li><a href="https://github.com/symfony/symfony/commit/984e4339833313896f5c2734a7c013b830ce4057" class="reference external" rel="external noopener noreferrer" target="_blank">984e433</a>: [BrowserKit] match cookies across equivalent IPv6 addresses</li>
<li><a href="https://github.com/symfony/symfony/commit/22e723da4fbf9c3ff5f3c5619ab19f4e57dfb148" class="reference external" rel="external noopener noreferrer" target="_blank">22e723d</a>: [HttpKernel] compute #[Cache] durations without daylight saving time</li>
</ul>
<p><a href="https://github.com/symfony/symfony/commits/7.4" class="reference external" rel="external noopener noreferrer" target="_blank">7.4 changelog</a>:</p>
<ul>
    <li><a href="https://github.com/symfony/symfony/commit/fb071859577f50c604d639ae6082cae56d00cccb" class="reference external" rel="external noopener noreferrer" target="_blank">fb07185</a>: [JsonStreamer] fix explicit null handling in the string reader and reject it on non-nullable types</li>
<li><a href="https://github.com/symfony/symfony/commit/8efadb6d4c450611b3cb50d0aaf679a0ec7a420d" class="reference external" rel="external noopener noreferrer" target="_blank">8efadb6</a>: [Console] fix raw token stripping when an option value matches the command</li>
<li><a href="https://github.com/symfony/symfony/commit/564aeac2699c74988189d9d53c31a6cfe8bc0e89" class="reference external" rel="external noopener noreferrer" target="_blank">564aeac</a>: [Messenger] allow installing the Redis bridge with only ext-relay</li>
<li><a href="https://github.com/symfony/symfony/commit/9c85148b237cf8658ef4d0d6d15ea1eb34030e50" class="reference external" rel="external noopener noreferrer" target="_blank">9c85148</a>: [JsonStreamer] reject scalar values of the wrong type instead of converting them</li>
<li><a href="https://github.com/symfony/symfony/commit/0f141ae1549692cf419c202cb7264a3f21627349" class="reference external" rel="external noopener noreferrer" target="_blank">0f141ae</a>: [JsonPath] fix open-ended slices in the path builder</li>
<li><a href="https://github.com/symfony/symfony/commit/042fa2e1431c7723c950c67a1d0f70c5fcc082a1" class="reference external" rel="external noopener noreferrer" target="_blank">042fa2e</a>: [JsonPath] fix negative-step slices and reject invalid slices on objects</li>
</ul>
<p><a href="https://github.com/symfony/symfony/commits/8.1" class="reference external" rel="external noopener noreferrer" target="_blank">8.1 changelog</a>:</p>
<ul>
    <li><a href="https://github.com/symfony/symfony/commit/dbdaf9e15f88c7853a3972cb95384c63f21d50fd" class="reference external" rel="external noopener noreferrer" target="_blank">dbdaf9e</a>: [Console] fix Helper::removeDecoration() keeping escaped &gt; and trailing backslashes</li>
<li><a href="https://github.com/symfony/symfony/commit/3b4baae8f517284a163d7453c287cb17d21492f4" class="reference external" rel="external noopener noreferrer" target="_blank">3b4baae</a>: [Messenger] reject non-integer fetch sizes</li>
<li><a href="https://github.com/symfony/symfony/commit/02b7886ae719276aabd3741661ff06f218a2a8ee" class="reference external" rel="external noopener noreferrer" target="_blank">02b7886</a>: [RateLimiter] preserve calendar-aligned reservations across periods</li>
<li><a href="https://github.com/symfony/symfony/commit/183df79cf766e9645a0fb06b7bc12f139d8f1514" class="reference external" rel="external noopener noreferrer" target="_blank">183df79</a>: [RateLimiter] apply a changed limit to stored calendar-aligned windows</li>
<li><a href="https://github.com/symfony/symfony/commit/7c04464e059b113a97abb5b81a5129fb0d90b8ab" class="reference external" rel="external noopener noreferrer" target="_blank">7c04464</a>: [Messenger] release handled envelopes without waiting for the garbage collector</li>
<li><a href="https://github.com/symfony/symfony/commit/c544670f810903157ed0e8d1e2664a5847901459" class="reference external" rel="external noopener noreferrer" target="_blank">c544670</a>: [Console] register service argument locators under the resolved names of commands</li>
</ul>
<p><a href="https://github.com/symfony/symfony/commits/8.2" class="reference external" rel="external noopener noreferrer" target="_blank">8.2 changelog</a>:</p>
<ul>
    <li><a href="https://github.com/symfony/symfony/commit/578fcf5db2c3b55b847e843dff8bd126bc2f2375" class="reference external" rel="external noopener noreferrer" target="_blank">578fcf5</a>: [KeyManagement] harden envelope and stored key authentication</li>
<li><a href="https://github.com/symfony/symfony/commit/d2df599f5ccc64f80cedc712f76da7ed14623b06" class="reference external" rel="external noopener noreferrer" target="_blank">d2df599</a>: [KeyManagement] simplify rewrapping and report a missing store secret at compile time</li>
<li><a href="https://github.com/symfony/symfony/commit/de8d949446e8dd519712791f353429743aaacd6d" class="reference external" rel="external noopener noreferrer" target="_blank">de8d949</a>: [Messenger] apply --max after the filters in <code translate="no" class="notranslate">messenger:show</code> and <code translate="no" class="notranslate">messenger:failed:show</code></li>
<li><a href="https://github.com/symfony/symfony/commit/cba43e58988ddf6c6eefdf748f25868aa663f3ad" class="reference external" rel="external noopener noreferrer" target="_blank">cba43e5</a>: [Messenger] enable TCP_NODELAY on the MySQL connections of the AMPHP SQL transport</li>
<li><a href="https://github.com/symfony/symfony/commit/be0307cf088fdb17732e9493837e4cc513d1f140" class="reference external" rel="external noopener noreferrer" target="_blank">be0307c</a>: [Webhook] don't require the HttpClient component to enable no_private_network</li>
<li><a href="https://github.com/symfony/symfony/commit/037760b1c15de5d08162f31e666e1d080133db1c" class="reference external" rel="external noopener noreferrer" target="_blank">037760b</a>: [Messenger] fix the AMPHP SQL transport reading every pending message with MySQL</li>
<li><a href="https://github.com/symfony/symfony/commit/11eabfdeae5a77c01f2e9112af5f5ba441a1f679" class="reference external" rel="external noopener noreferrer" target="_blank">11eabfd</a>: [Messenger] fix the AMPHP SQL transport reading every delayed message with PostgreSQL</li>
<li><a href="https://github.com/symfony/symfony/commit/d7ad32128a66219bd350c57b1afa6349a8c089ce" class="reference external" rel="external noopener noreferrer" target="_blank">d7ad321</a>: [FrameworkBundle] read $_SERVER before $_ENV in KernelTestCase</li>
<li><a href="https://github.com/symfony/symfony/commit/35242184c7bc04dff4a8a70b0e22336c6371e9a3" class="reference external" rel="external noopener noreferrer" target="_blank">3524218</a>: [Intl] store the ICU data in a more compact way</li>
<li><a href="https://github.com/symfony/symfony/commit/70e97e2584e06d808427b50bd99f5f062eb6651d" class="reference external" rel="external noopener noreferrer" target="_blank">70e97e2</a>: [Intl] add a prune script to remove the data of unused locales</li>
<li><a href="https://github.com/symfony/symfony/commit/ef9a9635bd748a210ac79cc28d5a31e705d1f7d1" class="reference external" rel="external noopener noreferrer" target="_blank">ef9a963</a>: [FrameworkBundle] add the <code translate="no" class="notranslate">debug:autoconfiguration</code> command</li>
<li><a href="https://github.com/symfony/symfony/commit/9a01f50d9ab063f107a8ba49851a209c73b3f0f3" class="reference external" rel="external noopener noreferrer" target="_blank">9a01f50</a>: [SecurityBundle] serve the protected resource metadata with Access-Control-Allow-Origin: *</li>
<li><a href="https://github.com/symfony/symfony/commit/f30bf0ad5dc9c43e1d0cf2ecaa965ffcddc0c3d9" class="reference external" rel="external noopener noreferrer" target="_blank">f30bf0a</a>: [Security] add a text/plain body to the 401 and 403 responses of access_token firewalls</li>
<li><a href="https://github.com/symfony/symfony/commit/5d100262f5745ad58e87302821886de7461b406d" class="reference external" rel="external noopener noreferrer" target="_blank">5d10026</a>: [Config, SecurityBundle] make the resource of resource_metadata work across environments</li>
<li><a href="https://github.com/symfony/symfony/commit/8f35b8d54d6d422b9258bbd0ea3d53303871ffcf" class="reference external" rel="external noopener noreferrer" target="_blank">8f35b8d</a>: [Yaml] improve PHPDoc documentation</li>
<li><a href="https://github.com/symfony/symfony/commit/49d8ea3d78fda6918b2e86a05b47361346c5a5ce" class="reference external" rel="external noopener noreferrer" target="_blank">49d8ea3</a>: [Messenger] preserve locale routing context for async messages</li>
<li><a href="https://github.com/symfony/symfony/commit/2e82606203583acf71e73bd8cf84dd3d0216aa3b" class="reference external" rel="external noopener noreferrer" target="_blank">2e82606</a>: [DependencyInjection] merge configs forwarded by extension aliases in load order</li>
<li><a href="https://github.com/symfony/symfony/commit/6a4f6a2a0f6149078404956396645eaa73e5c5b9" class="reference external" rel="external noopener noreferrer" target="_blank">6a4f6a2</a>: [KeyManagement] rewrap data keys through wrapDataKey(), not encrypt()</li>
<li><a href="https://github.com/symfony/symfony/commit/f6b04e86a9301f11c6fb3aea7b8dc0a0f110d8c4" class="reference external" rel="external noopener noreferrer" target="_blank">f6b04e8</a>: [Scheduler] throw at compile time when the method of a task does not exist</li>
<li><a href="https://github.com/symfony/symfony/commit/7b237c84337cacc60cab582ce74a0a22cf7c5951" class="reference external" rel="external noopener noreferrer" target="_blank">7b237c8</a>: [DomCrawler] reduce allocations when looking up form fields</li>
<li><a href="https://github.com/symfony/symfony/commit/bc32bf99a655bcb480b9cc4b4b91bc685f494282" class="reference external" rel="external noopener noreferrer" target="_blank">bc32bf9</a>: [OptionsResolver] Short-circuit failed plain type checks</li>
<li><a href="https://github.com/symfony/symfony/commit/15ee23ef3d0e71651b2b0b5ce7e5c6c9c8c2510a" class="reference external" rel="external noopener noreferrer" target="_blank">15ee23e</a>: [JsonPath] append token results without repeated array merges</li>
<li><a href="https://github.com/symfony/symfony/commit/132687740e7f94ca60b9bc9e6444c9fbb76219f9" class="reference external" rel="external noopener noreferrer" target="_blank">1326877</a>: [HttpKernel, Security] let controllers handle the failures of their attributes</li>
<li><a href="https://github.com/symfony/symfony/commit/c5785805311079eb200fce0488588d4e77dbacda" class="reference external" rel="external noopener noreferrer" target="_blank">c578580</a>: [Config] avoid shifting serialized glob resource data</li>
<li><a href="https://github.com/symfony/symfony/commit/710c3277e2f1c37e34a5c93e972fc9d5cfb1c776" class="reference external" rel="external noopener noreferrer" target="_blank">710c327</a>: [JsonPath] accumulate recursive traversal results in one array</li>
<li><a href="https://github.com/symfony/symfony/commit/f6fddb6c090a79807ab6d77331e159be10b411fb" class="reference external" rel="external noopener noreferrer" target="_blank">f6fddb6</a>: [ObjectMapper] pass the names of the mapped properties to mapping-aware transformers</li>
<li><a href="https://github.com/symfony/symfony/commit/4a6928d61a8a2a17d40e9e541066da50412aaed0" class="reference external" rel="external noopener noreferrer" target="_blank">4a6928d</a>: [Form] guess renamed fields from their mapped properties</li>
<li><a href="https://github.com/symfony/symfony/commit/645cf05276f48eaa76aae184b60a89323bce636a" class="reference external" rel="external noopener noreferrer" target="_blank">645cf05</a>: [AssetMapper] log a warning when the compiled import map is missing</li>
<li><a href="https://github.com/symfony/symfony/commit/42cc149c4696992b1efa70714fdc93ef02ec8b3b" class="reference external" rel="external noopener noreferrer" target="_blank">42cc149</a>: [JsonSchema] preserve boolean subschemas during serialization</li>
<li><a href="https://github.com/symfony/symfony/commit/464917bcb85b16e4299abf34aba631a138ae71ad" class="reference external" rel="external noopener noreferrer" target="_blank">464917b</a>: [JsonSchema] inline references in siblings of $ref</li>
<li><a href="https://github.com/symfony/symfony/commit/ac5b0fe3e24d04604400d3378906147cb9c66dbd" class="reference external" rel="external noopener noreferrer" target="_blank">ac5b0fe</a>: [JsonSchema] handle boolean subschemas in anyOf branches and Choice items</li>
<li><a href="https://github.com/symfony/symfony/commit/b1f077614366d7c6ae5cb9e48650631f6143a870" class="reference external" rel="external noopener noreferrer" target="_blank">b1f0776</a>: [JsonSchema] encode maps as JSON objects and keep the values of non-schema keywords as is</li>
<li><a href="https://github.com/symfony/symfony/commit/a8613b90442e70a1623b89ec80c03b3da80a67e7" class="reference external" rel="external noopener noreferrer" target="_blank">a8613b9</a>: [JsonSchema] keep the keywords of the definition when flattening a $ref that has siblings</li>
<li><a href="https://github.com/symfony/symfony/commit/20f229aae028fc6093b1688e9d84540fcd9ef439" class="reference external" rel="external noopener noreferrer" target="_blank">20f229a</a>: [ErrorHandler] use get_exception_handler() when handling fatal errors</li>
<li><a href="https://github.com/symfony/symfony/commit/67752fac94b840cf4d127f2a7a862ede30b5bd72" class="reference external" rel="external noopener noreferrer" target="_blank">67752fa</a>: [Messenger] process a full batch in a dispatch of its own</li>
<li><a href="https://github.com/symfony/symfony/commit/70951de7271355cd67df86712e3218f3472e47f9" class="reference external" rel="external noopener noreferrer" target="_blank">70951de</a>: [Tui] add support for the Program Status Protocol (OSC 7501)</li>
<li><a href="https://github.com/symfony/symfony/commit/81878903c1e251ab9c1314a3b4304bedfa3d8cbe" class="reference external" rel="external noopener noreferrer" target="_blank">8187890</a>: [Security] let target_route apply to impersonation URLs built for a switch_user path</li>
<li><a href="https://github.com/symfony/symfony/commit/693991e4a2c550e6939138b5569c5d3a20cc0be4" class="reference external" rel="external noopener noreferrer" target="_blank">693991e</a>: [HttpFoundation] read the current request of RequestStack without end()</li>
<li><a href="https://github.com/symfony/symfony/commit/2b8cdc4de9f83e4d4f7233fd28b1d2e1e8d2c29c" class="reference external" rel="external noopener noreferrer" target="_blank">2b8cdc4</a>: [BrowserKit] preserve host-only cookies in string representations</li>
<li><a href="https://github.com/symfony/symfony/commit/3a79115de8bbb80cb764c9e638747f0f66f30376" class="reference external" rel="external noopener noreferrer" target="_blank">3a79115</a>: [KeyManagement] add KMIP 2.1 support</li>
<li><a href="https://github.com/symfony/symfony/commit/1ccc8b78359376a304bd23c752bf1a7ba94dedf9" class="reference external" rel="external noopener noreferrer" target="_blank">1ccc8b7</a>: [KeyManagement] add ChaCha20-Poly1305 support to KMIP</li>
</ul>
</div>
<div class="section">
<h2 id="symfony-ux-development-highlights"><a class="headerlink" href="#symfony-ux-development-highlights" title="Permalink to this headline">Symfony UX development highlights</a></h2>
<p><a href="https://github.com/symfony/ux/commits/3.x" class="reference external" rel="external noopener noreferrer" target="_blank">3.x changelog</a>:</p>
<ul>
    <li><a href="https://github.com/symfony/ux/commit/8e6c9a691f8ba0d6e9b857a653e7496ec23b1b09" class="reference external" rel="external noopener noreferrer" target="_blank">8e6c9a6</a>: [Toolkit] warn about copy-files destinations that skip the installation placeholders</li>
<li><a href="https://github.com/symfony/ux/commit/61b49f191d62ffdea0781f6c5542445c42744c75" class="reference external" rel="external noopener noreferrer" target="_blank">61b49f1</a>: [Toolkit, Common] add password-visibility recipe</li>
<li><a href="https://github.com/symfony/ux/commit/8b0127d2f880f2345592ce3fa8b64595ab0f3732" class="reference external" rel="external noopener noreferrer" target="_blank">8b0127d</a>: [LiveComponent] look up the Doctrine manager of an entity class once</li>
<li><a href="https://github.com/symfony/ux/commit/175bb480a554a6f57e1ddf576dc0f79405ea243f" class="reference external" rel="external noopener noreferrer" target="_blank">175bb48</a>: [CI] run only the tests of the packages a pull request affects</li>
<li><a href="https://github.com/symfony/ux/commit/462ab9b8e28d13fe4eceed4c6f148343f909bff1" class="reference external" rel="external noopener noreferrer" target="_blank">462ab9b</a>: [CI] run the tests of the bridges once their package is done</li>
<li><a href="https://github.com/symfony/ux/commit/ed98f374b6f8f96782792716063f59bea1b4c970" class="reference external" rel="external noopener noreferrer" target="_blank">ed98f37</a>: [Pkg] move the tooling devDependencies of the packages to the root package.json</li>
<li><a href="https://github.com/symfony/ux/commit/54110926057aef1c77f53b426b4d8bcccb321ba7" class="reference external" rel="external noopener noreferrer" target="_blank">5411092</a>: [Toolkit] fix the URL of the Flowbite kit</li>
<li><a href="https://github.com/symfony/ux/commit/3199e91f05e186f8425184fedee26fc3f5f3ecfc" class="reference external" rel="external noopener noreferrer" target="_blank">3199e91</a>: [LiveComponent] keep the route and its defaults on batch action sub-requests</li>
<li><a href="https://github.com/symfony/ux/commit/5edc329c026c0ed7a751d37eaea6e1c7ea60213e" class="reference external" rel="external noopener noreferrer" target="_blank">5edc329</a>: [Turbo] update the docs</li>
<li><a href="https://github.com/symfony/ux/commit/aacc82a733489894ce0d6bec9978a65377f18a7e" class="reference external" rel="external noopener noreferrer" target="_blank">aacc82a</a>: [Router, Translator] don't load the routes and translations when the container is built</li>
<li><a href="https://github.com/symfony/ux/commit/29b9641aa5ad29db9cbf64f81e4a7457b4d73d13" class="reference external" rel="external noopener noreferrer" target="_blank">29b9641</a>: [Turbo] keep the connected attribute of &lt;turbo-mercure-stream-source&gt; when morphing</li>
<li><a href="https://github.com/symfony/ux/commit/975c19ddbe8ba539641d2a15efac94369d11a1b2" class="reference external" rel="external noopener noreferrer" target="_blank">975c19d</a>: [LiveComponent] fix the default route of live components in the docs</li>
<li><a href="https://github.com/symfony/ux/commit/923f5fc20e90179887d05ea4a2dbe62e78245b75" class="reference external" rel="external noopener noreferrer" target="_blank">923f5fc</a>: [Turbo] link the docblock of TurboStream::refresh() to the page refreshes of Turbo</li>
<li><a href="https://github.com/symfony/ux/commit/d36b8a253d063b541660bfe37f3a9623d5607cd2" class="reference external" rel="external noopener noreferrer" target="_blank">d36b8a2</a>: [Image] add the IPX bridge</li>
<li><a href="https://github.com/symfony/ux/commit/f780f3561d9b727f28a12e89454e3e6beed29223" class="reference external" rel="external noopener noreferrer" target="_blank">f780f35</a>: [TwigComponent] rewrite the pre-lexer around a single scanner</li>
<li><a href="https://github.com/symfony/ux/commit/48f677c94d70a85a11ffd8c2fbaade448dbb53b5" class="reference external" rel="external noopener noreferrer" target="_blank">48f677c</a>: [TwigComponent] cache null results of computed properties</li>
<li><a href="https://github.com/symfony/ux/commit/8b1c27a587f6495fc4cb07ca36a878ad5a18b45b" class="reference external" rel="external noopener noreferrer" target="_blank">8b1c27a</a>: [TwigComponent] copy the context only when props override it</li>
<li><a href="https://github.com/symfony/ux/commit/2c45014137b8ec0b6c7688ba881d977eed791948" class="reference external" rel="external noopener noreferrer" target="_blank">2c45014</a>: [TwigComponent] set the parent template of embedded components before the render</li>
<li><a href="https://github.com/symfony/ux/commit/4034f547a0c07aa4be1635ddaa9171e8e2179a46" class="reference external" rel="external noopener noreferrer" target="_blank">4034f54</a>: [TwigComponent] run the outer blocks backtrace once per template method</li>
<li><a href="https://github.com/symfony/ux/commit/11551c6b713832f6d1624c2cdc7e34cf026b40f8" class="reference external" rel="external noopener noreferrer" target="_blank">11551c6</a>: [TwigComponent] use the warmed component properties cache</li>
<li><a href="https://github.com/symfony/ux/commit/0f57f9bac3298d316e7b51b66f767accc332cb76" class="reference external" rel="external noopener noreferrer" target="_blank">0f57f9b</a>: [Image] add the Imagor bridge</li>
<li><a href="https://github.com/symfony/ux/commit/c45cfabe7dc8b42b1cd225e1816a2130918ba6c0" class="reference external" rel="external noopener noreferrer" target="_blank">c45cfab</a>: [LiveComponent] reset the LiveResponder between requests</li>
<li><a href="https://github.com/symfony/ux/commit/9fedbe77754f9da7bbda963d554267d51c732637" class="reference external" rel="external noopener noreferrer" target="_blank">9fedbe7</a>: [Css] add the CSS component</li>
<li><a href="https://github.com/symfony/ux/commit/0b0498e99ecee3faf8231796b17dc6310dbfdb45" class="reference external" rel="external noopener noreferrer" target="_blank">0b0498e</a>: [Css] document token categories and complete the design tokens page</li>
<li><a href="https://github.com/symfony/ux/commit/2e154264c1040ebcf7eeede09a89acd624243d8e" class="reference external" rel="external noopener noreferrer" target="_blank">2e15426</a>: [Css] write the value of each color token to the reference file</li>
</ul>
</div>
<div class="section">
<h2 id="symfony-ai-development-highlights"><a class="headerlink" href="#symfony-ai-development-highlights" title="Permalink to this headline">Symfony AI development highlights</a></h2>
<p><a href="https://github.com/symfony/ai/commits/main" class="reference external" rel="external noopener noreferrer" target="_blank">Changelog</a>:</p>
<ul>
    <li><a href="https://github.com/symfony/ai/commit/91ebc451fe09e1066e9e4461754656d1f97a707f" class="reference external" rel="external noopener noreferrer" target="_blank">91ebc45</a>: [Agent, Platform] add a message store continuing and saving conversations by their ID</li>
<li><a href="https://github.com/symfony/ai/commit/393262d0ad6d96ce0bc76f533956e6e00d514baf" class="reference external" rel="external noopener noreferrer" target="_blank">393262d</a>: [Agent] return an ExecutionInterface that tells where the execution stands</li>
<li><a href="https://github.com/symfony/ai/commit/babf8c585854c4a71ebc5ce3a2411fc67985f35e" class="reference external" rel="external noopener noreferrer" target="_blank">babf8c5</a>: [AI Bundle, Agent, Chat] move the message store bridges to the Agent component and deprecate Chat</li>
<li><a href="https://github.com/symfony/ai/commit/5f51ee021ced07dcb1a293ac00a5f1a8b18c7e0a" class="reference external" rel="external noopener noreferrer" target="_blank">5f51ee0</a>: [Demo] keep the conversations of the chats in the agent message stores</li>
<li><a href="https://github.com/symfony/ai/commit/b3579bbe17327bf6933d0cfb19bfed2858b965f6" class="reference external" rel="external noopener noreferrer" target="_blank">b3579bb</a>: [Platform] fix Higgsfield image uploads and provider error handling</li>
<li><a href="https://github.com/symfony/ai/commit/a414bd34629b3bdb19062c6051d31d09672bd19d" class="reference external" rel="external noopener noreferrer" target="_blank">a414bd3</a>: [AI Bundle, Chat] remove the Chat component</li>
<li><a href="https://github.com/symfony/ai/commit/f620d0fc67907ef4446c29cbecb90bc33ee67ea2" class="reference external" rel="external noopener noreferrer" target="_blank">f620d0f</a>: prep Release v1.0-BETA1</li>
<li><a href="https://github.com/symfony/ai/commit/15b96fb03d9aaa39821ab81241735e306e600cc3" class="reference external" rel="external noopener noreferrer" target="_blank">15b96fb</a>: [Platform] send an empty object schema for a tool without parameters</li>
<li><a href="https://github.com/symfony/ai/commit/04714cdf21adef96c38cbe78d74e9018bbd50df1" class="reference external" rel="external noopener noreferrer" target="_blank">04714cd</a>: [Platform] add null to the enum of nullable properties in JSON schemas</li>
<li><a href="https://github.com/symfony/ai/commit/b1db57e1f1283ba933cd53844b7389e26e6e83be" class="reference external" rel="external noopener noreferrer" target="_blank">b1db57e</a>: [Platform] stream the string answers of MockPlatformFactory when the call streams</li>
<li><a href="https://github.com/symfony/ai/commit/6319c9be015d6fb136aab72c901ba7f7cbfd15e2" class="reference external" rel="external noopener noreferrer" target="_blank">6319c9b</a>: [Platform, Generic] keep a text to embed as is instead of turning it into messages</li>
<li><a href="https://github.com/symfony/ai/commit/d7667c67fd412b910288aa3d68ffebf01c2c582e" class="reference external" rel="external noopener noreferrer" target="_blank">d7667c6</a>: [MCP Bundle] let php-http/discovery install a PSR-17 implementation</li>
<li><a href="https://github.com/symfony/ai/commit/5bbe9ea7b9fa49ecddc48e4ab7986459321f3dd5" class="reference external" rel="external noopener noreferrer" target="_blank">5bbe9ea</a>: [Mate] recognize php.exe as the interpreter when probing the PHP version</li>
<li><a href="https://github.com/symfony/ai/commit/a76eeafa74c0b5f4eb3b57ed53918a416d46a7f0" class="reference external" rel="external noopener noreferrer" target="_blank">a76eeaf</a>: [Agent] add ToolErrorException to tell the model why a tool call failed</li>
<li><a href="https://github.com/symfony/ai/commit/54b57e96b843f8cae5db7b620cc8019a4b47e762" class="reference external" rel="external noopener noreferrer" target="_blank">54b57e9</a>: [MCP Bundle] require psr/simple-cache for the cache session store and notification bus</li>
<li><a href="https://github.com/symfony/ai/commit/dc1acce08cc4421ef2edd8bb702cebd5997d55b4" class="reference external" rel="external noopener noreferrer" target="_blank">dc1acce</a>: [Agent] build the text sent to the model with line feeds on every platform</li>
<li><a href="https://github.com/symfony/ai/commit/070c57b8807841432bacfd94eed5fb214d198454" class="reference external" rel="external noopener noreferrer" target="_blank">070c57b</a>: [Platform, Ollama] send the options of a model name as options, not as part of the name</li>
<li><a href="https://github.com/symfony/ai/commit/e704b28082f0a746cab1a14247a2990c3ce14cce" class="reference external" rel="external noopener noreferrer" target="_blank">e704b28</a>: [Platform] prune models missing from upstream catalogs</li>
<li><a href="https://github.com/symfony/ai/commit/53967e2ed911ff01407243730d029ef1eb1ad5de" class="reference external" rel="external noopener noreferrer" target="_blank">53967e2</a>: [Platform, Cache] keep the phase of texts in the cache bridge and the recording serializer</li>
<li><a href="https://github.com/symfony/ai/commit/d0f104859b369e93d94d4f1c8cd7d36149619f1f" class="reference external" rel="external noopener noreferrer" target="_blank">d0f1048</a>: [Platform] yield no partial object for an empty structure</li>
<li><a href="https://github.com/symfony/ai/commit/5496373ad1b0dec102e0206e110d8de071f66f23" class="reference external" rel="external noopener noreferrer" target="_blank">5496373</a>: [Platform, Generic] read an error's reason from a top-level "message" too</li>
<li><a href="https://github.com/symfony/ai/commit/0777441e9505ee6e909dfa5e254cc8d174d58374" class="reference external" rel="external noopener noreferrer" target="_blank">0777441</a>: [Platform] keep the listeners of a stream that TraceablePlatform traces</li>
<li><a href="https://github.com/symfony/ai/commit/643e02c60c169bb02a59d02447e501a4edf6ba8c" class="reference external" rel="external noopener noreferrer" target="_blank">643e02c</a>: [AI Bundle] fix the Doctrine message store alias pointing to a non-existent service</li>
</ul>
</div>
<div class="section">
<h2 id="newest-issues-and-pull-requests"><a class="headerlink" href="#newest-issues-and-pull-requests" title="Permalink to this headline">Newest issues and pull requests</a></h2>
<ul>
    <li><a href="https://github.com/symfony/symfony/issues/67534" class="reference external" rel="external noopener noreferrer" target="_blank">[RFC][ORM] Evaluate a Symfony ORM component against enterprise persistence requirements</a></li>
<li><a href="https://github.com/symfony/symfony/pull/67525" class="reference external" rel="external noopener noreferrer" target="_blank">[ErrorHandler][FrameworkBundle][HttpKernel] Log each deprecation only once when not in debug mode</a></li>
<li><a href="https://github.com/symfony/symfony/pull/67608" class="reference external" rel="external noopener noreferrer" target="_blank">[Console][Scheduler] Add isolated process execution for scheduled commands</a></li>
<li><a href="https://github.com/symfony/symfony/pull/67688" class="reference external" rel="external noopener noreferrer" target="_blank">[Messenger] Add the consumable option of transports</a></li>
<li><a href="https://github.com/symfony/symfony/pull/67604" class="reference external" rel="external noopener noreferrer" target="_blank">[HttpKernel][Messenger][WebProfilerBundle] Profile each message consumed by a worker</a></li>
</ul>
</div>
<div class="section">
<h2 id="symfony-jobs"><a class="headerlink" href="#symfony-jobs" title="Permalink to this headline">Symfony Jobs</a></h2>
<p>These are some of the most recent Symfony job offers:</p>
<ul>
    <li>
        <strong>Backend Symfony Developer</strong> at Hays<br>
        Full-time - €50,000 – €55,000 / year<br>
        Spain Remote + part-time onsite (Madrid, Spain)<br>
        <a href="https://symfony.com/jobs/63be2a2">View details</a>
    </li>
    <li>
        <strong>Symfony Trainer</strong> at SensioLabs<br>
        Full-time - €50,000 / year<br>
        France Remote + part-time onsite (Asnières-sur-Seine, France)<br>
        <a href="https://symfony.com/jobs/b552236">View details</a>
    </li>
    <li>
        <strong>Lead Symfony Developer</strong> at Tenth Revolution Group<br>
        Full-time - up to €50,000 / year<br>
        France Remote + part-time onsite (Lyon, France)<br>
        <a href="https://symfony.com/jobs/1091a79">View details</a>
    </li>
    <li>
        <strong>CTO for a Symfony project</strong> at OpenDecide<br>
        Full-time - €75,000 – €85,000 / year<br>
        France Remote + part-time onsite (Toulouse, Paris, France)<br>
        <a href="https://symfony.com/jobs/9739e7c">View details</a>
    </li>
    <li>
        <strong>Backend Symfony Developer</strong> at Opus Recruitment Solutions<br>
        Full-time - up to €70,000 / year<br>
        France Remote + part-time onsite (Paris, France)<br>
        <a href="https://symfony.com/jobs/9d565a0">View details</a>
    </li>
</ul>
<p>You can <a href="https://symfony.com/jobs" class="reference external">publish a Symfony job offer for free</a> on symfony.com.</p>
</div>
<div class="section">
<h2 id="symfonycasts-updates"><a class="headerlink" href="#symfonycasts-updates" title="Permalink to this headline">SymfonyCasts Updates</a></h2>
<p><a href="https://symfonycasts.com/" class="reference external" rel="external noopener noreferrer" target="_blank">SymfonyCasts</a> is the official way to learn Symfony.
Select a track for a guided path through 100+ video tutorial courses about
Symfony, PHP and JavaScript.</p>
<p>This week, SymfonyCasts published the following updates:</p>
<ul>
    <li>(Video) <a href="https://symfonycasts.com/screencast/symfony8-security-extra/rate-limit-registration" class="reference external" rel="external noopener noreferrer" target="_blank">Symfony Security: Going Further: Rate Limiting the Registration Form</a></li>
</ul>
</div>
<div class="section">
<h2 id="they-talked-about-us"><a class="headerlink" href="#they-talked-about-us" title="Permalink to this headline">They talked about us</a></h2>
<ul>
    <li><a href="https://johanneswachter.dev/blog/minimal-rag-pipeline-symfony-ai/" class="reference external" rel="external noopener noreferrer" target="_blank">Building a minimal RAG pipeline with Symfony AI</a></li>
<li><a href="https://dev.to/oipnet/sharing-a-symfony-project-in-a-url-without-storing-anything-1ohe" class="reference external" rel="external noopener noreferrer" target="_blank">Sharing a Symfony project in a URL, without storing anything</a></li>
<li><a href="https://dev.to/oipnet/two-factor-authentication-with-symfony-82-one-authenticator-one-voter-and-thats-it-1hpf" class="reference external" rel="external noopener noreferrer" target="_blank">Two-factor authentication with Symfony 8.2: one authenticator, one voter, and that's it</a></li>
<li><a href="https://johanneswachter.dev/blog/symfony-ai-beta-and-hackathon/" class="reference external" rel="external noopener noreferrer" target="_blank">Symfony AI 1.0.0-BETA1 and a hackathon to break it</a></li>
<li><a href="https://dev.to/slaweally/why-i-abandoned-legacy-cms-bloat-to-build-an-unshakable-application-core-in-php-84-symfony-74-51bb" class="reference external" rel="external noopener noreferrer" target="_blank">Why I Abandoned Legacy CMS Bloat to Build an Unshakable Application Core in PHP 8.4 &amp; Symfony 7.4</a></li>
<li><a href="https://dev.to/oipnet/encrypting-columns-with-symfony-82-what-encrypted-protects-and-what-it-doesnt-5b3o" class="reference external" rel="external noopener noreferrer" target="_blank">Encrypting columns with Symfony 8.2: what #[Encrypted] protects, and what it doesn't</a></li>
<li><a href="https://dev.to/oipnet/400-or-422-designing-validation-errors-for-a-symfony-api-2lp6" class="reference external" rel="external noopener noreferrer" target="_blank">400 or 422? Designing validation errors for a Symfony API</a></li>
<li><a href="https://www.acceseo.com/usando-symfony-tui-jev-para-mostrar-un-visor-de-logs-interactivo.html" class="reference external" rel="external noopener noreferrer" target="_blank">Usando Symfony TUI + Jev para mostrar un visor de logs interactivo</a></li>
<li><a href="https://medium.com/@ahmed-zouabi/symfony-8-2-le-message-nest-jamais-parti-ou-il-a-%C3%A9t%C3%A9-trait%C3%A9-deux-fois-fc9d1973f6a4" class="reference external" rel="external noopener noreferrer" target="_blank">Symfony 8.2 : le message n’est jamais parti. Ou il a été traité deux fois.</a></li>
</ul>
</div>
<div class="section">
<h2 id="call-to-action"><a class="headerlink" href="#call-to-action" title="Permalink to this headline">Call to Action</a></h2>
<ul>
    <li>Follow Symfony <a href="https://x.com/symfony" class="reference external" rel="external noopener noreferrer" target="_blank">on X</a>, <a href="https://mastodon.social/@symfony" class="reference external" rel="external noopener noreferrer" target="_blank">on Mastodon</a>, <a href="https://bsky.app/profile/symfony.com" class="reference external" rel="external noopener noreferrer" target="_blank">on Bluesky</a> and <a href="https://www.threads.net/@symfony" class="reference external" rel="external noopener noreferrer" target="_blank">on Threads</a> and share this article.</li>
<li><a href="https://feeds.feedburner.com/symfony/blog" class="reference external" rel="external noopener noreferrer" target="_blank">Subscribe to the Symfony blog RSS</a> and never miss a Symfony story again.</li>
</ul>
</div>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/a-week-of-symfony-1035-october-26-november-1-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Javier Eguiluz ]]></dc:creator>
            <pubDate>Sun, 01 Nov 2026 09:12:00 +0100</pubDate>
            <comments>https://symfony.com/blog/a-week-of-symfony-1035-october-26-november-1-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>SymfonyCon Warsaw 2026: Headless vs Monolith: The Final Battle</title>
            <link>https://symfony.com/blog/symfonycon-warsaw-2026-headless-vs-monolith-the-final-battle?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


Let&#039;s meet up in Poland! SymfonyCon Warsaw 2026 brings the international PHP and Symfony community together on November 26-27. Come for the 3 talk tracks, stay for the people.



🎤 Speaker announcement

Mark your calendars for Gracjan Józefczyk, Backend…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-warsaw-con" title="Nl Blog Banner">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner.png" alt="Nl Blog Banner">
</a></p>

<p>Let's meet up in Poland! <strong><a href="https://live.symfony.com/2026-warsaw-con/">SymfonyCon Warsaw 2026</a></strong> brings the international PHP and Symfony community together on November 26-27. Come for the 3 talk tracks, stay for the people.</p>

<hr />

<h3>🎤 Speaker announcement</h3>

<p>Mark your calendars for <strong><a href="https://connect.symfony.com/profile/gracjanjozefczyk">Gracjan Józefczyk</a></strong>, Backend Developer, Sylius, who will explore <strong><a href="https://live.symfony.com/2026-warsaw-con/schedule/headless-vs-monolith-the-final-battle">Headless vs Monolith: The Final Battle</a></strong>. We're thrilled to host him for this session!</p>

<p>"Should your next Symfony application be headless, or should it remain a monolith?</p>

<p>In e-commerce, this is often one of the first architectural questions teams need to answer. Clients want modern, dynamic, responsive user experiences. Developers want maintainable systems. Businesses want fast delivery, good SEO, reasonable costs, and the ability to evolve the product over time.</p>

<p>For a long time, the discussion has often been presented as a binary choice: either we build a traditional server-rendered application, or we move to a fully headless architecture with a separate frontend application. Both options have strong arguments. Both also come with hidden costs.</p>

<p>In this talk, we will compare both approaches from a practical Symfony perspective. We will look at SEO, performance, responsiveness, frontend flexibility, team workflow, deployment complexity, maintaining multiple repositories, and the long-term cost of ownership.</p>

<p>But the main goal of this talk is not to declare a single winner.</p>

<p>Instead, we will ask a more useful question: do Symfony teams still have to choose between a classic monolith and a fully headless architecture?</p>

<p>Thanks to Symfony UX, Live Components, Twig Components, and the ability to use React or Vue components directly inside Twig, Symfony gives us a powerful middle ground. We can keep the productivity, simplicity, and SEO advantages of a traditional Symfony application, while progressively introducing dynamic, interactive frontend experiences exactly where they bring real value.</p>

<p>I will share how we successfully implemented this approach in Sylius, what we learned from the e-commerce world, and how these lessons can help Symfony teams build modern, dynamic applications without immediately turning every project into a fully headless architecture.</p>

<p>Attendees will leave with a practical framework for deciding when to stay with a monolith, when to go headless, and when a hybrid Symfony architecture can give them the best of both worlds."</p>

<p>Click here to see more <strong><a href="https://live.symfony.com/2026-warsaw-con/schedule">talks</a></strong>. The full schedule will be unveiled step-by-step over the coming weeks. Stay tuned!</p>

<h3>Ready to join us?</h3>

<h3>🏨 Accommodation</h3>

<p>The official conference hotel offers special preferential rates and flexible conditions for our attendees. Make sure to use our <strong><a href="https://www.hilton.com/en/book/reservation/rooms/?ctyhocn=WAWHIHI&amp;arrivalDate=2026-11-23&amp;departureDate=2026-11-29&amp;groupCode=GSYMDP&amp;room1NumAdults=1">dedicated link</a></strong> to book your room and stay right where the action happens!</p>

<h3>🥳 Save the date for the Community Party!</h3>

<p>Because SymfonyCon isn't just about code, we are happy to confirm that our traditional Community Party will take place on the evening of <strong>Thursday, November 26</strong>. Get ready for a great night of networking, fun, and connecting with peers!</p>

<h3>💻 Hackday</h3>

<p>Ready to contribute? The Hackday on <strong>Saturday, November 28</strong> (free and open to all!) will take place at "The Brain Embassy - Czackiego" thanks to the support of <a href="https://baksla.sh/">Baksla.sh</a>. Bring your laptop and your good mood!</p>

<h3>🎟️ Get your tickets</h3>

<p>Tickets are available here: <strong><a href="https://live.symfony.com/2026-warsaw-con/registration">Secure your ticket today!</a></strong></p>

<hr />

<h3>Join us online!</h3>

<p>💡Follow the "conference" blog posts to not miss anything!</p>

<p>Want the latest Symfony updates? Follow us and tune in from wherever you are 🌎</p>

<p><a class="block text-center" href="https://linktr.ee/symfony">
   <img src="https://symfony.com/uploads/assets/blog/Banner-BLOG.png" alt="Banner Blog">
</a></p>

                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/symfonycon-warsaw-2026-headless-vs-monolith-the-final-battle?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Mélyne FREUZE ]]></dc:creator>
            <pubDate>Fri, 30 Oct 2026 14:30:00 +0100</pubDate>
            <comments>https://symfony.com/blog/symfonycon-warsaw-2026-headless-vs-monolith-the-final-battle?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>New in Symfony 8.2: Recovering from Controller Attribute Failures</title>
            <link>https://symfony.com/blog/new-in-symfony-8-2-recovering-from-controller-attribute-failures?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    
                    
                
            
            
    
        Contributed by
                    Kevin Bond
                                         in
                                    #67563…</description>
            <content:encoded><![CDATA[
                                <div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://connect.symfony.com/profile/kbond">
                <img src="https://connect.symfony.com/profile/kbond.picture" alt="Kevin Bond">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://connect.symfony.com/profile/kbond">Kevin Bond</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/symfony/pull/67563">#67563</a>
                                                </span>
            </div>
</div>
<p>Controller attributes like <code translate="no" class="notranslate">#[IsCsrfTokenValid]</code>, <code translate="no" class="notranslate">#[IsSignatureValid]</code>,
<code translate="no" class="notranslate">#[Lock]</code> and <code translate="no" class="notranslate">#[RateLimit]</code> keep your controllers short by moving common
checks out of them. When a check fails, Symfony throws an exception and the user
gets an error response.</p>
<p>This is fine for APIs, but in HTML applications you may want to handle things
differently. For example, if an email confirmation link has expired, you might
prefer to show a helpful message and redirect the user. Until now, handling this
in the controller meant removing the attribute and doing the check yourself.</p>
<p>In Symfony 8.2, <strong>controllers can recover from attribute failures</strong>. Add a
nullable argument typed with the attribute's exception. If the check fails,
Symfony passes the exception to that argument and calls the controller:</p>
<div translate="no" data-loc="16" class="notranslate codeblock codeblock-length-md codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-keyword">use</span> <span class="hljs-title">Symfony</span>\<span class="hljs-title">Component</span>\<span class="hljs-title">HttpFoundation</span>\<span class="hljs-title">Exception</span>\<span class="hljs-title">SignedUriException</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">Symfony</span>\<span class="hljs-title">Component</span>\<span class="hljs-title">HttpFoundation</span>\<span class="hljs-title">Response</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">Symfony</span>\<span class="hljs-title">Component</span>\<span class="hljs-title">HttpKernel</span>\<span class="hljs-title">Attribute</span>\<span class="hljs-title">IsSignatureValid</span>;
<span class="hljs-comment">// ...</span>

<span class="hljs-meta">#[IsSignatureValid]</span>
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">verifyEmail</span><span class="hljs-params">(?SignedUriException <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>signatureError</span> = <span class="hljs-keyword">null</span>)</span>: <span class="hljs-title">Response</span>
</span>{
    <span class="hljs-keyword">if</span> (<span class="hljs-keyword">null</span> !== <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>signatureError</span>) {
        <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>this</span>-&gt;<span class="hljs-title invoke__">addFlash</span>(<span class="hljs-string">'error'</span>, <span class="hljs-string">'This link is invalid or has expired.'</span>);

        <span class="hljs-keyword">return</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>this</span>-&gt;<span class="hljs-title invoke__">redirectToRoute</span>(<span class="hljs-string">'app_login'</span>);
    }

    <span class="hljs-comment">// ...</span>
}</code></pre>
    </div>
</div>
<p>This works with the following attributes and exceptions:</p>
<ul>
    <li><code translate="no" class="notranslate">#[IsCsrfTokenValid]</code>: <code translate="no" class="notranslate">InvalidCsrfTokenException</code></li>
<li><code translate="no" class="notranslate">#[IsSignatureValid]</code>: <code translate="no" class="notranslate">SignedUriException</code></li>
<li><code translate="no" class="notranslate">#[Lock]</code>: <code translate="no" class="notranslate">LockConflictedException</code></li>
<li><code translate="no" class="notranslate">#[RateLimit]</code>: <code translate="no" class="notranslate">RateLimitExceededException</code></li>
</ul>
<p>The argument's type determines which failures you handle. Use a subclass to be
more specific (e.g. <code translate="no" class="notranslate">?ExpiredSignedUriException</code>, a subclass of
<code translate="no" class="notranslate">SignedUriException</code>, handles only expired links) or a union type to handle
failures from several attributes:</p>
<div translate="no" data-loc="17" class="notranslate codeblock codeblock-length-md codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-meta">#[IsCsrfTokenValid(<span class="hljs-string">'delete-post'</span>)]</span>
<span class="hljs-meta">#[RateLimit(<span class="hljs-string">'delete_post'</span>)]</span>
<span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">delete</span><span class="hljs-params">(
    Post <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>post</span>,
    InvalidCsrfTokenException|RateLimitExceededException|<span class="hljs-keyword">null</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>failure</span> = <span class="hljs-keyword">null</span>,
)</span>: <span class="hljs-title">Response</span> </span>{
    <span class="hljs-keyword">if</span> (<span class="hljs-keyword">null</span> !== <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>failure</span>) {
        <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>this</span>-&gt;<span class="hljs-title invoke__">addFlash</span>(<span class="hljs-string">'error'</span>, match (<span class="hljs-keyword">true</span>) {
            <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>failure</span> <span class="hljs-keyword">instanceof</span> InvalidCsrfTokenException =&gt; <span class="hljs-string">'Your session expired. Please try again.'</span>,
            <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>failure</span> <span class="hljs-keyword">instanceof</span> RateLimitExceededException =&gt; <span class="hljs-string">'Too many deletions. Please try again later.'</span>,
        });

        <span class="hljs-keyword">return</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>this</span>-&gt;<span class="hljs-title invoke__">redirectToRoute</span>(<span class="hljs-string">'post_show'</span>, [<span class="hljs-string">'id'</span> =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>post</span>-&gt;<span class="hljs-title invoke__">getId</span>()]);
    }

    <span class="hljs-comment">// ...</span>
}</code></pre>
    </div>
</div>
<p>Controllers without these arguments behave as before. Keep in mind that when
the controller receives the exception, it runs anyway, so it must check the
argument. That's why <code translate="no" class="notranslate">#[IsGranted]</code> never passes its failures to the
controller: forgetting that check would let users run actions they aren't
allowed to.</p>
<p>You can enable the same behavior for your own attributes with the new
<code translate="no" class="notranslate">#[RecoverableAttribute]</code>. See the <a href="https://symfony.com/doc/current/controller.html#controller-attribute-failures" class="reference external">controller attributes documentation</a> for
details.</p>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/new-in-symfony-8-2-recovering-from-controller-attribute-failures?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Javier Eguiluz ]]></dc:creator>
            <pubDate>Fri, 30 Oct 2026 09:26:00 +0100</pubDate>
            <comments>https://symfony.com/blog/new-in-symfony-8-2-recovering-from-controller-attribute-failures?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>SymfonyCon Warsaw 2026: Symfony Mate: From Hallway Idea to Daily Driver</title>
            <link>https://symfony.com/blog/symfonycon-warsaw-2026-symfony-mate-from-hallway-idea-to-daily-driver?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


Let&#039;s meet up in Poland! SymfonyCon Warsaw 2026 brings the international PHP and Symfony community together on November 26-27. Come for the 3 talk tracks, stay for the people.



🎤 Speaker announcement

Mark your calendars for Johannes Wachter, Core…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-warsaw-con" title="Nl Blog Banner">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner.png" alt="Nl Blog Banner">
</a></p>

<p>Let's meet up in Poland! <strong><a href="https://live.symfony.com/2026-warsaw-con/">SymfonyCon Warsaw 2026</a></strong> brings the international PHP and Symfony community together on November 26-27. Come for the 3 talk tracks, stay for the people.</p>

<hr />

<h3>🎤 Speaker announcement</h3>

<p>Mark your calendars for <strong><a href="https://connect.symfony.com/profile/wjohannes">Johannes Wachter</a></strong>, Core Developer, Sulu, who will explore <strong><a href="https://live.symfony.com/2026-warsaw-con/schedule/symfony-mate-from-hallway-idea-to-daily-driver">Symfony Mate: From Hallway Idea to Daily Driver</a></strong>. We're thrilled to host him for this session!</p>

<p>"Mate started as a hallway conversation at SymfonyCon Amsterdam 2025. A few weeks later it shipped in Symfony AI 0.1, and in April it had its first public outing at SymfonyLive Berlin. Now it comes back to the conference where it began.</p>

<p>You'll learn what Mate is, the principles behind it, and how it gives coding agents real insight into a running Symfony application. Then we'll look at the two biggest changes since Berlin. Mate dropped its MCP server for a native CLI, after we measured how agents actually discover and use tools. And Agent Skills now ship with the packages they belong to, so the people who build a bundle can also teach agents how to use it.</p>

<p>There will be a live demo, and I'll be honest about the wrong turns along the way."</p>

<p>Click here to see more <strong><a href="https://live.symfony.com/2026-warsaw-con/schedule">talks</a></strong>. The full schedule will be unveiled step-by-step over the coming weeks. Stay tuned!</p>

<h3>Ready to join us?</h3>

<h3>🏨 Accommodation</h3>

<p>The official conference hotel offers special preferential rates and flexible conditions for our attendees. Make sure to use our <strong><a href="https://www.hilton.com/en/book/reservation/rooms/?ctyhocn=WAWHIHI&amp;arrivalDate=2026-11-23&amp;departureDate=2026-11-29&amp;groupCode=GSYMDP&amp;room1NumAdults=1">dedicated link</a></strong> to book your room and stay right where the action happens!</p>

<h3>🥳 Save the date for the Community Party!</h3>

<p>Because SymfonyCon isn't just about code, we are happy to confirm that our traditional Community Party will take place on the evening of <strong>Thursday, November 26</strong>. Get ready for a great night of networking, fun, and connecting with peers!</p>

<h3>💻 Hackday</h3>

<p>Ready to contribute? The Hackday on <strong>Saturday, November 28</strong> (free and open to all!) will take place at "The Brain Embassy - Czackiego" thanks to the support of <a href="https://baksla.sh/">Baksla.sh</a>. Bring your laptop and your good mood!</p>

<h3>🎟️ Get your tickets</h3>

<p>Tickets are available here: <strong><a href="https://live.symfony.com/2026-warsaw-con/registration">Secure your ticket today!</a></strong></p>

<hr />

<h3>Join us online!</h3>

<p>💡Follow the "conference" blog posts to not miss anything!</p>

<p>Want the latest Symfony updates? Follow us and tune in from wherever you are 🌎</p>

<p><a class="block text-center" href="https://linktr.ee/symfony">
   <img src="https://symfony.com/uploads/assets/blog/Banner-BLOG.png" alt="Banner Blog">
</a></p>

                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/symfonycon-warsaw-2026-symfony-mate-from-hallway-idea-to-daily-driver?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Mélyne FREUZE ]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 14:30:00 +0100</pubDate>
            <comments>https://symfony.com/blog/symfonycon-warsaw-2026-symfony-mate-from-hallway-idea-to-daily-driver?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>Symfony AI &amp; MCP Hackathon: Meet the Jury, and What You Can Win</title>
            <link>https://symfony.com/blog/symfony-ai-and-mcp-hackathon-meet-the-jury-and-what-you-can-win?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>The Symfony AI &amp;amp; MCP Hackathon is under way,
and two things that were missing on day one are now live on the site: the people
who will judge it, and what the top three teams take home.

The jury
Four experts across three seats, and we are grateful to…</description>
            <content:encoded><![CDATA[
                                <p>The <a href="https://symfony.com/hackathon" class="reference external">Symfony AI &amp; MCP Hackathon</a> is under way,
and two things that were missing on day one are now live on the site: the people
who will judge it, and what the top three teams take home.</p>
<div class="section">
<h2 id="the-jury"><a class="headerlink" href="#the-jury" title="Permalink to this headline">The jury</a></h2>
<p>Four experts across three seats, and we are grateful to all of them for giving
the time:</p>
<div class="figure">
    <img alt="Symfony AI Hackathon Jury" class="align-center" src="https://symfony.com/uploads/assets/blog/symfony-ai-hackathon-jury.png">
</div>
<ul>
    <li><strong>David Soria Parra &amp; Den Delimarsky</strong> — MCP Co-Creator &amp; Lead Maintainer;
Members of Technical Staff at Anthropic</li>
<li><strong>Nico Martin</strong> — Machine Learning Engineer at Hugging Face; Google Developer
Expert in AI and web technologies</li>
<li><strong>Brent Roose</strong> — Board member at The PHP Foundation; Developer Advocate for
PHP at JetBrains</li>
</ul>
<p>They will try your project, watch your video and read your code. Which is worth
keeping in mind: a repository a judge can clone and run counts for a great deal
more than a polished description of one.</p>
</div>
<div class="section">
<h2 id="the-prizes"><a class="headerlink" href="#the-prizes" title="Permalink to this headline">The prizes</a></h2>
<p>For the top four teams:</p>
<div class="figure">
    <img alt="Prizes Symfony Ai Hackathon" class="align-center" src="https://symfony.com/uploads/assets/blog/prizes-symfony-ai-hackathon.png">
</div>
<ul>
    <li><strong>1st — Robot Dog Bittle</strong>, A Programmable Robot Pet, from <a href="https://packagist.com" class="reference external" rel="external noopener noreferrer" target="_blank">Private Packagist</a></li>
<li><strong>2st — SymfonyCon 2027 VIP Ticket</strong>, or a Symfony Certification Voucher, from
<a href="https://symfony.com" class="reference external">Symfony</a></li>
<li><strong>3rd — Retro Radio</strong>, LEGO® Icons #10334, from <a href="https://sensiolabs.com" class="reference external" rel="external noopener noreferrer" target="_blank">SensioLabs</a></li>
<li><strong>4th — Smart Pixel Clock</strong>, plus a Sulu hoodie, backpack &amp; more, from
<a href="https://sulu.io" class="reference external" rel="external noopener noreferrer" target="_blank">Sulu</a></li>
</ul>
<p>For each of the top three teams <strong>One JetBrains All Products Pack license for a year</strong>, from
<a href="https://www.jetbrains.com" class="reference external" rel="external noopener noreferrer" target="_blank">JetBrains</a>. And every participant can claim <strong>$20
of Inference Providers credits</strong> from
<a href="https://huggingface.co" class="reference external" rel="external noopener noreferrer" target="_blank">Hugging Face</a> to prototype with the models on the
Hub.</p>
<p>Thank you to all of them, for backing a hackathon whose entire purpose is to
find out what is still broken.</p>
</div>
<div class="section">
<h2 id="how-it-ends"><a class="headerlink" href="#how-it-ends" title="Permalink to this headline">How it ends</a></h2>
<p>Submissions close on <strong>22 November 2026 at 18:00 CET</strong>. A public repository
anyone can clone and run, and a 90-second video of the real thing — that is the
whole deliverable, and you can keep editing until the deadline.</p>
<p>The winners are announced <strong>on stage at SymfonyCon Warsaw</strong>, four days later on
26–27 November, and here on the blog straight afterwards.</p>
<p>Everything — the full jury, the prize details and the brief — is at
<a href="https://symfony.com/hackathon" class="reference external">symfony.com/hackathon</a>. There is still time
to start something.</p>
</div>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/symfony-ai-and-mcp-hackathon-meet-the-jury-and-what-you-can-win?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Christopher Hertel ]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 11:30:00 +0100</pubDate>
            <comments>https://symfony.com/blog/symfony-ai-and-mcp-hackathon-meet-the-jury-and-what-you-can-win?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>New in Symfony 8.2: Cross-Application Messaging</title>
            <link>https://symfony.com/blog/new-in-symfony-8-2-cross-application-messaging?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Messenger transports often connect your Symfony application to other
applications, which may not use Symfony or even PHP. For example, a shop
publishes its orders to RabbitMQ and an invoicing service written in Go consumes
them. Symfony 8.2 adds a new serializer…</description>
            <content:encoded><![CDATA[
                                <p><a href="https://symfony.com/messenger" class="reference external">Messenger</a> transports often connect your Symfony application to other
applications, which may not use Symfony or even PHP. For example, a shop
publishes its orders to RabbitMQ and an invoicing service written in Go consumes
them. Symfony 8.2 adds a <strong>new serializer</strong> for these shared transports and lets
all applications <strong>keep the identity of each message</strong>.</p>
<div class="section">
<h2 id="exchanging-messages-with-other-applications"><a class="headerlink" href="#exchanging-messages-with-other-applications" title="Permalink to this headline">Exchanging Messages with Other Applications</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://connect.symfony.com/profile/nikophil">
                <img src="https://connect.symfony.com/profile/nikophil.picture" alt="Nicolas Philippe">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://connect.symfony.com/profile/nikophil">Nicolas Philippe</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/symfony/pull/66574">#66574</a>
                                                </span>
            </div>
</div>
<p>Messenger's Symfony serializer includes <a href="https://symfony.com/doc/current/messenger.html#envelopes-stamps" class="reference external">envelope stamps</a> alongside the message.
This works well when the sending and receiving applications share the same
configuration, but can cause problems when they don't.</p>
<p>For example, the receiving application can't decode a stamp whose class isn't
installed. A <code translate="no" class="notranslate">BusNameStamp</code> can also tell its worker to use <a href="https://symfony.com/doc/current/messenger.html#multiple-buses-command-event-buses" class="reference external">a bus</a> that
doesn't exist there, causing an error.</p>
<p>Symfony 8.2 adds the <code translate="no" class="notranslate">messenger.transport.interop_serializer</code> service. It
sends messages <strong>without their stamps</strong> and ignores the stamps of the messages
it receives. Use it in all the Symfony applications that share the transport:</p>
<div class="configuration-block">
    <div role="tablist" aria-label="Configuration formats" class="configuration-tabs configuration-tabs-length-2">
                    <button role="tab" type="button" data-language="yaml" aria-controls="configuration-block-tabpanel-347263ed91d81dd3825f2bc51fc4167e41b4af21" aria-selected="true" data-active="true">
                <span>YAML</span>
            </button>
                    <button role="tab" type="button" data-language="php" aria-controls="configuration-block-tabpanel-6c13021cc7eab71577c5aebeb3ad9691e42ea49e" aria-selected="false" tabindex="-1">
                <span>PHP</span>
            </button>
            </div>

            <div role="tabpanel" id="configuration-block-tabpanel-347263ed91d81dd3825f2bc51fc4167e41b4af21" aria-label="YAML" class="configuration-codeblock" data-language="yaml" style="">
            <div translate="no" data-loc="7" class="notranslate codeblock codeblock-length-sm codeblock-yaml">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-comment"># config/packages/messenger.yaml</span>
<span class="hljs-attr">framework:</span>
    <span class="hljs-attr">messenger:</span>
        <span class="hljs-attr">transports:</span>
            <span class="hljs-attr">orders:</span>
                <span class="hljs-attr">dsn:</span> <span class="hljs-string">'%env(ORDERS_TRANSPORT_DSN)%'</span>
                <span class="hljs-attr">serializer:</span> <span class="hljs-string">messenger.transport.interop_serializer</span></code></pre>
    </div>
</div>
        </div>
            <div role="tabpanel" id="configuration-block-tabpanel-6c13021cc7eab71577c5aebeb3ad9691e42ea49e" aria-label="PHP" class="configuration-codeblock" data-language="php" style="display: none">
            <div translate="no" data-loc="15" class="notranslate codeblock codeblock-length-md codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-comment">// config/packages/messenger.php</span>
<span class="hljs-keyword">namespace</span> <span class="hljs-title">Symfony</span>\<span class="hljs-title">Component</span>\<span class="hljs-title">DependencyInjection</span>\<span class="hljs-title">Loader</span>\<span class="hljs-title">Configurator</span>;

<span class="hljs-keyword">return</span> App::<span class="hljs-title invoke__">config</span>([
    <span class="hljs-string">'framework'</span> =&gt; [
        <span class="hljs-string">'messenger'</span> =&gt; [
            <span class="hljs-string">'transports'</span> =&gt; [
                <span class="hljs-string">'orders'</span> =&gt; [
                    <span class="hljs-string">'dsn'</span> =&gt; <span class="hljs-title invoke__">env</span>(<span class="hljs-string">'ORDERS_TRANSPORT_DSN'</span>),
                    <span class="hljs-string">'serializer'</span> =&gt; <span class="hljs-string">'messenger.transport.interop_serializer'</span>,
                ],
            ],
        ],
    ],
]);</code></pre>
    </div>
</div>
        </div>
    </div>
<p>Messages sent back to the transport for retries, or sent to the failure
transport, keep their stamps so Messenger can count retries. The messages sent
by this serializer only contain a JSON body and a few plain headers, so
applications <strong>written in any language</strong> can read them.</p>
<p>By default, the <code translate="no" class="notranslate">type</code> header contains the PHP class of the message, which
means nothing to the other application. Give that class a
<a href="https://symfony.com/blog/new-in-symfony-8-1-messenger-improvements#custom-serialized-type-name-for-messages" class="reference external">serialized type name</a> such as
<code translate="no" class="notranslate">#[AsMessage(serializedTypeName: 'shop.order_placed')]</code>. If the other
application also uses Messenger, give its class the same name.</p>
<p>If the application sending the messages doesn't use Messenger (e.g. a Python or
Node.js service), its messages may have no <code translate="no" class="notranslate">type</code> header. When a transport
carries only one kind of message, you can configure its class (or serialized
type name) explicitly:</p>
<div translate="no" data-loc="7" class="notranslate codeblock codeblock-length-sm codeblock-yaml">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-comment"># config/services.yaml</span>
<span class="hljs-attr">services:</span>
    <span class="hljs-attr">app.orders_serializer:</span>
        <span class="hljs-attr">class:</span> <span class="hljs-string">Symfony\Component\Messenger\Transport\Serialization\InteropSerializer</span>
        <span class="hljs-attr">arguments:</span>
            <span class="hljs-bullet">-</span> <span class="hljs-string">'@messenger.transport.symfony_serializer'</span>
            <span class="hljs-bullet">-</span> <span class="hljs-string">'App\Message\OrderPlaced'</span></code></pre>
    </div>
</div>
<p>Then configure the transport to use this serializer:</p>
<div translate="no" data-loc="7" class="notranslate codeblock codeblock-length-sm codeblock-yaml">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-comment"># config/packages/messenger.yaml</span>
<span class="hljs-attr">framework:</span>
    <span class="hljs-attr">messenger:</span>
        <span class="hljs-attr">transports:</span>
            <span class="hljs-attr">orders:</span>
                <span class="hljs-attr">dsn:</span> <span class="hljs-string">'%env(ORDERS_TRANSPORT_DSN)%'</span>
                <span class="hljs-attr">serializer:</span> <span class="hljs-string">app.orders_serializer</span></code></pre>
    </div>
</div>
<p>If the transport carries several kinds of messages, pass a closure instead of
a class name. The closure receives the message body and headers and returns
the message type, or <code translate="no" class="notranslate">null</code> if it can't determine the type.</p>
</div>
<div class="section">
<h2 id="sharing-stamps-as-plain-headers"><a class="headerlink" href="#sharing-stamps-as-plain-headers" title="Permalink to this headline">Sharing Stamps as Plain Headers</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://connect.symfony.com/profile/nicolas-grekas">
                <img src="https://connect.symfony.com/profile/nicolas-grekas.picture" alt="Nicolas Grekas">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://connect.symfony.com/profile/nicolas-grekas">Nicolas Grekas</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/symfony/pull/66873">#66873</a>
                                                </span>
            </div>
</div>
<p>Removing all stamps also removes some useful information. The original
message ID, for example, lets the receiving application recognize the same
message when the broker delivers it again. Without that ID, each delivery gets a new one.</p>
<p>Symfony 8.2 adds <strong>stamp header mappers</strong> to share this information as plain
headers that any application can read and set. This preserves useful metadata
without sending the PHP stamp objects themselves.</p>
<p>By default, the <code translate="no" class="notranslate">MessageIdStamp</code>, <code translate="no" class="notranslate">CorrelationStamp</code> and <code translate="no" class="notranslate">CausationStamp</code>
are sent as the <code translate="no" class="notranslate">message_id</code>, <code translate="no" class="notranslate">correlation_id</code> and <code translate="no" class="notranslate">causation_id</code> headers.
Messenger adds these stamps when you enable the <code translate="no" class="notranslate">identity_stamps</code> option.</p>
<p>You can also share information from your own stamps. For example, to include
a tenant ID in each message, implement <code translate="no" class="notranslate">StampHeaderMapperInterface</code>.
With autoconfiguration enabled, the <code translate="no" class="notranslate">messenger.transport.interop_serializer</code>
service picks up your mapper automatically:</p>
<div translate="no" data-loc="20" class="notranslate codeblock codeblock-length-md codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-comment">// src/Messenger/TenantStampHeaderMapper.php</span>
<span class="hljs-keyword">namespace</span> <span class="hljs-title">App</span>\<span class="hljs-title">Messenger</span>;

<span class="hljs-keyword">use</span> <span class="hljs-title">App</span>\<span class="hljs-title">Messenger</span>\<span class="hljs-title">Stamp</span>\<span class="hljs-title">TenantStamp</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">Symfony</span>\<span class="hljs-title">Component</span>\<span class="hljs-title">Messenger</span>\<span class="hljs-title">Envelope</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">Symfony</span>\<span class="hljs-title">Component</span>\<span class="hljs-title">Messenger</span>\<span class="hljs-title">Transport</span>\<span class="hljs-title">Serialization</span>\<span class="hljs-title">StampHeaderMapperInterface</span>;

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">TenantStampHeaderMapper</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">StampHeaderMapperInterface</span>
</span>{
    <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">toHeaders</span><span class="hljs-params">(Envelope <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>envelope</span>)</span>: <span class="hljs-title">array</span>
    </span>{
        <span class="hljs-keyword">return</span> (<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>stamp</span> = <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>envelope</span>-&gt;<span class="hljs-title invoke__">last</span>(TenantStamp::<span class="hljs-variable language_">class</span>)) ? [<span class="hljs-string">'tenant_id'</span> =&gt; <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>stamp</span>-&gt;tenantId] : [];
    }

    <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">toStamps</span><span class="hljs-params">(<span class="hljs-keyword">array</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>headers</span>)</span>: <span class="hljs-title">array</span>
    </span>{
        <span class="hljs-comment">// these headers come from another application, so check their values</span>
        <span class="hljs-keyword">return</span> \<span class="hljs-title invoke__">is_string</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>tenantId</span> = <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>headers</span>[<span class="hljs-string">'tenant_id'</span>] ?? <span class="hljs-keyword">null</span>) ? [<span class="hljs-keyword">new</span> <span class="hljs-title invoke__">TenantStamp</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>tenantId</span>)] : [];
    }
}</code></pre>
    </div>
</div>
</div>
<div class="section">
<h2 id="signing-messages-with-custom-headers"><a class="headerlink" href="#signing-messages-with-custom-headers" title="Permalink to this headline">Signing Messages with Custom Headers</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://connect.symfony.com/profile/nicolas-grekas">
                <img src="https://connect.symfony.com/profile/nicolas-grekas.picture" alt="Nicolas Grekas">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://connect.symfony.com/profile/nicolas-grekas">Nicolas Grekas</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/symfony/pull/66875">#66875</a>
                                                </span>
            </div>
</div>
<p>If your transport <a href="https://symfony.com/blog/new-in-symfony-8-2-signed-transports-and-secret-rotation" class="reference external">signs its messages</a>, Symfony 8.2 includes custom headers
in the signature too. The signature covers <strong>every header</strong> written by the
serializer, except <code translate="no" class="notranslate">Content-Type</code>, including headers added by stamp header
mappers. Headers added after serialization are ignored.</p>
<div class="admonition admonition-caution ">
    <p class="admonition-title">
                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
                <span>Caution</span>
    </p><p>Symfony 7.4.18+ and 8.1.6+ refuse signed messages with headers other than
<code translate="no" class="notranslate">type</code>, <code translate="no" class="notranslate">Content-Type</code> and <code translate="no" class="notranslate">X-Message-Stamp-*</code>. If your serializer
writes such headers, upgrade the applications that consume a signing
transport before the ones that send messages to it.</p>
</div>
</div>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/new-in-symfony-8-2-cross-application-messaging?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Javier Eguiluz ]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 09:30:00 +0100</pubDate>
            <comments>https://symfony.com/blog/new-in-symfony-8-2-cross-application-messaging?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>About the security entries in Symfony 5.4.55, 6.4.49, 7.4.22 and 8.1.10</title>
            <link>https://symfony.com/blog/about-the-security-entries-in-symfony-5-4-55-6-4-49-7-4-22-and-8-1-10?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Yesterday, we released Symfony 5.4.55, 6.4.49, 7.4.22 and 8.1.10. Their changelogs list security fixes that were announced before, which confused some of you. Here is what these releases change, and what you should do.

CVE-2026-45070 is fixed only now
In…</description>
            <content:encoded><![CDATA[
                                <p>Yesterday, we released Symfony 5.4.55, 6.4.49, 7.4.22 and 8.1.10. Their changelogs list security fixes that were announced before, which confused some of you. Here is what these releases change, and what you should do.</p>
<div class="section">
<h2 id="cve-2026-45070-is-fixed-only-now"><a class="headerlink" href="#cve-2026-45070-is-fixed-only-now" title="Permalink to this headline">CVE-2026-45070 is fixed only now</a></h2>
<p>In May, we published <a href="https://symfony.com/cve-2026-45070" class="reference external">CVE-2026-45070</a>, an email header injection through the names of parameters in Mime headers. We said it was fixed in 5.4.52, 6.4.40, 7.4.12 and 8.0.12. That was wrong. The fix was committed, but this commit was never merged into a maintenance branch, so no release contained it. Several of you reported it to us, thank you.</p>
<p>The fix is now in 5.4.55, 6.4.49, 7.4.22 and 8.1.10. Symfony 8.0 is not maintained anymore, so 8.0 users have to upgrade to 8.1.10. We updated <a href="https://github.com/symfony/symfony/security/advisories/GHSA-vqc8-7275-q272" class="reference external" rel="external noopener noreferrer" target="_blank">the advisory</a> and the CVE blog post with the right versions.</p>
<p>Upgrade if your application builds Mime headers with parameter names that come from user input.</p>
</div>
<div class="section">
<h2 id="the-other-security-entries"><a class="headerlink" href="#the-other-security-entries" title="Permalink to this headline">The other security entries</a></h2>
<p>The changelogs of 6.4.49, 7.4.22 and 8.1.10 also list CVE-2026-109413, CVE-2026-108082 and CVE-2026-109449. These releases change nothing for them: their fixes were released earlier on these branches.</p>
<div class="table-wrapper">
<table>
            <thead>
                            <tr>
                                            <th>CVE</th>
                                            <th>Component</th>
                                            <th>6.4</th>
                                            <th>7.4</th>
                                            <th>8.1</th>
                                    </tr>
                    </thead>
        <tbody>
                    <tr>
                                    <td><a href="https://symfony.com/cve-2026-109413" class="reference external">CVE-2026-109413</a></td>
                                    <td>Yaml</td>
                                    <td>6.4.45</td>
                                    <td>7.4.18</td>
                                    <td>8.1.6</td>
                            </tr>
                    <tr>
                                    <td><a href="https://symfony.com/cve-2026-108082" class="reference external">CVE-2026-108082</a></td>
                                    <td>HttpFoundation</td>
                                    <td>6.4.46</td>
                                    <td>7.4.19</td>
                                    <td>8.1.7</td>
                            </tr>
                    <tr>
                                    <td><a href="https://symfony.com/cve-2026-109449" class="reference external">CVE-2026-109449</a></td>
                                    <td>ExpressionLanguage</td>
                                    <td>6.4.48</td>
                                    <td>7.4.21</td>
                                    <td>8.1.9</td>
                            </tr>
            </tbody>
</table>
</div>
<p>On 5.4, all three were fixed in 5.4.54, released on October 15.</p>
<p>These entries come from how we prepared 5.4.54. To give each CVE its own merge commit on 5.4, we merged their fixes into 5.4 once more. These merge commits don't change any code. They reached the newer branches only with this release, so the changelogs list them again.</p>
</div>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/about-the-security-entries-in-symfony-5-4-55-6-4-49-7-4-22-and-8-1-10?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Nicolas Grekas ]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 08:51:00 +0100</pubDate>
            <comments>https://symfony.com/blog/about-the-security-entries-in-symfony-5-4-55-6-4-49-7-4-22-and-8-1-10?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>Symfony 8.1.10 released</title>
            <link>https://symfony.com/blog/symfony-8-1-10-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Symfony 8.1.10 has just been released.
Read the Symfony upgrade guide to learn more about upgrading Symfony
and use the SymfonyInsight upgrade reports to detect the code you will
need to change in your project.

    
                    
                Tip…</description>
            <content:encoded><![CDATA[
                                <p><a href="https://github.com/symfony/symfony/releases/tag/v8.1.10" class="reference external" rel="external noopener noreferrer" target="_blank">Symfony 8.1.10</a> has just been released.</p>
<p>Read the <a href="https://symfony.com/doc/current/setup/upgrade_major.html" class="reference external">Symfony upgrade guide</a> to learn more about upgrading Symfony
and use the <a href="https://insight.symfony.com/" class="reference external">SymfonyInsight upgrade reports</a> to detect the code you will
need to change in your project.</p>
<div class="admonition admonition-tip ">
    <p class="admonition-title">
                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"></path></svg>
                <span>Tip</span>
    </p><p>Want to be notified whenever a new Symfony release is published? Or when a
version is not maintained anymore? Or only when a security issue is fixed?
Consider <a href="https://symfony.com/account/notifications" class="reference external">subscribing to the Symfony Roadmap Notifications</a>.</p>
</div>
<div class="section">
<h2 id="changelog-since-symfony-8-1-9"><a class="headerlink" href="#changelog-since-symfony-8-1-9" title="Permalink to this headline">Changelog Since Symfony 8.1.9</a></h2>
<div class="section">
<h3 id="assetmapper"><a class="headerlink" href="#assetmapper" title="Permalink to this headline">AssetMapper</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67240" class="reference external" rel="external noopener noreferrer" target="_blank">#67240</a> [AssetMapper] Fix <a href="importmap:update" class="reference internal">importmap:update</a> and <a href="importmap:remove" class="reference internal">importmap:remove</a> deleting vendor files when they fail (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="browserkit"><a class="headerlink" href="#browserkit" title="Permalink to this headline">BrowserKit</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67235" class="reference external" rel="external noopener noreferrer" target="_blank">#67235</a> [BrowserKit] Send a Content-Length header when uploading files (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67104" class="reference external" rel="external noopener noreferrer" target="_blank">#67104</a> [BrowserKit] Fix HttpBrowser ignoring UploadedFile instances (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67102" class="reference external" rel="external noopener noreferrer" target="_blank">#67102</a> [BrowserKit] Fix URI resolution for mixed-case schemes and base URIs without path (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="cache"><a class="headerlink" href="#cache" title="Permalink to this headline">Cache</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67574" class="reference external" rel="external noopener noreferrer" target="_blank">#67574</a> [Cache] Fix items losing their tags when saved after a concurrent invalidation (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67412" class="reference external" rel="external noopener noreferrer" target="_blank">#67412</a> [Cache] Fix Relay Cluster node selection when clearing pools (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67036" class="reference external" rel="external noopener noreferrer" target="_blank">#67036</a> [Cache] Detect ElastiCache Serverless eviction policy (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67027" class="reference external" rel="external noopener noreferrer" target="_blank">#67027</a> [Cache] Fix overriding the adapter of a cache pool that has a provider (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66991" class="reference external" rel="external noopener noreferrer" target="_blank">#66991</a> [Cache] Fix RedisTagAwareAdapter returning invalidated items from Relay's memory (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66978" class="reference external" rel="external noopener noreferrer" target="_blank">#66978</a> [Cache] Fix PhpArrayAdapter::warmUp() when another process creates the cache directory (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66948" class="reference external" rel="external noopener noreferrer" target="_blank">#66948</a> [Cache][HttpKernel] Fix missing #[Cache] headers on 304 responses (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="config"><a class="headerlink" href="#config" title="Permalink to this headline">Config</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67242" class="reference external" rel="external noopener noreferrer" target="_blank">#67242</a> [Config] Quote the default values of arrays in the YAML reference (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="console"><a class="headerlink" href="#console" title="Permalink to this headline">Console</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67575" class="reference external" rel="external noopener noreferrer" target="_blank">#67575</a> [Console] Fix raw token stripping when an option value matches the command (@ahbaqdadi)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67576" class="reference external" rel="external noopener noreferrer" target="_blank">#67576</a> [Console] Don't format escaped tags again when sections measure their lines (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67542" class="reference external" rel="external noopener noreferrer" target="_blank">#67542</a> [Console] Fix style names with uppercase letters not being applied (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67533" class="reference external" rel="external noopener noreferrer" target="_blank">#67533</a> [Console] Fix Table header cells that span rows and escaped tags in TableCell (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67523" class="reference external" rel="external noopener noreferrer" target="_blank">#67523</a> [Console] Fix the alignment of wrapped Table cells and newlines around style tags (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67522" class="reference external" rel="external noopener noreferrer" target="_blank">#67522</a> [Console] Fix styles that leak out of Table cells (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67507" class="reference external" rel="external noopener noreferrer" target="_blank">#67507</a> [Console] Fix Helper::removeDecoration() keeping escaped &gt; and trailing backslashes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67386" class="reference external" rel="external noopener noreferrer" target="_blank">#67386</a> [Console] Preserve temporary input files in forked processes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67373" class="reference external" rel="external noopener noreferrer" target="_blank">#67373</a> [Console] Fix shell completion when a global option conflicts with an option of _complete (@lyrixx)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67329" class="reference external" rel="external noopener noreferrer" target="_blank">#67329</a> [Console] Fix StringInput dropping quotes inside a quoted option value (@mkantautas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67208" class="reference external" rel="external noopener noreferrer" target="_blank">#67208</a> [Console] Support sections in TestOutput (@norkunas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67161" class="reference external" rel="external noopener noreferrer" target="_blank">#67161</a> [Console] Fix invalid null device redirection on Windows (@laloona)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67146" class="reference external" rel="external noopener noreferrer" target="_blank">#67146</a> [Console] Fix locking a command again after acquiring its lock failed (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67147" class="reference external" rel="external noopener noreferrer" target="_blank">#67147</a> [Console] Lock an invokable command on the name of the command that runs it (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67144" class="reference external" rel="external noopener noreferrer" target="_blank">#67144</a> [Console] Stop a failed release from wedging the lock of a command (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67143" class="reference external" rel="external noopener noreferrer" target="_blank">#67143</a> [Console] Lock an invokable command on its name alone, not on its aliases (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67132" class="reference external" rel="external noopener noreferrer" target="_blank">#67132</a> [Console] Fix markdown tables with colspan cells or several header rows (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67128" class="reference external" rel="external noopener noreferrer" target="_blank">#67128</a> [Console] Always write a valid header and delimiter row in markdown tables (@ybai08)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67092" class="reference external" rel="external noopener noreferrer" target="_blank">#67092</a> [Console] Only rewrite the changed lines when appending a table row (@semx)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67111" class="reference external" rel="external noopener noreferrer" target="_blank">#67111</a> [Console] Fix several bugs when sections count the rows of their lines (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67099" class="reference external" rel="external noopener noreferrer" target="_blank">#67099</a> [Console] Fix clearing section lines that are wider than the terminal (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67088" class="reference external" rel="external noopener noreferrer" target="_blank">#67088</a> [Console] Fix hyperlinks next to a literal &lt; or &gt; (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67039" class="reference external" rel="external noopener noreferrer" target="_blank">#67039</a> [Console] Preserve ANSI sequences when wrapping output (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66981" class="reference external" rel="external noopener noreferrer" target="_blank">#66981</a> [Console] Fix two state bugs in OutputFormatterStyle (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66971" class="reference external" rel="external noopener noreferrer" target="_blank">#66971</a> [Console] Fix how sections count and redraw their lines (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66942" class="reference external" rel="external noopener noreferrer" target="_blank">#66942</a> [Console] Escape pipes and newlines in markdown tables (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66943" class="reference external" rel="external noopener noreferrer" target="_blank">#66943</a> [Console] Fix nested applications exiting on signals handled by the outer application (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67482" class="reference external" rel="external noopener noreferrer" target="_blank">#67482</a> [Console][SecurityBundle] Fix two tests that fail on every 5.4 pull request (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="cssselector"><a class="headerlink" href="#cssselector" title="Permalink to this headline">CssSelector</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67119" class="reference external" rel="external noopener noreferrer" target="_blank">#67119</a> [CssSelector] Fix more bugs in the translation to XPath (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67097" class="reference external" rel="external noopener noreferrer" target="_blank">#67097</a> [CssSelector] Fix :is() and :where() ignoring combinators and structural pseudo-classes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67098" class="reference external" rel="external noopener noreferrer" target="_blank">#67098</a> [CssSelector] Fix :has() matching the element itself and ignoring structural pseudo-classes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67096" class="reference external" rel="external noopener noreferrer" target="_blank">#67096</a> [CssSelector] Fix several bugs in the translation to XPath (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="dependencyinjection"><a class="headerlink" href="#dependencyinjection" title="Permalink to this headline">DependencyInjection</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67376" class="reference external" rel="external noopener noreferrer" target="_blank">#67376</a> [DependencyInjection] Preserve XML schema temporary files in forked processes (@mbeccati)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67300" class="reference external" rel="external noopener noreferrer" target="_blank">#67300</a> [DependencyInjection] Fix lazy closures for static and never-returning methods (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67269" class="reference external" rel="external noopener noreferrer" target="_blank">#67269</a> [DependencyInjection] Fix process() running twice on extensions also registered as compiler passes (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67241" class="reference external" rel="external noopener noreferrer" target="_blank">#67241</a> [DependencyInjection] Fix autowiring intersection types with aliases of aliases (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67239" class="reference external" rel="external noopener noreferrer" target="_blank">#67239</a> [DependencyInjection] Fix env vars reported as never used when overriding an extension service (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67134" class="reference external" rel="external noopener noreferrer" target="_blank">#67134</a> [DependencyInjection] Keep lazy closures lazy when their service is part of a circular reference (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67117" class="reference external" rel="external noopener noreferrer" target="_blank">#67117</a> [DependencyInjection] Fix #[AutowireServiceClosure] ignoring #[Target] (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67079" class="reference external" rel="external noopener noreferrer" target="_blank">#67079</a> [DependencyInjection] Fix the proxy tags of lazy arguments typed as a nullable intersection (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67078" class="reference external" rel="external noopener noreferrer" target="_blank">#67078</a> [DependencyInjection] Fix lazy nullable arguments whose service is missing (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67053" class="reference external" rel="external noopener noreferrer" target="_blank">#67053</a> [DependencyInjection] Allow #[Lazy] with an interface on union types (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67017" class="reference external" rel="external noopener noreferrer" target="_blank">#67017</a> [DependencyInjection] Release the closures that reference the container when resetting it (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67009" class="reference external" rel="external noopener noreferrer" target="_blank">#67009</a> [DependencyInjection] Don't initialize lazy services when resetting the container (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67221" class="reference external" rel="external noopener noreferrer" target="_blank">#67221</a> [DependencyInjection][VarDumper] Import the PHPUnit attributes that some tests use without a use statement (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="doctrine"><a class="headerlink" href="#doctrine" title="Permalink to this headline">Doctrine</a></h3>
<ul>
    <li>minor <a href="https://github.com/symfony/symfony/pull/67056" class="reference external" rel="external noopener noreferrer" target="_blank">#67056</a> [Doctrine][Messenger] Handle disabled pcntl_signal_dispatch when receiving messages (@aragon999)</li>
</ul>
</div>
<div class="section">
<h3 id="doctrinebridge"><a class="headerlink" href="#doctrinebridge" title="Permalink to this headline">DoctrineBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67116" class="reference external" rel="external noopener noreferrer" target="_blank">#67116</a> [DoctrineBridge] Fix dispatching events after a lazy listener failed to initialize (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67029" class="reference external" rel="external noopener noreferrer" target="_blank">#67029</a> [DoctrineBridge] Collect queries executed during request termination (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="domcrawler"><a class="headerlink" href="#domcrawler" title="Permalink to this headline">DomCrawler</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67443" class="reference external" rel="external noopener noreferrer" target="_blank">#67443</a> [DomCrawler] Drop the base fragment when resolving an empty URI (@wleeaf)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67440" class="reference external" rel="external noopener noreferrer" target="_blank">#67440</a> [DomCrawler] Resolve 0 as a relative URI (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67438" class="reference external" rel="external noopener noreferrer" target="_blank">#67438</a> [DomCrawler] Fix dot segment handling in UriResolver (@wleeaf)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67396" class="reference external" rel="external noopener noreferrer" target="_blank">#67396</a> [DomCrawler] Exclude script text from option values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67397" class="reference external" rel="external noopener noreferrer" target="_blank">#67397</a> [DomCrawler] Fix select defaults and disabled options with duplicate values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67395" class="reference external" rel="external noopener noreferrer" target="_blank">#67395</a> [DomCrawler] Do not submit fields inside a disabled fieldset (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67394" class="reference external" rel="external noopener noreferrer" target="_blank">#67394</a> [DomCrawler] Skip disabled options when choosing the default value of a select (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67392" class="reference external" rel="external noopener noreferrer" target="_blank">#67392</a> [DomCrawler] Do not submit reset inputs (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67393" class="reference external" rel="external noopener noreferrer" target="_blank">#67393</a> [DomCrawler] Strip and collapse whitespace in option text used as value (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67385" class="reference external" rel="external noopener noreferrer" target="_blank">#67385</a> [DomCrawler][HttpKernel][Process][Translation] Fix cleanup after forking (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67200" class="reference external" rel="external noopener noreferrer" target="_blank">#67200</a> [DomCrawler] Ignore documents without a root element in addNode() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67035" class="reference external" rel="external noopener noreferrer" target="_blank">#67035</a> [DomCrawler] Remove temporary uploads at shutdown (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="errorhandler"><a class="headerlink" href="#errorhandler" title="Permalink to this headline">ErrorHandler</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67238" class="reference external" rel="external noopener noreferrer" target="_blank">#67238</a> [ErrorHandler] Fix DebugClassLoader suggesting template types as native return types (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67236" class="reference external" rel="external noopener noreferrer" target="_blank">#67236</a> [ErrorHandler] Log uncaught exceptions like PHP does when no logger is set (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="expressionlanguage"><a class="headerlink" href="#expressionlanguage" title="Permalink to this headline">ExpressionLanguage</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-109449" class="reference external">#cve-2026-109449</a> [ExpressionLanguage] Bound the nesting level of parsed expressions (@nicolas-grekas, @lazerg)</li>
</ul>
</div>
<div class="section">
<h3 id="finder"><a class="headerlink" href="#finder" title="Permalink to this headline">Finder</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67157" class="reference external" rel="external noopener noreferrer" target="_blank">#67157</a> [Finder] Match symlinks against their own path in ignoreVCSIgnored() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67152" class="reference external" rel="external noopener noreferrer" target="_blank">#67152</a> [Finder] Respect .git/info/exclude in ignoreVCSIgnored() (@ephpicman)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67113" class="reference external" rel="external noopener noreferrer" target="_blank">#67113</a> [Finder] Fix followLinks() looping on circular symlinks (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67109" class="reference external" rel="external noopener noreferrer" target="_blank">#67109</a> [Finder] Fix negated bracket expressions in gitignore patterns (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67094" class="reference external" rel="external noopener noreferrer" target="_blank">#67094</a> [Finder] Treat unclosed brackets and braces in glob patterns as literal characters (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67026" class="reference external" rel="external noopener noreferrer" target="_blank">#67026</a> [Finder] Only treat patterns that compile as regexps (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67075" class="reference external" rel="external noopener noreferrer" target="_blank">#67075</a> [Finder] Fix wildcards and escapes inside glob bracket expressions (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67074" class="reference external" rel="external noopener noreferrer" target="_blank">#67074</a> [Finder] Fix backslash escapes in gitignore patterns (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67066" class="reference external" rel="external noopener noreferrer" target="_blank">#67066</a> [Finder] Fix escaped brackets in glob patterns (@wfatih)</li>
</ul>
</div>
<div class="section">
<h3 id="form"><a class="headerlink" href="#form" title="Permalink to this headline">Form</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67495" class="reference external" rel="external noopener noreferrer" target="_blank">#67495</a> [Form] Fix delete_empty with object collections (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67410" class="reference external" rel="external noopener noreferrer" target="_blank">#67410</a> [Form] Reject week numbers lower than 1 in WeekToArrayTransformer (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67101" class="reference external" rel="external noopener noreferrer" target="_blank">#67101</a> [Form] Invalidate cached resources when a block hierarchy changes (@drewmt)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67110" class="reference external" rel="external noopener noreferrer" target="_blank">#67110</a> [Form] Fix where collection_entry is inserted in the block prefixes of a collection prototype (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67007" class="reference external" rel="external noopener noreferrer" target="_blank">#67007</a> [Form] Fix <a href="debug:form" class="reference internal">debug:form</a> for types calling addNormalizer(), setDeprecated(), setInfo() or getInfo() on inherited options (@andyexeter)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67010" class="reference external" rel="external noopener noreferrer" target="_blank">#67010</a> [Form] Fix <a href="debug:form" class="reference internal">debug:form</a> listing an overridden option twice (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66958" class="reference external" rel="external noopener noreferrer" target="_blank">#66958</a> [Form] Fix rendering the parent block twice from a form theme block (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66956" class="reference external" rel="external noopener noreferrer" target="_blank">#66956</a> [Form] Clear the renderer state when rendering a block fails (@KevinMartinsDev)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67589" class="reference external" rel="external noopener noreferrer" target="_blank">#67589</a> [Form] Refine Persian date interval and locale translations (@ephpicman)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67566" class="reference external" rel="external noopener noreferrer" target="_blank">#67566</a> [Form] Improve Persian validator translations (@ephpicman)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67546" class="reference external" rel="external noopener noreferrer" target="_blank">#67546</a> [Form] Review Indonesian validator translations (@Yoruxyv)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67531" class="reference external" rel="external noopener noreferrer" target="_blank">#67531</a> [Form] Review Arabic translations (@MohannadElemary)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67519" class="reference external" rel="external noopener noreferrer" target="_blank">#67519</a> [Form] Review Swedish translations (@JakobHallin)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67517" class="reference external" rel="external noopener noreferrer" target="_blank">#67517</a> [Form][Validator] Review Latvian translations (@k0d3r1s)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67498" class="reference external" rel="external noopener noreferrer" target="_blank">#67498</a> [Form] Review pt_BR translations (@anderson-oliveira-git)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67502" class="reference external" rel="external noopener noreferrer" target="_blank">#67502</a> [Form] Remove needs-review-translation state from Spanish translations (@abp002)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67449" class="reference external" rel="external noopener noreferrer" target="_blank">#67449</a> [Form][Security][Validator] Add Central Kurdish (ckb) translations (@RawanD201)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67441" class="reference external" rel="external noopener noreferrer" target="_blank">#67441</a> [Form][Security][Validator] Review Thai translations (@Warayuth014)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67437" class="reference external" rel="external noopener noreferrer" target="_blank">#67437</a> [Form] Review Russian translations (@lazerg)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67330" class="reference external" rel="external noopener noreferrer" target="_blank">#67330</a> [Form] Change the validator translations to use neutral messages. (@Fan2Shrek)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67354" class="reference external" rel="external noopener noreferrer" target="_blank">#67354</a> [Form][Security][Validator] Correct Arabic translations (@malekkadri)</li>
</ul>
</div>
<div class="section">
<h3 id="frameworkbundle"><a class="headerlink" href="#frameworkbundle" title="Permalink to this headline">FrameworkBundle</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67516" class="reference external" rel="external noopener noreferrer" target="_blank">#67516</a> [FrameworkBundle] Make secrets key generation and list updates safe to interrupt (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67511" class="reference external" rel="external noopener noreferrer" target="_blank">#67511</a> [FrameworkBundle] Make secrets key rotation safe to interrupt (@cestercian)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67494" class="reference external" rel="external noopener noreferrer" target="_blank">#67494</a> [FrameworkBundle][Serializer] Fix autowired normalizers being shared between named serializers (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67288" class="reference external" rel="external noopener noreferrer" target="_blank">#67288</a> [FrameworkBundle] Fix TestContainer::initialized() for private services (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/60091" class="reference external" rel="external noopener noreferrer" target="_blank">#60091</a> [FrameworkBundle][Serializer] Fix nested normalizers being shared between named serializers (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67245" class="reference external" rel="external noopener noreferrer" target="_blank">#67245</a> [FrameworkBundle] Fix describing classes whose docblock only has a tag (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67179" class="reference external" rel="external noopener noreferrer" target="_blank">#67179</a> [FrameworkBundle][HttpKernel] Collect garbage cycles in the callers of Kernel::shutdown() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66989" class="reference external" rel="external noopener noreferrer" target="_blank">#66989</a> [FrameworkBundle] Reset the whole request context, not only its parameters (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66944" class="reference external" rel="external noopener noreferrer" target="_blank">#66944</a> [FrameworkBundle] Fix request context parameters leaking between requests (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="htmlsanitizer"><a class="headerlink" href="#htmlsanitizer" title="Permalink to this headline">HtmlSanitizer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67227" class="reference external" rel="external noopener noreferrer" target="_blank">#67227</a> [HtmlSanitizer] Don't cut a multibyte character when truncating the input to its maximum length (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67226" class="reference external" rel="external noopener noreferrer" target="_blank">#67226</a> [HtmlSanitizer] Ignore meta charset declarations in NativeParser (@lazerg)</li>
</ul>
</div>
<div class="section">
<h3 id="httpclient"><a class="headerlink" href="#httpclient" title="Permalink to this headline">HttpClient</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67513" class="reference external" rel="external noopener noreferrer" target="_blank">#67513</a> [HttpClient] Fix retry delays longer than the idle timeout (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67223" class="reference external" rel="external noopener noreferrer" target="_blank">#67223</a> [HttpClient] Fix NativeHttpClient sending paused requests up to one second late (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67112" class="reference external" rel="external noopener noreferrer" target="_blank">#67112</a> [HttpClient] Fix AmpHttpClient reporting completed responses up to one second late (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67052" class="reference external" rel="external noopener noreferrer" target="_blank">#67052</a> [HttpClient] Fix CurlHttpClient leaking temp file streams (@bakugo)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67085" class="reference external" rel="external noopener noreferrer" target="_blank">#67085</a> [HttpClient] Fix CurlHttpClient leaking the curl handle of responses closed while performing (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66940" class="reference external" rel="external noopener noreferrer" target="_blank">#66940</a> [HttpClient] Ignore negative CURLOPT_MAXREDIRS values in GuzzleHttpHandler (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66938" class="reference external" rel="external noopener noreferrer" target="_blank">#66938</a> [HttpClient] Don't add the query option again to redirect targets in NoPrivateNetworkHttpClient (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="httpfoundation"><a class="headerlink" href="#httpfoundation" title="Permalink to this headline">HttpFoundation</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-108082" class="reference external">#cve-2026-108082</a> [HttpFoundation] Remove the ambiguity that makes HeaderUtils::split() backtrack (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67504" class="reference external" rel="external noopener noreferrer" target="_blank">#67504</a> [HttpFoundation] Ignore malformed and multiple ranges in BinaryFileResponse (@jack-worman)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67501" class="reference external" rel="external noopener noreferrer" target="_blank">#67501</a> [HttpFoundation] Don't reject suffix ranges longer than the file in BinaryFileResponse (@jack-worman)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67496" class="reference external" rel="external noopener noreferrer" target="_blank">#67496</a> [HttpFoundation] Match whole subtags in Request::getPreferredLanguage() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67296" class="reference external" rel="external noopener noreferrer" target="_blank">#67296</a> [HttpFoundation] Handle filter failures in array values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67345" class="reference external" rel="external noopener noreferrer" target="_blank">#67345</a> [HttpFoundation] Fix cookie names and header parsing (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67126" class="reference external" rel="external noopener noreferrer" target="_blank">#67126</a> [HttpFoundation] Fix MigratingSessionHandler sending needless cookies to delete empty sessions (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67123" class="reference external" rel="external noopener noreferrer" target="_blank">#67123</a> [HttpFoundation] Destroy empty sessions in updateTimestamp() of the Redis, Memcached, MongoDb and Pdo session handlers (@PhilETaylor)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67125" class="reference external" rel="external noopener noreferrer" target="_blank">#67125</a> [HttpFoundation] Don't marshall empty session data in MarshallingSessionHandler (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67059" class="reference external" rel="external noopener noreferrer" target="_blank">#67059</a> [HttpFoundation] Don't announce a Content-Length on non-successful BinaryFileResponse (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67060" class="reference external" rel="external noopener noreferrer" target="_blank">#67060</a> [HttpFoundation] Register the session shutdown function only once in NativeSessionStorage (@lazerg)</li>
</ul>
</div>
<div class="section">
<h3 id="httpkernel"><a class="headerlink" href="#httpkernel" title="Permalink to this headline">HttpKernel</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67581" class="reference external" rel="external noopener noreferrer" target="_blank">#67581</a> [HttpKernel] Don't keep the stale container when rebuilding it fails (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67461" class="reference external" rel="external noopener noreferrer" target="_blank">#67461</a> [HttpKernel] Don't put the HTTP method in the default key of #[RateLimit] (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67158" class="reference external" rel="external noopener noreferrer" target="_blank">#67158</a> [HttpKernel] Replace the error handler loggers installed by a previous container (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67120" class="reference external" rel="external noopener noreferrer" target="_blank">#67120</a> [HttpKernel] Fix transient failures in ResponseCacheStrategyTest (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67114" class="reference external" rel="external noopener noreferrer" target="_blank">#67114</a> [HttpKernel] Fix ExceptionEvent::isKernelTerminating() for exceptions thrown by terminate listeners (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67083" class="reference external" rel="external noopener noreferrer" target="_blank">#67083</a> [HttpKernel] Make Kernel::terminate() go through http_cache like handle() does (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66997" class="reference external" rel="external noopener noreferrer" target="_blank">#66997</a> [HttpKernel] Fix FileProfilerStorage not removing some expired profiles (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66992" class="reference external" rel="external noopener noreferrer" target="_blank">#66992</a> [HttpKernel] Don't list expired profiles in the profiler search (@javiereguiluz)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66922" class="reference external" rel="external noopener noreferrer" target="_blank">#66922</a> [HttpKernel] Reset the default logger between requests (@KevinMartinsDev)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/66967" class="reference external" rel="external noopener noreferrer" target="_blank">#66967</a> [HttpKernel] Document registering after -10000 when the new controller has other parameters (@Florian-B)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/66946" class="reference external" rel="external noopener noreferrer" target="_blank">#66946</a> [HttpKernel] Document how to keep controller attributes when replacing the controller (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="intl"><a class="headerlink" href="#intl" title="Permalink to this headline">Intl</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67543" class="reference external" rel="external noopener noreferrer" target="_blank">#67543</a> [Intl] Fix Timezones::getRawOffset() depending on the default timezone around DST transitions (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67485" class="reference external" rel="external noopener noreferrer" target="_blank">#67485</a> [Intl] Add the locales that have a three-letter language code (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67476" class="reference external" rel="external noopener noreferrer" target="_blank">#67476</a> [Intl] Fix EmojiTransliterator on empty slices and on slices that split a surrogate pair (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67509" class="reference external" rel="external noopener noreferrer" target="_blank">#67509</a> [Intl] Update the ICU data to 79.1 (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="jsonstreamer"><a class="headerlink" href="#jsonstreamer" title="Permalink to this headline">JsonStreamer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67587" class="reference external" rel="external noopener noreferrer" target="_blank">#67587</a> [JsonStreamer] Reject scalar values of the wrong type instead of converting them (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67515" class="reference external" rel="external noopener noreferrer" target="_blank">#67515</a> [JsonStreamer] Fix explicit null handling in the string reader and reject it on non-nullable types (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67467" class="reference external" rel="external noopener noreferrer" target="_blank">#67467</a> [JsonStreamer] Ignore static properties when reading and writing objects (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67466" class="reference external" rel="external noopener noreferrer" target="_blank">#67466</a> [JsonStreamer] Stop ignoring properties set to the internal missing value marker (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67415" class="reference external" rel="external noopener noreferrer" target="_blank">#67415</a> [JsonStreamer] Fix numeric streamed names (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67381" class="reference external" rel="external noopener noreferrer" target="_blank">#67381</a> [JsonStreamer] Fix string validation and non-seekable stream reads (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67351" class="reference external" rel="external noopener noreferrer" target="_blank">#67351</a> [JsonStreamer] Fix exponential data model on unions of already generated classes (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67339" class="reference external" rel="external noopener noreferrer" target="_blank">#67339</a> [JsonStreamer] Fix value transformers called on missing properties (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67349" class="reference external" rel="external noopener noreferrer" target="_blank">#67349</a> [JsonStreamer] Fix reading JSON lists as non-list arrays from streams (@mtarld)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67370" class="reference external" rel="external noopener noreferrer" target="_blank">#67370</a> [JsonStreamer] Preserve JSON encoding error messages (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="lock"><a class="headerlink" href="#lock" title="Permalink to this headline">Lock</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67401" class="reference external" rel="external noopener noreferrer" target="_blank">#67401</a> [Lock] Fix database names parsed from MongoDB URIs (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="mailer"><a class="headerlink" href="#mailer" title="Permalink to this headline">Mailer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67264" class="reference external" rel="external noopener noreferrer" target="_blank">#67264</a> [Mailer] Throw a TransportException when proc_open() is not available (@Amoifr)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67023" class="reference external" rel="external noopener noreferrer" target="_blank">#67023</a> [Mailer] Accept Brevo marketing webhook payloads (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="messenger"><a class="headerlink" href="#messenger" title="Permalink to this headline">Messenger</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67556" class="reference external" rel="external noopener noreferrer" target="_blank">#67556</a> [Messenger] Reject non-integer fetch sizes (@ahbaqdadi)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67456" class="reference external" rel="external noopener noreferrer" target="_blank">#67456</a> [Messenger] Fix describing classes whose docblock only has a tag in <a href="debug:messenger" class="reference internal">debug:messenger</a> (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67362" class="reference external" rel="external noopener noreferrer" target="_blank">#67362</a> [Messenger] Release deduplication lock after failed dispatch (@dalerazimov)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67231" class="reference external" rel="external noopener noreferrer" target="_blank">#67231</a> [Messenger] Fix the user_id, CC and expiration of republished or delayed AMQP messages (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67230" class="reference external" rel="external noopener noreferrer" target="_blank">#67230</a> [Messenger] Do not inherit AMQP expiration when sending to another transport (@dalerazimov)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67150" class="reference external" rel="external noopener noreferrer" target="_blank">#67150</a> [Messenger] Never reuse the received AMQP routing key when sending to another transport (@dalerazimov)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67121" class="reference external" rel="external noopener noreferrer" target="_blank">#67121</a> [Messenger] Fix messages retried through Amazon SQS collecting one TransportMessageIdStamp per delivery (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67115" class="reference external" rel="external noopener noreferrer" target="_blank">#67115</a> [Messenger][WebProfilerBundle] Fix tracing messages dispatched from internal functions (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67038" class="reference external" rel="external noopener noreferrer" target="_blank">#67038</a> [Messenger] Acknowledge messages sent for retry (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67084" class="reference external" rel="external noopener noreferrer" target="_blank">#67084</a> [Messenger] Fix the in-memory transport decoding the whole queue on each get() (@javiereguiluz)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67002" class="reference external" rel="external noopener noreferrer" target="_blank">#67002</a> [Messenger] Fix the Redis transport after a lost connection (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67001" class="reference external" rel="external noopener noreferrer" target="_blank">#67001</a> [Messenger] Fix the Amazon SQS connection losing buffered messages when a receive fails (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67000" class="reference external" rel="external noopener noreferrer" target="_blank">#67000</a> [Messenger] Fix the Amazon SQS connection rethrowing the same error after a failed receive (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66973" class="reference external" rel="external noopener noreferrer" target="_blank">#66973</a> [Messenger] Fix the Doctrine transport not retrying ack() and reject() on deadlocks (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66974" class="reference external" rel="external noopener noreferrer" target="_blank">#66974</a> [Messenger] Fix PostgreSqlConnection throwing from its destructor when the database is gone (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66975" class="reference external" rel="external noopener noreferrer" target="_blank">#66975</a> [Messenger] Fix the worker looping without sleeping just before its time limit (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66955" class="reference external" rel="external noopener noreferrer" target="_blank">#66955</a> [Messenger] Fix the Beanstalkd transport using the "default" tube after a failed reconnect (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66935" class="reference external" rel="external noopener noreferrer" target="_blank">#66935</a> [Messenger] Fix DispatchAfterCurrentBusMiddleware staying in a root dispatch after an \Error (@KevinMartinsDev)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66914" class="reference external" rel="external noopener noreferrer" target="_blank">#66914</a> [Messenger] Prevent losing delayed Redis messages on migration failure (@dalerazimov)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67582" class="reference external" rel="external noopener noreferrer" target="_blank">#67582</a> [Messenger] Allow installing the Redis bridge with only ext-relay (@lazerg)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67072" class="reference external" rel="external noopener noreferrer" target="_blank">#67072</a> [Messenger] Fix the Amazon SQS and Beanstalkd transports when pcntl_signal_dispatch() is disabled (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="mime"><a class="headerlink" href="#mime" title="Permalink to this headline">Mime</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-45070" class="reference external">#cve-2026-45070</a> [Mime] Reject parameter names containing non-token characters (@alexandre-daubois)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67497" class="reference external" rel="external noopener noreferrer" target="_blank">#67497</a> [Mime] Fix unserializing subclasses of TextPart, DataPart and SMimePart that implement __sleep() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67493" class="reference external" rel="external noopener noreferrer" target="_blank">#67493</a> [Mime] Reject non-string values when unserializing TextPart, SMimePart and Email (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67472" class="reference external" rel="external noopener noreferrer" target="_blank">#67472</a> [Mime] Fix unserializing DataPart payloads created by 6.4 and reject non-string values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67471" class="reference external" rel="external noopener noreferrer" target="_blank">#67471</a> [Mime] Fix losing the content of multipart and custom parts when serializing them (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67478" class="reference external" rel="external noopener noreferrer" target="_blank">#67478</a> [Mime] Escape backslashes in Address::getEncodedName() (@munzzyy)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67444" class="reference external" rel="external noopener noreferrer" target="_blank">#67444</a> [Mime] Escape quotes and backslashes in quoted parameter values (@wleeaf)</li>
</ul>
</div>
<div class="section">
<h3 id="monologbridge"><a class="headerlink" href="#monologbridge" title="Permalink to this headline">MonologBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67248" class="reference external" rel="external noopener noreferrer" target="_blank">#67248</a> [MonologBridge] Fix NotifierHandler not raising levels below Error with Monolog 3 (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="notifier"><a class="headerlink" href="#notifier" title="Permalink to this headline">Notifier</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67307" class="reference external" rel="external noopener noreferrer" target="_blank">#67307</a> [Notifier] Fix Transport::fromDsn() when some bridges are installed (@javiereguiluz)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66998" class="reference external" rel="external noopener noreferrer" target="_blank">#66998</a> [Notifier][Sevenio] Fix response code 101 being reported as a success (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67261" class="reference external" rel="external noopener noreferrer" target="_blank">#67261</a> [Notifier][Brevo] Update the Brevo API documentation link (@lbonnet-gda)</li>
</ul>
</div>
<div class="section">
<h3 id="objectmapper"><a class="headerlink" href="#objectmapper" title="Permalink to this headline">ObjectMapper</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67268" class="reference external" rel="external noopener noreferrer" target="_blank">#67268</a> [ObjectMapper] Remove @internal from Mapping (@nikophil)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67142" class="reference external" rel="external noopener noreferrer" target="_blank">#67142</a> [ObjectMapper] Fix losing the value mapped to a promoted property when a later #[Map] is skipped (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67049" class="reference external" rel="external noopener noreferrer" target="_blank">#67049</a> [ObjectMapper] Fix the reverse class map overriding source property transforms and dropping property paths (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67063" class="reference external" rel="external noopener noreferrer" target="_blank">#67063</a> [ObjectMapper] Fix the metadata of a property leaking into a class whose name continues the class name (@javiereguiluz)</li>
</ul>
</div>
<div class="section">
<h3 id="optionsresolver"><a class="headerlink" href="#optionsresolver" title="Permalink to this headline">OptionsResolver</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67069" class="reference external" rel="external noopener noreferrer" target="_blank">#67069</a> [OptionsResolver] Ensure remove() also unsets nested options (@wfatih)</li>
</ul>
</div>
<div class="section">
<h3 id="phpunitbridge"><a class="headerlink" href="#phpunitbridge" title="Permalink to this headline">PhpUnitBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67033" class="reference external" rel="external noopener noreferrer" target="_blank">#67033</a> [PhpUnitBridge] Honor --stderr for listener output (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="propertyaccess"><a class="headerlink" href="#propertyaccess" title="Permalink to this headline">PropertyAccess</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67512" class="reference external" rel="external noopener noreferrer" target="_blank">#67512</a> [PropertyAccess] Fix writing SimpleXMLElement children and dynamic properties of #[AllowDynamicProperties] classes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66965" class="reference external" rel="external noopener noreferrer" target="_blank">#66965</a> [PropertyAccess] Fix using custom PropertyPathInterface implementations on objects (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66932" class="reference external" rel="external noopener noreferrer" target="_blank">#66932</a> [PropertyAccess] Fix using custom PropertyPathInterface implementations (@HawkForge)</li>
</ul>
</div>
<div class="section">
<h3 id="propertyinfo"><a class="headerlink" href="#propertyinfo" title="Permalink to this headline">PropertyInfo</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67249" class="reference external" rel="external noopener noreferrer" target="_blank">#67249</a> [PropertyInfo] Fix resolution of self, static and parent with TypeInfo (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67234" class="reference external" rel="external noopener noreferrer" target="_blank">#67234</a> [PropertyInfo] Fix resolution of self, static and parent in collection types (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="ratelimiter"><a class="headerlink" href="#ratelimiter" title="Permalink to this headline">RateLimiter</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67204" class="reference external" rel="external noopener noreferrer" target="_blank">#67204</a> [RateLimiter] Fix early retry and expiry times, and three consume() edge cases (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67203" class="reference external" rel="external noopener noreferrer" target="_blank">#67203</a> [RateLimiter] Fix SlidingWindow wait duration when refused by the hits of the current window (@florentdestremau)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67087" class="reference external" rel="external noopener noreferrer" target="_blank">#67087</a> [RateLimiter] Apply updated configuration to stored fixed windows (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67022" class="reference external" rel="external noopener noreferrer" target="_blank">#67022</a> [RateLimiter] Apply updated configuration to stored token buckets (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67021" class="reference external" rel="external noopener noreferrer" target="_blank">#67021</a> [RateLimiter] Reject refill intervals below one second (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="routing"><a class="headerlink" href="#routing" title="Permalink to this headline">Routing</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67508" class="reference external" rel="external noopener noreferrer" target="_blank">#67508</a> [Routing] Don't ignore route conditions that are "0" (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67337" class="reference external" rel="external noopener noreferrer" target="_blank">#67337</a> [Routing] Remove the "deprecated" key from route definitions in routing.schema.json (@momito69)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67093" class="reference external" rel="external noopener noreferrer" target="_blank">#67093</a> [Routing] Fix HEAD-only routes with UrlMatcher and scheme redirections when both trailing slash variants exist (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="runtime"><a class="headerlink" href="#runtime" title="Permalink to this headline">Runtime</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67174" class="reference external" rel="external noopener noreferrer" target="_blank">#67174</a> [Runtime] Don't terminate the last request twice when a FrankenPHP worker stops (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="scheduler"><a class="headerlink" href="#scheduler" title="Permalink to this headline">Scheduler</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67503" class="reference external" rel="external noopener noreferrer" target="_blank">#67503</a> [Scheduler] Fix skipping a run when the cache loses the checkpoint of a running worker (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="security"><a class="headerlink" href="#security" title="Permalink to this headline">Security</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67560" class="reference external" rel="external noopener noreferrer" target="_blank">#67560</a> [Security] Stop logging router errors when a check path does not match the request (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67145" class="reference external" rel="external noopener noreferrer" target="_blank">#67145</a> [Security][SecurityBundle] Decide the checks of an expression for the token being voted on (@Neirda24)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67148" class="reference external" rel="external noopener noreferrer" target="_blank">#67148</a> [Security] Fix TraceableAccessDecisionManager reusing a finished access decision (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67080" class="reference external" rel="external noopener noreferrer" target="_blank">#67080</a> [Security] Fix use_referer redirecting to the check path (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="securitybundle"><a class="headerlink" href="#securitybundle" title="Permalink to this headline">SecurityBundle</a></h3>
<ul>
    <li>minor <a href="https://github.com/symfony/symfony/pull/67551" class="reference external" rel="external noopener noreferrer" target="_blank">#67551</a> [SecurityBundle] Stop asserting an empty body for the 401 of a rejected access token (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="serializer"><a class="headerlink" href="#serializer" title="Permalink to this headline">Serializer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67459" class="reference external" rel="external noopener noreferrer" target="_blank">#67459</a> [Serializer] Escape formulas in the header row of CSV files (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67243" class="reference external" rel="external noopener noreferrer" target="_blank">#67243</a> [Serializer] Fix denormalizing a scalar into a union with an object type (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67232" class="reference external" rel="external noopener noreferrer" target="_blank">#67232</a> [Serializer] Fix normalizing a file that DataUriNormalizer denormalized (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67139" class="reference external" rel="external noopener noreferrer" target="_blank">#67139</a> [Serializer] Fix denormalizing string-keyed collections and unions from XML (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67138" class="reference external" rel="external noopener noreferrer" target="_blank">#67138</a> [Serializer] Fix denormalizing nested scalar collections from XML (@chr-hertel)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67055" class="reference external" rel="external noopener noreferrer" target="_blank">#67055</a> [Serializer] Fix the first normalized object deciding whether property paths are normalized (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67034" class="reference external" rel="external noopener noreferrer" target="_blank">#67034</a> [Serializer] Apply ignored attributes to setter and adder aliases (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66986" class="reference external" rel="external noopener noreferrer" target="_blank">#66986</a> [Serializer] Fix normalizing discriminated classes that have no properties (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="string"><a class="headerlink" href="#string" title="Permalink to this headline">String</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67361" class="reference external" rel="external noopener noreferrer" target="_blank">#67361</a> [String] Fix hyphenated locales in AsciiSlugger (@malekkadri)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67380" class="reference external" rel="external noopener noreferrer" target="_blank">#67380</a> [String] Fix slugger cache changing parent locale transliteration (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67284" class="reference external" rel="external noopener noreferrer" target="_blank">#67284</a> [String] Preserve text after emoji joiners in width calculations (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67068" class="reference external" rel="external noopener noreferrer" target="_blank">#67068</a> [String] Fix trim(), trimStart() and trimEnd() with empty chars on unicode strings (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67091" class="reference external" rel="external noopener noreferrer" target="_blank">#67091</a> [String] Fix trim(), trimStart() and trimEnd() with ".." ranges on unicode strings (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66994" class="reference external" rel="external noopener noreferrer" target="_blank">#66994</a> [String] Fix slice(), splice() and chunk() with very large offsets or lengths (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66969" class="reference external" rel="external noopener noreferrer" target="_blank">#66969</a> [String] Fix UnicodeString::replace() and split() with ignorable characters like U+200B (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="translation"><a class="headerlink" href="#translation" title="Permalink to this headline">Translation</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67352" class="reference external" rel="external noopener noreferrer" target="_blank">#67352</a> [Translation] Check XLIFF 2 target language when linting filenames (@malekkadri)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67320" class="reference external" rel="external noopener noreferrer" target="_blank">#67320</a> [Translation] Support the official XLIFF 2.2 namespace (@malekkadri)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66980" class="reference external" rel="external noopener noreferrer" target="_blank">#66980</a> [Translation] Fix FileDumper::dump() when another process creates the target directory (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="tui"><a class="headerlink" href="#tui" title="Permalink to this headline">Tui</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67286" class="reference external" rel="external noopener noreferrer" target="_blank">#67286</a> [Tui] Fix widths of newer Unicode characters and emoji (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="twigbridge"><a class="headerlink" href="#twigbridge" title="Permalink to this headline">TwigBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/66990" class="reference external" rel="external noopener noreferrer" target="_blank">#66990</a> [TwigBridge] Fix form_label() with a literal label and non-literal variables (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="typeinfo"><a class="headerlink" href="#typeinfo" title="Permalink to this headline">TypeInfo</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67404" class="reference external" rel="external noopener noreferrer" target="_blank">#67404</a> [TypeInfo] Resolve keywords case-insensitively in StringTypeResolver (@DerManoMann)</li>
</ul>
</div>
<div class="section">
<h3 id="validator"><a class="headerlink" href="#validator" title="Permalink to this headline">Validator</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67070" class="reference external" rel="external noopener noreferrer" target="_blank">#67070</a> [Validator] Fix the Video constraint for rotated videos and thumbnails (@GromNaN)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67032" class="reference external" rel="external noopener noreferrer" target="_blank">#67032</a> [Validator] Compare integer ranges without losing precision (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67076" class="reference external" rel="external noopener noreferrer" target="_blank">#67076</a> [Validator] Fix Collection with groups failing on fields that have no groups (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67067" class="reference external" rel="external noopener noreferrer" target="_blank">#67067</a> [Validator] Fix Count::$divisibleBy being ignored in groups other than Default (@wfatih)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67540" class="reference external" rel="external noopener noreferrer" target="_blank">#67540</a> [Validator] Fix Arabic validation messages and six-form plurals (@malekkadri)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/66933" class="reference external" rel="external noopener noreferrer" target="_blank">#66933</a> [Validator] Review Italian translations (@mrCabez)</li>
</ul>
</div>
<div class="section">
<h3 id="vardumper"><a class="headerlink" href="#vardumper" title="Permalink to this headline">VarDumper</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/66966" class="reference external" rel="external noopener noreferrer" target="_blank">#66966</a> [VarDumper] Fix source excerpts of files with CRLF line endings (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="varexporter"><a class="headerlink" href="#varexporter" title="Permalink to this headline">VarExporter</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67301" class="reference external" rel="external noopener noreferrer" target="_blank">#67301</a> [VarExporter] Preserve named variadic arguments in lazy proxies (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="webprofilerbundle"><a class="headerlink" href="#webprofilerbundle" title="Permalink to this headline">WebProfilerBundle</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67450" class="reference external" rel="external noopener noreferrer" target="_blank">#67450</a> [WebProfilerBundle] Check that the profiler is enabled before opening files (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67081" class="reference external" rel="external noopener noreferrer" target="_blank">#67081</a> [WebProfilerBundle] Fix the toolbar hiding unhandled fetch() rejections and leaving 0 ms requests loading (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67028" class="reference external" rel="external noopener noreferrer" target="_blank">#67028</a> [WebProfilerBundle] Fix dumps on pages with a CSP (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67016" class="reference external" rel="external noopener noreferrer" target="_blank">#67016</a> [WebProfilerBundle] Fix the form and translation panels with Twig 4 (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="yaml"><a class="headerlink" href="#yaml" title="Permalink to this headline">Yaml</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-109413" class="reference external">#cve-2026-109413</a> [Yaml] Bound recursion depth in the inline lexer (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67106" class="reference external" rel="external noopener noreferrer" target="_blank">#67106</a> [Yaml] Fix dumping control characters and invalid UTF-8 in multi-line literal blocks (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66954" class="reference external" rel="external noopener noreferrer" target="_blank">#66954</a> [Yaml] Fix TypeErrors, a PHP warning and wrong results for !php/const keys and merge keys (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="other"><a class="headerlink" href="#other" title="Permalink to this headline">Other</a></h3>
<ul>
    <li>minor <a href="https://github.com/symfony/symfony/pull/67379" class="reference external" rel="external noopener noreferrer" target="_blank">#67379</a> Add PHP 8.7 to CI (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67061" class="reference external" rel="external noopener noreferrer" target="_blank">#67061</a> Refine Portuguese translations in validators.pt.xlf (@lucascamp)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67065" class="reference external" rel="external noopener noreferrer" target="_blank">#67065</a> Resolve grammar and vocabulary issues in pt-PT (@1PedroSoares)</li>
</ul>
</div>
</div>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/symfony-8-1-10-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Fabien Potencier ]]></dc:creator>
            <pubDate>Wed, 28 Oct 2026 19:25:56 +0100</pubDate>
            <comments>https://symfony.com/blog/symfony-8-1-10-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title>Symfony 7.4.22 released</title>
            <link>https://symfony.com/blog/symfony-7-4-22-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Symfony 7.4.22 has just been released.
Read the Symfony upgrade guide to learn more about upgrading Symfony
and use the SymfonyInsight upgrade reports to detect the code you will
need to change in your project.

    
                    
                Tip…</description>
            <content:encoded><![CDATA[
                                <p><a href="https://github.com/symfony/symfony/releases/tag/v7.4.22" class="reference external" rel="external noopener noreferrer" target="_blank">Symfony 7.4.22</a> has just been released.</p>
<p>Read the <a href="https://symfony.com/doc/current/setup/upgrade_major.html" class="reference external">Symfony upgrade guide</a> to learn more about upgrading Symfony
and use the <a href="https://insight.symfony.com/" class="reference external">SymfonyInsight upgrade reports</a> to detect the code you will
need to change in your project.</p>
<div class="admonition admonition-tip ">
    <p class="admonition-title">
                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"></path></svg>
                <span>Tip</span>
    </p><p>Want to be notified whenever a new Symfony release is published? Or when a
version is not maintained anymore? Or only when a security issue is fixed?
Consider <a href="https://symfony.com/account/notifications" class="reference external">subscribing to the Symfony Roadmap Notifications</a>.</p>
</div>
<div class="section">
<h2 id="changelog-since-symfony-7-4-21"><a class="headerlink" href="#changelog-since-symfony-7-4-21" title="Permalink to this headline">Changelog Since Symfony 7.4.21</a></h2>
<div class="section">
<h3 id="assetmapper"><a class="headerlink" href="#assetmapper" title="Permalink to this headline">AssetMapper</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67240" class="reference external" rel="external noopener noreferrer" target="_blank">#67240</a> [AssetMapper] Fix <a href="importmap:update" class="reference internal">importmap:update</a> and <a href="importmap:remove" class="reference internal">importmap:remove</a> deleting vendor files when they fail (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="browserkit"><a class="headerlink" href="#browserkit" title="Permalink to this headline">BrowserKit</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67235" class="reference external" rel="external noopener noreferrer" target="_blank">#67235</a> [BrowserKit] Send a Content-Length header when uploading files (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67104" class="reference external" rel="external noopener noreferrer" target="_blank">#67104</a> [BrowserKit] Fix HttpBrowser ignoring UploadedFile instances (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67102" class="reference external" rel="external noopener noreferrer" target="_blank">#67102</a> [BrowserKit] Fix URI resolution for mixed-case schemes and base URIs without path (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="cache"><a class="headerlink" href="#cache" title="Permalink to this headline">Cache</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67574" class="reference external" rel="external noopener noreferrer" target="_blank">#67574</a> [Cache] Fix items losing their tags when saved after a concurrent invalidation (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67412" class="reference external" rel="external noopener noreferrer" target="_blank">#67412</a> [Cache] Fix Relay Cluster node selection when clearing pools (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67036" class="reference external" rel="external noopener noreferrer" target="_blank">#67036</a> [Cache] Detect ElastiCache Serverless eviction policy (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67027" class="reference external" rel="external noopener noreferrer" target="_blank">#67027</a> [Cache] Fix overriding the adapter of a cache pool that has a provider (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66991" class="reference external" rel="external noopener noreferrer" target="_blank">#66991</a> [Cache] Fix RedisTagAwareAdapter returning invalidated items from Relay's memory (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66978" class="reference external" rel="external noopener noreferrer" target="_blank">#66978</a> [Cache] Fix PhpArrayAdapter::warmUp() when another process creates the cache directory (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="config"><a class="headerlink" href="#config" title="Permalink to this headline">Config</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67242" class="reference external" rel="external noopener noreferrer" target="_blank">#67242</a> [Config] Quote the default values of arrays in the YAML reference (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="console"><a class="headerlink" href="#console" title="Permalink to this headline">Console</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67575" class="reference external" rel="external noopener noreferrer" target="_blank">#67575</a> [Console] Fix raw token stripping when an option value matches the command (@ahbaqdadi)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67576" class="reference external" rel="external noopener noreferrer" target="_blank">#67576</a> [Console] Don't format escaped tags again when sections measure their lines (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67542" class="reference external" rel="external noopener noreferrer" target="_blank">#67542</a> [Console] Fix style names with uppercase letters not being applied (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67533" class="reference external" rel="external noopener noreferrer" target="_blank">#67533</a> [Console] Fix Table header cells that span rows and escaped tags in TableCell (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67523" class="reference external" rel="external noopener noreferrer" target="_blank">#67523</a> [Console] Fix the alignment of wrapped Table cells and newlines around style tags (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67522" class="reference external" rel="external noopener noreferrer" target="_blank">#67522</a> [Console] Fix styles that leak out of Table cells (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67373" class="reference external" rel="external noopener noreferrer" target="_blank">#67373</a> [Console] Fix shell completion when a global option conflicts with an option of _complete (@lyrixx)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67329" class="reference external" rel="external noopener noreferrer" target="_blank">#67329</a> [Console] Fix StringInput dropping quotes inside a quoted option value (@mkantautas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67161" class="reference external" rel="external noopener noreferrer" target="_blank">#67161</a> [Console] Fix invalid null device redirection on Windows (@laloona)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67146" class="reference external" rel="external noopener noreferrer" target="_blank">#67146</a> [Console] Fix locking a command again after acquiring its lock failed (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67147" class="reference external" rel="external noopener noreferrer" target="_blank">#67147</a> [Console] Lock an invokable command on the name of the command that runs it (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67144" class="reference external" rel="external noopener noreferrer" target="_blank">#67144</a> [Console] Stop a failed release from wedging the lock of a command (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67143" class="reference external" rel="external noopener noreferrer" target="_blank">#67143</a> [Console] Lock an invokable command on its name alone, not on its aliases (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67132" class="reference external" rel="external noopener noreferrer" target="_blank">#67132</a> [Console] Fix markdown tables with colspan cells or several header rows (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67128" class="reference external" rel="external noopener noreferrer" target="_blank">#67128</a> [Console] Always write a valid header and delimiter row in markdown tables (@ybai08)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67092" class="reference external" rel="external noopener noreferrer" target="_blank">#67092</a> [Console] Only rewrite the changed lines when appending a table row (@semx)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67111" class="reference external" rel="external noopener noreferrer" target="_blank">#67111</a> [Console] Fix several bugs when sections count the rows of their lines (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67099" class="reference external" rel="external noopener noreferrer" target="_blank">#67099</a> [Console] Fix clearing section lines that are wider than the terminal (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67088" class="reference external" rel="external noopener noreferrer" target="_blank">#67088</a> [Console] Fix hyperlinks next to a literal &lt; or &gt; (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67039" class="reference external" rel="external noopener noreferrer" target="_blank">#67039</a> [Console] Preserve ANSI sequences when wrapping output (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66981" class="reference external" rel="external noopener noreferrer" target="_blank">#66981</a> [Console] Fix two state bugs in OutputFormatterStyle (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66971" class="reference external" rel="external noopener noreferrer" target="_blank">#66971</a> [Console] Fix how sections count and redraw their lines (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66942" class="reference external" rel="external noopener noreferrer" target="_blank">#66942</a> [Console] Escape pipes and newlines in markdown tables (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66943" class="reference external" rel="external noopener noreferrer" target="_blank">#66943</a> [Console] Fix nested applications exiting on signals handled by the outer application (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67482" class="reference external" rel="external noopener noreferrer" target="_blank">#67482</a> [Console][SecurityBundle] Fix two tests that fail on every 5.4 pull request (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="cssselector"><a class="headerlink" href="#cssselector" title="Permalink to this headline">CssSelector</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67119" class="reference external" rel="external noopener noreferrer" target="_blank">#67119</a> [CssSelector] Fix more bugs in the translation to XPath (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67097" class="reference external" rel="external noopener noreferrer" target="_blank">#67097</a> [CssSelector] Fix :is() and :where() ignoring combinators and structural pseudo-classes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67096" class="reference external" rel="external noopener noreferrer" target="_blank">#67096</a> [CssSelector] Fix several bugs in the translation to XPath (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="dependencyinjection"><a class="headerlink" href="#dependencyinjection" title="Permalink to this headline">DependencyInjection</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67376" class="reference external" rel="external noopener noreferrer" target="_blank">#67376</a> [DependencyInjection] Preserve XML schema temporary files in forked processes (@mbeccati)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67300" class="reference external" rel="external noopener noreferrer" target="_blank">#67300</a> [DependencyInjection] Fix lazy closures for static and never-returning methods (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67269" class="reference external" rel="external noopener noreferrer" target="_blank">#67269</a> [DependencyInjection] Fix process() running twice on extensions also registered as compiler passes (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67239" class="reference external" rel="external noopener noreferrer" target="_blank">#67239</a> [DependencyInjection] Fix env vars reported as never used when overriding an extension service (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67134" class="reference external" rel="external noopener noreferrer" target="_blank">#67134</a> [DependencyInjection] Keep lazy closures lazy when their service is part of a circular reference (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67117" class="reference external" rel="external noopener noreferrer" target="_blank">#67117</a> [DependencyInjection] Fix #[AutowireServiceClosure] ignoring #[Target] (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67079" class="reference external" rel="external noopener noreferrer" target="_blank">#67079</a> [DependencyInjection] Fix the proxy tags of lazy arguments typed as a nullable intersection (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67078" class="reference external" rel="external noopener noreferrer" target="_blank">#67078</a> [DependencyInjection] Fix lazy nullable arguments whose service is missing (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67053" class="reference external" rel="external noopener noreferrer" target="_blank">#67053</a> [DependencyInjection] Allow #[Lazy] with an interface on union types (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67017" class="reference external" rel="external noopener noreferrer" target="_blank">#67017</a> [DependencyInjection] Release the closures that reference the container when resetting it (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67009" class="reference external" rel="external noopener noreferrer" target="_blank">#67009</a> [DependencyInjection] Don't initialize lazy services when resetting the container (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="doctrine"><a class="headerlink" href="#doctrine" title="Permalink to this headline">Doctrine</a></h3>
<ul>
    <li>minor <a href="https://github.com/symfony/symfony/pull/67056" class="reference external" rel="external noopener noreferrer" target="_blank">#67056</a> [Doctrine][Messenger] Handle disabled pcntl_signal_dispatch when receiving messages (@aragon999)</li>
</ul>
</div>
<div class="section">
<h3 id="doctrinebridge"><a class="headerlink" href="#doctrinebridge" title="Permalink to this headline">DoctrineBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67116" class="reference external" rel="external noopener noreferrer" target="_blank">#67116</a> [DoctrineBridge] Fix dispatching events after a lazy listener failed to initialize (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67029" class="reference external" rel="external noopener noreferrer" target="_blank">#67029</a> [DoctrineBridge] Collect queries executed during request termination (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="domcrawler"><a class="headerlink" href="#domcrawler" title="Permalink to this headline">DomCrawler</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67443" class="reference external" rel="external noopener noreferrer" target="_blank">#67443</a> [DomCrawler] Drop the base fragment when resolving an empty URI (@wleeaf)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67440" class="reference external" rel="external noopener noreferrer" target="_blank">#67440</a> [DomCrawler] Resolve 0 as a relative URI (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67438" class="reference external" rel="external noopener noreferrer" target="_blank">#67438</a> [DomCrawler] Fix dot segment handling in UriResolver (@wleeaf)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67396" class="reference external" rel="external noopener noreferrer" target="_blank">#67396</a> [DomCrawler] Exclude script text from option values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67397" class="reference external" rel="external noopener noreferrer" target="_blank">#67397</a> [DomCrawler] Fix select defaults and disabled options with duplicate values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67395" class="reference external" rel="external noopener noreferrer" target="_blank">#67395</a> [DomCrawler] Do not submit fields inside a disabled fieldset (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67394" class="reference external" rel="external noopener noreferrer" target="_blank">#67394</a> [DomCrawler] Skip disabled options when choosing the default value of a select (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67392" class="reference external" rel="external noopener noreferrer" target="_blank">#67392</a> [DomCrawler] Do not submit reset inputs (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67393" class="reference external" rel="external noopener noreferrer" target="_blank">#67393</a> [DomCrawler] Strip and collapse whitespace in option text used as value (@randomsymbols)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67385" class="reference external" rel="external noopener noreferrer" target="_blank">#67385</a> [DomCrawler][HttpKernel][Process][Translation] Fix cleanup after forking (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67200" class="reference external" rel="external noopener noreferrer" target="_blank">#67200</a> [DomCrawler] Ignore documents without a root element in addNode() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67035" class="reference external" rel="external noopener noreferrer" target="_blank">#67035</a> [DomCrawler] Remove temporary uploads at shutdown (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="errorhandler"><a class="headerlink" href="#errorhandler" title="Permalink to this headline">ErrorHandler</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67238" class="reference external" rel="external noopener noreferrer" target="_blank">#67238</a> [ErrorHandler] Fix DebugClassLoader suggesting template types as native return types (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67236" class="reference external" rel="external noopener noreferrer" target="_blank">#67236</a> [ErrorHandler] Log uncaught exceptions like PHP does when no logger is set (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="expressionlanguage"><a class="headerlink" href="#expressionlanguage" title="Permalink to this headline">ExpressionLanguage</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-109449" class="reference external">#cve-2026-109449</a> [ExpressionLanguage] Bound the nesting level of parsed expressions (@nicolas-grekas, @lazerg)</li>
</ul>
</div>
<div class="section">
<h3 id="finder"><a class="headerlink" href="#finder" title="Permalink to this headline">Finder</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67157" class="reference external" rel="external noopener noreferrer" target="_blank">#67157</a> [Finder] Match symlinks against their own path in ignoreVCSIgnored() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67152" class="reference external" rel="external noopener noreferrer" target="_blank">#67152</a> [Finder] Respect .git/info/exclude in ignoreVCSIgnored() (@ephpicman)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67113" class="reference external" rel="external noopener noreferrer" target="_blank">#67113</a> [Finder] Fix followLinks() looping on circular symlinks (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67109" class="reference external" rel="external noopener noreferrer" target="_blank">#67109</a> [Finder] Fix negated bracket expressions in gitignore patterns (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67094" class="reference external" rel="external noopener noreferrer" target="_blank">#67094</a> [Finder] Treat unclosed brackets and braces in glob patterns as literal characters (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67026" class="reference external" rel="external noopener noreferrer" target="_blank">#67026</a> [Finder] Only treat patterns that compile as regexps (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67075" class="reference external" rel="external noopener noreferrer" target="_blank">#67075</a> [Finder] Fix wildcards and escapes inside glob bracket expressions (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67074" class="reference external" rel="external noopener noreferrer" target="_blank">#67074</a> [Finder] Fix backslash escapes in gitignore patterns (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67066" class="reference external" rel="external noopener noreferrer" target="_blank">#67066</a> [Finder] Fix escaped brackets in glob patterns (@wfatih)</li>
</ul>
</div>
<div class="section">
<h3 id="form"><a class="headerlink" href="#form" title="Permalink to this headline">Form</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67495" class="reference external" rel="external noopener noreferrer" target="_blank">#67495</a> [Form] Fix delete_empty with object collections (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67410" class="reference external" rel="external noopener noreferrer" target="_blank">#67410</a> [Form] Reject week numbers lower than 1 in WeekToArrayTransformer (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67101" class="reference external" rel="external noopener noreferrer" target="_blank">#67101</a> [Form] Invalidate cached resources when a block hierarchy changes (@drewmt)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67110" class="reference external" rel="external noopener noreferrer" target="_blank">#67110</a> [Form] Fix where collection_entry is inserted in the block prefixes of a collection prototype (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67007" class="reference external" rel="external noopener noreferrer" target="_blank">#67007</a> [Form] Fix <a href="debug:form" class="reference internal">debug:form</a> for types calling addNormalizer(), setDeprecated(), setInfo() or getInfo() on inherited options (@andyexeter)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67010" class="reference external" rel="external noopener noreferrer" target="_blank">#67010</a> [Form] Fix <a href="debug:form" class="reference internal">debug:form</a> listing an overridden option twice (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66958" class="reference external" rel="external noopener noreferrer" target="_blank">#66958</a> [Form] Fix rendering the parent block twice from a form theme block (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66956" class="reference external" rel="external noopener noreferrer" target="_blank">#66956</a> [Form] Clear the renderer state when rendering a block fails (@KevinMartinsDev)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67589" class="reference external" rel="external noopener noreferrer" target="_blank">#67589</a> [Form] Refine Persian date interval and locale translations (@ephpicman)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67566" class="reference external" rel="external noopener noreferrer" target="_blank">#67566</a> [Form] Improve Persian validator translations (@ephpicman)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67546" class="reference external" rel="external noopener noreferrer" target="_blank">#67546</a> [Form] Review Indonesian validator translations (@Yoruxyv)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67531" class="reference external" rel="external noopener noreferrer" target="_blank">#67531</a> [Form] Review Arabic translations (@MohannadElemary)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67519" class="reference external" rel="external noopener noreferrer" target="_blank">#67519</a> [Form] Review Swedish translations (@JakobHallin)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67517" class="reference external" rel="external noopener noreferrer" target="_blank">#67517</a> [Form][Validator] Review Latvian translations (@k0d3r1s)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67498" class="reference external" rel="external noopener noreferrer" target="_blank">#67498</a> [Form] Review pt_BR translations (@anderson-oliveira-git)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67502" class="reference external" rel="external noopener noreferrer" target="_blank">#67502</a> [Form] Remove needs-review-translation state from Spanish translations (@abp002)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67449" class="reference external" rel="external noopener noreferrer" target="_blank">#67449</a> [Form][Security][Validator] Add Central Kurdish (ckb) translations (@RawanD201)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67441" class="reference external" rel="external noopener noreferrer" target="_blank">#67441</a> [Form][Security][Validator] Review Thai translations (@Warayuth014)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67437" class="reference external" rel="external noopener noreferrer" target="_blank">#67437</a> [Form] Review Russian translations (@lazerg)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67330" class="reference external" rel="external noopener noreferrer" target="_blank">#67330</a> [Form] Change the validator translations to use neutral messages. (@Fan2Shrek)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67354" class="reference external" rel="external noopener noreferrer" target="_blank">#67354</a> [Form][Security][Validator] Correct Arabic translations (@malekkadri)</li>
</ul>
</div>
<div class="section">
<h3 id="frameworkbundle"><a class="headerlink" href="#frameworkbundle" title="Permalink to this headline">FrameworkBundle</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67516" class="reference external" rel="external noopener noreferrer" target="_blank">#67516</a> [FrameworkBundle] Make secrets key generation and list updates safe to interrupt (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67511" class="reference external" rel="external noopener noreferrer" target="_blank">#67511</a> [FrameworkBundle] Make secrets key rotation safe to interrupt (@cestercian)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67494" class="reference external" rel="external noopener noreferrer" target="_blank">#67494</a> [FrameworkBundle][Serializer] Fix autowired normalizers being shared between named serializers (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67288" class="reference external" rel="external noopener noreferrer" target="_blank">#67288</a> [FrameworkBundle] Fix TestContainer::initialized() for private services (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/60091" class="reference external" rel="external noopener noreferrer" target="_blank">#60091</a> [FrameworkBundle][Serializer] Fix nested normalizers being shared between named serializers (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67245" class="reference external" rel="external noopener noreferrer" target="_blank">#67245</a> [FrameworkBundle] Fix describing classes whose docblock only has a tag (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67179" class="reference external" rel="external noopener noreferrer" target="_blank">#67179</a> [FrameworkBundle][HttpKernel] Collect garbage cycles in the callers of Kernel::shutdown() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66989" class="reference external" rel="external noopener noreferrer" target="_blank">#66989</a> [FrameworkBundle] Reset the whole request context, not only its parameters (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66944" class="reference external" rel="external noopener noreferrer" target="_blank">#66944</a> [FrameworkBundle] Fix request context parameters leaking between requests (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="htmlsanitizer"><a class="headerlink" href="#htmlsanitizer" title="Permalink to this headline">HtmlSanitizer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67227" class="reference external" rel="external noopener noreferrer" target="_blank">#67227</a> [HtmlSanitizer] Don't cut a multibyte character when truncating the input to its maximum length (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67226" class="reference external" rel="external noopener noreferrer" target="_blank">#67226</a> [HtmlSanitizer] Ignore meta charset declarations in NativeParser (@lazerg)</li>
</ul>
</div>
<div class="section">
<h3 id="httpclient"><a class="headerlink" href="#httpclient" title="Permalink to this headline">HttpClient</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67513" class="reference external" rel="external noopener noreferrer" target="_blank">#67513</a> [HttpClient] Fix retry delays longer than the idle timeout (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67223" class="reference external" rel="external noopener noreferrer" target="_blank">#67223</a> [HttpClient] Fix NativeHttpClient sending paused requests up to one second late (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67112" class="reference external" rel="external noopener noreferrer" target="_blank">#67112</a> [HttpClient] Fix AmpHttpClient reporting completed responses up to one second late (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67052" class="reference external" rel="external noopener noreferrer" target="_blank">#67052</a> [HttpClient] Fix CurlHttpClient leaking temp file streams (@bakugo)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67085" class="reference external" rel="external noopener noreferrer" target="_blank">#67085</a> [HttpClient] Fix CurlHttpClient leaking the curl handle of responses closed while performing (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66938" class="reference external" rel="external noopener noreferrer" target="_blank">#66938</a> [HttpClient] Don't add the query option again to redirect targets in NoPrivateNetworkHttpClient (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="httpfoundation"><a class="headerlink" href="#httpfoundation" title="Permalink to this headline">HttpFoundation</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-108082" class="reference external">#cve-2026-108082</a> [HttpFoundation] Remove the ambiguity that makes HeaderUtils::split() backtrack (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67504" class="reference external" rel="external noopener noreferrer" target="_blank">#67504</a> [HttpFoundation] Ignore malformed and multiple ranges in BinaryFileResponse (@jack-worman)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67501" class="reference external" rel="external noopener noreferrer" target="_blank">#67501</a> [HttpFoundation] Don't reject suffix ranges longer than the file in BinaryFileResponse (@jack-worman)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67496" class="reference external" rel="external noopener noreferrer" target="_blank">#67496</a> [HttpFoundation] Match whole subtags in Request::getPreferredLanguage() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67296" class="reference external" rel="external noopener noreferrer" target="_blank">#67296</a> [HttpFoundation] Handle filter failures in array values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67345" class="reference external" rel="external noopener noreferrer" target="_blank">#67345</a> [HttpFoundation] Fix cookie names and header parsing (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67126" class="reference external" rel="external noopener noreferrer" target="_blank">#67126</a> [HttpFoundation] Fix MigratingSessionHandler sending needless cookies to delete empty sessions (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67123" class="reference external" rel="external noopener noreferrer" target="_blank">#67123</a> [HttpFoundation] Destroy empty sessions in updateTimestamp() of the Redis, Memcached, MongoDb and Pdo session handlers (@PhilETaylor)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67125" class="reference external" rel="external noopener noreferrer" target="_blank">#67125</a> [HttpFoundation] Don't marshall empty session data in MarshallingSessionHandler (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67059" class="reference external" rel="external noopener noreferrer" target="_blank">#67059</a> [HttpFoundation] Don't announce a Content-Length on non-successful BinaryFileResponse (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67060" class="reference external" rel="external noopener noreferrer" target="_blank">#67060</a> [HttpFoundation] Register the session shutdown function only once in NativeSessionStorage (@lazerg)</li>
</ul>
</div>
<div class="section">
<h3 id="httpkernel"><a class="headerlink" href="#httpkernel" title="Permalink to this headline">HttpKernel</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67581" class="reference external" rel="external noopener noreferrer" target="_blank">#67581</a> [HttpKernel] Don't keep the stale container when rebuilding it fails (@lazerg)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67120" class="reference external" rel="external noopener noreferrer" target="_blank">#67120</a> [HttpKernel] Fix transient failures in ResponseCacheStrategyTest (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67114" class="reference external" rel="external noopener noreferrer" target="_blank">#67114</a> [HttpKernel] Fix ExceptionEvent::isKernelTerminating() for exceptions thrown by terminate listeners (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67083" class="reference external" rel="external noopener noreferrer" target="_blank">#67083</a> [HttpKernel] Make Kernel::terminate() go through http_cache like handle() does (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66997" class="reference external" rel="external noopener noreferrer" target="_blank">#66997</a> [HttpKernel] Fix FileProfilerStorage not removing some expired profiles (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66992" class="reference external" rel="external noopener noreferrer" target="_blank">#66992</a> [HttpKernel] Don't list expired profiles in the profiler search (@javiereguiluz)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66922" class="reference external" rel="external noopener noreferrer" target="_blank">#66922</a> [HttpKernel] Reset the default logger between requests (@KevinMartinsDev)</li>
</ul>
</div>
<div class="section">
<h3 id="intl"><a class="headerlink" href="#intl" title="Permalink to this headline">Intl</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67543" class="reference external" rel="external noopener noreferrer" target="_blank">#67543</a> [Intl] Fix Timezones::getRawOffset() depending on the default timezone around DST transitions (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67485" class="reference external" rel="external noopener noreferrer" target="_blank">#67485</a> [Intl] Add the locales that have a three-letter language code (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67476" class="reference external" rel="external noopener noreferrer" target="_blank">#67476</a> [Intl] Fix EmojiTransliterator on empty slices and on slices that split a surrogate pair (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67509" class="reference external" rel="external noopener noreferrer" target="_blank">#67509</a> [Intl] Update the ICU data to 79.1 (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="jsonstreamer"><a class="headerlink" href="#jsonstreamer" title="Permalink to this headline">JsonStreamer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67587" class="reference external" rel="external noopener noreferrer" target="_blank">#67587</a> [JsonStreamer] Reject scalar values of the wrong type instead of converting them (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67515" class="reference external" rel="external noopener noreferrer" target="_blank">#67515</a> [JsonStreamer] Fix explicit null handling in the string reader and reject it on non-nullable types (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67467" class="reference external" rel="external noopener noreferrer" target="_blank">#67467</a> [JsonStreamer] Ignore static properties when reading and writing objects (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67466" class="reference external" rel="external noopener noreferrer" target="_blank">#67466</a> [JsonStreamer] Stop ignoring properties set to the internal missing value marker (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67415" class="reference external" rel="external noopener noreferrer" target="_blank">#67415</a> [JsonStreamer] Fix numeric streamed names (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67381" class="reference external" rel="external noopener noreferrer" target="_blank">#67381</a> [JsonStreamer] Fix string validation and non-seekable stream reads (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67351" class="reference external" rel="external noopener noreferrer" target="_blank">#67351</a> [JsonStreamer] Fix exponential data model on unions of already generated classes (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67339" class="reference external" rel="external noopener noreferrer" target="_blank">#67339</a> [JsonStreamer] Fix value transformers called on missing properties (@mtarld)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67349" class="reference external" rel="external noopener noreferrer" target="_blank">#67349</a> [JsonStreamer] Fix reading JSON lists as non-list arrays from streams (@mtarld)</li>
</ul>
</div>
<div class="section">
<h3 id="lock"><a class="headerlink" href="#lock" title="Permalink to this headline">Lock</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67401" class="reference external" rel="external noopener noreferrer" target="_blank">#67401</a> [Lock] Fix database names parsed from MongoDB URIs (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="mailer"><a class="headerlink" href="#mailer" title="Permalink to this headline">Mailer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67264" class="reference external" rel="external noopener noreferrer" target="_blank">#67264</a> [Mailer] Throw a TransportException when proc_open() is not available (@Amoifr)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67023" class="reference external" rel="external noopener noreferrer" target="_blank">#67023</a> [Mailer] Accept Brevo marketing webhook payloads (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="messenger"><a class="headerlink" href="#messenger" title="Permalink to this headline">Messenger</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67456" class="reference external" rel="external noopener noreferrer" target="_blank">#67456</a> [Messenger] Fix describing classes whose docblock only has a tag in <a href="debug:messenger" class="reference internal">debug:messenger</a> (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67362" class="reference external" rel="external noopener noreferrer" target="_blank">#67362</a> [Messenger] Release deduplication lock after failed dispatch (@dalerazimov)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67231" class="reference external" rel="external noopener noreferrer" target="_blank">#67231</a> [Messenger] Fix the user_id, CC and expiration of republished or delayed AMQP messages (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67230" class="reference external" rel="external noopener noreferrer" target="_blank">#67230</a> [Messenger] Do not inherit AMQP expiration when sending to another transport (@dalerazimov)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67150" class="reference external" rel="external noopener noreferrer" target="_blank">#67150</a> [Messenger] Never reuse the received AMQP routing key when sending to another transport (@dalerazimov)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67115" class="reference external" rel="external noopener noreferrer" target="_blank">#67115</a> [Messenger][WebProfilerBundle] Fix tracing messages dispatched from internal functions (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67038" class="reference external" rel="external noopener noreferrer" target="_blank">#67038</a> [Messenger] Acknowledge messages sent for retry (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67002" class="reference external" rel="external noopener noreferrer" target="_blank">#67002</a> [Messenger] Fix the Redis transport after a lost connection (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67000" class="reference external" rel="external noopener noreferrer" target="_blank">#67000</a> [Messenger] Fix the Amazon SQS connection rethrowing the same error after a failed receive (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66973" class="reference external" rel="external noopener noreferrer" target="_blank">#66973</a> [Messenger] Fix the Doctrine transport not retrying ack() and reject() on deadlocks (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66974" class="reference external" rel="external noopener noreferrer" target="_blank">#66974</a> [Messenger] Fix PostgreSqlConnection throwing from its destructor when the database is gone (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66975" class="reference external" rel="external noopener noreferrer" target="_blank">#66975</a> [Messenger] Fix the worker looping without sleeping just before its time limit (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66955" class="reference external" rel="external noopener noreferrer" target="_blank">#66955</a> [Messenger] Fix the Beanstalkd transport using the "default" tube after a failed reconnect (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66935" class="reference external" rel="external noopener noreferrer" target="_blank">#66935</a> [Messenger] Fix DispatchAfterCurrentBusMiddleware staying in a root dispatch after an \Error (@KevinMartinsDev)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66914" class="reference external" rel="external noopener noreferrer" target="_blank">#66914</a> [Messenger] Prevent losing delayed Redis messages on migration failure (@dalerazimov)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67582" class="reference external" rel="external noopener noreferrer" target="_blank">#67582</a> [Messenger] Allow installing the Redis bridge with only ext-relay (@lazerg)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67072" class="reference external" rel="external noopener noreferrer" target="_blank">#67072</a> [Messenger] Fix the Amazon SQS and Beanstalkd transports when pcntl_signal_dispatch() is disabled (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="mime"><a class="headerlink" href="#mime" title="Permalink to this headline">Mime</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-45070" class="reference external">#cve-2026-45070</a> [Mime] Reject parameter names containing non-token characters (@alexandre-daubois)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67497" class="reference external" rel="external noopener noreferrer" target="_blank">#67497</a> [Mime] Fix unserializing subclasses of TextPart, DataPart and SMimePart that implement __sleep() (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67493" class="reference external" rel="external noopener noreferrer" target="_blank">#67493</a> [Mime] Reject non-string values when unserializing TextPart, SMimePart and Email (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67472" class="reference external" rel="external noopener noreferrer" target="_blank">#67472</a> [Mime] Fix unserializing DataPart payloads created by 6.4 and reject non-string values (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67471" class="reference external" rel="external noopener noreferrer" target="_blank">#67471</a> [Mime] Fix losing the content of multipart and custom parts when serializing them (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67478" class="reference external" rel="external noopener noreferrer" target="_blank">#67478</a> [Mime] Escape backslashes in Address::getEncodedName() (@munzzyy)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67444" class="reference external" rel="external noopener noreferrer" target="_blank">#67444</a> [Mime] Escape quotes and backslashes in quoted parameter values (@wleeaf)</li>
</ul>
</div>
<div class="section">
<h3 id="monologbridge"><a class="headerlink" href="#monologbridge" title="Permalink to this headline">MonologBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67248" class="reference external" rel="external noopener noreferrer" target="_blank">#67248</a> [MonologBridge] Fix NotifierHandler not raising levels below Error with Monolog 3 (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="notifier"><a class="headerlink" href="#notifier" title="Permalink to this headline">Notifier</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67307" class="reference external" rel="external noopener noreferrer" target="_blank">#67307</a> [Notifier] Fix Transport::fromDsn() when some bridges are installed (@javiereguiluz)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66998" class="reference external" rel="external noopener noreferrer" target="_blank">#66998</a> [Notifier][Sevenio] Fix response code 101 being reported as a success (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67261" class="reference external" rel="external noopener noreferrer" target="_blank">#67261</a> [Notifier][Brevo] Update the Brevo API documentation link (@lbonnet-gda)</li>
</ul>
</div>
<div class="section">
<h3 id="objectmapper"><a class="headerlink" href="#objectmapper" title="Permalink to this headline">ObjectMapper</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67268" class="reference external" rel="external noopener noreferrer" target="_blank">#67268</a> [ObjectMapper] Remove @internal from Mapping (@nikophil)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67142" class="reference external" rel="external noopener noreferrer" target="_blank">#67142</a> [ObjectMapper] Fix losing the value mapped to a promoted property when a later #[Map] is skipped (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67063" class="reference external" rel="external noopener noreferrer" target="_blank">#67063</a> [ObjectMapper] Fix the metadata of a property leaking into a class whose name continues the class name (@javiereguiluz)</li>
</ul>
</div>
<div class="section">
<h3 id="optionsresolver"><a class="headerlink" href="#optionsresolver" title="Permalink to this headline">OptionsResolver</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67069" class="reference external" rel="external noopener noreferrer" target="_blank">#67069</a> [OptionsResolver] Ensure remove() also unsets nested options (@wfatih)</li>
</ul>
</div>
<div class="section">
<h3 id="phpunitbridge"><a class="headerlink" href="#phpunitbridge" title="Permalink to this headline">PhpUnitBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67033" class="reference external" rel="external noopener noreferrer" target="_blank">#67033</a> [PhpUnitBridge] Honor --stderr for listener output (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="propertyaccess"><a class="headerlink" href="#propertyaccess" title="Permalink to this headline">PropertyAccess</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67512" class="reference external" rel="external noopener noreferrer" target="_blank">#67512</a> [PropertyAccess] Fix writing SimpleXMLElement children and dynamic properties of #[AllowDynamicProperties] classes (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66965" class="reference external" rel="external noopener noreferrer" target="_blank">#66965</a> [PropertyAccess] Fix using custom PropertyPathInterface implementations on objects (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66932" class="reference external" rel="external noopener noreferrer" target="_blank">#66932</a> [PropertyAccess] Fix using custom PropertyPathInterface implementations (@HawkForge)</li>
</ul>
</div>
<div class="section">
<h3 id="propertyinfo"><a class="headerlink" href="#propertyinfo" title="Permalink to this headline">PropertyInfo</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67249" class="reference external" rel="external noopener noreferrer" target="_blank">#67249</a> [PropertyInfo] Fix resolution of self, static and parent with TypeInfo (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67234" class="reference external" rel="external noopener noreferrer" target="_blank">#67234</a> [PropertyInfo] Fix resolution of self, static and parent in collection types (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="ratelimiter"><a class="headerlink" href="#ratelimiter" title="Permalink to this headline">RateLimiter</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67204" class="reference external" rel="external noopener noreferrer" target="_blank">#67204</a> [RateLimiter] Fix early retry and expiry times, and three consume() edge cases (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67203" class="reference external" rel="external noopener noreferrer" target="_blank">#67203</a> [RateLimiter] Fix SlidingWindow wait duration when refused by the hits of the current window (@florentdestremau)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67087" class="reference external" rel="external noopener noreferrer" target="_blank">#67087</a> [RateLimiter] Apply updated configuration to stored fixed windows (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67022" class="reference external" rel="external noopener noreferrer" target="_blank">#67022</a> [RateLimiter] Apply updated configuration to stored token buckets (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67021" class="reference external" rel="external noopener noreferrer" target="_blank">#67021</a> [RateLimiter] Reject refill intervals below one second (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="routing"><a class="headerlink" href="#routing" title="Permalink to this headline">Routing</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67508" class="reference external" rel="external noopener noreferrer" target="_blank">#67508</a> [Routing] Don't ignore route conditions that are "0" (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67337" class="reference external" rel="external noopener noreferrer" target="_blank">#67337</a> [Routing] Remove the "deprecated" key from route definitions in routing.schema.json (@momito69)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67093" class="reference external" rel="external noopener noreferrer" target="_blank">#67093</a> [Routing] Fix HEAD-only routes with UrlMatcher and scheme redirections when both trailing slash variants exist (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="runtime"><a class="headerlink" href="#runtime" title="Permalink to this headline">Runtime</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67174" class="reference external" rel="external noopener noreferrer" target="_blank">#67174</a> [Runtime] Don't terminate the last request twice when a FrankenPHP worker stops (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="scheduler"><a class="headerlink" href="#scheduler" title="Permalink to this headline">Scheduler</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67503" class="reference external" rel="external noopener noreferrer" target="_blank">#67503</a> [Scheduler] Fix skipping a run when the cache loses the checkpoint of a running worker (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="security"><a class="headerlink" href="#security" title="Permalink to this headline">Security</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67560" class="reference external" rel="external noopener noreferrer" target="_blank">#67560</a> [Security] Stop logging router errors when a check path does not match the request (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67145" class="reference external" rel="external noopener noreferrer" target="_blank">#67145</a> [Security][SecurityBundle] Decide the checks of an expression for the token being voted on (@Neirda24)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67148" class="reference external" rel="external noopener noreferrer" target="_blank">#67148</a> [Security] Fix TraceableAccessDecisionManager reusing a finished access decision (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67080" class="reference external" rel="external noopener noreferrer" target="_blank">#67080</a> [Security] Fix use_referer redirecting to the check path (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="securitybundle"><a class="headerlink" href="#securitybundle" title="Permalink to this headline">SecurityBundle</a></h3>
<ul>
    <li>minor <a href="https://github.com/symfony/symfony/pull/67551" class="reference external" rel="external noopener noreferrer" target="_blank">#67551</a> [SecurityBundle] Stop asserting an empty body for the 401 of a rejected access token (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="serializer"><a class="headerlink" href="#serializer" title="Permalink to this headline">Serializer</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67459" class="reference external" rel="external noopener noreferrer" target="_blank">#67459</a> [Serializer] Escape formulas in the header row of CSV files (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67243" class="reference external" rel="external noopener noreferrer" target="_blank">#67243</a> [Serializer] Fix denormalizing a scalar into a union with an object type (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67232" class="reference external" rel="external noopener noreferrer" target="_blank">#67232</a> [Serializer] Fix normalizing a file that DataUriNormalizer denormalized (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67139" class="reference external" rel="external noopener noreferrer" target="_blank">#67139</a> [Serializer] Fix denormalizing string-keyed collections and unions from XML (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67055" class="reference external" rel="external noopener noreferrer" target="_blank">#67055</a> [Serializer] Fix the first normalized object deciding whether property paths are normalized (@HypeMC)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67034" class="reference external" rel="external noopener noreferrer" target="_blank">#67034</a> [Serializer] Apply ignored attributes to setter and adder aliases (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66986" class="reference external" rel="external noopener noreferrer" target="_blank">#66986</a> [Serializer] Fix normalizing discriminated classes that have no properties (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="string"><a class="headerlink" href="#string" title="Permalink to this headline">String</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67361" class="reference external" rel="external noopener noreferrer" target="_blank">#67361</a> [String] Fix hyphenated locales in AsciiSlugger (@malekkadri)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67380" class="reference external" rel="external noopener noreferrer" target="_blank">#67380</a> [String] Fix slugger cache changing parent locale transliteration (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67284" class="reference external" rel="external noopener noreferrer" target="_blank">#67284</a> [String] Preserve text after emoji joiners in width calculations (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67068" class="reference external" rel="external noopener noreferrer" target="_blank">#67068</a> [String] Fix trim(), trimStart() and trimEnd() with empty chars on unicode strings (@wfatih)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67091" class="reference external" rel="external noopener noreferrer" target="_blank">#67091</a> [String] Fix trim(), trimStart() and trimEnd() with ".." ranges on unicode strings (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66994" class="reference external" rel="external noopener noreferrer" target="_blank">#66994</a> [String] Fix slice(), splice() and chunk() with very large offsets or lengths (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66969" class="reference external" rel="external noopener noreferrer" target="_blank">#66969</a> [String] Fix UnicodeString::replace() and split() with ignorable characters like U+200B (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="translation"><a class="headerlink" href="#translation" title="Permalink to this headline">Translation</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67352" class="reference external" rel="external noopener noreferrer" target="_blank">#67352</a> [Translation] Check XLIFF 2 target language when linting filenames (@malekkadri)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66980" class="reference external" rel="external noopener noreferrer" target="_blank">#66980</a> [Translation] Fix FileDumper::dump() when another process creates the target directory (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="twigbridge"><a class="headerlink" href="#twigbridge" title="Permalink to this headline">TwigBridge</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/66990" class="reference external" rel="external noopener noreferrer" target="_blank">#66990</a> [TwigBridge] Fix form_label() with a literal label and non-literal variables (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="typeinfo"><a class="headerlink" href="#typeinfo" title="Permalink to this headline">TypeInfo</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67404" class="reference external" rel="external noopener noreferrer" target="_blank">#67404</a> [TypeInfo] Resolve keywords case-insensitively in StringTypeResolver (@DerManoMann)</li>
</ul>
</div>
<div class="section">
<h3 id="validator"><a class="headerlink" href="#validator" title="Permalink to this headline">Validator</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67070" class="reference external" rel="external noopener noreferrer" target="_blank">#67070</a> [Validator] Fix the Video constraint for rotated videos and thumbnails (@GromNaN)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67032" class="reference external" rel="external noopener noreferrer" target="_blank">#67032</a> [Validator] Compare integer ranges without losing precision (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67076" class="reference external" rel="external noopener noreferrer" target="_blank">#67076</a> [Validator] Fix Collection with groups failing on fields that have no groups (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67067" class="reference external" rel="external noopener noreferrer" target="_blank">#67067</a> [Validator] Fix Count::$divisibleBy being ignored in groups other than Default (@wfatih)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67540" class="reference external" rel="external noopener noreferrer" target="_blank">#67540</a> [Validator] Fix Arabic validation messages and six-form plurals (@malekkadri)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/66933" class="reference external" rel="external noopener noreferrer" target="_blank">#66933</a> [Validator] Review Italian translations (@mrCabez)</li>
</ul>
</div>
<div class="section">
<h3 id="vardumper"><a class="headerlink" href="#vardumper" title="Permalink to this headline">VarDumper</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/66966" class="reference external" rel="external noopener noreferrer" target="_blank">#66966</a> [VarDumper] Fix source excerpts of files with CRLF line endings (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="varexporter"><a class="headerlink" href="#varexporter" title="Permalink to this headline">VarExporter</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67301" class="reference external" rel="external noopener noreferrer" target="_blank">#67301</a> [VarExporter] Preserve named variadic arguments in lazy proxies (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="webprofilerbundle"><a class="headerlink" href="#webprofilerbundle" title="Permalink to this headline">WebProfilerBundle</a></h3>
<ul>
    <li>bug <a href="https://github.com/symfony/symfony/pull/67450" class="reference external" rel="external noopener noreferrer" target="_blank">#67450</a> [WebProfilerBundle] Check that the profiler is enabled before opening files (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67081" class="reference external" rel="external noopener noreferrer" target="_blank">#67081</a> [WebProfilerBundle] Fix the toolbar hiding unhandled fetch() rejections and leaving 0 ms requests loading (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67016" class="reference external" rel="external noopener noreferrer" target="_blank">#67016</a> [WebProfilerBundle] Fix the form and translation panels with Twig 4 (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="yaml"><a class="headerlink" href="#yaml" title="Permalink to this headline">Yaml</a></h3>
<ul>
    <li>security <a href="https://symfony.com/cve-2026-109413" class="reference external">#cve-2026-109413</a> [Yaml] Bound recursion depth in the inline lexer (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/67106" class="reference external" rel="external noopener noreferrer" target="_blank">#67106</a> [Yaml] Fix dumping control characters and invalid UTF-8 in multi-line literal blocks (@nicolas-grekas)</li>
<li>bug <a href="https://github.com/symfony/symfony/pull/66954" class="reference external" rel="external noopener noreferrer" target="_blank">#66954</a> [Yaml] Fix TypeErrors, a PHP warning and wrong results for !php/const keys and merge keys (@nicolas-grekas)</li>
</ul>
</div>
<div class="section">
<h3 id="other"><a class="headerlink" href="#other" title="Permalink to this headline">Other</a></h3>
<ul>
    <li>minor <a href="https://github.com/symfony/symfony/pull/67379" class="reference external" rel="external noopener noreferrer" target="_blank">#67379</a> Add PHP 8.7 to CI (@nicolas-grekas)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67061" class="reference external" rel="external noopener noreferrer" target="_blank">#67061</a> Refine Portuguese translations in validators.pt.xlf (@lucascamp)</li>
<li>minor <a href="https://github.com/symfony/symfony/pull/67065" class="reference external" rel="external noopener noreferrer" target="_blank">#67065</a> Resolve grammar and vocabulary issues in pt-PT (@1PedroSoares)</li>
</ul>
</div>
</div>
                <hr style="margin-bottom: 5px" />
                <div style="font-size: 90%">
                    <a href="https://symfony.com/sponsor">Sponsor</a> the Symfony project.
                </div>
            ]]></content:encoded>
            <guid isPermaLink="false">https://symfony.com/blog/symfony-7-4-22-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Fabien Potencier ]]></dc:creator>
            <pubDate>Wed, 28 Oct 2026 19:21:51 +0100</pubDate>
            <comments>https://symfony.com/blog/symfony-7-4-22-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
            </channel>
</rss>
