The never-ending beta of Guice 4

775 views
Skip to first unread message

Tim Boudreau

unread,
Mar 6, 2015, 8:26:05 PM3/6/15
to google...@googlegroups.com
Hi, folks,

I've been using Guice 4 since, I think 2012 or somewhere thereabouts, and have built a number of frameworks on top of it.

Now, once again, I have a user of one of them freaking out about the fact that Guice 4 is still in beta.  I know Google is using it in production, and a lot of us are - I've had code in production with it for a long time.

What will it take to get this out the door?  The last time this came up there was a comment of "ooh, but I want to add this feature and this one" from someone - and as far as I know there has not been a new beta version since.

Seriously, please, please god please, can we bless a release of Guice 4 and get it out the door, so the rest of us can stop fielding requests to downgrade to Guice 3?  I. for one, can't - I'm using features of Guice 4.  It's been a long, long time and this is permanent beta status is getting silly.

-Tim

Eelco Hillenius

unread,
Mar 6, 2015, 11:49:19 PM3/6/15
to google...@googlegroups.com
Second that. It's kind of funny to stay in beta for a couple of years, but come on, there are lots of serious spiky haired people out there who panic when they hear 'beta' ;-)

Eelco

lfer...@gmail.com

unread,
Mar 7, 2015, 1:03:29 AM3/7/15
to google...@googlegroups.com, google...@googlegroups.com
+1

Thanks.


L


--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.
To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/d454a21e-bd34-49b3-8fe8-1db15163ce90%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Kevin Burton

unread,
Mar 9, 2015, 8:19:48 PM3/9/15
to google...@googlegroups.com
Do it!  I don't have spikey hair and it weirded me out at first :)

sarah...@gmail.com

unread,
Mar 13, 2015, 12:19:04 PM3/13/15
to google...@googlegroups.com
+1 beta is not an indicator of the code quality. this is production ready code

Benjamin McCann

unread,
Mar 13, 2015, 12:59:40 PM3/13/15
to google...@googlegroups.com
+1 Play Framework is integrating Guice, but will only use Guice 3 because of the beta label. I'd love to see Guice 4 used instead. Release early and often!

Vyacheslav Rusakov

unread,
Mar 14, 2015, 1:52:28 AM3/14/15
to google...@googlegroups.com
+1 
I also feel uncomfortable that my libs use beta version. Besides its almost a year now since planned release date.

пятница, 13 марта 2015 г., 22:59:40 UTC+6 пользователь Benjamin McCann написал:

Stephan Classen

unread,
Mar 14, 2015, 2:19:19 AM3/14/15
to google...@googlegroups.com
+1
I also wouldn't mind to have a version 4.15 or similar if you keep adding new features to guice.

Tim Boudreau

unread,
Mar 14, 2015, 3:20:25 AM3/14/15
to google...@googlegroups.com
Is anybody from the Guice team at Google listening, or have the elves left Middle-Earth?

-Tim

David Sowerby

unread,
Mar 14, 2015, 11:47:11 AM3/14/15
to google...@googlegroups.com
+1 just in case the elves can hear from a long way off ...

Sam Berlin

unread,
Mar 14, 2015, 11:58:46 AM3/14/15
to google...@googlegroups.com

Happy St Patrick's day. :-)

We hear y'all, don't worry.

sam


--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.
To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.

Sam Berlin

unread,
Mar 14, 2015, 12:10:35 PM3/14/15
to google...@googlegroups.com

... Actually I guess today isn't really St Patrick's day... parades throw you off.

But we still hear y'all.

sam


---------- Forwarded message ---------
From: Sam Berlin <sbe...@gmail.com>
Date: Sat, Mar 14, 2015, 11:58 AM
Subject: Re: The never-ending beta of Guice 4
To: <google...@googlegroups.com>


Happy St Patrick's day. :-)

We hear y'all, don't worry.

sam


On Sat, Mar 14, 2015, 11:47 AM David Sowerby <david.s...@gmail.com> wrote:
+1 just in case the elves can hear from a long way off ...


On Saturday, 14 March 2015 07:20:25 UTC, Tim Boudreau wrote:
Is anybody from the Guice team at Google listening, or have the elves left Middle-Earth?

-Tim

