<?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, 19 Apr 2026 07:57:24 +0200</pubDate>
        <lastBuildDate>Fri, 17 Apr 2026 17:15:00 +0200</lastBuildDate>
        <language>en</language>
                        <item>
            <title><![CDATA[SymfonyOnline June 2026: 2 days, 2 thematics tracks driven by Innovation and AI!]]></title>
            <link>https://symfony.com/blog/symfonyonline-june-2026-2-days-2-thematics-tracks-driven-by-innovation-and-ai?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>
    


Get ready for 4 days of deep learning and community connection at our international SymfonyOnline conference. This year, we are shaking things up with a brand-new format designed to keep you at the cutting edge of web development.

💻 June 09-10: Interactive…</description>
            <content:encoded><![CDATA[
                                <p><a class="block text-center" href="https://live.symfony.com/2026-online-june" title="Nl Blog Banner 2026 04 17T163921 336">
    <img src="https://symfony.com/uploads/assets/blog/NL-BLOG-Banner-2026-04-17T163921-336.png" alt="Nl Blog Banner 2026 04 17T163921 336">
</a></p>

<p>Get ready for <strong>4 days</strong> of deep learning and community connection at our international SymfonyOnline conference. This year, we are shaking things up with a <strong>brand-new format</strong> designed to keep you at the cutting edge of web development.</p>

<h3>💻 June 09-10: Interactive workshop days</h3>

<ul>
<li><p>Dive deep into technical topics with our expert-led sessions</p></li>
<li><p>Schedule: 09:00 a.m. to 05:00 p.m. (CEST) on Google Meet</p></li>
<li><p>Format: Hands-on and interactive</p></li>
</ul>

<h3>🎤 June 11-12: Main Conference</h3>

<p>📢 <strong>NEW</strong>: We’ve organized the sessions into 2 high-impact thematic tracks:</p>

<ul>
<li><p>Day 1: A full day dedicated to <strong>AI in PHP and Symfony.</strong></p></li>
<li><p>Day 2: A deep dive into <strong>Symfony and related projects.</strong></p></li>
</ul>

<p>To ensure the highest technical quality, all talks are pre-recorded and include English subtitles for better accessibility. However, the experience remains fully interactive: speakers will be online to answer your questions in real-time via a live Q&amp;A. Plus, you can enjoy total flexibility with instant replays available as soon as each session begins, allowing you to follow the event on your own schedule.</p>

<hr />

<h3>Call for Papers is Open!</h3>

<p>Want to take the virtual stage? We are looking for speakers to share their expertise on AI integrations, Symfony, or ecosystem success stories.
Submit your talk proposal <strong><a href="https://live.symfony.com/2026-online-june/cfp">here</a></strong>.</p>

<p><strong>Deadline: May 4th</strong></p>

<hr />

<h3>🎟️ How to join?</h3>

<p>Choose the option that suits you best: Conference, workshop or combo ticket. <strong><a href="https://live.symfony.com/2026-online-june/registration/">Get your ticket for SymfonyOnline June 2026</a></strong> 💛</p>

<p><strong>We can’t wait to read your proposals and see you online this June to explore the future of PHP together!</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/symfonyonline-june-2026-2-days-2-thematics-tracks-driven-by-innovation-and-ai?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Eloïse Charrier ]]></dc:creator>
            <pubDate>Fri, 17 Apr 2026 17:15:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonyonline-june-2026-2-days-2-thematics-tracks-driven-by-innovation-and-ai?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: “Git, But Better: An Introduction to Jujutsu (jj)”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-git-but-better-an-introduction-to-jujutsu-jj?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 announcement!…</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 announcement!</h3>

<p>Next on stage: <a href="https://connect.symfony.com/profile/paulinevos"><strong>Pauline Vos</strong></a>, Senior Software Engineer, MongoDB, with <a href="https://live.symfony.com/2026-berlin/schedule/git-but-better-an-introduction-to-jujutsu-jj"><strong>“Git, But Better: An Introduction to Jujutsu (jj)”.</strong></a></p>

<p>During this talk, Pauline will introduce "jj" and show how it simplifies everyday version control workflows: from rewriting commits, to resolving conflicts, to safely undoing mistakes.</p>

<p>If Git has ever felt too complex or unintuitive, this session will give you a look at a more human-friendly future of version control and how you can start using it today 🚀</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-git-but-better-an-introduction-to-jujutsu-jj?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Thu, 16 Apr 2026 17:00:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-git-but-better-an-introduction-to-jujutsu-jj?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: “Abstraction Attraction: How ORMs Shape and Limit Our Thinking”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026?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 announcement!…</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 announcement!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/alcaeus"><strong>Andreas Braun</strong></a>, Lead Engineer, MongoDB, with <a href="https://live.symfony.com/2026-berlin/schedule/abstraction-attraction-how-orms-shape-and-limit-our-thinking"><strong>“Abstraction Attraction: How ORMs Shape and Limit Our Thinking.”</strong></a>.</p>

