Luke Sandberg edited this page Aug 25, 2016 · 5 revisions

Guice 4.1

Released June 17, 2016




Guice (No AOP):






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.
  • TypeListeners no longer get invoked for Provider instances that Guice generates for @Provides methods.
  • Skip static methods in interfaces (for Java8 compatibility) (issue #937)
  • 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.
  • 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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.