Releases: google/dagger
Releases · google/dagger
Dagger 2.25.4
Dagger 2.25.3
What's new
-
Bug fixes
-
Maintenance
Dagger 2.25.2
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
- Fix duplicate missing binding error messages. (2411074)
- Fix dagger-spi pom file from dependency cycle. (3699697)
- Fix issue with missing shaded deps from release 2.25 (efe1b00)
-
Kotlin support
-
Performance Improvements
Dagger 2.25
Do not depend on this release.
Depend on release 2.25.2 instead, which fixes issue #1639.
Dagger 2.24
- Deprecations/removals
dagger.android
'sHas{Activity,Fragment,Service,ContentProvider,BroadcastReceiver}
interfaces are now removed in favor ofHasAndroidInjector
(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)
Dagger 2.23.2
In addition to the 2.23.1 release notes, this release:
Dagger 2.23.1
In addition to the 2.23 release notes, this release fixes support for gradle incremental annotation processing (a91d962)
Dagger 2.23
- Validation/strictness
- Build performance
- Android
- Added
dagger.android.HasAndroidInjector
, which will soon replace theHas*Injector
interfaces. This one interfaces coalesces the others and should be functionally equivalent. (8f01526)
- Added
- Full Binding Graph Validation
- Bug Fixes
Dagger 2.22.1
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)
Dagger 2.22
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.Builder
s. 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
toSUBCOMPONENT_CREATOR
to reflect the fact that it can be a builder or a factory, and renamed the edge type toSubcomponentCreatorBindingEdge
. (65e2209) - Build performance improvements: