Welcome to this week’s Symfony Station communiqué. It’s your review of the essential news in the Symfony and PHP development communities focusing on protecting democracy.
There’s good content in all of our categories, so please take your time and enjoy the items most relevant and valuable to you.
We publish on Fridays. So you can savor it over your weekend.
Or jump straight to your favorite section.
Once again, thanks go out to Javier Eguiluz and the team at Symfony for sharing our communiqué in their [Week of …
Welcome to this week’s Symfony Station communiqué. It’s your review of the essential news in the Symfony and PHP development communities focusing on protecting democracy.
There’s good content in all of our categories, so please take your time and enjoy the items most relevant and valuable to you.
We publish on Fridays. So you can savor it over your weekend.
Or jump straight to your favorite section.
Once again, thanks go out to Javier Eguiluz and the team at Symfony for sharing our communiqué in their Week of Symfony
My opinions will be in bold. And will often involve cursing. Because humans. Especially tech bros. Fuck ’em!
This is the final edition of Symfony Station. Please read our featured article for more information.
The Programmer’s Fulcrum is now the home for a fusion of Symfony Station and Battalion. Its tagline is Devs Defending Democracy, Destroying Autocracy, and Developing the OMN.
You can sign up now.
We are posting on the Fediverse now at @thefulcrum@thefulcrum.dev
Symfony
As always, we will start with the official news from Symfony.
This week, Symfony released the maintenance versions 6.4.30 and 7.3.8, as well as the first patch releases of the 7.4 and 8.0 branches: 7.4.1, 8.0.1, 7.4.2, and 8.0.2. In addition, we published a free video of the Symfony AI talk from SymfonyCon Amsterdam 2025, offering an introduction to integrating AI into Symfony applications.
December 8–14, 2025: A Week of Symfony 989
This week, we published an article about how we controlled 1,200 screens in real time with Symfony during SymfonyCon Amsterdam 2025. We also celebrated a new SymfonyCasts course on building Symfony bundles. Finally, we shared a blog post detailing 20 years of Symfony coding in numbers.
December 15–21, 2025: A Week of Symfony 990
They also have:
How we lit up 1200 screens in real time at SymfonyCon
New SymfonyCasts Course: Bundle Development
20 Years of Symfony in Code Stats
Symfony AI v0.1.0 - First Tagged Release
SymfonyCasts has:
Featured Item
We are tooting our own horn a final time this week:
As noted above, there is some big news this week, followers. As I mentioned earlier on Battalion, 2026 will witness the sunsetting of my Battalion and Symfony Station projects and the birth of The Programmer’s Fulcrum.
Learn more via the link.
Still exploring new quadrants, but using less-traveled coordinates
Thanks for following us over the years. I hope I have helped you. You have definitely helped me.
The past two weeks
Studo
Matt Mochalkin has:
Building Decentralized Architectures with Web3 and Symfony 7.4
Building a Decentralized Event Ticketing System Web3 with Symfony 7.4
Scaling Symfony 7.4 in the Cloud: Mastering the New “Share Directory”
Mastering the Request Class Improvements and Modern HTTP Handling with Symfony 7.4
Francisco Navarro compares:
Laravel, Symfony, Doppar in 2026 — Which PHP Framework Should You Pick
Ray Galstyan says:
Wouter De Jong explores:
Edgaras examines:
Implementing TOTP-Based Multi-Factor Authentication in Symfony 7
Kevin Wengerk shows us:
How to Add Watermarks to 360° Panoramas with Symfony, ImageMagick & ExifTool
Yusuf Biberoğlu shows us:
No persist(), Still Saved? How Doctrine’s Dirty Checking Really Works
Alan Colom shares:
PHP Symfony Microservice with gRPC: A Practical Guide
eCommerce
Sylius has:
PrestaShop has:
PrestaShop 9.0.2-2.1: what happened and why the version looks different
Centarro looks at:
The Hidden Costs of Enterprise eCommerce Platforms
CMSs
Joomla has:
Joomla! 6.1 Alpha2 - See how it’s coming together
Highlights include:
Dependency Injection: What and Why?
Building a Joomla news feed that updates with Ajax
TYPO3 has:
Enhanced Email Configuration — Approach and First Version
Best Practices Team On-Site Sprint
Preparing for TYPO3 v14 LTS: Consultant Certification Task Force Advances into 2026
I really enjoyed covering TYPO3.
PPW continues its Advent calendar:
TYPO3 Adventskalender 2025: Modernisierter Übersetzungsworkflow
TYPO3 Adventskalender 2025: Verschlüsselung
TYPO3 Adventskalender 2025: Verbesserungen im Modul "Users"
TYPO3 Adventskalender 2025: Module und Button API
TYPO3 Adventskalender 2025: Fluid 5
Drupal has:
Drupal 11.3.0 is now available
Drupal 11.3.0: Biggest performance boost in a decade
Native HTMX in Drupal 11.3.0: Rich UX with up to 71% less JavaScript
:)
GitLab CI: Drupal’s strategy to empower a whole ecosystem
Drupal security advisories are now available in OSV database
Dries Buyaert has:
Adaptable Drupal modules: code meant to be adapted, not installed
AI flattens interfaces and deepens foundations
Unfortunately, this is probably the way things will go. I got so fortunate with my retirement window.
LakeDrops has:
David Duymelinck has:
Drupal: exploring Canvas (part 1)
Drupal: Exploring Canvas (part 2)
Great stuff.
Dripyard announces:
Dripyard’s Drupal Canvas Webinar Recording Is Live
Also great stuff even if it’s on YouTube.
Specbee asks:
Drupal Paragraphs or Layout Builder? When to use what
MD Systems explores:
Performance improvements in Drupal 11.3 and Paragraphs
HashBangCode has:
Drupal 11: Controlling LED Lights Using A REST Service
Interesting and festive. :)
WebWash looks at:
Getting Started with Search API in Drupal
ComputerMinds says:
Everybody wins with relevant alternatives in search results
Good stuff.
Lost Car Park continues its Advent calendar:
Advent Calendar day 16 – Drupal CMS now and beyond
Advent Calendar day 18 – That’s Not a Theme, It’s a Template
Advent Calendar day 20 – Using Storybook To Preview Single Directory Components
Very interesting.
Advent Calendar day 21 – Recipes: It’s About Time!
Advent Calendar day 22 – So, I heard we won’t need junior devs now we have generative AI?
Advent Calendar day 23 – No more steep learning curve!
Advent Calendar day 24 – Listening Like a Dungeon Guide
PHP
The past two weeks
Roberto Butti has:
How to use local packages in Composer: a guide for PHP developers
Why you should always check licenses in your PHP project
Laravel News reports:
Colority Is a PHP Library for Parsing and Analyzing Colors
Ash Allen Design explores:
Formatting PHP Code with PHP CS Fixer
David Duymelinck has:
PHP fun: Signing C2PA with Let’s Encrypt
Kévin Dunglas announces:
Merry Christmas! FrankenPHP 1.11: Hot Reload, Structured Logging, and More Speed
Dariusz Gafka examines:
Implementing Event-Driven Architecture in PHP
More Programming
MIT Technology Review reports:
AI coding is now everywhere. But not everyone is convinced.
The Register reports:
AI-authored code contains worse bugs than software crafted by humans
Elena Rossini continues a series:
A newbie’s guide to self-hosting with YunoHost. Part 2: installation & setup
I will be moving my sites to European hosting. Currently, I am looking at Uber Host, 1984 Hosting, and YunoHost. If you have any input please let me know via the Fediverse.
Elena inspired me to buy a book on self-hosting. 😁
The Register reports:
New React vulns leak secrets, invite DoS attacks
Don’t worry, on TPF we will keep covering how much React sucks.
Bleeping Computer reports:
Malicious VSCode Marketplace extensions hid trojan in fake PNG file
Ditto for VS Code and GitHub.
Servo shares:
November in Servo: monthly releases, context menus, parallel CSS parsing, and more!
That HTML Blog says:
The Web Platform is a Triumph of Object-Oriented Programming
Yep.
HTMHell continues its Advent Calendar:
The many lives of the page title
Styling by Language: Using the lang Attribute for Multilingual Design
Freelock asks:
Can You Adjust the Spacing? Text Flexibility
Can You Click What You See? Label in Name
CSS Tricks has:
Responsive List of Avatars Using Modern CSS (Part 1)
Responsive List of Avatars Using Modern CSS (Part 2)
Masonry Layout is Now grid-lanes
WebKit has:
::target-text: An easy way to style text fragments
Fighting for Democracy
Please visit Symfony Stations Support Ukraine page to learn how you can help kick Russia out of Ukraine (eventually, like ending apartheid in South Africa).
The cyber response to Russia’s War Crimes, Techno Feudalism, and other douchebaggery
TechPolicy shares:
Making the Digital Markets Act Developer-Friendly
The Guardian reports:
This is Europe’s secret weapon against Trump: it could burst his AI bubble
The Evil Empire Strikes Back
Krebs on Security reports:
Dismantling Defenses: Trump 2.0 Cyber Year in Review
Cory Doctorow says:
America’s collapsing consumption is the world’s disenshittification opportunity
Cybersecurity and Privacy
BleepingComputer reports:
Microsoft 365 accounts targeted in wave of OAuth phishing attacks
Framasoft asks:
Qui suis-je et quelle est mon identité ?
Fediverse
The Social Web Foundation explores:
Implementing Encrypted Messaging over ActivityPub
Literally, awesome.
DeadSuperHerson says:
Ghost’s ActivityPub Integration Feels Half-Baked
I feel the same way. And it’s why I am running a backup of The Programmer’s Fulcrum on WordPress to keep Ghost honest. We’ll see where TPF ends up in 2027.
CTAs (aka show us some free love)
- That’s it for this week. Please share this communiqué.
- Follow us on Flipboard or at @symfonystation@drupal.community on Mastodon for daily coverage.
More importantly, if you are a Ukrainian company with coding-related products, we can offer free promotion on our Support Ukraine page. Or, if you know of one, get in touch.
You can find a vast array of curated evergreen content on our communiqués page.