--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice+unsubscribe@googlegroups.com.

James Roper

unread,
Mar 16, 2015, 8:18:03 PM3/16/15
to google...@googlegroups.com
I don't always +1 things, but when I do, I +1 a stable release of Guice 4.


On Sunday, 15 March 2015 03:10:35 UTC+11, Sam Berlin wrote:

... Actually I guess today isn't really St Patrick's day... parades throw you off.

But we still hear y'all.

sam


---------- Forwarded message ---------
From: Sam Berlin <sbe...@gmail.com>
Date: Sat, Mar 14, 2015, 11:58 AM
Subject: Re: The never-ending beta of Guice 4
To: <google...@googlegroups.com>


Happy St Patrick's day. :-)

We hear y'all, don't worry.

sam


On Sat, Mar 14, 2015, 11:47 AM David Sowerby <david.s...@gmail.com> wrote:
+1 just in case the elves can hear from a long way off ...


On Saturday, 14 March 2015 07:20:25 UTC, Tim Boudreau wrote:
Is anybody from the Guice team at Google listening, or have the elves left Middle-Earth?

-Tim

--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.

Brian Pontarelli

unread,
Mar 16, 2015, 10:37:50 PM3/16/15
to google...@googlegroups.com
Here you go! ;)

Hc82Oa1.jpg

Or in case Google Groups doesn’t like the attachment:


-- Brian


nino martinez wael

unread,
Mar 17, 2015, 2:16:23 AM3/17/15
to google...@googlegroups.com
+1

David Hoffer

unread,
Mar 17, 2015, 10:22:10 AM3/17/15
to google...@googlegroups.com
+1

On Tue, Mar 17, 2015 at 12:16 AM, nino martinez wael <nino.mart...@gmail.com> wrote:
+1


--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.
To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.

shawn...@gmail.com

unread,
Mar 24, 2015, 12:25:05 AM3/24/15
to google...@googlegroups.com
+1 there's a thread leak in Guice 3 that is apparently fixed in Guice 4. very interested in a Guice 4 release

Hannes Steffenhagen

unread,
Apr 2, 2015, 4:13:06 PM4/2/15
to google...@googlegroups.com
+1, at our company we're actually stuck with guice 2 due to a bug in guice 3, and there's no real process to allow something marked as 'beta' to ship in production.


On Friday, March 6, 2015 at 8:26:05 PM UTC-5, Tim Boudreau wrote:

Sam Berlin

unread,
Apr 2, 2015, 4:29:38 PM4/2/15
to google...@googlegroups.com
Is the bug fixed in Guice 4?  What bug?

--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.
To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.

Hannes Steffenhagen

unread,
Apr 2, 2015, 4:58:47 PM4/2/15
to google...@googlegroups.com
It seems to have been fixed in 4; And I don't quite remember what it was, this decision was made before I joined. Some kind of leak, if I recall correctly.

James Roper

unread,
Apr 5, 2015, 6:26:22 AM4/5/15
to google...@googlegroups.com
The thread leak in question is this one:


I haven't checked if it's fixed in Guice 4, but I've encountered it twice in Guice 3, once was just the other day when I was checking for leaks in general in Play Framework.
Message has been deleted

Jeremy Chone

unread,
Apr 5, 2015, 2:30:24 PM4/5/15
to google...@googlegroups.com
+1 Never ending beta feels so Web 2.0. 

Same here, I have a build a Web binding framework (Snow) based on Guice, and use it with all of my clients, and I have pushing back moving to 4.0 because I do not want to tell my clients that I put "beta" things in production. 


Jeremy, 

Ben McCann

unread,
Apr 20, 2015, 10:33:10 PM4/20/15
to google...@googlegroups.com
Is there any roadmap or list of issues that need to be addressed before 4.0 can be released?

Sam Berlin

unread,
Apr 21, 2015, 10:31:37 AM4/21/15
to google...@googlegroups.com

Nope. I believe cgdecker is looking at promoting a 4.0 release when time allows.

sam


--
You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.
To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.

Tim Boudreau

unread,
Apr 21, 2015, 10:38:21 AM4/21/15
to google...@googlegroups.com
Is it possible to put a target date on that?
You received this message because you are subscribed to a topic in the Google Groups "google-guice" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-guice/14i5Q3utwGI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-guice...@googlegroups.com.

To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/CAJEBNUdHd7YmC8q59M1Z3v7eOvdd-DojQTUyvLnYRTm8w6_XoQ%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.


--

Ben McCann

unread,
Apr 21, 2015, 4:54:55 PM4/21/15
to google...@googlegroups.com, cgde...@gmail.com
Cool! Is it just pushing to Maven that needs to happen? I think I could do that if you guys need a hand. I maintained Guiceberry and some other Google libraries and may still have permissions to the Google Maven repo. If it's even setup the same way still...  Or if there are other TODOs that need a hand I can help out.

-Ben



For more options, visit https://groups.google.com/d/optout.

Sam Berlin

unread,
Apr 21, 2015, 5:00:25 PM4/21/15
to google...@googlegroups.com, cgde...@gmail.com
I think the TODOs are:
  * flush out use of Guava @Beta APIs  [done -- Colin just sent a CL to fix these]
  * write a meaningful changelog
  * update @since tags

sam

Ben McCann

unread,
Apr 21, 2015, 7:22:32 PM4/21/15
to google...@googlegroups.com, cgde...@gmail.com

Ben McCann

unread,
Apr 21, 2015, 9:41:16 PM4/21/15
to google...@googlegroups.com, Colin Decker
I took a stab at the remaining item, which was the changelog. I'm not super familiar with the changes made, so you might want to take your own pass at it, but here are the main things I saw:
  • Added BoundFieldModule for use in tests to reduce the code needed to bind local fields (usually mocks) for injection.
  • Added DaggerAdapter to adapt classes annotated with @dagger.Module such that their @dagger.Provides methods can be properly invoked by Guice.
  • Rewrite of dependency graphing
  • Added numerous new multibindings
  • Expanded the SPI
-Ben

Sam Berlin

unread,
Apr 21, 2015, 9:46:35 PM4/21/15
to google...@googlegroups.com, Colin Decker
There's a ton more than that.  :-)

I wrote up a changelog last Nov 2013 (so it's missing everything since then), but it looked something like this:

CORE:
 * Allow interceptors to intercept methods that javac created a bridge method using "invokespecial" for. (We have an internal bug that tracked this, I'm not clear how to succinctly say it though.)
 * Issue 626 - fix circular dependencies between providers.
 * Issue 78 - Added ProvisionListener (use Binder.bindListener(Matcher, ProvisionListener)), to intercept provisioning (creating & injecting stuff).
 * Issue 643 - classloader leak relating to AOP.
 * Fixed a bunch of exceptions:
     - When encountering circular JIT bindings.
     - When a scope cached a proxy for a circular dependency
     - When requestInjection (or some other things) are injecting the same object more than once, but the object was bound in a different order than it's being injected.
 * Add Binder.requireAtInjectOnConstructs, to prevent Guice from creating instances of classes that have no-args public constructors w/o @Inject.
 * Change the way Key works with annotations, so that it considers @Annotation is equal to Annotation.class if the annotation has all optional methods.
 * Add Binder.requireExactBindingAnnotations, to prevent Guice from allowing a binding for @Named Foo to fulfill a request for @Named("foo") Foo, if the latter was missing but the former existed.  (This applies to all parameterized annotations, not just @Named.)
 * Improved error message when requestStaticInjection is called on an interface
 * Add Scopes.isEagerSingleton
 * Reduce memory required for keeping binding source info.
 * Return a new ElementSource object when possible in Binding.getSource, to get more detailed information about the binding.  This includes keeping track of all the modules in the path that led to the binding.
 * Improve error messaging so it lists out all the modules that led to a failed binding.
 * Add the ability to to stop recording line numbers of bindings, which can increase startup time drastically (at the expense of less useful error messages).

GRAPHER:
  * A bunch of changes, see CL for details.
  * Fix issue 663 - graphs look really bad/corrupt.

SERVLET:
  * Make it work with requireExplicitBindings
  * Make sure each filter or servlet in the chain gets the latest request/response, even if they're wrapped by earlier filters.
  * Add a @ScopingOnly GuiceFilter that can scope
  * Reduce stack traces by pruning out the c.g.i.servlet.Filter{ChainInvocation,Definition}.doFilter lines.
  * Fix ordering of when filters are processed -- first binding first.  It could have been wrong if different filters came from different sub-modules.
  * Add ServletScopes.isRequestScoped to easily find out if a binding is request scoped.
  * Reduced the stack size when calling filters.
  * Fix exception when manipulating the context path.
  * Fix exception when getCookies returned null.

PERSIST:
  * Remove log4j.properties from the jar

MULTIBINDER:
  * Fix issue 670 - set & map bindings could conflict with each other.
  * Make Multibinder/MapBinder work as expected with Modules.override -- exact same bindings are not listed twice anymore.

THROWING PROVIDERS:
  * Add ThrowingProviderBinder.providing(Class|TypeLiteral), which creates a proxy CheckedProvider that will construct the given class.
  * Improved exception messages when more than one underlying dependency fails.

ASSISTED INJECT:
  * Fail hard if assisted injected class has a scoping annotation.


sam

shawn...@gmail.com

unread,
Apr 23, 2015, 7:39:41 PM4/23/15
to google...@googlegroups.com, cgde...@gmail.com
+1 to Tim's question of whether it's possible to estimate when a release might happen

So it's just the changelog that's left now? No need for the changelog to be a release blocker :-) It's a nice-to-have, but if it's the only thing holding up a release, I'd love to see the release now and we can always put the changelog up after

Ben McCann

unread,
Apr 27, 2015, 11:11:25 PM4/27/15
to google...@googlegroups.com, Colin Decker
Hey Sam,

Is there anything else I can help out with? Do you think you'll be able to cut the release sometime this week?

-Ben


On Thu, Apr 23, 2015 at 4:39 PM, <shawn...@gmail.com> wrote:
+1 to Tim's question of whether it's possible to estimate when a release might happen

So it's just the changelog that's left now? No need for the changelog to be a release blocker :-) It's a nice-to-have, but if it's the only thing holding up a release, I'd love to see the release now and we can always put the changelog up after

--
You received this message because you are subscribed to a topic in the Google Groups "google-guice" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-guice/14i5Q3utwGI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-guice...@googlegroups.com.
To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.

For more options, visit https://groups.google.com/d/optout.

Colin Decker

unread,
Apr 28, 2015, 6:29:03 PM4/28/15
to google...@googlegroups.com, Colin Decker
Hey all, you'll be happy to know that Guice 4.0 is at long last released! https://github.com/google/guice/wiki/Guice40

Full changelog and a more official announcement of it will be coming, but I wanted to send a quick announcement here first.

You received this message because you are subscribed to the Google Groups "google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-guice...@googlegroups.com.

To post to this group, send email to google...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice.

Ben McCann

unread,
Apr 28, 2015, 6:33:10 PM4/28/15
to google...@googlegroups.com, Colin Decker
Woohoo! Thank you guys so much!!!


For more options, visit https://groups.google.com/d/optout.

Sam Berlin

unread,
Apr 28, 2015, 6:34:18 PM4/28/15
to google...@googlegroups.com, Colin Decker
Thanks for the productive bugging about it, Ben. :-)

And thanks very much to Colin for doing all the release mojo!

sam

Filipe Sousa

unread,
Apr 28, 2015, 6:48:08 PM4/28/15
to google...@googlegroups.com, cgde...@gmail.com
👍

Tim Peierls

unread,
Apr 28, 2015, 6:59:44 PM4/28/15
to google...@googlegroups.com

Mark Derricutt

unread,
Apr 29, 2015, 6:41:42 AM4/29/15
to 'Colin Decker' via google-guice, Colin Decker
On 29 Apr 2015, at 10:29, 'Colin Decker' via google-guice wrote:

> Hey all, you'll be happy to know that Guice 4.0 is at long last released! [https://github.com/google/guice/wiki/Guice40](https://github.com/google/guice/wiki/Guice40)

w00t - congrats to all involved in the guice team!

--
Mark Derricutt
http://www.theoryinpractice.net
http://www.chaliceofblood.net
http://plus.google.com/+MarkDerricutt
http://twitter.com/talios
http://facebook.com/mderricutt
signature.asc
Reply all
Reply to author
Forward
0 new messages