Skip to content

0.3.1

Choose a tag to compare

@ZacSweers ZacSweers released this 13 May 23:47
· 2164 commits to main since this release
  • Enhancement: Rewrite graph resolution using topological sorting to vastly improve performance and simplify generation.
  • Enhancement: Return early once an externally-compiled dependency graph is found.
  • Enhancement: Simplify multibinding contributor handling in graph resolution by generating synthetic qualifiers for each of them. This allows them to participate in standard graph resolution.
  • Enhancement: When there are multiple empty @Multibinds errors, report them all at once.
  • Enhancement: Avoid unnecessary StringBuilder allocations.
  • Fix: Don't transform @Provides function's to be private if its visibility is already explicitly defined.
  • Fix: Fix a comparator infinite loop vector.
  • Fix: Fix @ElementsIntoSet multibinding contributions triggering a dependency cycle in some situations.
  • Fix: Fix assertion error for generated multibinding name hint when using both @Multibinds and @ElementsIntoSet for the same multibinding.
  • Fix: Fix contributed graph extensions not inheriting empty declared multibindings.
  • Fix: Ensure we report the @Multibinds declaration location in errors if one is available.
  • Fix: Dedupe overrides by all parameters not just value parameters.
  • Fix: Dedupe overrides by signature rather than name when generating contributed graphs.
  • Fix: Fix accidentally adding contributed graphs as child elements of parent graphs twice.
  • Fix: Fix not deep copying extensionReceiverParameter when implementing fake overrides in contributed graphs.
  • Fix: Report fully qualified qualifier renderings in diagnostics.
  • Fix: Don't generate provider fields for multibinding elements unnecessarily.
  • When debug logging + reports dir is enabled, output a logTrace.txt to the reports dir for tracing data.
  • Update to Kotlin 2.1.21.

Special thanks to @asapha, @gabrielittner, @jzbrooks, and @JoelWilcox for contributing to this release!

What's Changed

  • Update dependency dev.zacsweers.kctfork:ksp to v0.7.1 by @renovate in #397
  • Update ktor monorepo to v3.1.3 by @renovate in #395
  • Don't transform provides status if visibility is explicitly defined by @ZacSweers in #398
  • Update plugin buildConfig to v5.6.5 by @renovate in #400
  • Fix comparator infitine loop vector by @ZacSweers in #402
  • Update compose.jb to v1.8.0 by @renovate in #401
  • Update agp to v8.10.0 by @renovate in #405
  • Update dependency com.google.googlejavaformat:google-java-format to v1.27.0 by @renovate in #406
  • Fix @ElementsIntoSet multibinding contributions triggering a dependency cycle in some situations by @JoelWilcox in #408
  • Add more timing logging by @ZacSweers in #404
  • Update dependency androidx.compose.material:material-navigation to v1.8.1 by @renovate in #412
  • Update dependency androidx.navigation:navigation-compose to v2.9.0 by @renovate in #411
  • Update dependency androidx.lifecycle:lifecycle-runtime-compose to v2.9.0 - autoclosed by @renovate in #409
  • Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.9.0 by @renovate in #410
  • Revert "Update agp to v8.10.0" by @ZacSweers in #413
  • Fix a couple multibinding errors by @JoelWilcox in #419
  • Update dependency click to v8.2.0 by @renovate in #421
  • Update dependency mkdocs-material to v9.6.13 by @renovate in #420
  • Update kotlinInject.anvil to v0.1.5 by @renovate in #416
  • Binding graph v3: tarjan's algorithm + topological sorting by @ZacSweers in #423
  • Add a failing test for SingleIn when combining Provider and multibindings by @asapha in #403
  • Avoid unnecessary StringBuilder allocations by @jzbrooks in #422
  • Tweak binding rendering by @ZacSweers in #425
  • Update dependency mkdocs-material to v9.6.14 by @renovate in #428
  • Update kotlin monorepo to v2.1.21 by @renovate in #427
  • Update circuit to v0.28.0 by @renovate in #426
  • Several small ContributesGraphExtension fixes! by @asapha in #399
  • Improve sorting determinism by @ZacSweers in #433
  • Update dependency com.google.devtools.ksp to v2.1.21-2.0.1 by @renovate in #434
  • Add more tests for implicit return types by @ZacSweers in #435

New Contributors

Full Changelog: 0.3.0...0.3.1