A palette cleanser for your timeline today: Introducing Metro!
Metro is a compiler-plugin-based dependency injection framework that draws heavy inspiration from Dagger, Anvil, & Kotlin-Inject.
https://www.zacsweers.dev/introducing-metro/
I've been working on it for a few months now! Quietly open-sourced in February and published the first release today. I'm really proud of it and excited to share it.
Bonus: we quietly added support for Metro in Circuit's code gen in a previous release. Just change the code gen mode to "METRO" :). Example integration can be found in my Field Spottr app: https://github.com/ZacSweers/FieldSpottr/pull/158
And last but not least: a huge thank you to the many people in the community that helped advise on the design and test this!
Brian Norm, @ralf, @jessewilson , @DanyAguacate, @pixellight, @billjings, Bryan Stern, @jbarr21, and many more!