Détail du package

aurelia-binding

aurelia77.9kMIT2.5.4

A modern databinding library for JavaScript and HTML.

aurelia, binding, databinding

readme

aurelia-binding

npm Version ZenHub Join the chat at https://gitter.im/aurelia/discuss CircleCI

This library is part of the Aurelia platform and implements a modern databinding library for JavaScript and HTML.

To keep up to date on Aurelia, please visit and subscribe to the official blog and our email list. We also invite you to follow us on twitter. If you have questions look around our Discourse forums, chat in our community on Gitter or use stack overflow. Documentation can be found in our developer hub. If you would like to have deeper insight into our development process, please install the ZenHub Chrome or Firefox Extension and visit any of our repository's boards.

Platform Support

This library can be used in the browser only.

Building The Code

To build the code, follow these steps.

  1. Ensure that NodeJS is installed. This provides the platform on which the build tooling runs.
  2. From the project folder, execute the following command:

    npm install
    
  3. Ensure that Gulp is installed. If you need to install it, use the following command:

    npm install -g gulp
    
  4. To build the code, you can now run:

    gulp build
    
  5. You will find the compiled code in the dist folder, available in three module formats: AMD, CommonJS and ES6.

  6. See gulpfile.js for other tasks related to generating the docs and linting.

Running The Tests

To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:

  1. Ensure that the Karma CLI is installed. If you need to install it, use the following command:

    npm install -g karma-cli
    
  2. Ensure that jspm is installed. If you need to install it, use the following commnand:

    npm install -g jspm
    
  3. Install the client-side dependencies with jspm:

    jspm install
    
  4. You can now run the tests with this command:

    karma start
    

    To test in Internet Explorer use this command:

    karma start --browsers IE
    

changelog

2.5.4 (2020-05-08)

2.5.3 (2020-05-06)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742

2.5.2 (2019-12-15)

Bug Fixes

  • event-manager: Firefox shadow dom event handling (7a6cc3b), closes #765

2.5.1 (2019-09-10)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742

2.5.0 (2019-09-10)

Bug Fixes

2.4.1 (2019-08-06)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742

2.4.0 (2019-08-06)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742
  • typing: Make parentOverrideContext optional
  • event-manager: fix captured/delegated event decrement

2.3.1 (2019-04-10)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742

2.3.0 (2019-03-29)

Bug Fixes

  • typings: add recent commits typings to src (808c484)

2.2.2 (2019-03-19)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742

2.2.1 (2019-03-18)

Bug Fixes

  • all: change es2015 back to native-modules (13dd661)
  • build: don't build declaration (d359e83)
  • connectable-binding: remove the silent limit of 100 observers per expression (56ba36d), closes #742

2.2.0 (2019-01-18)

Bug Fixes

  • typings: Add "clear" as valid option for type (c5f6486)
  • typings: Add "clear" type to collection splice interface (c16f1f3)
  • typings: Correct ICollectionObserverSplice generics (52ca954)
  • typings: Revert exposing some APIs, add reset param typing (1aa9c43)
  • typings: Update interfaces with missing property types and methods (133edc3)

2.1.7 (2018-12-01)

Bug Fixes

  • parser: throw on unterminated template literal (5c5b5e3)

2.1.6 (2018-10-30)

Bug Fixes

2.1.5 (2018-09-25)

Bug Fixes

  • Update constructor typings for DataAttributeObserver

2.1.4 (2018-08-09)

Bug Fixes

  • array-observation: make marker non enumerable (a06c801)

2.1.3 (2018-08-02)

Bug Fixes

  • ArrayObservation: ensure patch applied only once (72b5d6d)

2.1.2 (2018-07-17)

Bug Fixes

  • parser: allow PrimaryExpression on the lefthand side of CallMember (c161c3a), closes #700

2.1.1 (2018-06-22)

Bug Fixes

  • parser: left-to-right associativity for nested binary expressions with same precedence (d2d867e)
  • parser: use loop instead of array.fill for IE10 compat (a7080bd)

2.1.0 (2018-06-19)

Bug Fixes

  • ast: preserve evaluation context for the tag in tagged template literals (8528baa)
  • doc: ICollectionObserverSplice Typescript interface (92a0006)
  • EventManager: remove unnecessary dereference (e2f8866)
  • expression-cloner: add literal template (d324785)
  • literal-template: only throw on invalid function when mustEvaluate is truthy (766571d)
  • parser: allow $parent as an argument of binding behaviors and value converters (f76de45), closes #608
  • typescript: put back missing collection properties to ICollectionObserverSplice (b4f7b28)
  • typings: accept Set<any> for collectionObserver (87ca285)

Features

  • parser: add basic support for template literals (39021ef)
  • parser: add expression operators 'in', 'instanceof', 'typeof', 'void' (e849661)
  • parser: add support for non-ASCII identifiers in the Latin-1 supplement block (dfaca35), closes #640
  • parser: add support for tagged template literals (b9497d2)

Performance Improvements

  • parser: add node microbench script (37dfcb8)

2.0.0 (2018-05-09)

Breaking Changes

  • Removed lexer and merged into Parser. Up to 10x expression parse perf improvements.

Bug Fixes

  • SelectValueObserver: observe characterData mutation (e982ae0)

1.7.1 (2018-03-18)

Bug Fixes

  • EventSubscriber: do nothing if disposed (449e105)

1.7.0 (2018-03-17)

Bug Fixes

  • doc: css-attribute without interpolation explained (3dcea9d)
  • EventManager: prevent stopPropagation stack overflow (011eca0), closes #649
  • EventManager: typing (cb63a87)
  • typings: add SelectValue/Checked Observers (b06cbc2)
  • typings: ICollectionObserverSplice support for Map and Set (49f46ce)
  • Unparser: fix typo in visitChain (a90216c)

Features

  • typescript: add getContextFor definition (c7ab819)
  • typescript: add ICollectionObserverSplice definition (4e1244e)

Performance Improvements

  • EventManager: enable dispose() pattern for addEventListener (e60ea16)

1.6.0 (2017-12-04)

Bug Fixes

  • typescript: add definition for DirtyCheckProperty (2c29855), closes #648
  • Improve internal binding expression implementation to better support SSR scenarios.

Performance Improvements

  • Lexer: operators array -> map (3431ec2)

1.5.0 (2017-10-23)

1.4.0 (2017-10-23)

Features

  • ObserverLocator: special handling for src and href (1c231ee)
  • ValueConverter: enable signal (f6ad52a), closes #353

1.3.0 (2017-10-01)

Bug Fixes

Features

1.2.1 (2017-03-23)

Bug Fixes

  • AST: pass lookupFunctions to all evaluate methods (04e4e92)

1.2.0 (2017-02-26)

Bug Fixes

  • Assign: enable nesting assignments (8186ef7), closes #561
  • CheckedObserver: handle undefined model (#575) (e16bb9e), closes #574
  • SelectValueObserver: handle null model (f3d80c9), closes #540

Features

  • build: make SVG support optional (b2d68c8)

1.1.1 (2017-01-06)

Bug Fixes

1.1.0 (2016-12-08)

Bug Fixes

  • doc: broken numeral and moment import (9a37615), closes #504
  • EventManager: capture bugfixes (bb78aea)
  • observable: skip notify on same value assign (fed8b6f), closes #544
  • Parser: handle parent in CallMember (048c8dd)
  • StyleObserver: convert camelCase style properties to kebab-case (2bd5e0f), closes #523
  • typings: fix AccessMember constructor parameters order (f858369)

Features

  • EventManager: support capturing event (d5da991)

Performance Improvements

  • connect-queue: mutate queue once per flush (58224dd)
  • connect-queue: remove map usage (d676d63)

1.0.9 (2016-10-06)

Bug Fixes

  • styleobserver: check if value is defined (c7495d2)
  • styleobserver: if statement for numeric check was wrong (15a589b)
  • styleobserver: proper null check (7018a1d)

1.0.8 (2016-10-06)

Bug Fixes

1.0.7 (2016-10-05)

Bug Fixes

  • observable: backing property should not be enumerable (521270b)
  • observable: handle descriptor with set (fa3dafb), closes #511
  • StyleObserver: handle numbers (ca4933d), closes #518

1.0.6 (2016-09-29)

Bug Fixes

  • typings: add missing interface members (631cac2)

1.0.5 (2016-09-29)

Bug Fixes

1.0.4 (2016-09-07)

Bug Fixes

  • StyleObserver: parse complex styles (044746f)
  • typescript: fix doc generation and add missing classes (347ac4f)
  • typings: remove TypeScript 2.0 syntax (e9003ee)

Features

  • observable: add propertyName argument (e7825eb)

1.0.3 (2016-08-29)

1.0.2 (2016-08-26)

Bug Fixes

  • aurelia-binding.d.ts: improve TypeScript definitions (604a6a9)

1.0.1 (2016-07-29)

Features

  • event-manager: enable stopping propagation of delegated events (91287cf), closes #467

1.0.0 (2016-07-27)

Bug Fixes

  • EventManager: fix delegate bubbling (2c08d05), closes #460

1.0.0-rc.1.0.4 (2016-07-24)

Bug Fixes

  • definitions: use classes for expressions (8181cf5), closes #436

1.0.0-rc.1.0.3 (2016-07-12)

Bug Fixes

  • CheckedObserver: handle falsey model (9d39a1a)

1.0.0-rc.1.0.2 (2016-06-23)

Bug Fixes

  • observable: fix TypeScript support (a6db85e), closes #438

1.0.0-rc.1.0.0 (2016-06-22)

Bug Fixes

  • observable: fix usage with decorators function (051a17a)

1.0.0-beta.1.3.6 (2016-05-17)

Bug Fixes

  • observer: respect non-enumerable properties (ff8f9c7d)

1.0.0-beta.1.3.5 (2016-05-10)

1.0.0-beta.1.3.4 (2016-05-04)

Bug Fixes

  • package: add missing dependencies (3b8cbc66)

1.0.0-beta.1.3.3 (2016-05-03)

Bug Fixes

  • Binary: handle adding undefined (d2a88ddc, closes #337)
  • CheckedObserver: synchronize on changes to input value (f3147440, closes #320)
  • array-observation: do not notify on pop/shift of empty array (d344831b)

Features

  • camelCase: handle hyphenated names (315cfaa2)
  • logging: warn when property can't be defined (a6457c09)

1.0.0-beta.1.3.2 (2016-04-13)

1.0.0-beta.1.3.1 (2016-03-29)

Bug Fixes

  • hasDeclaredDependencies: handle deps already converted to ComputedExpression (7160248a, closes #359)

1.0.0-beta.1.3.0 (2016-03-22)

Bug Fixes

  • parser: remove unnecessary spaces from unparser output (e776287e)

Features

  • Expression: enable cloning and rebasing (d3e52957)
  • NameExpression: enable binding behaviors (f698c27a)
  • computedFrom: support expressions (461a3d56, closes #149)

1.0.0-beta.1.2.2 (2016-03-02)

Bug Fixes

1.0.0-beta.1.2.1 (2016-03-01)

Bug Fixes

  • ast: make AccessScope#assign resilient (4661076c)

1.0.0-beta.1.2.0 (2016-03-01)

Bug Fixes

  • *-observation: allow binding extended Map/Set (a79f1486)
  • all: remove core-js dependency (a48268df)
  • bower: remove core-js (3076972b)
  • decorator-observable: TypeScript (98219be8)
  • definitions:
    • observable decorator definition (d6244f22)
    • addEventListener function definition (206e3422, closes #317)
  • element-observation: handle extra spacing around css properties (cb8a9074, closes #325)

Features

  • Binding: enable custom observers during connect (d31e9321)
  • observable decorator:
    • add decorator-observable (92eef20a)
    • observe local property decorator (80c2dbc7)
  • observers: enable extended maps and sets (a5e1eccb, closes #319)
  • ref: support expressions (1d80f7b5, closes #214)

1.0.0-beta.1.1.3 (2016-02-09)

Bug Fixes

  • StyleObserver: parse style without breaking urls (432fe387, closes #301)

1.0.0-beta.1.1.2 (2016-02-08)

1.0.0-beta.1.1.1 (2016-01-30)

Bug Fixes

1.0.0-beta.1.1.0 (2016-01-29)

Bug Fixes

  • AccessKeyed: avoid dirty-checking keyed array access (7d01567a, closes #289)
  • StyleObserver: set style properties individually (8e9a2eb5, closes #290)
  • choice-observers: notify on setValue (86722faf, closes #251)
  • definitions: no implicit any (eff3162e, closes #286)

Features

  • Parser: parse es6 shorthand initializers (0d28ff91)
  • all: update jspm meta; core-js; aurelia deps (b93daa46)

1.0.0-beta.1.0.5 (2016-01-08)

Bug Fixes

1.0.0-beta.1.0.4 (2016-01-08)

Bug Fixes

  • ClassObserver: split classes by any ASCII whitespace. (776eef49, closes #257)
  • ObserverLocator: getAccessor incorrectly handles input.value (ae751048, closes #264)
  • ValueAttributeObserver: notify only when changing element value (6ac4d42d)
  • subscriberCollection: handle cascading calls (5b3ae75f, closes #252)

Features

  • Array: observe array prototype methods (f34972dc)
  • SetObservation: add set observation (9bb17313)
  • api: export mergeSplice (c909ba22)

1.0.0-beta.1.0.3 (2015-12-16)

Bug Fixes

1.0.0-beta.1.0.2 (2015-12-03)

Bug Fixes

  • AccessKeyed: evaluate null/undefined object should return undefined (be97c8b6, closes #241)
  • Parser: parse parent in LiteralObject (c62280e4)
  • typings: add missing argument types (2662f7f6, closes #232)

Features

  • select: enable matcher functions (c69aa683, closes #94)

1.0.0-beta.1.0.1 (2015-11-16)

Bug Fixes

  • Parser: disallow chain (81c84bb3)
  • typings:

1.0.0-beta.1 (2015-11-16)

Bug Fixes

0.11.4 (2015-11-15)

Bug Fixes

  • Binding: obey binding mode when called by signal (fbca043e)
  • ModifyCollectionObserver: handle out of bound splices (6e801927)
  • definitions: scope.bindingContext is not optional (280de747)
  • typings: BindingEngine and ObserverLocator are classes not interfaces (c7339246)

0.11.3 (2015-11-12)

Bug Fixes

  • Listener: directly reference overrideContext (ce0f5a91, closes #221)

0.11.2 (2015-11-12)

Bug Fixes

  • ArrayObserver: fix error when removing last array item (5c8be37b)

0.11.1 (2015-11-11)

0.11.0 (2015-11-10)

Bug Fixes

  • AST: make $parent work with overrideContext changes (1c0cfc88)
  • all: remove old decorators api calls; relocate decorators with related code (0bf30806)
  • array-observation: handle out of bounds splices (154480ba)
  • build: add scope to build files (cb1a189a)
  • doc: Fix wrong URL in README.md (9d8e583d)
  • event-manager: remove non-standard event target props for FF and old IE (63b35ab4)
  • name-expression:
    • use the viewModel property of controllers (42facec4)
    • make more resilient to nulls (162b8558)
    • not binding to proper context (46f0fdc5)
  • scope:
    • no auto-traverse when parent is specified (735323ef)
    • connect undefined property on parent scope to correct bindingContext (987e9555)

Features

  • binding: add override scope (70adcada)
  • binding-behaviors: add support for binding behaviors (041a4a39, closes #61)
  • parser: make '$this' return the scope (31b081ee, closes #50)

0.10.2 (2015-10-17)

Bug Fixes

  • AST: do not coerce operands of || or && to booleans (1c4260ce)
  • AccessKeyedObserver: handle PathObserver (28c58bd3)
  • ArrayObserveObserver: unobserve array when there are no subscribers (5e847640)
  • Binding: handle late call (dfa8a407)
  • BindingExpression: remove needless check for undefined (afcc1ef3)
  • CallMember: handle null/undefined member (e23e1928, closes #177)
  • ClassObserver:
  • CompositeObserver: initialize var i (fbe42fa7)
  • EventManager:
    • delegate and direct event subscription reversed (11e36493)
    • Internet Explorer contenteditable (2fa23b39)
  • Expression: update with base class parameters (2ad8495a)
  • ObserverLocator:
    • handle properties of a primitive value (6bf898a7, closes #190)
    • enable adapter installation after instantiation (3fb369b1)
  • OoObjectObserver:
    • unsubscribe leak (9818841c)
    • regression issue with String.length observation (df6a7e79, closes #106)
    • unobserve object when there are no subscribers (0ebdd3db)
  • Parser:
  • SelectValueObserver:
    • update model value when options change (72701392, closes #83)
    • handle late bound option values (8a6b8f00, closes #54)
  • SetterObserver: change detection uses coercion (71c7a299)
  • ValueAttributeObserver: set undefined/null to empty string (e18b1f60, closes #152)
  • all:
    • correct internal operator usage (4072c598)
    • real javascript operator support for equality (bbad0f38)
    • rename Filter to ValueConverter (7f5e5785)
  • array-change-record: provide correct addedCount (d846b5d1)
  • array-change-records: set addedCount to 0 on delete (fb6cbe9f)
  • ast:
    • correct (in)equality operators against null operands (4036b33d)
    • rename eval to evaluate to avoid name conflicts (c3964e7c)
    • incorrect parameter reference during connection (cd291b0c)
  • binding: Use correct import for core-js (76fac6a4)
  • bindingMode: change the value of oneTime (c1ee8ec7)
  • bower: correct semver ranges (88a94ad4)
  • build:
    • update linting, testing and tools (dbb5d08b)
    • add missing bower bump (7d2172a2)
  • call-expression: incorrect unbind code (3167f960, closes #122)
  • classList: Element.classList polyfill Fixes: aurelia/framework#121 (0a41adef)
  • computed-observation: allow setters (9fc2a813, closes #136)
  • decorators:
    • update to metadata lowercased api names (f1908e81)
    • use new metadata api (31a0b6ec)
  • evalList: fix syntax error for evalListCache (dfa1e114)
  • event-manager:
    • address event targets with shadow dom and event delegation (b8b49fe6)
    • delegate event bug in IE (782b83a6)
    • rework delegated events to take advantage of dom boundaries (8d33813e)
    • improve element config model (afc9e37d)
  • index:
    • typo in decorator parameter (e3e9042b)
    • fix export ComputedPropertyObserver (142f093a)
    • incorrect import name (3c88f272)
  • last: prevent null refs on complex property path expressions (68ab5073)
  • listener-expression: use result of handler for preventDefault behavior (fce610b9, closes #16)
  • map-observation:
  • name-expression:
    • incorrect reference to bindingContext (cf6b928b)
    • null out source on unbind (e39b6b7d)
    • no longer transform the mode (b77098ee)
    • enable ref binding to view-model and html behaviors (451f09b3)
  • observer-locator:
    • differentiate array observer storage from length prop storage (992b4834)
    • add Object.getPropertyDescriptor polyfill (949cd344)
  • observers: do not fail on primitive observation attempt (854930a5)
  • package:
  • property-observation: better update when in OO mode (2d8ad7d5)
  • tests: adjust after build change (5cc090de)
  • value-converter:
    • update to plug into new resource pipeline (4e8c99d9)
    • add missing endsWith polyfill (0e05f9cc)

Features

  • AccessKeyed: fully observe access-keyed expressions (0eb792cf, closes #75, #64)
  • BindingSystem: add binding system API (cb75cde3)
  • CallExpression:
    • add $event to scope, use call args (03bc3c62, closes #46)
    • enable passing function refs with call bindings (1b333f0d)
  • CheckedObserver: checked binding (1200935a, closes #43)
  • ClassObserver: enable multiple class bindings (69273136)
  • EventManager: enable two-way scrollTop/scrollLeft binding Fixes: #98 (543d845c)
  • all:
  • binding-expression: convenience API for creating binding expressions, esp. for tests (a8e11b5c)
  • binding-system: lowercase to bindingSystem to promote standard JS casing (32132891)
  • build: update compiler and switch to register module format (b3a9c112)
  • docs:
    • generate api.json from .d.ts file (6aa3caaa)
    • generate api.json from .d.ts file (e612055f)
  • input: Adds ability to bind to input type file (1a52e061)
  • listener-expression: add prevent default option for event listeners (1adc75a7)
  • map-observation: implement map observation (7a795785)
  • name-expression:
    • updated to reflect new templating controller architecture (22095387)
    • make ref bindings work with api props (0e6642eb, closes #87)
    • prepare for new ref syntax (f046e821)
    • support explicit ref binding modes (c2954228)
  • observer-locator: enable custom observer locator through getter/setters (f09451ce)
  • package: update Aurelia dependencies (70acf72c)
  • svg: expanded svg support (331a95da, closes #59)
  • value-converter:
    • update to latest view resources pipeline (13f791bc)
    • update to new metadata system (2156dc74)
    • add fluent helper to metadata api (63c1ecff)
    • add fromView conversion (8633d795)
    • add toView conversion (2de3f053)

Breaking Changes

  • This is a breaking API change that moves the ONE_WAY, TWO_WAY, and ONE_TIME constants into a bindingMode object with oneWay, twoWay, and oneTime properties.

    (28e70532)

0.10.1 (2015-10-15)

Bug Fixes

0.10.0 (2015-10-13)

Bug Fixes

  • AST: do not coerce operands of || or && to booleans (1c4260ce)
  • AccessKeyedObserver: handle PathObserver (28c58bd3)
  • ArrayObserveObserver: unobserve array when there are no subscribers (5e847640)
  • BindingExpression: remove needless check for undefined (afcc1ef3)
  • CallMember: handle null/undefined member (e23e1928, closes #177)
  • ClassObserver:
  • CompositeObserver: initialize var i (fbe42fa7)
  • EventManager:
    • delegate and direct event subscription reversed (11e36493)
    • Internet Explorer contenteditable (2fa23b39)
  • Expression: update with base class parameters (2ad8495a)
  • ObserverLocator: enable adapter installation after instantiation (3fb369b1)
  • OoObjectObserver:
    • unsubscribe leak (9818841c)
    • regression issue with String.length observation (df6a7e79, closes #106)
    • unobserve object when there are no subscribers (0ebdd3db)
  • Parser:
  • SelectValueObserver:
    • update model value when options change (72701392, closes #83)
    • handle late bound option values (8a6b8f00, closes #54)
  • SetterObserver: change detection uses coercion (71c7a299)
  • ValueAttributeObserver: set undefined/null to empty string (e18b1f60, closes #152)
  • all:
    • correct internal operator usage (4072c598)
    • real javascript operator support for equality (bbad0f38)
    • rename Filter to ValueConverter (7f5e5785)
  • array-change-record: provide correct addedCount (d846b5d1)
  • array-change-records: set addedCount to 0 on delete (fb6cbe9f)
  • ast:
    • correct (in)equality operators against null operands (4036b33d)
    • rename eval to evaluate to avoid name conflicts (c3964e7c)
    • incorrect parameter reference during connection (cd291b0c)
  • binding: Use correct import for core-js (76fac6a4)
  • bindingMode: change the value of oneTime (c1ee8ec7)
  • bower: correct semver ranges (88a94ad4)
  • build:
    • update linting, testing and tools (dbb5d08b)
    • add missing bower bump (7d2172a2)
  • call-expression: incorrect unbind code (3167f960, closes #122)
  • classList: Element.classList polyfill Fixes: aurelia/framework#121 (0a41adef)
  • computed-observation: allow setters (9fc2a813, closes #136)
  • decorators:
    • update to metadata lowercased api names (f1908e81)
    • use new metadata api (31a0b6ec)
  • evalList: fix syntax error for evalListCache (dfa1e114)
  • event-manager:
    • address event targets with shadow dom and event delegation (b8b49fe6)
    • delegate event bug in IE (782b83a6)
    • rework delegated events to take advantage of dom boundaries (8d33813e)
    • improve element config model (afc9e37d)
  • index:
    • typo in decorator parameter (e3e9042b)
    • fix export ComputedPropertyObserver (142f093a)
    • incorrect import name (3c88f272)
  • last: prevent null refs on complex property path expressions (68ab5073)
  • listener-expression: use result of handler for preventDefault behavior (fce610b9, closes #16)
  • map-observation:
  • name-expression:
    • incorrect reference to bindingContext (cf6b928b)
    • null out source on unbind (e39b6b7d)
    • no longer transform the mode (b77098ee)
    • enable ref binding to view-model and html behaviors (451f09b3)
  • observer-locator:
    • differentiate array observer storage from length prop storage (992b4834)
    • add Object.getPropertyDescriptor polyfill (949cd344)
  • observers: do not fail on primitive observation attempt (854930a5)
  • package:
  • property-observation: better update when in OO mode (2d8ad7d5)
  • tests: adjust after build change (5cc090de)
  • value-converter:
    • update to plug into new resource pipeline (4e8c99d9)
    • add missing endsWith polyfill (0e05f9cc)

Features

  • AccessKeyed: fully observe access-keyed expressions (0eb792cf, closes #75, #64)
  • BindingSystem: add binding system API (cb75cde3)
  • CallExpression:
    • add $event to scope, use call args (03bc3c62, closes #46)
    • enable passing function refs with call bindings (1b333f0d)
  • CheckedObserver: checked binding (1200935a, closes #43)
  • ClassObserver: enable multiple class bindings (69273136)
  • EventManager: enable two-way scrollTop/scrollLeft binding Fixes: #98 (543d845c)
  • all:
  • binding-expression: convenience API for creating binding expressions, esp. for tests (a8e11b5c)
  • binding-system: lowercase to bindingSystem to promote standard JS casing (32132891)
  • build: update compiler and switch to register module format (b3a9c112)
  • docs:
    • generate api.json from .d.ts file (6aa3caaa)
    • generate api.json from .d.ts file (e612055f)
  • input: Adds ability to bind to input type file (1a52e061)
  • listener-expression: add prevent default option for event listeners (1adc75a7)
  • map-observation: implement map observation (7a795785)
  • name-expression:
    • updated to reflect new templating controller architecture (22095387)
    • make ref bindings work with api props (0e6642eb, closes #87)
    • prepare for new ref syntax (f046e821)
    • support explicit ref binding modes (c2954228)
  • observer-locator: enable custom observer locator through getter/setters (f09451ce)
  • package: update Aurelia dependencies (70acf72c)
  • svg: expanded svg support (331a95da, closes #59)
  • value-converter:
    • update to latest view resources pipeline (13f791bc)
    • update to new metadata system (2156dc74)
    • add fluent helper to metadata api (63c1ecff)
    • add fromView conversion (8633d795)
    • add toView conversion (2de3f053)

Breaking Changes

  • This is a breaking API change that moves the ONE_WAY, TWO_WAY, and ONE_TIME constants into a bindingMode object with oneWay, twoWay, and oneTime properties.

    (28e70532)

0.9.1 (2015-09-08)

Bug Fixes

  • name-expression: incorrect reference to bindingContext (cf6b928b)

0.9.0 (2015-09-04)

Bug Fixes

  • BindingExpression: remove needless check for undefined (afcc1ef3)
  • OoObjectObserver: unsubscribe leak (9818841c)
  • ValueAttributeObserver: set undefined/null to empty string (e18b1f60, closes #152)
  • build: update linting, testing and tools (dbb5d08b)

Features

  • docs:
    • generate api.json from .d.ts file (6aa3caaa)
    • generate api.json from .d.ts file (e612055f)

0.8.6 (2015-08-14)

Bug Fixes

  • binding: Use correct import for core-js (76fac6a4)

0.8.5 (2015-08-05)

Bug Fixes

  • call-expression: incorrect unbind code (3167f960, closes #122)
  • event-manager: address event targets with shadow dom and event delegation (b8b49fe6)
  • name-expression: null out source on unbind (e39b6b7d)

0.8.4 (2015-07-30)

Bug Fixes

  • event-manager: delegate event bug in IE (782b83a6)

0.8.3 (2015-07-29)

Bug Fixes

  • computed-observation: allow setters (9fc2a813, closes #136)
  • event-manager: rework delegated events to take advantage of dom boundaries (8d33813e)

0.8.2 (2015-07-13)

Features

  • input: Adds ability to bind to input type file (1a52e061)

0.8.1 (2015-07-07)

Bug Fixes

  • Expression: update with base class parameters (2ad8495a)

0.8.0 (2015-07-02)

Bug Fixes

  • decorators: use new metadata api (31a0b6ec)
  • tests: adjust after build change (5cc090de)

Features

  • binding-expression: convenience API for creating binding expressions, esp. for tests (a8e11b5c)

0.7.3 (2015-06-10)

Bug Fixes

  • ClassObserver: handle null and undefined (a8696e6a, closes #109)

0.7.2 (2015-06-09)

Bug Fixes

  • OoObjectObserver: regression issue with String.length observation (df6a7e79, closes #106)

0.7.1 (2015-06-09)

Bug Fixes

  • name-expression:
    • no longer transform the mode (b77098ee)
    • enable ref binding to view-model and html behaviors (451f09b3)

0.7.0 (2015-06-08)

Bug Fixes

  • AST: do not coerce operands of || or && to booleans (1c4260ce)
  • ArrayObserveObserver: unobserve array when there are no subscribers (5e847640)
  • EventManager: delegate and direct event subscription reversed ([11e36493](http://github.com/aur