- Allow incoming connections to "fan out" to multiple methods by supplying an array of method names (or pipelines).
- Allow
create
to use a$ref
to a factory function, as well as args to create components.
- Allow arbitrarily deep dot traversal in
$ref
s.
- New
$imports
feature allows declaratively importing wire specs. Check out the docs for more info. - Minor internal unit/integration test fixes:
- Workaround gent+buster integration issue and update to gent 0.6.x. This only affects the ability to run unit tests.
- Fix unhandled rejection in unit test--exposed by when.js 3.2.x's new unhandled rejection reporting, win.
- Compatibility with when 2.6.0 - 3.x
- Fix semver range for
when
dependency (#155). Note A clean install of wire < 0.10.6 may install when.js 3.0.0, with which wire is not yet compatible. Version 0.10.6 fixes the semver spec in wire'spackage.json
so that a compatible version of when.js 2.x will be installed.
- Fix for form submit handling in
wire/on
on devices supporting touch events. - Update docs to point to @pieter-vanderwerff's r.js builder plugin
- Support for relative module ids, including AMD plugin resource ids in wire's cram builder plugin. (#142)
- Improved performance in lifecycle processing, allowing components to proceed in parallel in more cases when there are no dependencies between them. (#141)
- Experimental support for relative AMD plugin resource ids in wire specs. For example:
myTemplate: {
// Find template.html relative to the current wire spec
module: 'text!./template.html'
}
- Experimental support for relative module ids in wire specs in all supported environments.
- Fix version mismatch in
bower.json
- Fixes for using wire factory within a nested component. (#123, #128, thanks @halfninety)
- Community contributed documentation updates and fixes (#113, #114, thanks @skiadas)
- Support for creating and managing jQuery UI Widgets (much like the existing Dijit widget support).
- More compact syntax for including plugins: just include the module id as a string! The object syntax is still supported as well.
- New docs for using and creating wire plugins.
- Many other documentation additions and improvements.
- New APIs available to plugins for monitoring the overall state of wiring, inserting components into the current context, and more.
- Many internal improvements:
- Reduced overall memory usage
- Improved wiring performance
- Preparing for a bunch of new awesomeness in upcoming releases
- Compatibility with when.js 1.5.0 - 2.x.
- NOTE: wire 0.10.x is the last set of releases that will be compatible with when < 2.0.
- Fix for render factory in IE8.
- Compatibility with when.js 1.5.0 - 2.0.x. If you use when >= 2.0.0, you MUST update to wire 0.9.3. There are no other changes in 0.9.3.
- IE-specific fix for
wire/debug
'strace
option. See #78
- Fix for compose factory. See #69
- Get it!
- All new documentation
- Even more DOM support, including DOM event connections via wire/on and cloning DOM elements.
- Functions are first-class citizens that can be used in very powerful ways.
- Transform connections use functions to transform data as it flows through connections (including DOM event connections).
- Built on latest cujoJS platform:
- Compatible with when.js v1.0.x - v1.4.x
- Compatible with when.js v1.0.x - vv1.3.0
- See the [[full release notes|release-notes-080]] for more detail, documentation, and examples of all the new features.
- Node and RingoJS
- New wire/dom/render plugin
- Plenty of other new DOM features
- Easier
wire/aop
single advices - Improved debugging with
wire/debug
- New
waitParent
option for the wire factory. When set totrue
, it guarantees a child context will not even start wiring until the encompassing parent has completed. - Update to when.js v1.0.2
- Minor fix for using wire in a non-AMD browser environment
- Update to when.js v0.10.4
- Update to aop.js v0.5.2
wire/debug
plugin now supports runtime app tracing. Check out the new options.- Fix for all known instances where wire would not notice errors that happen during wiring.
- Baby steps toward Node compatibility for the wire.js core. We're currently targetting v0.8.0 as the first Node-compatible version.
- Update to when.js v0.10.3
- Update to aop.js v0.5.0
- Updated
wire/domReady
helper to work with latest RequireJSdomReady!
plugin, while maintaining backward compatibility with older versions of RequireJS that userequire.ready
- Updates for compatibility with curl v0.5.4 and curl
domReady!
plugin wire/debug
plugin - Simplified solution for broken/missing console in IE < 8
- Updated build/optimizer support for cram v0.2+
- Improved logging in
wire/debug
, now with stack traces, and guards against missingconsole
in IE. - Guard against null when scanning plugins
- Update to when.js v0.9.4
- New wire factory (aka wire inception!) that allows wiring chains of other specs, or injecting functions for deferred wiring. See the docs
- wire/dojo/dijit plugin:
placeAt
feature that allows easier placement of Dijit widgets.- supports easy dijit theming via its
theme
option
- New wire/dojo/data plugin that supports legacy
dojo/data
datastores - wire/dom plugin now supports options for adding/removing classes to
<html>
during wiring. - Now using when.js v0.9.3 for promises and async handling. See also the Deprecated Functionality below.
- The wire.js core is now only 2.5k with Google Closure + gzip!
- Limited support for using wire in a non-AMD setup. This is intended to aid in transitioning to AMD and CommonJS modules, and it's unlikely that wire's full functionality will ever be extended to cover non-AMD/CommonJS environments.
- wire.js can now create components using raw constructors in addition to AMD module ids. This allows wire.js to create components instances from libraries that haven't yet fully committed to AMD or CommonJS.
- Deprecated functionality - to be removed in v0.8.0
- Injecting a reference to the full current context via
{ $ref: 'wire!context' }
- The components in the current context will always be in an incomplete state, and relying on this is potentially dangerous.
- I may consider allowing injecting a promise for the current context, which would resolve after the current context has finished wiring.
- If you were using the
wire()
method of a context injected via{ $ref: 'wire!context' }
, you can use{ $ref: 'wire!' }
instead, which provides a direct reference to thewire()
method itself--i.e. it injects a function that works just likecontext.wire()
.
- Many plugin methods received a
wire
parameter that had several promise helper methods, such aswire.when
,wire.whenAll
, etc. These are deprecated in favor of simply using when.js instead, which is provided as a submodule in the support dir.
- Injecting a reference to the full current context via
- wire/aop plugin: AOP weaving with pointcuts, and before, after, afterReturning, afterThrowing, after (aka "afterFinally") advice using aop.js
- Experimental optimizer/build tool support for cram. Point cram at your wire spec and let it optimize your entire app! Docs coming soon
- wire/debug plugin: tracks components and tells you which ones couldn't be wired and why
- Improved memory management, especially when destroying contexts.
- Breaking Changes
- The plugin format has changed to support new, more powerful async plugins. See the Plugin format wiki for more information
- wire/aop decorator and introduction options have changed. See the wire/aop wiki for more information
- Fix for wire/sizzle plugin
- Updated to work with curl v0.5 domReady.
- NOTE wire.js v0.5.2 now requires curl.js 0.5 or later. It will also work with any recent version of RequireJS, and with dojo 1.6 or later.
create
factory now supports theisConstructor
option, whentrue
, forces an object instance to be created usingnew
.- Improved debug output when using wire/debug plugin,
- Slimmed down wire/aop plugin in preparation for a new version in an upcoming release,
- Automated unit tests using Dojo DOH,
- Semantic versioning
- Re-engineered core: smaller, faster, and more loader-independent,
- Can be used as either an AMD module or an AMD plugin,
- Tested with curl.js, and RequireJS. Should also work with the upcoming dojo 1.7 loader (but hasn't been tested yet),
- Improved plugin system,
- AOP plugin, wire/aop: Decorators and Introductions. Coming Soon: before, after, afterReturning, afterThrowing, and around advice,
- Prototype factory plugin allows using the JS prototype chain to create new objects directly from other objects in your wire spec.
- Sizzle plugin,
wire/sizzle
, courtesy of @unscriptable - Not entirely new to 0.5, but worth mentioning Dojo integration, including:
- pubsub connector, subscribe and publish non-invasively using
dojo.publish/subscribe
- event connector that uses dojo.connect
- easy JsonRest datastores via
resource!
reference resolver dom.query!
reference resolver that usesdojo.query
- pubsub connector, subscribe and publish non-invasively using