16 KiB
Release Notes for Fluid Infusion 2.0.0
What's New in 2.0.0?
See API Changes from 1.5 to 2.0 and Deprecations in 1.5 on the Infusion Documentation site.
For a complete list of Fixes and Improvements see the Version 2.0 summary in the JIRA issue tracker.
Note: Infusion 1.9 was not officially released, but is available as an official branch. It is is available on GitHub at Infusion 1.9.x. For a complete list of Fixes and Improvements see the Version 1.9 summary in the JIRA issue tracker.
New Features
- Constraint-based priorities, supported by
listeners
,modelListeners
,modelRelay
,distributeOptions
,contextAwareness
, andcomponents
. 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.
- Global Instantiator
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.
- Provides a variety of prebuilt versions of Infusion in the module's
- 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.
Removal of Deprecated Features
- Manual lifecycle points finalInit, postInit, etc.
- Obsolete syntax for arguments, options, etc.
"autoInit"
grade- Static and dynamic environments, replaced by Global Instantiator
- The old model component hierarchy and "old ChangeApplier" implementation
fluid.demands
- No more distinction between fast and dynamic invokers
- Model Relay specific component grades have been removed, model relay now works with any model grade.
Obtaining Infusion
You can create your own custom build of Infusion using the grunt build script.
Demos
Infusion ships with demos of all of the components in action. You can find them in the demos folder in the release bundle or on our build site.
When running the demos on your local machine, a web server is recommended. Several of the demos make use of AJAX calls; which typically are not allowed by the browser when run from the local file system.
License
Fluid Infusion is licensed under both the ECL 2.0 and new BSD licenses.
More information is available in our wiki.
Third Party Software in Infusion
This is a list of publicly available software that is redistributed with Fluid Infusion, categorized by license:
Apache 2.0
MIT License
- Buzz v1.1.0
- Foundation v6.2.3
- HTML5 Boilerplate v4.3
- html5shiv v3.7.2
- jQuery v3.1.0
- jQuery Mockjax v2.2.1
- jQuery QUnit v1.12.0
- jQuery QUnit Composite v1.0.1
- jQuery scrollTo v1.4.2
- jQuery Touch Punch v0.2.2
- jQuery UI (Core; Interactions: draggable, resizable; Widgets: button, checkboxradio, controlgroup, dialog, mouse, slider, tabs, and tooltip) v1.12.1
- jquery.selectbox v0.5 (forked)
- jquery.simulate
- Micro Clearfix
- Normalize v4.1.1
zlib/libpng License
Documentation
Documentation and tutorials can found on the Infusion Documentation site.
Supported Browsers
Infusion 2.0 was tested with the following browsers:
- Chrome current (version 54)
- Firefox current (versions 49-50)
- Internet Explorer (version 11)
- Microsoft Edge (version 38)
- Safari (version 10)
Additional testing for mobile devices was performed with the following:
- Chrome (Android 6.0.1)
- Safari (iOS 10.1.1)
For more information see the Fluid Infusion browser support wiki page.
Testing Configurations
Testing Task | Desktop Browser | Mobile Browser | |||||
---|---|---|---|---|---|---|---|
Chrome | Firefox | IE 11 | MS Edge | Safari | Chrome for Android | Safari iOS | |
Run All Unit Tests | Chrome 54 (macOS 10.12) | Firefox 49 (macOS 10.12) | IE 11 (Win 10) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | Chrome 54 (Android 6.0.1 & 7.0.0) | Safari (iOS 10.1.1) |
Smoke Tests - All Manual Tests | Chrome 54 (macOS 10.11.6) | Firefox 50 (macOS 10.12.1) | IE 11 (Win 8.1) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12.1) | Chrome 54 (Android 6.0.1) | Safari (iOS 10.1.1) |
Smoke Tests - All Demos | Chrome 54 (macOS 10.12.1) | Firefox 50 (macOS 10.12.1) | IE 11 (Win 8.1) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12.1) | Chrome 54 (Android 6.0.1) | Safari (iOS 10.1.1) |
Smoke Tests - All Examples | Chrome 54 (macOS 10.12.1) | Firefox 50 (macOS 10.12.1) | IE 11 (Win 8.1) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12.1) | Chrome 54 (Android 6.0.1) | Safari (iOS 10.1.1) |
Inline Edit QA Test Plan - Simple Text | Chrome 54 (macOS 10.10) | Firefox 49 (openSUSE Linux 42.1) | IE 11 (Win 8.1) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Keyboard Accessibility QA Test Plan | Chrome 54 (Win 10) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 8.1) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Pager QA Test Plan | Chrome 54 (Win 10) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Progress QA Test Plan | Chrome 54 (macOS 10.11.6) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Reorderer QA Test Plan - Image Reorderer | Chrome 54 (Win 10) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Reorderer QA Test Plan - Layout Reorderer | Chrome 54 (macOS 10.11.6) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Reorderer QA Test Plan - List Reorderer | Chrome 54 (macOS 10.11.6) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Reorderer QA Test Plan - Grid Reorderer | Chrome 54 (macOS 10.11.6) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Preferences Framework QA Test Plan | Chrome 54 (Win 10) | Firefox 49.0.2 (macOS 10.12) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
UI Options QA Test Plan - Separated Panel | Chrome 54 (Win 10) | Firefox 49.0.2 (Win 10) | IE 11 (Win 7) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12) | N/A | N/A |
Uploader QA Test Plan | Chrome 54 (macOS 10.12.1) | Firefox 49.0.2 (macOS 10.12.1) | IE 11 (Win 10) | MS Edge 38 (Win 10) | Safari 10 (macOS 10.12.1) | N/A | N/A |
Known Issues
The Fluid Project uses a JIRA website to track bugs. Some of the known issues in this release are described here:
Framework
- FLUID-5912: "{arguments}" IoC references in dynamicComponents model block are incorrectly interpreted as implicit model relays
- FLUID-5546: Framework fails to deregister listeners to events which are injected from other components
- FLUID-5519: Timing of "initial transaction" in new model relay system is problematic
Inline Edit
- FLUID-5392: Two clicks required to edit an empty inline edit field
- FLUID-1600: Pressing the "Tab" key to exit edit mode places focus on the wrong item
Layout Reorderer
- FLUID-3864: Layout Reorderer failed to move portlets back to the first column in three-columns view with keyboard
- FLUID-3089: If columns become stacked, can't drag item into lower column
Pager
FLUID-6081: VoiceOver on Pager doesn't announce the page number when the focus is on a page link
Reorderer
- FLUID-6013: The Grid Reorderer and Image Reorderer are missing ARIA role=row containers
- FLUID-5870: Reorderer demo failures on IE 11
- FLUID-44737: Focus styling persists after moving focus from Reorderer
- FLUID-3925: With no wrapping on, the keyboard movement keystrokes are captured by the browser where a wrap would have occurred.
UI Options / Preferences Framework
- FLUID-5928: Schema and Grade version save preferences to different values
- FLUID-5372: Increasing font size does not increase width of UIO panel
- FLUID-5223: If there's exactly one text field in the prefs editor, pressing enter on most inputs causes the form to submit
- FLUID-5218: Prefs editor requires iFrame template to be in the same place as panel templates; it probably shouldn't
- FLUID-5066: UIO Integrators shouldn't have to edit Infusion's copy of html templates to add panels, css
- FLUID-4491: Line spacing doesn't affect elements that have a line-height style set
- FLUID-4394: Separated Panel UI Options' iFrame HTML page (SeparatedPanelFrame.html) doesn't play nice with a concatenated build of Infusion
Undo
Uploader
- FLUID-6079: Uploader error, when chosen files are too large, is not read by screenreader
- FLUID-6065: The focus remains on the "Browse Files" button with 2 keyboard tabbings in IE 11 and IE Edge
- FLUID-6045: The table header scrolls out of view as the file queue is scrolled
- FLUID-5737: Uploading size is higher than total size
- FLUID-4726: Cannot change uploader's button text through the string options.