UNPKG

feature-router

Version:

Feature Based Navigation (using redux state)

230 lines (152 loc) 9.01 kB
# Change Log The **feature-router** project adheres to [Semantic Versioning](http://semver.org/). Each release is documented on this page *(in addition to the [Github Release Notes](https://github.com/KevinAst/feature-router/releases))*, and **contains migration instructions**. ## Summary: Release | What | *When* ---------|-------------------------------------------------|------------------ [v3.0.0] | Configuration at Construction Time | *February, 5, 2020* [v1.0.1] | Address Security Alerts | *December 10, 2019* [v1.0.0] | feature-u V1 Integration | *August 14, 2018* [v0.1.3] | Establish Polyfill Strategy | *July 2, 2018* [v0.1.1] | react-native android patch | *March 7, 2018* [v0.1.0] | Initial Release | *March 6, 2018* [v3.0.0]: #v300---configuration-at-construction-time-february-5-2020 [v1.0.1]: #v101---address-security-alerts-december-10-2019 [v1.0.0]: #v100---feature-u-v1-integration-august-14-2018 [v0.1.3]: #v013---establish-polyfill-strategy-july-2-2018 [v0.1.1]: #v011---react-native-android-patch-march-7-2018 [v0.1.0]: #v010---initial-release-march-6-2018 <!-- UNRELEASED ************************************************************************** TEMPLATE: ## vn.n.n - DESC *(DATE ?, 2018)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/vn.n.n) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/vn.n.n) &bull; [Diff](see below) RUNNING CONTENT (pop out as needed) ... - adorn bullets with following bolded prefix **Added**: ... for new features **Changed**: ... for changes in existing functionality **Deprecated**: ... for soon-to-be removed features **Removed**: ... for now removed features **Fixed**: ... for any bug fixes **Enhanced**: ... for enhancements **Security**: ... in case of vulnerabilities **Docs**: ... changes in documentation **Review**: ... requires review **Internal**: ... internal change NOT affecting user/client UNRELEASED ******************************************************************************** --> <!-- *** RELEASE *************************************************************** --> ## v3.0.0 - Configuration at Construction Time *(February, 5, 2020)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/v3.0.0) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/v3.0.0) &bull; [Diff](https://github.com/KevinAst/feature-router/compare/v1.0.1...v3.0.0) **NOTE**: This release contains **minor breaking changes** from prior releases. _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 current **feature-u** version _(which is also v3.0.0)_. - **Changed**: The `createRouteAspect()` creator function now accepts only named parameters _(see [API](./README.md#routeaspect-aspect))_. - **Changed**: All configuration/validation now occurs at construction time. To retrofit your code, simply move any `routeAspect.config.xyz` item into the corresponding `createRouteAspect()` parameter. _(see [API](./README.md#routeaspect-aspect))_. <!-- *** RELEASE *************************************************************** --> ## v1.0.1 - Address Security Alerts *(December 10, 2019)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/v1.0.1) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/v1.0.1) &bull; [Diff](https://github.com/KevinAst/feature-router/compare/v1.0.0...v1.0.1) **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)! - **Changed**: The `componentWillUpdateHook$` configuration was renamed to `componentDidUpdateHook$`, and interfaces to the hook by the same name. NOTE: This is in support of ReactNative animation. `componentWillUpdate` has been deprecated, however relative to ReactNative animation, `componentDidUpdate` evidently works as expected ... see: [React Native’s LayoutAnimation in the post-componentWillUpdate age](https://medium.com/@benadamstyles/react-native-layoutanimation-in-the-post-componentwillupdate-age-9146b3af0243). <!-- *** RELEASE *************************************************************** --> ## v1.0.0 - feature-u V1 Integration *(August 14, 2018)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/v1.0.0) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/v1.0.0) &bull; [Diff](https://github.com/KevinAst/feature-router/compare/v0.1.3...v1.0.0) **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: `routeAspect`, has been replaced with a new creator: `createRouteAspect()`. This is useful in both testing and server side rendering. - **Review**: Integrate to [**feature-u V1**](https://feature-u.js.org/cur/history.html#v1_0_0) **feature-u V1** has replaced the `app` object with a `fassets` object. In general, this is not a change that would normally break a plugin, because app/fassets is a positional parameter that is merely passed through the plugin. However, because **feature-router** auto injects the [`Fassets object`] as a named parameter of the [`routeCB()`] API, the routes in your application code must reflect this change by renaming this named parameter from `app` to `fassets`, and utilize the new fassets API accordingly. As a result, this plugin has now updated it's **feature-u** peerDependency to ">=1.0.0". <!-- *** RELEASE *************************************************************** --> ## v0.1.3 - Establish Polyfill Strategy *(July 2, 2018)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/v0.1.3) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/v0.1.3) &bull; [Diff](https://github.com/KevinAst/feature-router/compare/v0.1.1...v0.1.3) **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](./README.md#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. <!-- *** RELEASE *************************************************************** --> ## v0.1.1 - react-native android patch *(March 7, 2018)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/v0.1.1) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/v0.1.1) &bull; [Diff](https://github.com/KevinAst/feature-router/compare/v0.1.0...v0.1.1) **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). <!-- *** RELEASE *************************************************************** --> ## v0.1.0 - Initial Release *(March 6, 2018)* [GitHub Content](https://github.com/KevinAst/feature-router/tree/v0.1.0) &bull; [GitHub Release](https://github.com/KevinAst/feature-router/releases/tag/v0.1.0) **This is where it all began ...** <!--- *** REFERENCE LINKS *** ---> [`Fassets object`]: https://feature-u.js.org/cur/api.html#Fassets [Cross Feature Communication]: https://feature-u.js.org/cur/crossCommunication.html [`routeCB()`]: README.md#routecb