inversify
7.10.8
Patch Changes
- Updated
BindToFluentSyntax.toResolvedValue to allow non multiple array ServiceIdentifier injectOptions
- Updated dependencies
- @inversifyjs/container@1.14.5
7.10.7
Patch Changes
- Updated circular dependency detection to handle V8 issues on nearly exhausted call stack scenarios
- Updated dependencies
- @inversifyjs/core@9.1.2
- @inversifyjs/container@1.14.4
7.10.6
Patch Changes
- Updated metadata to reflect side effects
- Updated dependencies
- @inversifyjs/container@1.14.3
7.10.5
Patch Changes
- Updated entrypoint to import 'reflect-metadata/lite' instead of 'reflect-metadata'
- Updated dependencies
- @inversifyjs/container@1.14.2
7.10.4
Patch Changes
- Updated dependencies
- @inversifyjs/core@9.1.1
- @inversifyjs/container@1.14.1
7.10.3
Patch Changes
7.10.2
Patch Changes
- Updated dependencies
- @inversifyjs/container@1.13.2
- @inversifyjs/core@9.0.1
7.10.1
Patch Changes
7.10.0
Added
- Added
InjectFromBaseOptionsLifecycle.
- Added
InjectFromHierarchyOptionsLifecycle.
Changed
- Updated
injectFromBase with lifecycle property.
- Updated
injectFromHierarchy with lifecycle property.
7.9.1
Changed
- Updated
Container to trigger autobind options on autobound parent container related binding requests.
7.9.0
Changed
- Updated
decorate to allow method parameter decoration.
7.8.1
Changed
- Fixed
injectFromHierarchy avoiding crash when traversing Object metadata.
7.8.0
Added
- Added
injectFromHierarchy.
7.7.1
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.0
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.
7.7.0
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.
7.6.1
Changed
- Updated
getAll and getAllAsync options with missing chained property.
7.6.0
Added
- Added
MultiInjectOptions.
Changed
- Updated
multiInject decorator with optional MultiInjectOptions.
- Updated
getAll and getAllAsync options with optionalchained property.
7.5.4
Changed
- Updated
ServiceIdentifier to rely on Function again. This solves an issue affecting classes with protected constructors.
7.5.3
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.
7.5.2
Changed
- Fixed
Container.snapshot so snapshot bindings are not updated after a snapshot is taken.
- Fixed a memory leak affecting child containers.
7.5.1
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.
7.5.0
Changed
- Updated
Container with unloadSync.
- Updated
Container with loadSync.
7.4.0
Changed
- Updated
ContainerModuleLoadOptions with rebind.
- Updated
ContainerModuleLoadOptions with rebindSync.
- Updated
BindToFluentSyntax.toResolvedValue with additional type constraints.
7.3.0
Changed
- Updated
Container with rebindSync.
- Updated
Container with unbindSync.
- Updated
Container with rebind.
- Updated
ContainerModuleLoadOptions with unbindSync.
- Updated
ContainerModuleLoadOptions.unbind to accept BindingIdentifier.
7.2.0
Added
Changed
- Updated
BindInFluentSyntax with getIdentifier.
- Updated
Container.unbind to handle BindingIdentifier.
- Updated
BindOnFluentSyntax with getIdentifier.
- Updated
BindWhenFluentSyntax with getIdentifier.
7.1.0
Added
- Added
BindingActivation.
- Added
BindingDeactivation.
7.0.2
Changed
- Updated
container.get like methods to no longer initialize twice singleton scoped bindings.
7.0.1
Changed
- Updated
Container.get like methods to no longer initialize twice singleton scoped bindings.
7.0.0
Parity version with 7.0.0-alpha.5
7.0.0-alpha.5
Changed
- Renamed
BindingMetadata to BindingConstraints.
- Improved performance on
Container.get like methods.
7.0.0-alpha.4
Parity version with 7.0.0-alpha.3.
6.2.2
- Solved issue with npm registry.
7.0.0-alpha.3
Changed
- Updated
BindToFluentSyntax with .toResolvedValue.
7.0.0-alpha.2
Changed
- Updated
Container with a plan cache. Container.get, Container.getAll, Container.getAllAsync and Container.getAsync performance has been improved.
7.0.0-alpha.1
Changed
- Updated
GetOptions with autobind.
- Updated
ContainerOptions with autobind.
7.0.0-alpha.0
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.
6.2.1
Fixed
- Added missing
LazyServiceIdentifer.
6.2.0
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.
6.2.0-beta.1
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
6.2.0-beta.0
Added
- Added
interfaces.GetAllOptions.
Changed
- Updated
container.getAll with options optional param.
- Updated
container.getAllAsync with options optional param.
Fixed
6.1.6
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.5
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.
6.1.5-beta.2
Fixed
- Updated ESM bundled types to solve circularly referenced types.
6.1.5-beta.1
Fixed
- Updated ESM build to provide proper types regardless of the ts resolution module strategy in the userland.
6.1.5-beta.0
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.
6.1.4
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.1
Fixed
- Updated ESM build to be compatible with both bundler and NodeJS module resolution algorithms.
6.1.4-beta.0
Changed
- Updated planner with better error description when a binding can not be properly resolved.
6.1.3
Fixed
- Updated ESM build with missing types.
6.1.2
Changed
- Updated
package.json to include the exports field for better bundler support.
Fixed
- Updated fetch metadata flows with better error descriptions.
6.1.2-beta.1
Changed
- Updated
package.json to include the exports field for better bundler support.
6.1.2-beta.0
Fixed
- Updated fetch metadata flows with better error descriptions.
6.1.1
Fixed
- Bumped
@inversifyjs/common and @inversifyjs/core fixing wrong dev engines constraints.
6.1.0
Changed
- Updated
ServiceIdentifier to rely on Function instead of Abstract<T>.
Fixed
- Fixed
Target.getNameTag with the right type: number | string | symbol.
- Fixed
interfaces.ModuleActivationStore.addDeactivation to enforce serviceIdentifier and onDeactivation are consistent.
- Fixed
interfaces.ModuleActivationStore.addActivation to enforce serviceIdentifier and onDeactivation are consistent.
6.0.3
Fixed
property injection tagged as @optional no longer overrides default values with undefined.
Updated targetName to be a valid typescript@5 decorator.
6.0.2
Added
Brought tests up to 100% Code Coverage
Changed
LazyIdentfier Tests
Removed browser test pipeline, browserify, karma (#1542)
Update all dependencies except typescript (#1531)
Fixed
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)
6.0.1 - 2021-10-14
Added
- 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
Changed
- @postConstruct can target an asyncronous function #1132
- Singleton scoped services cache resolved values once the result promise is fulfilled #1320
Fixed
- only inject decorator can be applied to setters #1342
- Container.resolve should resolve in that container #1338
5.1.1 - 2021-04-25
-Fix pre-publish for build artifacts
5.1.0 - 2021-04-25
Added
- Upgrade information for v4.x to v5.x
Changed
- Update BindingToSyntax with
.toAutoNamedFactory().
Fixed
- Fix
Target.isTagged() to exclude optional from tag injections #1190.
- Update
toConstructor, toFactory, toFunction, toAutoFactory, toProvider and toConstantValue to have singleton scope #1297.
- Fix injection on optional properties when targeting ES6 #928
5.0.1 - 2018-10-17
Added
- Updating constructor injection wiki document with concrete injection example #922
Changed
- Change GUID to incremented counter for better performance #882
Fixed
- fix broken compilation by adding
.toString() so symbols serialization #893
- Fix problem with applying options on Container.resolve (fix #914) #915
- Fixed documentation issues
4.14.0 - 2018-10-16
Deprecated - Replaced by 5.0.1