Symfony 3.3

3.3 released 29 May 2017, latest 3.3.18.

Symfony 3.3 reached end of life on 1 July 2018.

What changed

Symfony 3.3 expanded the framework’s modern service-configuration model. It added more capable autowiring and autoconfiguration defaults, including conventions for discovering and registering services from PSR-4 namespaces, reducing manual service definitions in typical applications. The cycle also introduced the Workflow component for modelling state machines and multi-stage processes, and continued the move toward configuration and dependency-injection patterns used by later Symfony releases. Symfony Flex became available alongside this generation as an alternative project-management and recipe mechanism, although adopting Flex was not required to run Symfony 3.3.

What staying costs

Symfony 3.3 has reached end of life, so upstream no longer supplies fixes for defects or security issues in this line. Remaining on it leaves the application responsible for assessing and mitigating framework-level vulnerabilities, while dependency upgrades become harder as packages raise their Symfony and PHP requirements. Teams can also accumulate migration cost: deprecated APIs, legacy service configuration, and older application structure must eventually be translated before moving to a supported Symfony release. Compatibility testing becomes especially important when the application must run on newer PHP versions, operating systems, web servers, or third-party libraries.

What to do

Start by inventorying the application’s Symfony packages, PHP version, Composer constraints, bundles, custom service definitions, and deprecation output. Upgrade within the Symfony 3.x path to the latest 3.4 release first, resolve its deprecations, and establish automated unit, integration, and browser-level regression tests before making major-version changes. Then plan a staged move to a currently supported Symfony target, updating PHP and third-party dependencies as required and replacing removed or deprecated framework APIs and configuration. Review whether the application should adopt Flex recipes and the newer project structure during the migration, but keep those structural changes separable from functional changes where possible. Validate authentication, routing, forms, console commands, caches, queues, and deployment behavior in a production-like environment before cutover.

We can tell you what moving off Symfony 3.3 involves.

What it takes to move off Symfony 3.3 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.

Not sure yet? Get my plan