Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 832

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Symfony Blog https://symfony.com/blog/ Most recent posts published on the Symfony project blog Tue, 21 Oct 2025 03:50:14 +0200 Mon, 20 Oct 2025 17:15:00 +0200 en <![CDATA[SymfonyCon Amsterdam 2025: Symfony and Rust: Accelerating Hot Paths with FFI]]> https://symfony.com/blog/symfonycon-amsterdam-2025-symfony-and-rust-accelerating-hot-paths-with-ffi?utm_source=Symfony%20Blog%20Feed&utm_medium=feed SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on: November 25 &amp; 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups. November 27 &amp; 28 with three… Mitchel Vroege Blog

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:

  • November 25 & 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups.
  • November 27 & 28 with three English-speaking tracks, an Unconference track, and a lively community evening.

The schedule is available here, as well as the complete list of workshop topics.

Stay in the look out for more to come!👀


🎤 New speaker announcement!

We’re thrilled to welcome Mitchel Vroege, Developer, as a speaker with the talk Symfony and Rust: Accelerating Hot Paths with FFI

"I'm not going to tell you to rebuild your application in Rust. At all. I love Symfony (and PHP), we all do. But there are times when we hit a performance roadblock. Or run out of memory. Maybe even both.

In this talk, we’ll replace part of our logic with a native helper using PHP’s FFI and Rust. We’ll explore performance gains, show practical implementation steps, and discuss when native code makes sense. And finally, I’ll share a skeleton project so you can start experimenting in tonight."


SymfonyCon Amsterdam 2025 is coming fast!

🎟️ Register now and choose the ticket that suits you the best among workshop, conference and combo ticket. Check all the details and get your ticket!

🖥️ Check out the exciting 13 workshop topics on this page.

🎤 Explore the great lineup of conference talks here, featuring top-notch expert speakers as Fabien Potencier, Christopher Hertel, Robin Chalas, Tobias Nyholm, Andreas Braun, Anna Filina, Pauline Vos, Stefan Koopmanschap, Nicolas Grekas, Iain Cambridge, Sebastian Bergmann, Konrad Oboza, Alexandre Salome, Antoine Bluchet, Kévin Dunglas, Rob Allen, Mathias Arlaud, Benjamin Eberlei, Viktor Pikaev, Valentin Rusev Valentin Rusev, Romain Neutron and many others...

🫵 Participate in the Unconference track, a participant-driven format where attendees shape the content and discussions in real-time. Have a topic you're passionate about? Claim your slot by emailing us at events@symfony.com and set the stage for an unforgettable experience. Each unconference talk lasts 20 minutes with a screen and projector available on both days.

🎉 Celebrate Symfony’s 20th Anniversary with us at the Kanarie Club! Join us for an unforgettable evening of drinks, music, and good vibes on Thursday, November 27 from 7:30 to 10:30 pm at the vibrant Kanarie Club, right in the heart of De Hallen — a lively food court with 21 amazing stands (grab your favorite bites, bring them to the Kanarie club!) Dress as you like or simply add a touch of fun!✨

💻 Save the date for the Symfony hackathon on November 29. Everyone is welcome to join the hackday! Whether you're an experienced contributor or new to the community, your participation is highly valued as it brings a fresh perspective! More details are available here. The hackathon will be hosted in Volkshotel Amsterdam from 09:30 a.m. to 3:00 p.m. CET. thanks to the support of Baksla.sh.

📖 Read our attendee guide for venue, accommodation, and transportation details.

👕 Complete your Symfony Live profile to inform us of your dietary preferences, T-shirt size and talk preferences!


Joins us online!

💡Follow the "conference" blog posts to not miss anything!

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

Banner Blog


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-symfony-and-rust-accelerating-hot-paths-with-ffi?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Mon, 20 Oct 2025 17:15:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-symfony-and-rust-accelerating-hot-paths-with-ffi?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[New in Symfony 7.4: Security Voter Improvements]]> https://symfony.com/blog/new-in-symfony-7-4-security-voter-improvements?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Security voters are one of Symfony's most powerful tools for managing permissions. They let you centralize your authorization logic and reuse it throughout your application. In Symfony 7.4, we're introducing several new features for them. Twig Functions… Security voters are one of Symfony's most powerful tools for managing permissions. They let you centralize your authorization logic and reuse it throughout your application. In Symfony 7.4, we're introducing several new features for them.

Twig Functions for Access Decisions

Florent Destremau
Contributed by Florent Destremau in #61379

Symfony already provides the is_granted() and is_granted_for_user() Twig functions so you can check permissions with voters in your templates. These functions return a boolean value indicating whether the current or specified user has the given security attribute.

In Symfony 7.4, we're adding two new Twig functions: access_decision() and access_decision_for_user(). They return an AccessDecision object, a DTO that stores the access verdict, the collection of votes, the resulting message (for example, "Access granted" or a custom access-denied message), and more.

{% set voter_decision = access_decision('post_edit', post) %}
{% if voter_decision.isGranted() %}
    {# ... #}
{% else %}
    {# before showing voter messages to end users, make sure it's safe to do so #}
    <p>{{ voter_decision.message }}</p>
{% endif %}

Add Metadata to Vote Objects

Eltharin
Contributed by Eltharin in #60085

In Symfony 7.3, we introduced the Vote object as part of a feature that explains security voter decisions. In Symfony 7.4, we're extending it so you can attach arbitrary metadata to each vote. Inside your security voter, use the extraData property of the Vote object to add any custom value:

use Symfony\Component\Security\Core\Authorization\Voter\Vote;
use Symfony\Component\Security\Core\Authorization\Voter\Voter;
// ...

class BlogPostVoter extends Voter
{
    // ...

    protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token, ?Vote $vote = null): bool
    {
        // ...

        // values can be of any type, not only strings
        $vote->extraData['some_key'] = 'some value';
    }
}

You can use this new feature, for example, when defining a custom access decision strategy. By default, Symfony votes can only grant, deny, or abstain, and all votes have equal weight. In a custom strategy, you could assign a score or weight to each vote (for example, $vote->extraData['score'] = 10;) and use that value when aggregating results:

// src/Security/MyCustomAccessDecisionStrategy.php
use Symfony\Component\Security\Core\Authorization\Strategy\AccessDecisionStrategyInterface;

class MyCustomAccessDecisionStrategy implements AccessDecisionStrategyInterface
{
    public function decide(\Traversable $results, $accessDecision = null): bool
    {
        $score = 0;

        foreach ($results as $key => $result) {
            $vote = $accessDecision->votes[$key];
            if (array_key_exists('score', $vote->extraData)) {
                $score += $vote->extraData['score'];
            } else {
                $score += $vote->result;
            }
        }

        // ...
    }
}

Sponsor the Symfony project.
]]>
https://symfony.com/blog/new-in-symfony-7-4-security-voter-improvements?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Mon, 20 Oct 2025 09:16:00 +0200 https://symfony.com/blog/new-in-symfony-7-4-security-voter-improvements?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[A Week of Symfony #981 (October 13–19, 2025)]]> https://symfony.com/blog/a-week-of-symfony-981-october-13-19-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, Symfony kept fixing bugs and refining the new features for the upcoming Symfony 7.4 and 8.0 releases. Meanwhile, we unveiled a special site to celebrate Symfony's 20th anniversary, and we published the first post in the New in Symfony 7.4 series.… This week, Symfony kept fixing bugs and refining the new features for the upcoming Symfony 7.4 and 8.0 releases. Meanwhile, we unveiled a special site to celebrate Symfony's 20th anniversary, and we published the first post in the New in Symfony 7.4 series.

Symfony development highlights

This week, 41 pull requests were merged (30 in code and 11 in docs) and 31 issues were closed (24 in code and 7 in docs). Excluding merges, 23 authors made additions and deletions. See details for code and docs.

6.4 changelog:

  • 3e5fc65: [MonologBridge] improve error in logstash handler when the HttpClient component is not installed
  • 0ee8e85: [AssetMapper] fix parsing @import that don't use url()
  • fab2f9a: [Finder] don't use a fixed date fixture when assertions depend on relative times
  • 68cd755: [Validator] update regular expression in URL validator
  • 301e8c5: [FrameworkBundle] fix secrets:encrypt-from-local
  • 0062f11: [Cache] fix compatibility with Relay 0.12.1

7.3 changelog:

  • c1e91c5: [Security] fix generating logout link with stateless CSRF
  • a63f93a: [Console] ensure SHELL_VERBOSITY is always restored properly
  • f894d2a: [TypeInfo] fix resolving use statements with line breaks

7.4 changelog:

  • 23337bb: [Routing] initialize router.request_context's _locale parameter to %kernel.default_locale%
  • 058f45d: [Security] allow multiple OIDC discovery endpoints
  • ad0a07c: [HttpClient] add option auto_upgrade_http_version to control how the request HTTP version is handled in HttplugClient and Psr18Client
  • 905f61c: [FrameworkBundle, HttpFoundation] forbid HTTP method override of GET, HEAD, CONNECT and TRACE
  • d7b1097: [Console] add support for Cursor helper in invokable commands
  • 2e7bd9a: [Console] optimize mostRecentlyEnteredValue() method
  • e3141c9: [HttpClient] add QUERY to the list of retriable HTTP methods
  • 46dafdd: [DependencyInjection, Routing] fix nested config imports when returning PHP arrays
  • 94b3382: [FrameworkBundle] fix normalization of enums in workflow transitions
  • ad96ad5: [Security] add support for Sec-Fetch-Site to SameOriginCsrfTokenManager
  • 3014331: [Serializer] escape values starting with line feed when using csv_escape_formulas
  • b59c335: [Messenger] add retry delay on amazon SQS transport

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Backend Symfony Developer at Wren Kitchens
    Full-time - £35,000 – £44,000 / year
    Remote + part-time onsite (Barton-upon-Humber, United Kingdom)
    View details
  • Lead Symfony Developer at Incenteev
    Full-time - €65,000 – €80,000 / year
    Remote + part-time onsite (Paris, France)
    View details
  • Symfony Developer at SwiftCase
    Full-time - £45,000 – £65,000 / year
    Full remote
    View details
  • Symfony Developer at Inventis
    Full-time - €26,000 – €60,000 / year
    Remote + part-time onsite (Oudsbergen, Belgium)
    View details
  • Backend Symfony Developer at MondoSpedizioni
    Full-time - €29,000 – €45,000 / year
    Remote + part-time onsite (Rome, Italy)
    View details

You can publish a Symfony job offer for free on symfony.com.

SymfonyCasts Updates

SymfonyCasts is the official way to learn Symfony. Select a track for a guided path through 100+ video tutorial courses about Symfony, PHP and JavaScript.

This week, SymfonyCasts published the following updates:

They talked about us

Call to Action


Sponsor the Symfony project.
]]>
https://symfony.com/blog/a-week-of-symfony-981-october-13-19-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Sun, 19 Oct 2025 09:01:00 +0200 https://symfony.com/blog/a-week-of-symfony-981-october-13-19-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[New in Symfony 7.4: Deprecated XML Configuration]]> https://symfony.com/blog/new-in-symfony-7-4-deprecated-xml-configuration?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This is the first article in a series showcasing the most important new features introduced by Symfony 7.4, which will be released at the end of November 2025. Contributed… This is the first article in a series showcasing the most important new features introduced by Symfony 7.4, which will be released at the end of November 2025.


Mathieu Lechat
Contributed by Mathieu Lechat in #60568

Symfony has supported three different configuration formats since day one: PHP, YAML, and XML. All formats provide nearly identical capabilities and equivalent performance because they are compiled back to PHP before runtime.

In recent Symfony versions, XML support was disabled by default for packages and routes. To re-enable it, you had to update the configureContainer() and/or configureRoutes() methods in the src/Kernel.php file.

In Symfony 7.4, XML configuration is officially deprecated, and starting with Symfony 8.0, it will no longer be supported. YAML will remain the default format used by Symfony and by the Symfony recipes, but you can also use PHP if you prefer a fully code-based configuration.

For reusable Symfony bundles, XML remains a popular format since it was the officially recommended option for many years. You can use the XML config to PHP tool to automatically convert your bundle's XML configuration to PHP.

Alongside this deprecation, Symfony 7.4 enhances the remaining formats with important new features.

Better YAML Autocompletion

Nicolas Grekas
Contributed by Nicolas Grekas in #61282 and #61564

JSON schemas describe the structure, constraints, and data types of JSON documents and JSON-compatible formats such as YAML. Combined with a schema-aware editor or validator (like the ones built into modern IDEs such as PHPStorm) they enable real-time validation and autocompletion.

In Symfony 7.4, new schemas are available for services and routes configuration, as well as for validation and serialization metadata. That's why updated Symfony recipes now include the following $schema: line at the top of YAML files to declare the corresponding schema:

# config/services.yaml
# yaml-language-server: $schema=../vendor/symfony/dependency-injection/Loader/schema/services.schema.json
parameters:
    # ...

services:
    # ...

# config/routes.yaml
# yaml-language-server: $schema=../vendor/symfony/routing/Loader/schema/routing.schema.json

controllers:
    # ...

PHP Array Shapes

Nicolas Grekas
Contributed by Nicolas Grekas in #61490 , #61885 and #61894

We're also exploring new ways to make PHP configuration more expressive. In Symfony 7.4, we're introducing advanced array shapes, which allow you to configure your application using structures similar to YAML but written in pure PHP.

This lets you define routes in PHP like this:

// config/routes.php
namespace Symfony\Config;

return new RoutesConfig([
    'route1_name' => ['path' => '/path1'],
    'when@dev' => new RoutesConfig([
        'route2_name' => ['path' => '/path2'],
    ]),
]);

And define configuration as follows:

// config/packages/framework.php
namespace Symfony\Config;

return [
    new FrameworkConfig([
        'secret' => env('APP_SECRET'),
        'esi' => true,
        'session' => [
            'handler_id' => null,
            'cookie_secure' => 'auto',
            'cookie_samesite' => 'lax',
        ],
    ]),
];

These array shapes can be leveraged by static analyzers and IDEs for better insight and autocompletion, although the exact experience will depend on your editor.


Sponsor the Symfony project.
]]>
https://symfony.com/blog/new-in-symfony-7-4-deprecated-xml-configuration?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Fri, 17 Oct 2025 12:30:00 +0200 https://symfony.com/blog/new-in-symfony-7-4-deprecated-xml-configuration?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[SymfonyCon Amsterdam 2025: From Runtime to Resilience: Scaling PHP]]> https://symfony.com/blog/symfonycon-amsterdam-2025-from-runtime-to-resilience-scaling-php?utm_source=Symfony%20Blog%20Feed&utm_medium=feed SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on: November 25 &amp; 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups. November 27 &amp; 28 with three… Paul Dragoonis

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:

  • November 25 & 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups.
  • November 27 & 28 with three English-speaking tracks, an Unconference track, and a lively community evening.

The schedule is available here, as well as the complete list of workshop topics.

Stay in the look out for more to come!👀


🎤 New speaker announcement!

We’re thrilled to welcome Paul Dragoonis, (@dr4goonis), CTO, ByteHire, as a speaker with the talk From Runtime to Resilience: Scaling PHP

"Scaling PHP is about resilience and performance, not just traffic. This talk covers live demos of optimising the PHP runtime, tuning configs, and measuring FrankenPHP and PHP-FPM with tools like OpenMetrics, Grafana, and k6. Additionally, you’ll learn to avoid design flaws, architect for scalability, and gain the mindset to confidently scale PHP applications."


SymfonyCon Amsterdam 2025 is coming fast!

🎟️ Register now and choose the ticket that suits you the best among workshop, conference and combo ticket. Check all the details and get your ticket!

🖥️ Check out the exciting 13 workshop topics on this page.

🎤 Explore the great lineup of conference talks here, featuring top-notch expert speakers as Fabien Potencier, Christopher Hertel, Robin Chalas, Tobias Nyholm, Andreas Braun, Anna Filina, Pauline Vos, Stefan Koopmanschap, Nicolas Grekas, Iain Cambridge, Sebastian Bergmann, Konrad Oboza, Alexandre Salome, Antoine Bluchet, Kévin Dunglas, Rob Allen, Mathias Arlaud, Benjamin Eberlei, Viktor Pikaev, Valentin Rusev Valentin Rusev, Romain Neutron and many others...

🫵 Participate in the Unconference track, a participant-driven format where attendees shape the content and discussions in real-time. Have a topic you're passionate about? Claim your slot by emailing us at events@symfony.com and set the stage for an unforgettable experience. Each unconference talk lasts 20 minutes with a screen and projector available on both days.

🎉 Celebrate Symfony’s 20th Anniversary with us at the Kanarie Club! Join us for an unforgettable evening of drinks, music, and good vibes on Thursday, November 27 from 7:30 to 10:30 pm at the vibrant Kanarie Club, right in the heart of De Hallen — a lively food court with 21 amazing stands (grab your favorite bites, bring them to the Kanarie club!) Dress as you like or simply add a touch of fun!✨

💻 Save the date for the Symfony hackathon on November 29. Everyone is welcome to join the hackday! Whether you're an experienced contributor or new to the community, your participation is highly valued as it brings a fresh perspective! More details are available here. The hackathon will be hosted in Volkshotel Amsterdam from 09:30 a.m. to 3:00 p.m. CET. thanks to the support of Baksla.sh.

📖 Read our attendee guide for venue, accommodation, and transportation details.

👕 Complete your Symfony Live profile to inform us of your dietary preferences, T-shirt size and talk preferences!


Joins us online!

💡Follow the "conference" blog posts to not miss anything!

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

