Skip to content

Latest commit

 

History

History
405 lines (278 loc) · 30 KB

CHANGELOG.md

File metadata and controls

405 lines (278 loc) · 30 KB

6.0.0-beta.1 (2018-04-02)

Bug Fixes

  • Declare global NgRx packages for UMD bundles (ba2139d)

6.0.0-beta.0 (2018-03-31)

Bug Fixes

  • Add support for Angular 6 and RxJS 6 (d1286d2)
  • Entity: Change EntityAdapter upsertOne/upsertMany to accept an entity (a0f45ff)
  • RouterStore: Allow strict mode with router reducer (#903) (f17a032), closes #903
  • RouterStore: change the default serializer to work around cycles in RouterStateSnapshot (7917a27)
  • RouterStore: Replace RouterStateSnapshot with SerializedRouterStateSnapshot (bd415a1)
  • StoreDevtools: pass timestamp to actions (df2411f)
  • StoreDevtools: report errors to ErrorHandler instead of console (32df3f0)

Features

BREAKING CHANGES

StoreDevtools:

Errors in reducers are no longer hidden from ErrorHandler by StoreDevtools

BEFORE:

Errors in reducers are caught by StoreDevtools and logged to the console

AFTER:

Errors in reducers are reported to ErrorHandler

Schematics

NgRx Schematics now has a minimum version dependency on @angular-devkit/core and @angular-devkit/schematics of v0.4.0.

Router Store

Default router state is serialized to a shape that removes cycles

BEFORE:

Full RouterStateSnapshot is returned

AFTER:

Router state snapshot is returned as a SerializedRouterStateSnapshot with cyclical dependencies removed

Entity

The signature of the upsertOne/upsertMany functions in the EntityAdapter has been changed to accept a fully qualified entity instead of an update object that implements the Update interface.

Before:

entityAdapter.upsertOne(
  {
    id: 'Entity ID',
    changes: { id: 'Entity ID', name: 'Entity Name' },
  },
  state
);

After:

entityAdapter.upsertOne(
  {
    id: 'Entity ID',
    name: 'Entity Name',
  },
  state
);

NgRx

NgRx now has a minimum version requirement on Angular 6 and RxJS 6.

5.2.0 (2018-03-07)

Bug Fixes

  • Schematics: Correct usage of upsert actions for entity blueprint (#821) (1ffb5a9), closes #821
  • Store: only default to initialValue when store value is undefined (#886) (51a1547), closes #886
  • StoreDevtools: Fix bug when exporting/importing state history (#855) (a5dcdb1), closes #855
  • StoreDevtools: Recompute state history when reducers are updated (#844) (10debcc), closes #844

Features

  • Entity: Add 'selectId' and 'sortComparer' to state adapter (#889) (69a62f2), closes #889
  • Store: Added feature name to Update Reducers action (730361e)

5.1.0 (2018-02-13)

Bug Fixes

  • Devtools: Ensure Store is loaded eagerly (#801) (ecf1ebf), closes #801 #624 #741
  • Effects: Make ofType operator strictFunctionTypes safe (#789) (c8560e4), closes #789 #753
  • Entity: Avoid for..in iteration in sorted state adapter (#805) (4192645), closes #805
  • Entity: Do not add Array.prototype properties to store (#782) (d537758), closes #782 #781
  • Entity: Properly iterate over array in upsert (#802) (779d689), closes #802
  • Schematics: Add store import to container blueprint (#763) (a140fa9), closes #763 #760
  • Schematics: Remove extra braces from constructor for container blueprint (#791) (945bf40), closes #791 #778
  • Schematics: Use correct paths for nested and grouped feature blueprint (#756) (c219770), closes #756
  • StoreDevtools: Add internal support for ActionSanitizer and StateSanitizer (#795) (a7de2a6), closes #795
  • StoreDevtools: Do not send full liftedState for application actions (#790) (c11504f), closes #790

Features

  • Entity: Add upsertOne and upsertMany functions to entity adapters (#780) (f871540), closes #780 #421
  • Schematics: Add group option to entity blueprint (#792) (0429276), closes #792 #779
  • Schematics: Add upsert methods to entity blueprint (#809) (7acdc79), closes #809 #592

5.0.1 (2018-01-25)

Bug Fixes

  • Effects: Provide instance from actions to ofType lettable operator (#751) (33d48e7), closes #751 #739

5.0.0 (2018-01-22)

Bug Fixes

  • Effects: Ensure Store modules are loaded eagerly (#658) (0a3398d), closes #658 #642
  • Effects: Remove toPayload utility function (#738) (b390ef5), closes #738
  • Entity: updateOne/updateMany should not change ids state on existing entity (#581) (b989e4b), closes #581 #571
  • RouterStore: Fix usage of config object if provided (#575) (4125914), closes #575
  • RouterStore: Match RouterAction type parameters (#562) (980a653), closes #562
  • Schematics: Add group folder after feature name folder (#737) (317fb94), closes #737
  • Schematics: Add handling of flat option to entity blueprint (fb8d2c6)
  • Schematics: Distinguish between root and feature effect arrays when registering (#718) (95ff6c8), closes #718
  • Schematics: Don't add state import if not provided (#697) (e5c2aed), closes #697
  • Schematics: Make variable naming consistent for entity blueprint (#716) (765b15a), closes #716
  • Store: Compose provided metareducers for a feature reducer (#704) (1454620), closes #704 #701
  • StoreDevtools: Only recompute current state when reducers are updated (#570) (247ae1a), closes #570 #229 #487
  • typo: update login error to use correct css font color property (41723fc)

Features

  • Effects: Add lettable ofType operator (d5e1814)
  • ErrorHandler: Use the Angular ErrorHandler for reporting errors (#667) (8f297d1), closes #667 #626
  • material: Upgrade @angular/material to v 2.0.0-beta.12 (#482) (aedf20e), closes #482 #448
  • Schematics: Add alias for container, store and action blueprints (#685) (dc64ac9), closes #685
  • Schematics: Add alias for reducer blueprint (#684) (ea98fb7), closes #684
  • Schematics: Add effect to registered effects array (#717) (f1082fe), closes #717
  • Schematics: Add option to group feature blueprints in respective folders (#736) (b82c35d), closes #736
  • Schematics: Introduce @ngrx/schematics (#631) (1837dba), closes #631 #53
  • Store: Add lettable select operator (77eed24)
  • Store: Add support for generating custom createSelector functions (#734) (cb0d185), closes #734 #478 #724
  • StoreDevtools: Add option to configure extension in log-only mode (#712) (1ecd658), closes #712 #643 #374
  • StoreDevtools: Add support for custom instance name (#517) (00be3d1), closes #517 #463
  • StoreDevtools: Add support for extension sanitizers (#544) (6ed92b0), closes #544 #494
  • StoreDevtools: Add support for jumping to a specific action (#703) (b9f6442), closes #703 #681

BREAKING CHANGES

  • Effects: The utility function toPayload, deprecated in @ngrx/effects v4.0, has been removed.

    Before:

    import { toPayload } from '@ngrx/effects';
    
    actions$.ofType('SOME_ACTION').map(toPayload);

    After:

    actions$
      .ofType('SOME_ACTION')
      .map((action: SomeActionWithPayload) => action.payload);
  • ErrorHandler: The ErrorReporter has been replaced with ErrorHandler from angular/core.

BEFORE:

Errors were reported to the ngrx/effects ErrorReporter. The ErrorReporter would log to the console by default.

AFTER:

Errors are now reported to the @angular/core ErrorHandler.

  • Store: Updates minimum version of RxJS dependency.

BEFORE:

Minimum peer dependency of RxJS ^5.0.0

AFTER:

Minimum peer dependency of RxJS ^5.5.0

  • Effects: Updates minimum version of RxJS dependency.

BEFORE:

Minimum peer dependency of RxJS ^5.0.0

AFTER:

Minimum peer dependency of RxJS ^5.5.0

4.1.1 (2017-11-07)

Bug Fixes

  • Entity: Fix type error for id selectors (#533) (88f672c), closes #533 #525
  • Add support for Angular 5 (30a8c56)

Features

  • Codegen: Add base code and build for @ngrx/codegen (#534) (2a22211), closes #534
  • RouterStore: Add configurable option for router reducer name (#417) (ab7de5c), closes #417 #410

4.1.0 (2017-10-19)

Bug Fixes

  • Build: Fix build with space in path (#331) (257fc9d), closes #331
  • combineSelectors: Remove default parameter from function signature for Closure (ae7d5e1)
  • decorator: add ExportDecoratedItems jsdoc for g3 (#456) (2b0e0cf), closes #456
  • Effects: Simplify decorator handling for Closure compatibility (ad30d40)
  • Entity: Change type for EntityState to interface (#454) (d5640ec), closes #454 #458
  • Example: Add missing import for catch operator (#409) (193e8b3), closes #409
  • RouterStore: Fix cancelled navigation with async guard (fixes #354) (#355) (920c0ba), closes #354 #355 #354 #201
  • RouterStore: Stringify error from navigation error event (#357) (0528d2d), closes #357 #356
  • Store: Fix typing for feature to accept InjectionToken (#375) (38b2f95), closes #375
  • Store: Refactor parameter initialization in combineReducers for Closure (5c60cba)
  • Store: Set initial value for state action pair to object (#480) (100a8ef), closes #480 #477

Features

  • createSelector: Expose projector function on selectors to improve testability (56cb21f), closes #290
  • Effects: Add getEffectsMetadata() helper for verifying metadata (628b865), closes #491
  • Effects: Add root effects init action (#473) (838ba17), closes #473 #246
  • Entity: Add default selectId function for EntityAdapter (#405) (2afb792), closes #405
  • Entity: Add support for string or number type for ID (#441) (46d6f2f), closes #441
  • Entity: Enable creating entity selectors without composing a state selector (#490) (aae4064), closes #490
  • Entity: Rename 'sort' to 'sortComparer' (274554b), closes #370
  • Store: createSelector with an array of selectors (#340) (2f6a035), closes #340 #192

4.0.5 (2017-08-18)

Bug Fixes

  • Effects: Do not complete effects if one source errors or completes (#297) (54747cf), closes #297 #232
  • Entity: Return a referentially equal state if state did not change (fbd6a66)
  • Entity: Simplify target index finder for sorted entities (335d255)

4.0.4 (2017-08-17)

Bug Fixes

  • Effects: Use factory provide for console (#288) (bf7f70c), closes #288 #276
  • RouterStore: Add generic type to RouterReducerState (#292) (6da3ec5), closes #292 #289
  • RouterStore: Only serialize snapshot in preactivation hook (#287) (bbb7c99), closes #287 #286

4.0.3 (2017-08-16)

Bug Fixes

  • Effects: Deprecate toPayload utility function (#266) (1cbb2c9), closes #266
  • Effects: Ensure StoreModule is loaded before effects (#230) (065d33e), closes #230 #184 #219
  • Effects: Export EffectsNotification interface (#231) (2b1a076), closes #231
  • Store: Add type signature for metareducer (#270) (57633d2), closes #270 #264 #170
  • Store: Set initial state for feature modules (#235) (4aec80c), closes #235 #206 #233
  • Store: Update usage of compose for reducer factory (#252) (683013c), closes #252 #247
  • Store: Use existing reducers when providing reducers without an InjectionToken (#254) (c409252), closes #254 #250 #116
  • Store: Use injector to get reducers provided via InjectionTokens (#259) (bd968fa), closes #259 #189

Features

4.0.2 (2017-08-02)

Bug Fixes

  • createSelector: memoize projector function (#228) (e2f1e57), closes #228 #226
  • docs: update angular-cli variable (eeb7d5d)
  • Docs: update effects description (#164) (c77b2d9), closes #164
  • Effects: Wrap testing source in an Actions observable (#121) (bfdb83b), closes #121 #117
  • RouterStore: Add support for cancellation with CanLoad guard (#223) (2c006e8), closes #223 #213
  • Store: Remove auto-memoization of selector functions (90899f7), closes #118

Features

  • Effects: Add generic type to the "ofType" operator (55c13b2)
  • Platform: Introduce @ngrx/entity (#207) (9bdfd70), closes #207
  • Store: Add injection token option for feature modules (#153) (7f77693), closes #153 #116 #141 #147
  • Store: Added initial state function support for features. Added more tests (#85) (5e5d7dd), closes #85

4.0.1 (2017-07-18)

Bug Fixes

  • effects: allow downleveled annotations (#98) (875b326), closes #98 #93
  • effects: make correct export path for testing module (#96) (a5aad22), closes #96 #94

4.0.0 (2017-07-18)

Bug Fixes

  • build: Fixed deployment of latest master as commit (#18) (5d0ecf9), closes #18
  • build: Get tests running for each project (c4a1054)
  • build: Limit concurrency for lerna bootstrap (7e7a7d8)
  • Devtools: Removed SHOULD_INSTRUMENT token used to eagerly inject providers (#57) (b90df34), closes #57
  • Effects: Start child effects after running root effects (#43) (931adb1), closes #43
  • Effects: Use Actions generic type for the return of the ofType operator (d176a11)
  • Example: Fix Book State interface parent (#90) (6982952), closes #90
  • example-app: Suppress StoreDevtoolsConfig compiler warning (8804156)
  • omit: Strengthen the type checking of the omit utility function (3982038)
  • router-store: NavigationCancel and NavigationError creates a cycle when used with routerReducer (a085730), closes #68
  • Store: Exported initial state tokens (#65) (4b27b6d), closes #65
  • Store: pass all required arguments to projector (#74) (9b82b3a), closes #74
  • Store: Remove parameter destructuring for strict mode (#33) (#77) (c9d6a45), closes #33 #77
  • Store: Removed readonly from type (#72) (68274c9), closes #72
  • StoreDevtools: Type InjectionToken for AOT compilation (e21d688)

Code Refactoring

  • Effects: Simplified AP, added better error reporting and effects stream control (015107f)

Features

  • build: Updated build pipeline for modules (68bd9df)
  • Effects: Ensure effects are only subscribed to once (089abdc)
  • Effects: Introduce new Effects testing module (#70) (7dbb571), closes #70
  • router-store: Added action types (#47) (1f67cb3), closes #47 #44
  • store: Add 'createSelector' and 'createFeatureSelector' utils (#10) (41758b1), closes #10
  • Store: Allow initial state function for AoT compatibility (#59) (1a166ec), closes #59 #51
  • Store: Allow parent modules to provide reducers with tokens (#36) (069b12f), closes #36 #34
  • Store: Simplify API for adding meta-reducers (#87) (d2295c7), closes #87

BREAKING CHANGES

  • Effects: Effects API for registering effects has been updated to allow for multiple classes to be provided.

BEFORE:

@NgModule({
  imports: [EffectsModule.run(SourceA), EffectsModule.run(SourceB)],
})
export class AppModule {}

AFTER:

@NgModule({
  imports: [EffectsModule.forRoot([SourceA, SourceB, SourceC])],
})
export class AppModule {}

@NgModule({
  imports: [
    EffectsModule.forFeature([FeatureSourceA, FeatureSourceB, FeatureSourceC]),
  ],
})
export class SomeFeatureModule {}