Symfony Blog https://symfony.com/blog/ Most recent posts published on the Symfony project blog Mon, 28 Jul 2025 00:47:14 +0200 Sun, 27 Jul 2025 09:16:00 +0200 en https://symfony.com/blog/a-week-of-symfony-969-july-21-27-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, development focused on the upcoming Symfony 7.4 and 8.0 releases. We added new features such as the ObjectMapperAwareInterface, improved value transformers in JsonStreamer, and enabled loading JSON via imports in AssetMapper. We also removed deprecated… This week, development focused on the upcoming Symfony 7.4 and 8.0 releases. We added new features such as the ObjectMapperAwareInterface, improved value transformers in JsonStreamer, and enabled loading JSON via imports in AssetMapper. We also removed deprecated features, including Doctrine entity auto-mapping. In addition, we announced more details about SymfonyCon Amsterdam 2025.

Symfony development highlights

This week, 72 pull requests were merged (62 in code and 10 in docs) and 34 issues were closed (22 in code and 12 in docs). Excluding merges, 31 authors made 7,822 additions and 1,836 deletions. See details for code and docs.

6.4 changelog:

  • 578c2e3: [WebProfilerBundle] increase compatibility of toolbar with Turbo
  • da8bc22: [FrameworkBundle] don't use Email::VALIDATION_MODES in Configuration
  • 3261116: [Cache] fix Redis compatibility with different Relay versions
  • 4af9890: [Form, PhpUnitBridge] remove usage of noop ReflectionProperty::setAccessible()
  • df58224: [Console] fix JSON description for negatable input flags
  • 39ff860: [Mailer] update Brevo webhook IPs
  • e092b46: [WebProfilerBundle] fix missing indent on non PHP files opended in the profiler
  • 97429b7: [Config] do not generate unreachable configuration paths

7.2 changelog:

  • 3540952: [Lock] fallback to eval when LOAD fails due to missing script
  • dabfa59: [Security] fix added $token argument to UserCheckerInterface::checkPostAuth()
  • c3eb27f: [Config] fix GeneratedConfigTest not being able to generate snapshots anymore
  • de2a7ab: [Serializer] handle invalid mapping type property type

7.3 changelog:

  • 5bf8b3e: [ObjectMapper] fix test using LazyObjectInterface
  • cf7da9e: [JsonPath] fix parsing invalid Unicode codepoints
  • 51ee4ed: [ObjectMapper] skip reading uninitialized values
  • d2b1513: [Console] fix TreeHelper::addChild when providing a string

7.4 changelog:

  • 5db13d5: [ObjectMapper] add ObjectMapperAwareInterface to set the owning object mapper instance
  • b065b9a: [Semaphore] enabled usage of EVALSHA and LOAD SCRIPT over regular EVAL
  • 6e14bca: remove legacy config for disabling annotations
  • 8150927: [HttpFoundation] simplify UriSigner::verify to use match
  • 3686363: [Translation] add StaticMessage
  • 8c3d388: [JsonStreamer] provide current object to value transformers
  • d3a0df0: [JsonStreamer] add include_null_properties option
  • edae79d: [Security] support union type for #[CurrentUser] attribute
  • da5988e: [Validator] remove docblocks for deprecated argument types
  • c7493bb: [AssetMapper] add support for loading JSON using import statements
  • 2663b3b: [Validator] add min and max in both error messages of LengthValidator
  • d219ebe: [BrowserKit] add PHPUnit constraints: BrowserHistoryIsOnFirstPage and BrowserHistoryIsOnLastPage
  • 6832421: [Serializer] add CDATA_WRAPPING_NAME_PATTERN support to XmlEncoder

8.0 changelog:

  • 8198373: remove legacy code paths that rely on feature checks
  • 6e5a24c: [DoctrineBridge] remove support for auto-mapping Doctrine entities to controller arguments
  • 419f671: [FrameworkBundle] remove deprecated TranslationUpdateCommand
  • ec69e60: [AssetMapper] make argument $projectDir of ImportMapRequireCommand mandatory
  • eaecccb: [Messenger] remove text format when using the messenger:stats command
  • 265d4b2: [HttpFoundation] trigger PHP warning when using Request::sendHeaders() after headers have already been sent
  • 000ade9: [Security] throw when passing an empty string as $userIdentifier and tighten AuthenticatorManager and OidcTokenHandler arguments
  • 7d3f4fe: [DependencyInjection] remove !tagged tag, use !tagged_iterator instead
  • 474bd79: [Translation] remove TranslatableMessage::__toString() method, use trans() or getMessage() instead
  • dc34dbd: clean up remaining ExpectUserDeprecationMessageTrait usages
  • 2c0dd69: declare new parameters on interfaces and methods explicitly

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Lead Symfony Developer at Vacatia
    Full-time - $150,000 – $180,000 / year
    Remote + part-time onsite (Portland, United States)
    View details
  • Symfony Developer at DocuPet Inc.
    Full-time - CA$115,000 – CA$135,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Wappnet Systems Pvt Ltd
    Full-time - ₹1,000,000 – ₹2,000,000 / year
    Ahmedabad, India
    View details
  • Symfony Developer at Neuron Academy
    Contract / Freelance - $25 – $50 / hour
    Full remote
    View details
  • Symfony Developer at Fegmo Inc
    Full-time - ₹600,000 – ₹2,000,000 / year
    Full remote
    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-969-july-21-27-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Sun, 27 Jul 2025 09:16:00 +0200 https://symfony.com/blog/a-week-of-symfony-969-july-21-27-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/symfonycon-amsterdam-2025-community-evening-let-s-celebrate-20-years-of-symfony-together?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Symfony is turning 20 and we’re throwing a party you won’t want to miss! 🥳 Join us for an unforgettable evening of drinks, music, and great company at the Kanarie Club in Amsterdam! This year’s Community Evening takes place on Thursday, November… Sfconamsterdam2025 Blog At 2X Symfony is turning 20 and we’re throwing a party you won’t want to miss! 🥳

Join us for an unforgettable evening of drinks, music, and great company at the Kanarie Club in Amsterdam!

This year’s Community Evening takes place on Thursday, November 27, from 7:30 to 10:30 pm, and it’s all about relaxing, connecting, and celebrating two decades of Symfony. ✨

📍 Location:

Kanarie Club (Bellamyplein 51, 1053AT, Amsterdam) is located in the heart of De Hallen, Amsterdam’s iconic indoor food court with 21 amazing food stands. After ordering your favourite dishes in the food court, you will be able to come and eat them directly in our private area with free drinks!

🎶 Expect drinks, music, good vibes, and lots of familiar (and new!) faces from the community. Whether you’re up for having fun or deep dev talk over a drink, there’s something for everyone.

Thank You

🎟️ Your SymfonyCon badge is your ticket in — don’t forget to bring it!

🛴 Getting there:

  • 🚲 11 min by bike

  • 🚋 29 min via public transport

  • 🚶‍♂️ 35 min walk from the conference venue (Beurs van Berlage)

✨ Dress code? Anything goes! Add a spark of fun if you like!😉

We can’t wait to celebrate this special SymfonyCon evening with you 💙 All practical info: here

Join us and be part of the Symfony community on X, Mastodon, Bluesky, LinkedIn, Threads, Facebook, and Instagram.


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-community-evening-let-s-celebrate-20-years-of-symfony-together?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Wed, 23 Jul 2025 15:30:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-community-evening-let-s-celebrate-20-years-of-symfony-together?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/a-week-of-symfony-968-july-14-20-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, the upcoming Symfony 7.4 version improved the Serializer component by adding more prefix support to the accessor, added more code to make the JsonPath component RFC compliant, and added support for loading JSON using imports in AssetMapper. Symfony… This week, the upcoming Symfony 7.4 version improved the Serializer component by adding more prefix support to the accessor, added more code to make the JsonPath component RFC compliant, and added support for loading JSON using imports in AssetMapper.

