krzysztofzablocki/Inject
42.6
Weak · 30 September 2026
369
lines of production code
Swift
primary language
2
measurements over time
What this system is
Inject is a Swift library designed to provide hot-reload capabilities for iOS, macOS, tvOS, and visionOS applications. It enables developers to update UI code in real-time without restarting the app, preserving view controller state and offering integration helpers for both UIKit and SwiftUI. The system ensures compatibility with modern concurrency models and broader platform versions through configurable animation and injection hooks.
Behavioural changes
Enhanced UIKit host forwarding and new SwiftUI integration helpers
The \ViewControllerHost\ now automatically forwards a wider range of view controller properties (such as navigation item details, toolbar items, and presentation styles) to the host, ensuring the injected view controller's UI state is preserved during hot reloads, and exposes an \onInjectionHook\ callback for custom post-reload logic. Additionally, a new \@ObserveInjection\ property wrapper and \enableInjection()\ modifier are provided to simplify integrating hot-reload capabilities into SwiftUI views.
Sources/Inject/Integrations · high confidence
Swift 6 concurrency isolation and visionOS support in Inject
The Inject library has been updated to align with Swift 6 concurrency requirements by marking core components—including the \InjectListener\ protocol, \InjectConfiguration\ enum, and \InjectionObserver\ class—with \@MainActor\. This ensures proper isolation for injection events and UI updates. Additionally, the code now supports visionOS (referenced as \xrOS\ in the bundle naming logic) and Mac Catalyst, and introduces a configurable \animation\ property on \InjectConfiguration\ to control how injection notifications are animated in SwiftUI.
Sources/Inject · high confidence
Dependencies
Updated platform deployment targets and Swift version requirements
The package now requires Swift 5.3 (down from 5.5) and supports iOS 11 (down from iOS 13) and tvOS 13 (newly added). macOS support remains at 10.15. These changes broaden the range of compatible devices and Xcode versions for the Inject library.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 41 → 43 (+1.4)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 36 → 36 (+0.0)
- Readiness 17 → 23 (+6.0)
- Security 100 → 100 (+0.0)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
New (1)
- Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
krzysztofzablocki/Inject was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 67e3ee9a2b7e40d6af72d07cf1b0d5c04399e809 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.