(v0-changelog)= # Version 0 Changelog Below are all the changelogs for versions of `linkd` since `0.0.0`. ---- ## v0.3.0 (2026-03-24) ### Features - Explicitly skip annotation parsing for positional-only parameters to prevent errors when using `from __future__ import annotations` or forward references. ([#111](https://github.com/tandemdude/linkd/issues/111)) ### Miscellaneous - Container dependencies are now destroyed in inverse creation order. ---- ## v0.2.1 (2025-12-27) ### Miscellaneous - Add support for Python 3.14. ---- ## v0.2.0 (2025-11-06) ### Features - Add full support for generator and async generator functions. ---- ## v0.1.0 (2025-08-24) ### Features - Implement `SINGLETON` (default) and `PROTOTYPE` dependency lifetimes. ([#28](https://github.com/tandemdude/linkd/issues/28)) ---- ## v0.0.10 (2025-07-25) ### Features - Slight increase in performance of DI across multiple calls for the same dependency expression. ([#12](https://github.com/tandemdude/linkd/issues/12)) ### Miscellaneous - Dependency resolution exceptions now include the name of the function that would have been called to help with debugging. ---- ## v0.0.9 (2025-06-19) ### Bugfixes - Fix code generation raising a `SyntaxError` when it happens to generate a reserved Python keyword (such as `async`). ---- ## v0.0.8 (2025-06-19) ### Features - Improved error output when dependency resolver function fails to generate for whatever reason. ---- ## v0.0.7 (2025-05-08) ### Features - Add `Compose` class to group multiple dependencies into a single object for cleaner function signatures. ([#9](https://github.com/tandemdude/linkd/issues/9)) ### Miscellaneous - Increase test coverage to 100% for the core library, excluding extension modules. ---- ## v0.0.6 (2025-05-02) ### Bugfixes - Fix fastapi extension not working due to wrapping the route handlers incorrectly. ---- ## v0.0.5 (2025-04-28) ### Features - Generate independent dependency resolver functions for each injection-enabled callable, increasing performance by up to 4x. ([#8](https://github.com/tandemdude/linkd/issues/8)) ---- ## v0.0.4 (2025-04-13) ### Breaking Changes - Renamed `linkd.Contexts.DEFAULT` to `linkd.Contexts.ROOT` for clarity. ### Features - Add support for Starlette applications through the `linkd.ext.starlette` submodule. ([#5](https://github.com/tandemdude/linkd/issues/5)) - Add support for Quart applications through the `linkd.ext.quart` submodule. ([#6](https://github.com/tandemdude/linkd/issues/6)) - Added convenience `DependencyInjectionManager.contextual` decorator to allow easily entering a DI context as a one-off. ---- ## v0.0.3 (2025-04-10) ### Features - Add support for FastAPI applications through the `linkd.ext.fastapi` submodule. ([#1](https://github.com/tandemdude/linkd/issues/1)) ---- ## v0.0.2 (2025-04-08) ### Breaking Changes - Renamed `with_di` decorator to `inject` - use `@linkd.inject` instead of `@linkd.with_di`. ---- ## v0.0.1 (2025-04-08) - Initial release. No changes to see here!