Stashbox v3.1.0 Release Notes
Release Date: 2020-06-08 // almost 4 years ago-
๐ Fixed
- Nested named resolution could cause stack overflow #74
- ๐ Improve support for Assemblies loaded into Collectible AssemblyLoadContexts #73
- Unknown type resolution does not work recursively #77
- ๐ Exception when building expressions #76
- ๐ Bad performance #79
- Expected override behaviour not working with scopes #80
๐ฅ Breaking changes:
- ๐
WithUniqueRegistrationIdentifiers()
option has been removed,WithRegistrationBehavior()
has been added instead. - 0๏ธโฃ 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 toWithAutoMemberInjection()
. - ๐ง
SetImplementationType()
option has been added to the registration configuration used when unknown type detected. - โ Removed the
GetScopedInstace()
method from theIResolutionScope
, they are treated as expression overrides now and consumed automatically by the container. - Lifetimes became stateless and their API has been changed, read this for more info.
- 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 toPerScopedRequestLifetime
.- ๐
RegisterInstanceAs()
has been removed, every functionality is available on theRegisterInstance()
methods. - Service/Implementation type map validation has been added to the non-generic registration methods.
InjectionParameter
has been replaced withKeyValuePair<string, object>
.- ๐
IserviceRegistration
interface has been removed, only its implementation remained. - โ Removed the legacy container extension functionality.
- โ Removed the support of PCL v259.