Skip to content

Releases: square/anvil

v2.3.4

27 Aug 23:00
Compare
Choose a tag to compare
  • Upgraded Anvil to Kotlin 1.5.21.
  • Properly inject members when property setters are annotated, see #340.
  • Properly inject members when using assisted injection, see #342.
  • Don't generate a singleton factory (object), if the class with the inject constructor has any type parameter, see #348.
  • Look for star imports before checking imports from the Kotlin package. Star imports have a higher priority, see #358.
  • Handle the special case of injecting a Provider<Lazy<Type>> properly, see #344.

v2.3.3

24 Jun 04:27
Compare
Choose a tag to compare
  • Fix a bug in the Gradle plugin that accidentally realized all tasks in the module instead of evaluating them lazily, see #330.

v2.3.2

16 Jun 04:45
Compare
Choose a tag to compare
  • Remove an accidental required dependency on the Android Gradle Plugin, see #323.
  • Ensure that excluded bindings and modules are only excluded for the specific component that merges a scope and not all components merging the same scope, see #321.
  • Disable precise Java tracking for the stub generating Kotlin compilation task when needed, see #324.

v2.3.1

10 Jun 00:52
Compare
Choose a tag to compare
  • Ignore replaced bindings/modules from excluded bindings/modules, see #302.
  • Create separate Anvil configurations for each build type, see #307.
  • Introduce a new VariantFilter for the Gradle extension. This API allows you to enable and disable Anvil for specific variants. Allow to override generateDaggerFactories, generateDaggerFactoriesOnly and disableComponentMerging through the variant filter, see #100.

v2.3.0

02 Jun 23:24
Compare
Choose a tag to compare
  • Add option to extend Anvil with your own CodeGenerator, see here and #265.
  • Use Gradle Property APIs in the Anvil extension. This is a source-breaking change (but binary-compatible) for Kotlin and .kts consumers of the Anvil Gradle plugin, see #284.
  • Upgrade Anvil to Kotlin 1.5.10. The old legacy compiler backend is still supported and the IR backend not required yet.

v2.2.3

25 May 15:07
Compare
Choose a tag to compare
  • Support the JVM and Android targets for Kotlin Multiplatform projects, see #222.
  • Add a generation only mode for Anvil in order to avoid performance penalties when still using KAPT in the same module, see #258.
  • Respect qualifiers when checking whether there is a duplicate binding, see #270.

v2.2.2

17 May 06:25
Compare
Choose a tag to compare
  • Handle inner generic classes in factories for constructor injection properly, see #244.
  • Generate a correct factory when a class has both constructor and member injection, see #246.
  • Make generated assisted factories match interface function names, see #252.
  • Fix a parsing error for inner class reference expressions, see #256.
  • Verify that the qualifier is added to generated methods for member injection, see #264.

v2.2.1

09 Apr 20:38
Compare
Choose a tag to compare
  • Fix problematic check for Kotlin annotations, see #232.
  • Handle Lazy assisted parameters properly in generated assisted factories.
  • Build and test Anvil with Kotlin 1.5.0-M2 in CI.

v2.2.0

17 Mar 21:15
Compare
Choose a tag to compare
  • @ContributesBinding supports qualifiers now, see the README and documentation for examples.
  • You can generate multibindings with @ContributesMultibinding now, see the README and documentation for examples, see #152.
  • Upgrade Dagger to 2.32. Generating factories for assisted injection is no longer compatible with older Dagger versions due to the behavior change in Dagger itself. Make sure to use Dagger version 2.32 or newer in your project, too.
  • @ContributesBinding has a priority field now for cases where you don't have access to replaced bindings at compile time, see #161.
  • Use the mangled function name to generate the factory for a provider method.
  • Handle fully qualified names with type parameters for Dagger factories properly, see #198.
  • Support classes in the root package and don't crash, see #227.

v2.1.0

05 Feb 21:09
Compare
Choose a tag to compare
  • This release upgrades Anvil to Kotlin 1.4.30. Older Kotlin versions are no longer supported moving forward.
  • The IR extension is enabled by default. Anvil is compatible with the new IR and old compiler backend.