Releases: KevinAst/feature-router
Configuration at Construction Time
GitHub Content • GitHub Release • Diff
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). -
Changed: All configuration/validation now occurs at construction time. To retrofit your code, simply move any
routeAspect.config.xyz
item into the correspondingcreateRouteAspect()
parameter. (see API).
Address Security Alerts
GitHub Content • GitHub Release • Diff
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 tocomponentDidUpdateHook$
, 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.
feature-u V1 Integration
GitHub Content • GitHub Release • Diff
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
feature-u V1 has replaced the
app
object with afassets
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 fromapp
tofassets
, and utilize the new fassets API accordingly.As a result, this plugin has now updated it's feature-u peerDependency to ">=1.0.0".
Establish Polyfill Strategy
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.
react-native android patch
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
This is where it all began ...