Stashbox 3.5.0-preview-616
Stashbox is a lightweight, fast and portable dependency injection framework for .NET based solutions.
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Stashbox</id>
<version>3.5.0-preview-616</version>
<authors>Peter Csajtai</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<icon>icon.png</icon>
<projectUrl>https://github.com/z4kn4fein/stashbox</projectUrl>
<description>Stashbox is a lightweight, fast and portable dependency injection framework for .NET based solutions.</description>
<releaseNotes>v3.5.0:
- Assembly scanning:
- Added option to filter service types and disable self registration.
- Recognize generic definitions.
- Added support to covariant/contravariant generic type resolution.
- Bugfix: Services with named scope lifetime were not choosed right from the registration repo.
v3.4.0:
- Added the core components of multitenant functionality.
- Throw `ObjectDisposedException` when the container or a scope is used after their disposal.
v3.3.0:
- Added the option to rebuild singletons in child container with dependencies overridden in it.
- Fix: Singleton instances were built when the Validate() was called, now just the expression is generated for them.
v3.2.9:
- Added the option to replace a registration only if an existing one is registered with the same type or name.
v3.2.8:
- Switch to license expression in nuget package.
v3.2.7:
- Minor bugfixes.
v3.2.6:
- The Validate() method now throws an AggregateException containing all the underlying exceptions.
- Minor bugfixes.
v3.2.5:
- Minor bugfixes.
v3.2.4:
- Added the `.WhenDecoratedServiceHas()` and `.WhenDecoratedServiceIs()` decorator configuration options.
v3.2.2:
- Added support of conditional and lifetime managed decorators #93
v3.2.1:
- Fix: Factory resolution didn't use the built-in expression compiler.
v3.2.0:
- Added IAsyncDisposable support #90
- It works on >=net461, >=netstandard2.0 frameworks.
- On net461 and netstandard2.0 the usage of IAsyncDisposable interface requires the
Microsoft.Bcl.AsyncInterfaces package, on netstandard2.1 it's part of the framework.
- Fix: resolving with custom parameter values #91
v3.1.2:
- Fix: IdentityServer not compatible #88
- Fix: Call interception #89
v3.1.1:
- Fix: String constant is not handled well by the built-in compiler #86
- Fix: Registration behaviour doesn't respect replacing #87
v3.1.0:
- Fix: Nested named resolution could cause stack overflow #74
- Fix: Improve support for Assemblies loaded into Collectible AssemblyLoadContexts #73
- Fix: Unknown type resolution does not work recursively #77
- Fix: Exception when building expressions #76
- Fix: Bad performance #79
- Fix: Expected override behaviour not working with scopes #80
v3.1.0 Breaking changes:
- `WithUniqueRegistrationIdentifiers()` option has been removed, `WithRegistrationBehavior()` has been added instead.
- Circular dependency tracking is enabled now by default, for runtime tracking the renamed `WithRuntimeCircularDependencyTracking()` option can be used.
- `WithMemberInjectionWithoutAnnotation()` container configuration option has been renamed to `WithAutoMemberInjection()`.
- `SetImplementationType()` option has been added to the registration configuration used when unknown type detected.
- Removed the `GetScopedInstace()` method from the `IResolutionScope`, they are treated as expression overrides now and consumed automatically by the container.
- Lifetimes became stateless and their API has been changed, see the docs for more info (https://github.com/z4kn4fein/stashbox/wiki/Lifetimes).
- Lifetime validation has been added:
- Tracking dependencies that has shorter life-span than their direct or indirect parent's.
- Tracking scoped services resolved from root.
- The container throws a LifetimeValidationFailedException when the validation fails.
- `PerRequestLifetime` has been renamed to `PerScopedRequestLifetime`.
- `RegisterInstanceAs()` has been removed, every functionality is available on the `RegisterInstance()` methods.
- Service/Implementation type map validation has been added to the non-generic registration methods.
- `InjectionParameter` has been replaced with `KeyValuePair<string, object>`.
- `IserviceRegistration` interface has been removed, only it's implementation remained.
- Removed the legacy container extension functionality.
- Removed the support of PCL v259.</releaseNotes>
<copyright>Copyright © Peter Csajtai 2021</copyright>
<tags>Stashbox di dependencyinjection ioc dotnet netstandard</tags>
<repository type="git" url="https://github.com/z4kn4fein/stashbox" commit="87d3aca93cdf7b6832819c9a45c9ac4bd537e186" />
<dependencies>
<group targetFramework=".NETFramework4.0" />
<group targetFramework=".NETFramework4.5" />
<group targetFramework=".NETFramework4.6.1">
<dependency id="Microsoft.Bcl.AsyncInterfaces" version="1.0.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard1.0">
<dependency id="NETStandard.Library" version="1.6.1" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard1.3">
<dependency id="NETStandard.Library" version="1.6.1" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit.Lightweight" version="4.3.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Microsoft.Bcl.AsyncInterfaces" version="1.0.0" exclude="Build,Analyzers" />
<dependency id="System.Reflection.Emit.Lightweight" version="4.3.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard2.1" />
</dependencies>
</metadata>
</package>