Dagger2 v2.25.2 Release Notes

Release Date: 2019-10-23 // about 1 month ago
  • Known breaking changes

    • The Kotlin change in 2.ii (below) will break users who were passing in object module
      🏗 instances into a Component builder method rather than using @JvmStatic.
      🏗 To fix this issue, remove the call to the builder method -- the module instance is
      🏗 no longer needed and the Component builder method will no longer be generated.

    What's new

    🐛 Bug fixes

    1. Fix duplicate missing binding error messages. (2411074)
    2. Fix dagger-spi pom file from dependency cycle. (3699697)
    3. Fix issue with missing shaded deps from release 2.25 (efe1b00)

    👍 Kotlin support

    1. Qualifier annotations on fields can now be understood without
      The need for @field:MyQualifier (646e033)
    2. @Module object classes no longer need @JvmStatic on the
      provides methods. (0da2180)

    🐎 Performance Improvements

    1. Build performance:
    2. Runtime performance:
      • _Factory proxy methods can now be accessed without
        class loading the factory (a258d37).

Previous changes from v2.24

    • 🗄 Deprecations/removals
      • dagger.android's Has{Activity,Fragment,Service,ContentProvider,BroadcastReceiver} interfaces are now removed in favor of HasAndroidInjector (which can handle any type). HasAndroidInjector was added in 2.23, and is supported together with the old types in that version. (3bd8f70)
    • 🐛 Bug fixes
      • Duplicate keys were erroneously not detected when MapKey.unwrapValue=false which may have resulted in a runtime error (depending on whether fastInit mode was used). This is now detected and failed at compile time. (8b5dbea)
    • 🐎 Build performance
      • Gradle's incremental annotation processing is now enabled for all builds (50bc180)