Releases: google/dagger
Releases · google/dagger
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
Dagger 2.10-rc2
Fixes from 2.10-rc1
:
- Move
AndroidInjection.inject()
before invocationsuper.lifecycleMethod()
Fixes #598 - Correctly publish
dagger-android
anddagger-android-support
with anAndroidManifest.xml
- Compile
dagger
anddagger-producers
with-source 1.6 -target 1.6
so they can be used in Android dagger-android-processor
artifact added
Dagger 2.10-rc1
- 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
This is our first release using bazel
instead of mvn
. We don't believe there will be any noticeable differences, but if you see anything surprising please report an issue.
Dagger 2.9
- Faster compilation! With google-java-format 1.2, we have helped to fix a few performance bottlenecks which should result in less time in annotation proceessing for Dagger
- Added
@BindsInstance
for component builders to easily bind instances that are constructed outside of the graph - Producers: Added
ProducerMonitor.ready()
, which is called when all of a producer's inputs are available - Removed
@Provides(type = ...)
usage. Use the annotations indagger.multibindings
instead.@Produces.type
was also removed - "Prefer to run the dagger processor" warnings are now off by default.
- New Validation
- All binding methods are now validated, even if they are unused in a particular
@Component
@Component.dependencies
can no longer include@Module
s.
- All binding methods are now validated, even if they are unused in a particular