Releases: autofac/Autofac
Releases · autofac/Autofac
v4.6.0
v4.5.0
v4.4.0
Added conditional registration support (#469). This includes OnlyIf()
and IfNotRegistered()
registration extensions.
v4.3.0
v4.2.1
- Fixed #807: Improves lifetime scope cleanup for shared instances.
- Marked
ContainerBuilder.Update
obsolete
For people using ContainerBuilder.Update
, we have opened a discussion issue to help you try working around use of Update
, explain why we're looking at making it obsolete, and find out where gaps in functionality might be so we can fill those gaps prior to removal.
Fear not, it'll still be around for a while. We just want folks to start looking at fixing things up, or, if it turns out we can't remove Update
, find out why it's required so we can address those challenges.
v4.2.0
- Fixed #495: Improved generic handling in ACTNARS so it no longer interferes with implicit relationship types.
- Fixed #782: Removed the
SerializableAttribute
polyfill from the Autofac assembly. - Added a string/object "properties" dictionary on the
ContainerBuilder
to enable sharing of data across component and module registrations.
v4.1.1
- Fixed #728: AnyConcreteTypeNotAlreadyRegisteredSource now ignores string parameters.
- Fixed #790: ContravariantRegistrationSource now correctly ignores value types.
- Fixed #794: Incorrect handling of generic parameter constraints.
- Fixed #799: Inject unset properties now handles exceptions thrown during property get operations.
v4.1.0
v4.0.1
v4.0.0
- New target platform set
netstandard1.1
. This includes support for .NET Core and UWP (Universal Windows Platform). You can read more about the newnetstandard
target framework monikers and the associated compatibility on the .NET Core documentation. - Implementation of the
Microsoft.Extensions.DependencyInjection
abstraction. This can be found in theAutofac.Extensions.DependencyInjection
NuGet package. - The
PreserveExistingDefaults
option now works correctly across lifetime scopes when registrations are added during the creation of a child lifetime scope. - The ability to provide an
IPropertySelector
to choose which properties should be property injected. - More type and component registration descriptions to exception messages for easier debugging.
AsImplementedInterfaces
now includes the actual interface being registered preventing the need to callAsSelf
as well.- Performance improvements in a number of core components.
- A backwards-compatibility polyfill for the
Serializable
attribute so that .NET 4.5.1 consumers can serializeDependencyResolutionException
acrossAppDomain
etc. as was possible prior to migrating to PCL. - Details are provided on the specific registration that fails when a tagged lifetime scope can't be found.
- A
DependencyResolutionException
is thrown if anInstancePerLifetimeScope
service attempts to create an instance of itself during its construction. - Added assembly scanning overloads of
AsClosedTypesOf
that accepts aserviceKey
orserviceKeyMapping
for keyed registrations.