<?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>Mon, 13 Apr 2026 14:13:28 +0200</pubDate>
        <lastBuildDate>Mon, 13 Apr 2026 11:30:00 +0200</lastBuildDate>
        <language>en</language>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: “Make your AI useful with MCP”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-make-your-ai-useful-with-mcp?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


We’re excited to announce that SymfonyLive Berlin 2026 will take place April 23–24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.

Before the conference,…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T160133-169.png" alt="Nl Blog Banner 2026 04 07T160133 169">
</a></p>

<p>We’re excited to announce that <strong>SymfonyLive Berlin 2026</strong> will take place April 23–24, 2026 at <a href="https://live.symfony.com/2026-berlin/venue"><strong>CineStar CUBIX Alexanderplatz</strong></a>, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.</p>

<p>Before the conference, <a href="https://live.symfony.com/2026-berlin/workshop"><strong>two days of pre-conference trainings will be held on April 21–22</strong></a>, giving attendees the opportunity to dive deeper into Symfony with expert-led sessions.</p>

<hr />

<h3>🎤 New talk at SymfonyLive Berlin 2026!</h3>

<p>At SymfonyLive Berlin 2026, <a href="https://connect.symfony.com/profile/tobias"><strong>Tobias Nyholm</strong></a>,Some manager, Eneba, will present <a href="https://live.symfony.com/2026-berlin/schedule/make-your-ai-useful-with-mcp"><strong>“Make your AI useful with MCP.”</strong></a></p>

<p>What if your AI could answer your specific questions instead of generic ones? 🤔</p>

<p>In this talk, Tobias will explain the MCP protocol, why it matters, and how to use it to create AI services tailored to your needs; whether it’s checking order status, calculating supplier fees, or tracking your data usage!</p>

<p>Get ready to make your AI truly helpful!</p>

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-10T122214-179.png" alt="Nl Blog Banner 2026 04 10T122214 179">
</a></p>

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

<h3>Choose the option that suits you best:</h3>

<p><strong>Conference Ticket</strong> – Access to the conference on April 23–24 with 15 inspiring speakers, plus replays, lunches, and coffee breaks.</p>

<p><strong>Workshop Ticket</strong> – Access to 2 days of workshops on April 21–22, including lunches and coffee breaks. Workshops are now available—choose yours soon!</p>

<p><strong>Combo Ticket</strong> – The full experience: workshops + conference (April 21–24), with all meals, breaks, and the conference party included.</p>

<p>👉 <strong><a href="https://live.symfony.com/2026-berlin/registration/">Get your ticket for SymfonyLive Berlin 2026</a></strong>💛</p>

<hr />

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154640-801.png" alt="Nl Blog Banner 2026 04 07T154640 801">
</a></p>

<hr />

<h3>Joins 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/symfonylive-berlin-2026-make-your-ai-useful-with-mcp?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Mon, 13 Apr 2026 11:30:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-make-your-ai-useful-with-mcp?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[A Week of Symfony #1006 (April 6–12, 2026)]]></title>
            <link>https://symfony.com/blog/a-week-of-symfony-1006-april-6-12-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>This week, the upcoming Symfony 8.1 version introduced ServicesBundle and ConsoleBundle as a first step in splitting FrameworkBundle into smaller, standalone bundles. In addition, we released Symfony Polyfill 1.34.0, which covers features from PHP 8.4, 8.5,…</description>
            <content:encoded><![CDATA[
                                <p>This week, the upcoming Symfony 8.1 version introduced <a href="https://github.com/symfony/symfony/commit/3acb4ac5f495a51c87c009169e147a7d7e244b0f">ServicesBundle and ConsoleBundle</a> as a first step in splitting FrameworkBundle into smaller, standalone bundles. In addition, we released <a href="https://symfony.com/blog/symfony-polyfill-1-34-0-released">Symfony Polyfill 1.34.0</a>, which covers features from PHP 8.4, 8.5, and 8.6. Lastly, we published more information about talks and workshops at the <a href="https://live.symfony.com/2026-berlin/">SymfonyLive Berlin 2026</a> conference.</p>

<h2>Symfony development highlights</h2>

<p>This week, 28 pull requests were merged (18 in code and 10 in docs) and 22 issues were closed (17 in code and 5 in docs). Excluding merges, 14 authors made additions and deletions. See details for <a href="https://github.com/symfony/symfony/pulse">code</a> and <a href="https://github.com/symfony/symfony-docs/pulse">docs</a>.</p>

<p><a href="https://github.com/symfony/symfony/commits/6.4">6.4 changelog</a>:</p>

<ul>
<li><a href="https://github.com/symfony/symfony/commit/04d03d1256a61c15188f3138ac124dde615d93e3">04d03d1</a>: &#91;DependencyInjection&#93; fix instanceof autoconfiguration for anonymous classes</li>
<li><a href="https://github.com/symfony/symfony/commit/8b44fc1dbfd414b9122e61b66d4fef3dea124638">8b44fc1</a>: &#91;Serializer&#93; fix getAllowedAttributes() when groups contain wildcard '*'</li>
<li><a href="https://github.com/symfony/symfony/commit/e7a281b812b28c56ebfd582604799daf10a4ba6e">e7a281b</a>: &#91;Dotenv&#93; fix self-referencing variable resolution with suffix/prefix</li>
<li><a href="https://github.com/symfony/symfony/commit/3fb5a40db97877ecb8df5c51581af68ba090e8eb">3fb5a40</a>: &#91;DependencyInjection&#93; fix excludeSelf not applied when using AutowireLocator</li>
<li><a href="https://github.com/symfony/symfony/commit/2dad50067ad131c5a1fdf102be2a4019a69ec103">2dad500</a>: &#91;Filesystem&#93; fix Path methods replacing backslashes on UNIX</li>
</ul>

<p><a href="https://github.com/symfony/symfony/commits/7.4">7.4 changelog</a>:</p>

<ul>
<li><a href="https://github.com/symfony/symfony/commit/99f010dbe6d7acb1494caf032fc9be761fd9f980">99f010d</a>:  set ignoreUndefinedTriggers to true in phpunit.xml.dist files</li>
<li><a href="https://github.com/symfony/symfony/commit/b0ed57c75eff3931d69078c292b3f6bc80eadc27">b0ed57c</a>: &#91;Mailer&#93; fix handling of webhook.test verification event from MailerSend webhook</li>
<li><a href="https://github.com/symfony/symfony/commit/c4192b69c67b176675db61bc366fce4db30099cc">c4192b6</a>: &#91;ObjectMapper&#93; auto-inject ObjectMapper into ObjectMapperAwareInterface transforms</li>
</ul>

<p><a href="https://github.com/symfony/symfony/commits/8.1">8.1 changelog</a>:</p>

<ul>
<li><a href="https://github.com/symfony/symfony/commit/5f848d863ab541951fcd7c888e0734d52f93e08a">5f848d8</a>:  bump PHP requirement to >= 8.4.1</li>
<li><a href="https://github.com/symfony/symfony/commit/217545b7ea2bb8e0b927e490f7900d9a600e0977">217545b</a>: &#91;HttpKernel&#93; fix cache warmers running on every kernel boot instead of only on compilation</li>
<li><a href="https://github.com/symfony/symfony/commit/1f7d4cd5251865a6251b8c25dbb344be3c5a999b">1f7d4cd</a>: &#91;Console&#93; improve Table rendering performance</li>
<li><a href="https://github.com/symfony/symfony/commit/4801411b7162e73fd3269bfd83151aa972ed2851">4801411</a>: &#91;VarExporter&#93; fix serialization of objects with __serialize/__unserialize</li>
<li><a href="https://github.com/symfony/symfony/commit/3acb4ac5f495a51c87c009169e147a7d7e244b0f">3acb4ac</a>: &#91;DependencyInjection&#93; add #[RequiredBundle], ServicesBundle and ConsoleBundle</li>
<li><a href="https://github.com/symfony/symfony/commit/1596fb2b29afa054a18b4f52a4470cd9ba5276c7">1596fb2</a>: &#91;ErrorHandler&#93; fix http_response_code() warning on PHP 8.5 for max execution time errors</li>
<li><a href="https://github.com/symfony/symfony/commit/57f65c536bb63668a2505b13b73d109a8fc5a47c">57f65c5</a>: &#91;VarExporter&#93; make DeepCloner::__serialize() return a pure array and add toArray()/fromArray()</li>
<li><a href="https://github.com/symfony/symfony/commit/d770961fca7451dd3ba99066e1abeb340fae1e7b">d770961</a>: &#91;DependencyInjection&#93; fix bundles cache freshness check</li>
<li><a href="https://github.com/symfony/symfony/commit/da9ba596f5d5f4de6bd8871bd0e3b4f94c5274b8">da9ba59</a>: &#91;VarExporter&#93; leverage ext-deepclone when available</li>
</ul>

<h2>Newest issues and pull requests</h2>

<ul>
<li><a href="https://github.com/symfony/symfony/pull/63910">[DependencyInjection] Allow inline Definition as factory and configurator</a></li>
<li><a href="https://github.com/symfony/symfony/issues/63924">[Messenger] Add ID range support for failed:retry and failed:remove</a></li>
<li><a href="https://github.com/symfony/symfony/pull/63907">[RateLimiter] Add #[RateLimit] attribute to rate limit controllers declaratively</a></li>
<li><a href="https://github.com/symfony/symfony/pull/63929">[TwigBundle] Add twig.safe_class resource tag to register safe classes for the escaper</a></li>
</ul>

<h2>Symfony CLI</h2>

<p><a href="https://github.com/symfony-cli/symfony-cli">Symfony CLI</a> is a must-have tool when developing
Symfony applications on your local machine. It includes the
<a href="https://symfony.com/doc/current/setup/symfony_server.html">Symfony Local Server</a>,
the best way to run local Symfony applications. This week Symfony CLI released
its new  version with the following changes:</p>

<ul>
<li>update tests according to cloud templates (@tucksaun)</li>
<li>Bump go to 1.26 and update deps (@tucksaun)</li>
<li>Update deps (@fabpot)</li>
<li>add a CI job to check if tests are changing any files (@tucksaun)</li>
<li>Add autocompletion support for symfony pie (@tucksaun)</li>
<li>Tweak the migration instructions (@tucksaun)</li>
<li>Consider composer.cmd when looking for Composer on Windows (@tucksaun)</li>
<li>fix: DEFAULT_URI should also be exposed locally (@tucksaun)</li>
<li>Update configuration directory name to symfony-cli and a warning if legacy directory is detected (@tucksaun)</li>
<li>prefer os specific config dirs (@tjblackheart)</li>
</ul>

<h2>Symfony Jobs</h2>

<p>These are some of the most recent Symfony job offers:</p>

<ul>
<li><strong>Symfony Developer</strong> at Design Force Marketing<br>
Full-time - $60,000 – $100,000 / year<br>
Grand Haven Michigan, United States<br>
<a href="https://symfony.com/jobs/5ad3b96">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at ShipMonk<br>
Contract / Freelance - $5,000 – $8,000 / month<br>
Full remote<br>
<a href="https://symfony.com/jobs/2bb5783">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at Vacatia<br>
Full-time - $150,000 – $180,000 / year<br>
Remote + part-time onsite (Portland, Oregon, United States)<br>
<a href="https://symfony.com/jobs/8844fec">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at POLAVIS<br>
Full-time - €30 – €45 / hour<br>
Full remote<br>
<a href="https://symfony.com/jobs/13a5a1a">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at Travis International Road Services<br>
Full-time - €3,800 – €4,500 / month<br>
Remote + part-time onsite (Tilburg, Netherlands)<br>
<a href="https://symfony.com/jobs/8f177bf">View details</a></li>
</ul>

<p>You can <a href="https://symfony.com/jobs">publish a Symfony job offer for free</a> on symfony.com.</p>

<h2>SymfonyCasts Updates</h2>

<p><a href="https://symfonycasts.com/">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/doctrine-inheritance/routing">Doctrine Inheritance: Classes in the Database: Routing with Doctrine Inheritance</a></li>
</ul>

<h2>They talked about us</h2>

<ul>
<li><a href="https://dev.to/xwero/creating-a-symfony-tui-application-148e">Creating a Symfony Tui application</a></li>
<li><a href="https://nicolas-jourdan.medium.com/symfony-lock-workflow-taming-the-race-condition-that-will-hit-you-in-production-d04613e0b6a8">Symfony Lock + Workflow: Taming the Race Condition that will hit you in production</a></li>
<li><a href="https://dev.to/tito10047/how-i-turned-hundreds-of-thousands-of-dumb-svg-icons-into-a-semantic-search-engine-in-7-languages-3kal">How I turned hundreds of thousands of SVG icons into a semantic search engine in 7 languages under 20ms (using LLM and Meilisearch)</a></li>
<li><a href="https://medium.com/@mahedi.sulaco.tec/how-doppars-temporal-orm-gives-every-database-record-a-queryable-history-9dda7a17f682">How Doppar’s Temporal ORM gives every database record a queryable history</a></li>
<li><a href="https://medium.com/@vbcherepanov/i-studied-the-etcd-codebase-and-it-changed-how-i-write-php-a02dfdfffb4c">I Studied the etcd Codebase — and It Changed How I Write PHP</a></li>
<li><a href="https://medium.com/@MattLeads/10x-less-ram-the-senior-guide-to-native-json-streaming-in-symfony-0c5fcd40c750">10x Less RAM: The Senior Guide to Native JSON Streaming in Symfony</a></li>
<li><a href="https://sensiolabs.com/blog/2026/symfonylive-paris-2026-ai-revolution-and-a-peak-reunion-for-team-sensiolabs">SymfonyLive Paris 2026: AI Revolution and a Peak Reunion for Team SensioLabs</a></li>
<li><a href="https://yegorshytikov.medium.com/orocommerce-acl-rest-api-and-controller-permission-auth-architecture-0ca4dde1b9a4">OroCommerce: ACL, REST API, and Controller Permission Auth Architecture</a></li>
<li><a href="https://jolicode.com/blog/notre-retour-sur-le-symfonylive-paris-2026">Notre retour sur le SymfonyLive Paris 2026</a></li>
</ul>

<h2>Upcoming Symfony Events</h2>

<ul>
<li><a href="https://www.meetup.com/phpug-rhein-neckar/events/312782219/">Sylius Meetup &amp; Hackathon Mannheim 2026</a>: Mannheim, Germany (April 30, 2026)</li>
<li><a href="https://websummercamp.com/2026">Web Summer Camp 2026</a>: Opatija, Croatia (July 2, 2026 – July 4, 2026)</li>
</ul>

<h2>Call to Action</h2>

<ul>
<li>Follow Symfony <a href="https://x.com/symfony">on X</a>, <a href="https://mastodon.social/@symfony">on Mastodon</a>, <a href="https://bsky.app/profile/symfony.com">on Bluesky</a> and <a href="https://www.threads.net/@symfony">on Threads</a> and share this article.</li>
<li><a href="https://feeds.feedburner.com/symfony/blog">Subscribe to the Symfony blog RSS</a> and never miss a Symfony story again.</li>
</ul>

                <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-1006-april-6-12-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Javier Eguiluz ]]></dc:creator>
            <pubDate>Sun, 12 Apr 2026 09:36:00 +0200</pubDate>
            <comments>https://symfony.com/blog/a-week-of-symfony-1006-april-6-12-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[Symfony Polyfill 1.34.0 released]]></title>
            <link>https://symfony.com/blog/symfony-polyfill-1-34-0-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Symfony Polyfill 1.34.0 ships ten new polyfills that cover features from
PHP 8.4, 8.5, and 8.6, along with a new polyfill for the deepclone
Symfony PHP extension. This release lets you write forward-compatible
code against upcoming PHP APIs while still running…</description>
            <content:encoded><![CDATA[
                                <p>Symfony Polyfill 1.34.0 ships ten new polyfills that cover features from
PHP 8.4, 8.5, and 8.6, along with a new polyfill for the <code translate="no" class="notranslate">deepclone</code>
Symfony PHP extension. This release lets you write forward-compatible
code against upcoming PHP APIs while still running on the PHP versions
your projects support today.</p>
<div class="section">
<h2 id="pdo-driver-specific-subclasses"><a class="headerlink" href="#pdo-driver-specific-subclasses" title="Permalink to this headline">PDO driver-specific subclasses</a></h2>
<p>PHP 8.4 introduced dedicated <code translate="no" class="notranslate">Pdo\Mysql</code>, <code translate="no" class="notranslate">Pdo\Pgsql</code>, <code translate="no" class="notranslate">Pdo\Sqlite</code>,
<code translate="no" class="notranslate">Pdo\Odbc</code>, <code translate="no" class="notranslate">Pdo\Firebird</code>, and <code translate="no" class="notranslate">Pdo\Dblib</code> subclasses with their
own driver-specific constants and methods, and PHP 8.5 deprecates the
equivalents on the base <code translate="no" class="notranslate">PDO</code> class. This polyfill makes the new
classes and constants available on earlier PHP versions, so you can move
away from the deprecated API without waiting for every target runtime to
reach PHP 8.4:</p>
<div translate="no" data-loc="4" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-keyword">use</span> <span class="hljs-title">Pdo</span>\<span class="hljs-title">Mysql</span>;

<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>connection</span> = <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">Mysql</span>(<span class="hljs-string">'mysql:host=localhost;dbname=shop'</span>, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>user</span>, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>pass</span>);
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>connection</span>-&gt;<span class="hljs-title invoke__">setAttribute</span>(Mysql::<span class="hljs-variable constant_">ATTR_MULTI_STATEMENTS</span>, <span class="hljs-keyword">false</span>);</code></pre>
    </div>
</div>
<p>Note that the <code translate="no" class="notranslate">PDO::connect()</code> static factory introduced alongside the
subclasses is not polyfilled.</p>
<p>Thanks to <a href="https://github.com/nicolas-grekas" class="reference external" rel="external noopener noreferrer" target="_blank">@nicolas-grekas</a> and <a href="https://github.com/jnoordsij" class="reference external" rel="external noopener noreferrer" target="_blank">@jnoordsij</a> for
<a href="https://github.com/symfony/polyfill/pull/549" class="reference external" rel="external noopener noreferrer" target="_blank">#549</a>.</p>
</div>
<div class="section">
<h2 id="bcmath-rounding-functions"><a class="headerlink" href="#bcmath-rounding-functions" title="Permalink to this headline">bcmath rounding functions</a></h2>
<p>PHP 8.4 added <code translate="no" class="notranslate">bcround()</code>, <code translate="no" class="notranslate">bcceil()</code>, and <code translate="no" class="notranslate">bcfloor()</code> to round
arbitrary-precision decimal numbers without ever converting them to
floats. The polyfill makes the three functions available on earlier PHP
versions, together with the <code translate="no" class="notranslate">RoundingMode</code> constants that <code translate="no" class="notranslate">bcround()</code>
expects:</p>
<div translate="no" data-loc="3" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>total</span> = <span class="hljs-title invoke__">bcround</span>(<span class="hljs-string">'19.995'</span>, <span class="hljs-number">2</span>, RoundingMode::<span class="hljs-variable constant_">HalfAwayFromZero</span>); <span class="hljs-comment">// '20.00'</span>
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>floor</span> = <span class="hljs-title invoke__">bcfloor</span>(<span class="hljs-string">'19.999'</span>);                                    <span class="hljs-comment">// '19'</span>
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>ceil</span>  = <span class="hljs-title invoke__">bcceil</span>(<span class="hljs-string">'19.001'</span>);                                     <span class="hljs-comment">// '20'</span></code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/Dean151" class="reference external" rel="external noopener noreferrer" target="_blank">@Dean151</a> for
<a href="https://github.com/symfony/polyfill/pull/546" class="reference external" rel="external noopener noreferrer" target="_blank">#546</a>.</p>
</div>
<div class="section">
<h2 id="intllistformatter"><a class="headerlink" href="#intllistformatter" title="Permalink to this headline">IntlListFormatter</a></h2>
<p>PHP 8.5 ships a new <code translate="no" class="notranslate">IntlListFormatter</code> class that joins items into a
locale-aware list, picking the correct conjunction and punctuation for
each language. The ICU polyfill provides it back to PHP 7.2 using the
CLDR list patterns:</p>
<div translate="no" data-loc="7" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>formatter</span> = <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">IntlListFormatter</span>(<span class="hljs-string">'en'</span>);
<span class="hljs-keyword">echo</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>formatter</span>-&gt;<span class="hljs-title invoke__">format</span>([<span class="hljs-string">'apples'</span>, <span class="hljs-string">'oranges'</span>, <span class="hljs-string">'pears'</span>]);
<span class="hljs-comment">// apples, oranges, and pears</span>

<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>formatter</span> = <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">IntlListFormatter</span>(<span class="hljs-string">'fr'</span>);
<span class="hljs-keyword">echo</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>formatter</span>-&gt;<span class="hljs-title invoke__">format</span>([<span class="hljs-string">'pommes'</span>, <span class="hljs-string">'oranges'</span>, <span class="hljs-string">'poires'</span>]);
<span class="hljs-comment">// pommes, oranges et poires</span></code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/Ayesh" class="reference external" rel="external noopener noreferrer" target="_blank">@Ayesh</a> for
<a href="https://github.com/symfony/polyfill/pull/532" class="reference external" rel="external noopener noreferrer" target="_blank">#532</a>.</p>
</div>
<div class="section">
<h2 id="locale-is-right-to-left"><a class="headerlink" href="#locale-is-right-to-left" title="Permalink to this headline">locale_is_right_to_left()</a></h2>
<p>PHP 8.5 also exposes <code translate="no" class="notranslate">locale_is_right_to_left()</code> (along with the
<code translate="no" class="notranslate">Locale::isRightToLeft()</code> method), which returns <code translate="no" class="notranslate">true</code> for locales
written from right to left such as Arabic or Hebrew. You can use it to
flip the layout direction of a response without shipping your own list
of RTL language codes:</p>
<div translate="no" data-loc="1" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>direction</span> = <span class="hljs-title invoke__">locale_is_right_to_left</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>request</span>-&gt;<span class="hljs-title invoke__">getLocale</span>()) ? <span class="hljs-string">'rtl'</span> : <span class="hljs-string">'ltr'</span>;</code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/alexander-schranz" class="reference external" rel="external noopener noreferrer" target="_blank">@alexander-schranz</a> for
<a href="https://github.com/symfony/polyfill/pull/527" class="reference external" rel="external noopener noreferrer" target="_blank">#527</a>.</p>
</div>
<div class="section">
<h2 id="grapheme-levenshtein"><a class="headerlink" href="#grapheme-levenshtein" title="Permalink to this headline">grapheme_levenshtein()</a></h2>
<p>PHP's built-in <code translate="no" class="notranslate">levenshtein()</code> counts bytes, which produces incorrect
results as soon as a string contains multi-byte characters or combining
marks. PHP 8.5 adds <code translate="no" class="notranslate">grapheme_levenshtein()</code>, which operates on
grapheme clusters so that user-visible characters are counted as one
unit:</p>
<div translate="no" data-loc="2" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-title invoke__">grapheme_levenshtein</span>(<span class="hljs-string">'café'</span>, <span class="hljs-string">'cafe'</span>);  <span class="hljs-comment">// 1</span>
<span class="hljs-title invoke__">grapheme_levenshtein</span>(<span class="hljs-string">'Å'</span>, <span class="hljs-string">'A'</span>);        <span class="hljs-comment">// 1</span></code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/sudam802" class="reference external" rel="external noopener noreferrer" target="_blank">@sudam802</a> for
<a href="https://github.com/symfony/polyfill/pull/558" class="reference external" rel="external noopener noreferrer" target="_blank">#558</a>.</p>
</div>
<div class="section">
<h2 id="filter-exception-classes"><a class="headerlink" href="#filter-exception-classes" title="Permalink to this headline">Filter exception classes</a></h2>
<p>PHP 8.5 introduces a <code translate="no" class="notranslate">FILTER_THROW_ON_FAILURE</code> flag that makes
<code translate="no" class="notranslate">filter_var()</code> throw instead of returning <code translate="no" class="notranslate">false</code> on invalid input.
The throwing behavior itself cannot be emulated, but the new exception
classes can, which lets library authors write <code translate="no" class="notranslate">catch</code> blocks that
compile on both PHP 8.5 and earlier releases:</p>
<div translate="no" data-loc="10" 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">Filter</span>\<span class="hljs-title">FilterException</span>;
<span class="hljs-keyword">use</span> <span class="hljs-title">Filter</span>\<span class="hljs-title">FilterFailedException</span>;

<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>flags</span> = FILTER_THROW_ON_FAILURE;

<span class="hljs-keyword">try</span> {
    <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>email</span> = <span class="hljs-title invoke__">filter_var</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>input</span>, FILTER_VALIDATE_EMAIL, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>flags</span>);
} <span class="hljs-keyword">catch</span> (FilterFailedException <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>e</span>) {
    <span class="hljs-comment">// ... report the invalid input</span>
}</code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/Ayesh" class="reference external" rel="external noopener noreferrer" target="_blank">@Ayesh</a> for
<a href="https://github.com/symfony/polyfill/pull/557" class="reference external" rel="external noopener noreferrer" target="_blank">#557</a>.</p>
</div>
<div class="section">
<h2 id="delayedtargetvalidation-attribute"><a class="headerlink" href="#delayedtargetvalidation-attribute" title="Permalink to this headline">DelayedTargetValidation attribute</a></h2>
<p>PHP 8.5 adds the <code translate="no" class="notranslate">#[DelayedTargetValidation]</code> attribute, which tells
the engine to defer target validation of a user attribute until
reflection actually instantiates it. This unblocks attribute authors who
need to apply an attribute to a target that the engine would otherwise
reject. The polyfill provides an empty stub so the attribute compiles
and is visible through reflection on earlier PHP versions:</p>
<div translate="no" data-loc="5" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-meta">#[DelayedTargetValidation]</span>
<span class="hljs-meta">#[Route(<span class="hljs-string">'/invoices'</span>)]</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">InvoiceController</span>
</span>{
}</code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/DanielEScherzer" class="reference external" rel="external noopener noreferrer" target="_blank">@DanielEScherzer</a> for
<a href="https://github.com/symfony/polyfill/pull/541" class="reference external" rel="external noopener noreferrer" target="_blank">#541</a>.</p>
</div>
<div class="section">
<h2 id="clamp"><a class="headerlink" href="#clamp" title="Permalink to this headline">clamp()</a></h2>
<p>Looking further ahead, the release ships a polyfill for the upcoming
PHP 8.6 <code translate="no" class="notranslate">clamp()</code> function, which constrains a numeric value between
a minimum and a maximum:</p>
<div translate="no" data-loc="3" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-title invoke__">clamp</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>volume</span>, <span class="hljs-number">0</span>, <span class="hljs-number">100</span>);  <span class="hljs-comment">// caps volume to the 0..100 range</span>
<span class="hljs-title invoke__">clamp</span>(<span class="hljs-number">-5</span>, <span class="hljs-number">1</span>, <span class="hljs-number">10</span>);        <span class="hljs-comment">// 1</span>
<span class="hljs-title invoke__">clamp</span>(<span class="hljs-number">42</span>, <span class="hljs-number">1</span>, <span class="hljs-number">10</span>);        <span class="hljs-comment">// 10</span></code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/kylekatarnls" class="reference external" rel="external noopener noreferrer" target="_blank">@kylekatarnls</a> for
<a href="https://github.com/symfony/polyfill/pull/554" class="reference external" rel="external noopener noreferrer" target="_blank">#554</a>.</p>
</div>
<div class="section">
<h2 id="polyfill-for-the-deepclone-extension"><a class="headerlink" href="#polyfill-for-the-deepclone-extension" title="Permalink to this headline">Polyfill for the deepclone extension</a></h2>
<p>Symfony now ships an optional <a href="https://github.com/symfony/php-ext-deepclone" class="reference external" rel="external noopener noreferrer" target="_blank">symfony/php-ext-deepclone</a> native
extension that round-trips arbitrary PHP value graphs through an array
representation, preserving object identity, references, cycles, and
private property state. It is several times faster than
<code translate="no" class="notranslate">unserialize(serialize(...))</code> and produces output that OPcache can map
into shared memory when dumped via <code translate="no" class="notranslate">var_export()</code>.</p>
<p>The new <code translate="no" class="notranslate">symfony/polyfill-deepclone</code> package provides the same
<code translate="no" class="notranslate">deepclone_to_array()</code> and <code translate="no" class="notranslate">deepclone_from_array()</code> functions in
pure PHP, reusing the wire format already used by
<code translate="no" class="notranslate">Symfony\Component\VarExporter\DeepCloner</code>:</p>
<div translate="no" data-loc="1" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>snapshot</span> = <span class="hljs-title invoke__">deepclone_from_array</span>(<span class="hljs-title invoke__">deepclone_to_array</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>order</span>));</code></pre>
    </div>
