Dagger 2 v2.21 Release Notes

Release Date: 2019-01-16 // about 1 year ago
    • 🐎 Build performance improvements (174a7a9)
      • Separately, there may be an increase in build times for opensource users using javac9 or javac10. Neither javac8 or javac11 should be affected. (96fcce8)
    • 🆕 New validation:
      • Installing a module with scoped bindings that an ancestor component has also installed is now an error. (4695ff5)
      • A warning is now reported if an explicit binding conflicts with an @Inject binding in an ancestor component. This was never intended to be supported but never checked. Adds a flag to control whether that is a warning or an error. (7f5500f)
      • Installing a @ProducerModule in a @Subcomponent that is already installed in a parent (or earlier ancestor) component is now an error. It is also an error to repeat a @Module that has a binding in @ProductionScope. (68b2153)
    • SPI
      • New method: ComponentNode.isSubcomponent() (b6b9dca)
    • Producers
      • Deprecated dagger.producers.internal.Producers.immediateProducer() and dagger.producers.internal.Producers.immediateFailedProducer() in favor of newly added methods with the same names in dagger.producers.Producers (a4914c6) (added in 50d7010)
    • Properly generate components when qualifiers are generated (ab9cdbc)
    • Dagger itself now uses more Dagger (97fce1e)