Skip to content

0.3.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@LayZeeDK LayZeeDK released this 19 Dec 09:31
· 75 commits to main since this release
101c16f

Features

  • Add factory for selecting specific route data: RouterStore#selectRouteData
  • Add route title to MinimalActivatedRouteSnapshot#title
  • Add route title selector: RouterStore#title$
  • Add type MinimalRouteData for serializable route data

BREAKING CHANGES

Remove symbol keys from Route data

To keep route data serializable, we have removed support for the Angular Router's Data type's symbol index in MinimalActivatedRouteSnapshot#data. In particular, this is done to remove the Symbol(RouteTitle) entry added by the Angular Router for internal use. Use our MinimalRouteData type instead of Data from @angular/router for route data.

Provider factories return provider arrays

The provideGlobalRouterStore and provideLocalRouterStore functions now return an array of providers (Provider[]) instead of a single provider (Provider). No changes required in your providers metadata, for example the following usage remains the same.

@Component({
  // (...)
  providers: [provideLocalRouterStore()],
})
// (...)

Compatibility

To support the stricter route title type introduced by the Angular Router, we now require at least the following peer dependencies.

  • Require Angular 15.0
  • Require @ngrx/component-store 15.0
  • Require RxJS 7.4
  • Require TypeScript 4.8

We have dropped TypeScript constructor parameter properties for ECMAScript compatibility, namely the useDefineForClassFields TypeScript compiler option is true (the default when targeting ES2022 or higher).

We have dropped TypeScript constructor parameter decorators for ECMAScript decorators compatibility.