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 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, 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 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 its implementation remained.
    • โœ‚ Removed the legacy container extension functionality.
    • โœ‚ Removed the support of PCL v259.