<p>In this talk, Andreas challenges the assumptions behind tools like Doctrine, showing how their abstractions shaped a generation of developers to think in relational terms, even as modern databases evolve toward documents, graphs, and vectors.</p>

<p>You’ll explore the hidden costs of abstraction, why trying to make everything “transparent” can backfire, and how similar patterns may impact the future of AI tooling.</p>

<p>A thought-provoking session for developers ready to rethink how we design tools and embrace the true diversity of modern data 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-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?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Thu, 16 Apr 2026 15:32:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: "Simultaneous editing: Easy mode with Symfony UX"]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-simultaneous-editing-easy-mode-with-symfony-ux?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 announcement!…</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 announcement!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/dbu"><strong>David Buchmann</strong></a>, Developer at Liip AG, with <a href="https://live.symfony.com/2026-berlin/schedule/simultaneous-editing-easy-mode-with-symfony-ux"><strong>“Simultaneous editing: Easy mode with Symfony UX.”</strong></a>.</p>

<p>Building fast, interactive web applications no longer requires a separate JavaScript frontend.</p>

<p>In this talk, David will show how these tools integrate seamlessly into Symfony through Symfony UX components, making it easier than ever to build modern interactive experiences, without the complexity of a full frontend framework.</p>

<p>A practical session for developers who want simple, fast, and reactive web apps with Symfony! ⚡</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-simultaneous-editing-easy-mode-with-symfony-ux?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Wed, 15 Apr 2026 14:46:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-simultaneous-editing-easy-mode-with-symfony-ux?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: "Build Applications that Welcome Change"]]></title>
            <link>https://symfony.com/blog/symfony-live-berlin-build-applications-that-welcome-change?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 announcement!…</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 announcement!</h3>

<p>At SymfonyLive Berlin 2026: <a href="https://connect.symfony.com/profile/derrabus"><strong>Alexander M. Turek</strong></a>, taff Engineer, easybill GmbH,  will present <a href="https://live.symfony.com/2026-berlin/schedule/build-applications-that-welcome-change"><strong>“Build Applications that Welcome Change.”</strong></a></p>

<p>During this talk, Alexander explores architectural approaches that help keep your core business logic stable, even as the surrounding technology changes.</p>

<p>You’ll learn how to design Symfony applications that enable smoother upgrades, safer refactoring, and long-term resilience, making change something you can embrace rather than fear.</p>

<p>Because while change is inevitable… pain doesn’t have to be! 💡</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/symfony-live-berlin-build-applications-that-welcome-change?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Tue, 14 Apr 2026 16:20:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfony-live-berlin-build-applications-that-welcome-change?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: "Specing out teamwork”]]></title>
            <link>https://symfony.com/blog/symfonylive-berlin-2026-specing-out-teamwork?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 at SymfonyLive…</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 at SymfonyLive Berlin 2026!</h3>

<p>Next up in the SymfonyLive Berlin 2026 lineup: <a href="https://connect.symfony.com/profile/sllupa"><strong>Stiven Llupa</strong></a>, Solutions Architect, SensioLabs Deutschland, with <a href="https://live.symfony.com/2026-berlin/schedule/specing-out-teamwork"><strong>“Specing out teamwork.”</strong></a>.</p>

<p>In this talk, Stiven will share three key strategies to help Symfony teams build strong development practices, improving collaboration, streamlining contributions, and accelerating delivery.</p>

<p>Drawing from over a decade of experience on Symfony projects, he’ll show how well-defined team processes can make a real difference in project success.</p>

<p>A practical session for teams looking to work smarter, together 🤝</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-specing-out-teamwork?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Tue, 14 Apr 2026 14:54:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfonylive-berlin-2026-specing-out-teamwork?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[Symfony UX 3.0.0 Released]]></title>
            <link>https://symfony.com/blog/symfony-ux-3-0-0-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Symfony UX 3.0 is a new major release. Following Symfony&#039;s release
