diff --git a/planning/releases/2.1.0.md b/planning/releases/2.1.0.md new file mode 100644 index 0000000..605320c --- /dev/null +++ b/planning/releases/2.1.0.md @@ -0,0 +1,22 @@ +# modern-di-pytest 2.1.0 — adopt modern-di's resolve_dependency seam + +A maintenance release. No public API changes — `expose` and `modern_di_fixture` +keep the same signatures and behavior. + +## Internal refactors + +- **`modern_di_fixture` delegates to `container.resolve_dependency`.** The + inline `isinstance(dependency, AbstractProvider)` dispatch — `resolve_provider` + for a Provider, `resolve` for a type — is now `container.resolve_dependency(dependency)`, + the single provider-or-type entry point modern-di 2.25 added for integrations + (`add_providers`/`resolve_dependency`, [modern-python/modern-di#283](https://github.com/modern-python/modern-di/pull/283)). + Overrides, caching, scope checks, and "did you mean" suggestions behave + exactly as before. +- The `modern-di` floor is bumped to `>=2.25,<3` accordingly. This plugin never + reached into `container.providers_registry`, so the sibling `add_providers` + seam does not apply here. + +## Downstream + +Upgrade `modern-di` to `>=2.25` (or let this bump pull it in). No code changes +needed — the fixture and `expose()` contracts are unchanged.