</div>
<p>When the native extension is loaded, the polyfill steps aside.</p>
<p>Thanks to <a href="https://github.com/nicolas-grekas" class="reference external" rel="external noopener noreferrer" target="_blank">@nicolas-grekas</a> and <a href="https://github.com/GromNaN" class="reference external" rel="external noopener noreferrer" target="_blank">@GromNaN</a> for
<a href="https://github.com/symfony/polyfill/pull/561" class="reference external" rel="external noopener noreferrer" target="_blank">#561</a>.</p>
</div>
<div class="section">
<h2 id="collator-compare-fallback"><a class="headerlink" href="#collator-compare-fallback" title="Permalink to this headline">Collator::compare() fallback</a></h2>
<p>Before this release, calling <code translate="no" class="notranslate">Collator::compare()</code> on the ICU polyfill
raised a <code translate="no" class="notranslate">MethodNotImplementedException</code>. It now falls back to a
deterministic string comparison based on the spaceship operator, so code
that needs a stable ordering (rather than full ICU collation) works out
of the box:</p>
<div translate="no" data-loc="2" class="notranslate codeblock codeblock-length-sm codeblock-php">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>collator</span> = <span class="hljs-keyword">new</span> <span class="hljs-title invoke__">Collator</span>(<span class="hljs-string">'en'</span>);
<span class="hljs-title invoke__">usort</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>products</span>, <span class="hljs-function"><span class="hljs-keyword">fn</span> <span class="hljs-params">(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>a</span>, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>b</span>)</span> =&gt;</span> <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>collator</span>-&gt;<span class="hljs-title invoke__">compare</span>(<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>a</span>-&gt;name, <span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>b</span>-&gt;name));</code></pre>
    </div>
