Skip to content

Releases: KevinAst/feature-u

Hooks and Aspect Plugin Changes - versioned doc dir

05 Feb 17:51
Compare
Choose a tag to compare

Segregate versioned doc dir from code changes (allowing diffs of code modification only)

Hooks and Aspect Plugin Changes

05 Feb 18:38
b4adb96
Compare
Choose a tag to compare

Full DocsGitHub ReleaseGitHub ContentDiff

NOTE: This release contains minor breaking changes from prior releases. A trivial retrofit of client code may be necessary (depending on your usage).

  1. Changed: For redux users, the Application Life Cycle Hooks that promote the redux appState parameter, are now being passed the redux getState function. To obtain the appState you merely invoke: getState(). This gives async long-running processes access to the most current state changes (over time) ... thanks @sylvainlg!!

    Please Note: Prior to this release, these parameters were promoted directly by feature-u (using conditional logic that detected the feature-redux aspect). This coupling has been removed. These parameters are now promoted though the feature-redux aspect, using the new Aspect.injectParamsInHooks() hook (mentioned below). As a result, you must update feature-redux to V3 or greater.

  2. Added: For Aspect Extension users, a new Aspect.injectParamsInHooks() Aspect Life Cycle Method has been added that allows the Aspect to promote namedParams into the feature's Application Life Cycle Hooks.

  3. Changed: For Aspect Extension users, Aspect Plugins no longer have one specific method that is required. Rather the requirement is to specify something (so as to not have an empty plugin that does nothing). Please refer to the "No Single Aspect Method is Required" discussion in the Aspect Life Cycle Methods.

  4. Docs: Documentation improvements include:

    • For Aspect Extension users, a new section was added that highlights how Custom Aspect Plugins are typically promoted through a constructor.

Playful Features - versioned doc dir

09 Dec 15:19
Compare
Choose a tag to compare

Segregate versioned doc dir from code changes (allowing diffs of code modification only)

Playful Features

09 Dec 14:47
Compare
Choose a tag to compare

Full DocsGitHub ReleaseGitHub ContentDiff

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

  1. Added: The Playful Features Video was added ... a feature-u presentation that builds concepts, and demonstrates them in a real world app (eatery-nod-w).

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

  3. Docs: Documentation improvements include:

    • Sample code for the app's mainline startup process was simplified by extracting Aspect plugin accumulation/configuration through an aspects/ directory (see: Aspect Accumulation and launchApp()). This is consistent with how features are accumulated.

appInit() Life Cycle Hook - versioned doc dir

19 Jul 16:04
Compare
Choose a tag to compare

Segregate versioned doc dir from code changes (allowing diffs of code modification only)

appInit() Life Cycle Hook

19 Jul 15:26
Compare
Choose a tag to compare

Full DocsGitHub ReleaseGitHub ContentDiff

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

  1. Added: A new Feature.appInit() Application Life Cycle Hook was added, supporting blocking async initialization.

  2. Added: In support of Feature.appInit(), the showStatus() optional callback parameter was added to launchApp() allowing the application domain to communicate blocking "persistent" status messages to the end user.

  3. Docs: Documentation improvements include:

React Hooks - versioned doc dir

10 May 13:41
Compare
Choose a tag to compare

Segregate versioned doc dir from code changes (allowing diffs of code modification only)

React Hooks

10 May 12:54
Compare
Choose a tag to compare

Full DocsGitHub ReleaseGitHub ContentDiff

NOTE: This release is a non-breaking change (i.e. no prior API was impacted). A major V2 version bump strictly reflects the significance of this hooks enhancement.

  1. Added: The useFassets() function has been added in support of React Hooks, providing functional component access to the Fassets object. This is an alternative to accessing fassets through Higher Order Components (using: withFassets()).

    This greatly simplifies the UI implementation, and can be seen in action in the eatery-nod-w project (see the React Hooks section).

  2. Fixed: React Component validation has been shored up by using the react-is package.

    This impacts components passed to the withFassets() API, and the fassetValidations.comp validation utility.

    Background: As of react-redux V7, connect() returns a React.memo() component type, which is an object and NOT a function ... breaking feature-u's prior component validation.

  3. Docs: Documentation improvements include:

    • Improved the concepts and feature-segregation diagrams.

    • Added a fundamental artifacts introduction to the Benefits chapter.

  4. Internal: Docs generation now uses the formal folding-menu gitbook plugin

Docs Update - versioned doc dir

05 Sep 20:42
Compare
Choose a tag to compare

Segregate versioned doc dir from code changes (allowing diffs of code modification only)

Docs Update

05 Sep 20:19
Compare
Choose a tag to compare

Full DocsGitHub ReleaseGitHub ContentDiff

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

  1. Docs: Documentation improvements include:

    • The Basic Concepts chapter has been completely re-written to fully introduce you to all feature-u concepts and terminology.

      Diagrams are used to put everything in perspective ("with circles and arrows and a paragraph on the back of each one explaining what each one was to be used as evidence against us" ... Arlo Guthrie – Alice's Restaurant).

      This is a must read to get you "up to speed" quickly!

    • All diagrams are now styled to be visiable in all themes (including dark mode).

    • All code samples utilize a feature.js module (previously index.js).

    • The src/app.js sample (found in Launching Your Application), has been streamlined.

  2. Added: A new assertNoRootAppElm() convenience function has been added (see: Injecting DOM Content).