All notable changes to this project from 5.0.0 forward will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated
GetOptions
withautobind
. - Updated
ContainerOptions
withautobind
.
- Added
BindInFluentSyntax
. - Added
BindInWhenOnFluentSyntax
. - Added
BindOnFluentSyntax
. - Added
BindingScope
. - Added
BindToFluentSyntax
. - Added
BindWhenFluentSyntax
. - Added
BindWhenOnFluentSyntax
. - Added
ContainerModuleLoadOptions
. - Added
DynamicValueBuilder
. - Added
Factory
. - Added
GetOptions
. - Added
GetOptionsTagConstraint
. - Added
IsBoundOptions
. - Added
MetadataName
. - Added
MetadataTag
. - Added
MetadataTargetName
. - Added
OptionalGetOptions
. - Added
Provider
. - Added
ResolutionContext
. - Added
bindingScopeValues
. - Added
bindingTypeValues
. - Added
injectFromBase
decorator.
- Updated
injectable
with optionalscope
. - [Breaking] Updated
ContainerModule
constructor to receive a callback withContainerModuleLoadOptions
instead ofinterfaces.ContainerModuleCallBack
. - [Breaking] Updated
ContainerModule
.load to returnPromise<void>
. - Updated
ContainerOptions
withparent
. - Updated
ContainerOptions
withoutautoBindInjectable
andskipBaseClassChecks
. - [Breaking] Updated
Container
to no longer exposeid
,parent
noroptions
. - [Breaking] Updated
Container
with noapplyCustomMetadataReader
,applyMiddleware
,createChild
,merge
andrebind
methods. - [Breaking] Updated
Container
with noisCurrentBound
,isBoundNamed
,isBoundTagged
methods in favor of usingContainer.isBound
withisBoundOptions
. - [Breaking] Updated
Container
with nogetNamed
,getTagged
,tryGet
,tryGetNamed
andtryGetTagged
methods in favor ofContainer.get
withOptionalGetOptions
options. - [Breaking] Updated
Container
with nogetNamedAsync
,getTaggedAsync
,tryGetAsync
,tryGetNamedAsync
andtryGetTaggedAsync
methods in favor ofContainer.getAsync
withOptionalGetOptions
options. - [Breaking] Updated
Container
with nogetAllNamed
,getAllTagged
,tryGetAll
,tryGetAllNamed
andtryGetAllTagged
methods in favor ofContainer.getAll
withGetOptions
options. - [Breaking] Updated
Container
with nogetAllNamedAsync
,getAllTaggedAsync
,tryGetAllAsync
,tryGetAllNamedAsync
andtryGetAllTaggedAsync
methods in favor ofContainer.getAllAsync
withGetOptions
options. - [Breaking] Updated
Container
with noloadAsync
in favor of an asyncContainer.load
. - [Breaking] Updated
Container
with nounbindAsync
in favor of an asyncContainer.unbind
. - [Breaking] Updated
Container
with nounbindAllAsync
in favor of an asyncContainer.unbindAll
. - [Breaking] Updated
Container
with nounloadAsync
in favor of an asyncContainer.unload
.
- Updated
decorate
to no longer require a unexpected prototypes to decorate property nor methods.
- [Breaking] Removed deprecated
LazyServiceIdentifer
. UseLazyServiceIdentifier
instead. - [Breaking] Removed
BindingScopeEnum
. UsebindingScopeValues
instead. - [Breaking] Removed
BindingTypeEnum
. - [Breaking] Removed
TargetTypeEnum
. - [Breaking] Removed
METADATA_KEY
. - [Breaking] Removed
AsyncContainerModule
. UseContainerModule
instead. - [Breaking] Removed
createTaggedDecorator
. - [Breaking] Removed
MetadataReader
. - [Breaking] Removed
id
. - [Breaking] Removed
interfaces
types. Rely on new types instead. - [Breaking] Removed
traverseAncerstors
. - [Breaking] Removed
taggedConstraint
. - [Breaking] Removed
namedConstraint
. - [Breaking] Removed
typeConstraint
. - [Breaking] Removed
getServiceIdentifierAsString
. - [Breaking] Removed
multiBindToService
.
- Added missing
LazyServiceIdentifer
.
- Added
interfaces.GetAllOptions
.
- Updated
container.getAll
withoptions
optional param. - Updated
container.getAllAsync
withoptions
optional param. - Updated
interfaces.NextArgs
with optionalisOptional
param. - Updated
container
withtryGet
. - Updated
container
withtryGetAsync
. - Updated
container
withtryGetTagged
. - Updated
container
withtryGetTaggedAsync
. - Updated
container
withtryGetNamed
. - Updated
container
withtryGetNamedAsync
. - Updated
container
withtryGetAll
. - Updated
container
withtryGetAllAsync
. - Updated
container
withtryGetAllTagged
. - Updated
container
withtryGetAllTaggedAsync
. - Updated
container
withtryGetAllNamed
. - Updated
container
withtryGetAllNamedAsync
.
- Updated
interfaces.NextArgs
with optionalisOptional
param. - Updated
container
withtryGet
. - Updated
container
withtryGetAsync
. - Updated
container
withtryGetTagged
. - Updated
container
withtryGetTaggedAsync
. - Updated
container
withtryGetNamed
. - Updated
container
withtryGetNamedAsync
. - Updated
container
withtryGetAll
. - Updated
container
withtryGetAllAsync
. - Updated
container
withtryGetAllTagged
. - Updated
container
withtryGetAllTaggedAsync
. - Updated
container
withtryGetAllNamed
. - Updated
container
withtryGetAllNamedAsync
.
- Added
interfaces.GetAllOptions
.
- Updated
container.getAll
withoptions
optional param. - Updated
container.getAllAsync
withoptions
optional param.
- Fixed unexpected property access while running planning checks on injected base types.
- Updated ESM sourcemaps to refelct the right source code files.
- Updated library to import
reflect-metadata
. Importingreflect-metadata
before bootstraping a module in the userland is no longer required.
- Updated ESM build to provide proper types regardless of the ts resolution module strategy in the userland.
- Fixed container to properly resolve async
.toService
bindings. - Fixed
.toService
binding to properly disable caching any values.
- Updated ESM bundled types to solve circularly referenced types.
- Updated ESM build to provide proper types regardless of the ts resolution module strategy in the userland.
- Updated library to import
reflect-metadata
. Importingreflect-metadata
before bootstraping a module in the userland is no longer required.
- Fixed container to properly resolve async
.toService
bindings. - Fixed
.toService
binding to properly disable caching any values.
- Updated planner with better error description when a binding can not be properly resolved.
- Updated container to allow deactivating singleton undefined values.
- Updated ESM build to be compatible with both bundler and NodeJS module resolution algorithms.
- Updated ESM build to be compatible with both bundler and NodeJS module resolution algorithms.
- Updated planner with better error description when a binding can not be properly resolved.
- Updated ESM build with missing types.
- Updated
package.json
to include theexports
field for better bundler support.
- Updated fetch metadata flows with better error descriptions.
- Updated
package.json
to include theexports
field for better bundler support.
- Updated fetch metadata flows with better error descriptions.
- Bumped
@inversifyjs/common
and@inversifyjs/core
fixing wrong dev engines constraints.
- Updated
ServiceIdentifier
to rely onFunction
instead ofAbstract<T>
.
- Fixed
Target.getNameTag
with the right type:number | string | symbol
. - Fixed
interfaces.ModuleActivationStore.addDeactivation
to enforceserviceIdentifier
andonDeactivation
are consistent. - Fixed
interfaces.ModuleActivationStore.addActivation
to enforceserviceIdentifier
andonDeactivation
are consistent.
property injection tagged as @optional no longer overrides default values with undefined
.
Updated targetName
to be a valid typescript@5
decorator.
Brought tests up to 100% Code Coverage
LazyIdentfier Tests Removed browser test pipeline, browserify, karma (#1542) Update all dependencies except typescript (#1531)
Less than 100% code coverage Use default class property for @optional injected properties (#1467) Remove circular import (#1516) Fix strict type checking on @unmanaged decorator (#1499) Fix typo (LazyServiceIdentifer -> LazyServiceIdentifier) (#1483) Fix typo (circular dependency error message) (#1485)
- add API method for check dependency only in current container
- createTaggedDecorator #1343
- Async bindings #1132
- Async binding resolution (getAllAsync, getAllNamedAsync, getAllTaggedAsync, getAsync, getNamedAsync, getTaggedAsync, rebindAsync, unbindAsync, unbindAllAsync, unloadAsync) #1132
- Global onActivation / onDeactivation #1132
- Parent/Child onActivation / onDeactivation #1132
- Module onActivation / onDeactivation #1132
- Added @preDestroy decorator #1132
- @postConstruct can target an asyncronous function #1132
- Singleton scoped services cache resolved values once the result promise is fulfilled #1320
- only inject decorator can be applied to setters #1342
- Container.resolve should resolve in that container #1338
-Fix pre-publish for build artifacts
- Upgrade information for v4.x to v5.x
- Update BindingToSyntax with
.toAutoNamedFactory()
.
- Fix
Target.isTagged()
to excludeoptional
from tag injections #1190. - Update
toConstructor
,toFactory
,toFunction
,toAutoFactory
,toProvider
andtoConstantValue
to have singleton scope #1297. - Fix injection on optional properties when targeting ES6 #928
- Updating constructor injection wiki document with concrete injection example #922
- Change GUID to incremented counter for better performance #882
- fix broken compilation by adding
.toString()
so symbols serialization #893 - Fix problem with applying options on Container.resolve (fix #914) #915
- Fixed documentation issues
Deprecated - Replaced by 5.0.1