Updated: Comment #55
hook_menu() is still responsible for contextual links, so we can't remove the old menu router.
In addition the system for finding contextual links is based on a confusing combination of path hierarchy and hook_menu() type constants.
A totally new mechanism for finding contextual links is added using plugins that are very similar to those used for local tasks.
The plugin type which is discovered using YAML files and use routes to render the contextual links.
AJAX is still used to fetch all the rendered contextual links for a page. A minor change is made to the format of the contextual links ID that's rendered in the HTML so that we have named parameters compatible with route variables.
Follow-ups to convert remaining contextual links and update Views to use the new system (possible via plugin derivatives).
User interface changes
Define contextual links via grouped plugins (discovered via YAML) instead of via hook_menu.
see change notice: https://drupal.org/node/2165243
PASSED: [[SimpleTest]]: [MySQL] 60,022 pass(es).
FAILED: [[SimpleTest]]: [MySQL] 60,096 pass(es), 2 fail(s), and 0 exception(s).
FAILED: [[SimpleTest]]: [MySQL] 60,100 pass(es), 18 fail(s), and 110 exception(s).