</div>
<p>Thanks to <a href="https://github.com/aymericcucherousset" class="reference external" rel="external noopener noreferrer" target="_blank">@aymericcucherousset</a> for
<a href="https://github.com/symfony/polyfill/pull/560" class="reference external" rel="external noopener noreferrer" target="_blank">#560</a>.</p>
</div>
<div class="section">
<h2 id="full-changelog"><a class="headerlink" href="#full-changelog" title="Permalink to this headline">Full Changelog</a></h2>
<ul>
    <li><a href="https://github.com/symfony/polyfill/pull/565" class="reference external" rel="external noopener noreferrer" target="_blank">#565</a> Fix bcdiv handling of DivisionByZeroError (<a href="https://github.com/nicolas-grekas" class="reference external" rel="external noopener noreferrer" target="_blank">@nicolas-grekas</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/501" class="reference external" rel="external noopener noreferrer" target="_blank">#501</a> mbstring polyfills must not raise value errors in PHP 7 (<a href="https://github.com/derrabus" class="reference external" rel="external noopener noreferrer" target="_blank">@derrabus</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/527" class="reference external" rel="external noopener noreferrer" target="_blank">#527</a> [8.5] Add <code translate="no" class="notranslate">locale_is_right_to_left</code> (<a href="https://github.com/alexander-schranz" class="reference external" rel="external noopener noreferrer" target="_blank">@alexander-schranz</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/532" class="reference external" rel="external noopener noreferrer" target="_blank">#532</a> [Intl] Add PHP 8.5 <code translate="no" class="notranslate">IntlListFormatter</code> to ICU polyfill (<a href="https://github.com/Ayesh" class="reference external" rel="external noopener noreferrer" target="_blank">@Ayesh</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/549" class="reference external" rel="external noopener noreferrer" target="_blank">#549</a> Add polyfill for PDO driver specific subclasses (<a href="https://github.com/nicolas-grekas" class="reference external" rel="external noopener noreferrer" target="_blank">@nicolas-grekas</a>, <a href="https://github.com/jnoordsij" class="reference external" rel="external noopener noreferrer" target="_blank">@jnoordsij</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/558" class="reference external" rel="external noopener noreferrer" target="_blank">#558</a> Add the grapheme_levenshtein polyfill (<a href="https://github.com/sudam802" class="reference external" rel="external noopener noreferrer" target="_blank">@sudam802</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/557" class="reference external" rel="external noopener noreferrer" target="_blank">#557</a> [PHP 8.5] Add new <code translate="no" class="notranslate">\Filter\FilterException</code> and <code translate="no" class="notranslate">Filter\FilterFailedException</code> (<a href="https://github.com/Ayesh" class="reference external" rel="external noopener noreferrer" target="_blank">@Ayesh</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/560" class="reference external" rel="external noopener noreferrer" target="_blank">#560</a> Add fallback implementation for Collator::compare() (<a href="https://github.com/aymericcucherousset" class="reference external" rel="external noopener noreferrer" target="_blank">@aymericcucherousset</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/556" class="reference external" rel="external noopener noreferrer" target="_blank">#556</a> Fix PHP 7.2 compatibility for PHP 8.4 polyfill (<a href="https://github.com/Seldaek" class="reference external" rel="external noopener noreferrer" target="_blank">@Seldaek</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/561" class="reference external" rel="external noopener noreferrer" target="_blank">#561</a> Add polyfill for symfony/php-ext-deepclone (<a href="https://github.com/nicolas-grekas" class="reference external" rel="external noopener noreferrer" target="_blank">@nicolas-grekas</a>, <a href="https://github.com/GromNaN" class="reference external" rel="external noopener noreferrer" target="_blank">@GromNaN</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/554" class="reference external" rel="external noopener noreferrer" target="_blank">#554</a> [8.6] Add <code translate="no" class="notranslate">clamp</code> function (<a href="https://github.com/kylekatarnls" class="reference external" rel="external noopener noreferrer" target="_blank">@kylekatarnls</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/546" class="reference external" rel="external noopener noreferrer" target="_blank">#546</a> [8.4] implement bcround, bcceil and bcfloor (<a href="https://github.com/Dean151" class="reference external" rel="external noopener noreferrer" target="_blank">@Dean151</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/504" class="reference external" rel="external noopener noreferrer" target="_blank">#504</a> Ctype: Give the correct deprecations for PHP 8.1+ (<a href="https://github.com/BackEndTea" class="reference external" rel="external noopener noreferrer" target="_blank">@BackEndTea</a>)</li>
