Symfony 8, a high-performance PHP framework and a set of components.

3 min read Original article ↗

Symfony 8 is here

Engineered for productivity Released in November 2025

  • 2 years of development
  • +615 diverse contributors
  • +7,300 commits
  • Requires PHP 8.4 or higher

Multi-Step Forms

Break complex Symfony forms into guided steps with per-step validation and conditional branching so users only see relevant fields. Based on the same form features and ideas you already know.

Read more

New PHP Configuration

Symfony 8 drops XML and fluent PHP config in favor of PHP array shapes. A compact and expressive format with autocomplete and type validation. Not ready for it yet? You can use YAML too.

Read more

Smaller

Symfony 8 source code removes all 7.4 deprecations, trimming 13,202 lines and keeping the codebase lean.

New Attributes

Configure services, check CSRF tokens, map request params and more with native PHP attributes.

View all attributes

More Constraints

Validate charsets, MAC addresses, ISO week numbers, word counts, YAML, slugs, Twig syntax, and video files with built-in constraints.

View all constraints

Invokable Commands and Input Attributes

Write commands as invokable classes. Skip the boilerplate class extending. Use PHP attributes for arguments, options, and interactive prompts. Less code, better autocomplete.

Read More

Better exceptions

Terminal exceptions render as plain text with readable stack traces you can scan and copy without HTML noise.

Read more

Security Explained

Security voters can now explain their decisions. Debug authorization issues directly in the profiler or logs instead of guessing.

Read more

Compress Assets

Pre-compress assets with Zstandard, Brotli, or Gzip at build time and serve the smallest variant without runtime CPU cost.

Read more

Twig Extension Attributes

Define Twig functions and filters with attributes. No base class extending.
Lazy-loaded by default for better performance.

Read more

New  components

  • TypeInfo: extracts PHP type information from properties/methods/functions.
  • JsonPath: query and extract data from JSON using expressions.
  • ObjectMapper: avoid repetitive mapping code between objects.
  • JsonStreamer: a high-performance, low-memory JSON encoder/decoder.

Stateless CSRF

CSRF protection without sessions. Works with HTTP caching, perfect for stateless APIs and cached pages.

Read more

Better Routing

Define explicit mappings between route params and controller arguments for more precise conversion.

Read more

Single-File Apps

Build entire apps in a single file. Perfect for workers, CLI tools, microservices, and simple APIs. All the power, zero scaffolding.

Read more

Signed Messages

Add cryptographically secure signatures to Messenger payloads. Tamper-proof message queues out of the box.

Read more

Documentation

Read the Symfony 8.0 docs for details on new features and the main changes.

Notes:

  • Development and performance stats are calculated comparing Symfony 7.0 to Symfony 7.4.
  • Highlighted features were introduced in different Symfony 7.x versions and show the differences between Symfony 7.0 and Symfony 8.0.
  • Icons from the Tabler Project / MIT Licensed