Releases: google/dagger
Releases · google/dagger
Dagger 2.15
- 98b9c3f:
- Fix a bug where binding collisions were not properly checked across subcomponent boundaries when a parent provided a concrete
Set
/Map
and a child provided a multibinding contribution with the same key. - Also applies to providing a concrete optional binding and
@BindsOptionalOf
declarations.
- Fix a bug where binding collisions were not properly checked across subcomponent boundaries when a parent provided a concrete
- Fix a case where injecting a
Provider<GeneratedType>
might not have properly delayed processing until that type was generated (57a43df) - Add Android proguard specs (b34edaf)
- Adds a
dagger.spi
package (in thecom.google.dagger:dagger-spi
artifact) so users can hook into the Dagger binding graph at build time to report custom validation or generate extra files at build time. Note that this is still experimental and the APIs may change. (120a339) - Scopes are no longer allowed on
@Module
elements. They never had a function and are now disallowed. (beeb29d) - Clarified
DaggerBroadcastReceiver
documentation with respect to when injection is performed (a49cee0) - Fix some cases of the Kythe plugin (412c879)
- Fixed a bug with
@Provides
/@Produces
methods in generic modules. (716dbcf) FluentFuture
is now a supported return type of@ProductionComponent
and@Produces
methods. (c98f88f)- Always parameterize
Optional.<Foo>absent/empty()
to fix a javac7 issue (83459f2)
Dagger 2.14.1
- Fix a NoClassDefFound issue with
2.14
(4a202b7)
Dagger 2.14
- Fix JPMS issue with javax.annotation types (b04e769)
- Remove dependency on JSR 305 annotations (02de197)
- Fixed a compilation issue with Eclipse (4e74fce)
- Adds a new error for component methods with type variables (71d0ad1)
- Improved compilation times (8ddc04e)
An issue (#994) was discovered with this release - please use dagger-2.14.1
instead.
Dagger 2.13
- Reductions in code size - code for repeated bindings is now placed in private methods instead of duplicating it throughout the component
dagger.android
speed improvements:- Avoid calling Class.getCanonicalName(), which is slow on Android, during normal execution (c19f0c2)
dagger.grpc
- update to gRPC 1.8 (19cc9f4)
Dagger 2.12
- The following kind of bindings are now inlined in the generated components and do not need a
Provider
wrapper object (unless they are scoped or otherwise requested as a Provider).- Multibound
Set
s andMap
s- If you have Guava on your classpath, these will be implemented using
ImmutableSet/ImmutableMap
too
- If you have Guava on your classpath, these will be implemented using
- Optional bindings
@Binds
bindings@BindsInstance
bindings- Component dependencies
- Subcomponent Builders
- All members injection methods on a component
- Multibound
- Unused
Provider
objects are now removed from components, which should speed up initialization times! - In Dagger Producers, a provision binding that is used in a producers context will no longer be cached.
- Better support for running the dagger compiler with
javac9
Dagger 2.11
Map
multibindings are no longer in beta.- New API:
@ContributesAndroidInjector
simplifies the usage ofdagger.android
- All
HasDispatching*Injectors
are renamed toHas*Injector
. They also return anAndroidInjector
instead of aDispatchingAndroidInjector
- Added
DaggerApplication
andDaggerContentProvider
auto-common
is properly shaded againdagger-android-processor
works better with Gradle if you're not usingdagger.android.support
- First release of
dagger-grpc
- Fixes for #421 and #671
dagger-gwt
is now being released again@GwtIncompatible
is propagated to generated factories
Dagger 2.11-rc2
Dagger 2.11 - Release Candidate
Map
multibindings are no longer in beta.- New API:
@ContributesAndroidInjector
simplifies the usage ofdagger.android
- All
HasDispatching*Injectors
are renamed toHas*Injector
. They also return anAndroidInjector
instead of aDispatchingAndroidInjector
- Added
DaggerApplication
andDaggerContentProvider
auto-common
is properly shaded again
Dagger 2.10
- Release of
dagger.android
classes to simplify injection of Android core types - By default, stop emitting "Prefer to run the dagger processor" warnings
- Allow component builders'
build()
methods to return a supertype of the component - Generated components with
@BindInstance
methods in their builders no longer generate astatic
create()
method, since it would always be invalid.
Dagger 2.10-rc4
- Add
dagger.android
support forService
s andBroadcastReceiver
s - Prevent scoping of
AndroidInjector.Factory
s - Compiled code now has debug information (
javac -g
) dagger.android.processor
can be used withoutdagger.android.support
on the classpath