<li><a href="https://github.com/symfony/polyfill/pull/541" class="reference external" rel="external noopener noreferrer" target="_blank">#541</a> [8.5] Add polyfill for DelayedTargetValidation (<a href="https://github.com/DanielEScherzer" class="reference external" rel="external noopener noreferrer" target="_blank">@DanielEScherzer</a>)</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/symfony-polyfill-1-34-0-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Fabien Potencier ]]></dc:creator>
            <pubDate>Sat, 11 Apr 2026 10:33:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfony-polyfill-1-34-0-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026:  “Symfony AI-Mate.”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-symfony-ai-mate?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


We’re excited to announce that SymfonyLive Berlin 2026 will take place April 23–24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.

Before the conference,…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T160133-169.png" alt="Nl Blog Banner 2026 04 07T160133 169">
</a></p>

<p>We’re excited to announce that <strong>SymfonyLive Berlin 2026</strong> will take place April 23–24, 2026 at <a href="https://live.symfony.com/2026-berlin/venue"><strong>CineStar CUBIX Alexanderplatz</strong></a>, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.</p>

<p>Before the conference, <a href="https://live.symfony.com/2026-berlin/workshop"><strong>two days of pre-conference trainings will be held on April 21–22</strong></a>, giving attendees the opportunity to dive deeper into Symfony with expert-led sessions.</p>

<hr />

<h3>🎤 Next talk at SymfonyLive Berlin 2026!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/wjohannes"><strong>Johannes Wachter</strong></a> with <a href="https://live.symfony.com/2026-berlin/schedule/symfony-ai-mate"><strong>“Symfony AI-Mate.”</strong></a></p>

<p>Since December 2025, Symfony/AI version 0.1 has introduced the Mate component, opening new possibilities for integrating AI into Symfony applications.</p>

<p>In this talk, Johannes will explore how the Mate component is implemented, how to use it effectively in real-world projects, and take a closer look at its strengths and limitations.</p>

<p>A great opportunity to better understand how AI is being integrated into the Symfony ecosystem — and what it means for your future projects 🤖</p>

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-10T122214-179.png" alt="Nl Blog Banner 2026 04 10T122214 179">
</a></p>

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

<h3>Book your ticket and choose the option that suits you best:</h3>

<p><strong>Conference Ticket</strong> – Access to the conference on April 23–24 with 15 inspiring speakers, plus replays, lunches, and coffee breaks.</p>

<p><strong>Workshop Ticket</strong> – Access to 2 days of workshops on April 21–22, including lunches and coffee breaks. Workshops are now available—choose yours soon!</p>

<p><strong>Combo Ticket</strong> – The full experience: workshops + conference (April 21–24), with all meals, breaks, and the conference party included.</p>

<hr />

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154640-801.png" alt="Nl Blog Banner 2026 04 07T154640 801">
</a></p>

<hr />

<h3>Joins 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/symfonylive-berlin-2026-symfony-ai-mate?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Fri, 10 Apr 2026 11:25:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-symfony-ai-mate?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: “Finding security vulnerabilities with static analysis.”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-finding-security-vulnerabilities-with-static-analysis?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


We’re excited to announce that SymfonyLive Berlin 2026 will take place April 23–24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.



🎤 New talk announced…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T160133-169.png" alt="Nl Blog Banner 2026 04 07T160133 169">
</a></p>

<p>We’re excited to announce that <strong>SymfonyLive Berlin 2026</strong> will take place April 23–24, 2026 at <a href="https://live.symfony.com/2026-berlin/venue"><strong>CineStar CUBIX Alexanderplatz</strong></a>, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.</p>

<hr />

<h3>🎤 New talk announced for SymfonyLive Berlin 2026!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/nicwortel"><strong>Nic Wortel</strong></a>, PHP/DevOps Consultant, Nth Root Software Consultancy, with <a href="https://live.symfony.com/2026-berlin/schedule/finding-security-vulnerabilities-with-static-analysis"><strong>“Finding security vulnerabilities with static analysis.”</strong></a></p>

<p>In this talk, Nic will show how static analysis tools, including some you may already be using, can help you automatically detect common security issues in your Symfony applications.</p>

<p>You’ll learn how to strengthen your development workflow by integrating automated checks that improve security without slowing you down.</p>

<p>A practical session for developers who want to build safer Symfony applications with confidence!🔐</p>

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-10T122214-179.png" alt="Nl Blog Banner 2026 04 10T122214 179">
</a></p>

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

<h3>Choose the option that suits you best:</h3>

<p><strong>Conference Ticket</strong> – Access to the conference on April 23–24 with 15 inspiring speakers, plus replays, lunches, and coffee breaks.</p>

<p><strong>Workshop Ticket</strong> – Access to 2 days of workshops on April 21–22, including lunches and coffee breaks. Workshops are now available—choose yours soon!</p>

<p><strong>Combo Ticket</strong> – The full experience: workshops + conference (April 21–24), with all meals, breaks, and the conference party included.</p>

<p>👉 <strong><a href="https://live.symfony.com/2026-berlin/registration/">Get your ticket for SymfonyLive Berlin 2026</a></strong>💛</p>

<hr />

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154640-801.png" alt="Nl Blog Banner 2026 04 07T154640 801">
</a></p>

<hr />

<h3>Joins 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/symfonylive-berlin-2026-finding-security-vulnerabilities-with-static-analysis?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Thu, 09 Apr 2026 16:00:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-finding-security-vulnerabilities-with-static-analysis?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: “How native lazy objects will change Doctrine and Symfony forever”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-how-native-lazy-objects-will-change-doctrine-and-symfony-forever?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


