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.
What's New in 2.0.0?
- Constraint-based priorities, supported by
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
- 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.
You can create your own custom build of Infusion using the grunt build script.
A lot of time and effort has gone into this release, and we'd like to thank everyone in the community for their contributions.