diff --git a/planning/releases/2.2.0.md b/planning/releases/2.2.0.md new file mode 100644 index 0000000..b91b4c4 --- /dev/null +++ b/planning/releases/2.2.0.md @@ -0,0 +1,27 @@ +# modern-di-typer 2.2.0 — adopt modern-di's blessed `resolve_dependency` seam + +No API change. `_resolve_di_params` now dispatches through modern-di's +`Container.resolve_dependency(...)` instead of the local +`isinstance`-on-`AbstractProvider` check, and the `modern-di` floor moves to +`>=2.25.0,<3` to require it. Backward compatible — no action required to +upgrade. + +## Internals + +- **`resolve_dependency(...)` replaces the local dispatch.** modern-di 2.25 + ([modern-python/modern-di#283](https://github.com/modern-python/modern-di/pull/283)) + blessed a single provider-or-type resolve entry point for integrations; + `_resolve_di_params` now calls it directly instead of branching on + `isinstance(marker.provider, providers.AbstractProvider)` and choosing + between `resolve_provider`/`resolve` itself. Same behavior — overrides, + caching, scope checks, and "did you mean" suggestions are inherited + unchanged from the underlying paths. +- `modern-di` floor bumped from `>=2.19.0,<3` to `>=2.25.0,<3` to require the + new method. +- `architecture/injection.md` updated to describe the call-time resolution + step in terms of `resolve_dependency(...)`. + +## Downstream + +No action required. `FromDI(provider)` still accepts either a provider +instance or a bare type; resolution behaves identically.