Is 2.0 runtime compatible with 1.0? If it is, I'd strongly urge you to
reconsider naming it to 1.1 or 1.5 or something like that.
Savant (along with other dependency management tools) by default
treats major versions as completely non-compatible and breaks your
build if it notices that your dependency graph is using different
majors. I can change the Guice meta-data in the Savant repository to
indicate that Guice is "major-compatible", meaning that it is
compatible across major versions, but this is dangerous and if 3.0 is
non-compatible, things will get messy.
On the flip-side, if 2.0 is not compatible at compile or runtime, the
version makes sense.
-bp
The code has come a long, long way since
Guice 1.0 and I'd quite like it if we could
get something of release quality out for
folks to start using. I'm thinking of polishing
up the current code (Javadocs, etc.) and
calling it 'Guice 2.0'.
Even without the new features it's still a
huge update, and worthy of your time to
upgrade. (hello, @Provides)
Once that's available, I'll keep working, and
get Guice 2.1 out during 'fall 2008'. This
should contain all of the slipped features.
Finally, I think I should take on hierarchical injectors. This is sticky territory. To those who are afraid the feature will be confusing, we could only expose hierarchical injectors through the SPI. For example, instead of creating a child injector through Guice.createInjector(), you could call com.google.inject.spi.HierarchicalInjectors.create(Injector parent, ...).
> Run your application's test suite using today's
> snapshot, and report any regressions:
I can't use that version at the moment (see my mail 'trunk: @Inject @Named error').
I really like guice and would be sorry if that would remain the case and would
stop being able to use guice with other JVM languages than Java.
Best regards, --- Jan.