What's new
Added
addInjector(injector, resolveUpward: true)— a nested injector can now resolve the params of its own binds against an ancestor scope as a fallback, not only its own subtree. Default isfalse, preserving the previous downward-only behavior. Local/downward binds always take precedence; the ancestor is consulted only when a bind is not found locally. Mutual upward links are rejected eagerly with the newUpwardResolutionCycleexception.
Fixed
LayersGraphdispose-listener leak — re-runningcommit()on a long-lived injector stacked one dispose listener per surviving inner injector on every commit, growing unbounded across re-commits and retaining graph closures. Listener (re)registration is now idempotent, keeping the listener count stable.
🤖 Generated with Claude Code