Skip to content

Version 1.1.0 - #100

Merged
alexanderlarsen merged 8 commits into
mainfrom
feature/inject-base-class-with-inherited-target
May 1, 2026
Merged

Version 1.1.0#100
alexanderlarsen merged 8 commits into
mainfrom
feature/inject-base-class-with-inherited-target

Conversation

@alexanderlarsen

@alexanderlarsen alexanderlarsen commented May 1, 2026

Copy link
Copy Markdown
Owner

Changes

  • ID-qualified injection sites now require a matching ToID(...) binding. Unqualified bindings only match injection sites without an ID.
  • If an [Inject("id")] site previously relied on an unqualified binding, add .ToID("id") to the binding or remove the ID from the injection site.

Fixes

  • Fixed ToTarget<T> matching for inherited and nested targets. .ToTarget<Base>() now matches derived target types, .ToTarget<Derived>() also applies to inherited injection members on the same derived target, and nested serializable injection targets are matched by their nested owner type.
  • Fixed binding validation for duplicate or ambiguous qualifier combinations that could resolve the same injection site.

- Fixed `ToTarget<T>` matching so bindings targeted at a base component type also apply to derived component targets.
- Updated binding conflict detection to catch duplicate or ambiguous qualifier combinations that can resolve the same injection site.
- Added binding equality coverage for ID-only and target-only qualifier ambiguity.
- Updated binding qualifier and uniqueness documentation to describe inheritance-aware target matching and ambiguous binding conflicts.
- Added changelog notes for version 1.0.6.
- Updated ID matching so injection sites with an ID only match bindings with the same `ToID`.
- Updated binding conflict detection so ID-qualified and non-ID-qualified bindings are distinct.
- Updated binding qualifier and uniqueness documentation for ID matching behavior.
- Added changelog notes for the ID qualifier change.
- Clarified ID qualifier documentation in `InjectAttribute`, `AssetBindingBuilder`, and `ComponentBindingBuilder` summaries.
- Refined `BindingNode` ID qualifier comparison logic to handle cases with or without qualifiers explicitly.
- Added new tests for `BindingNodeEqualityTests` to validate equality and inequality based on ID and additional qualifiers.
…fiers

- Added a new test for nested serializable object injection using `ToTarget<T>` and various ID bindings.
- Updated `BindingNode` logic to use the actual owner type (instead of components) as the injection target for binding matches.
- Standardized target type qualifiers across components and nested objects in `ComponentBindingBuilder` and `AssetBindingBuilder`.
- Updated binding documentation and summaries to reflect the shift to owner object targeting.
- Fixed ambiguous qualifier detection for nested, derived, and inherited targets.
@alexanderlarsen
alexanderlarsen merged commit bac0362 into main May 1, 2026
22 checks passed
@alexanderlarsen
alexanderlarsen deleted the feature/inject-base-class-with-inherited-target branch May 1, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant