Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 8, 2025

Updated Pure.DI from 2.1.72 to 2.2.14.

Release notes

Sourced from Pure.DI's releases.

2.2.14

πŸš€ What's New in This Release

πŸ› Critical Fixes:

  • #​124 Mulitple binding (as attributes) sometimes fail to be properly resolved in a single dependency graph

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:

    • Reduced system load
    • Elimination of the need for thread synchronization

    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 PerResolve lifetime is injected only once across the entire object composition, it automatically switches to Transient lifetime. This automation helps developers save time and ensures optimal resource usage without manual intervention. This automatic optimization mechanism is not limited to the PerResolve lifetime. 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:

  • #​123 Overrides do not work with complex expressions

Full Changelog: DevTeam/Pure.DI@2.2.12...2.2.13

2.2.11

πŸš€ What's New in This Release

NuGet package

Key Enhancements:

  • #​118 ref constructor parameters support, see this example for details
  • #​117 IContext.ConsumerType support, see this example for details

Full Changelog: DevTeam/Pure.DI@2.2.10...2.2.11

2.2.10

πŸš€ What's New in This Release

NuGet package

πŸ› Fixes:

  • #​116 Invalid list of consumer types in IContext.ConsumerTypes

Full Changelog: DevTeam/Pure.DI@2.2.9...2.2.10

2.2.9

πŸš€ What's New in This Release

NuGet package

πŸ› Fixes:

  • Fixes a state synchronization issue within local functions that sometimes occurs
  • Fix formatting of generated code
  • Fix comments for the constructor arguments

Full Changelog: DevTeam/Pure.DI@2.2.8...2.2.9

2.2.8

πŸš€ What's New in This Release

NuGet package

Key Enhancements:

  • Optimization of object composition
  • Significant reduction in generation time and size of complex compositions

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 ServiceProviderFactory base class for Microsoft DI integration – remove DependsOn(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:

  • #​114 Improving the readability of generated code

Full Changelog: DevTeam/Pure.DI@2.2.5...2.2.6

2.2.5

πŸš€ What's New in This Release

NuGet package

πŸ› Critical Fixes:

  • #​113 Incorrect implementation of Double-checked locking

Full Changelog: DevTeam/Pure.DI@2.2.4...2.2.5

2.2.4

πŸš€ What's New in This Release

NuGet package

πŸ› Critical Fixes:

  • #​109 Override not working as expected when resolving an instance from another composition
  • #​110 Incorrectly renames members of local variable types in factories
  • #​111 Incorrectly generates comments for array types

Full Changelog: DevTeam/Pure.DI@2.2.3...2.2.4

2.2.3

πŸš€ What's New in This Release

NuGet package

πŸ› Critical Fixes:

  • #​108 Pure.DI does not work in Unit project when using Builders API

2.2.2

πŸš€ What's New in This Release

NuGet package

Key Enhancements:

  • Prioritize creating circular dependencies.
  • #​104 Generic BuildUp method, see these examples for details:
  • #​106 DisableAutoBinding Hint
  • #​105 SkipDefaultConstructor hint, for exampe the compiler shows the error Error DIE000 : Unable to resolve for the following code:
interface IBox<out T> { T Content { get; } }

interface ICat { }

class CardboardBox<T> : IBox<T>
{
    public CardboardBox(T content) => Content = content;

    public T Content { get; }

    public override string ToString() => $"[{Content}]";
}

class ShroedingersCat : ICat
{
    public ShroedingersCat() { }
}

static class Setup
{
    private static void SetupComposition()
    {
        DI.Setup("Composition")
            .Hint(Hint.SkipDefaultConstructor, "On")
            .Hint(Hint.SkipDefaultConstructorImplementationTypeNameWildcard, "*.ShroedingersCat")
            .Bind<ICat>().To<ShroedingersCat>()
            .Bind<IBox<TT>>().To<CardboardBox<TT>>()
            .Root<Program>("Root");
    }
}

public class Program
{
    IBox<ICat> _box;

    internal Program(IBox<ICat> box) => _box = box;

 ... (truncated)

## 2.2.1

## πŸš€ What's New in This Release

### πŸ› Critical Fixes:
- #​102 Accumulators do not work for the enumerable types

## 2.2.0

## πŸš€ What's New in This Release

### Key Enhancements:
- Significant improvements and optimizations in the construction of object composition. Fewer checks, less code, and improved performance. Fixes for complex composition cases and for cases where objects are created on demand.
- #​100 Tag.Any support, please see [this example](https://github.com/DevTeam/Pure.DI/blob/master/readme/tag-any.md) for details

### Backward incompatibility:
Due to significant reworking of object composition creations, the following may have changed:
- sequence of object creation
- number of created objects of the `PerBlock` lifetime
- creation of objects is performed on demand, where previously it happened in advance

### πŸ› Critical Fixes:
- #​99 Use of unassigned local variable
- #​101 ctx.Build Up does not work properly with custom generic type marker

Commits viewable in [compare view](https://github.com/DevTeam/Pure.DI/commits/2.2.14).
</details>

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Pure.DI&package-manager=nuget&previous-version=2.1.72&new-version=2.2.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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)


</details>

---
updated-dependencies:
- dependency-name: Pure.DI
  dependency-version: 2.2.14
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 8, 2025

Labels

The following labels could not be found: automated. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

βœ… This is a version-update:semver-minor update.

Package: Pure.DI
Update Type: version-update:semver-minor

This PR will be automatically merged once all CI checks pass.

To prevent auto-merge, add the keep-open label or close the PR.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

πŸ“Š PR Size Analysis

  • Total Changes: 8 lines
  • Additions: +4 lines
  • Deletions: -4 lines
  • Files Changed: 1
  • Size Label: size/XS

βœ… Small PR - should be quick to review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant