Skip to content

Releases: square/anvil

v2.3.9

08 Nov 22:15

Choose a tag to compare

  • Add a workaround for AGP to sync generated sources with syncGeneratedSources, see #413.
  • Ignore functions with defaults in assisted factories, see #415.
  • Use Anvil version 2.3.9-1-6-0-RC2 if you want to test Kotlin 1.6.0-RC2. Until Anvil hasn't adopted Kotlin 1.6 I'll publish additional versions that are required due to compiler API incompatibilities.
  • Use Anvil version 2.3.9-1-6-0 if you want to test Kotlin 1.6.0. Until Anvil hasn't adopted Kotlin 1.6 I'll publish additional versions that are required due to compiler API incompatibilities.

v2.3.8

04 Nov 21:28

Choose a tag to compare

  • Add an option in the Anvil DSL syncGeneratedSources to sync generated sources in the IDE, see #412.
  • Fall back to PSI parsing for BindingModuleGenerator, see #310. (this allows you generated @ContributesBinding annotations in custom code generators)
  • Support generic supers for assisted factories when the assisted factory interface is generated, see #407.
  • Support generic type resolution in assisted factories, see #395. (regression in previous release)
  • Align TypeNames for assisted lambda arguments between descriptors and PSI, see #400. (regression in previous release)
  • Enable experimental Anvil APIs by default in the compiler testing utilities, see #398.
  • Make it easy the feed a compilation result to another Anvil compilation in the testing utilities, see #404.
  • Use Anvil version 2.3.8-1-6-0-RC2 if you want to test Kotlin 1.6.0-RC2. Until Anvil hasn't adopted Kotlin 1.6 I'll publish additional versions that are required due to compiler API incompatibilities.

v2.3.7

19 Oct 18:22

Choose a tag to compare

  • Allow configuring the KotlinCompilation when using the utilities to test custom code generators, see #386.
  • Support invariant and covariant type parameters properly, see #388.
  • Use Psi parsing for assisted factory generation, see #326.
  • Support assisted injection for deeply nested inner classes, see #394.
  • Use Anvil version 2.3.7-1-6-0-RC if you want to test Kotlin 1.6.0-RC. Until Anvil hasn't adopted Kotlin 1.6 I'll publish additional versions that are required due to compiler API incompatibilities.

v2.3.6

12 Oct 19:23

Choose a tag to compare

  • Support constant members in annotations properly, see #379.
  • Use Anvil version 2.3.6-1-6-0-RC if you want to test Kotlin 1.6.0-RC. Until Anvil hasn't adopted Kotlin 1.6 I'll publish additional versions that are required due to compiler API incompatibilities.

v2.3.5

07 Oct 04:50

Choose a tag to compare

  • Upgraded Anvil to Kotlin 1.5.31.
  • Use correct setter name for members in generated factories, see #362.
  • Handle the special case of injecting a Provider<Lazy<Type>> properly for member injection, see #365.
  • Make sure in JVM modules that the configuration anvilMain extends anvil so that code generators are picked up, see #368.
  • Support member injection for super classes, see #343.
  • Prefer Kotlin collection types when Java collections are imported through a star import, see #371.

v2.3.4

27 Aug 23:00

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

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

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

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

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.