Release notes¶
Wireme follows SemVer with the strict 0.x mapping: breaking changes bump minor, features and fixes bump patch. Published artifacts are immutable; a broken release is fixed by publishing a new version.
Changelog¶
Wireme follows SemVer with the strict 0.x mapping: breaking changes bump minor, features and fixes bump patch (docs/adr/0012).
0.1.1 - 2026-07-16¶
- Replace the repository and documentation identity with approved path-only SVG masters, deterministic typography, responsive dark and light banners, and a compact favicon derived from the same visual language.
- Centralize brand installation in the shared
repo-brandcommand and remove the duplicated project-local installer and maintainer-only task recipe. - Reuse one provider-neutral
social-preview.pngfor GitHub, Open Graph, and Twitter metadata, with absolute website image URLs and an enforced safe area. - Add the optional FastAPI integration
wireme.fastapiwithFromWebandoverride_web_dependency, installed withuv add 'wireme[fastapi]'. FromWeb[WiredClass]lets FastAPI construct classes whose wired constructors resolve internal dependencies through Wireme.FromWeb[WiredAlias]bridges reusable PEP 695 dependency aliases into FastAPI while preserving the static type, nested resolution, cache configuration, overrides, and resource lifecycle.- Bridged factories support sync, async, generator, and async-generator
functions, callable objects, and
functools.partial, with request-scoped cleanup that runs exactly once after the response, closes nested resources in reverse order, and receives endpoint exceptions. override_web_dependency()temporarily replaces direct FastAPI dependencies and bridged Wireme factories, is nested-safe and exception-safe, and accepts replacements with different parameter lists.- Importing
wireme.fastapiwithout the extra raisesModuleNotFoundErrorwith an actionable install hint;import wiremenever requires FastAPI. - Document that explicit values for injected parameters must be passed by keyword.
@wirenow works on classes, wiring the constructor the class defines; a class without its own__init__is rejected with an actionable error.@wireaccepts configuration:castandcast_resultcontrol pydantic validation per function, andrequiresdeclares side-effect dependencies resolved on every call without appearing as parameters.- Document singleton factories (eager module instance for fail-fast
configuration,
functools.cachefor lazy creation) and clarify thatuse_cache=Truecaches once per wired call, not process-wide. - Document and test applying
@wiredirectly to FastAPI endpoints, including its lifecycle and override tradeoffs compared toFromWeb. - Adopt the keyword-only convention for injected parameters (declared after
*) across all documentation and examples. - Record architecture decisions in
docs/adrand document the SemVer 0.x versioning policy. - Restructure documentation: README.md is a thin landing page and the full
guide lives in
website/docs/guidewith one concept per page. - Cover every capability with a runnable example and add the capability
index
examples/README.md(new:nested.py,singletons.py,requires.py,validation.py,fastapi_endpoints.py,project_defaults.py,method_wiring.py). - Fix nested factories losing wired markers: factory signatures are now
resolved when declared with
wired()orrequires, so PEP 695 aliases behind postponed annotations work at any nesting depth. - Document project-wide defaults through bound decorators and the apply combinator pattern for wiring many methods at once.
- Cover pydantic parameter constraints without models (
Field, pydantic types, custom validators, constrained factory parameters) with tests andexamples/field_constraints.py. - Cover all factory forms (classes, callable instances, static and bound
methods, caller-argument sharing) with tests and
examples/factories.py. - Fix annotation resolution for locally defined names when
wireis used through its configured form. - Publish the documentation as a Zensical site at wireme.mghalix.com with a landing page, production recipes, and "The Wireme way" house-style page.
0.1.0 - 2026-07-15¶
- Add
wire,wired,Wired, andoverride_dependency. - Support sync, async, generator, and async-generator dependencies.
- Hide injected parameters from runtime signatures.
- Restore nested dependency overrides correctly.