Home | History | Annotate | Download | only in dagger2
      1 Change Log
      2 ==========
      3 
      4 Dagger 2 (Components)
      5 ---------------------
      6 
      7 ### Version 2.0.2 *(2015-11-03)*
      8 
      9 A patch release, most crucially including:
     10 
     11   * A fix to the way processor validation of types is done that permits dagger to play
     12     more nicely with other processors, avoiding over-validating aspects that it doesn't
     13     need, which may yet not have been generated by other processors in a different round
     14     of processing.
     15   * Some improved error reporting for edge-cases
     16   * Fix to prevent incompatible versions of Guava on the classpath from blowing up processing
     17   * Support a more robust set of types for map keys in map bindings (primitive types, etc.)
     18 
     19 ### Version 2.0.1 *(2015-05-28)*
     20 
     21 A maintenance release fixing immediate issues following the Dagger 2.0 release, including:
     22 
     23   * Speed up Graph Validation (reduce build times by 10s of seconds on sampled large projects)
     24   * Generate correct code for @MapKey annotation types (beta)
     25   * Fix to properly emit code for class literal values in @MapKey annotations.
     26   * Fix for injecting component dependencies
     27   * Fixes to generated code to account for differences in generics handling in ecg vs. javac.
     28   * Subcomponents can now be abstract classes.
     29   * Subcomponents now properly build the object graph in some cases involving explicit bindings
     30     and (sub)components without scope.
     31   * Improve runtime performance of SetFactory (set multibindings)
     32   * Other smaller fixes, refactorings, etc.
     33 
     34 ### Version 2.0.0 *(2015-04-21)*
     35 
     36 The initial release of the 2.0 code-line, supporting:
     37 
     38   * `@Component` interfaces representing a custom API to access a graph of objects
     39   * JSR-330 injection automation using `@Inject` signals, `@Qualifiers`
     40   * Simple bindings of implementations to interfaces, custom provision of objects, and set-bindings
     41   * Compile-time validation of graph structure (cycles, missing bindings, duplicate bindings)
     42   * Generation of 
     43     - backing implementations for components
     44     - factories for `@Inject` constructors and modules
     45     - members-injectors for `@Inject` methods and fields
     46   * Beta support for
     47     - Map bindings
     48     - [Producers](http://google.github.io/dagger/api/latest/dagger/producers/Producer.html)
     49 
     50 ==============================================================
     51 
     52 Dagger 1 (ObjectGraph)
     53 ----------------------
     54 
     55 ### Version 1.2.0 *(2013-12-13)*
     56 
     57  * Numerous performance improvements in both the compiler and runtime.
     58    * Use more efficient `String` concatenation.
     59    * Module adapters are now stateless.
     60    * Use read/write locks over global locks.
     61    * Reflective constructor invocation is now cached with `Class.newInstance`.
     62    * Avoid re-linking all bindings when calling `.plus()`.
     63  * Set bindings are now unioned when calling `.plus()`.
     64  * Fix: Tolerate missing type information during compilation by deferring writing
     65    module adapters.
     66 
     67 
     68 ### Version 1.1.0 *(2013-08-05)*
     69 
     70  * Module loading now requires code generation via the 'dagger-compiler' artifact.
     71  * Allow multiple contributions to Set binding via `Provides.Type.SET_VALUES`.
     72  * Request classloading from the classloader of the requesting object, not the current thread's
     73    context classloader.
     74  * Cache class loading at the root injector to reduce costs of loading adapters.
     75  * Fix: Primitive array types are no longer incorrectly changed to their boxed type.
     76  * Update JavaWriter to 2.1.1.
     77 
     78 
     79 ### Version 1.0.1 *(2013-06-03)*
     80 
     81  * Explicitly forbid declaring `@Inject` on a class type (e.g., `@Inject class Foo {}`).
     82  * Update JavaWriter to 1.0.5.
     83 
     84 
     85 ### Version 1.0.0 *(2013-05-07)*
     86 
     87 Initial release.
     88