1.0.0-beta.2 (2016-06-24)
1.0.0-beta.1 (2016-05-19)
- Guard: Guards correctly cancel the in-flight navigation (8cdc425)
1.0.0-beta.0 (2016-05-13)
- deps: Specify semver range for Angular 2 release candidates (6b640c9)
- Sourcemaps: Fix warnings from sourcemaps (e7dbc46), closes #97
- routes: Rename
indexRoute
andloadIndexRoute
(#93) (48dc195) - Use @ngrx/core package for common utilities (#100) (10cc353)
- redirects: Support relative redirects for deeply nested config (3521b56)
- RouteInstruction: Decouple Router from RouteInstruction (#99) (ede340d)
-
You will now have to install @ngrx/core in addition to @ngrx/router
-
routes:
indexRoute
is nowindex
andloadIndexRoute
is nowloadIndex
BEFORE:
const routes: Routes = [ { path: '/', component: MarketingTemplateComponent, indexRoute: { component: HomePageComponent, } }, { path: '/blog', component: BlogComponent, loadIndexRoute: () => System.import('app/routes/blog') } ];
AFTER:
const routes: Routes = [ { path: '/', component: MarketingTemplateComponent, index: { component: HomePageComponent } }, { path: '/blog', component: BlogComponent, loadIndex: () => System.import('app/routes/blog') } ];
0.4.0 (2016-05-03)
- imports: Adjust imports for the new world (2d51638)
- LinkActive: Fix active link for base url when using hash (#74) (12961d4), closes #74
- RouterInstruction: Pass the subscriber back through NgZone (#70) (894b088)
- RouteView: Add route view directive export (#75) (dc38682)
- Guards: Improve guards API based on common usage (#62) (1ea2806)
- Guards: Re-implement guards feature to use services (#81) (145b671)
- RouteTraverser: Expand traverser to also track query params and location changes (#85) (a373b92)
- LinkActive: Added default class when link is active (#72) (e6a2920), closes #71
- RouteInterface: Add options key to route interface used to store arbitrary metadata (#69) (900822e), closes #68
-
RouteTraverser: TraversalCandidate interface has renamed
params
torouteParams
and now includes queryParams and locationChange.Before:
const { params, isTerminal, route } = traversalCandidate;
After:
const { routeParams, queryParams, isTerminal, route, locationChange } = traversalCandidate;
-
Guards: Before:
const auth = provideGuard(function(http: Http) { return function(route: Route, params: any, isTerminal: boolean): Observable<boolean> { return http.get('/auth') .map(() => true) .catch(() => Observable.of(false)); }; }, [ Http ]);
After:
@Injectable() export class AuthGuard implements Guard { constructor(private http: Http) { } protectRoute({ route, params, isTerminal }: TraversalCandidate): Observable<boolean> { return this.http.get('/auth') .map(() => true) .catch(() => Observable.of(false)); } }
-
Guards: Before:
const auth = createGuard(function(http: Http) { return function(route: Route, params: any, isTerminal: boolean) { return http.get(...); }; }, [ Http ]);
After:
const auth = provideGuard(function(http: Http) { return function(params: any, route: Route, isTerminal: boolean) { return http.get(...); }; }, [ Http ]);
0.2.4 (2016-04-22)
0.2.3 (2016-04-19)
- linkTo: Remove trailing slashes from the linkTo path (#59) (c048a51)
- UndefinedRoutes: Route view correctly ignores undefined routes (#60) (1cdb67a)
0.2.2 (2016-04-14)
- guards: Redirect in a guard on page load correctly causes location update (b99e6fa)
0.2.1 (2016-04-14)
0.2.0 (2016-04-14)
- core: Updated core API for naming consistency (#53) (d879a90)
- location: Renamed Location service to Router (#56) (5b14ef9)
- NamedComponents: Add ability to configure named components (df895cf), closes #6
- patternMatching: Switch to path-to-regexp for pattern matching (#57) (4176112)
- location: Renamed
Location
service toRouter
and renamedreplaceState
method toreplace
Before:
import { Location } from '@ngrx/router';
class App {
constructor(location: Location) {
location.replaceState('/path', { query: 1 });
}
}
After:
import { Router } from '@ngrx/router';
class App {
constructor(router: Router) {
router.replace('/path', { query: 1 });
}
}
-
core: Renamed
NextRoute
interface andRouteSet
service toNextInstruction
andRouterInstruction
respectively.Before:
import { NextRoute, RouteSet } from '@ngrx/router';
After:
import { NextInstruction, RouterInstruction } from '@ngrx/router';
-
core: Changed
NextInstruction
interface to include fullLocationChange
instead of just the path. Renamedroutes
torouteConfigs
,params
torouteParams
, andquery
toqueryParams
Before:
interface NextRoute { routes: Routes; query: any; params: any; url: string }
After:
interface NextInstruction { routeConfigs: Routes; queryParams: any; routeParams: any; locationChange: LocationChange; }
0.1.1 (2016-04-06)
- Providers: Include ResourceLoader providers (a12fa6b)
- AsyncConfig: Refactor route config to use promises instead of callbacks (f057d55)
- Params: Simplify params services by removing select method (af160d7)
-
AsyncConfig: Before loadComponent, loadChildren, and loadIndexRoute used a callback to handle async loading
of code. These must be replaced with promise-returning functions.
Before:
{ loadIndex(done) { System.import('./my-index-route', __moduleName) .then(module => done(module.indexRoute)); }, loadComponent(done) { System.import('./my-component', __moduleName) .then(module => done(module.MyComponent)); }, loadChildren(done) { System.import('./child-routes', __moduleName) .then(module => done(module.routes)); } }
After:
{ loadIndex: () => System.import('./my-index-route', __moduleName) .then(module => module.indexRoute), loadComponent: () => System.import('./my-component', __moduleName) .then(module => module.MyComponent), loadChildren: () => System.import('./child-routes', __moduleName) .then(module => module.routes) }
-
Params: select method removed from QueryParams and RouteParams. Use pluck instead:
BEFORE:
routeParams.select('id').subscribe(id => {});
AFTER:
routeParams.pluck('id').subscribe(id => {});
0.0.7 (2016-04-04)
- Loader: Use promises to wrap callbacks because zones :( (ccb44b5)
0.0.6 (2016-04-04)
0.0.5 (2016-04-04)
- Guards: Passing guards no longer remove terminal status (14d0d46)
0.0.4 (2016-04-04)
- MatchRoute: Give favor to the order in which routes are defined (f37a394)
0.0.3 (2016-04-04)
- Guard: Updated guard to use new traversal middleware API (a5bc802)
- Guards: Schedule guard results to allow for guards to cancel traversal (4792acc)
- LinkActive: Added linkActive directive to platform directives (63f3831)
- LinkTo: Updated spec to use MockLocationStrategy (e6017cc)
- MatchRoute: Correct spelling mistake on route traversal error (984fbf2)
- MatchRoute: Don't import unnecessary every operator (3222169)
- MatchRoute: Export TraversalCandidate as part of public API (0ecf695)
- directives: Added linkActive directive (7750329)
- MatchRoute: Moved traversal middleware opportunity to after a route is matched (5144caa)
0.0.2 (2016-04-01)
0.0.1 (2016-04-01)
- build: Copy LICENSE to release (582c43f)
- Gaurds: Handle empty guard arrays (68100a2)
- Guards: Use merge/every instead of forkJoin (c899754)
- Guide: Fix formatting on guide index (0ad086b)
- Location: Cleaned up Location service (1d0ab8a)
- MatchRoute: updated RouteTraverser to inject routes (09feccc)
- MatchRoute: Updated unit tests to match new API (687eda8)
- sourcemaps: Render the sourcemaps inline so they can be published easily (6ff5a95)
- test: Added sourcemaps to karma (9f11ea5)
- testing: Updated webpack config for tests (00efe4c)
- tests: Include tests in tsconfig.json (29aaf26)
- build: Added initial build setup (1ef9199), closes #1
- ComponentRenderer: Added unit tests for component renderer service (10c31cc)
- ComponentRenderer: Split render middleware into pre/post render middleware (59b7ad9)
- directives: Added linkTo directive (7703ba2)
- Guards: Added unit tests for guard middleware (0364168)
- LinkTo: Added unit tests for LinkTo directive (529879f)
- Location: Added unit tests for location service (09ba1e6)
- Location: Updated location to be a ReplaySubject instead of BehaviorSubject (41dc49b)
- Middleware: Added small test for middleware helpers (0689555)
- QueryParams: Added new QueryParams service (075845b)
- Redirect: Added tests for redirection middleware (0c526ee)
- RouteParams: Added unit tests for RouteParams service (4074a40)
- RouteSet: Added unit tests for route set (f7421bc)
- RouteSet: Refactored route set to expose query params (0f9c40d)
- RouteView: Added unit tests for route view (09700ee)
- test: Added initial setup for testing (aba3689), closes #2
- Util: Added unit tests for utilities (58b627c)