0.6.1
- New: Add a diagnostic to report parent keys used by graph extensions
parent-keys-used-*.txt. - Enhancement: Graph extensions are now generated as
innerclasses, reducing much of the necessary generated code in parent graphs and allowing them to access parent binding fields directly. - Enhancement: Allow graph extensions to depend on other graph extensions within the context of their parent graph.
- Enhancement: Add a diagnostic for graph factories with vararg parameters.
- Enhancement: Allow graph extension factories to participate in the binding graph, which then allows injecting or binding them like any other dependency.
- Enhancement: Improve error message location accuracy for missing bindings when reporting from a
@Bindsdeclaration. - Fix: Don't override graph extension factories' default functions.
- Fix: Fix Kotlin internal error overriding Metro error when there's a missing factory for a Java
@Injectclass. - [Docs] The project website is now versioned. This means you can read the documentation at different versions:
- Latest release: https://zacsweers.github.io/metro/latest/
- Snapshots (example): https://zacsweers.github.io/metro/0.7.0-SNAPSHOT/
- Past release (example): https://zacsweers.github.io/metro/0.6.0/
- Deprecate the
enableStrictValidationGradle property in favor ofenableFullBindingGraphValidation, which aligns with Dagger's (better) name for the same functionality. - Update Wire to
5.3.11.
Special thanks to @hossain-khan and @JoelWilcox for contributing to this release!
What's Changed
- fix: CI failure on
main- Kotlin/Wasm package lock files by @hossain-khan in #942 - Fix Kotlin internal error overriding Metro error when there's a missing factory for a Java
@Injectclass by @JoelWilcox in #936 - [DISABLE] Automatic docs site generation workflow by @hossain-khan in #937
- [FEATURE] Added support for versioned mkdocs site using
mikeby @hossain-khan in #939 - [UPDATE] Mkdocs workflow to use mike for versioned site by @hossain-khan in #943
- Don't override graph extension factories' default functions by @ZacSweers in #946
- chore(deps): update plugin shadow to v9.0.2 by @renovate[bot] in #891
- update: Optimize metro docs workflow by @hossain-khan in #947
- Generate graph extensions as inner classes by @ZacSweers in #950
- fix(deps): update wire to v5.3.11 by @renovate[bot] in #954
- Rename strict validation by @ZacSweers in #955
- More IC tests by @ZacSweers in #957
- Add checker for vararg graph factory params by @ZacSweers in #958
- Add plain IC file benchmark scenarios by @ZacSweers in #960
- chore(deps): update plugin com.gradle.develocity to v4.1.1 by @renovate[bot] in #962
- Extension fixes + support extension factories on binding graphs by @ZacSweers in #965
Full Changelog: 0.6.0...0.6.1