Simple Injector v4.5 Release Notes
Release Date: 2019-03-21 // about 5 years ago-
๐ Release Notes
๐ This release can be downloaded using NuGet.
๐ The most prominent improvements in this release are:
- The diagnostics will warn when injected injected collections are iterated/used inside constructors of singleton consumers.
- The introduction of a
Container.ContainerScope
property that allows access to the singletonScope
. - The introduction of an
Options.ResolveUnregisteredConcreteTypes
switch that allows disabling resolving unregistered concrete types. Users are advised to change the setting tofalse
. This prevents supprises in the future, as we are changing the default behavior tofalse
in v5.0. - The addition of integration for ASP.NET Core 2.0 Razor Pages. The
SimpleInjector.Integration.AspNetCore.Mvc
package contains a newSimpleInjectorPageModelActivatorProvider
class that can be added to ASP.NET'sIServiceCollection
and acontainer.RegisterPageModels(app)
extension method that can be used to register Razor Page Models.
๐ฅ Breaking changes
Simple Injector core library
- ๐ #554 Iterating collections with scoped or transient dependencies inside a singleton consumer now causes an exception when resolved or verified to prevent captive dependencies/lifestyle mismatches. A suppression can be added in case the warning is a false positive.
- #670
AdvancedExtensions.IsVerifying(Container)
extension method was made obsolete. You can use theContainer.IsVerifying
property instead.
๐ Features and improvements
Simple Injector core library
- #377
Container.Options.ResolveUnregisteredConcreteTypes
switch introduced that allows disabling resolving unregistered concrete types. - ๐
#648 Added information about lifestyles to when the container visualized object graph (both inside the VS debugger and when calling
VisualizeObjectGraph
). Special thanks to our new contributor @kwlin for implementing this. - ๐
#664 New
Container.ContainerScope
property allows access to the container-globalScope
, which can be used to register objects for disposal and execute delegates when the container is disposed, while allowing to retrieve created disposables, which enables async dispose. - #603 New
Collection.Append
andCollection.AppendInstance
overloads added that simplify appending registrations (and instances) to collections.
๐ฆ ASP.NET Core Integration packages
- ๐ฆ #572 Added ASP.NET 2.0 Razor Page support to the ASP.NET Core MVC integration package.
๐ ASP.NET (Web Forms / MVC) Integration
- ๐
#671 Prevented
WebRequestLifestyle
from reusing the sameScope
instance over multiple containers inside the same web request.
๐ Bug fixes
Simple Injector core library
- ๐ #540 Removed the use of
ThreadLocal<T>
from the decorator sub system, which could cause memory leaks in case the user didn't dispose the container.