fluid

Infusion 2.0 released!

The Fluid community is pleased to announce the release of Infusion 2.0!

Infusion 2.0 includes significant framework improvements and is not backwards compatible with previous versions of Infusion. Please see API Changes from 1.5 to 2.0 and Deprecations in 1.5 on the Infusion Documentation site.

Release Notes

What's New in 2.0.0?

  • Constraint-based priorities, supported by listeners, modelListeners, modelRelay, distributeOptions, contextAwareness, and components. This allows the specific order of those items to be configured. (See: Priorities)
  • Context Awareness - and things it relies on:
    • Global Instantiator
      • Every Infusion component, regardless of how it is instantiated, ends up in a single-rooted tree of components
      • This enables use of modern IoC features such as model relay and declarative event binding
      • Enables use of the root distributeOptions context "/"
      • Enables the removal of "demands blocks"
      • Useful debugging tip: Watch fluid.globalInstantiator in your JS debugging tools to see the structure of your application and its tree.
  • fluid.notImplemented function for implementing abstract grades
  • Lazy loading for UI Options and instructions for how to use the Preferences Framework with a zero initial load time.
    • This should assist in improving performance when using the Preferences Framework, particularly for resource intensive sites and applications
  • Much faster invokers and boiled listeners (c. 60x faster)
  • Support for using Infusion with npm for both Node.js and web-based projects.
    • Provides a variety of prebuilt versions of Infusion in the module's dist directory.
  • Source Maps are generated for the concatenated JavaScript files
  • View oriented IoC debugging tools
    • Including FluidViewDebugging.js on the page of any Infusion application gives you access to the IoC View Inspector. Click on the small cogwheel icon at the bottom right of the page to open a panel which shows the details of the view components and their grades, that are attached to DOM nodes in the browser pane. This interface works similarly to the DOM Inspector familiar from modern web browsers, but is an experimental implementation with an engineer-level UI.

Obtaining Infusion

You can create your own custom build of Infusion using the grunt build script.

Thank You

A lot of time and effort has gone into this release, and we'd like to thank everyone in the community for their contributions.