Skip to content

chore: Bump Pure.DI from 2.5.1 to 2.5.2 - #130

Merged
vbreuss merged 1 commit into
mainfrom
dependabot/nuget/Pure.DI-2.5.2
Jul 28, 2026
Merged

chore: Bump Pure.DI from 2.5.1 to 2.5.2#130
vbreuss merged 1 commit into
mainfrom
dependabot/nuget/Pure.DI-2.5.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 27, 2026

Copy link
Copy Markdown
Contributor

Updated Pure.DI from 2.5.1 to 2.5.2.

Release notes

Sourced from Pure.DI's releases.

2.5.2

🚀 New Features

  • Owned and Own Infrastructure Enhancements

    • Improved built-in ownership infrastructure for Owned<T> graphs.
    • Added Own.Empty shared no-op owner for graphs that are known to contain no disposable resources.
    • Added preallocated ownership storage paths to reduce overhead when the generator knows the expected number of tracked resources.
    • Added synchronization-aware Own construction to coordinate resource registration with disposal when thread safety is enabled.
    • Added rejection checks for disposed owners: resources added after disposal are immediately disposed and rejected instead of leaking.
  • Disposal Exception Tracing

🛠 Improvements

  • Owned Disposal Semantics

    • Improved nested ownership boundary isolation.
    • Refined rollback logic when graph construction fails after disposable resources have already been created.
    • Suppressed disposal exceptions so one failing dependency does not prevent cleanup of the rest of the graph.
    • Avoided generating empty root try/catch blocks for Owned<T> factory scenarios when no cleanup work is required.
  • Autofac-Parity Coverage

    • Added a comparison test suite for Owned<T> disposal behavior using Autofac scenarios as a reference.
    • Expanded integration tests for nested ownership, failed construction rollback, disposal ordering, disposal exceptions, and built-in ownership behavior.
  • Documentation

    • Expanded XML documentation for abstractions, attributes, templates, ownership infrastructure, and generated API components.
    • Refined README structure and disposal/ownership examples.

What's Changed

New Contributors

Full Changelog: DevTeam/Pure.DI@2.5.1...2.5.2

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: Pure.DI
  dependency-version: 2.5.2
  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 Jul 27, 2026
@github-actions

Copy link
Copy Markdown

Test Results

   18 files  ±0     18 suites  ±0   7m 34s ⏱️ - 2m 0s
1 242 tests ±0  1 241 ✅ ±0  1 💤 ±0  0 ❌ ±0 
5 895 runs  ±0  5 894 ✅ ±0  1 💤 ±0  0 ❌ ±0 

Results for commit 9b596d1. ± Comparison against base commit 5d8990f.

@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Intel Xeon 6973P-C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.302
[Host] : .NET 10.0.10 (10.0.10, 10.0.1026.32716), 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.248 ns 0.0026 ns 0.0024 ns 0.79 - NA
Awaiten 8 6.661 ns 0.1592 ns 0.1489 ns 1.00 - NA
MsDI 8 5.417 ns 0.3009 ns 0.2815 ns 0.81 - NA
Autofac 8 96.446 ns 3.1714 ns 2.9666 ns 14.49 656 B NA
Jab 8 2.784 ns 0.1380 ns 0.1291 ns 0.42 - NA
PureDI 8 4.149 ns 0.2014 ns 0.1884 ns 0.62 - NA
DryIoc 8 7.362 ns 0.2166 ns 0.2026 ns 1.11 - NA
SimpleInjector 8 9.183 ns 0.1239 ns 0.0967 ns 1.38 - NA
baseline* 256 6.544 ns 0.0069 ns 0.0064 ns 0.96 - NA
Awaiten 256 6.829 ns 0.2098 ns 0.1752 ns 1.00 - NA
MsDI 256 5.617 ns 0.0958 ns 0.0896 ns 0.82 - NA
Autofac 256 99.626 ns 3.4994 ns 3.2734 ns 14.60 656 B NA
Jab 256 41.128 ns 0.4216 ns 0.3738 ns 6.03 - NA
PureDI 256 7.829 ns 0.3210 ns 0.3003 ns 1.15 - NA
DryIoc 256 7.679 ns 0.1900 ns 0.1587 ns 1.13 - NA
SimpleInjector 256 9.976 ns 0.1661 ns 0.1553 ns 1.46 - NA
Details

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

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

Realistic Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 233.3 ns 0.80 ns 0.67 ns 0.85 568 B 1.00
Awaiten 272.9 ns 1.29 ns 1.08 ns 1.00 568 B 1.00
MsDI 602.2 ns 6.40 ns 5.68 ns 2.21 1104 B 1.94
Autofac 6,536.7 ns 57.09 ns 50.61 ns 23.95 10784 B 18.99
Jab 204.0 ns 1.67 ns 1.48 ns 0.75 432 B 0.76
DryIoc 447.3 ns 6.15 ns 5.45 ns 1.64 944 B 1.66
SimpleInjector 707.2 ns 7.54 ns 7.06 ns 2.59 1096 B 1.93
PureDI 192.4 ns 2.43 ns 2.27 ns 0.71 632 B 1.11
Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.302
[Host] : .NET 10.0.10 (10.0.10, 10.0.1026.32716), X64 RyuJIT x86-64-v3

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

Build Size Mean Error StdDev Ratio Allocated Alloc Ratio
baseline* 8 17.166 ns 0.1699 ns 0.1506 ns 0.98 144 B 1.00
Awaiten 8 17.518 ns 0.5299 ns 0.4957 ns 1.00 144 B 1.00
MsDI 8 1,473.453 ns 10.1736 ns 9.5164 ns 84.17 5688 B 39.50
Autofac 8 30,670.217 ns 341.4802 ns 319.4208 ns 1,752.09 33098 B 229.85
Jab 8 9.874 ns 0.2516 ns 0.2101 ns 0.56 96 B 0.67
PureDI 8 15.018 ns 0.2402 ns 0.2247 ns 0.86 128 B 0.89
DryIoc 8 725.847 ns 15.8315 ns 14.8088 ns 41.47 1528 B 10.61
SimpleInjector 8 12,678.867 ns 350.2722 ns 327.6448 ns 724.30 24760 B 171.94
baseline* 256 80.961 ns 0.2478 ns 0.2197 ns 0.94 2128 B 1.00
Awaiten 256 86.454 ns 1.1694 ns 0.9130 ns 1.00 2128 B 1.00
MsDI 256 14,444.910 ns 153.2827 ns 135.8811 ns 167.10 61016 B 28.67
Autofac 256 723,333.001 ns 2,989.0509 ns 2,649.7158 ns 8,367.58 720853 B 338.75
Jab 256 82.065 ns 3.7236 ns 3.4831 ns 0.95 2080 B 0.98
PureDI 256 94.073 ns 5.2102 ns 4.8736 ns 1.09 2112 B 0.99
DryIoc 256 43,739.685 ns 583.7733 ns 546.0619 ns 505.98 80108 B 37.64
SimpleInjector 256 364,376.703 ns 7,198.8214 ns 6,733.7820 ns 4,215.14 573147 B 269.34

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

@vbreuss
vbreuss merged commit b4eb4e5 into main Jul 28, 2026
12 checks passed
@vbreuss
vbreuss deleted the dependabot/nuget/Pure.DI-2.5.2 branch July 28, 2026 20:44
github-actions Bot added a commit that referenced this pull request Jul 28, 2026
github-actions Bot added a commit that referenced this pull request Jul 28, 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.

1 participant