Skip to content
Permalink
trunk
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

Change Log

Unreleased

1.0.1 - 2022-01-19

  • Fix: Sort methods in generated module code by name to ensure compatiblity with Gradle remote caching.

1.0.0 - 2021-03-27

Change package name and Maven groupId to app.cash.

No other changes since 0.9.1.

Looking for Assisted Inject? It's built in to Dagger now!

0.9.1 - 2021-03-26

  • Fix: Do not add Kotlin stdlib as a dependency to inflation inject runtime which is written in Java.

0.9.0 - 2021-03-25

Assisted injection has been removed from the project because it is now available upstream as part of Dagger. See https://dagger.dev/dev-guide/assisted-injection.html

This project now solely hosts inflation injection, which otherwise had no changes in this version.

0.8.1 - 2021-03-22

  • Fix: Allow inflation inject processor to work in modules that do not have assisted inject annotations present.

0.8.0 - 2021-03-22

  • New: Inflation injection now uses its own @Inflated annotation for Context and AttributeSet. Using @Assisted is no longer supported.

0.7.0 - 2021-03-21

  • Similar to how Dagger disambiguates two injections of the same type, qualifier annotations are now required to disambiguate assisted parameters. Parameter names are no longer significant.
  • Fix: Do not wrap types annotated with Dagger's @AssistedFactory in a Provider if injected into one of our @AssistedInject or @InflationInject types.

Note: This first was erroneously tagged as 0.6.1.

0.6.0 - 2020-09-14

  • New: Annotate generated module with @InstallIn if the @AssistedModule is also annotated with @InstallIn. If the @AssistedModule is not annotated with @InstallIn and Hilt is available on the classpath, the generated module will be annotated with @DisableInstallInCheck.
  • Fix: Ignore copy method when searching for @Assisted annotation. The Kotlin compiler will copy the annotation to this method on a data class which we cannot disable.

0.5.2 - 2019-11-22

  • Fix: Properly honor target -source version when generating the @Generated annotation on sources.

0.5.1 - 2019-10-28

  • New: Support incremental annotation proessing in inflation inject (previously it was only supported by assisted inject).
  • Fix: Change annotations to class retention to actually allow incremental annotation processing to work.

0.5.0 - 2019-08-08

  • New: Support incremental annotation processing.
  • Fix: Explicitly sort generated module bindings to ensure stable output and avoid recompilation.
  • Fix: Support nested @AssistedModule and @InflationModule classes.

0.4.0 - 2019-04-05

  • New: Other annotation processors using this tool as a library can now specify factory superinterfaces with any type, not just a class.
  • Fix: Allow duplicates for provided dependencies. Dagger does not prohibit this so neither should this tool.

0.3.3 - 2019-03-07

  • Fix: Support @AssistedModules which are generated by other annotation processors.

0.3.2 - 2018-11-27

  • Relax the message for when zero assisted parameters or zero provided parameters were used from being an error to a warning. While assisted injection isn't needed in either of those cases, nothing actually prevent it from still working.

0.3.1 - 2018-11-19

  • Fix: Honor abstract factory methods which come from supertypes.
  • Fix: Support generic use in factory parameters and return type.

0.3.0 - 2018-10-16

  • New: Allow multiple assisted parameters of the same type. This also brings validation that all parameter names in the factory match those of the constructor. Without this, there is no way to correctly match arguments when multiple of the same type are present.
  • New: Validate that modules annotated with @AssistedModule or @InflationModule actually include the generated module in their includes= list.
  • New: Include a @Generated annotation which is appropriate for the target JDK on all generated code.
  • Fix: Mark invalid usages of @Assisted at compile time:
    • Cannot be used on a non-constructor parameter.
    • Cannot be used on a constructor without @AssistedInject or @InflationInject.
    • Cannot be used on a constructor which is annotated with @Inject.
  • Fix: Inflation injection now validates that targets are subtypes of View rather than generating code which fails to compile.
  • Fix: Support injection of primitives by boxing them when generating a Provider<..> type.
  • Fix: Generate correct code for types which are nested inside others.

0.2.1 - 2018-09-04

  • Fix: Ensure the generated Dagger 2 module is public if the user-defined module is public.

0.2.0 - 2018-08-20

  • New: Android view-inflation injection! Inject dependencies into your custom views as constructor parameters while still allowing inflation from XML.
  • Fix: Factory parameter order is no longer required to match constructor parameter order.
  • Fix: Requesting a Provider<T> injection now works correctly.
  • Fix: Duplicate assisted or provided dependencies now issue a compiler error.
  • Fix: Validate visibility of the type, constructor, and factory prior to generating the factory. This produces a better error message instead of generating code that will fail to compile.

0.1.2 - 2017-07-19

  • Fix: Support creating parameterized types.

0.1.1 - 2017-07-03

  • Fix: Ensure annotation processors are registered as such in the jar.

0.1.0 - 2017-07-02

Initial preview release.