0.9.4
Enhancements
- [IR] Support generation of scalar multibinding sets that use
@ElementsIntoSetsource bindings. Previously these would always use aSetFactoryunder the hood. - [IR] Refactor multibinding getter logic to align with all other binding field/getter logic, allowing more precise generation of multibindings based on different contextual needs (scalar,
Provider, etc representations).
Fixes
- [IR] Fix accidental potential for runtime eager calls to non-initialized bindings in some multi-level multibinding scenarios.
- [IR] Always use a provider field if multiple provider and scalar refs are found. Previously we would possibly use just a scalar getter field wrapped in
InstanceFactoryfor provider refs. - [IR / Dagger Interop] Ensure
@BindsOptionalOfbindings that are satisfied by scoped bindings use the scoped instance. - [IR / Reports] Don't de-dupe alias/memberinject bindings in graph metadata reports if one is already present.
Changes
- Remove
-checkdiscardrules from embedded proguard rules.
Contributors
Special thanks to the following contributors for contributing to this release!
What's Changed
- Update dependency pillow to v12.1.0 by @renovate[bot] in #1612
- Use fast* helpers more by @ZacSweers in #1613
- Add gc allocs to JMH results by @ZacSweers in #1614
- Tweak metro-only raw compilation + more profiler/gc data by @ZacSweers in #1619
- Remove fast* collection utils by @ZacSweers in #1620
- Clear compiler-test leaks by @ZacSweers in #1622
- Update kct to v0.12.1 by @renovate[bot] in #1623
- Grant more memory to tests + cleanup by @ZacSweers in #1628
- Update ProGuard rules for @ComptimeOnly classes by @chrisbanes in #1630
- Update kotlinInject to v0.9.0 by @renovate[bot] in #1631
- Update poko to v0.21.1 by @renovate[bot] in #1634
- Refactor multibinding getter property logic to BindingPropertyCollector by @ZacSweers in #1632
- Update dependency com.android.tools:r8 to v8.13.19 by @renovate[bot] in #1636
- Update adoption.md by @C2H6O in #1639
New Contributors
Full Changelog: 0.9.3...0.9.4