Banner Blog


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-from-runtime-to-resilience-scaling-php?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Fri, 17 Oct 2025 10:30:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-from-runtime-to-resilience-scaling-php?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[SymfonyCon Amsterdam 2025: Inside the first Git commit: powerful ideas behind a minimal start]]> https://symfony.com/blog/symfonycon-amsterdam-2025-inside-the-first-git-commit-powerful-ideas-behind-a-minimal-start?utm_source=Symfony%20Blog%20Feed&utm_medium=feed SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on: November 25 &amp; 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups. November 27 &amp; 28 with three… Valentin Rusev

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:

  • November 25 & 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups.
  • November 27 & 28 with three English-speaking tracks, an Unconference track, and a lively community evening.

The schedule is available here, as well as the complete list of workshop topics.

Stay in the look out for more to come!👀


🎤 New speaker announcement!

We’re thrilled to welcome Valentin Rusev, as a speaker with the talk Inside the first Git commit: powerful ideas behind a minimal start

"In this talk, we will dissect the first Git commit by Linus Torvalds and uncover the powerful software design principles embedded in its earliest code. We will explore how Git’s choice of data structures (like immutable content-addressed blobs and trees) laid the foundation for reliability, correctness, and performance.

We will also highlight how Git is a brilliant embodiment of Unix philosophy: small, composable tools; reliance on the filesystem; text-based formats; and simplicity in interface with power in composition. Even in its minimal form, Git introduced key operations such as SHA-1 hashing, snapshot storage, and a filesystem-based object database that collectively reflect deep design clarity."


SymfonyCon Amsterdam 2025 is coming fast!

🎟️ Register now and choose the ticket that suits you the best among workshop, conference and combo ticket. Check all the details and get your ticket!

🖥️ Check out the exciting 13 workshop topics on this page.

🎤 Explore the great lineup of conference talks here, featuring top-notch expert speakers as Fabien Potencier, Christopher Hertel, Robin Chalas, Tobias Nyholm, Andreas Braun, Anna Filina, Pauline Vos, Stefan Koopmanschap, Nicolas Grekas, Iain Cambridge, Sebastian Bergmann, Konrad Oboza, Alexandre Salome, Antoine Bluchet, Kévin Dunglas, Rob Allen, Mathias Arlaud, Benjamin Eberlei, Viktor Pikaev, Valentin Rusev Valentin Rusev, Romain Neutron and many others...

🫵 Participate in the Unconference track, a participant-driven format where attendees shape the content and discussions in real-time. Have a topic you're passionate about? Claim your slot by emailing us at events@symfony.com and set the stage for an unforgettable experience. Each unconference talk lasts 20 minutes with a screen and projector available on both days.

🎉 Celebrate Symfony’s 20th Anniversary with us at the Kanarie Club! Join us for an unforgettable evening of drinks, music, and good vibes on Thursday, November 27 from 7:30 to 10:30 pm at the vibrant Kanarie Club, right in the heart of De Hallen — a lively food court with 21 amazing stands (grab your favorite bites, bring them to the Kanarie club!) Dress as you like or simply add a touch of fun!✨

💻 Save the date for the Symfony hackathon on November 29. Everyone is welcome to join the hackday! Whether you're an experienced contributor or new to the community, your participation is highly valued as it brings a fresh perspective! More details are available here. The hackathon will be hosted in Volkshotel Amsterdam from 09:30 a.m. to 3:00 p.m. CET. thanks to the support of Baksla.sh.

📖 Read our attendee guide for venue, accommodation, and transportation details.

👕 Complete your Symfony Live profile to inform us of your dietary preferences, T-shirt size and talk preferences!


Joins us online!

💡Follow the "conference" blog posts to not miss anything!

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

Banner Blog


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-inside-the-first-git-commit-powerful-ideas-behind-a-minimal-start?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Thu, 16 Oct 2025 14:30:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-inside-the-first-git-commit-powerful-ideas-behind-a-minimal-start?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[SymfonyCon Amsterdam 2025: Performance Milestone for the Symfony Ecosystem]]> https://symfony.com/blog/symfonycon-amsterdam-2025-performance-milestone-for-the-symfony-ecosystem?utm_source=Symfony%20Blog%20Feed&utm_medium=feed SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on: November 25 &amp; 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups. November 27 &amp; 28 with three… Antoine Bluchet

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:

  • November 25 & 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups.
  • November 27 & 28 with three English-speaking tracks, an Unconference track, and a lively community evening.

The schedule is available here, as well as the complete list of workshop topics.

Stay in the look out for more to come!👀


