The Symfony Stable API
Edit this pageWarning: You are browsing the documentation for Symfony 2.4, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
The Symfony Stable API
The Symfony stable API is a subset of all Symfony published public methods (components and core bundles) that share the following properties:
- The namespace and class name won't change;
- The method name won't change;
- The method signature (arguments and return value type) won't change;
- The semantic of what the method does won't change.
The implementation itself can change though. The only valid case for a change in the stable API is in order to fix a security issue.
The stable API is based on a whitelist, tagged with `@api`. Therefore, everything not tagged explicitly is not part of the stable API.
Tip
Read more about the stable API in Our backwards Compatibility Promise.
Tip
Any third party bundle should also publish its own stable API.
As of the latest stable release of Symfony, the following components have a public tagged API:
- BrowserKit
- ClassLoader
- Console
- CssSelector
- DependencyInjection
- DomCrawler
- EventDispatcher
- Filesystem
- Finder
- HttpFoundation
- HttpKernel
- Process
- Routing
- Templating
- Translation
- Validator
- Yaml