We’re excited to announce that SymfonyLive Berlin 2026 will take place April 23–24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.

Before the conference,…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T160133-169.png" alt="Nl Blog Banner 2026 04 07T160133 169">
</a></p>

<p>We’re excited to announce that <strong>SymfonyLive Berlin 2026</strong> will take place April 23–24, 2026 at <a href="https://live.symfony.com/2026-berlin/venue"><strong>CineStar CUBIX Alexanderplatz</strong></a>, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.</p>

<p>Before the conference, <a href="https://live.symfony.com/2026-berlin/workshop"><strong>two days of pre-conference trainings will be held on April 21–22</strong></a>, giving attendees the opportunity to dive deeper into Symfony with expert-led sessions.</p>

<hr />

<h3>🎤 New talk announced for SymfonyLive Berlin 2026!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/beberlei"><strong>Benjamin Eberlei</strong></a>, Chief Performance Detective, Tideways GmbH, with <a href="https://live.symfony.com/2026-berlin/schedule/how-native-lazy-objects-will-change-doctrine-and-symfony-forever"><strong>“How native lazy objects will change Doctrine and Symfony forever.”</strong></a></p>

<p>Starting with PHP 8.4, developers will be able to implement lazy loading and proxy objects using native PHP functionality, with minimal overhead and no code generation required.</p>

<p>In this talk, Benjamin will explain how PHP 8.4’s native lazy objects work and why they could become a game changer for both Doctrine and Symfony, simplifying architectures and improving performance across the ecosystem.</p>

<hr />

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

<p>👉 <strong><a href="https://live.symfony.com/2026-berlin/registration/">Get your ticket for SymfonyLive Berlin 2026</a></strong>💛</p>

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154558-283.png" alt="Nl Blog Banner 2026 04 07T154558 283">
</a></p>

<hr />

<h3>Book your ticket and choose the option that suits you best:</h3>

<p><strong>Conference Ticket</strong> – Access to the conference on April 23–24 with 15 inspiring speakers, plus replays, lunches, and coffee breaks.</p>

<p><strong>Workshop Ticket</strong> – Access to 2 days of workshops on April 21–22, including lunches and coffee breaks. Workshops are now available—choose yours soon!</p>

<p><strong>Combo Ticket</strong> – The full experience: workshops + conference (April 21–24), with all meals, breaks, and the conference party included.</p>

<hr />

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154640-801.png" alt="Nl Blog Banner 2026 04 07T154640 801">
</a></p>

<hr />

<h3>Joins 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/symfonylive-berlin-2026-how-native-lazy-objects-will-change-doctrine-and-symfony-forever?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Thu, 09 Apr 2026 12:37:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-how-native-lazy-objects-will-change-doctrine-and-symfony-forever?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: "Event Streaming Architecture with Symfony Messenger"]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-event-streaming-architecture-with-symfony-messenger?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


We’re excited to announce that SymfonyLive Berlin 2026 will take place April 23–24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.

Before the conference,…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T160133-169.png" alt="Nl Blog Banner 2026 04 07T160133 169">
</a></p>

<p>We’re excited to announce that <strong>SymfonyLive Berlin 2026</strong> will take place April 23–24, 2026 at <a href="https://live.symfony.com/2026-berlin/venue"><strong>CineStar CUBIX Alexanderplatz</strong></a>, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport.</p>

<p>Before the conference, <a href="https://live.symfony.com/2026-berlin/workshop"><strong>two days of pre-conference trainings will be held on April 21–22</strong></a>, giving attendees the opportunity to dive deeper into Symfony with expert-led sessions.</p>

<hr />

<h3>🎤 New talk announced for SymfonyLive Berlin 2026!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/maxbeckers"><strong>Max Beckers</strong></a>, <em>Solutions Architect, PAYONE GmbH</em>, with <a href="https://live.symfony.com/2026-berlin/schedule/event-streaming-architecture-with-symfony-messenger"><strong>“Event Streaming Architecture with Symfony Messenger.”</strong></a></p>

<p>In this talk, Max will introduce the fundamentals of event streaming architecture and explore how it can be implemented using the Symfony Messenger component.</p>

<p>A practical session for developers looking to build more scalable and event-driven Symfony systems 🚀</p>

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154558-283.png" alt="Nl Blog Banner 2026 04 07T154558 283">
</a></p>

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

<h3>Choose the option that suits you best:</h3>

<p><strong>Conference Ticket</strong> – Access to the conference on April 23–24 with 15 inspiring speakers, plus replays, lunches, and coffee breaks.</p>

<p><strong>Workshop Ticket</strong> – Access to 2 days of workshops on April 21–22, including lunches and coffee breaks. Workshops are now available—choose yours soon!</p>

<p><strong>Combo Ticket</strong> – The full experience: workshops + conference (April 21–24), with all meals, breaks, and the conference party included.</p>

<p>👉 <strong><a href="https://live.symfony.com/2026-berlin/registration/">Get your ticket for SymfonyLive Berlin 2026</a></strong>💛</p>

<hr />

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin/">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-07T154640-801.png" alt="Nl Blog Banner 2026 04 07T154640 801">
</a></p>

<hr />

<h3>Joins 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/symfonylive-berlin-2026-event-streaming-architecture-with-symfony-messenger?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Wed, 08 Apr 2026 12:20:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-event-streaming-architecture-with-symfony-messenger?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: Discover the Workshops!]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-discover-the-workshops?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    




Before the main conference kicks off, SymfonyLive Berlin 2026 offers two full days of hands-on workshops to help you sharpen your skills and dive deeper into the Symfony ecosystem.

📅 April 21–22, 2026
📍 Berlin, Germany

All workshops will be conducted…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin" title="Blog 1200X440Px">
    <img src="https://symfony.com/uploads/assets/blog/BLOG-1200x440px.png" alt="Blog 1200X440Px">
</a></p>

<hr />

<p><strong>Before the main conference kicks off, SymfonyLive Berlin 2026 offers two full days of hands-on workshops to help you sharpen your skills and dive deeper into the Symfony ecosystem.</strong></p>

<p>📅 April 21–22, 2026
📍 Berlin, Germany</p>

<p>All workshops will be conducted in English, with trainers also available to answer your questions in German.</p>

<hr />

<h3>🧠 Tuesday, April 21, 2026 — Starting at 9:30 AM</h3>

<p>🔍<a href="https://live.symfony.com/2026-berlin/workshop/doctrine-orm-deep-dive"><strong>Doctrine ORM: Deep Dive</strong></a>, by <a href="https://connect.symfony.com/profile/cadien"><em>Oliver Kossin</em></a> &amp; <a href="https://connect.symfony.com/profile/dbrumann"><em>Denis Brumann</em></a></p>

<p>🔍<a href="https://live.symfony.com/2026-berlin/workshop/symfony-ai-discover-the-new-ecosystem-2"><strong>Symfony AI – Discover The New Ecosystem</strong></a>, by <a href="https://connect.symfony.com/profile/sllupa"><em>Stiven Llupa</em></a></p>

<p>🔍<a href="https://live.symfony.com/2026-berlin/workshop/symfony-8-the-fast-track-2"><strong>Symfony 8: The Fast Track</strong></a>, <strong>2-day workshop</strong> by <a href="https://connect.symfony.com/profile/nicolas-grekas"><em>Nicolas Grekas</em></a></p>

<h3>🧠 Wednesday, April 22, 2026 — Starting at 9:30 AM</h3>

<p>🔍<a href="https://live.symfony.com/2026-berlin/workshop/refactoring-towards-clean-architecture-2"><strong>Refactoring Towards Clean Architecture</strong></a>, by <a href="https://connect.symfony.com/profile/ddziaduch"><em>Damian Dziaduch</em></a></p>

<p>🔍<a href="https://live.symfony.com/2026-berlin/workshop/running-symfony-applications-in-docker-2"><strong>Running Symfony Applications in Docker</strong></a>, by <a href="https://connect.symfony.com/profile/nicwortel"><em>Nic Wortel</em></a></p>

<p>🔍<a href="https://live.symfony.com/2026-berlin/workshop/creating-custom-phpstan-and-rector-rules-2"><strong>Creating Custom PHPStan and Rector Rules</strong></a>, by <a href="https://connect.symfony.com/profile/daveliddament"><em>Dave Liddament</em></a></p>

