Bump Pure.DI from 2.1.72 to 2.4.3#173
Open
dependabot[bot] wants to merge 1 commit into
Open
Conversation
--- updated-dependencies: - dependency-name: Pure.DI dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
✅ This is a version-update:semver-minor update. Package: Pure.DI This PR will be automatically merged once all CI checks pass. To prevent auto-merge, add the |
|
📊 PR Size Analysis
✅ Small PR - should be quick to review! |
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 Pure.DI from 2.1.72 to 2.4.3.
Release notes
Sourced from Pure.DI's releases.
2.4.3
This release focuses on improving compatibility, enhancing project templates, and expanding built-in support for standard .NET types.
🚀 New Features
🐞 Bug Fixes
🎨 Improvements
Full Changelog: DevTeam/Pure.DI@2.4.2...2.4.3
2.4.2
🚀 Improvements
_lockfield only when actually used. The thread-safety_lockfield is no longer emitted in generated compositions when nolock(...)statement references it. Previously it was created conservatively for any composition with overrides, wasting memory on every instance. No behavioral changes for compositions that genuinely require thread safety.🐛 Bug Fixes
TandT?in DI contracts and fix invalid??generated for nullable generic singleton dependencies.Full Changelog: DevTeam/Pure.DI@2.4.1...2.4.2
2.4.1
🚀 New Features
Enhanced Code Generation
🐛 Bug Fixes
Localization Issues — fixed localization problems across multiple language resource files. Updated all localization strings for Arabic, Bengali, German, Spanish, French, Hebrew, Hindi, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Thai, Vietnamese, and Chinese
Full Changelog: DevTeam/Pure.DI@2.4.0...2.4.1
2.4.0
❗ Breaking Changes
🚀 New Features
Nullable Reference Types — Breaking change! Pure.DI now fully preserves nullable reference type annotations throughout the dependency injection pipeline.
.Arg<T?>()) and root arguments (.RootArg<T?>()) no longer generate null checks, allowingnullvalues to flow through as intended.where T : class?overwhere T : classfor contracts with nullable generic arguments to avoid C# compiler warnings.Resolvemethods help catch potential issues early.readme/nullable-reference-types.mdfor detailed examples and best practices.TryBuildUp for Builders
TryBuildUpmethod generated alongsideBuildUpfor safe type-based composition.falseinstead of throwing when the runtime subtype is unknown, enabling graceful fallback handling.composition.TryBuildUp(externalRobot)returnsfalsefor unsupported types whilecomposition.BuildUp(externalRobot)would throwArgumentException.readme/builders.mdfor usage examples.👥 Contributors
Thanks to everyone who contributed to this release:
Full Changelog: DevTeam/Pure.DI@2.3.7...2.4.0
2.3.7
🚀 New Features
Generate Interfaces from Classes — special thanks to Adam Hathcock for designing and implementing this feature! 🎉
[GenerateInterface]attribute lets a concrete service produce a matching interface automatically, so consumers can depend on the abstraction without hand-writing it.[GenerateInterface]multiple times, with per-interface member selection.[IgnoreInterface], which takes precedence over[GenerateInterface].Scope Setup
SetupScopemethod for composing scoped sub-graphs from a parent composition — open a scope per request/operation, share scoped instances inside it, and dispose them at the end.Hint.ScopeMethodNamehint lets you rename the generated scope factory method to fit your domain (e.g.SetupScope,CreateScope,BeginRequest):Unity Scene Scopes
MonoBehaviourinstances and Pure.DI builds them up.Microsoft DI Integration: Scoped Lifetimes
IServiceProviderintegration now supports scoped lifetimes end-to-end viacomposition.CreateScope(), matchingMicrosoft.Extensions.DependencyInjectionsemantics.Generated Code is Marked
[GeneratedCode], so analyzers, coverage, and code-style tools can recognize and skip it correctly.Compositionclass embeds the actual Pure.DI package version it was produced with, instead of a hard-coded string.🐛 Bug Fixes
👥 Contributors
Thanks to everyone who contributed to this release:
Full Changelog: DevTeam/Pure.DI@2.3.6...2.3.7
2.3.6
🚀 New Features
BCL Dictionary Support
Dictionary<TKey, TValue>typesIContext Extensions
IContextinterfaceIContextExtended Factory Method Bindings
⚡ Performance Improvements
Metadata Analysis
Code Generation
Graph Building
📝 Documentation
Full Changelog: DevTeam/Pure.DI@2.3.5...2.3.6
2.3.5
🐛 Bug Fixes
Contributors
@YoshihiroIto
@NikolayPianikov
Full Changelog: DevTeam/Pure.DI@2.3.4...2.3.5
2.3.4
🚀 New Features
Auto-Bindings Default Lifetime Support
Anonymous Roots (#138)
🐛 Bug Fixes
#132: Fixed optional enum default value emission
#133: Fixed null parameter issue in self-injecting registrations
DIE043: Fixed casting exception
Improved error message for unresolved dependencies
⚡ Performance Improvements (#136)
Cache Refactoring
Graph Build Optimizations
Variable Management
Metadata Analysis
GraphOverrider
... (truncated)
2.3.3
🐞 Bug Fixes
Full Changelog: DevTeam/Pure.DI@2.3.2...2.3.3
2.3.2
🚀 New Features
Setup Context Support, see these examples:
Added support for deep and one-level override behavior, see this example:
Error Handling and Diagnostics
Code Generation Enhancements
Contributors
@xchesh
@NikolayPianikov
2.3.1
This release focuses on simplifying the API, increasing the stability of code generation, and extending support for specific platforms like Unity.
🚀 New Features
IConfiguration.SpecialType<T>()API: Allows marking special types (such as Unity base types) to exclude them from automatic simplified bindings and avoid conflicts.🐞 Bug Fixes
Full Changelog: DevTeam/Pure.DI@2.3.0...2.3.1
Bindings
Bindings are the core mechanism of Pure.DI, used to define how types are created and which contracts they fulfill.
Overview
For Implementations
To bind a contract to a specific implementation:
Alternatively, you can bind multiple contracts at once:
Example:
For Factories
To use a custom factory logic via
IContext:Resulting constructor:
Important notes:
Scope‑related constructors (conditional generation)
If there is at least one binding with
Lifetime.Scoped, Pure.DI generates two constructors:Public default constructor
Used for creating the root scope instance.
Internal constructor with parent scope
Used for creating child scope instances. This constructor is internal and accepts a single parameter — the parent scope.
... (truncated)
2.2.15
🚀 What's New in This Release
Key Enhancements:
Full Changelog: DevTeam/Pure.DI@2.2.14...2.2.15
2.2.14
🚀 What's New in This Release
🐛 Critical Fixes:
Full Changelog: DevTeam/Pure.DI@2.2.13...2.2.14
2.2.13
🚀 What's New in This Release
Key Enhancements:
Object Lifecycle Optimization
When working with dependencies, it's important to choose the right object lifetime. For example, if an object with PerResolve is used only once in the entire composition, it's more efficient to apply Transient.
This provides two key benefits:
This approach allows optimizing application performance and using system resources more efficiently.
Pure.DI implements this optimization automatically. For exampple, when the Pure.DI detects that an object with
PerResolvelifetime is injected only once across the entire object composition, it automatically switches toTransientlifetime. This automation helps developers save time and ensures optimal resource usage without manual intervention. This automatic optimization mechanism is not limited to thePerResolvelifetime. Similar optimizations can be applied to other lifetime management strategies.Pure.DI intelligently analyzes the usage patterns and context of each object to determine the most efficient lifetime strategy, ensuring optimal performance across the entire application.
🐛 Critical Fixes:
Full Changelog: DevTeam/Pure.DI@2.2.12...2.2.13
2.2.11
🚀 What's New in This Release
NuGet package
Key Enhancements:
Full Changelog: DevTeam/Pure.DI@2.2.10...2.2.11
2.2.10
🚀 What's New in This Release
NuGet package
🐛 Fixes:
IContext.ConsumerTypesFull Changelog: DevTeam/Pure.DI@2.2.9...2.2.10
2.2.9
🚀 What's New in This Release
NuGet package
🐛 Fixes:
Full Changelog: DevTeam/Pure.DI@2.2.8...2.2.9
2.2.8
🚀 What's New in This Release
NuGet package
Key Enhancements:
Full Changelog: DevTeam/Pure.DI@2.2.7...2.2.8
2.2.7
🚀 What's New in This Release
NuGet package
Key Enhancements:
– Support for inherited compositions, see this example for details
– #115 Improve API for using
ServiceProviderFactorybase class for Microsoft DI integration – removeDependsOn(Base), see this example for details– Added Enity Framework example
Full Changelog: DevTeam/Pure.DI@2.2.6...2.2.7
2.2.6
🚀 What's New in This Release
NuGet package
Key Enhancements:
Full Changelog: DevTeam/Pure.DI@2.2.5...2.2.6
2.2.5
🚀 What's New in This Release
NuGet package
🐛 Critical Fixes:
Full Changelog: DevTeam/Pure.DI@2.2.4...2.2.5
2.2.4
🚀 What's New in This Release
NuGet package
🐛 Critical Fixes:
Full Changelog: DevTeam/Pure.DI@2.2.3...2.2.4
2.2.3
🚀 What's New in This Release
NuGet package
🐛 Critical Fixes:
2.2.2
🚀 What's New in This Release
NuGet package
Key Enhancements:
SkipDefaultConstructorhint, for exampe the compiler shows the errorError DIE000 : Unable to resolvefor the following code: