symfony-cmf/routing
Extends the Symfony routing component for dynamic routes and chaining several routers
3.0.5
53M downloads/mo
#1079 most downloaded on Packagist
symfony-cmf/Routing
What this package is like to depend on
Last release 8 months ago
03 Dec 2025
Release timing varies
gaps range from 2 weeks to 1.6 years
Most releases are documented
notes for 20 of 26 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
51 releases · first in 2012
1 release in the last 12 months
see the full history below
Release timeline
51 releases · Jun 2012 to Dec 2025Releases
latest 51-
3.0.503 Dec 2025 -
3.0.402 Dec 2024 -
3.0.319 Feb 2024Release notes
Open source →- Fix regression: Any kind of iterable can be used with the ContentAwareGenerator
Release notes
Open source →- Fix regression: Any kind of iterable can be used with the ContentAwareGenerator
-
3.0.217 Feb 2024 -
3.0.104 Jul 2022 -
3.0.007 Feb 2022Release notes
Open source →- [BC Break] Removed deprecated VersatileRouterInterface::supports, as only string route names are
allowed since Symfony 6. - [BC Break] As with Symfony itself, the route name now must be a
string. As noted in
the changes for CMF Routing 2.3, to generate a route from an object is to use
RouteObjectInterface::OBJECT_BASED_ROUTE_NAME(cmf_routing_object) as
route name and pass the route object in the parameters with key
RouteObjectInterface::ROUTE_OBJECT(_route_object). - [BC Break] Added static type declarations to interfaces and classes.
- Revoked the deprecation on Router::match because Symfony keeps offering the match without request
object. - Support Symfony 6, dropped support for older Symfony versions.
Release notes
Open source →- [BC Break] Removed deprecated VersatileRouterInterface::supports, as only string route names are allowed since Symfony 6.
- [BC Break] As with Symfony itself, the route name now must be a
string. As noted in the changes for CMF Routing 2.3, to generate a route from an object is to useRouteObjectInterface::OBJECT_BASED_ROUTE_NAME(cmf_routing_object) as route name and pass the route object in the parameters with keyRouteObjectInterface::ROUTE_OBJECT(_route_object). - [BC Break] Added static type declarations to interfaces and classes.
- Revoked the deprecation on Router::match because Symfony keeps offering the match without request object.
- Support Symfony 6, dropped support for older Symfony versions.
- [BC Break] Removed deprecated VersatileRouterInterface::supports, as only string route names are
-
2.3.408 Nov 2021 -
2.3.306 Oct 2020Release notes
Open source →Allow installation with PHP 8.
(Note that many dependencies do not yet support PHP 8, this release is mainly useful to test PHP 8 support.)Release notes
Open source →- Allow installation with PHP 8. (Note that many dependencies do not yet support PHP 8, this release is mainly useful to test PHP 8 support.)
-
2.3.227 May 2020Release notes
Open source →- ProviderBasedGenerator no longer passes the route object in the parameters to the Symfony generator, to avoid bogus query strings e.g. from doctrine proxy objects.
Release notes
Open source →- ProviderBasedGenerator no longer passes the route object in the parameters to the Symfony generator, to avoid bogus query strings e.g. from doctrine proxy objects.
-
2.3.104 May 2020Release notes
Open source →- ProviderBasedGenerator now also supports the
RouteObjectInterface::OBJECT_BASED_ROUTE_NAME
andRouteObjectInterface::ROUTE_OBJECT.
Release notes
Open source →- ProviderBasedGenerator now also supports the
RouteObjectInterface::OBJECT_BASED_ROUTE_NAMEandRouteObjectInterface::ROUTE_OBJECT.
- ProviderBasedGenerator now also supports the
-
2.3.021 Apr 2020Release notes
Open source →- Dropped support for PHP 7.1 and Symfony 3.4 and 4.3.
- Added support for Symfony 5.
- Deprecated passing a route object (or anything else that is not a string) as
the
$nameparameter in thegeneratemethod of the ChainRouter and the DynamicRouter. Symfony 5 enforces the$nameparameter to be a string with static type declaration. The future proof way to generate a route from an object is to use the route nameRouteObjectInterface::OBJECT_BASED_ROUTE_NAME(cmf_routing_object) and pass the route object in the parameters with keyRouteObjectInterface::ROUTE_OBJECT(_route_object). - The VersatileGeneratorInterface::supports method is deprecated as it was used
to avoid errors with routers not supporting objects in
$name.
-
2.2.010 Dec 2019 -
2.1.110 Dec 2019 -
2.1.014 Jun 2018Release notes
Open source →- ChainRouter now returns a new RequestContext if none has been set, to be closer in behaviour to the Symfony router.
- Dropped hhvm support
-
2.1.0-RC101 May 2018 pre-releaseNothing published for this version
-
2.0.307 Dec 2017 -
2.0.227 Sep 2017Nothing published for this version
-
2.0.109 May 2017Nothing published for this version
-
2.0.024 Feb 2017 -
2.0.0-RC310 Feb 2017 pre-releaseRelease notes
Open source →- 2017-01-31: Split out enhancer code from DynamicRouter into RouteEnhancerTrait for reusability.
-
2.0.0-RC201 Feb 2017 pre-release -
2.0.0-RC105 Jan 2017 pre-release -
1.4.109 May 2017Nothing published for this version
-
1.4.031 Mar 2016Release notes
Open source →- 2016-02-27: Added ContentRepositoryEnhancer that can look up a content by ID from a content repository.
-
1.4.0-RC327 Feb 2016 pre-releaseNothing published for this version
-
1.4.0-RC221 Jan 2016 pre-releaseNothing published for this version
-
1.4.0-RC109 Jan 2016 pre-releaseRelease notes
Open source →- 2016-01-09: When ChainRouter::match is used with a RequestMatcher, the Request is now properly rebuilt from the RequestContext if that was set on the ChainRouter, and http://localhost is used otherwise to avoid issues with paths starting with a double forward slash.
- 2014-09-29: ChainRouter does not require a RouterInterface, as a RequestMatcher and UrlGenerator is fine too. Fixed chain router interface to not force a RouterInterface.
- 2014-09-29: Deprecated DynamicRouter::match in favor of matchRequest.
-
1.3.020 Oct 2014 -
1.3.0-RC403 Oct 2014 pre-releaseNothing published for this version
-
1.3.0-RC304 Sep 2014 pre-releaseNothing published for this version
-
1.3.0-RC226 Aug 2014 pre-releaseNothing published for this version
-
1.3.0-RC121 Aug 2014 pre-releaseRelease notes
Open source →- 2014-08-20: Added an interface for the ChainRouter
- 2014-06-06: Updated to PSR-4 autoloading
-
1.2.008 May 2014 -
1.2.0-RC107 Apr 2014 pre-releaseRelease notes
Open source →- 2013-12-23: add support for ChainRouter::getRouteCollection()
- 2013-01-07: Removed the deprecated $parameters argument in RouteProviderInterface::getRouteByName and getRoutesByNames.
-
1.1.014 Oct 2013 -
1.1.0-beta215 Jul 2013 pre-releaseNothing published for this version
-
1.1.0-beta103 Jun 2013 pre-releaseNothing published for this version
-
1.1.0-alpha228 May 2013 pre-releaseNothing published for this version
-
1.1.0-alpha107 May 2013 pre-releaseRelease notes
Open source →- 2013-04-30: Dropped Symfony 2.1 support and got rid of ConfigurableUrlMatcher class
- 2013-04-05: [ContentAwareGenerator] Fix locale handling to always respect locale but never have unnecessary ?locale=
-
1.1.0-RC430 Sep 2013 pre-releaseNothing published for this version
-
1.1.0-RC303 Sep 2013 pre-releaseNothing published for this version
-
1.1.0-RC205 Aug 2013 pre-releaseNothing published for this version
-
1.1.0-RC131 Jul 2013 pre-releaseRelease notes
Open source →- 2013-07-31: DynamicRouter now accepts an EventDispatcher to trigger a RouteMatchEvent right before the matching starts
- 2013-07-29: Renamed RouteAwareInterface to RouteReferrersReadInterface for naming consistency and added RouteReferrersInterface for write access.
- 2013-07-13: NestedMatcher now expects a FinalMatcherInterface as second argument of the constructor
-
1.0.204 Jul 2013Nothing published for this version
-
1.0.130 Apr 2013Nothing published for this version
-
1.0.025 Mar 2013Nothing published for this version
-
1.0.0-beta118 Mar 2013 pre-releaseNothing published for this version
-
1.0.0-alpha421 Jan 2013 pre-releaseNothing published for this version
-
1.0.0-alpha316 Dec 2012 pre-releaseNothing published for this version
-
1.0.0-alpha203 Dec 2012 pre-releaseNothing published for this version
-
1.0.0-alpha104 Jun 2012 pre-releaseNothing published for this version