A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.
Last release 1 months ago
23 Jul 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 54 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
11 years old
145 releases · first in 2015
Release timeline
145 releases since 2015201520172019202120232025
20152026
One column per quarter.
Releases
- 8.2.323 Jul 2026
Release notes
Open source →Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Updated dependencies
- 8.2.221 Jul 2026
Release notes
Open source →Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Updated dependencies
- 8.2.117 Jul 2026
Release notes
Open source →Patch Changes
- Fixed resolved value binding resolution to respect the
jitlesscontainer option, avoidingFunctionconstructor usage in CSP-restricted environments. - Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Fixed resolved value binding resolution to respect the
- 8.2.015 Jul 2026
Release notes
Open source →Minor Changes
- Updated
ContainerOptionswith optionaljitless(default true).
Patch Changes
- Updated resolution flow with better inlined constructor calls.
- Updated instance resolution flow to rely on inlined functions also in property injected services.
- Updated resolution algorithm to rely on jit options to avoid CSP related issues.
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Updated
- 8.1.311 Jul 2026
Release notes
Open source →Patch Changes
- Improved instance
transientscoped resolution performance forcing inlined v8 constructor calls. - Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Improved instance
- 8.1.27 Jul 2026
Release notes
Open source →Patch Changes
- Deep redirection bindings are now properly refreshed in the plan cache when relevant bindings are added or removed
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- 8.1.117 Jun 2026
Release notes
Open source →Patch Changes
- Resolution performance on transient scoped services has been improved by caching a resolver in the binding node and simplifying the core logic. Benchmarks show around 20% performance improvement on transient services with deep dependency graphs.
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- 8.1.015 Mar 2026
Release notes
Open source →Minor Changes
- Export
AbstractNewabletype for use in abstract class bindings
Patch Changes
- Ignored test typings from published package
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Export
- 8.0.014 Mar 2026
Release notes
Open source →Major Changes
- Renamed
Container.unbindtounbindAsync - Renamed
Container.unbindSynctounbind - Renamed
Container.rebindtorebindAsync - Renamed
Container.rebindSynctorebind - Renamed
ContainerModuleLoadOptions.unbindtounbindAsync - Renamed
ContainerModuleLoadOptions.unbindSynctounbind - Renamed
ContainerModuleLoadOptions.rebindtorebindAsync - Renamed
ContainerModuleLoadOptions.rebindSynctorebind - Updated package to be ESM only
- Renamed
Container.loadtoloadAsync - Renamed
Container.loadSynctoload - Updated
ServiceIdentifiertype. Now, aFunctionis a validServiceIdentifier<T>if and only if it satisfiesAbstractNewable<T> | Newable<T> - Renamed
Container.unloadtounloadAsync - Renamed
Container.unloadSynctounload - Renamed
Container.unbindAlltoContainer.unbindAllAsync - Renamed
Container.unbindAllSynctoContainer.unbindAll - Remove
Provider - Remove
ProviderBinding
Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Renamed
- 8.0.0-beta.023 Feb 2026pre-release
Release notes
Open source →Major Changes
- Renamed
Container.unbindtounbindAsync - Renamed
Container.unbindSynctounbind - Renamed
Container.rebindtorebindAsync - Renamed
Container.rebindSynctorebind - Renamed
ContainerModuleLoadOptions.unbindtounbindAsync - Renamed
ContainerModuleLoadOptions.unbindSynctounbind - Renamed
ContainerModuleLoadOptions.rebindtorebindAsync - Renamed
ContainerModuleLoadOptions.rebindSynctorebind - Updated package to be ESM only
- Renamed
Container.loadtoloadAsync - Renamed
Container.loadSynctoload - Updated
ServiceIdentifiertype. Now, aFunctionis a validServiceIdentifier<T>if and only if it satisfiesAbstractNewable<T> | Newable<T> - Renamed
Container.unloadtounloadAsync - Renamed
Container.unloadSynctounload - Renamed
Container.unbindAlltoContainer.unbindAllAsync - Renamed
Container.unbindAllSynctoContainer.unbindAll - Remove
Provider - Remove
ProviderBinding
Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Renamed
- 7.11.08 Jan 2026
Release notes
Open source →Minor Changes
- Added
Container.unbindAllSync
Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Added
- 7.10.818 Dec 2025
Release notes
Open source →Patch Changes
- Updated
BindToFluentSyntax.toResolvedValueto allow non multiple arrayServiceIdentifierinjectOptions - Updated dependencies
- @inversifyjs/[email protected]
- Updated
- 7.10.717 Dec 2025
Release notes
Open source →Patch Changes
- Updated circular dependency detection to handle V8 issues on nearly exhausted call stack scenarios
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- 7.10.65 Dec 2025
Release notes
Open source →Patch Changes
- Updated metadata to reflect side effects
- Updated dependencies
- @inversifyjs/[email protected]
- 7.10.53 Dec 2025
Release notes
Open source →Patch Changes
- Updated entrypoint to import 'reflect-metadata/lite' instead of 'reflect-metadata'
- Updated dependencies
- @inversifyjs/[email protected]
- 7.10.427 Oct 2025
Release notes
Open source →Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Updated dependencies
- 7.10.316 Oct 2025
Release notes
Open source →Patch Changes
-
Updated
BindToFluentSyntax.factoryto allow async factory builders -
Updated
Factoryto allow async functions -
Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
-
- 7.10.230 Sept 2025
Release notes
Open source →Patch Changes
- Updated dependencies
- @inversifyjs/[email protected]
- @inversifyjs/[email protected]
- Updated dependencies
- 7.10.126 Sept 2025
Release notes
Open source →Patch Changes
-
Added
MapToResolvedValueInjectOptionstype -
Updated dependencies
- @inversifyjs/[email protected]
-
- 7.10.014 Sept 2025
Release notes
Open source →Added
- Added
InjectFromBaseOptionsLifecycle. - Added
InjectFromHierarchyOptionsLifecycle.
Changed
- Updated
injectFromBasewithlifecycleproperty. - Updated
injectFromHierarchywithlifecycleproperty.
- Added
- 7.9.127 Aug 2025
Release notes
Open source →Changed
- Updated
Containerto trigger autobind options on autobound parent container related binding requests.
- Updated
- 7.9.020 Aug 2025
- 7.8.115 Aug 2025
Release notes
Open source →Changed
- Fixed
injectFromHierarchyavoiding crash when traversingObjectmetadata.
- Fixed
- 7.8.015 Aug 2025
- 7.7.111 Aug 2025
Release notes
Open source →Changed
- Fixed a bug involving circular dependencies when resolving services in some edge cases.
- Fixed a bug involving circular dependencies when bindings are bound in some edge cases.
- 7.7.1-beta.010 Aug 2025pre-release
Release notes
Open source →Changed
- Fixed a bug causing
Container.bindandContainer.unbindto avoid throwing planning errors. - Fixed a bug causing wrong cached plans involving bindings with ancestor related constraints.
- Fixed a bug causing
- 7.7.031 Jul 2025
Release notes
Open source →Added
- Added
Bindtype. - Added
IsBoundtype. - Added
OnActivationtype. - Added
OnDeactivationtype. - Added
Rebindtype. - Added
RebindSynctype. - Added
Unbindtype. - Added
UnbindSynctype.
Changed
- Updated
BindOnFluentSyntaxImplementation.onDeactivationto throw an error on non singleton scoped bindings. - Updated
ServiceResolutionManagerto provide rightgetChainedoperation after computed properties are reset. - Updated
Containerto properly manage bindings bindings on child containers after a parent container restores a snapshot.
- Added
- 7.6.113 Jul 2025
Release notes
Open source →Changed
- Updated
getAllandgetAllAsyncoptions with missingchainedproperty.
- Updated
- 7.6.013 Jul 2025
Release notes
Open source →Added
- Added
MultiInjectOptions.
Changed
- Updated
multiInjectdecorator with optionalMultiInjectOptions. - Updated
getAllandgetAllAsyncoptions with optionalchainedproperty.
- Added
- 7.5.425 Jun 2025
Release notes
Open source →Changed
- Updated
ServiceIdentifierto rely onFunctionagain. This solves an issue affecting classes with protected constructors.
- Updated
- 7.5.325 Jun 2025
Release notes
Open source →Changed
- Updated
ServiceIdentifierremovingFunctionin favor of a newAbstractNewabletype. ServiceIdentifier now uses AbstractNewable instead of Function to better represent abstract classes. This provides better type safety and semantics.
- Updated
- 7.5.21 Jun 2025
Release notes
Open source →Changed
- Fixed
Container.snapshotso snapshot bindings are not updated after a snapshot is taken. - Fixed a memory leak affecting child containers.
- Fixed
- 7.5.116 Apr 2025
Release notes
Open source →Changed
- Updated
Container.getlike methods to properly set bindings when autobind mode is set:@injectablescopes properly handled.- Autobind mode no longer creates duplicated bindings.
- Updated
- 7.5.02 Apr 2025
Release notes
Open source →Changed
- Updated
ContainerwithunloadSync. - Updated
ContainerwithloadSync.
- Updated
- 7.4.01 Apr 2025
Release notes
Open source →Changed
- Updated
ContainerModuleLoadOptionswithrebind. - Updated
ContainerModuleLoadOptionswithrebindSync. - Updated
BindToFluentSyntax.toResolvedValuewith additional type constraints.
- Updated
- 7.3.030 Mar 2025
Release notes
Open source →Changed
- Updated
ContainerwithrebindSync. - Updated
ContainerwithunbindSync. - Updated
Containerwithrebind. - Updated
ContainerModuleLoadOptionswithunbindSync. - Updated
ContainerModuleLoadOptions.unbindto acceptBindingIdentifier.
- Updated
- 7.2.022 Mar 2025
Release notes
Open source →Added
- Added
BindingIdentifier.
Changed
- Updated
BindInFluentSyntaxwithgetIdentifier. - Updated
Container.unbindto handleBindingIdentifier. - Updated
BindOnFluentSyntaxwithgetIdentifier. - Updated
BindWhenFluentSyntaxwithgetIdentifier.
- Added
- 7.1.010 Mar 2025
- 7.0.27 Mar 2025
Release notes
Open source →Changed
- Updated
container.getlike methods to no longer initialize twice singleton scoped bindings.
- Updated
- 7.0.127 Feb 2025
Release notes
Open source →Changed
- Updated
Container.getlike methods to no longer initialize twice singleton scoped bindings.
- Updated
- 7.0.026 Feb 2025
- 7.0.0-alpha.58 Feb 2025pre-release
Release notes
Open source →Changed
- Renamed
BindingMetadatatoBindingConstraints. - Improved performance on
Container.getlike methods.
- Renamed
- 7.0.0-alpha.42 Feb 2025pre-release
- 7.0.0-alpha.32 Feb 2025pre-releasewithdrawn: this package has been deprecated
- 7.0.0-alpha.226 Jan 2025pre-release
Release notes
Open source →Changed
- Updated
Containerwith a plan cache.Container.get,Container.getAll,Container.getAllAsyncandContainer.getAsyncperformance has been improved.
- Updated
- 7.0.0-alpha.124 Jan 2025pre-release
Release notes
Open source →Changed
- Updated
GetOptionswithautobind. - Updated
ContainerOptionswithautobind.
- Updated
- 7.0.0-alpha.016 Jan 2025pre-release
Release notes
Open source →Added
- 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
injectFromBasedecorator.
Changed
- Updated
injectablewith optionalscope. - [Breaking] Updated
ContainerModuleconstructor to receive a callback withContainerModuleLoadOptionsinstead ofinterfaces.ContainerModuleCallBack. - [Breaking] Updated
ContainerModule.load to returnPromise<void>. - Updated
ContainerOptionswithparent. - Updated
ContainerOptionswithoutautoBindInjectableandskipBaseClassChecks. - [Breaking] Updated
Containerto no longer exposeid,parentnoroptions. - [Breaking] Updated
Containerwith noapplyCustomMetadataReader,applyMiddleware,createChild,mergeandrebindmethods. - [Breaking] Updated
Containerwith noisCurrentBound,isBoundNamed,isBoundTaggedmethods in favor of usingContainer.isBoundwithisBoundOptions. - [Breaking] Updated
Containerwith nogetNamed,getTagged,tryGet,tryGetNamedandtryGetTaggedmethods in favor ofContainer.getwithOptionalGetOptionsoptions. - [Breaking] Updated
Containerwith nogetNamedAsync,getTaggedAsync,tryGetAsync,tryGetNamedAsyncandtryGetTaggedAsyncmethods in favor ofContainer.getAsyncwithOptionalGetOptionsoptions. - [Breaking] Updated
Containerwith nogetAllNamed,getAllTagged,tryGetAll,tryGetAllNamedandtryGetAllTaggedmethods in favor ofContainer.getAllwithGetOptionsoptions. - [Breaking] Updated
Containerwith nogetAllNamedAsync,getAllTaggedAsync,tryGetAllAsync,tryGetAllNamedAsyncandtryGetAllTaggedAsyncmethods in favor ofContainer.getAllAsyncwithGetOptionsoptions. - [Breaking] Updated
Containerwith noloadAsyncin favor of an asyncContainer.load. - [Breaking] Updated
Containerwith nounbindAsyncin favor of an asyncContainer.unbind. - [Breaking] Updated
Containerwith nounbindAllAsyncin favor of an asyncContainer.unbindAll. - [Breaking] Updated
Containerwith nounloadAsyncin favor of an asyncContainer.unload.
Fixed
- Updated
decorateto no longer require a unexpected prototypes to decorate property nor methods.
Removed
- [Breaking] Removed deprecated
LazyServiceIdentifer. UseLazyServiceIdentifierinstead. - [Breaking] Removed
BindingScopeEnum. UsebindingScopeValuesinstead. - [Breaking] Removed
BindingTypeEnum. - [Breaking] Removed
TargetTypeEnum. - [Breaking] Removed
METADATA_KEY. - [Breaking] Removed
AsyncContainerModule. UseContainerModuleinstead. - [Breaking] Removed
createTaggedDecorator. - [Breaking] Removed
MetadataReader. - [Breaking] Removed
id. - [Breaking] Removed
interfacestypes. Rely on new types instead. - [Breaking] Removed
traverseAncerstors. - [Breaking] Removed
taggedConstraint. - [Breaking] Removed
namedConstraint. - [Breaking] Removed
typeConstraint. - [Breaking] Removed
getServiceIdentifierAsString. - [Breaking] Removed
multiBindToService.
- Added
- 6.2.22 Feb 2025
- 6.2.119 Dec 2024
- 6.2.010 Dec 2024
Release notes
Open source →Added
- Added
interfaces.GetAllOptions.
Changed
- Updated
container.getAllwithoptionsoptional param. - Updated
container.getAllAsyncwithoptionsoptional param. - Updated
interfaces.NextArgswith optionalisOptionalparam. - Updated
containerwithtryGet. - Updated
containerwithtryGetAsync. - Updated
containerwithtryGetTagged. - Updated
containerwithtryGetTaggedAsync. - Updated
containerwithtryGetNamed. - Updated
containerwithtryGetNamedAsync. - Updated
containerwithtryGetAll. - Updated
containerwithtryGetAllAsync. - Updated
containerwithtryGetAllTagged. - Updated
containerwithtryGetAllTaggedAsync. - Updated
containerwithtryGetAllNamed. - Updated
containerwithtryGetAllNamedAsync.
- Added
- 6.2.0-beta.15 Dec 2024pre-release
Release notes
Open source →Added
Changed
- Updated
interfaces.NextArgswith optionalisOptionalparam. - Updated
containerwithtryGet. - Updated
containerwithtryGetAsync. - Updated
containerwithtryGetTagged. - Updated
containerwithtryGetTaggedAsync. - Updated
containerwithtryGetNamed. - Updated
containerwithtryGetNamedAsync. - Updated
containerwithtryGetAll. - Updated
containerwithtryGetAllAsync. - Updated
containerwithtryGetAllTagged. - Updated
containerwithtryGetAllTaggedAsync. - Updated
containerwithtryGetAllNamed. - Updated
containerwithtryGetAllNamedAsync.
Fixed
- Updated
- 6.2.0-beta.04 Dec 2024pre-release
Release notes
Open source →Added
- Added
interfaces.GetAllOptions.
Changed
- Updated
container.getAllwithoptionsoptional param. - Updated
container.getAllAsyncwithoptionsoptional param.
Fixed
- Added
- 6.1.63 Dec 2024
Release notes
Open source →Fixed
- Fixed unexpected property access while running planning checks on injected base types.
- Updated ESM sourcemaps to refelct the right source code files.
- 6.1.529 Nov 2024
Release notes
Open source →Changed
- Updated library to import
reflect-metadata. Importingreflect-metadatabefore bootstraping a module in the userland is no longer required.
Fixed
- Updated ESM build to provide proper types regardless of the ts resolution module strategy in the userland.
- Fixed container to properly resolve async
.toServicebindings. - Fixed
.toServicebinding to properly disable caching any values.
- Updated library to import
- 6.1.5-beta.229 Nov 2024pre-release
- 6.1.5-beta.129 Nov 2024pre-release
Release notes
Open source →Fixed
- Updated ESM build to provide proper types regardless of the ts resolution module strategy in the userland.
- 6.1.5-beta.026 Nov 2024pre-release
Release notes
Open source →Changed
- Updated library to import
reflect-metadata. Importingreflect-metadatabefore bootstraping a module in the userland is no longer required.
Fixed
- Fixed container to properly resolve async
.toServicebindings. - Fixed
.toServicebinding to properly disable caching any values.
- Updated library to import
- 6.1.413 Nov 2024
Release notes
Open source →Changed
- Updated planner with better error description when a binding can not be properly resolved.
Fixed
- Updated container to allow deactivating singleton undefined values.
- Updated ESM build to be compatible with both bundler and NodeJS module resolution algorithms.
- 6.1.4-beta.113 Nov 2024pre-release
Release notes
Open source →Fixed
- Updated ESM build to be compatible with both bundler and NodeJS module resolution algorithms.
- 6.1.4-beta.012 Nov 2024pre-release
Release notes
Open source →Changed
- Updated planner with better error description when a binding can not be properly resolved.