Symfony development highlights

This week, 36 pull requests were merged (25 in code and 11 in docs) and 18 issues were closed (16 in code and 2 in docs). Excluding merges, 21 authors made additions and deletions. See details for code and docs.

6.4 changelog:

  • e5d6c57: [Routing] add test to validate that default value is allowed to not match requirement
  • 3c9cdc6: [Validator] fix handling required options
  • 5d66cca: fix various bool-type coercions
  • 4acd05c: [Translation] fix support of TranslatableInterface in IdentityTranslator
  • 1ce1a15: [Config] fix support for attributes on class constants and enum cases
  • 6317c59: [Console] fix profiler with overridden run() method
  • f12d58b: [VarDumper] fix dumping on systems that don't have a working iconv
  • 74895de: [FrameworkBundle] add missing html5-allow-no-tld to XSD file

7.2 changelog:

  • f1e3356: [DoctrineBridge] prevent idle connection listener from running on subrequest

7.3 changelog:

  • af5a185: [DependencyInjection] fix proxying services defined with an abstract class and a factory
  • 5faf27f: [Validator] error if the fields option is missing for the Collection constraint
  • deac4c6: [JsonPath] handle slice selector overflow

7.4 changelog:

  • dfb3d28: [DoctrineBridge, Validator] mark getRequiredOptions()/getDefaultOption() of UniqueEntity as deprecated
  • d3bf55d: [HttpKernel, Security] refactor use getAttributes with argument
  • af32a38: [Cache] add TagAwareAdapterInterface to NullAdapter
  • cabe552: [Serializer] add can to the accessor prefixes recognized by the AttributeLoader
  • 5015234: [Validator] fix detecting missing required options
  • 2f180d4: [Translation] deprecate TranslatableMessage::__toString

8.0 changelog:

  • 5b29404: [FrameworkBundle, SecurityBundle] remove autowiring aliases for RateLimiterFactory
  • 758121b: [FrameworkBundle, TwigBundle] remove options session.sid_length, session.sid_bits_per_character, router.cache_dir, validation.cache, and base_template_class

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Lead Symfony Developer at Vacatia
    Full-time - $150,000 – $180,000 / year
    Remote + part-time onsite (Portland, United States)
    View details
  • Symfony Developer at DocuPet Inc.
    Full-time - CA$115,000 – CA$135,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Wappnet Systems Pvt Ltd
    Full-time - ₹1,000,000 – ₹2,000,000 / year
    Ahmedabad, India
    View details
  • Symfony Developer at Neuron Academy
    Contract / Freelance - $25 – $50 / hour
    Full remote
    View details
  • Symfony Developer at Fegmo Inc
    Full-time - ₹600,000 – ₹2,000,000 / year
    Full remote
    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-968-july-14-20-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Sun, 20 Jul 2025 09:15:00 +0200 https://symfony.com/blog/a-week-of-symfony-968-july-14-20-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/a-week-of-symfony-967-july-7-13-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, Symfony unveiled the Symfony AI initiative, a set of components and bundles designed to bring powerful AI capabilities directly into your PHP applications. In addition, we published travel and lodging tips for the SymfonyCon Amsterdam 2025 conference.… This week, Symfony unveiled the Symfony AI initiative, a set of components and bundles designed to bring powerful AI capabilities directly into your PHP applications. In addition, we published travel and lodging tips for the SymfonyCon Amsterdam 2025 conference.

Symfony development highlights

This week, 48 pull requests were merged (40 in code and 8 in docs) and 31 issues were closed (24 in code and 7 in docs). Excluding merges, 28 authors made additions and deletions. See details for code and docs.

6.4 changelog:

  • e68568d: [FrameworkBundle] add functional tests for ContainerLintCommand
  • 4f5545b: [Form] fix precision loss when rounding large integers in NumberToLocalizedStringTransformer
  • 1299446: [Mailer] update Brevo webhook IP addresses
  • b834981: [VarExporter] dump implicit-nullable types as explicit to prevent the corresponding deprecation
  • d524bc9: [Serializer] fix readonly property initialization from incorrect scope
  • 8460cc9: [ExpressionLanguage] fix dumping of null safe operator
  • 758082a: [Lock] enforce readPreference=primary and writeConcern=majority in MongoDB

