Change record status: 
Project: 
Introduced in branch: 
8.3.x
Introduced in version: 
8.3.0
Description: 

#2810303: Reunite the router: One router to rule them all merges a bunch of the existing internal classes into one router class:

Before

AccessAwareRouter
ChainRouter
NestedRouter
DynamicRouter
FinalMatcher

After

AccessAwareRouter
\Drupal\Core\Routing\Router

Services which interact with the router directly, should continue to use the router service or the router.no_access_checks one directly. Existing Route Filters or Route Enhancers should be unaffected.

Individual sites that may have been leveraging the ChainRouter for site-specific optimizations will need to modify the container to restore the original services (the code is still available), or simply omit such optimizations as they are likely of limited use in practice.

The following services have been deprecated and are now unused in Drupal:

router.dynamic
router.matcher
router.matcher.final_matcher

If you previously have swapped out one of those you should now swap out router.no_access_checks with a compatible class.

Impacts: 
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done