Skip to content

Guice41

Sam Berlin edited this page Jun 17, 2016 · 8 revisions

Guice 4.1

Released June 17, 2016

Maven

Guice:

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>4.1</version>
</dependency>

Guice (No AOP):

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>4.1</version>
  <classifier>no_aop</classifier>
</dependency>

Extensions:

<dependency>
  <groupId>com.google.inject.extensions</groupId>
  <artifactId>guice-${extension}</artifactId>
  <version>4.1</version>
</dependency>

Downloads

Docs

Changes since Guice 4.0

Guice Core:
  • @ProvidedBy supports javax.inject.Provider (issue #808)
  • Reduced the number of lines in error messages.
  • Fix potential rare deadlock when there are multi-threaded cycles in singletons.
  • Allow members injection to happen in parallel if it was requested from different threads.
  • Make disableCircularProxies more strict.
  • Updated the internal cglib to 3.2.0 to allow Guice to be used with signed jars.
  • Various performance optimizations.
AssistedInject:
  • Skip static methods in interfaces (for Java8 compatibility) (issue #937)
Servlet:
  • Add Iterable overloads for the varargs methods in ServletModule.
  • Add an AutoCloseable-style API for transferring the request scope.
  • Normalize the path before applying filters.
Multibindings:
  • Add more bound types when using MapBinder. By default, Set<Map.Entry<K, javax.inject.Provider<V>> will be bound. And additionally if permitDuplicates() is called, the following are also bound: Map<K, Set<javax.inject.Provider<V>>>, Map<K, Collection<Provider<V>>>, and Map<K, Collection<javax.inject.Provider<V>>>.
Testing Libraries:
  • Fix @Bind to support javax.inject.Provider.
  • Allow @Bind to bind to null if annotated with @Nullable.
  • Allow @Bind(lazy=true) with Providers.
Dagger Adapter:
  • Support the new multibinding declaration style (@IntoSet, etc..)

Migrating from Guice 4.0

See the JDiff change report for complete details.

Clone this wiki locally