Skip to content

chore: Bump Autofac from 9.3.2 to 9.3.4 - #158

Merged
mergify[bot] merged 1 commit into
mainfrom
dependabot/nuget/Autofac-9.3.4
Sep 21, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
dependabot/nuget/Autofac-9.3.4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 21, 2026

Copy link
Copy Markdown
Contributor

Updated Autofac from 9.3.2 to 9.3.4.

Release notes

Sourced from Autofac's releases.

9.3.4

What's Changed

Do not build a held registration's pipeline early by @​tillig in autofac/Autofac#1504 (fixes #​1503) - a regression introduced in 9.3.3. Registering an open generic for several services (.As(typeof(IFirstService<>)).As(typeof(ISecondService<>))) threw InvalidOperationException: Component pipeline has already been built, and cannot be modified. on first resolve whenever anything attached to PipelineBuilding from the component registry's Registered event. Autofac.Extensions.DependencyInjection attaches exactly that way on every registration, so ASP.NET Core applications using a multi-service open generic registration hit it deterministically. The fix restores the ordering 9.3.2 had, where the pipeline is built only after Registered has been raised.

If you are on 9.3.3 and register an open generic against more than one service, upgrade. Thanks to @​hjalle for the report and for pinning it to the exact line.

Full Changelog: autofac/Autofac@v9.3.3...v9.3.4

9.3.3

What's Changed

  • Create AnyKey adapter registrations per registry by @​tillig in Create AnyKey adapter registrations per registry (#1497) autofac/Autofac#1498 (fixes #​1497) - the KeyedService.AnyKey fallback adapter was cached and handed to every registry that asked for it, so the first scope to receive it built and disposed its pipeline out from under the rest. Other scopes then failed to add middleware, resolved through a disposed activator, or adapted another scope's registration. Multitenant containers hit this most often.
  • Fix open generic multi-service registrations overriding later defaults by @​tillig in Fix open generic multi-service registrations overriding later defaults autofac/Autofac#1499 (fixes #​1465) - a registration source exposing one component for several open generic services applied it to all of them at once, landing it ahead of higher-priority sources those services had yet to query. Whichever service was resolved second got the shared component instead of its own overriding registration. Source priority rather than resolution order now decides the default; closed generic types were never affected.
  • System.Diagnostics.DiagnosticSource and Microsoft.Bcl.AsyncInterfaces (netstandard2.0 only) move to 10.0.12.

Full Changelog: autofac/Autofac@v9.3.2...v9.3.3

Commits viewable in compare view.

Dependabot compatibility score

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: Autofac
  dependency-version: 9.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Sep 21, 2026
@github-actions

Copy link
Copy Markdown

Test Results

   18 files  ±0     18 suites  ±0   8m 40s ⏱️ -29s
1 324 tests ±0  1 323 ✅ ±0  1 💤 ±0  0 ❌ ±0 
6 453 runs  ±0  6 452 ✅ ±0  1 💤 ±0  0 ❌ ±0 

Results for commit 1114b63. ± Comparison against base commit a35074a.

@mergify
mergify Bot merged commit 7a1e89d into main Sep 21, 2026
14 checks passed
@mergify
mergify Bot deleted the dependabot/nuget/Autofac-9.3.4 branch September 21, 2026 08:22
@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Realistic Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 256.2 ns 3.33 ns 3.12 ns 1.03 568 B 1.00
Awaiten 249.3 ns 2.04 ns 1.90 ns 1.00 568 B 1.00
MsDI 577.5 ns 6.01 ns 5.33 ns 2.32 1104 B 1.94
Autofac 6,515.9 ns 92.67 ns 86.69 ns 26.14 10784 B 18.99
Jab 190.4 ns 1.25 ns 1.11 ns 0.76 432 B 0.76
DryIoc 431.4 ns 3.77 ns 3.34 ns 1.73 944 B 1.66
SimpleInjector 684.7 ns 7.91 ns 7.40 ns 2.75 1096 B 1.93
PureDI 182.9 ns 1.48 ns 1.38 ns 0.73 632 B 1.11
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Resolve Size Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 8 5.375 ns 0.0924 ns 0.0864 ns 1.45 1.00 -
Awaiten 8 3.718 ns 0.0543 ns 0.0508 ns 1.00 - NA
MsDI 8 4.512 ns 0.0569 ns 0.0504 ns 1.21 - NA
Autofac 8 63.958 ns 1.7718 ns 1.6574 ns 17.21 656 B NA
Jab 8 1.489 ns 0.0434 ns 0.0385 ns 0.40 - NA
PureDI 8 2.147 ns 0.0557 ns 0.0521 ns 0.58 - NA
DryIoc 8 4.619 ns 0.1467 ns 0.1300 ns 1.24 - NA
SimpleInjector 8 5.983 ns 0.1601 ns 0.1497 ns 1.61 - NA
baseline* 256 6.028 ns 0.1018 ns 0.0902 ns 1.31 1.00 -
Awaiten 256 4.603 ns 0.0950 ns 0.0889 ns 1.00 - NA
MsDI 256 4.167 ns 0.1019 ns 0.0953 ns 0.91 - NA
Autofac 256 60.893 ns 2.9553 ns 2.7644 ns 13.24 656 B NA
Jab 256 64.873 ns 1.2267 ns 1.1474 ns 14.10 - NA
PureDI 256 3.587 ns 0.0394 ns 0.0369 ns 0.78 - NA
DryIoc 256 4.638 ns 0.1331 ns 0.1180 ns 1.01 - NA
SimpleInjector 256 6.080 ns 0.1192 ns 0.1115 ns 1.32 - NA
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.401
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v4

Job=InProcess Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=1 WarmupCount=10

Build Size Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 8 18.58 ns 0.623 ns 0.583 ns 1.45 144 B 1.00
Awaiten 8 12.836 ns 0.1180 ns 0.1046 ns 1.00 144 B 1.00
MsDI 8 1,101.264 ns 12.1144 ns 10.1161 ns 85.80 5688 B 39.50
Autofac 8 24,945.210 ns 134.0912 ns 125.4290 ns 1,943.53 32478 B 225.54
Jab 8 5.993 ns 0.1267 ns 0.1186 ns 0.47 96 B 0.67
PureDI 8 11.942 ns 0.1662 ns 0.1555 ns 0.93 128 B 0.89
DryIoc 8 549.544 ns 10.0724 ns 9.4218 ns 42.82 1528 B 10.61
SimpleInjector 8 8,886.449 ns 119.9440 ns 112.1957 ns 692.36 24760 B 171.94
baseline* 256 102.67 ns 4.272 ns 3.996 ns 1.67 2128 B 1.00
Awaiten 256 61.448 ns 0.3160 ns 0.2801 ns 1.00 2128 B 1.00
MsDI 256 10,487.784 ns 120.2330 ns 112.4661 ns 170.68 61016 B 28.67
Autofac 256 612,379.419 ns 2,671.6893 ns 2,368.3829 ns 9,965.98 737658 B 346.64
Jab 256 52.909 ns 0.5231 ns 0.4893 ns 0.86 2080 B 0.98
PureDI 256 57.438 ns 0.2655 ns 0.2353 ns 0.93 2112 B 0.99
DryIoc 256 36,821.117 ns 343.7794 ns 304.7514 ns 599.23 80824 B 37.98
SimpleInjector 256 299,517.325 ns 3,225.3431 ns 3,016.9879 ns 4,874.40 573089 B 269.31

baseline* rows show the corresponding Awaiten benchmark from the most recent successful main branch build with results, for regression comparison.

github-actions Bot added a commit that referenced this pull request Sep 21, 2026
github-actions Bot added a commit that referenced this pull request Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants