Hello guava-discuss,
Here's an update about our Java 8-related plans for Guava.
Already using Java 8?
(Lucky you!) For you, we've started the process of adding documentation to some of our classes to help you understand their relationship to their new Java 8 counterparts. We're still working on this, but for now you can see Optional, Predicate and FluentIterable for examples. (We're focusing first on the cases where the new JDK offerings are essentially superior to ours, but we'll try to get to all the rest like BaseEncoding soon too. :-))
Also, for you Guava collections now have new methods on them which aren't coming from us -- they're "default methods" that were added directly to base interfaces in java.util. In most cases (a notable exception being Cache.asMap()) these should work correctly, but in many cases they may be suboptimal and we can't generally recommend their use. And there's nothing we can do about it before Guava 21.0 (read below), so please tread with care.
Not yet using Java 8?
Guava 20 (to be released in early 2016) will be the final Guava release to support Java 6, or even Java 7. Guava 21 (ideally mid-2016) will require Java 8. So, if you're unable to upgrade to 8, you may be using 20 for a while. We don't expect to issue patch releases except for relatively serious issues.
But Android!
Ah, have no fear. With version 21 we will also kick off a new fork, presumably called guava-android. It will maintain Java 6 compatibility, allowing it to be used for Android apps supporting a minimum version of Gingerbread.
For the first time we will have an Android-specific Guava codebase, and we welcome your suggestions (please file issues) for Android-specific optimizations you feel it needs.
So what new stuff will we get in Guava 21?
Collector implementations for the immutable collections (and a few others). Streams and default methods will both become more efficient for Guava collection types. Our Function/etc. classes will subclass the JDK versions, thus interoperating a little more easily. Optional will have conversion methods for java.util.Optional. And at last, Path-based versions of common.io features.
Brace ourselves, the deprecations are coming?
You can relax. Mostly. Guava 21 and beyond will not race to quickly @Deprecate all APIs that have become redundant with Java 8 libraries. We are simply re-documenting them with light discouragement (as you see in the examples above).
Yes, we'd like everyone to feel motivated to migrate to the new standard. But we realize this will take time, and we also want to prevent an enormous gap from forming between guava and guava-android.
So what good is Guava anymore?
We sometimes come across Internet comments to the effect that Guava is dead and busted now that Java 8 is out. This is obviously pleasing to us since we worked closely with the JSR-335 expert group to try to make that happen! But, while it's true that you may import com.google.common less often than you used to, when you need an immutable collection, multimap, Throwable helper, CharMatcher, primitive utility, base encoding, hash function, I/O source or sink, rate limiter -- or any of the new features we're currently rolling out! -- hopefully you'll still know where to come.
Any questions?
-- the Guava team--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss
This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/ebacd928-e13d-422c-bd0e-840d930139b0%40googlegroups.com.
Collector implementations for the immutable collections (and a few others).
Any questions?
--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss
This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/3b10c027-7efd-43ea-95aa-94358789b799%40googlegroups.com.
--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss
This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/9de6677c-4283-4577-b87f-144cca65b75a%40googlegroups.com.
--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss
This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/a8744b4f-3f07-40c3-bb99-cc2f3af4c654%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/129df65d-39a7-4803-80fc-b8512046a88c%40googlegroups.com.
--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss
This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/231e6e1c-31b8-40a0-8500-601e156de294%40googlegroups.com.
I greatly appreciate all your effort to stay backward compatible with new guava releases.
But the step to drop Java 6&7 support already is a big breaking change.
So wouldn't it be best to go one step further this time?I would prefer if the Java 8 line would move to a new artefact name ('com.google.guava:guava8:21.0') and package like "com.google.common8.*" where all redundant stuff would be dropped.
The Backport releases could then just be released in the old way and projects that are moving to Java 8 could just use the new one, without having to worry about breaking anything in their dependency tree, by moving to Guava21 or later.
--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss
This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/231e6e1c-31b8-40a0-8500-601e156de294%40googlegroups.com.