# Changelog

All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.

## [1.6.1](https://github.com/aurelia/dependency-injection/compare/1.6.0...1.6.1) (2024-08-27)


### Bug Fixes

* correctly infer type from abstract classes ([230e7bd](https://github.com/aurelia/dependency-injection/commit/230e7bd42f6d2e15dd94627620eb0c09402b90cc))

## [1.6.0](https://github.com/aurelia/dependency-injection/compare/1.5.2...1.6.0) (2024-08-11)


### Features

* backport resolve ([#228](https://github.com/aurelia/dependency-injection/issues/228)) ([ccac164](https://github.com/aurelia/dependency-injection/commit/ccac164c511274a5b37db441cdfea924c92b37fd))

## [1.5.2](https://github.com/aurelia/dependency-injection/compare/1.5.1...1.5.2) (2019-11-20)


### Bug Fixes

* **typings:** dont use const enum ([28bad61](https://github.com/aurelia/dependency-injection/commit/28bad61))



## [1.5.1](https://github.com/aurelia/dependency-injection/compare/1.5.0...1.5.1) (2019-09-10)


### Bug Fixes

* **all:** change package.json module from es2015 back to native-modules ([86e2699](https://github.com/aurelia/dependency-injection/commit/86e2699))



## [1.5.0](https://github.com/aurelia/dependency-injection/compare/1.4.2...1.5.0) (2019-08-06)


### Bug Fixes

* **ci:** add dev dep jspm ([ad4be00](https://github.com/aurelia/dependency-injection/commit/ad4be00))
* **ci:** take our circle ci ([9899197](https://github.com/aurelia/dependency-injection/commit/9899197))


#### Breaking Changes

* Added typings to a majority of the framework. Previously all instances
  retrieved from a container or functor were cast to any. Now they're typed by
  inference to the key. If the key is a class the instance will be typed to an
  instance of that class. If the key is a functor, it will be resolved to the
  return type of the functor. All other keys will be typed to any.

 ([e5e277df](http://github.com/aurelia/dependency-injection/commit/e5e277dfa74d99ee9952f0b731eae4ec30e628ea))


<a name="1.4.2"></a>
## [1.4.2](https://github.com/aurelia/dependency-injection/compare/1.4.1...1.4.2) (2018-12-18)


### Bug Fixes

* **dependency-injection:** add more tests using cases suggested by [@fkleuver](https://github.com/fkleuver) ([ac4e6f9](https://github.com/aurelia/dependency-injection/commit/ac4e6f9)), closes [#171](https://github.com/aurelia/dependency-injection/issues/171)
* **dependency-injection:** adjust based on review ([dc756f4](https://github.com/aurelia/dependency-injection/commit/dc756f4)), closes [#171](https://github.com/aurelia/dependency-injection/issues/171)
* **dependency-injection:** ignore ...rest TypeScript metadata ([c093756](https://github.com/aurelia/dependency-injection/commit/c093756)), closes [#171](https://github.com/aurelia/dependency-injection/issues/171)



<a name="1.4.0"></a>
# [1.4.0](https://github.com/aurelia/dependency-injection/compare/1.3.2...1.4.0) (2018-06-18)


### Bug Fixes

* **injection:** fail with autoinject and own static inject ([e230bda](https://github.com/aurelia/dependency-injection/commit/e230bda))
* **resolver:** use own property 'inject' in autoinject and parameter decorators ([724ff08](https://github.com/aurelia/dependency-injection/commit/724ff08))
* **resolvers:** remove unusable asValue option of the factory decorator ([5739152](https://github.com/aurelia/dependency-injection/commit/5739152))


### Features

* **resolvers:** allow using Factory.of and NewInstance.of with registered handlers ([991cbb5](https://github.com/aurelia/dependency-injection/commit/991cbb5))



<a name="1.3.2"></a>
## [1.3.2](https://github.com/aurelia/dependency-injection/compare/1.3.1...v1.3.2) (2017-08-22)


### Performance Improvements

* **container:** improve dynamic construction of static depencies ([01b2988](https://github.com/aurelia/dependency-injection/commit/01b2988))



<a name="1.3.1"></a>
## [1.3.1](https://github.com/aurelia/dependency-injection/compare/1.3.0...v1.3.1) (2017-04-05)

* Documentation update.

<a name="1.3.0"></a>
# [1.3.0](https://github.com/aurelia/dependency-injection/compare/1.2.1...v1.3.0) (2017-01-12)


### Bug Fixes

* **registrations:** incorrect behavior for auto resolution when... ([708b5fd](https://github.com/aurelia/dependency-injection/commit/708b5fd))



<a name="1.2.1"></a>
## [1.2.1](https://github.com/aurelia/dependency-injection/compare/1.2.0...v1.2.1) (2016-12-13)


### Bug Fixes

* **autoinject:** prevent changing inject of parent classes ([aa38a34](https://github.com/aurelia/dependency-injection/commit/aa38a34))
* **container:** check for custom registration before bubbling ([98739f2](https://github.com/aurelia/dependency-injection/commit/98739f2))



# 1.2.0

## Bug Fixes

* **autoinject**: merge issue caused incorrect branching logic
* **invokers:** remove duplicate export name

<a name="1.1.0"></a>
# [1.1.0](https://github.com/aurelia/dependency-injection/compare/1.0.0...v1.1.0) (2016-10-05)

### Bug Fixes

* **injection:** correct internal loop error and enable inheritence with autoinject

### Features

* **resolvers:** let NewInstance have resolved dynamics dependencies ([0fcda8b](https://github.com/aurelia/dependency-injection/commit/0fcda8b))
* **resolvers:** let NewInstance resolver have dynamics dependencies ([c6275a5](https://github.com/aurelia/dependency-injection/commit/c6275a5))



<a name="1.0.0"></a>
# [1.0.0](https://github.com/aurelia/dependency-injection/compare/1.0.0-rc.1.0.1...v1.0.0) (2016-07-27)


### Bug Fixes

* **injection:** allow combining with [@autoinject](https://github.com/autoinject) ([7219579](https://github.com/aurelia/dependency-injection/commit/7219579))


### Features

* **resolver:** added decorators for lazy, all, optional, parent, factory and newInstance ([24e19a2](https://github.com/aurelia/dependency-injection/commit/24e19a2))
* **resolvers:** add asValue to factory argument decorator ([28db168](https://github.com/aurelia/dependency-injection/commit/28db168))



<a name="1.0.0-rc.1.0.1"></a>
# [1.0.0-rc.1.0.1](https://github.com/aurelia/dependency-injection/compare/1.0.0-rc.1.0.0...v1.0.0-rc.1.0.1) (2016-07-12)


### Bug Fixes

* **Optional:** change checkParent default to true ([a8a8620](https://github.com/aurelia/dependency-injection/commit/a8a8620)), closes [#94](https://github.com/aurelia/dependency-injection/issues/94)


### Features

* **container:** return Resolvers from registration methods ([3fc10cb](https://github.com/aurelia/dependency-injection/commit/3fc10cb)), closes [#82](https://github.com/aurelia/dependency-injection/issues/82)



<a name="1.0.0-rc.1.0.0"></a>
# [1.0.0-rc.1.0.0](https://github.com/aurelia/dependency-injection/compare/1.0.0-beta.2.1.1...v1.0.0-rc.1.0.0) (2016-06-22)



### 1.0.0-beta.1.2.3 (2016-05-10)


### 1.0.0-beta.1.2.2 (2016-04-29)

* docs update

### 1.0.0-beta.1.2.1 (2016-04-29)

* docs release

### 1.0.0-beta.1.2.0 (2016-03-22)


#### Features

* **inheritence:** allow injection w/ inheritence ([0615ac1d](http://github.com/aurelia/dependency-injection/commit/0615ac1db4c2f2e91fc1bb028217cc3540a8e6c7))


### 1.0.0-beta.1.1.5 (2016-03-04)


#### Features

* **resolver:** add factory resolver ([0d59042d](http://github.com/aurelia/dependency-injection/commit/0d59042dff1d4987c67be789e0688b6e85ce587a))


### 1.0.0-beta.1.1.4 (2016-03-01)


#### Bug Fixes

* **all:** remove core-js dependency ([4dff5f15](http://github.com/aurelia/dependency-injection/commit/4dff5f15761485ca744f82b950f9b6e9e719350e))


### 1.0.0-beta.1.1.3 (2016-02-08)


### 1.0.0-beta.1.1.1 (2016-01-28)

* fix package metadata for jspm

### 1.0.0-beta.1.1.0 (2016-01-28)


#### Bug Fixes

* **container:** correct inconsistent return type from getAll ([bbbef9e5](http://github.com/aurelia/dependency-injection/commit/bbbef9e582e4a81497db5655c7a7e9d2d1e5c10a), closes [#71](http://github.com/aurelia/dependency-injection/issues/71))


#### Features

* **all:** update for jspm; update core-js; update aurelia deps ([11d16867](http://github.com/aurelia/dependency-injection/commit/11d1686765c626896dbb3d5edb7f5b40da9dd5ca))


### 1.0.0-beta.1.0.1 (2016-01-08)

* minor perf work

### 1.0.0-beta.1 (2015-11-16)


### 0.12.1 (2015-11-11)


#### Bug Fixes

* **all:** TS fixes for decorators ([04257368](http://github.com/aurelia/dependency-injection/commit/0425736875302f80c0216c7caaa9421182f4184d))


## 0.12.0 (2015-11-09)


#### Bug Fixes

* **container:** bug with build combining and renamed imports ([090c041a](http://github.com/aurelia/dependency-injection/commit/090c041a53cd7d653cf034aa753ce90e9c0b3df1))
* **resolvers:** typo in resolver protocol name ([befe9668](http://github.com/aurelia/dependency-injection/commit/befe966899781d3c54710e75b901ebf0ebaa8d34))


#### Features

* **all:**
  * further refining of data structures and hooks; api lockdown and docs complete ([0ee0c34c](http://github.com/aurelia/dependency-injection/commit/0ee0c34cb0b63f5ca89a5ddca9c2a34cf6ed6ebc))
  * new resolver marker, fixed registrations, onActivate hook, invokers ([ca5ccf7d](http://github.com/aurelia/dependency-injection/commit/ca5ccf7d03e907ce9fb794dcbe9f0065ceba3c43))


### 0.11.2 (2015-10-15)


#### Bug Fixes

* **registrations:** move configuration to correct instance ([e6d4b542](http://github.com/aurelia/dependency-injection/commit/e6d4b5420aec12940fbce21852a44c248deb4340))


### 0.11.1 (2015-10-15)


#### Bug Fixes

* **registrations:** properly handle registrations that want to target different containers ([b60c1039](http://github.com/aurelia/dependency-injection/commit/b60c10392588b49b6b3ea2fb20c75c27c2a73bb5))


## 0.11.0 (2015-10-13)


#### Bug Fixes

* repair error msg for broken view model ([60880447](http://github.com/aurelia/dependency-injection/commit/60880447d758ebe2ce003bee4a5714557957045e))
* **Container:** remove new in function call ([08cd06fd](http://github.com/aurelia/dependency-injection/commit/08cd06fd6393e8941a2a2a0df012df3a209eedda))
* **all:**
  * update to latest metadata api ([bfa78327](http://github.com/aurelia/dependency-injection/commit/bfa78327ffd2992f18214ab6da0e25f37559cfc0))
  * address lint errors ([d2e36a57](http://github.com/aurelia/dependency-injection/commit/d2e36a5704a0f890142021fba4d2f0bc9d9dc67a))
  * improve some type info ([2aa55dea](http://github.com/aurelia/dependency-injection/commit/2aa55deaedee4fbc2a948df1547449cae7d49bd5))
  * switch to new metadata abstraction ([05f3bfde](http://github.com/aurelia/dependency-injection/commit/05f3bfde7b032d83df14eb7b23b6292534c91c02))
  * update compiler to latest version ([b6a3dd03](http://github.com/aurelia/dependency-injection/commit/b6a3dd034ce3b55a08770b969af2f113803cbd0e))
  * explicit import of core-js and switch to Reflect.construct ([5ebe60be](http://github.com/aurelia/dependency-injection/commit/5ebe60be9170dd8ecf34b19dc9b6e88144dfc13b))
  * switch to metadata api ([19c60ad9](http://github.com/aurelia/dependency-injection/commit/19c60ad976a6bd8216dfbddbe8f7ac12ca1325d2))
* **bower:** correct semver range ([3b7670c3](http://github.com/aurelia/dependency-injection/commit/3b7670c3ead8cc1b5e41874029f1e6fef86ed187))
* **build:**
  * update linting, testing and tools ([97d032c8](http://github.com/aurelia/dependency-injection/commit/97d032c85c747e25eb1bcd87d46f211916d2f239))
  * add missing bower bump ([39ab3d07](http://github.com/aurelia/dependency-injection/commit/39ab3d07d0c0d893206f61ebfe4f658a66303895))
* **container:**
  * improved alias handling ([a2eb66c3](http://github.com/aurelia/dependency-injection/commit/a2eb66c34ec05112ab9d702d2ee211b6a7f7714d))
  * prevent a breaking api change ([9198b164](http://github.com/aurelia/dependency-injection/commit/9198b1649d0e2405da32600e5aca3960f7bd1834))
  * add generics to Map type info ([072262ef](http://github.com/aurelia/dependency-injection/commit/072262ef7ca9656739e9bbda49fd3d75ba6c113c))
  * dry out bad key error message ([58a1036f](http://github.com/aurelia/dependency-injection/commit/58a1036f5e52eadfc1b3bd65a22ebaebf94d715c))
  * Improve error message on bad key for DI ([6495ad3b](http://github.com/aurelia/dependency-injection/commit/6495ad3b84938ea66749e07f8c271b87e0a53074), closes [#36](http://github.com/aurelia/dependency-injection/issues/36))
  * enable autoregister of non-functions ([c40ac432](http://github.com/aurelia/dependency-injection/commit/c40ac432ca6c3d63ccddb6c6c5bcaa2ffa6c5ba9), closes [#31](http://github.com/aurelia/dependency-injection/issues/31))
  * remove initialize hack ([5c9fdd09](http://github.com/aurelia/dependency-injection/commit/5c9fdd09dd1d0848da0b24c694c95e20ca82c01c))
  * better errors for instantiation failures ([8c5e3a64](http://github.com/aurelia/dependency-injection/commit/8c5e3a647bb4354f2c420d37e405792b9cc8601f))
  * factories are explicit ([667a16e4](http://github.com/aurelia/dependency-injection/commit/667a16e4dbd07b75493e0690ac4232d8c0cb508c), closes [#13](http://github.com/aurelia/dependency-injection/issues/13))
  * remove bogus createTypedChild api ([42b2ae2a](http://github.com/aurelia/dependency-injection/commit/42b2ae2a1507672f95503c0bc9257c755324a520))
  * discover registration attributes on base classes ([b7af69d1](http://github.com/aurelia/dependency-injection/commit/b7af69d101bad032acaf41e37140e57e52b6c07f))
* **decorators:** remove unnecessary returns ([150607d1](http://github.com/aurelia/dependency-injection/commit/150607d1cde449b8065440d5ca90b1a0a8e07721))
* **dependency-injection:** Use correct import for core-js We were previously using `import core from core-j ([625c1eea](http://github.com/aurelia/dependency-injection/commit/625c1eea4d2b90b7fbb22ebb75fb9feec3676829))
* **emptyParameters:** import from ./container ([7d4cfc92](http://github.com/aurelia/dependency-injection/commit/7d4cfc929514519138cc1af36661951dd5ff42c8))
* **optional:** add Optional annotation to public api ([1d688334](http://github.com/aurelia/dependency-injection/commit/1d688334ac5fe16ec692fe8a4bb09d63a7698632))
* **package:**
  * update aurelia tools and dts generator ([83c1e2cb](http://github.com/aurelia/dependency-injection/commit/83c1e2cb096ce8f6802d78419a5e9f0afb895776))
  * change jspm directories ([cef0da35](http://github.com/aurelia/dependency-injection/commit/cef0da351e26aa549e45b48dc6cd98e3e6b6fcaa))
  * update dependencies ([25e924ca](http://github.com/aurelia/dependency-injection/commit/25e924caccdfd033657047a22b93428b90363700))
  * update dependencies ([247d9ff9](http://github.com/aurelia/dependency-injection/commit/247d9ff925af07488d9ce6337e64e977370ab43a))
  * update Aurelia dependencies ([ccf09589](http://github.com/aurelia/dependency-injection/commit/ccf09589cfdd76ac77df12fad7e4ae6383000f48))
  * change doc json media type ([b82feb82](http://github.com/aurelia/dependency-injection/commit/b82feb82f758ddc820039d7e32b1079908706020))
  * update dependencies to latest ([54a0bda1](http://github.com/aurelia/dependency-injection/commit/54a0bda1a217200c07cbee81193b044038b2b09a))
  * add es6-shim polyfill ([4732acee](http://github.com/aurelia/dependency-injection/commit/4732acee560080be01ea579ac5124e63079e8571))
* **singleton:** alway register in the root container ([186b573e](http://github.com/aurelia/dependency-injection/commit/186b573e0e3d09f57bedf8fd7c37ab862dc2f5d1), closes [#22](http://github.com/aurelia/dependency-injection/issues/22))
* **util:**
  * fix ridiculously dumb error ([8cfe89f0](http://github.com/aurelia/dependency-injection/commit/8cfe89f0de5d2d6101f5421bf941dc84352bba9d))
  * function name polyfill should minify correctly ([85358c53](http://github.com/aurelia/dependency-injection/commit/85358c5359ddc0a069c4d049fd28d760052cb437))


#### Features

* **all:**
  * add pal dependency ([e2e1b6f9](http://github.com/aurelia/dependency-injection/commit/e2e1b6f9654ea26223a3ab5a7a9d5ca884e0e927))
  * new implementation ([481b29b9](http://github.com/aurelia/dependency-injection/commit/481b29b9a15518c82915c5f5a19a9958762e1b3e))
  * update to using the new metadata api ([51bfdd1e](http://github.com/aurelia/dependency-injection/commit/51bfdd1e1042178a301346a263b642e14aa5f394))
  * add decorator support ([120e61a3](http://github.com/aurelia/dependency-injection/commit/120e61a3aa686cee4a2cb7008a59d3b0eab8fb1c))
  * update to fluent metadata and add helpers ([8e3b7576](http://github.com/aurelia/dependency-injection/commit/8e3b7576bd7fda89bec4b2c79154c6a7a296a6aa))
* **annotations:** add optional resolver ([27a580d3](http://github.com/aurelia/dependency-injection/commit/27a580d38d1ea899fd10ba4dbe80639dda1422e0))
* **build:** update compiler and switch to register module format ([e959d7bb](http://github.com/aurelia/dependency-injection/commit/e959d7bb8f06cdc4bee5ee48afa5bdb62ed79ab3))
* **container:**
  * add ability to register aliases for any DI key ([d4451482](http://github.com/aurelia/dependency-injection/commit/d4451482ea8c9f48000e40cf7cdbdc850ec3c09e))
  * enable the invoke helper to take additional deps ([eec36d2a](http://github.com/aurelia/dependency-injection/commit/eec36d2a69e3ca35eef4798d91e66192dcb103d6))
  * turn a container instance into a globally reachable singleton instance ([3c02164b](http://github.com/aurelia/dependency-injection/commit/3c02164bdb04c2e0b9f3927f20cec453e67e6833))
  * improve helpfulness of activation errors ([47aa4871](http://github.com/aurelia/dependency-injection/commit/47aa48711a905101b83452daa5ded82242c186bd))
  * remove AtScript support ([6ed8891a](http://github.com/aurelia/dependency-injection/commit/6ed8891a3543d800475674343869c2e34e66107f))
  * use new logging AggregateError ([6e2548ef](http://github.com/aurelia/dependency-injection/commit/6e2548ef6f6b0e339f53793db1c76dc81ef6650c))
  * add unregister method ([2755688c](http://github.com/aurelia/dependency-injection/commit/2755688ce0a2bd13ef71adcda5ed7fa05092d3b4), closes [#19](http://github.com/aurelia/dependency-injection/issues/19))
  * consume atscript annotation parameters as arrays ([7303cb36](http://github.com/aurelia/dependency-injection/commit/7303cb36599873ec14fac9dd020b7aafe1e7d756), closes [#15](http://github.com/aurelia/dependency-injection/issues/15))
  * enable custom class init before constructor ([33b4cc1c](http://github.com/aurelia/dependency-injection/commit/33b4cc1c48502d5a321aced22111b4f5251f648d))
  * enable simple registration when key and value are the same ([9f1f502c](http://github.com/aurelia/dependency-injection/commit/9f1f502c9fa67d832b9b28397cbc1e3b5edc7082))
* **cotainer:** add InstanceActivator abstraction ([0fc2a317](http://github.com/aurelia/dependency-injection/commit/0fc2a3178183169ebb2c067c142e9cc7b3645e02))
* **docs:** generate api.json from .d.ts file ([c6acb7cf](http://github.com/aurelia/dependency-injection/commit/c6acb7cf6cca87343217aafdcea82321ec39ea71))
* **metadata:**  singleton metadata can now indicate root container target ([4a99d4f5](http://github.com/aurelia/dependency-injection/commit/4a99d4f5694ddeeba89a63331f1fb651b7df4b8c))
* **package:** switch from es6-shim to core-js ([90a501d4](http://github.com/aurelia/dependency-injection/commit/90a501d42409e50703c869e98ed8431b8ccb54d8))
* **resolver:** add parent resolver ([f035f1f5](http://github.com/aurelia/dependency-injection/commit/f035f1f5dece5c0316f18500e28ad37bdf9ac066))


#### Breaking Changes

* Removed base classes for registrations and instance
activators since metadata now uses key/value pairs rather than
inheritance.

 ([51bfdd1e](http://github.com/aurelia/dependency-injection/commit/51bfdd1e1042178a301346a263b642e14aa5f394))


### 0.10.1 (2015-09-06)


#### Bug Fixes

* repair error msg for broken view model ([60880447](http://github.com/aurelia/dependency-injection/commit/60880447d758ebe2ce003bee4a5714557957045e))


## 0.10.0 (2015-09-04)


#### Bug Fixes

* **all:** address lint errors ([d2e36a57](http://github.com/aurelia/dependency-injection/commit/d2e36a5704a0f890142021fba4d2f0bc9d9dc67a))
* **build:** update linting, testing and tools ([97d032c8](http://github.com/aurelia/dependency-injection/commit/97d032c85c747e25eb1bcd87d46f211916d2f239))


#### Features

* **docs:** generate api.json from .d.ts file ([c6acb7cf](http://github.com/aurelia/dependency-injection/commit/c6acb7cf6cca87343217aafdcea82321ec39ea71))


### 0.9.2 (2015-08-14)


#### Bug Fixes

* **all:** improve some type info ([2aa55dea](http://github.com/aurelia/dependency-injection/commit/2aa55deaedee4fbc2a948df1547449cae7d49bd5))
* **dependency-injection:** Use correct import for core-js We were previously using `import core from core-j ([625c1eea](http://github.com/aurelia/dependency-injection/commit/625c1eea4d2b90b7fbb22ebb75fb9feec3676829))


### 0.9.1 (2015-07-29)

* improve output file name

## 0.9.0 (2015-07-01)


#### Bug Fixes

* **all:** switch to new metadata abstraction ([05f3bfde](http://github.com/aurelia/dependency-injection/commit/05f3bfde7b032d83df14eb7b23b6292534c91c02))
* **container:**
  * add generics to Map type info ([072262ef](http://github.com/aurelia/dependency-injection/commit/072262ef7ca9656739e9bbda49fd3d75ba6c113c))
  * dry out bad key error message ([58a1036f](http://github.com/aurelia/dependency-injection/commit/58a1036f5e52eadfc1b3bd65a22ebaebf94d715c))
  * Improve error message on bad key for DI ([6495ad3b](http://github.com/aurelia/dependency-injection/commit/6495ad3b84938ea66749e07f8c271b87e0a53074), closes [#36](http://github.com/aurelia/dependency-injection/issues/36))
* **package:** update aurelia tools and dts generator ([83c1e2cb](http://github.com/aurelia/dependency-injection/commit/83c1e2cb096ce8f6802d78419a5e9f0afb895776))


#### Features

* **container:**
  * enable the invoke helper to take additional deps ([eec36d2a](http://github.com/aurelia/dependency-injection/commit/eec36d2a69e3ca35eef4798d91e66192dcb103d6))
  * turn a container instance into a globally reachable singleton instance ([3c02164b](http://github.com/aurelia/dependency-injection/commit/3c02164bdb04c2e0b9f3927f20cec453e67e6833))


## 0.8.0 (2015-06-08)


#### Bug Fixes

* **container:** enable autoregister of non-functions ([c40ac432](http://github.com/aurelia/dependency-injection/commit/c40ac432ca6c3d63ccddb6c6c5bcaa2ffa6c5ba9), closes [#31](http://github.com/aurelia/dependency-injection/issues/31))


#### Features

* **container:** improve helpfulness of activation errors ([47aa4871](http://github.com/aurelia/dependency-injection/commit/47aa48711a905101b83452daa5ded82242c186bd))


### 0.7.1 (2015-05-06)


#### Bug Fixes

* **emptyParameters:** import from ./container ([7d4cfc92](http://github.com/aurelia/dependency-injection/commit/7d4cfc929514519138cc1af36661951dd5ff42c8))


## 0.7.0 (2015-04-30)


#### Features

* **all:** update to using the new metadata api ([51bfdd1e](http://github.com/aurelia/dependency-injection/commit/51bfdd1e1042178a301346a263b642e14aa5f394))


#### Breaking Changes

* Removed base classes for registrations and instance
activators since metadata now uses key/value pairs rather than
inheritance.

 ([51bfdd1e](http://github.com/aurelia/dependency-injection/commit/51bfdd1e1042178a301346a263b642e14aa5f394))


## 0.6.0 (2015-04-09)


#### Bug Fixes

* **Container:** remove new in function call ([08cd06fd](http://github.com/aurelia/dependency-injection/commit/08cd06fd6393e8941a2a2a0df012df3a209eedda))
* **all:**
  * update compiler to latest version ([b6a3dd03](http://github.com/aurelia/dependency-injection/commit/b6a3dd034ce3b55a08770b969af2f113803cbd0e))
  * explicit import of core-js and switch to Reflect.construct ([5ebe60be](http://github.com/aurelia/dependency-injection/commit/5ebe60be9170dd8ecf34b19dc9b6e88144dfc13b))
* **container:** remove initialize hack ([5c9fdd09](http://github.com/aurelia/dependency-injection/commit/5c9fdd09dd1d0848da0b24c694c95e20ca82c01c))
* **decorators:** remove unnecessary returns ([150607d1](http://github.com/aurelia/dependency-injection/commit/150607d1cde449b8065440d5ca90b1a0a8e07721))


#### Features

* **all:** add decorator support ([120e61a3](http://github.com/aurelia/dependency-injection/commit/120e61a3aa686cee4a2cb7008a59d3b0eab8fb1c))
* **container:** remove AtScript support ([6ed8891a](http://github.com/aurelia/dependency-injection/commit/6ed8891a3543d800475674343869c2e34e66107f))
* **cotainer:** add InstanceActivator abstraction ([0fc2a317](http://github.com/aurelia/dependency-injection/commit/0fc2a3178183169ebb2c067c142e9cc7b3645e02))


### 0.5.1 (2015-03-27)


#### Bug Fixes

* **container:** better errors for instantiation failures ([8c5e3a64](http://github.com/aurelia/dependency-injection/commit/8c5e3a647bb4354f2c420d37e405792b9cc8601f))


## 0.5.0 (2015-03-24)


#### Bug Fixes

* **container:** factories are explicit ([667a16e4](http://github.com/aurelia/dependency-injection/commit/667a16e4dbd07b75493e0690ac4232d8c0cb508c), closes [#13](http://github.com/aurelia/dependency-injection/issues/13))
* **singleton:** always register in the root container ([186b573e](http://github.com/aurelia/dependency-injection/commit/186b573e0e3d09f57bedf8fd7c37ab862dc2f5d1), closes [#22](http://github.com/aurelia/dependency-injection/issues/22))


#### Features

* **container:**
  * use new logging AggregateError ([6e2548ef](http://github.com/aurelia/dependency-injection/commit/6e2548ef6f6b0e339f53793db1c76dc81ef6650c))
  * add unregister method ([2755688c](http://github.com/aurelia/dependency-injection/commit/2755688ce0a2bd13ef71adcda5ed7fa05092d3b4), closes [#19](http://github.com/aurelia/dependency-injection/issues/19))


### 0.4.5 (2015-02-28)


#### Bug Fixes

* **package:** change jspm directories ([cef0da35](http://github.com/aurelia/dependency-injection/commit/cef0da351e26aa549e45b48dc6cd98e3e6b6fcaa))


### 0.4.4 (2015-02-27)


#### Bug Fixes

* **package:** update dependencies ([25e924ca](http://github.com/aurelia/dependency-injection/commit/25e924caccdfd033657047a22b93428b90363700))


### 0.4.3 (2015-02-18)


#### Bug Fixes

* **build:** add missing bower bump ([39ab3d07](http://github.com/aurelia/dependency-injection/commit/39ab3d07d0c0d893206f61ebfe4f658a66303895))


#### Features

* **metadata:**  singleton metadata can now indicate root container target ([4a99d4f5](http://github.com/aurelia/dependency-injection/commit/4a99d4f5694ddeeba89a63331f1fb651b7df4b8c))


### 0.4.2 (2015-02-03)


#### Bug Fixes

* **util:**
  * fix ridiculously dumb error ([8cfe89f0](http://github.com/aurelia/dependency-injection/commit/8cfe89f0de5d2d6101f5421bf941dc84352bba9d))
  * function name polyfill should minify correctly ([85358c53](http://github.com/aurelia/dependency-injection/commit/85358c5359ddc0a069c4d049fd28d760052cb437))


#### Features

* **container:** consume atscript annotation parameters as arrays ([7303cb36](http://github.com/aurelia/dependency-injection/commit/7303cb36599873ec14fac9dd020b7aafe1e7d756), closes [#15](http://github.com/aurelia/dependency-injection/issues/15))


### 0.4.1 (2015-01-24)


#### Bug Fixes

* **bower:** correct semver range ([3b7670c3](http://github.com/aurelia/dependency-injection/commit/3b7670c3ead8cc1b5e41874029f1e6fef86ed187))


## 0.4.0 (2015-01-22)


#### Bug Fixes

* **all:** switch to metadata api ([19c60ad9](http://github.com/aurelia/dependency-injection/commit/19c60ad976a6bd8216dfbddbe8f7ac12ca1325d2))
* **package:** update dependencies ([247d9ff9](http://github.com/aurelia/dependency-injection/commit/247d9ff925af07488d9ce6337e64e977370ab43a))


#### Features

* **all:** update to fluent metadata and add helpers ([8e3b7576](http://github.com/aurelia/dependency-injection/commit/8e3b7576bd7fda89bec4b2c79154c6a7a296a6aa))
* **container:** enable custom class init before constructor ([33b4cc1c](http://github.com/aurelia/dependency-injection/commit/33b4cc1c48502d5a321aced22111b4f5251f648d))


### 0.3.1 (2015-01-12)

* Update compiled output.


## 0.3.0 (2015-01-12)


#### Bug Fixes

* **container:** remove bogus createTypedChild api ([42b2ae2a](http://github.com/aurelia/dependency-injection/commit/42b2ae2a1507672f95503c0bc9257c755324a520))
* **package:** update Aurelia dependencies ([ccf09589](http://github.com/aurelia/dependency-injection/commit/ccf09589cfdd76ac77df12fad7e4ae6383000f48))


#### Features

* **resolver:** add parent resolver ([f035f1f5](http://github.com/aurelia/dependency-injection/commit/f035f1f5dece5c0316f18500e28ad37bdf9ac066))


### 0.2.1 (2015-01-06)


#### Bug Fixes

* **package:** change doc json media type ([b82feb82](http://github.com/aurelia/dependency-injection/commit/b82feb82f758ddc820039d7e32b1079908706020))


## 0.2.0 (2015-01-06)


#### Bug Fixes

* **container:** discover registration attributes on base classes ([b7af69d1](http://github.com/aurelia/dependency-injection/commit/b7af69d101bad032acaf41e37140e57e52b6c07f))
* **optional:** add Optional annotation to public api ([1d688334](http://github.com/aurelia/dependency-injection/commit/1d688334ac5fe16ec692fe8a4bb09d63a7698632))


#### Features

* **annotations:** add optional resolver ([27a580d3](http://github.com/aurelia/dependency-injection/commit/27a580d38d1ea899fd10ba4dbe80639dda1422e0))
* **build:** update compiler and switch to register module format ([e959d7bb](http://github.com/aurelia/dependency-injection/commit/e959d7bb8f06cdc4bee5ee48afa5bdb62ed79ab3))
* **container:** enable simple registration when key and value are the same ([9f1f502c](http://github.com/aurelia/dependency-injection/commit/9f1f502c9fa67d832b9b28397cbc1e3b5edc7082))
* **package:** switch from es6-shim to core-js ([90a501d4](http://github.com/aurelia/dependency-injection/commit/90a501d42409e50703c869e98ed8431b8ccb54d8))


### 0.1.1 (2014-12-17)


#### Bug Fixes

* **package:** update dependencies to latest ([54a0bda1](http://github.com/aurelia/dependency-injection/commit/54a0bda1a217200c07cbee81193b044038b2b09a))


## 0.1.0 (2014-12-11)


#### Bug Fixes

* **package:** add es6-shim polyfill ([4732acee](http://github.com/aurelia/dependency-injection/commit/4732acee560080be01ea579ac5124e63079e8571))
