deps: Bump Autofac from 5.2.0 to 9.3.2 - #51
Closed
dependabot[bot] wants to merge 1 commit into
Closed
Conversation
--- updated-dependencies: - dependency-name: Autofac dependency-version: 9.3.2 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: Autofac dependency-version: 9.3.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
Superseded by #131. |
dependabot
Bot
deleted the
dependabot/nuget/AutoLotManager.Desktop/multi-dfa2c1eb88
branch
August 20, 2026 23:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated Autofac from 5.2.0 to 9.3.2.
Release notes
Sourced from Autofac's releases.
9.3.2
What's Changed
[ServiceKey]attribute by @npease18 (#1495, fixes #1480)New Contributors
Full Changelog: autofac/Autofac@v9.3.1...v9.3.2
9.3.1
What's Changed
Fix per-resolve closure allocation in resolve pipeline (#1493) by @tillig in autofac/Autofac#1494
Full Changelog: autofac/Autofac@v9.3.0...v9.3.1
9.3.0
What's Changed
Full Changelog: autofac/Autofac@v9.2.0...v9.3.0
9.2.0
What's Changed
IStartablethrows during Build (#1392) by @tillig in Dispose container when an IStartable throws during Build (#1392) autofac/Autofac#1485ExternallyOwnedownership for decorators (#1402) by @tillig in Honor ExternallyOwned ownership for decorators (#1402) autofac/Autofac#1486Moduleregistry events when hooks are overridden (#1446) by @tillig in Only subscribe Module registry events when hooks are overridden (#1446) autofac/Autofac#1487GetRegistrationIdextension to expose a registration's unique ID (#1327) by @tillig in Add GetRegistrationId extension to expose a registration's unique ID (#1327) autofac/Autofac#1490Full Changelog: autofac/Autofac@v9.1.0...v9.2.0
9.1.0
This is a pretty big release for Autofac with some major new functionality!
AnyKey Support
First, Autofac now natively supports the concept of
AnyKey. It behaves the same wayAnyKeyworks in Microsoft.Extensions.DependencyInjection, but it is native to Autofac directly. The unit tests here show some very detailed examples of usage, but on a high level:Inject Service Key Into Constructors
The new
[ServiceKey]attribute allows you to inject the service key provided during resolution. This is handy in conjunction withAnyKey. Again, this is similar to the construct in Microsoft.Extensions.DependencyInjection, but with native Autofac.First, mark up your class to take the constructor parameter.
Then when you resolve the class, the service key will automatically be injected.
You can also make use of this in a lambda registration.
Metrics
Some metrics have been introduced that can allow you to capture counters on how long middleware is taking, how often lock contention occurs, and so on.
Set the
AUTOFAC_METRICSenvironment variable in your process totrueor1to enable this feature. You can see the set of counters that will become available here.... (truncated)
9.0.0
Updated Autofac for .NET 10. New current set of target frameworks:
net10.0;net8.0;netstandard2.1;netstandard2.0Breaking Changes
Dropped support for
net6.0,net7.0.Additional Changes
net10.0.Full Changelog: autofac/Autofac@v8.4.0...v9.0.0
8.4.0
Minor breaking change: The shim
RequiresUnreferencedCodeAttributehas been changed frompublictointernal(#1462/#1463 - thanks @prochnowc!). This will only affect people targeting older/lower .NET standard frameworks who also rely on the shim attribute in Autofac. While it's technically breaking, it didn't seem like a great reason to do a full major release due to the edge case nature of the set of applications/users affected.8.3.0
What's Changed
IIndex<K,V>.TryGetValue()since it may return null on failure.Full Changelog: autofac/Autofac@v8.2.1...v8.3.0
8.2.1
Fix #1450:
AutoActivate()no longer hides the default service registration. (Thanks, @nblumhardt!)8.2.0
What's Changed
AssemblyLoadContextdisposal (#1438 - thanks @hemirunner426!)RegisterServiceMiddlewareto assist with interceptors/decorators (#1439 - thanks @idiotsky!)Full Changelog: autofac/Autofac@v8.1.1...v8.2.0
8.1.1
What's Changed
ResolveRequest.operator==()(#1430, thanks @SergeiPavlov!)WithPropertyregistration methods consistently allow null values (#1428)Full Changelog: autofac/Autofac@v8.1.0...v8.1.1
8.1.0
What's Changed
requiredmember caching (#1415 - thanks @SergeiPavlov!)requiredinfrastructure attributes by (#1421 - thanks @DoctorVanGogh!)Full Changelog: autofac/Autofac@v8.0.0...v8.1.0
8.0.0
Breaking Changes
netcoreapp3.1support/testing (#1401).ResolveRequestinto areadonly struct(#1397 - thanks @SergeiPavlov!).Additional Changes
net8.0target (#1401).Full Changelog: autofac/Autofac@v7.1.0...v8.0.0
7.1.0
What's Changed
RegsiterTypesfiltering. This was an accidental behavior regression where theRegisterTypesmethod wouldn't filter out non-registerable types.RegisterType<T>andRegisterType(Type t)will now throw when non-registerable types are provided, for examplecontainerBuilder.RegisterType<IInterface>()(you can't register interfaces - you can register thingsAs<IInterface>). This used to throw at container build time; now it throws atRegisterTypetime and it has a more precise error message so you can handle these issues more proactively.Full Changelog: autofac/Autofac@v7.0.1...v7.1.0
7.0.1
What's Changed
LifetimeScope.CreateSharedInstance(thanks @botinko)Autofac.Features.OpenGenerics.OpenGenericServiceBinder.TryBindOpenGenericTypedService(thanks @SergeiPavlov)Full Changelog: autofac/Autofac@v7.0.0...v7.0.1
7.0.0
Version 7.0.0 is a major increment due to some changes in the target frameworks and some behavioral changes. We summarize these in the documentation, but included here as well:
New Features
requiredwill now be injected by default. As part of this, the default property injector usingPropertiesAutowired()will not inject properties markedrequired. The documentation has more explanation with examples.AssemblyLoadContextby lifetime scope. A new method,BeginLoadContextLifetimeScope, has been added that allows you to create a lifetime scope tied to a specificAssemblyLoadContext. When the scope is disposed, Autofac will perform a best-effort release of all references to types from that context so the assemblies can be unloaded. The documentation explains this in greater detail.Issues and PRs
Full Changelog: autofac/Autofac@v6.5.0...v7.0.0
Breaking Changes
net50no longer targeted. Autofac will still work with .NET 5 via thenetstandard2.1target, but we recommend you upgrade to a later, supported version of .NET.requiredwill now be injected by default. As noted above,requiredproperties will be injected. This is a behavioral change from Autofac 6.0.requiredproperties. UsingPropertiesAutowired()will ignorerequiredproperties because it's assumed they must be set during construction rather than post-object-creation.RegisterGeneratedFactoryis obsolete. This feature has been replaced by theFunc<X, Y, B>built-in relationship and delegate factories.ILifetimeScopehas a newBeginLoadContextLifetimeScopemethod. If you have mocks ofILifetimeScopethis method must now be implemented.6.5.0
Autofac.Core.ReflectionCacheSet(#1341). This is part of an effort to support unloadingAssemblyLoadContextsassociated with child scopes and enable better plugin support (#1324).IDecoratorContextnow extendsIComponentContextso decorator decisions can be made based on the constructed container (#1338, #1352).Full Changelog: autofac/Autofac@v6.4.0...v6.5.0
6.4.0
WithMetadataand generate metadata (#1299 - thanks @romerod!)IConstructorSelectorinvocation is skipped (#1325)The new feature to be aware of here is the generic delegates for making lambda registrations easier (#1320, #1321). It makes resolving dependencies in lambdas more straightforward.
The old way meant injecting an
IComponentContextand resolving the dependencies manually.That old way still works and is not deprecated. You can keep doing that.
However, you can now skip the manual resolutions and just provide the dependencies as the parameters to the lambda:
If you need both the context and dependencies for advanced cases, you can do that, too.
6.3.0
OnlyIfclause. (#1235, #1272)valueto inject by name as that's a reserved word in property setter methods. (#1275)IAsyncDisposableinstances that have not been activated are correctly disposed when the scope is disposed. (#1285)TryResolveNamedandTryResolveKeyed. (#1263, #1287 - thanks @v0idzz!)6.2.0
Resolved issues / PRs:
RegisterAssemblyOpenGenericTypesto do assembly scanning and register open generics! (#1232 / #1246)ConfigurePipelinetoIComponentRegistrationto allow easier registration pipeline modification (related to #1211)ConcurrentBagon different platforms resulted in a memory leak inOnActivatedusage; we now flush theConcurrentBagof registrations on disposal of a lifetime scope (#1257)6.1.0
refparameters.6.0.0
Version 6.0.0 represents a major update in the Autofac internals. While every effort has been made to ensure code using version 5.x will continue to work exactly as you expect, you should be aware of the breaking changes and test things out. For the majority case, things should just continue to work; breaking changes are primarily in more rare advanced usage scenarios.
Check out the release blog post! Also, the documentation has been updated and is ready!
New Features
There are a lot of new features, but the big ones are here. Other features and fixes will be outlined in the Issues section, below.
DiagnosticSourcediagnostics. The core Autofac package ships with a default text-based diagnostic tracer and the newAutofac.Diagnostics.DotGraphpackage adds graphic tracing using DOT and Graphviz.Issues and PRs
The following issues have been addressed in v6:
Lazy<T>should now work.Autofac.Diagnostics.DotGraphpackage.ILifetimeScope.LifetimeScopeEndingevent is raised and completes before the scope is disposed.ContainerBuilderis nowsealed.DiagnosticSource.Autofac.Poolingpackage.Breaking Changes
We'll do our best to keep an upgrade guide with breaking changes available and up to date. We're pretty sure we caught them all, but if you find a gotcha, let us know on the Documentation repo.
A summary of the breaking changes is as follows:
net461is no longer targeted; Autofac now targetsnetstandard2.0andnetstandard2.1.log4netmodule example is shown in the documentation, this now needs to happen through middleware. Thelog4netmodule example has been updated to show you the new way it works.RegistrationBuilder.RegistrationDatano longer exposes activation handlers. TheCoreEventMiddlewareis the source of events now.IComponentRegistrationno longer exposes activation events. TheCoreEventMiddlewareis the source of events now.IConstructorSelectorimplementations need to switch to useBoundConstructorinstead ofConstructorParameterBinding.IRegistrationSourceimplementations need to update theRegistrationsFormethod signature.IInstanceActivatorimplementations no longer have anActivateInstancemethod and instead have aConfigurePipelinemethod.IComponentRegistryno longer supplies aDecoratorsFormethod to check decorators. UseIComponentRegistry.ServiceMiddlewareForinstead.ResolveRequestconstructor now takes aServiceRegistrationinstead of anIComponentRegistration.... (truncated)
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)