@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
1,568 lines (561 loc) • 58.3 kB
Markdown
---
lang: en
title: 'CHANGELOG - @loopback/context'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Node.js, TypeScript, OpenAPI, CHANGELOG
sidebar: lb4_sidebar
toc_level: 0
editurl: https://github.com/loopbackio/loopback-next/blob/master/packages/context/CHANGELOG.md
permalink: /doc/en/lb4/changelog.context.html
---
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [4.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@4.0.1...@loopback/context@4.1.0) (2022-02-14)
### Features
* update @types/node to v12 ([65a09a4](https://github.com/loopbackio/loopback-next/commit/65a09a406e4865f774f97b58af9e616733b8b255))
## [4.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@4.0.0...@loopback/context@4.0.1) (2022-01-11)
**Note:** Version bump only for package @loopback/context
# [4.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.18.0...@loopback/context@4.0.0) (2021-11-18)
### Features
* drop support for Node.js v10 ([9bcbbb3](https://github.com/loopbackio/loopback-next/commit/9bcbbb358ec3eabc3033d4e7e1c22b524a7069b3))
* support Node.js v17 ([8d86c03](https://github.com/loopbackio/loopback-next/commit/8d86c03cb7047e2b1f18d05870628ef5783e71b2))
* upgrade to TypeScript 4.5.2 ([72ece91](https://github.com/loopbackio/loopback-next/commit/72ece91289ecfdfd8747bb9888ad75db73e8ff4b))
### BREAKING CHANGES
* drop support for Node.js v10
Co-authored-by: Francisco Buceta <frbuceta@gmail.com>
Signed-off-by: Rifa Achrinza <25147899+achrinza@users.noreply.github.com>
# [3.18.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.17.2...@loopback/context@3.18.0) (2021-10-18)
### Features
* allow context view to return proxies ([8269c21](https://github.com/loopbackio/loopback-next/commit/8269c21e64503408f36baefcc23d2393bbad0bfe))
## [3.17.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.17.1...@loopback/context@3.17.2) (2021-09-16)
**Note:** Version bump only for package @loopback/context
## [3.17.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.17.0...@loopback/context@3.17.1) (2021-07-15)
**Note:** Version bump only for package @loopback/context
# [3.17.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.16.0...@loopback/context@3.17.0) (2021-06-10)
### Features
* **context:** simplify resolutionsession by inlining enterInjection and enterBinding internals ([e2a0c4f](https://github.com/loopbackio/loopback-next/commit/e2a0c4fecc6417eab260d6d9b725e87ed90b50b0))
* improve TypeScript typing for AsyncProxy ([cc2d85e](https://github.com/loopbackio/loopback-next/commit/cc2d85e9d063ae4abfdc7e7b009c1aab33c1ef7e))
# [3.16.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.15.1...@loopback/context@3.16.0) (2021-05-03)
### Bug Fixes
* **context:** ensure non-proxy value is cached for bindings ([96cf5da](https://github.com/loopbackio/loopback-next/commit/96cf5da1c82017d31f24d6f93f90d1543bee887c))
### Features
* support node v16 ([ac99415](https://github.com/loopbackio/loopback-next/commit/ac994154543bde22b4482ba98813351656db1b55))
## [3.15.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.15.0...@loopback/context@3.15.1) (2021-04-06)
**Note:** Version bump only for package @loopback/context
# [3.15.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.14.1...@loopback/context@3.15.0) (2021-03-18)
### Features
* update package-lock.json to v2 consistently ([dfc3fbd](https://github.com/loopbackio/loopback-next/commit/dfc3fbdae0c9ca9f34c64154a471bef22d5ac6b7))
## [3.14.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.14.0...@loopback/context@3.14.1) (2021-02-09)
**Note:** Version bump only for package @loopback/context
# [3.14.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.13.2...@loopback/context@3.14.0) (2021-01-21)
### Bug Fixes
* **context:** make sure subclass is used for create binding from class ([befbbcf](https://github.com/loopbackio/loopback-next/commit/befbbcf04bb66b1764291139c2bdd67a869d62d4))
### Features
* **context:** allow asProxyWithInterceptors to be used for non-class bindings ([ebec122](https://github.com/loopbackio/loopback-next/commit/ebec1228af2ef6afc2377c7a293bab9f698fd4a8))
## [3.13.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.13.1...@loopback/context@3.13.2) (2020-12-07)
**Note:** Version bump only for package @loopback/context
## [3.13.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.13.0...@loopback/context@3.13.1) (2020-11-18)
### Bug Fixes
* re-export generateUniqueId in index.ts ([e392056](https://github.com/loopbackio/loopback-next/commit/e392056471cb06c603ed9313e78886fe606e34a9)), closes [#6767](https://github.com/loopbackio/loopback-next/issues/6767)
# [3.13.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.12.0...@loopback/context@3.13.0) (2020-11-05)
### Features
* **context:** add binding.toInjectable shortcut ([230923a](https://github.com/loopbackio/loopback-next/commit/230923ada9f8d17038bf819a7b9b0615cedbce31))
# [3.12.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.11.1...@loopback/context@3.12.0) (2020-10-07)
### Features
* **context:** introduce new binding scopes ([9916cfd](https://github.com/loopbackio/loopback-next/commit/9916cfd4449a870f7a3378e2e674957aed7c1626))
## [3.11.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.11.0...@loopback/context@3.11.1) (2020-09-17)
**Note:** Version bump only for package @loopback/context
# [3.11.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.10.1...@loopback/context@3.11.0) (2020-09-15)
### Bug Fixes
* improve handling of missing design-time type metadata ([95b6a2b](https://github.com/loopbackio/loopback-next/commit/95b6a2b7ce64e614720df43b905f77a53a54e438))
### Features
* **context:** add `[@injectable](https://github.com/injectable)` as a preferred decorator for `[@bind](https://github.com/bind)` ([1f75c35](https://github.com/loopbackio/loopback-next/commit/1f75c35937a4190564bdade48b0782c4364f6101))
* allow dynamic value provider classes and classes with [@inject](https://github.com/inject) to be booted ([7b85cdf](https://github.com/loopbackio/loopback-next/commit/7b85cdf63730ef659a4ee799f05f02eea8a1e3e8))
## [3.10.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.10.0...@loopback/context@3.10.1) (2020-08-27)
**Note:** Version bump only for package @loopback/context
# [3.10.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.9.4...@loopback/context@3.10.0) (2020-08-19)
### Features
* **context:** propagate resolution session to dynamic value factory ([60929f1](https://github.com/loopbackio/loopback-next/commit/60929f1193b3ac0eadc3b70e3e3efc8206e40bab))
## [3.9.4](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.9.3...@loopback/context@3.9.4) (2020-08-05)
**Note:** Version bump only for package @loopback/context
## [3.9.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.9.2...@loopback/context@3.9.3) (2020-07-20)
### Bug Fixes
* **context:** destroy debug instances to avoid memory leak ([a28d53c](https://github.com/loopbackio/loopback-next/commit/a28d53c8951bf71af62f5238d694662905d1a8f6))
## [3.9.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.9.1...@loopback/context@3.9.2) (2020-06-30)
**Note:** Version bump only for package @loopback/context
## [3.9.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.9.0...@loopback/context@3.9.1) (2020-06-23)
### Bug Fixes
* set node version to >=10.16 to support events.once ([e39da1c](https://github.com/loopbackio/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
* **context:** cache binding value or promise as-is to avoid racing condition ([38b9b96](https://github.com/loopbackio/loopback-next/commit/38b9b968e5b0c033d9a1f4a304c4cebbb345fac7))
# [3.9.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.8.2...@loopback/context@3.9.0) (2020-06-11)
### Features
* **context:** add `tryCatchFinally` helper function for value or promise ([c764ac6](https://github.com/loopbackio/loopback-next/commit/c764ac61c3305fba5f8c59357243507e8a940ba6))
* **context:** add strongly typed `on` and `once` methods ([3f14bfa](https://github.com/loopbackio/loopback-next/commit/3f14bfa05679fd2642221a9bba0a0e80864b706d))
* **context:** improve error reporting with more contextual information ([2a30484](https://github.com/loopbackio/loopback-next/commit/2a30484f90b08803f14669524f8eb64c35031da9))
* **context:** use a faster UID generator ([e5e3d19](https://github.com/loopbackio/loopback-next/commit/e5e3d193a182b364a0877dd223be7a0d936a91cd))
## [3.8.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.8.1...@loopback/context@3.8.2) (2020-05-28)
**Note:** Version bump only for package @loopback/context
## [3.8.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.8.0...@loopback/context@3.8.1) (2020-05-20)
**Note:** Version bump only for package @loopback/context
# [3.8.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.7.0...@loopback/context@3.8.0) (2020-05-19)
### Bug Fixes
* **context:** check parameter design type for method injections ([7e81e10](https://github.com/loopbackio/loopback-next/commit/7e81e10f8d5c5c5cd9be0e091fde9bf8c4b1e3b3))
### Features
* **context:** allow bindings to be created from dynamic value provider classes ([9e15154](https://github.com/loopbackio/loopback-next/commit/9e15154dae3a3b51b5e090ecfe4052f416051332))
* **context:** pass resolution context to the factory function for toDynamicValue() ([6513d3f](https://github.com/loopbackio/loopback-next/commit/6513d3f5e36b90f58501cfbf311b2b26210d44dd))
* **context:** use a `_source` to keep the original value provider for bindings ([90679f3](https://github.com/loopbackio/loopback-next/commit/90679f3826a8cf18f06123503a9b96c763b5dc20))
* **core:** allow extensionFilter to take a list of extension point names ([8f315eb](https://github.com/loopbackio/loopback-next/commit/8f315eb46bee7365da5325a23b948df9d477bfdb))
# [3.7.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.6.0...@loopback/context@3.7.0) (2020-05-07)
### Bug Fixes
* **context:** allow binding keys to be used with composeInterceptors() ([0663c04](https://github.com/loopbackio/loopback-next/commit/0663c0425b77cbbfa6391e0c4bd92f56b590a548))
### Features
* **context:** add registerInterceptor helper function and app.interceptor ([c760966](https://github.com/loopbackio/loopback-next/commit/c76096684771ffaf535b75b025892ccfb057bff0))
* **context:** allow composition of intercetors ([261e9eb](https://github.com/loopbackio/loopback-next/commit/261e9eb7d197fc480ab241bdd3b70b8a6e272908))
* **context:** allows bindings with singleton/context scopes to be refreshed ([8155147](https://github.com/loopbackio/loopback-next/commit/8155147ceae756b60a0c9289f94ea8be6199c6d7))
* **context:** allows default namespace for bindings from classes ([ec2da01](https://github.com/loopbackio/loopback-next/commit/ec2da01d766881da1c90dd47c50f8af319e04614))
* **context:** consolidate uuid generation and testing ([5abe25e](https://github.com/loopbackio/loopback-next/commit/5abe25ecc2632b0d25140b5e863dfee446c29a01))
* **context:** force interceptor functions to return a value ([5663a76](https://github.com/loopbackio/loopback-next/commit/5663a7642cbbb43fab08020d398393d0aabeed86))
* **context:** relax parameter type for isProviderClass() ([aafe7d0](https://github.com/loopbackio/loopback-next/commit/aafe7d002a3bc0d2a1db5aceb054f25cb4f4f11f))
# [3.6.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.5.1...@loopback/context@3.6.0) (2020-04-29)
### Features
* **context:** add `BindingKey.generate` to generate unique binding keys ([9478d31](https://github.com/loopbackio/loopback-next/commit/9478d319a472e1dca4122a29dbb414ce1525bdb0))
## [3.5.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.5.0...@loopback/context@3.5.1) (2020-04-23)
**Note:** Version bump only for package @loopback/context
# [3.5.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.4.0...@loopback/context@3.5.0) (2020-04-22)
### Features
* update package.json and .travis.yml for builds ([cb2b8e6](https://github.com/loopbackio/loopback-next/commit/cb2b8e6a18616dda7783c0193091039d4e608131))
* **context:** allow explicit invocation source for proxies ([98115f2](https://github.com/loopbackio/loopback-next/commit/98115f299e250f124791ff211ae686a4d8c964ce))
* **context:** improve generic typing for binding inspection ([819fabb](https://github.com/loopbackio/loopback-next/commit/819fabb04390ce8268c1dc7869253b01eafde4cb))
# [3.4.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.3.0...@loopback/context@3.4.0) (2020-04-11)
### Features
* **context:** expose debug method to subclasses ([f651e5b](https://github.com/loopbackio/loopback-next/commit/f651e5be28efe624e83a7139152ed00554580dca))
# [3.3.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.2.0...@loopback/context@3.3.0) (2020-04-08)
### Bug Fixes
* **context:** fix context observer to catch errors by waitUntilPendingNotificationsDone ([3dad6c0](https://github.com/loopbackio/loopback-next/commit/3dad6c0c22ef23506daf6f7d7ad28c247e6080c5))
### Features
* remove Node.js 8.x polyfill for Symbol.asyncIterator ([eeb8772](https://github.com/loopbackio/loopback-next/commit/eeb877276cf62d32856eb7227d78618ab4c93c2e))
# [3.2.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.1.0...@loopback/context@3.2.0) (2020-03-24)
### Features
* **context:** emit bind/unbind events on ContextView ([65e3d38](https://github.com/loopbackio/loopback-next/commit/65e3d38a34b351929ba422de667bc236e9619ebe))
* **context:** improve context view for bind/unbind events ([6a5f90a](https://github.com/loopbackio/loopback-next/commit/6a5f90aadb5f5ba213f2da7ea7843f488a09f95d))
# [3.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@3.0.0...@loopback/context@3.1.0) (2020-03-17)
### Features
* **context:** introduce TagValueMatcher for more flexible tag matching ([deaf2ed](https://github.com/loopbackio/loopback-next/commit/deaf2eda29421e73244d3d27006b502c7dcc25e2))
# [3.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@2.1.1...@loopback/context@3.0.0) (2020-03-05)
### chore
* remove support for Node.js v8.x ([4281d9d](https://github.com/loopbackio/loopback-next/commit/4281d9df50f0715d32879e1442a90b643ec8f542))
### Features
* **context:** allow tags to be matched by a given name with any value ([7cf053e](https://github.com/loopbackio/loopback-next/commit/7cf053e49f46b93033c6b7c5e80daffe8406b2af))
* **context:** remove generic parameters from `BindingFilter` type ([1ce33af](https://github.com/loopbackio/loopback-next/commit/1ce33afeefc1c928085ed505adaa32cc06574a0c))
* add `tslib` as dependency ([a6e0b4c](https://github.com/loopbackio/loopback-next/commit/a6e0b4ce7b862764167cefedee14c1115b25e0a4)), closes [#4676](https://github.com/loopbackio/loopback-next/issues/4676)
* **context:** improve ctx.inspect() to allow classes with colliding names ([e7380fc](https://github.com/loopbackio/loopback-next/commit/e7380fc467fe43fd801d8eca05e37745fc922aed))
### BREAKING CHANGES
* **context:** The type `BindingFilter` is no longer generic. Please
update your code and remove any generic arguments provided for the type.
```diff
- BindingFilter<SomeType>
+ BindingFilter
```
Signed-off-by: Miroslav Bajtoš <mbajtoss@gmail.com>
* Node.js v8.x is now end of life. Please upgrade to version
10 and above. See https://nodejs.org/en/about/releases.
## [2.1.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@2.1.0...@loopback/context@2.1.1) (2020-02-06)
### Bug Fixes
* **context:** relax checking on instances of BindingKey class ([8668eb6](https://github.com/loopbackio/loopback-next/commit/8668eb64b267e2644be87db92aeb86188d7e86f7))
# [2.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@2.0.0...@loopback/context@2.1.0) (2020-02-05)
### Features
* **context:** allow more options to inspect context/binding objects ([3be32a3](https://github.com/loopbackio/loopback-next/commit/3be32a34a0109e4f4f2eb0fcfa60171bd66743a6))
* **context:** improve context name with the subclass name as prefix ([42d2e1b](https://github.com/loopbackio/loopback-next/commit/42d2e1b302e4c9f58df864c0ca01cb2ca181060a))
* **context:** tidy up binding information for inspection ([15d698b](https://github.com/loopbackio/loopback-next/commit/15d698b46841efc0c6bc12bdc89538db77371254))
# [2.0.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.25.1...@loopback/context@2.0.0) (2020-01-27)
### Features
* **context:** add ContextEventListener and tidy up parent event handling ([beb41a7](https://github.com/loopbackio/loopback-next/commit/beb41a7b105cf1aea64982e3f43f4d5a8128581f))
* **context:** index bindings by tag to speed up matching by tag ([566b9d9](https://github.com/loopbackio/loopback-next/commit/566b9d9a35ce52d9aeefe17e36f91c9714616b21))
* **context:** keep binding tag pattern for BindingTagFilter ([856b62d](https://github.com/loopbackio/loopback-next/commit/856b62d7053c22ebe0f6acf6a1904e524175429c))
* **context:** make bindings as event emitters to report changes ([dddddb9](https://github.com/loopbackio/loopback-next/commit/dddddb96fd6908a8d4caad8868e43d3d0bb742f6))
* **context:** refactor context observer subscription into a new class ([31ad9a5](https://github.com/loopbackio/loopback-next/commit/31ad9a55bbd068cd8e41347fca5caaf0ae5eb6e7))
* **context:** set max listeners to Infinity by default ([0741e3b](https://github.com/loopbackio/loopback-next/commit/0741e3b1293065a04f1ecd9dbda09df074a5dd34))
* **context:** use BindingEvent for binding event listeners ([ae5febc](https://github.com/loopbackio/loopback-next/commit/ae5febc35679f4d77b9970ecc26a71938a1c972e))
### BREAKING CHANGES
* **context:** Context events are now emitted as `ContextEvent` objects
instead of positional arguments. Context listener functions must switch from
the old style to new style as follows:
1. Old style
```ts
ctx.on('bind', (binding, context) => {
// ...
});
```
2. New style
```ts
ctx.on('bind', (event: ContextEvent) => {
// ...
});
```
Or:
```ts
ctx.on('bind', ({binding, context, type}) => {
// ...
});
```
## [1.25.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.25.0...@loopback/context@1.25.1) (2020-01-07)
**Note:** Version bump only for package @loopback/context
# [1.25.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.24.0...@loopback/context@1.25.0) (2019-12-09)
### Features
* **context:** allow global interceptors to be applied based on source types ([77cbd01](https://github.com/loopbackio/loopback-next/commit/77cbd019027e1441339735326bcfb86a23df8b66))
* **context:** make it possible to set source information for interceptions ([2a1ccb4](https://github.com/loopbackio/loopback-next/commit/2a1ccb409a889d8b30b03ddf3284c9e9d5554e27))
# [1.24.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.23.5...@loopback/context@1.24.0) (2019-11-25)
### Features
* **context:** allow current binding to be injected with `[@inject](https://github.com/inject).binding` ([c01b4c6](https://github.com/loopbackio/loopback-next/commit/c01b4c6b4dcc5c7ac79832bda144b1ec0da191b1))
* **context:** improve context/binding with inspect/toJSON for metadata dumping ([ac399f7](https://github.com/loopbackio/loopback-next/commit/ac399f7f105eea402ef1932bd96093baad0a009f))
* **core:** add [@service](https://github.com/service) decorator to inject a service by class/interface ([1d80904](https://github.com/loopbackio/loopback-next/commit/1d80904b670724b00cb6a2965b8472f44d23eed0))
## [1.23.5](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.23.4...@loopback/context@1.23.5) (2019-11-12)
**Note:** Version bump only for package @loopback/context
## [1.23.4](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.23.3...@loopback/context@1.23.4) (2019-10-24)
**Note:** Version bump only for package @loopback/context
## [1.23.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.23.2...@loopback/context@1.23.3) (2019-10-07)
**Note:** Version bump only for package @loopback/context
## [1.23.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.23.1...@loopback/context@1.23.2) (2019-09-28)
**Note:** Version bump only for package @loopback/context
## [1.23.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.23.0...@loopback/context@1.23.1) (2019-09-27)
**Note:** Version bump only for package @loopback/context
# [1.23.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.22.1...@loopback/context@1.23.0) (2019-09-17)
### Features
* **context:** add more logs to simplify troubleshooting ([7752b08](https://github.com/loopbackio/loopback-next/commit/7752b08))
## [1.22.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.22.0...@loopback/context@1.22.1) (2019-09-06)
### Bug Fixes
* **context:** allow `inject` to be explicitly invoked for class ctor args ([6a0d4f2](https://github.com/loopbackio/loopback-next/commit/6a0d4f2))
# [1.22.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.21.4...@loopback/context@1.22.0) (2019-09-03)
### Features
* **context:** add decorator name for [@inject](https://github.com/inject).*, [@config](https://github.com/config).*, [@intercept](https://github.com/intercept) errors ([48e3231](https://github.com/loopbackio/loopback-next/commit/48e3231))
* **context:** allow [@bind](https://github.com/bind) to be applied on the same class multiple times ([ad4d22c](https://github.com/loopbackio/loopback-next/commit/ad4d22c))
## [1.21.4](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.21.3...@loopback/context@1.21.4) (2019-08-19)
**Note:** Version bump only for package @loopback/context
## [1.21.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.21.2...@loopback/context@1.21.3) (2019-08-15)
**Note:** Version bump only for package @loopback/context
## [1.21.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.21.1...@loopback/context@1.21.2) (2019-08-15)
**Note:** Version bump only for package @loopback/context
## [1.21.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.21.0...@loopback/context@1.21.1) (2019-07-31)
**Note:** Version bump only for package @loopback/context
# [1.21.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.20.3...@loopback/context@1.21.0) (2019-07-26)
### Features
* **context:** allow [@config](https://github.com/config).* to specify the target binding key ([42b7b98](https://github.com/loopbackio/loopback-next/commit/42b7b98))
* **context:** use invocation context for method dependency injection ([a8f326c](https://github.com/loopbackio/loopback-next/commit/a8f326c))
## [1.20.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.20.2...@loopback/context@1.20.3) (2019-07-17)
**Note:** Version bump only for package @loopback/context
## [1.20.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.20.1...@loopback/context@1.20.2) (2019-06-28)
### Bug Fixes
* address violations of "no-floating-promises" rule ([0947531](https://github.com/loopbackio/loopback-next/commit/0947531))
## [1.20.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.20.0...@loopback/context@1.20.1) (2019-06-21)
**Note:** Version bump only for package @loopback/context
# [1.20.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.19.1...@loopback/context@1.20.0) (2019-06-20)
### Features
* **context:** generalize interceptors and chain for invocations ([34d31d8](https://github.com/loopbackio/loopback-next/commit/34d31d8))
## [1.19.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.19.0...@loopback/context@1.19.1) (2019-06-17)
**Note:** Version bump only for package @loopback/context
# [1.19.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.18.0...@loopback/context@1.19.0) (2019-06-06)
### Features
* **context:** add `[@global](https://github.com/global)Interceptor` decorator ([1010a37](https://github.com/loopbackio/loopback-next/commit/1010a37))
# [1.18.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.17.1...@loopback/context@1.18.0) (2019-06-03)
### Features
* replace tslint with eslint ([44185a7](https://github.com/loopbackio/loopback-next/commit/44185a7))
## [1.17.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.17.0...@loopback/context@1.17.1) (2019-05-31)
**Note:** Version bump only for package @loopback/context
# [1.17.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.16.0...@loopback/context@1.17.0) (2019-05-30)
### Bug Fixes
* **context:** allow injection when a class decorator returns a mixin ([28cc0a0](https://github.com/loopbackio/loopback-next/commit/28cc0a0))
* **context:** allow optional for a binding without value getter ([e211a71](https://github.com/loopbackio/loopback-next/commit/e211a71))
### Features
* **context:** make parent public for invocation context ([19856c6](https://github.com/loopbackio/loopback-next/commit/19856c6))
### Performance Improvements
* **context:** cache description of method parameter injections ([127f7c2](https://github.com/loopbackio/loopback-next/commit/127f7c2))
# [1.16.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.15.0...@loopback/context@1.16.0) (2019-05-23)
### Features
* **context:** add singleValue to ContextView ([22bd57f](https://github.com/loopbackio/loopback-next/commit/22bd57f))
* **context:** leave local bindings and parent unchanged during close ([198af88](https://github.com/loopbackio/loopback-next/commit/198af88))
* **context:** support binding config and [@inject](https://github.com/inject).config ([a392852](https://github.com/loopbackio/loopback-next/commit/a392852))
# [1.15.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.14.0...@loopback/context@1.15.0) (2019-05-14)
### Features
* **context:** add binding comparator to sort bindings ([ae3d61f](https://github.com/loopbackio/loopback-next/commit/ae3d61f))
# [1.14.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.13.0...@loopback/context@1.14.0) (2019-05-10)
### Bug Fixes
* **context:** close invocation context only after async is done ([e71e990](https://github.com/loopbackio/loopback-next/commit/e71e990))
### Features
* **context:** add more getters for InvocationContext ([12a3ecb](https://github.com/loopbackio/loopback-next/commit/12a3ecb))
# [1.13.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.12.1...@loopback/context@1.13.0) (2019-05-09)
### Features
* **context:** add support for method interceptors ([293188d](https://github.com/loopbackio/loopback-next/commit/293188d))
## [1.12.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.12.0...@loopback/context@1.12.1) (2019-05-06)
**Note:** Version bump only for package @loopback/context
# [1.12.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.11.0...@loopback/context@1.12.0) (2019-04-20)
### Features
* **build:** add more TypeScript "strict" checks ([866aa2f](https://github.com/loopbackio/loopback-next/commit/866aa2f))
* **context:** add `[@inject](https://github.com/inject).binding` and improve `[@inject](https://github.com/inject).setter` ([a396274](https://github.com/loopbackio/loopback-next/commit/a396274))
* **context:** fix generic typing for BindingFilter ([372b406](https://github.com/loopbackio/loopback-next/commit/372b406))
# [1.11.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.10.0...@loopback/context@1.11.0) (2019-04-11)
### Bug Fixes
* **context:** instantiate class with non-injected arguments ([6699825](https://github.com/loopbackio/loopback-next/commit/6699825))
### Features
* **context:** make Injection.metadata a required property ([dcc9cac](https://github.com/loopbackio/loopback-next/commit/dcc9cac))
# [1.10.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.9.0...@loopback/context@1.10.0) (2019-04-09)
### Features
* **context:** always pass the session to ResolverFunction ([bf36532](https://github.com/loopbackio/loopback-next/commit/bf36532))
# [1.9.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.8.1...@loopback/context@1.9.0) (2019-04-05)
### Bug Fixes
* **context:** clear binding cache upon scope or value getter changes ([122fe7b](https://github.com/loopbackio/loopback-next/commit/122fe7b))
### Features
* **context:** add a helper function to create a getter from binding filter ([41248f3](https://github.com/loopbackio/loopback-next/commit/41248f3))
* **context:** add binding.toAlias() to resolve values from another binding ([15dcd16](https://github.com/loopbackio/loopback-next/commit/15dcd16))
* **context:** pass resolution options into binding.getValue() ([705dcd5](https://github.com/loopbackio/loopback-next/commit/705dcd5))
## [1.8.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.8.0...@loopback/context@1.8.1) (2019-03-22)
**Note:** Version bump only for package @loopback/context
# [1.8.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.7.0...@loopback/context@1.8.0) (2019-03-22)
### Features
* **context:** allow namespace tag for createBindingFromClass ([f6fe55e](https://github.com/loopbackio/loopback-next/commit/f6fe55e))
* **context:** honor binding scope from [@bind](https://github.com/bind) ([3b30f01](https://github.com/loopbackio/loopback-next/commit/3b30f01))
* **context:** improve typing for binding related methods ([f6cf0c6](https://github.com/loopbackio/loopback-next/commit/f6cf0c6))
* **context:** tidy up context for resolving injections of a singleton binding ([f5bf43c](https://github.com/loopbackio/loopback-next/commit/f5bf43c))
# [1.7.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.6.0...@loopback/context@1.7.0) (2019-03-12)
### Features
* **context:** add [@inject](https://github.com/inject).view and extend [@inject](https://github.com/inject) for multiple bindings ([d64268b](https://github.com/loopbackio/loopback-next/commit/d64268b))
* **context:** add events to ContextView ([fb10efc](https://github.com/loopbackio/loopback-next/commit/fb10efc))
* **context:** introduce context view to watch bindings by filter ([04209f7](https://github.com/loopbackio/loopback-next/commit/04209f7))
# [1.6.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.5.1...@loopback/context@1.6.0) (2019-02-25)
### Features
* **context:** introduce async context observers for bind/unbind events ([e5e5fc4](https://github.com/loopbackio/loopback-next/commit/e5e5fc4))
## [1.5.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.5.0...@loopback/context@1.5.1) (2019-02-08)
**Note:** Version bump only for package @loopback/context
# [1.5.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.4.1...@loopback/context@1.5.0) (2019-01-28)
### Features
* **context:** add default template argument for BindingAddress ([7113105](https://github.com/loopbackio/loopback-next/commit/7113105))
* **context:** binding filters ([ff85e74](https://github.com/loopbackio/loopback-next/commit/ff85e74))
## [1.4.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.4.0...@loopback/context@1.4.1) (2019-01-14)
### Bug Fixes
* rework tslint comments disabling "no-unused-variable" rule ([a18a3d7](https://github.com/loopbackio/loopback-next/commit/a18a3d7))
# [1.4.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.3.0...@loopback/context@1.4.0) (2018-12-20)
### Features
* **context:** add `[@bind](https://github.com/bind)` to decorate classes with more information ([b8f9792](https://github.com/loopbackio/loopback-next/commit/b8f9792))
# [1.3.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.2.0...@loopback/context@1.3.0) (2018-12-13)
### Features
* **context:** add binding.apply(templateFn) ([f046b30](https://github.com/loopbackio/loopback-next/commit/f046b30))
# [1.2.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.1.0...@loopback/context@1.2.0) (2018-11-26)
### Features
* **rest:** allow body parsers to be extended ([86bfcbc](https://github.com/loopbackio/loopback-next/commit/86bfcbc))
# [1.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.0.1...@loopback/context@1.1.0) (2018-11-14)
### Features
* **context:** add support for context.add(binding) ([8f77cef](https://github.com/loopbackio/loopback-next/commit/8f77cef))
* **core:** allow components to expose an array of bindings ([eae0da3](https://github.com/loopbackio/loopback-next/commit/eae0da3))
<a name="1.0.1"></a>
## [1.0.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@1.0.0...@loopback/context@1.0.1) (2018-11-08)
**Note:** Version bump only for package @loopback/context
<a name="0.13.2"></a>
## [0.13.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.13.1...@loopback/context@0.13.2) (2018-10-08)
**Note:** Version bump only for package @loopback/context
<a name="0.13.1"></a>
## [0.13.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.13.0...@loopback/context@0.13.1) (2018-10-05)
**Note:** Version bump only for package @loopback/context
<a name="0.13.0"></a>
# [0.13.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.13...@loopback/context@0.13.0) (2018-10-03)
### Features
* **context:** add a helper `Getter.fromValue()` ([4764166](https://github.com/loopbackio/loopback-next/commit/4764166))
<a name="0.12.13"></a>
## [0.12.13](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.12...@loopback/context@0.12.13) (2018-09-28)
**Note:** Version bump only for package @loopback/context
<a name="0.12.12"></a>
## [0.12.12](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.11...@loopback/context@0.12.12) (2018-09-27)
**Note:** Version bump only for package @loopback/context
<a name="0.12.11"></a>
## [0.12.11](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.10...@loopback/context@0.12.11) (2018-09-25)
**Note:** Version bump only for package @loopback/context
<a name="0.12.10"></a>
## [0.12.10](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.9...@loopback/context@0.12.10) (2018-09-21)
**Note:** Version bump only for package @loopback/context
<a name="0.12.9"></a>
## [0.12.9](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.8...@loopback/context@0.12.9) (2018-09-19)
**Note:** Version bump only for package @loopback/context
<a name="0.12.8"></a>
## [0.12.8](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.7...@loopback/context@0.12.8) (2018-09-12)
**Note:** Version bump only for package @loopback/context
<a name="0.12.7"></a>
## [0.12.7](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.6...@loopback/context@0.12.7) (2018-09-10)
**Note:** Version bump only for package @loopback/context
<a name="0.12.6"></a>
## [0.12.6](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.5...@loopback/context@0.12.6) (2018-09-08)
**Note:** Version bump only for package @loopback/context
<a name="0.12.5"></a>
## [0.12.5](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.4...@loopback/context@0.12.5) (2018-08-24)
**Note:** Version bump only for package @loopback/context
<a name="0.12.4"></a>
## [0.12.4](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.3...@loopback/context@0.12.4) (2018-08-15)
### Bug Fixes
* **context:** check constructor/method override for [@inject](https://github.com/inject) ([8c0bdb6](https://github.com/loopbackio/loopback-next/commit/8c0bdb6))
<a name="0.12.3"></a>
## [0.12.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.2...@loopback/context@0.12.3) (2018-08-08)
**Note:** Version bump only for package @loopback/context
<a name="0.12.2"></a>
## [0.12.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.1...@loopback/context@0.12.2) (2018-07-21)
**Note:** Version bump only for package @loopback/context
<a name="0.12.1"></a>
## [0.12.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.12.0...@loopback/context@0.12.1) (2018-07-20)
**Note:** Version bump only for package @loopback/context
<a name="0.12.0"></a>
# [0.12.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.11...@loopback/context@0.12.0) (2018-07-20)
**Note:** Version bump only for package @loopback/context
<a name="0.11.11"></a>
## [0.11.11](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.10...@loopback/context@0.11.11) (2018-07-11)
**Note:** Version bump only for package @loopback/context
<a name="0.11.10"></a>
## [0.11.10](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.9...@loopback/context@0.11.10) (2018-07-10)
**Note:** Version bump only for package @loopback/context
<a name="0.11.9"></a>
## [0.11.9](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.8...@loopback/context@0.11.9) (2018-06-28)
**Note:** Version bump only for package @loopback/context
<a name="0.11.8"></a>
## [0.11.8](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.7...@loopback/context@0.11.8) (2018-06-27)
**Note:** Version bump only for package @loopback/context
<a name="0.11.7"></a>
## [0.11.7](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.6...@loopback/context@0.11.7) (2018-06-20)
**Note:** Version bump only for package @loopback/context
<a name="0.11.6"></a>
## [0.11.6](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.5...@loopback/context@0.11.6) (2018-06-11)
### Bug Fixes
* **context:** calculate # of method params with default ([f5f5bde](https://github.com/loopbackio/loopback-next/commit/f5f5bde))
<a name="0.11.5"></a>
## [0.11.5](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.3...@loopback/context@0.11.5) (2018-06-09)
**Note:** Version bump only for package @loopback/context
<a name="0.11.4"></a>
## [0.11.4](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.3...@loopback/context@0.11.4) (2018-06-09)
**Note:** Version bump only for package @loopback/context
<a name="0.11.3"></a>
## [0.11.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.2...@loopback/context@0.11.3) (2018-06-08)
### Bug Fixes
* make the code compatible with TypeScript 2.9.x ([37aba50](https://github.com/loopbackio/loopback-next/commit/37aba50))
<a name="0.11.2"></a>
## [0.11.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.1...@loopback/context@0.11.2) (2018-05-20)
**Note:** Version bump only for package @loopback/context
<a name="0.11.1"></a>
## [0.11.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.11.0...@loopback/context@0.11.1) (2018-05-14)
### Bug Fixes
* change index.d.ts files to point to dist8 ([42ca42d](https://github.com/loopbackio/loopback-next/commit/42ca42d))
<a name="0.11.0"></a>
# [0.11.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.10.1...@loopback/context@0.11.0) (2018-05-14)
### Features
* **context:** add more utils to resolve valueOrPromises ([cc55ef5](https://github.com/loopbackio/loopback-next/commit/cc55ef5))
<a name="0.10.1"></a>
## [0.10.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.10.0...@loopback/context@0.10.1) (2018-05-08)
**Note:** Version bump only for package @loopback/context
<a name="0.10.0"></a>
# [0.10.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.8.1...@loopback/context@0.10.0) (2018-05-03)
### Features
* **context:** allow tags to have an optional value ([95acd11](https://github.com/loopbackio/loopback-next/commit/95acd11))
* add helper package "dist-util" ([532f153](https://github.com/loopbackio/loopback-next/commit/532f153))
<a name="0.9.0"></a>
# [0.9.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.8.1...@loopback/context@0.9.0) (2018-05-03)
### Features
* **context:** allow tags to have an optional value ([95acd11](https://github.com/loopbackio/loopback-next/commit/95acd11))
* add helper package "dist-util" ([532f153](https://github.com/loopbackio/loopback-next/commit/532f153))
<a name="0.8.1"></a>
## [0.8.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.8.0...@loopback/context@0.8.1) (2018-04-25)
**Note:** Version bump only for package @loopback/context
<a name="0.8.0"></a>
# [0.8.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.7.0...@loopback/context@0.8.0) (2018-04-16)
**Note:** Version bump only for package @loopback/context
<a name="0.7.0"></a>
# [0.7.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.6.1...@loopback/context@0.7.0) (2018-04-12)
### Features
* **metadata:** add strongly-typed metadata accessors ([45f9f80](https://github.com/loopbackio/loopback-next/commit/45f9f80))
<a name="0.6.1"></a>
## [0.6.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.6.0...@loopback/context@0.6.1) (2018-04-11)
**Note:** Version bump only for package @loopback/context
<a name="0.6.0"></a>
# [0.6.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.5.2...@loopback/context@0.6.0) (2018-04-11)
### Bug Fixes
* change file names to fit advocated naming convention ([0331df8](https://github.com/loopbackio/loopback-next/commit/0331df8))
### Features
* **context:** typed binding keys ([685195c](https://github.com/loopbackio/loopback-next/commit/685195c))
<a name="0.5.3"></a>
## [0.5.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.5.2...@loopback/context@0.5.3) (2018-04-06)
**Note:** Version bump only for package @loopback/context
<a name="0.5.2"></a>
## [0.5.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.5.1...@loopback/context@0.5.2) (2018-04-04)
**Note:** Version bump only for package @loopback/context
<a name="0.5.1"></a>
## [0.5.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.5.0...@loopback/context@0.5.1) (2018-04-02)
**Note:** Version bump only for package @loopback/context
<a name="0.5.0"></a>
# [0.5.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.4.0...@loopback/context@0.5.0) (2018-03-29)
### Bug Fixes
* **context:** disable deep clone of injection metadata ([7d8a84c](https://github.com/loopbackio/loopback-next/commit/7d8a84c))
### BREAKING CHANGES
* **context:** the `metadata` parameter of `@inject` is no longer
cloned deeply. It's still cloned shallowly.
<a name="0.4.0"></a>
# [0.4.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.3.0...@loopback/context@0.4.0) (2018-03-23)
### Features
* **context:** add optional typing for Binding ([3c494fa](https://github.com/loopbackio/loopback-next/commit/3c494fa))
<a name="0.3.0"></a>
# [0.3.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.2.4...@loopback/context@0.3.0) (2018-03-21)
**Note:** Version bump only for package @loopback/context
<a name="0.2.4"></a>
## [0.2.4](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.2.3...@loopback/context@0.2.4) (2018-03-14)
**Note:** Version bump only for package @loopback/context
<a name="0.2.3"></a>
## [0.2.3](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.2.2...@loopback/context@0.2.3) (2018-03-13)
**Note:** Version bump only for package @loopback/context
<a name="0.2.2"></a>
## [0.2.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.2.1...@loopback/context@0.2.2) (2018-03-08)
**Note:** Version bump only for package @loopback/context
<a name="0.2.1"></a>
## [0.2.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.2.0...@loopback/context@0.2.1) (2018-03-06)
### Bug Fixes
* fix typo of `additional` ([2fd7610](https://github.com/loopbackio/loopback-next/commit/2fd7610))
<a name="0.2.0"></a>
# [0.2.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.1.2...@loopback/context@0.2.0) (2018-03-01)
**Note:** Version bump only for package @loopback/context
<a name="0.1.2"></a>
## [0.1.2](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.1.1...@loopback/context@0.1.2) (2018-03-01)
### Features
* **context:** add type as a generic parameter to `ctx.get()` and friends ([24b217d](https://github.com/loopbackio/loopback-next/commit/24b217d))
* **context:** allow context.find by a filter function ([9b1e26c](https://github.com/loopbackio/loopback-next/commit/9b1e26c))
* **context:** use Readonly to guard immutable values ([871ddef](https://github.com/loopbackio/loopback-next/commit/871ddef))
### BREAKING CHANGES
* **context:** `ctx.get()` and `ctx.getSync()` require a type now.
See the example below for upgrade instructions:
```diff
- const c: MyController = await ctx.get('MyController');
+ const c = await ctx.get<MyController>('MyController');
```
`isPromise` was renamed to `isPromiseLike` and acts as a type guard
for `PromiseLike`, not `Promise`. When upgrading affected code, you
need to determine whether the code was accepting any Promise
implementation (i.e. `PromiseLike`) or only native Promises. In the
former case, you should use `isPromiseLike` and potentially convert the
userland Promise instance to a native Promise via
`Promise.resolve(promiseLike)`. In the latter case, you can replace
`isPromise(p)` with `p instanceof Promise`.
<a name="0.1.1"></a>
## [0.1.1](https://github.com/loopbackio/loopback-next/compare/@loopback/context@0.1.0...@loopback/context@0.1.1) (2018-02-23)
### Bug Fixes
* **context:** fix optional param injection for methods ([801a82d](https://github.com/loopbackio/loopback-next/commit/801a82d))
<a name="0.1.0"></a>
# [0.1.0](https://github.com/loopbackio/loopback-next/compare/@loopback/context@4.0.0-alpha.32...@loopback/context@0.1.0) (2018-02-21)
**Note:** Version bump only for package @loopback/context
<a name="4.0.0-alpha.32"></a>
# [4.0.0-alpha.32](https://github.com/loopbackio/loopback-next/compare/@loopback/context@4.0.0-alpha.31...@loopback/context@4.0.0-alpha.32) (2018-02-15)
### Features
* **context:** formalize injection metadata as an interface ([7ffc1e5](https://github.com/loopbackio/loopback-next/commit/7ffc1e5))
<a name="4.0.0-alpha.31"></a>
# [4.0.0-alpha.31](https://github.com/loopbackio/loopback-next/compare/@loopback/context@4.0.0-alpha.30...@loopback/context@4.0.0-alpha.31) (2018-02-07)
### Bug Fixes
* **build:** fix tslint config and slipped violations ([22f8e05](https://github.com/loopbackio/loopback-next/commit/22f8e05))
* **context:** address review comments ([3925296](https://github.com/loopbackio/loopback-next/commit/3925296))
* **context:** pass metadata to `[@inject](https://github.com/inject).tag` ([27e26e9](https://github.com/loopbackio/loopback-next/commit/27e26e9))
### build
* drop dist6 related targets ([#945](https://github.com/loopbackio/loopback-next/issues/945)) ([a2368ce](https://github.com/loopbackio/loopback-next/commit/a2368ce))
### Features
* **context:** add [@inject](https://github.com/inject).context for context injection ([6e0deaf](https://github.com/loopbackio/loopback-next/commit/6e0deaf))
* **context:** add decorator & optional attrs to injection metadata ([3a1c7de](https://github.com/loopbackio/loopback-next/commit/3a1c7de))
* **context:** add name to context ([21e1daf](https://github.com/loopbackio/loopback-next/commit/21e1daf))
* **context:** add unbind() to allow remove bindings by key ([b9c3893](https://github.com/loopbackio/loopback-next/commit/b9c3893))
* **context:** enhance binding caching to be context aware ([7b7eb30](https://github.com/loopbackio/loopback-next/commit/7b7eb30))
* **context:** reports the resolution path for circular deps ([bc4ce20](https://github.com/loopbackio/loopbac