7.2 changelog:

  • f27f27d: [TwigBridge] fix version number in deprecation
  • e88263c: [Validator] allow mixed root on CompoundConstraintTestCase validator

7.3 changelog:

  • 31c3b33: [ObjectMapper] correctly manage constructor initialization
  • 3ba5d5e: [JsonStreamer] fix nested generated foreach loops
  • 777e91a: [TypeInfo] fix imported-only alias resolving
  • 29f60d1: [HttpFoundation] fix deprecation in tests on PHP 8.5
  • 7095ee9: [Scheduler] fix #[AsCronTask] not passing arguments to command
  • ed27476: [JsonPath] improve escape sequence validation in name selector
  • 42171a1: [ObjectMapper] handle non existing property errors
  • c2d6065: [TypeInfo] reuse CollectionType::mergeCollectionValueTypes for ConstFetchNode

7.4 changelog:

  • d320603: [SecurityBundle] configuration for the storage service for the login throttling rate limiter
  • 34d01c1: [HttpKernel] avoid memory leaks cache attribute
  • 5386ddf: [Intl] optionally allow Kosovo as a component region
  • dc81e07: [Mailer] allow exception logging for RoundRobinTransport mailer
  • 771dc85: [Validator] deprecate handling options in the base Constraint class
  • da5b2c7: [ErrorHandler, FrameworkBundle] leverage get_error_handler()

8.0 changelog:

  • 44eb270: [TwigBridge] remove the ability to pass a tag to FormThemeNode
  • d1d33e2: [Security] remove deprecated RememberMeToken::getSecret()
  • 90e420a: [FrameworkBundle, WebProfilerBundle] remove XML routing configuration files
  • c25e61b: [ExpressionLanguage] forbid passing null as allowed variables
  • ccdf41b: [Ldap] remove the sizeLimit option of AbstractQuery

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Backend Symfony Developer at Wappnet Systems Pvt Ltd
    Full-time - ₹1,000,000 – ₹2,000,000 / year
    Ahmedabad, India
    View details
  • Symfony Developer at Neuron Academy
    Contract / Freelance - $25 – $50 / hour
    Full remote
    View details
  • Symfony Developer at Fegmo Inc
    Full-time - ₹600,000 – ₹2,000,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Nomador
    Full-time - €60,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Substância Binária
    Full-time - €2,000 – €5,000 / month
    Remote + part-time onsite (Almada, Portugal)
    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-967-july-7-13-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Sun, 13 Jul 2025 09:16:00 +0200 https://symfony.com/blog/a-week-of-symfony-967-july-7-13-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/kicking-off-the-symfony-ai-initiative?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Today we are happy to announce a new Symfony initiative called Symfony AI - with the goal to provide a comprehensive set of components and bundles designed to bring powerful AI capabilities directly into your PHP applications. Similar to the UX initiative,… Today we are happy to announce a new Symfony initiative called Symfony AI - with the goal to provide a comprehensive set of components and bundles designed to bring powerful AI capabilities directly into your PHP applications.

Similar to the UX initiative, Symfony AI lives in the separate mono-repository symfony/ai, which enables us to level up this new set of libraries as fast as the AI ecosystem itself. All components and bundles are currently under active development and not yet ready to be released, but we decided to go public with this project now to invite you all to join forces in building a strong PHP ecosystem for AI. No matter if you are creating chatbots, implementing Retrieval-Augmented Generation, or building sophisticated AI agents, Symfony AI aims to give you the tools to get started quickly and well-integrated with your application.

Even if this is a new initiative and still experimental, we are not starting at zero, but we moved the PHP-LLM organization, a set of libraries and bundles, into the Symfony project.

Core Components & Bundles

Platform Component: A unified interface to major AI providers like OpenAI, Anthropic, Azure, Google, Mistral, and more. Write your code once and switch between AI platforms seamlessly.

Agent Component: A framework for building AI agents that can interact with users, call tools, and perform complex multi-step tasks. Perfect for creating sophisticated chatbots and automated workflows.

Store Component: Data storage abstraction with indexing and retrieval capabilities for AI applications. Ideal for implementing RAG (Retrieval-Augmented Generation) patterns and semantic search.

AI Bundle: Seamlessly integrates the Platform, Store, and Agent components into Symfony applications with configuration, dependency injection, and debugging tools.

MCP SDK: An implementation of the Model Context Protocol, enabling your applications to communicate with AI systems using the emerging industry standard.

MCP Bundle: Allows your Symfony applications to act as MCP servers or clients, opening up new possibilities for AI integration and tool creation.

Getting Started

If you are eager to get on that journey with us, the best way to start is to check out our examples and demo application to see Symfony AI in action. Especially the demo showcases more advanced use-cases combining multiple components and Symfony UX at once.

To get more pointers were to start contributing to this project, check the issue tracker: Ideas & Plans for this Project Models, Platforms & Stores Support

And of course, you can add your ideas, provide feedback or join discussions.


Sponsor the Symfony project.
]]>
https://symfony.com/blog/kicking-off-the-symfony-ai-initiative?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Fri, 11 Jul 2025 13:29:00 +0200 https://symfony.com/blog/kicking-off-the-symfony-ai-initiative?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/symfonycon-amsterdam-2025-travel-and-lodging-tips?utm_source=Symfony%20Blog%20Feed&utm_medium=feed SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on: November 25 & 26: 2 workshops days with several topics to learn, practice and improve your skills in small groups November 27 & 28: 3 English-speaking… SymfonyCon Amsterdam 2025, our next annual international Symfony conference, will take place on:
  • November 25 & 26: 2 workshops days with several topics to learn, practice and improve your skills in small groups
  • November 27 & 28: 3 English-speaking tracks with more than 35 outstanding speakers, 1 Unconference track, and a conference community evening

Get ready to join us by submitting a talk / workshop proposal or registering for the event.

Let's focus now on the organization of your travel and stay in Amsterdam:


🛎️ Organize your accommodation

We are happy to share with you that some rooms have been pre-booked at negotiated rates in Amsterdam. A wide variety of hotels are available, with many located within walking distance of the Beurs van Berlage conference venue. More hotels will be added shortly.

  • No prepayment required
  • Flexible cancellation policies
  • Discount at Bistro Berlage during your stay

Complete your booking online to secure your room. You will receive a confirmation email and hotel voucher once the booking is finalized. The room will be guaranteed with your bank card, and payment will be made at the hotel upon check-out.

👉 Click here

Group bookings: If you would like to reserve more than 10 rooms, please contact the Conference Services department of the Beurs van Berlage by email

✈️ Organize your travel

a) Come by train

Amsterdam is well-connected by train from major European cities such as Paris, Brussels, Berlin, Frankfurt, and London... We recommend traveling this way to limit your carbon footprint. Upon arrival at Amsterdam Centraal Station, the Beurs van Berlage is just a 5-minute walk away (approximately 300 meters). You can plan your journey using the NS website

b) Come by plane

For our most geographically distant participants, we are very happy to offer attractive discounts for SymfonyCon attendees with Air France - KLM and Lufthansa Group airlines. More details are available on our attendee guide.

💡 Stay in the loop by following our "conferences" blog posts, and check out the attendee guide for tips and key info!

We can't wait to meet you in person to learn, connect, and share the latest on Symfony. Join us and be part of the @symfony community! 🫶


