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 <https://code.google.com/p/google-guice/issues/detail?id=626> - fix circular dependencies between providers. * Issue 78 <https://code.google.com/p/google-guice/issues/detail?id=78> - Added ProvisionListener (use Binder.bindListener(Matcher, ProvisionListener)), to intercept provisioning (creating & injecting stuff). * Issue 643 <https://code.google.com/p/google-guice/issues/detail?id=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 <https://code.google.com/p/google-guice/source/detail?r=b71955639ab617e0a4115b1439c8b9982227a018> for details. * Fix issue 663 <https://code.google.com/p/google-guice/issues/detail?id=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 <https://code.google.com/p/google-guice/issues/detail?id=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 On Tue, Apr 21, 2015 at 9:41 PM Ben McCann <[email protected]> wrote: > 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 > > > On Tue, Apr 21, 2015 at 4:22 PM, Ben McCann <[email protected]> wrote: > >> Cool. Here's a PR for the @since tags: >> https://github.com/google/guice/pull/916 >> >> -Ben >> >> >> On Tue, Apr 21, 2015 at 2:00 PM, Sam Berlin <[email protected]> wrote: >> >>> 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 >>> >>> On Tue, Apr 21, 2015 at 4:54 PM Ben McCann <[email protected]> wrote: >>> >>>> 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 >>>> >>>> >>>> On Tue, Apr 21, 2015 at 7:38 AM, Tim Boudreau <[email protected]> >>>> wrote: >>>> >>>>> Is it possible to put a target date on that? >>>>> >>>>> >>>>> On Tuesday, April 21, 2015, Sam Berlin <[email protected]> wrote: >>>>> >>>>>> Nope. I believe cgdecker is looking at promoting a 4.0 release when >>>>>> time allows. >>>>>> >>>>>> sam >>>>>> >>>>>> On Mon, Apr 20, 2015, 10:33 PM Ben McCann < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Is there any roadmap or list of issues that need to be addressed >>>>>>> before 4.0 can be released? >>>>>>> >>>>>>> >>>>>>> On Sunday, April 5, 2015 at 11:30:24 AM UTC-7, Jeremy Chone wrote: >>>>>>>> >>>>>>>> +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, >>>>>>>> >>>>>>>> On Friday, March 6, 2015 at 5:26:05 PM UTC-8, Tim Boudreau wrote: >>>>>>>>> >>>>>>>>> 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 >>>>>>>>> >>>>>>>>> -- >>>>>>> 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 [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> 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/6595ad3f-534a-4893-b8e4-723de2b4310e%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/google-guice/6595ad3f-534a-4893-b8e4-723de2b4310e%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> -- >>>>>> 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 >>>>>> [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> 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 >>>>>> <https://groups.google.com/d/msgid/google-guice/CAJEBNUdHd7YmC8q59M1Z3v7eOvdd-DojQTUyvLnYRTm8w6_XoQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> >>>>> -- >>>>> http://timboudreau.com >>>>> >>>>> -- >>>>> 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 >>>>> [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> 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/CA%2BqecROew79uKgc-Gi9ThD66BKsOR4MTBV82-dBmh8QmP-W-VA%40mail.gmail.com >>>>> <https://groups.google.com/d/msgid/google-guice/CA%2BqecROew79uKgc-Gi9ThD66BKsOR4MTBV82-dBmh8QmP-W-VA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> about.me/benmccann >>>> >>>> -- >>>> 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 [email protected]. >>>> To post to this group, send email to [email protected]. >>>> 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/CAH3cagMU08pDGHWLb%2Bv5F8y6_2UhJkazuhhVhL970%2BL-NO1Ovg%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/google-guice/CAH3cagMU08pDGHWLb%2Bv5F8y6_2UhJkazuhhVhL970%2BL-NO1Ovg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> 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 >>> [email protected]. >>> To post to this group, send email to [email protected]. >>> 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/CAJEBNUe%3DJ8nmocePNg1k32AavhnQ91XUOYcWbYXTE%3D9-ucnJ7Q%40mail.gmail.com >>> <https://groups.google.com/d/msgid/google-guice/CAJEBNUe%3DJ8nmocePNg1k32AavhnQ91XUOYcWbYXTE%3D9-ucnJ7Q%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> about.me/benmccann >> > > > > -- > about.me/benmccann > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > 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/CAH3cagN67%3DAgXVPfFK%2BbmBF86Ztz-zFbeyMZs%3D%3DnW6ozw3uTTQ%40mail.gmail.com > <https://groups.google.com/d/msgid/google-guice/CAH3cagN67%3DAgXVPfFK%2BbmBF86Ztz-zFbeyMZs%3D%3DnW6ozw3uTTQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To post to this group, send email to [email protected]. 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/CAJEBNUf1XtXZo%2BRCSPFA3w43iuqDEcCOaMAQLPFAx0GFeJvtNw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
