PackageTrack

npm

inversify

8.2.3inversify/monorepo

A powerful and lightweight inversion of control container for JavaScript and Node.js apps powered by TypeScript.

Release timeline

145 releases since 2015
20152026

One column per quarter.

Releases

  1. 8.2.323 Jul 2026
    Release notes

    Patch Changes

    Open source →
  2. 8.2.221 Jul 2026
    Release notes

    Patch Changes

    Open source →
  3. 8.2.117 Jul 2026
    Release notes

    Patch Changes

    • Fixed resolved value binding resolution to respect the jitless container option, avoiding Function constructor usage in CSP-restricted environments.
    • Updated dependencies
    Open source →
  4. 8.2.015 Jul 2026
    Release notes

    Minor Changes

    • Updated ContainerOptions with optional jitless (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
    Open source →
  5. 8.1.311 Jul 2026
    Release notes

    Patch Changes

    • Improved instance transient scoped resolution performance forcing inlined v8 constructor calls.
    • Updated dependencies
    Open source →
  6. 8.1.27 Jul 2026
    Release notes

    Patch Changes

    • Deep redirection bindings are now properly refreshed in the plan cache when relevant bindings are added or removed
    • Updated dependencies
    Open source →
  7. 8.1.117 Jun 2026
    Release notes

    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
    Open source →
  8. 8.1.015 Mar 2026
    Release notes

    Minor Changes

    • Export AbstractNewable type for use in abstract class bindings

    Patch Changes

    Open source →
  9. 8.0.014 Mar 2026
    Release notes

    Major Changes

    • Renamed Container.unbind to unbindAsync
    • Renamed Container.unbindSync to unbind
    • Renamed Container.rebind to rebindAsync
    • Renamed Container.rebindSync to rebind
    • Renamed ContainerModuleLoadOptions.unbind to unbindAsync
    • Renamed ContainerModuleLoadOptions.unbindSync to unbind
    • Renamed ContainerModuleLoadOptions.rebind to rebindAsync
    • Renamed ContainerModuleLoadOptions.rebindSync to rebind
    • Updated package to be ESM only
    • Renamed Container.load to loadAsync
    • Renamed Container.loadSync to load
    • Updated ServiceIdentifier type. Now, a Function is a valid ServiceIdentifier<T> if and only if it satisfies AbstractNewable<T> | Newable<T>
    • Renamed Container.unload to unloadAsync
    • Renamed Container.unloadSync to unload
    • Renamed Container.unbindAll to Container.unbindAllAsync
    • Renamed Container.unbindAllSync to Container.unbindAll
    • Remove Provider
    • Remove ProviderBinding

    Patch Changes

    Open source →
  10. 8.0.0-beta.023 Feb 2026pre-release
    Release notes

    Major Changes

    • Renamed Container.unbind to unbindAsync
    • Renamed Container.unbindSync to unbind
    • Renamed Container.rebind to rebindAsync
    • Renamed Container.rebindSync to rebind
    • Renamed ContainerModuleLoadOptions.unbind to unbindAsync
    • Renamed ContainerModuleLoadOptions.unbindSync to unbind
    • Renamed ContainerModuleLoadOptions.rebind to rebindAsync
    • Renamed ContainerModuleLoadOptions.rebindSync to rebind
    • Updated package to be ESM only
    • Renamed Container.load to loadAsync
    • Renamed Container.loadSync to load
    • Updated ServiceIdentifier type. Now, a Function is a valid ServiceIdentifier<T> if and only if it satisfies AbstractNewable<T> | Newable<T>
    • Renamed Container.unload to unloadAsync
    • Renamed Container.unloadSync to unload
    • Renamed Container.unbindAll to Container.unbindAllAsync
    • Renamed Container.unbindAllSync to Container.unbindAll
    • Remove Provider
    • Remove ProviderBinding

    Patch Changes

    Open source →
  11. 7.11.08 Jan 2026
    Release notes

    Minor Changes

    • Added Container.unbindAllSync

    Patch Changes

    Open source →
  12. 7.10.818 Dec 2025
    Release notes

    Patch Changes

    • Updated BindToFluentSyntax.toResolvedValue to allow non multiple array ServiceIdentifier injectOptions
    • Updated dependencies
    Open source →
  13. 7.10.717 Dec 2025
    Release notes

    Patch Changes

    • Updated circular dependency detection to handle V8 issues on nearly exhausted call stack scenarios
    • Updated dependencies
    Open source →
  14. 7.10.65 Dec 2025
    Release notes

    Patch Changes

    • Updated metadata to reflect side effects
    • Updated dependencies
    Open source →
  15. 7.10.53 Dec 2025
    Release notes

    Patch Changes

    • Updated entrypoint to import 'reflect-metadata/lite' instead of 'reflect-metadata'
    • Updated dependencies
    Open source →
  16. 7.10.427 Oct 2025
    Release notes

    Patch Changes

    Open source →
  17. 7.10.316 Oct 2025
    Release notes

    Patch Changes

    • Updated BindToFluentSyntax.factory to allow async factory builders

    • Updated Factory to allow async functions

    • Updated dependencies

    Open source →
  18. 7.10.230 Sept 2025
    Release notes

    Patch Changes

    Open source →
  19. 7.10.126 Sept 2025
    Release notes

    Patch Changes

    • Added MapToResolvedValueInjectOptions type

    • Updated dependencies

    Open source →
  20. 7.10.014 Sept 2025
    Release notes

    Added

    • Added InjectFromBaseOptionsLifecycle.
    • Added InjectFromHierarchyOptionsLifecycle.

    Changed

    • Updated injectFromBase with lifecycle property.
    • Updated injectFromHierarchy with lifecycle property.
    Open source →
  21. 7.9.127 Aug 2025
    Release notes

    Changed

    • Updated Container to trigger autobind options on autobound parent container related binding requests.
    Open source →
  22. 7.9.020 Aug 2025
    Release notes

    Changed

    • Updated decorate to allow method parameter decoration.
    Open source →
  23. 7.8.115 Aug 2025
    Release notes

    Changed

    • Fixed injectFromHierarchy avoiding crash when traversing Object metadata.
    Open source →
  24. 7.8.015 Aug 2025
    Release notes

    Added

    • Added injectFromHierarchy.
    Open source →
  25. 7.7.111 Aug 2025
    Release notes

    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.
    Open source →
  26. 7.7.1-beta.010 Aug 2025pre-release
    Release notes

    Changed

    • Fixed a bug causing Container.bind and Container.unbind to avoid throwing planning errors.
    • Fixed a bug causing wrong cached plans involving bindings with ancestor related constraints.
    Open source →
  27. 7.7.031 Jul 2025
    Release notes

    Added

    • Added Bind type.
    • Added IsBound type.
    • Added OnActivation type.
    • Added OnDeactivation type.
    • Added Rebind type.
    • Added RebindSync type.
    • Added Unbind type.
    • Added UnbindSync type.

    Changed

    • Updated BindOnFluentSyntaxImplementation.onDeactivation to throw an error on non singleton scoped bindings.
    • Updated ServiceResolutionManager to provide right getChained operation after computed properties are reset.
    • Updated Container to properly manage bindings bindings on child containers after a parent container restores a snapshot.
    Open source →
  28. 7.6.113 Jul 2025
    Release notes

    Changed

    • Updated getAll and getAllAsync options with missing chained property.
    Open source →
  29. 7.6.013 Jul 2025
    Release notes

    Added

    • Added MultiInjectOptions.

    Changed

    • Updated multiInject decorator with optional MultiInjectOptions.
    • Updated getAll and getAllAsync options with optionalchained property.
    Open source →
  30. 7.5.425 Jun 2025
    Release notes

    Changed

    • Updated ServiceIdentifier to rely on Function again. This solves an issue affecting classes with protected constructors.
    Open source →
  31. 7.5.325 Jun 2025
    Release notes

    Changed

    • Updated ServiceIdentifier removing Function in favor of a new AbstractNewable type. ServiceIdentifier now uses AbstractNewable instead of Function to better represent abstract classes. This provides better type safety and semantics.
    Open source →
  32. 7.5.21 Jun 2025
    Release notes

    Changed

    • Fixed Container.snapshot so snapshot bindings are not updated after a snapshot is taken.
    • Fixed a memory leak affecting child containers.
    Open source →
  33. 7.5.116 Apr 2025
    Release notes

    Changed

    • Updated Container.get like methods to properly set bindings when autobind mode is set:
      • @injectable scopes properly handled.
      • Autobind mode no longer creates duplicated bindings.
    Open source →
  34. 7.5.02 Apr 2025
    Release notes

    Changed

    • Updated Container with unloadSync.
    • Updated Container with loadSync.
    Open source →
  35. 7.4.01 Apr 2025
    Release notes

    Changed

    • Updated ContainerModuleLoadOptions with rebind.
    • Updated ContainerModuleLoadOptions with rebindSync.
    • Updated BindToFluentSyntax.toResolvedValue with additional type constraints.
    Open source →
  36. 7.3.030 Mar 2025
    Release notes

    Changed

    • Updated Container with rebindSync.
    • Updated Container with unbindSync.
    • Updated Container with rebind.
    • Updated ContainerModuleLoadOptions with unbindSync.
    • Updated ContainerModuleLoadOptions.unbind to accept BindingIdentifier.
    Open source →
  37. 7.2.022 Mar 2025
    Release notes

    Added

    • Added BindingIdentifier.

    Changed

    • Updated BindInFluentSyntax with getIdentifier.
    • Updated Container.unbind to handle BindingIdentifier.
    • Updated BindOnFluentSyntax with getIdentifier.
    • Updated BindWhenFluentSyntax with getIdentifier.
    Open source →
  38. 7.1.010 Mar 2025
    Release notes

    Added

    • Added BindingActivation.
    • Added BindingDeactivation.
    Open source →
  39. 7.0.27 Mar 2025
    Release notes

    Changed

    • Updated container.get like methods to no longer initialize twice singleton scoped bindings.
    Open source →
  40. 7.0.127 Feb 2025
    Release notes

    Changed

    • Updated Container.get like methods to no longer initialize twice singleton scoped bindings.
    Open source →
  41. 7.0.026 Feb 2025
    Release notes

    Parity version with 7.0.0-alpha.5

    Open source →
  42. 7.0.0-alpha.58 Feb 2025pre-release
    Release notes

    Changed

    • Renamed BindingMetadata to BindingConstraints.
    • Improved performance on Container.get like methods.
    Open source →
  43. 7.0.0-alpha.42 Feb 2025pre-release
    Release notes

    Parity version with 7.0.0-alpha.3.

    Open source →
  44. 7.0.0-alpha.32 Feb 2025pre-releasewithdrawn: this package has been deprecated
    Release notes

    Changed

    • Updated BindToFluentSyntax with .toResolvedValue.
    Open source →
  45. 7.0.0-alpha.226 Jan 2025pre-release
    Release notes

    Changed

    • Updated Container with a plan cache. Container.get, Container.getAll, Container.getAllAsync and Container.getAsync performance has been improved.
    Open source →
  46. 7.0.0-alpha.124 Jan 2025pre-release
    Release notes

    Changed

    • Updated GetOptions with autobind.
    • Updated ContainerOptions with autobind.
    Open source →
  47. 7.0.0-alpha.016 Jan 2025pre-release
    Release notes

    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 injectFromBase decorator.

    Changed

    • Updated injectable with optional scope.
    • [Breaking] Updated ContainerModule constructor to receive a callback with ContainerModuleLoadOptions instead of interfaces.ContainerModuleCallBack.
    • [Breaking] Updated ContainerModule.load to return Promise<void>.
    • Updated ContainerOptions with parent.
    • Updated ContainerOptions without autoBindInjectable and skipBaseClassChecks.
    • [Breaking] Updated Container to no longer expose id, parent nor options.
    • [Breaking] Updated Container with no applyCustomMetadataReader, applyMiddleware, createChild, merge and rebind methods.
    • [Breaking] Updated Container with no isCurrentBound, isBoundNamed, isBoundTagged methods in favor of using Container.isBound with isBoundOptions.
    • [Breaking] Updated Container with no getNamed, getTagged, tryGet, tryGetNamed and tryGetTagged methods in favor of Container.get with OptionalGetOptions options.
    • [Breaking] Updated Container with no getNamedAsync, getTaggedAsync, tryGetAsync, tryGetNamedAsync and tryGetTaggedAsync methods in favor of Container.getAsync with OptionalGetOptions options.
    • [Breaking] Updated Container with no getAllNamed, getAllTagged, tryGetAll, tryGetAllNamed and tryGetAllTagged methods in favor of Container.getAll with GetOptions options.
    • [Breaking] Updated Container with no getAllNamedAsync, getAllTaggedAsync, tryGetAllAsync, tryGetAllNamedAsync and tryGetAllTaggedAsync methods in favor of Container.getAllAsync with GetOptions options.
    • [Breaking] Updated Container with no loadAsync in favor of an async Container.load.
    • [Breaking] Updated Container with no unbindAsync in favor of an async Container.unbind.
    • [Breaking] Updated Container with no unbindAllAsync in favor of an async Container.unbindAll.
    • [Breaking] Updated Container with no unloadAsync in favor of an async Container.unload.

    Fixed

    • Updated decorate to no longer require a unexpected prototypes to decorate property nor methods.

    Removed

    • [Breaking] Removed deprecated LazyServiceIdentifer. Use LazyServiceIdentifier instead.
    • [Breaking] Removed BindingScopeEnum. Use bindingScopeValues instead.
    • [Breaking] Removed BindingTypeEnum.
    • [Breaking] Removed TargetTypeEnum.
    • [Breaking] Removed METADATA_KEY.
    • [Breaking] Removed AsyncContainerModule. Use ContainerModule 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.
    Open source →
  48. 6.2.22 Feb 2025
    Release notes
    • Solved issue with npm registry.
    Open source →
  49. 6.2.119 Dec 2024
    Release notes

    Fixed

    • Added missing LazyServiceIdentifer.
    Open source →
  50. 6.2.010 Dec 2024
    Release notes

    Added

    • Added interfaces.GetAllOptions.

    Changed

    • Updated container.getAll with options optional param.
    • Updated container.getAllAsync with options optional param.
    • Updated interfaces.NextArgs with optional isOptional param.
    • Updated container with tryGet.
    • Updated container with tryGetAsync.
    • Updated container with tryGetTagged.
    • Updated container with tryGetTaggedAsync.
    • Updated container with tryGetNamed.
    • Updated container with tryGetNamedAsync.
    • Updated container with tryGetAll.
    • Updated container with tryGetAllAsync.
    • Updated container with tryGetAllTagged.
    • Updated container with tryGetAllTaggedAsync.
    • Updated container with tryGetAllNamed.
    • Updated container with tryGetAllNamedAsync.
    Open source →
  51. 6.2.0-beta.15 Dec 2024pre-release
    Release notes

    Added

    Changed

    • Updated interfaces.NextArgs with optional isOptional param.
    • Updated container with tryGet.
    • Updated container with tryGetAsync.
    • Updated container with tryGetTagged.
    • Updated container with tryGetTaggedAsync.
    • Updated container with tryGetNamed.
    • Updated container with tryGetNamedAsync.
    • Updated container with tryGetAll.
    • Updated container with tryGetAllAsync.
    • Updated container with tryGetAllTagged.
    • Updated container with tryGetAllTaggedAsync.
    • Updated container with tryGetAllNamed.
    • Updated container with tryGetAllNamedAsync.

    Fixed

    Open source →
  52. 6.2.0-beta.04 Dec 2024pre-release
    Release notes

    Added

    • Added interfaces.GetAllOptions.

    Changed

    • Updated container.getAll with options optional param.
    • Updated container.getAllAsync with options optional param.

    Fixed

    Open source →
  53. 6.1.63 Dec 2024
    Release notes

    Fixed

    • Fixed unexpected property access while running planning checks on injected base types.
    • Updated ESM sourcemaps to refelct the right source code files.
    Open source →
  54. 6.1.529 Nov 2024
    Release notes

    Changed

    • Updated library to import reflect-metadata. Importing reflect-metadata before 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 .toService bindings.
    • Fixed .toService binding to properly disable caching any values.
    Open source →
  55. 6.1.5-beta.229 Nov 2024pre-release
    Release notes

    Fixed

    • Updated ESM bundled types to solve circularly referenced types.
    Open source →
  56. 6.1.5-beta.129 Nov 2024pre-release
    Release notes

    Fixed

    • Updated ESM build to provide proper types regardless of the ts resolution module strategy in the userland.
    Open source →
  57. 6.1.5-beta.026 Nov 2024pre-release
    Release notes

    Changed

    • Updated library to import reflect-metadata. Importing reflect-metadata before bootstraping a module in the userland is no longer required.

    Fixed

    • Fixed container to properly resolve async .toService bindings.
    • Fixed .toService binding to properly disable caching any values.
    Open source →
  58. 6.1.413 Nov 2024
    Release notes

    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.
    Open source →
  59. 6.1.4-beta.113 Nov 2024pre-release
    Release notes

    Fixed

    • Updated ESM build to be compatible with both bundler and NodeJS module resolution algorithms.
    Open source →
  60. 6.1.4-beta.012 Nov 2024pre-release
    Release notes

    Changed

    • Updated planner with better error description when a binding can not be properly resolved.
    Open source →