<p>Whether you're looking to master Symfony 8, explore AI integrations, improve your architecture, or boost your tooling, these workshops are the perfect opportunity to gain practical, in-depth knowledge from experts!</p>

<h3>🎟️ Spots are limited — don’t miss your chance to join!</h3>

<hr />

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

<p>👉 <strong><a href="https://live.symfony.com/2026-berlin/registration/">Get your ticket for SymfonyLive Berlin 2026</a></strong>💛</p>

<p><a class="block text-center" href="https://live.symfony.com/2026-berlin">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-74.png" alt="Nl Blog Banner 74">
</a></p>

<hr />

<h3>Book your ticket and choose the option that suits you best:</h3>

<p><strong>Conference Ticket</strong> – Access to the conference on <strong>April 23–24</strong> with 15 inspiring speakers, plus replays, lunches, and coffee breaks.</p>

<p><strong>Workshop Ticket</strong> – Access to 2 days of workshops on <strong>April 21–22</strong>, including lunches and coffee breaks. Workshops are now available—choose yours soon!</p>

<p><strong>Combo Ticket</strong> – The full experience: workshops + conference <strong>(April 21–24)</strong>, with all meals, breaks, and the conference party included.</p>

<h3>Joins 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/symfonylive-berlin-2026-discover-the-workshops?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Tue, 07 Apr 2026 18:00:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-discover-the-workshops?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[A Week of Symfony #1005 (March 30 – April 5, 2026)]]></title>
            <link>https://symfony.com/blog/a-week-of-symfony-1005-march-30-april-5-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>This week, Symfony maintenance versions 6.4.36, 7.4.8, and 8.0.8 were released. Meanwhile, development activity focused on fixing misc. bugs in maintained versions. Lastly, we called for volunteers for the SymfonyLive Berlin 2026 conference.

Symfony development…</description>
            <content:encoded><![CDATA[
                                <p>This week, Symfony maintenance versions <a href="https://symfony.com/blog/symfony-6-4-36-released">6.4.36</a>, <a href="https://symfony.com/blog/symfony-7-4-8-released">7.4.8</a>, and <a href="https://symfony.com/blog/symfony-8-0-8-released">8.0.8</a> were released. Meanwhile, development activity focused on fixing misc. bugs in maintained versions. Lastly, we <a href="https://symfony.com/blog/symfonylive-berlin-2026-call-for-student-volunteers">called for volunteers</a> for the <a href="https://live.symfony.com/2026-berlin/">SymfonyLive Berlin 2026</a> conference.</p>

<h2>Symfony development highlights</h2>

<p>This week, 46 pull requests were merged (34 in code and 12 in docs) and 33 issues were closed (22 in code and 11 in docs). Excluding merges, 19 authors made additions and deletions. See details for <a href="https://github.com/symfony/symfony/pulse">code</a> and <a href="https://github.com/symfony/symfony-docs/pulse">docs</a>.</p>

<p><a href="https://github.com/symfony/symfony/commits/6.4">6.4 changelog</a>:</p>

<ul>
<li><a href="https://github.com/symfony/symfony/commit/6605600328a59286688da3c2bf9a0afd2d5e022f">6605600</a>: &#91;Dotenv&#93; fix preloading warning by replacing anonymous exception class</li>
<li><a href="https://github.com/symfony/symfony/commit/1f1269f7a9970f8b6db5bcb822f054c238a13ac5">1f1269f</a>: &#91;Cache&#93; fix Psr16Cache::getMultiple() returning ValueWrapper with TagAwareAdapter</li>
<li><a href="https://github.com/symfony/symfony/commit/34601b2e15e9bcf3a734c23e012012dd6b6b6a7c">34601b2</a>: &#91;Serializer&#93; fix can*() prefix support in GetSetMethodNormalizer</li>
<li><a href="https://github.com/symfony/symfony/commit/db3612bca5833d6075ebc26e34bf8c2e2ad1102a">db3612b</a>: &#91;TwigBridge&#93; fix image method to use DataPart content ID</li>
<li><a href="https://github.com/symfony/symfony/commit/35724e5b0433a407bee257b8e0f8e05cea8d153d">35724e5</a>: &#91;Console&#93; fix performance regression in OutputFormatter for ASCII content</li>
<li><a href="https://github.com/symfony/symfony/commit/7bfbf899fd2de06f319cc80dbdfc3f7f3b1ffa99">7bfbf89</a>: &#91;EventDispatcher&#93; fix memory leak in TraceableEventDispatcher for long-running processes</li>
<li><a href="https://github.com/symfony/symfony/commit/06c32cbdfa52d3ce9b931e6b196855752e003b1a">06c32cb</a>: &#91;MonologBridge&#93; fix ConsoleHandler losing output after nested command terminates</li>
<li><a href="https://github.com/symfony/symfony/commit/0bf94f263024cb575ff3036b961a73494d7f9ecf">0bf94f2</a>: &#91;Ldap&#93; make the Adapter resettable</li>
<li><a href="https://github.com/symfony/symfony/commit/537cba6a3742f3d0f4e0d5ab6f719403e40afda7">537cba6</a>: &#91;Cache&#93; ensure compatibility with Relay extension 0.21.0</li>
<li><a href="https://github.com/symfony/symfony/commit/c5f74cc09f49eecd9fd5712552f7f5d1a3343af1">c5f74cc</a>: &#91;Serializer&#93; fix denormalization of nested array with key types</li>
<li><a href="https://github.com/symfony/symfony/commit/5e737672b1a41c9e7422358f7ea8735fa28a9f01">5e73767</a>: &#91;VarDumper&#93; ensure that tests are resilient when the Xdebug file link format is defined</li>
<li><a href="https://github.com/symfony/symfony/commit/026d26deb739f070218e688c58409dfb72a8f071">026d26d</a>: &#91;DependencyInjection&#93; fix rejecting inline services in parameters section</li>
<li><a href="https://github.com/symfony/symfony/commit/eb6a4a31ecbacc2adeeb1b79ab8591f3ba1e72b1">eb6a4a3</a>: &#91;EventDispatcher&#93; fix TraceableEventDispatcher when reset during dispatch</li>
<li><a href="https://github.com/symfony/symfony/commit/fad1aaa98667d2d9f6c1b3c8cd6a9c2beeadfe61">fad1aaa</a>: &#91;Console&#93; fix shell completion when SHELL_VERBOSITY=-1</li>
<li><a href="https://github.com/symfony/symfony/commit/201c90187039fe6988a8d84958f181034f3e6f86">201c901</a>: &#91;Cache&#93; fix Psr16Cache::getMultiple() returning wrapper values when using TTL</li>
</ul>

<p><a href="https://github.com/symfony/symfony/commits/7.4">7.4 changelog</a>:</p>

<ul>
<li><a href="https://github.com/symfony/symfony/commit/a60b6fa8f67857d06b55f929223fe14c8f066ffc">a60b6fa</a>:  configure deprecation triggers in PHPUnit</li>
<li><a href="https://github.com/symfony/symfony/commit/a1935e20f4b83869ee6c51bfe59016572bba1666">a1935e2</a>: &#91;Serializer&#93; fix mixed-typed constructor parameters overriding getter-inferred type</li>
<li><a href="https://github.com/symfony/symfony/commit/4675c95c04aaee4f14324fa7073206bfd5532aef">4675c95</a>: &#91;DependencyInjection&#93; fix tagged_iterator/tagged_locator in array PHP config</li>
</ul>

<p><a href="https://github.com/symfony/symfony/commits/8.1">8.1 changelog</a>:</p>

<ul>
<li><a href="https://github.com/symfony/symfony/commit/879a0efcc994c3e6b84f07b37761ff30d4f12acb">879a0ef</a>:  fix minor issues detected with PHP CS Fixer</li>
</ul>

<h2>Newest issues and pull requests</h2>

<ul>
<li><a href="https://github.com/symfony/symfony/pull/63879">[JsonStreamer] Add DateTimeZone value object support</a></li>
<li><a href="https://github.com/symfony/symfony/pull/63866">[DoctrineBridge] Allow using \Closure in #[MapEntity]</a></li>
<li><a href="https://github.com/symfony/symfony/issues/63808">[TwigBundle] Add Interface to EnvironmentConfigurator</a></li>
<li><a href="https://github.com/symfony/symfony/issues/63872">Support writing to asymmetric visibility properties via reflection in PropertyAccessor</a></li>
<li><a href="https://github.com/symfony/symfony/pull/63810">[VarDumper] Dump class-strings as class stubs with source location and static properties</a></li>
<li><a href="https://github.com/symfony/symfony/pull/63819">[Form] Add choice_help option to ChoiceType</a></li>
<li><a href="https://github.com/symfony/symfony/pull/63862">[Console] Use ECH sequence for block padding</a></li>
</ul>

<h2>Symfony Jobs</h2>

<p>These are some of the most recent Symfony job offers:</p>

<ul>
<li><strong>Symfony Developer</strong> at Design Force Marketing<br>
Full-time - $60,000 – $100,000 / year<br>
Grand Haven Michigan, United States<br>
<a href="https://symfony.com/jobs/5ad3b96">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at ShipMonk<br>
Contract / Freelance - $5,000 – $8,000 / month<br>
Full remote<br>
<a href="https://symfony.com/jobs/2bb5783">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at Vacatia<br>
Full-time - $150,000 – $180,000 / year<br>
Remote + part-time onsite (Portland, Oregon, United States)<br>
<a href="https://symfony.com/jobs/8844fec">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at POLAVIS<br>
Full-time - €30 – €45 / hour<br>
Full remote<br>
<a href="https://symfony.com/jobs/13a5a1a">View details</a></li>
<li><strong>Backend Symfony Developer</strong> at Travis International Road Services<br>
Full-time - €3,800 – €4,500 / month<br>
Remote + part-time onsite (Tilburg, Netherlands)<br>
<a href="https://symfony.com/jobs/8f177bf">View details</a></li>
</ul>

<p>You can <a href="https://symfony.com/jobs">publish a Symfony job offer for free</a> on symfony.com.</p>

<h2>SymfonyCasts Updates</h2>

<p><a href="https://symfonycasts.com/">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/doctrine-inheritance/twig">Doctrine Inheritance: Classes in the Database: Inheritance with Twig</a></li>
</ul>

<h2>They talked about us</h2>

<ul>
<li><a href="https://dunglas.dev/2026/03/coding-at-the-speed-of-thought-the-new-era-of-symfony-docker/">Coding at the Speed of Thought: The New Era of Symfony Docker</a></li>
<li><a href="https://dev.to/rahul_chavan_fa70c3ea3f79/from-personal-tool-to-open-source-console-profiler-bundle-2gk0">From Personal Tool to Open Source: Console Profiler Bundle</a></li>
<li><a href="https://dev.to/mattleads/10x-smaller-100x-safer-building-secure-compressed-microservices-in-symfony-570i">10x Smaller, 100x Safer: Building Secure &amp; Compressed Microservices in Symfony</a></li>
<li><a href="https://medium.com/@ZeroCool001/%EF%B8%8F-hexagonal-architecture-in-symfony-a-practical-guide-to-layer-separation-and-event-driven-d23d55a560c1">Hexagonal Architecture in Symfony: A Practical Guide to Layer Separation and Event-Driven Design</a></li>
<li><a href="https://dev.to/mattleads/next-gen-cli-apps-in-php-a-deep-dive-into-symfony-tui-1omb">Next-Gen CLI Apps in PHP: A Deep Dive into Symfony TUI</a></li>
<li><a href="https://les-tilleuls.coop/blog/symfony-docker-dx">Programmer à la vitesse de la pensée : la nouvelle ère de Symfony Docker</a></li>
<li><a href="https://habr.com/ru/companies/otus/articles/1013768/">DI‑контейнер Symfony: autowiring, теги и compiler passes</a></li>
<li><a href="https://habr.com/ru/companies/otus/articles/1013750/">Symfony Serializer</a></li>
</ul>

<h2>Upcoming Symfony Events</h2>

<ul>
<li><a href="https://www.meetup.com/phpug-rhein-neckar/events/312782219/">Sylius Meetup &amp; Hackathon Mannheim 2026</a>: Mannheim, Germany (April 30, 2026)</li>
<li><a href="https://websummercamp.com/2026">Web Summer Camp 2026</a>: Opatija, Croatia (July 2, 2026 – July 4, 2026)</li>
</ul>

<h2>Call to Action</h2>

<ul>
<li>Follow Symfony <a href="https://x.com/symfony">on X</a>, <a href="https://mastodon.social/@symfony">on Mastodon</a>, <a href="https://bsky.app/profile/symfony.com">on Bluesky</a> and <a href="https://www.threads.net/@symfony">on Threads</a> and share this article.</li>
<li><a href="https://feeds.feedburner.com/symfony/blog">Subscribe to the Symfony blog RSS</a> and never miss a Symfony story again.</li>
</ul>

                <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-1005-march-30-april-5-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Javier Eguiluz ]]></dc:creator>
            <pubDate>Sun, 05 Apr 2026 09:19:00 +0200</pubDate>
            <comments>https://symfony.com/blog/a-week-of-symfony-1005-march-30-april-5-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: Call for Student Volunteers!]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-call-for-student-volunteers?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    




Are you a student looking to gain hands-on experience, grow your network, and take part in an international tech event? 🎤

SymfonyLive Berlin 2026 is looking for motivated student volunteers to join the adventure!

📍Where: Berlin, Germany, at The…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-berlin" title="Blog 1200X440Px">
    <img src="https://symfony.com/uploads/assets/blog/BLOG-1200x440px.png" alt="Blog 1200X440Px">
</a></p>

<hr />

<h3>Are you a student looking to gain hands-on experience, grow your network, and take part in an international tech event? 🎤</h3>

<p><a href="https://live.symfony.com/2026-berlin">SymfonyLive Berlin 2026 is looking for motivated student volunteers to join the adventure!</a></p>

<p>📍<strong>Where:</strong> Berlin, Germany, at <strong>The CineStar CUBIX Alexanderplatz</strong>, located in the heart of Berlin directly on Alexanderplatz - perfectly accessible by all public transport.</p>

<p>🗓️ <strong>When:</strong> During SymfonyLive Berlin 2026</p>

<p>Volunteering with us means helping out for one day and getting a free ticket to attend the conference the other day, so you don’t miss any of the action!</p>

<hr />

<p>💼 <strong>Volunteer Tasks</strong></p>

<p>As a volunteer, you may be asked to:</p>

<p>✔️ Welcome attendees</p>

<p>✔️ Provide directions and information</p>

<p>✔️ Help ensure everything runs smoothly throughout the event</p>

<p>✅ <strong>Requirements</strong></p>

<p>To apply, you must:</p>

<p>✔️ Be a student in computer science / IT (all backgrounds welcome!)</p>

<p>✔️ Be curious about careers in development or tech</p>

<p>✔️ Be available for at least one full day during the event</p>

<p>✔️ Speak English (conference language)</p>

<hr />

<p>🎁 <strong>What You Get</strong></p>

<p>✔️ Free access to the full SymfonyLive Berlin 2026 conference</p>

<p>✔️ Opportunities to network with developers, speakers, and community leaders</p>

<p>✔️ Lunch included</p>

<p>✔️ A unique and memorable experience within the Symfony community</p>

<hr />

<p>🚫 <strong>Please note:</strong></p>

<p>We are unable to cover:</p>

<p>✔️ Travel or accommodation costs</p>

<p>✔️ Dinners or evening expenses</p>

<hr />

<p>💌 <strong>How to Apply</strong></p>

<p>Interested? Send us an email at <strong>events@symfony.com</strong>
 with:</p>

<p>✔️ Your name, school, and area of study</p>

<p>✔️ Why you’d like to volunteer</p>

<p>✔️ Your availability during the event</p>

<hr />

<h3><a href="https://live.symfony.com/2026-berlin">Be part of the Symfony community, gain valuable experience, and help make SymfonyLive Berlin 2026 amazing! 💙</a></h3>

<hr />

<h3>Joins 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/symfonylive-berlin-2026-call-for-student-volunteers?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Wed, 01 Apr 2026 11:33:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-call-for-student-volunteers?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
            </channel>
</rss>