Sponsor the Symfony project.
]]>
https://symfony.com/blog/symfonycon-amsterdam-2025-travel-and-lodging-tips?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Fri, 11 Jul 2025 09:30:00 +0200 https://symfony.com/blog/symfonycon-amsterdam-2025-travel-and-lodging-tips?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/a-week-of-symfony-966-june-30-july-6-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed This week, development on the upcoming Symfony 8.0 version continued with the removal of deprecated features and the marking of several classes as final. In addition, we published two new case studies showcasing companies that use Symfony. Symfony development… This week, development on the upcoming Symfony 8.0 version continued with the removal of deprecated features and the marking of several classes as final. In addition, we published two new case studies showcasing companies that use Symfony.

Symfony development highlights

This week, 62 pull requests were merged (41 in code and 21 in docs) and 43 issues were closed (20 in code and 23 in docs). Excluding merges, 18 authors made 23,500 additions and 13,217 deletions. See details for code and docs.

6.4 changelog:

  • bd60612: [Serializer] remove return type from AbstractObjectNormalizer::getAllowedAttributes()
  • 02a0732: [DoctrineBridge] restore compatibility with Doctrine ODM

7.2 changelog:

  • 5fc46ce: [TwigBridge] fix command option mode (InputOption::VALUE_REQUIRED)
  • 60623b6: [HttpClient] return early if handle has been cleaned up before
  • a6102d2: increase minimum version of type-info component in several packages

7.3 changelog:

  • 65eb3eb: [TypeInfo] fix Type::fromValue incorrectly setting object type instead of enum
  • d8a673a: [TypeInfo] fix Type::fromValue with empty array
  • 41c9bd8: update sponsors for Symfony 7.3

7.4 changelog:

  • 79cd71d: [FrameworkBundle] minor remove unused Container use statement in ContainerLintCommand
  • 445eb96: [Messenger, Translation] do not mock final classes
  • b792636: [Messenger] allow any ServiceResetterInterface implementation in ResetServicesListener

8.0 changelog:

  • 0979e06: [OptionsResolver] remove internal BC layer leftovers for $deprecatedNestedOptions
  • 0ce35ae: [Form] make ResizeFormListener::postSetData() method final
  • 668b262, 618c484, a6587c9, c193a92, 846e53f, 913630c, ff801ca, 56f95fe, 5c8b972, 6e4ffa6, edb6293: make some classes final
  • 307de33: [SecurityBundle] remove deprecated OIDC token handler options algorithm and key
  • d3df264: [Cache] remove deprecated CouchbaseBucketAdapter
  • 0295a89: [SecurityBundle] remove the deprecated security.authentication.hide_user_not_found parameter
  • 704572a: [Intl] remove deprecated EmojiTransliterator
  • 06e4c90: [Form] remove BC layer from ResizeFormListener
  • 9f4d2b9: [Workflow] remove deprecated Event::getWorkflow()

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Symfony Developer at Neuron Academy
    Contract / Freelance - $25 – $50 / hour
    Full remote
    View details
  • Symfony Developer at Fegmo Inc
    Full-time - ₹600,000 – ₹2,000,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Nomador
    Full-time - €60,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Substância Binária
    Full-time - €2,000 – €5,000 / month
    Remote + part-time onsite (Almada, Portugal)
    View details
  • Backend Symfony Developer at Polavis
    Full-time - €30 – €45 / hour
    Full remote
    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-966-june-30-july-6-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Sun, 06 Jul 2025 09:18:00 +0200 https://symfony.com/blog/a-week-of-symfony-966-june-30-july-6-2025?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/case-study-modernizing-audi-france-s-digital-ecosystem-with-symfony-6?utm_source=Symfony%20Blog%20Feed&utm_medium=feed At Wide, Talan & Micropole’s digital agency, they help leading brands modernize their digital infrastructures while ensuring scalability, security, and performance. When Audi France approached them to migrate its system to Symfony 6, they embraced the… At Wide, Talan & Micropole’s digital agency, they help leading brands modernize their digital infrastructures while ensuring scalability, security, and performance. When Audi France approached them to migrate its system to Symfony 6, they embraced the challenge of revamping their architecture while optimizing their technological ecosystem. Through this transformation, they not only enhanced their software stack but also positioned them for future innovations.