🎤 New speaker announcement!

We’re thrilled to welcome Antoine Bluchet, (@s0yuka), Lead developper, Les- Tilleuls.coop, as a speaker with the talk 2025: Performance Milestone for the Symfony Ecosystem

"The Symfony ecosystem is constantly evolving to ease developer experience and optimize application efficiency. New Symfony components, such as JSON Streamer, are at the forefront of this evolution, raising the bar for modern web application performance.

We'll take a modern application built with API Platform and supercharge it, showcasing how this new component, along with the efficiency of FrankenPHP in worker mode, can be used to achieve significant performance gains. This talk will provide concrete benchmarks and practical use cases, demonstrating how you can build faster, more efficient applications."


SymfonyCon Amsterdam 2025 is coming fast!

🎟️ Register now and choose the ticket that suits you the best among workshop, conference and combo ticket. Check all the details and get your ticket!

🖥️ Check out the exciting 13 workshop topics on this page.

🎤 Explore the great lineup of conference talks here, featuring top-notch expert speakers as Fabien Potencier, Christopher Hertel, Robin Chalas, Tobias Nyholm, Andreas Braun, Anna Filina, Pauline Vos, Stefan Koopmanschap, Nicolas Grekas, Iain Cambridge, Sebastian Bergmann, Konrad Oboza, Alexandre Salome, Antoine Bluchet, Kévin Dunglas, Rob Allen, Mathias Arlaud, Benjamin Eberlei, Viktor Pikaev, Valentin Rusev Valentin Rusev, Romain Neutron and many others...

🫵 Participate in the Unconference track, a participant-driven format where attendees shape the content and discussions in real-time. Have a topic you're passionate about? Claim your slot by emailing us at events@symfony.com and set the stage for an unforgettable experience. Each unconference talk lasts 20 minutes with a screen and projector available on both days.

🎉 Celebrate Symfony’s 20th Anniversary with us at the Kanarie Club! Join us for an unforgettable evening of drinks, music, and good vibes on Thursday, November 27 from 7:30 to 10:30 pm at the vibrant Kanarie Club, right in the heart of De Hallen — a lively food court with 21 amazing stands (grab your favorite bites, bring them to the Kanarie club!) Dress as you like or simply add a touch of fun!✨

💻 Save the date for the Symfony hackathon on November 29. Everyone is welcome to join the hackday! Whether you're an experienced contributor or new to the community, your participation is highly valued as it brings a fresh perspective! More details are available here. The hackathon will be hosted in Volkshotel Amsterdam from 09:30 a.m. to 3:00 p.m. CET. thanks to the support of Baksla.sh.

📖 Read our attendee guide for venue, accommodation, and transportation details.

👕 Complete your Symfony Live profile to inform us of your dietary preferences, T-shirt size and talk preferences!


Joins us online!

💡Follow the "conference" blog posts to not miss anything!

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

Banner Blog


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-performance-milestone-for-the-symfony-ecosystem?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Wed, 15 Oct 2025 11:30:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-performance-milestone-for-the-symfony-ecosystem?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[SymfonyCon Amsterdam 2025: Installing Symfony with Symfony using the Browser]]> https://symfony.com/blog/symfonycon-amsterdam-2025-installing-symfony-with-symfony-using-the-browser?utm_source=Symfony%20Blog%20Feed&utm_medium=feed SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on: November 25 &amp; 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups. November 27 &amp; 28 with three… Soner Sayakci

SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:

  • November 25 & 26 with two days of hands-on workshops to learn, practice, and enhance your skills in small groups.
  • November 27 & 28 with three English-speaking tracks, an Unconference track, and a lively community evening.

The schedule is available here, as well as the complete list of workshop topics.

Stay in the look out for more to come!👀


🎤 New speaker announcement!

We’re thrilled to welcome Soner Sayakci, (@Shyim97), Developer, shopware AG, as a speaker with the talk Installing Symfony with Symfony using the Browser

"Composer is the go-to tool for distributing Symfony applications—but when your target audience includes end users or less technical stakeholders, the CLI can be a barrier. What if installing a Symfony app was as simple as uploading a single file to your server and opening it in a browser? In this talk, I'll walk you through how we use Symfony to install Symfony applications packaged as a single, self-contained PHP file with just a web interface in the browser."


SymfonyCon Amsterdam 2025 is coming fast!

🎟️ Register now and choose the ticket that suits you the best among workshop, conference and combo ticket. Check all the details and get your ticket!

🖥️ Check out the exciting 13 workshop topics on this page.