process, this version removes all features deprecated during the 2.x
cycle and raises the minimum requirements to PHP 8.4 and Symfony 7.4.
If your application runs without deprecation notices…</description>
            <content:encoded><![CDATA[
                                <p>Symfony UX 3.0 is a new major release. Following Symfony's release
process, this version removes all features deprecated during the 2.x
cycle and raises the minimum requirements to PHP 8.4 and Symfony 7.4.
If your application runs without deprecation notices on Symfony UX 2.x,
upgrading should be straightforward.</p>
<div class="section">
<h2 id="removed-packages-swup-lazyimage-typed-togglepassword"><a class="headerlink" href="#removed-packages-swup-lazyimage-typed-togglepassword" title="Permalink to this headline">Removed Packages: Swup, LazyImage, Typed, TogglePassword</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/smnandre">
                <img src="https://github.com/smnandre.png" alt="Simon André">
            </a>
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/smnandre">Simon André</a>
             and                     <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/2985">#2985</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/2993">#2993</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/2994">#2994</a>
                     and                                     <a target="_blank" href="https://github.com/symfony/ux/pull/2995">#2995</a>
                                                </span>
            </div>
</div>
<p>Four packages have been removed from the Symfony UX ecosystem. These
packages provided thin wrappers around third-party JavaScript libraries
with minimal PHP integration, and their functionality can be reproduced
in a few lines of application code:</p>
<ul>
    <li><strong>Swup</strong>: install Swup via npm or <code translate="no" class="notranslate">importmap:require</code> and
import it directly in your application</li>
<li><strong>LazyImage</strong>: native browser lazy loading (<code translate="no" class="notranslate">loading="lazy"</code>)
has made this package obsolete</li>
<li><strong>Typed</strong>: install Typed.js via npm or <code translate="no" class="notranslate">importmap:require</code> and
create a small Stimulus controller</li>
<li><strong>TogglePassword</strong>: a candidate for migration to UX Toolkit as a
reusable component</li>
</ul>
<p>If you rely on any of these packages, check the
<a href="https://github.com/symfony/ux/blob/3.x/UPGRADE-3.0.md" class="reference external" rel="external noopener noreferrer" target="_blank">UPGRADE-3.0.md</a> file for migration steps.</p>
</div>
<div class="section">
<h2 id="deprecation-removals-across-all-packages"><a class="headerlink" href="#deprecation-removals-across-all-packages" title="Permalink to this headline">Deprecation Removals Across All Packages</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/smnandre">
                <img src="https://github.com/smnandre.png" alt="Simon André">
            </a>
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/smnandre">Simon André</a>
             and                     <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3040">#3040</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3051">#3051</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3054">#3054</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3100">#3100</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3101">#3101</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3102">#3102</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3103">#3103</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3179">#3179</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3180">#3180</a>
                    ,                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3186">#3186</a>
                     and                                     <a target="_blank" href="https://github.com/symfony/ux/pull/3452">#3452</a>
                                                </span>
            </div>
</div>
<p>All code deprecated during the 2.x cycle has been removed. Here are the
most notable changes:</p>
<p><strong>Autocomplete</strong>: the <code translate="no" class="notranslate">ParentEntityAutocompleteType</code> class has been
replaced by <code translate="no" class="notranslate">BaseEntityAutocompleteType</code>, and <code translate="no" class="notranslate">ExtraLazyChoiceLoader</code>
has been removed in favor of Symfony Form's built-in
<code translate="no" class="notranslate">LazyChoiceLoader</code> (available since Symfony 7.2).</p>
<p><strong>LiveComponent</strong>: the <code translate="no" class="notranslate">csrf</code> argument on <code translate="no" class="notranslate">#[AsLiveComponent]</code> has
been removed; same-origin/CORS protection is now the default.</p>
<p><strong>TwigComponent</strong>: the <code translate="no" class="notranslate">twig_component.defaults</code> configuration is now
mandatory, the <code translate="no" class="notranslate">cva</code> Twig function has been replaced by <code translate="no" class="notranslate">html_cva</code>
from <code translate="no" class="notranslate">twig/html-extra:^3.12</code>, and
<code translate="no" class="notranslate">PreCreateForRenderEvent::getProps()</code> has been renamed to
<code translate="no" class="notranslate">getInputProps()</code>.</p>
<p><strong>Map</strong>: the <code translate="no" class="notranslate">render_map()</code> Twig function has been replaced by
<code translate="no" class="notranslate">ux_map()</code>, and the <code translate="no" class="notranslate">title</code> option on shapes (Polygon, Polyline,
Rectangle, Circle) has been replaced by <code translate="no" class="notranslate">infoWindow</code>.</p>
<p><strong>StimulusBundle</strong>: the <code translate="no" class="notranslate">ux_controller_link_tags()</code> Twig function has
been removed, which requires Symfony AssetMapper 6.4 or higher.</p>
<p><strong>Turbo, Vue, Chartjs, Notify, React, Svelte</strong>: various internal
backward-compatibility layers and deprecated method signatures have been
cleaned up.</p>
<p>Consult the full <a href="https://github.com/symfony/ux/blob/3.x/UPGRADE-3.0.md" class="reference external" rel="external noopener noreferrer" target="_blank">UPGRADE-3.0.md</a> for detailed migration
instructions and code diffs.</p>
</div>
<div class="section">
<h2 id="cropper-rotation-always-applied"><a class="headerlink" href="#cropper-rotation-always-applied" title="Permalink to this headline">Cropper: Rotation Always Applied</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/MrYamous">
                <img src="https://github.com/MrYamous.png" alt="Matthieu Lempereur">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/MrYamous">Matthieu Lempereur</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3433">#3433</a>
                                                </span>
            </div>
</div>
<p>The <code translate="no" class="notranslate">Crop::getCroppedImage()</code> and <code translate="no" class="notranslate">Crop::getCroppedThumbnail()</code>
methods now apply rotation automatically when the crop data includes a
rotation angle. The <code translate="no" class="notranslate">$applyRotation</code> parameter has been removed:</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-comment">// Before (2.x)</span>
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>crop</span>-&gt;<span class="hljs-title invoke__">getCroppedImage</span>(<span class="hljs-attr">applyRotation</span>: <span class="hljs-keyword">true</span>);
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>crop</span>-&gt;<span class="hljs-title invoke__">getCroppedThumbnail</span>(<span class="hljs-number">200</span>, <span class="hljs-number">200</span>, <span class="hljs-attr">applyRotation</span>: <span class="hljs-keyword">true</span>);

<span class="hljs-comment">// After (3.0): rotation is always applied</span>
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>crop</span>-&gt;<span class="hljs-title invoke__">getCroppedImage</span>();
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>crop</span>-&gt;<span class="hljs-title invoke__">getCroppedThumbnail</span>(<span class="hljs-number">200</span>, <span class="hljs-number">200</span>);</code></pre>
    </div>
</div>
</div>
<div class="section">
<h2 id="google-maps-upgraded-to-googlemaps-js-api-loader-2-0"><a class="headerlink" href="#google-maps-upgraded-to-googlemaps-js-api-loader-2-0" title="Permalink to this headline">Google Maps: Upgraded to @googlemaps/js-api-loader 2.0</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3115">#3115</a>
                                                </span>
            </div>
</div>
<p>The Google Map bridge now uses <code translate="no" class="notranslate">@googlemaps/js-api-loader</code> version
<code translate="no" class="notranslate">^2.0</code>. If you use Symfony AssetMapper without Symfony Flex, update
your import map:</p>
<div translate="no" data-loc="1" class="notranslate codeblock codeblock-length-sm codeblock-terminal codeblock-bash">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-prompt">$ </span>php bin/console importmap:require @googlemaps/js-api-loader@^2.0</code></pre>
    </div>
</div>
<p>Some <code translate="no" class="notranslate">UX_MAP_DSN</code> query parameters have changed: the
<code translate="no" class="notranslate">version</code> option has been renamed to <code translate="no" class="notranslate">v</code>, and options
<code translate="no" class="notranslate">id</code>, <code translate="no" class="notranslate">nonce</code>, <code translate="no" class="notranslate">retries</code>, <code translate="no" class="notranslate">url</code> have been removed.
See the <a href="https://github.com/symfony/ux/blob/3.x/UPGRADE-3.0.md" class="reference external" rel="external noopener noreferrer" target="_blank">UPGRADE-3.0.md</a> for the full list of DSN option
changes.</p>
</div>
<div class="section">
<h2 id="phpunit-11-replaces-symfony-phpunit-bridge"><a class="headerlink" href="#phpunit-11-replaces-symfony-phpunit-bridge" title="Permalink to this headline">PHPUnit 11 Replaces Symfony PHPUnit Bridge</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3182">#3182</a>
                                                </span>
            </div>
</div>
<p>The test infrastructure has been modernized: all packages now use
PHPUnit 11 directly instead of the Symfony PHPUnit Bridge. This does not
affect application code, but if you run the Symfony UX test suites
locally, make sure you have PHPUnit 11 or higher installed.</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/ux/pull/3452" class="reference external" rel="external noopener noreferrer" target="_blank">#3452</a> [LiveComponent] Remove compatibility layer with Symfony PropertyInfo &lt;7.1 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3453" class="reference external" rel="external noopener noreferrer" target="_blank">#3453</a> Update minimum required Symfony version to 7.4 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3450" class="reference external" rel="external noopener noreferrer" target="_blank">#3450</a> Upgrade minimum required PHP version to 8.4 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3433" class="reference external" rel="external noopener noreferrer" target="_blank">#3433</a> [Cropper] Always apply rotation in <code translate="no" class="notranslate">Crop::getCroppedImage()</code> and <code translate="no" class="notranslate">Crop::getCroppedThumbnail()</code> (@MrYamous)</li>
<li><a href="https://github.com/symfony/ux/pull/3398" class="reference external" rel="external noopener noreferrer" target="_blank">#3398</a> Post-merge fixes for 3.x (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3186" class="reference external" rel="external noopener noreferrer" target="_blank">#3186</a> [Autocomplete][Turbo] Remove BC layers for methods and parameters (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3191" class="reference external" rel="external noopener noreferrer" target="_blank">#3191</a> Fix 2.x -&gt; 3.x merge (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3187" class="reference external" rel="external noopener noreferrer" target="_blank">#3187</a> Add phpunit.dist.xml in .gitattributes (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3182" class="reference external" rel="external noopener noreferrer" target="_blank">#3182</a> Drop Symfony PHPUnit Bridge in favor of PHPUnit &gt;= 11.0 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3180" class="reference external" rel="external noopener noreferrer" target="_blank">#3180</a> [StimulusBundle] Remove deprecations for 3.0 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3179" class="reference external" rel="external noopener noreferrer" target="_blank">#3179</a> [Vue] Remove deprecations for 3.0 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3115" class="reference external" rel="external noopener noreferrer" target="_blank">#3115</a> [Map][Google] Upgrade <code translate="no" class="notranslate">@googlemaps</code>/js-api-loader to ^2.0 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3105" class="reference external" rel="external noopener noreferrer" target="_blank">#3105</a> [TwigComponent] Remove dev-dependency on WebpackEncoreBundle (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3103" class="reference external" rel="external noopener noreferrer" target="_blank">#3103</a> [Autocomplete] Remove deprecated code for 3.0 (@smnandre)</li>
<li><a href="https://github.com/symfony/ux/pull/3102" class="reference external" rel="external noopener noreferrer" target="_blank">#3102</a> [Chartjs][Notify][React][Svelte] Remove StimulusHelper deprecation for 3.0 (@smnandre)</li>
<li><a href="https://github.com/symfony/ux/pull/3101" class="reference external" rel="external noopener noreferrer" target="_blank">#3101</a> [Vue] Remove deprecations for 3.0 (@smnandre)</li>
<li><a href="https://github.com/symfony/ux/pull/3100" class="reference external" rel="external noopener noreferrer" target="_blank">#3100</a> [Turbo] Remove deprecations for 3.0 (@smnandre)</li>
<li><a href="https://github.com/symfony/ux/pull/3054" class="reference external" rel="external noopener noreferrer" target="_blank">#3054</a> [Map] Remove deprecations from Map (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3051" class="reference external" rel="external noopener noreferrer" target="_blank">#3051</a> [LiveComponent][UX3] Remove deprecations (@smnandre)</li>
<li><a href="https://github.com/symfony/ux/pull/3040" class="reference external" rel="external noopener noreferrer" target="_blank">#3040</a> [TwigComponent][UX3] Remove deprecations (@smnandre)</li>
<li><a href="https://github.com/symfony/ux/pull/2998" class="reference external" rel="external noopener noreferrer" target="_blank">#2998</a> Upgrade minimum required PHP version to 8.2 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/2996" class="reference external" rel="external noopener noreferrer" target="_blank">#2996</a> Update minimum required Symfony version to ^6.4 (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/2995" class="reference external" rel="external noopener noreferrer" target="_blank">#2995</a> [TogglePassword] Remove package (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/2994" class="reference external" rel="external noopener noreferrer" target="_blank">#2994</a> [LazyImage] Remove package (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/2993" class="reference external" rel="external noopener noreferrer" target="_blank">#2993</a> [Typed] Remove package (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/2985" class="reference external" rel="external noopener noreferrer" target="_blank">#2985</a> [Swup] Remove package (@smnandre)</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-ux-3-0-0-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Fabien Potencier ]]></dc:creator>
            <pubDate>Mon, 13 Apr 2026 21:44:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfony-ux-3-0-0-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[Symfony UX 2.35 Released]]></title>
            <link>https://symfony.com/blog/symfony-ux-2-35-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</link>
            <description>Symfony UX 2.35 is out with smarter HTML attribute merging for Twig
components, a new reset_on_focus option for Autocomplete, a brand
new Flowbite 4.0 kit, and more.

Smart HTML Attribute Merging in Twig Components…</description>
            <content:encoded><![CDATA[
                                <p>Symfony UX 2.35 is out with smarter HTML attribute merging for Twig
components, a new <code translate="no" class="notranslate">reset_on_focus</code> option for Autocomplete, a brand
new Flowbite 4.0 kit, and more.</p>
<div class="section">
<h2 id="smart-html-attribute-merging-in-twig-components"><a class="headerlink" href="#smart-html-attribute-merging-in-twig-components" title="Permalink to this headline">Smart HTML Attribute Merging in Twig Components</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3408">#3408</a>
                                                </span>
            </div>
</div>
<p>When spreading multiple attribute sets onto a Twig component, conflicting
keys would silently overwrite each other. This was especially problematic
with Stimulus <code translate="no" class="notranslate">data-action</code> attributes: if a button needed to trigger
both a Dialog and a Tooltip, only the last <code translate="no" class="notranslate">data-action</code> survived.</p>
<p><code translate="no" class="notranslate">ComponentAttributes</code> now supports the <code translate="no" class="notranslate">AttributeValueInterface</code>
introduced in <code translate="no" class="notranslate">twig/html-extra</code> 3.24. Combined with the
<code translate="no" class="notranslate">html_attr_type</code> and <code translate="no" class="notranslate">html_attr_merge</code> Twig filters, you can
declare how attribute values should be merged. For example, using the
<code translate="no" class="notranslate">sst</code> (space-separated tokens) strategy:</p>
<div translate="no" data-loc="13" class="notranslate codeblock codeblock-length-md codeblock-twig">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="hljs-comment">{# Both data-action values will be concatenated #}</span><span class="xml">
</span><span class="hljs-template-tag">{%- <span class="hljs-name"><span class="hljs-keyword">set</span></span> dialog_attrs = {
    <span class="hljs-string">'data-action'</span>: <span class="hljs-string">'click-&gt;dialog#open'</span>|html_attr_type(<span class="hljs-string">'sst'</span>),
} -%}</span><span class="xml">
</span><span class="hljs-template-tag">{%- <span class="hljs-name"><span class="hljs-keyword">set</span></span> tooltip_attrs = {
    <span class="hljs-string">'data-action'</span>:
        <span class="hljs-string">'mouseenter-&gt;tooltip#show mouseleave-&gt;tooltip#hide'</span>
        |html_attr_type(<span class="hljs-string">'sst'</span>),
} -%}</span><span class="xml">

<span class="hljs-tag">&lt;<span class="hljs-name">twig:Button</span> </span></span><span class="hljs-template-variable">{{ ...{}|html_attr_merge(dialog_attrs, tooltip_attrs) }}</span><span class="xml"><span class="hljs-tag">&gt;</span>
    Edit Profile
<span class="hljs-tag">&lt;/<span class="hljs-name">twig:Button</span>&gt;</span></span></code></pre>
    </div>
</div>
<p>The rendered <code translate="no" class="notranslate">data-action</code> will contain all three Stimulus
descriptors instead of only the last set.</p>
</div>
<div class="section">
<h2 id="toolkit-triggers-now-merge-attributes-correctly"><a class="headerlink" href="#toolkit-triggers-now-merge-attributes-correctly" title="Permalink to this headline">Toolkit Triggers Now Merge Attributes Correctly</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3409">#3409</a>
                                                </span>
            </div>
</div>
<p>Building on the new attribute merging support, the Shadcn Dialog,
AlertDialog and Tooltip trigger components now use
<code translate="no" class="notranslate">html_attr_type('sst')</code> for their <code translate="no" class="notranslate">data-action</code> attributes. This
means you can nest a Button inside both a Dialog trigger and a Tooltip
trigger, and all Stimulus actions will be preserved automatically:</p>
<div translate="no" data-loc="20" class="notranslate codeblock codeblock-length-md codeblock-twig">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">twig:Dialog</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"edit_profile"</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">twig:Dialog:Trigger</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">twig:Tooltip</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"tooltip_edit"</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">twig:Tooltip:Trigger</span>&gt;</span>
                <span class="hljs-tag">&lt;<span class="hljs-name">twig:Button</span>
                    <span class="hljs-attr">variant</span>=<span class="hljs-string">"outline"</span>
                    </span></span><span class="hljs-template-variable">{{ ...dialog_trigger_attrs
                        |html_attr_merge(tooltip_trigger_attrs)
                    }}</span><span class="xml"><span class="hljs-tag">
                &gt;</span>
                    Edit Profile
                <span class="hljs-tag">&lt;/<span class="hljs-name">twig:Button</span>&gt;</span>
            <span class="hljs-tag">&lt;/<span class="hljs-name">twig:Tooltip:Trigger</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">twig:Tooltip:Content</span>&gt;</span>
                <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>Click to edit your profile<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
            <span class="hljs-tag">&lt;/<span class="hljs-name">twig:Tooltip:Content</span>&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-name">twig:Tooltip</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">twig:Dialog:Trigger</span>&gt;</span>
    </span><span class="hljs-comment">{# ... #}</span><span class="xml">
<span class="hljs-tag">&lt;/<span class="hljs-name">twig:Dialog</span>&gt;</span></span></code></pre>
    </div>
</div>
</div>
<div class="section">
<h2 id="autocomplete-new-reset-on-focus-option"><a class="headerlink" href="#autocomplete-new-reset-on-focus-option" title="Permalink to this headline">Autocomplete: New <code translate="no" class="notranslate">reset_on_focus</code> Option</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/zairigimad">
                <img src="https://github.com/zairigimad.png" alt="Zairig Imad">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/zairigimad">Zairig Imad</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3422">#3422</a>
                                                </span>
            </div>
</div>
<p>By default, Tom Select caches the results fetched via AJAX. When a user
searches, selects an option, then clears the selection and refocuses the
field, the dropdown still shows the stale search results instead of the
full default list.</p>
<p>The new <code translate="no" class="notranslate">reset_on_focus</code> option clears the cached options and
refetches the default list every time the field receives focus:</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-comment">// src/Form/OrderType.php</span>
<span class="hljs-variable"><span class="hljs-variable-other-marker">$</span>builder</span>-&gt;<span class="hljs-title invoke__">add</span>(<span class="hljs-string">'customer'</span>, AutocompleteChoiceType::<span class="hljs-variable language_">class</span>, [
    <span class="hljs-string">'autocomplete_url'</span> =&gt; <span class="hljs-string">'/api/customers'</span>,
    <span class="hljs-string">'reset_on_focus'</span> =&gt; <span class="hljs-keyword">true</span>,
]);</code></pre>
    </div>
</div>
</div>
<div class="section">
<h2 id="flowbite-4-0-kit-for-toolkit"><a class="headerlink" href="#flowbite-4-0-kit-for-toolkit" title="Permalink to this headline">Flowbite 4.0 Kit for Toolkit</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/DcgRG">
                <img src="https://github.com/DcgRG.png" alt="Dubois Callens Gregoire">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/DcgRG">Dubois Callens Gregoire</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3368">#3368</a>
                                                </span>
            </div>
</div>
<p>A new <code translate="no" class="notranslate">flowbite-4</code> kit joins the existing Shadcn kit in Symfony UX
Toolkit. This first batch includes the Alert, Badge and ButtonGroup
components, styled with Flowbite 4.0 and Tailwind CSS.</p>
</div>
<div class="section">
<h2 id="toggle-component-for-the-shadcn-kit"><a class="headerlink" href="#toggle-component-for-the-shadcn-kit" title="Permalink to this headline">Toggle Component for the Shadcn Kit</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/zairigimad">
                <img src="https://github.com/zairigimad.png" alt="Zairig Imad">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/zairigimad">Zairig Imad</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3421">#3421</a>
                                                </span>
            </div>
</div>
<p>The Shadcn kit gains a new Toggle component with <code translate="no" class="notranslate">variant</code>
(<code translate="no" class="notranslate">default</code> or <code translate="no" class="notranslate">outline</code>), <code translate="no" class="notranslate">size</code> (<code translate="no" class="notranslate">sm</code>, <code translate="no" class="notranslate">default</code>, <code translate="no" class="notranslate">lg</code>)
and <code translate="no" class="notranslate">pressed</code> props:</p>
<div translate="no" data-loc="3" class="notranslate codeblock codeblock-length-sm codeblock-twig">
        <div class="codeblock-scroll">
        
        <pre class="codeblock-code"><code><span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">twig:Toggle</span> <span class="hljs-attr">variant</span>=<span class="hljs-string">"outline"</span> <span class="hljs-attr">pressed</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">twig:ux:icon</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"lucide:bold"</span> /&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">twig:Toggle</span>&gt;</span></span></code></pre>
    </div>
</div>
</div>
<div class="section">
<h2 id="svelte-package-deprecated"><a class="headerlink" href="#svelte-package-deprecated" title="Permalink to this headline">Svelte Package Deprecated</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3444">#3444</a>
                                                </span>
            </div>
</div>
<p>The <code translate="no" class="notranslate">symfony/ux-svelte</code> package is now deprecated and will be removed
in Symfony UX 3.0. Usage numbers have been declining steadily, and the
Svelte ecosystem makes deep Symfony integration difficult compared to
other frontend frameworks. If you are currently using UX Svelte,
consider migrating to UX React, UX Vue, or Twig Components.</p>
</div>
<div class="section">
<h2 id="easier-js-dependency-installation-for-ux-native"><a class="headerlink" href="#easier-js-dependency-installation-for-ux-native" title="Permalink to this headline">Easier JS Dependency Installation for UX Native</a></h2>
<div class="blog-post-contributor-info">
    <div class="blog-post-contributor-avatar">
                    <a target="_blank" href="https://github.com/Kocal">
                <img src="https://github.com/Kocal.png" alt="Hugo Alliaume">
            </a>
            </div>
    <div class="blog-post-contributor-contents">
        <span>Contributed by</span>
                    <a target="_blank" class="blog-post-contributor-name" href="https://github.com/Kocal">Hugo Alliaume</a>
                                        <span class="blog-post-contributor-prs"> in
                                    <a target="_blank" href="https://github.com/symfony/ux/pull/3414">#3414</a>
                                                </span>
            </div>
</div>
<p>UX Native now ships an <code translate="no" class="notranslate">assets/</code> directory with a <code translate="no" class="notranslate">package.json</code>,
allowing Symfony Flex to automatically register the
<code translate="no" class="notranslate">@hotwired/hotwire-native-bridge</code> JavaScript dependency in your
<code translate="no" class="notranslate">package.json</code> or <code translate="no" class="notranslate">importmap.php</code>. Previously, the Maker command
tried to check for the dependency at runtime, but the check was broken.
This fix makes the installation seamless.</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/ux/pull/3444" class="reference external" rel="external noopener noreferrer" target="_blank">#3444</a> [Svelte] Deprecate the package (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3422" class="reference external" rel="external noopener noreferrer" target="_blank">#3422</a> [Autocomplete] Add option <code translate="no" class="notranslate">clear_on_focus</code> (@zairigimad)</li>
<li><a href="https://github.com/symfony/ux/pull/3368" class="reference external" rel="external noopener noreferrer" target="_blank">#3368</a> [Toolkit][Flowbite] Add kit Flowbite 4.0 base (@DcgRG)</li>
<li><a href="https://github.com/symfony/ux/pull/3421" class="reference external" rel="external noopener noreferrer" target="_blank">#3421</a> [Toolkit][Shadcn] Add Toggle (@zairigimad)</li>
<li><a href="https://github.com/symfony/ux/pull/3407" class="reference external" rel="external noopener noreferrer" target="_blank">#3407</a> [Chartjs][Icons][Map][Notify][React][Svelte][Toolkit][Turbo][TwigComponent][Vue][Native] Allow Symfony UX 3.x packages (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3414" class="reference external" rel="external noopener noreferrer" target="_blank">#3414</a> [Native] Introduce <code translate="no" class="notranslate">assets/</code> to ease installation of <code translate="no" class="notranslate">@hotwired/hotwire-native-bridge</code> JS dependency (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3409" class="reference external" rel="external noopener noreferrer" target="_blank">#3409</a> [Toolkit] Embrace <code translate="no" class="notranslate">html_attr_type</code> from <code translate="no" class="notranslate">twig/html-extra:^3.24</code> to correctly merge trigger's attributes (@Kocal)</li>
<li><a href="https://github.com/symfony/ux/pull/3408" class="reference external" rel="external noopener noreferrer" target="_blank">#3408</a> [TwigComponent] Add support for <code translate="no" class="notranslate">AttributeValueInterface</code> from <code translate="no" class="notranslate">twig/html-extra:^3.24.0</code> in <code translate="no" class="notranslate">ComponentAttributes</code> (@Kocal)</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-ux-2-35-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Fabien Potencier ]]></dc:creator>
            <pubDate>Mon, 13 Apr 2026 21:35:00 +0200</pubDate>
            <comments>https://symfony.com/blog/symfony-ux-2-35-released?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <item>
            <title><![CDATA[SymfonyLive Berlin 2026: "AI Culture in Open Source — The Sylius Way"]]></title>
            <link>https://symfony.com/blog/s?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 at SymfonyLive…</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 at SymfonyLive Berlin 2026!</h3>

<p>Next up at SymfonyLive Berlin 2026 : <a href="https://connect.symfony.com/profile/codermaggie"><strong>Magdalena Sadowska</strong></a>, Head of Product Operations, Sylius with <a href="https://live.symfony.com/2026-berlin/schedule/ai-culture-in-open-source-the-sylius-way"><strong>“AI Culture in Open Source — The Sylius Way.”</strong></a>.</p>

<p>AI is transforming how open-source teams work — but the biggest challenge isn’t technical, it’s cultural.</p>

<p>In this talk, Magdalena will share how the Sylius team has spent the past year finding the right balance where AI truly benefits the entire community, from improving plugin updates and code reviews to staying aligned with Symfony’s evolution.</p>

<p>You’ll discover how to build an AI-friendly culture that prioritizes experimentation, context, and shared learning over automation for its own sake.</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/s?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed</guid>
            <dc:creator><![CDATA[ Paola Suárez ]]></dc:creator>
            <pubDate>Mon, 13 Apr 2026 12:15:00 +0200</pubDate>
            <comments>https://symfony.com/blog/s?utm_source=Symfony%20Blog%20Feed&amp;utm_medium=feed#comments-list</comments>
        </item>
                        <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>
            </channel>
</rss>
