Skip to content

Releases: autofac/Autofac

v4.6.0

16 May 12:42
Compare
Choose a tag to compare
  • Fixed #730: Added MatchingLifetimeScopeTags() extension to IComponentRegistration to get scope tags.
  • Fixed #849: Store build callbacks in property bag so modules can add to them.

v4.5.0

05 Apr 13:31
Compare
Choose a tag to compare
  • Added RegisterBuildCallback method to ContainerBuilder that is invoked when the container is built and passed the container instance.

v4.4.0

01 Mar 17:15
Compare
Choose a tag to compare

Added conditional registration support (#469). This includes OnlyIf() and IfNotRegistered() registration extensions.

v4.3.0

17 Jan 12:24
Compare
Choose a tag to compare
  • Fixed #816: Generics constrained with generic parameters do not resolve.
  • Improve #769: Reduced memory usage and resolution time for reflection based activations.
  • Added attribute filtering capability from Autofac.Extras.AttributedMetadata to core Autofac package making it available in .NET Core.

v4.2.1

23 Nov 23:26
Compare
Choose a tag to compare
  • 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

03 Nov 15:58
Compare
Choose a tag to compare
  • 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

18 Oct 16:33
Compare
Choose a tag to compare
  • 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

03 Nov 16:05
Compare
Choose a tag to compare

Fixed #789: Property injection was incorrectly considering parameters during resolution. InjectProperties now allows parameters to be passed if that functionality is required.

v4.0.1

03 Nov 16:06
Compare
Choose a tag to compare
  • Updated minimum specific .NET framework target to be .NET 4.5.
  • Removed specific uap10.0 framework target since it's covered by netstandard1.1.

v4.0.0

03 Nov 16:07
Compare
Choose a tag to compare
  • New target platform set netstandard1.1. This includes support for .NET Core and UWP (Universal Windows Platform). You can read more about the new netstandard target framework monikers and the associated compatibility on the .NET Core documentation.
  • Implementation of the Microsoft.Extensions.DependencyInjection abstraction. This can be found in the Autofac.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 call AsSelf 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 serialize DependencyResolutionException across AppDomain 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 an InstancePerLifetimeScope service attempts to create an instance of itself during its construction.
  • Added assembly scanning overloads of AsClosedTypesOf that accepts a serviceKey or serviceKeyMapping for keyed registrations.