The company

Audi is a renowned premium brand in the automotive industry. The French subsidiary of the group stands out with specialized services tailored to the local market, particularly in managing inquiries, test drives, and vehicle maintenance. To ensure a seamless and efficient experience between prospects and dealerships, Audi France provides its network with lead acquisition and management solutions.

Challenges

The system followed a microservices architecture, relying on a dozen APIs and multiple web frontends built and maintained with Symfony 4. For Audi France, it was crucial to keep security updates up to date, maintain dependencies, and integrate the latest technological innovations.

However, the aging infrastructure restricted the upgrade to PHP 8, making the migration to Symfony 5 and beyond impossible. Additionally, the high costs associated with infrastructure migration made a simple update unfeasible. In response to these challenges, Audi France decided to undertake a complete system overhaul by migrating directly to Symfony 6.

Their solution

To ensure a smooth and controlled transition, they executed the migration in multiple phases. First, all deprecated functionalities were updated in their previous Symfony versions to ensure full compatibility with the new version.

Once this step was completed, part of the system was rebuilt using Symfony 6, allowing Audi France to leverage the latest advancements of the framework. For instance, replacing RabbitMQ with Symfony Messenger reduced dependency on external tools, simplified the software architecture, and optimized asynchronous task execution. Additionally, Symfony Messenger’s improved configuration through attributes and batch consumption further enhanced efficiency.

Symfony 6 also provided several key benefits, including:

✔ Improved performance, thanks to features like Doctrine precompilation.

✔ Full support for PHP 8, with attributes replacing annotations for cleaner, more maintainable code.

✔ Enhanced Symfony Messenger capabilities, making asynchronous processing more efficient.

By leveraging these improvements, they ensured a seamless transition while maintaining system integrity.

Results

Thanks to this migration, Audi France successfully modernized its infrastructure while optimizing its operations. By reducing technical dependencies and leveraging the features introduced in Symfony 6, they enabled the brand to:

✔ Improve its time-to-market,

✔ Reduce maintenance costs,

✔ Ensure better system scalability.

With Symfony 6 at its core, Audi France is now positioned to respond more effectively to customer demands — combining agility, reliability, and performance for the road ahead!

"At Audi France, delivering a premium experience to our customers is at the core of our commitment. In partnership with Wide, we embarked on a system modernization journey, migrating to Symfony 6. This transformation not only allows us to ensure optimal security and maintenance but also enables us to meet market expectations in line with our vision of excellence and innovation."

Frédéric ROCHE – Head of Direct Sales & Digital, Audi France

Logowidetalan Blk X3 Couleur


Sponsor the Symfony project.
]]>
https://symfony.com/blog/case-study-modernizing-audi-france-s-digital-ecosystem-with-symfony-6?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Fri, 04 Jul 2025 09:00:00 +0200 https://symfony.com/blog/case-study-modernizing-audi-france-s-digital-ecosystem-with-symfony-6?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list
https://symfony.com/blog/case-study-a-long-term-powerhouse-behind-vente-unique-com-s-e-commerce-success-zero-churn-all-wins?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Vente-unique.com, a leading European online retailer of furniture and home decor, operates in 11 countries, powered by a team of 400 professionals and serving more than 3 million customers. From 15 years, their entire e-commerce business has run on Symfony,… Vente-unique.com, a leading European online retailer of furniture and home decor, operates in 11 countries, powered by a team of 400 professionals and serving more than 3 million customers. From 15 years, their entire e-commerce business has run on Symfony, seamlessly integrating ERP, customer service, and logistics into one unified system. It’s a standout example of just how flexible and powerful Symfony can be for high-volume, enterprise-grade platforms.

Mastering Symfony for long-term scalability

Vente-unique.com was one of the earliest companies to put their trust in Symfony, adopting the framework from its very first version back in 2008. While many e-commerce companies depend on off-the-shelf platforms, Vente-unique.com took a bold path, building a fully customized Symfony-powered ERP that brought all core business functions together: customer service, logistics, and order management. That strategic decision paid off with streamlined operations and major efficiency gains.

What’s truly impressive about the Vente-unique.com story is Symfony’s stability and resilience: Their ERP ran on Symfony 1.4 for an incredible ten years, proof of just how powerful the framework really is.

By 2020, the company faced a crucial challenge: migrating away from Symfony 1.4 to a modern version. The monolithic ERP had grown to over 500,000 lines of code, and finding Symfony 1 developers had become increasingly difficult.

A "big bang" migration to Symfony 2 was undertaken, requiring a full-scale conversion to a service-based architecture over the course of a year. And it worked! This move not only stabilized the platform but also prepared the company for its next major evolution, transforming from a traditional e-commerce site into a full-fledged marketplace, expanding the product catalog from 9,000 to 3 million items thanks to the power of Symfony. This shift solidified Symfony as the core framework of the platform, enabling Vente-unique.com to manage the challenges of a modern marketplace.

Strategic tech choices: Symfony over e-commerce frameworks

Instead of relying on traditional e-commerce solutions, Vente-unique.com deliberately chose Symfony to maintain full control over its operations and avoid the pitfalls of managing multiple frameworks. This approach allowed the leading e-commerce company to:

  • Develop a unified ERP integrating customer service, logistics, and sales functions.
  • Prevent data synchronization issues between disparate systems.
  • Customize their architecture to meet specific business needs without third-party constraints.

The migration to Symfony 2, followed by continuous upgrades up to 6.4, has reinforced the company’s technical resilience. Vente-unique.com maintains a proactive approach by closely monitoring Symfony updates and adopting relevant innovations to enhance efficiency. Even though this migration happened late in the Symfony release cycle, the development team handled it on their own. Vente-unique.com was able to get back to the regular rhythm of Symfony releases without any negative impact on the business.

A robust and evolving tech stack

Vente-unique.com’s Symfony-based platform is backed by a powerful stack:

  • Database & Storage: MySQL for structured data storage, AWS S3 for scalable file management.
  • Search & Performance: Elasticsearch and MongoDB for advanced search capabilities.
  • AI & Automation: Custom Symfony/Python scripts for sales forecasting, delivery simulations, and upcoming AI-driven purchase recommendations.
  • Frontend Innovation: Vue.js has replaced Twig to enhance performance, leveraging Symfony UX and API Platform for a modern, reactive user experience.

The adoption of API-first principles has further simplified operations, ensuring a seamless flow of data between services.

A remarkable commitment to the Symfony community

Symfony and Vente-unique have a long history together. It's not just about technical features; it's also about a remarkable commitment to the open-source community. Guiding Vente-Unique.com’s technical strategy is Grégory Schurgast, IT Director with over 30 years of experience in web technologies and an extensive background in Symfony development. A long-time member of the Symfony community, Grégory has shared his insights during SymfonyLive conferences, contributing to the broader ecosystem and helping shape best practices in Symfony applications.

Vente-unique.com remains deeply committed to Symfony, continuously refining its platform to stay ahead in the competitive e-commerce space. As a pure player in the French market, the company stands as a testament to Symfony’s strong capabilities in driving complex, high-performing business applications.

The success story of Vente-unique is a clear illustration of the ability of Symfony to adapt to unique business needs. It's a demonstration of its resilience over the years and flexibility to incorporate cutting-edge innovations like AI and automation.

Thanks to Grégory Schurgast, IT Director, Vente-Unique



Sponsor the Symfony project.
]]>
https://symfony.com/blog/case-study-a-long-term-powerhouse-behind-vente-unique-com-s-e-commerce-success-zero-churn-all-wins?utm_source=Symfony%20Blog%20Feed&utm_medium=feed Wed, 02 Jul 2025 09:30:00 +0200 https://symfony.com/blog/case-study-a-long-term-powerhouse-behind-vente-unique-com-s-e-commerce-success-zero-churn-all-wins?utm_source=Symfony%20Blog%20Feed&utm_medium=feed#comments-list