angular/packages/router
Andrew Scott 579440170b fix(router): make currentSnapshot required in CanMatchFn (#67452)
it was only optional to avoid a breaking change in a minor

BREAKING CHANGE: The `currentSnapshot` parameter in `CanMatchFn` and the `canMatch` method of the `CanMatch` interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of `CanMatch` must now include the third argument to satisfy the interface.

PR Close #67452
2026-04-02 12:53:57 -07:00
..
docs feat(router): add controls for route cleanup 2026-01-05 14:43:56 -05:00
scripts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
src fix(router): make currentSnapshot required in CanMatchFn (#67452) 2026-04-02 12:53:57 -07:00
test fix(router): pass outlet context to split to fix empty path named outlets 2026-04-01 11:48:42 +02:00
testing refactor: prepare for required changeDetection prop on G3. 2026-03-20 15:52:38 -07:00
upgrade build: format md files 2025-11-06 10:03:05 -08:00
.gitignore refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
BUILD.bazel build: Add dom-navigation types to router (#64905) 2025-11-06 17:42:04 +00:00
index.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
package.json build: update minimum supported Node.js versions 2026-02-25 07:57:18 -08:00
PACKAGE.md build: format md files 2025-11-06 10:03:05 -08:00
public_api.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
README.md build: format md files 2025-11-06 10:03:05 -08:00
tsconfig.json build: Add dom-navigation types to router (#64905) 2025-11-06 17:42:04 +00:00

Angular Router

Managing state transitions is one of the hardest parts of building applications. This is especially true on the web, where you also need to ensure that the state is reflected in the URL. In addition, we often want to split applications into multiple bundles and load them on demand. Doing this transparently isnt trivial.

The Angular router is designed to solve these problems. Using the router, you can declaratively specify application state, manage state transitions while taking care of the URL, and load components on demand.

Guide

Read the dev guide here.