🎤 Explore the great lineup of conference talks here, featuring top-notch expert speakers as Fabien Potencier, Christopher Hertel, Robin Chalas, Tobias Nyholm, Andreas Braun, Anna Filina, Pauline Vos, Stefan Koopmanschap, Nicolas Grekas, Iain Cambridge, Sebastian Bergmann, Konrad Oboza, Alexandre Salome, Antoine Bluchet, Kévin Dunglas, Rob Allen, Mathias Arlaud, Benjamin Eberlei, Viktor Pikaev, Valentin Rusev Valentin Rusev, Romain Neutron and many others...

🫵 Participate in the Unconference track, a participant-driven format where attendees shape the content and discussions in real-time. Have a topic you're passionate about? Claim your slot by emailing us at events@symfony.com and set the stage for an unforgettable experience. Each unconference talk lasts 20 minutes with a screen and projector available on both days.

🎉 Celebrate Symfony’s 20th Anniversary with us at the Kanarie Club! Join us for an unforgettable evening of drinks, music, and good vibes on Thursday, November 27 from 7:30 to 10:30 pm at the vibrant Kanarie Club, right in the heart of De Hallen — a lively food court with 21 amazing stands (grab your favorite bites, bring them to the Kanarie club!) Dress as you like or simply add a touch of fun!✨

💻 Save the date for the Symfony hackathon on November 29. Everyone is welcome to join the hackday! Whether you're an experienced contributor or new to the community, your participation is highly valued as it brings a fresh perspective! More details are available here. The hackathon will be hosted in Volkshotel Amsterdam from 09:30 a.m. to 3:00 p.m. CET. thanks to the support of Baksla.sh.

📖 Read our attendee guide for venue, accommodation, and transportation details.

👕 Complete your Symfony Live profile to inform us of your dietary preferences, T-shirt size and talk preferences!


Joins us online!

💡Follow the "conference" blog posts to not miss anything!

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

Banner Blog


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-installing-symfony-with-symfony-using-the-browser?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Tue, 14 Oct 2025 11:30:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-installing-symfony-with-symfony-using-the-browser?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[Celebrating 20 Years of Symfony 🎂]]> https://symfony.com/blog/celebrating-20-years-of-symfony?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, Symfony turns 20 years old! 🎉 Twenty years of code, collaboration, and community. Twenty years of ideas that became innovations — and of people who turned open source into something deeply human. From a PHP framework to a global project… Sf 20Ans Logo Rvb H Pop

This week, Symfony turns 20 years old! 🎉

Twenty years of code, collaboration, and community. Twenty years of ideas that became innovations — and of people who turned open source into something deeply human.

From a PHP framework to a global project powering millions of applications, Symfony’s journey has always been about more than technology. It’s about people — contributors, maintainers, speakers, companies, and countless developers who believed in building something greater together.

To mark this incredible milestone, we’re happy to publish this celebration page; please share it at will!

symfony.com/20years

Take a trip down memory lane with us, revisit some of the key moments from our shared history, and read the steps that made Symfony what it is today. It’s a tribute to everything we’ve achieved — and a heartfelt thank you to everyone who’s been part of this journey. 🫶

But our story doesn’t stop here. The best chapters are still being written!

We can’t wait to celebrate this anniversary with you at SymfonyCon Amsterdam 2025, November 27 – 28, where we’ll come together as a community to honor the past, share our excitement for the future, and continue building the web, one line of code at a time.

Here’s to the next 20 years of Symfony — and to the people who make it all possible. 🎈

PS: thanks also to SensioLabs for sponsoring Symfony during these 20 years, and to Les-Tilleuls.coop for the design of the celebration page!


Sponsor the Symfony project.
]]>
https://symfony.com/blog/celebrating-20-years-of-symfony?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Mon, 13 Oct 2025 16:00:00 +0200 https://symfony.com/blog/celebrating-20-years-of-symfony?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
<![CDATA[A Week of Symfony #980 (October 6–12, 2025)]]> https://symfony.com/blog/a-week-of-symfony-980-october-6-12-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, the upcoming Symfony 7.4 version deprecated the HTTP method override for the GET, HEAD, CONNECT, and TRACE methods, and added a new setAllowedHttpMethodOverride() method in the Request class to define which HTTP methods can be overridden. Meanwhile,… This week, the upcoming Symfony 7.4 version deprecated the HTTP method override for the GET, HEAD, CONNECT, and TRACE methods, and added a new setAllowedHttpMethodOverride() method in the Request class to define which HTTP methods can be overridden. Meanwhile, the upcoming Symfony 8.0 version continued removing all the features marked as deprecated, like the Request::get() method and some DependencyInjection extension methods related to XML.

Symfony development highlights

This week, 62 pull requests were merged (50 in code and 12 in docs) and 40 issues were closed (25 in code and 15 in docs). Excluding merges, 27 authors made 15,703 additions and 6,981 deletions. See details for code and docs.

6.4 changelog:

  • 026f62a: [WebProfilerBundle] finish errored requests
  • f30fe83: [Console] allo Stringable when specifying types of interactive question choices
  • dd2aaad: [Cache] add Predis2 Replication Interface check in RedisTagAwareAdapter
  • fb98428: [Serializer] fix unexpected type in denormalization errors when float|int union type used in constructor with non numeric string in form-data request

7.3 changelog:

  • 0b12ec2: [FrameworkBundle] fix using lock from service id when previous locks used env vars

7.4 changelog:

  • fd498be: [Security] add security:oidc-token:generate command
  • 53bd8d7: [DependencyInjection] register a custom autoloader to generate *Config classes when they don't exist yet
  • 4825369: [TypeInfo] fix type alias with template resolving
  • 9b72d76: [Messenger] allow Pheanstalk v8
  • bf39118: [DoctrineBridge] deprecate AbstractDoctrineExtension
  • 8a90232: [HttpFoundation] make Request::createFromGlobals() parse the body of PUT, DELETE, PATCH and QUERY requests
  • 197282a: [WebProfilerBundle] add link to xdebug_info() to config panel
  • b0d728c: [DependencyInjection, Routing] define array-shapes to help writing PHP configs using yaml-like arrays
  • 34dae00: [Security] use PHPUnit attributes instead of annotations
  • 1a5b5e5: [HttpFoundation] add Request::set/getAllowedHttpMethodOverride() to list which HTTP methods can be overridden
  • 05409da: [HttpFoundation] deprecate HTTP method override for methods GET, HEAD, CONNECT and TRACE
  • a0231af: [Console] fine-tuning the interactive #[Ask] attribute

8.0 changelog:

  • cd30075: [FrameworkBundle] remove the deprecated WorkflowDumpCommand
  • 4c1b0a4: [HttpFoundation] remove Request::get()
  • 95b50af: [HttpClient] remove support for StoreInterface as the HTTP client cache
  • 38dfd93, 366115a: [DependencyInjection, FrameworkBundle] remove getNamespace() and getXsdValidationBasePath() from ExtensionInterface
  • 5d7e0ba: [Config, DependencyInjection, Routing] remove ability to access $this and the loader's internal state
  • e091804: [DoctrineBridge] remove AbstractDoctrineExtension

Newest issues and pull requests

Symfony CLI

Symfony CLI is a must-have tool when developing Symfony applications on your local machine. It includes the Symfony Local Server, the best way to run local Symfony applications. This week Symfony CLI released its new 5.15.1 version with the following changes:

  • Fix early return (@chirimoya)
  • Bump deps (@fabpot)

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Lead Symfony Developer at Incenteev
    Full-time - €65,000 – €80,000 / year
    Remote + part-time onsite (Paris, France)
    View details
  • Symfony Developer at SwiftCase
    Full-time - £45,000 – £65,000 / year
    Full remote
    View details
  • Symfony Developer at Inventis
    Full-time - €26,000 – €60,000 / year
    Remote + part-time onsite (Oudsbergen, Belgium)
    View details
  • Backend Symfony Developer at MondoSpedizioni
    Full-time - €29,000 – €45,000 / year
    Remote + part-time onsite (Rome, Italy)
    View details
  • Backend Symfony Developer at Peopulse
    Full-time - €30,000 – €55,000 / year
    Remote + part-time onsite (Toulouse, France)
    View details

You can publish a Symfony job offer for free on symfony.com.

SymfonyCasts Updates

SymfonyCasts is the official way to learn Symfony. Select a track for a guided path through 100+ video tutorial courses about Symfony, PHP and JavaScript.

This week, SymfonyCasts published the following updates:

They talked about us

Call to Action


Sponsor the Symfony project.
]]>
https://symfony.com/blog/a-week-of-symfony-980-october-6-12-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Sun, 12 Oct 2025 09:18:00 +0200 https://symfony.com/blog/a-week-of-symfony-980-october-6-12-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list

Warning: fread(): SSL operation failed with code 1. OpenSSL Error messages: error:0A000126:SSL routines::unexpected eof while reading in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 845