Skip to content

Releases: KevinAst/feature-redux

Redux Enhancer Injection and Aspect Plugin Changes

05 Feb 20:23
f5206a6
Compare
Choose a tag to compare

GitHub ContentGitHub ReleaseDiff

NOTE: This release contains minor breaking changes from prior releases ... some API changes, at minimum a new version of the feature-u peer dependency (also v3.0.0). A trivial retrofit of client code is necessary!

  • Pardon the version bump (from v1.0.1 to v3.0.0). We skipped v2 strictly as an internal management convenience - to match the required peer dependency of feature-u (which is also v3.0.0).

  • Added: External Aspects may now introduce their own enhancers to the redux store through the Aspect.getReduxEnhancer() API (an "aspect cross-communication mechanism") ... thanks @sylvainlg!! This similar to how External Aspects have always been able to introduce their own redux middleware. Please refer to the "Enhancer Integration" Inputs section for more information.

  • Added: This Aspect Plugin now promotes the redux getState/dispatch functions in the namedParams of feature-u's Application Life Cycle Hooks ... see Interface Points / Exposure

    Previously, these parameters were promoted directly by feature-u, but that coupling has been removed in favor of a new internal mechanism allowing any Aspect to inject their namedParams.

    As a result, this feature-redux release (V3) requires feature-u V3 or greater (and is reflected in it's feature-u peerDependency: ">=3.0.0").

  • Changed: The createReducerAspect() creator function now accepts only named parameters ... see API

  • Added: A new optional initialState parameter was introduced (in the createReducerAspect() creator function), that provides a pre-loaded initial state of your store ... see API

  • Added: A new optional allowNoReducers parameter was introduced (in the createReducerAspect() creator function), that directs what happens when no reducers were specified on your features ... see API

  • Internal: All initialization/validation was moved from the genesis() hook into our constructor.

Address Security Alerts

10 Dec 20:27
8e0146a
Compare
Choose a tag to compare

GitHub ContentGitHub ReleaseDiff

NOTE: This release is a non-breaking change (i.e. no API was affected).

  • Security: Address potential security vulnerabilities in dependent libs (mostly devDependencies completely unrelated to deployment)!

feature-u V1 Integration

14 Aug 21:55
Compare
Choose a tag to compare

GitHub ContentGitHub ReleaseDiff

NOTE: This release contains breaking changes from prior releases (i.e. a retrofit of client code is necessary).

  • Added/Removed: Eliminate singletons in favor of creators

    The singleton: reducerAspect, has been replaced with a new creator: createReducerAspect().

    This is useful in both testing and server side rendering.

  • Internal: Integrate to feature-u V1

    feature-u V1 has replaced the app object with a fassets object.

    In general, this is not a change that would break a plugin, because app/fassets is a positional parameter that is merely passed through the plugin. In other words the app/fassets is not directly interpreted by this plugin.

    However, feature-redux does have subtle indirect references to changed feature-u V1 APIs, such as Error message strings, etc.

    Therefore, it is best to tidy up this detail.

    As a result, this plugin has now updated it's feature-u peerDependency to ">=1.0.0".

Establish Polyfill Strategy

02 Jul 16:55
50959a3
Compare
Choose a tag to compare

NOTE: This release is a non-breaking change (i.e. no API was affected).

  • Review: A new policy is in affect where polyfills are the responsibility of the client app, when the target JavaScript engine is inadequate (such as the IE browser). Please refer to Potential Need for Polyfills for more information.

    As a result, all previous code patches related to es2015+ polyfill issues were removed, in favor of polyfilling at the app-level.

  • Internal: The most current babel version/configuration is now used to transpile the library's es5 distribution.

Auto Redux DevTools Integration

29 Mar 14:40
095b451
Compare
Choose a tag to compare

NOTE: This release is a non-breaking change (i.e. no API was affected).

  • Enhanced: Integration with Redux DevTools is automatically configured (when detected).

  • Docs: Removed action-u reference from example code, using a more conventional "defined constant" action type.

react-native android patch

07 Mar 18:07
ecf20bd
Compare
Choose a tag to compare

NOTE: This release is a non-breaking change (i.e. no API was affected).

  • A patch was applied in support of react-native android.

    When running react-native under android, receiving the following exception:

    ERROR: undefined is not a function
           evaluating 'content[typeof Symbol === 'function' ? Symbol.iterator: '@@iterator']()'
    

    This is a transpiler issue related to the es6 "for of" loop. It is believed to be limited to the react-native android JS engine.

    This may be a babel transpiler issue (possibly due to a stale babel version), or an issue with with react-native android's JS engine. The problem was temporarily avoided by employing old style es5 "for loop" constructs (till further research is conducted).

Initial Release

06 Mar 19:28
2d2d2c9
Compare
Choose a tag to compare

This is where it all began ...