All Versions
24
Latest Version
Avg Release Cycle
33 days
Latest Release
337 days ago

Changelog History
Page 2

  • v2.25.4 Changes

    December 27, 2019

    What's new

    ๐Ÿ› Bug fixes

  • v2.25.3

    December 16, 2019
  • v2.25.2 Changes

    October 23, 2019

    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).
  • v2.25

    October 21, 2019
  • v2.24 Changes

    July 25, 2019
    • ๐Ÿ—„ 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)
  • v2.23.2 Changes

    June 19, 2019

    ๐Ÿš€ In addition to the 2.23.1 release notes, this release:

    • ๐Ÿ›  Fixes a bug where an @Inject method has a parameter name that is valid on the JVM but invalid for the Java language (and can come up in some cases in Kotlin: a11605c)
    • โš  Suppresses all unchecked/rawtypes warnings in Dagger generated code (ce23333)
  • v2.23.1 Changes

    May 30, 2019

    ๐Ÿš€ In addition to the 2.23 release notes, this release fixes support for gradle incremental annotation processing (a91d962)

  • v2.23 Changes

    May 28, 2019
    • Validation/strictness
      • Generated components are no longer public unless the component type is public (298dea8)
      • @BindsInstance annotations are now more strictly validated (d3ed46d)
    • ๐ŸŽ Build performance
      • Generated code is no longer formatted by default. Use -Adagger.formatGeneratedSource=enabled to turn it on. (fcd069c)
      • General build performance improvements (7e374b5)
    • Android
      • Added dagger.android.HasAndroidInjector, which will soon replace the Has*Injector interfaces. This one interfaces coalesces the others and should be functionally equivalent. (8f01526)
    • Full Binding Graph Validation
      • Rename -Adagger.moduleBindingValidation to -Adagger.fullBindingGraphValidation. The old name continues to work as an alias. (add5a74)
      • Do full binding graph validation for components and subcomponents, not just modules. (15d20f8)
    • ๐Ÿ› Bug Fixes
      • Fixed an issue where @BindsInstance on a Builder setter method's parameter caused a failure in codegen if the parameter had a different name than the method itself (#1464). (8051d28)
  • v2.22.1 Changes

    April 03, 2019

    ๐Ÿš€ In addition to the 2.22 release notes, this release fixes an issue where @BindsInstance on a @Component.Builder setter method's parameter caused a failure in code generation if the parameter had a different name than the method itself (#1464). (8051d28)

  • v2.22 Changes

    April 02, 2019

    ๐Ÿš€ NOTE: A bug in the Dagger compiler was introduced in this release. A fix is available in 2.22.1

    • โž• Add the ability to create @Component.Factory types for components instead of @Component.Builders. An @Component.Factory is stateless and has a single method, returning the creator type, that takes parameters for anything that a Builder could have setters for. (d340886)
    • ๐Ÿ— @BindsInstance can now be applied to the parameter of a setter method on a builder rather than to the setter method itself, for consistency with factory methods. (60dc2a6)
    • ๐Ÿ— When a single instance of a component builder with no setter for a particular module that Dagger can instantiate is used to instantiate multiple component instances, provide a new instance of that module to each component rather than caching and reusing a single instance of the module for each component. (fa714e9)
    • Public modules are now allowed to include non-public modules when those included modules do not require an instance: that is, they only have abstract and/or static binding methods. (bfdecad)
    • ๐Ÿ›  Fix @BindsOptionalOf methods to require that they have a different name than any other binding method in the module; this was already true for all other types of binding methods (@Provides, @Binds etc.) but @BindsOptionalOf wasn't being included. (1ea36ec)
    • ๐Ÿ‘ Report an error for scopes on @Multibinds methods. This was never supported, but the scope was previously ignored. (9582bc3)
    • Limit the number of requests and entry points reported explicitly for errors. (1d5d829)
    • ๐Ÿ— SPI: Renamed BindingKind.SUBCOMPONENT_BUILDER to SUBCOMPONENT_CREATOR to reflect the fact that it can be a builder or a factory, and renamed the edge type to SubcomponentCreatorBindingEdge. (65e2209)
    • ๐ŸŽ Build performance improvements: