{"id":4491,"date":"2020-04-22T12:29:46","date_gmt":"2020-04-22T10:29:46","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=4491"},"modified":"2020-04-22T12:29:46","modified_gmt":"2020-04-22T10:29:46","slug":"google-guava-in-version-29-erschienen","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2020\/04\/google-guava-in-version-29-erschienen\/","title":{"rendered":"Google Guava in Version 29 erschienen"},"content":{"rendered":"\n<p>Zu den Details: <a href=\"https:\/\/github.com\/google\/guava\/releases\">https:\/\/github.com\/google\/guava\/releases<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Changelog<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/groups.google.com\/d\/msg\/guava-announce\/zHZTFg7YF3o\/rQNnwdHeEwAJ\">Guava types can no longer be sent over GWT-RPC.<\/a>&nbsp;To&nbsp;<em>temporarily<\/em>&nbsp;reenable support, set the&nbsp;<code>guava.gwt.emergency_reenable_rpc<\/code>&nbsp;system property to&nbsp;<code>true<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/5214a10b1eac7a1f7267ee6ed5cf82c9cd76ad0b\">5214a10<\/a>)<ul><li>This is the only breaking change in this release, and it affects only users of the&nbsp;<code>guava-gwt<\/code>&nbsp;artifact, not people who use only the&nbsp;<code>guava<\/code>&nbsp;artifact. This release contains no changes that break&nbsp;<em>binary compatibility<\/em>&nbsp;for any users.<\/li><\/ul><\/li><li>API documentation for Guava classes is now easier to reach. For example, for&nbsp;<code>ImmutableList<\/code>, visit&nbsp;<a href=\"https:\/\/guava.dev\/ImmutableList\">guava.dev\/ImmutableList<\/a>. Also, more easily access the index at&nbsp;<a href=\"https:\/\/guava.dev\/api\">guava.dev\/api<\/a>.<\/li><li><code>collect<\/code>: Annotated&nbsp;<code>FluentIterable.from(FluentIterable)<\/code>&nbsp;with&nbsp;<code>@DoNotCall<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/b1c77b7df3b8abfeffbfdedcdd7bf0fe95bbcbd5\">b1c77b7<\/a>)<\/li><li><code>collect<\/code>: Made&nbsp;<code>ceiling<\/code>,&nbsp;<code>floor<\/code>,&nbsp;<code>headSet(E, boolean)<\/code>, and&nbsp;<code>tailSet(E, boolean)<\/code>&nbsp;methods available in the GWT-emulated&nbsp;<code>ImmutableSortedSet<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/7e0fe90ca8d55a55dc035e4103a9e36f301f8f28\">7e0fe90<\/a>,&nbsp;<a href=\"https:\/\/github.com\/google\/guava\/commit\/5f2fbf27b2f8f7c72adfe6b366c7aaec2e36b81b\">5f2fbf2<\/a>)<\/li><li><code>graph<\/code>: Made it possible to set a stable incident edge order by calling the newly added method&nbsp;<code>[Value]Graph.Builder.incidentEdgeOrder(ElementOrder.stable())<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/70164025a8cac6ddec8c25c721e2ad427d7d75b7\">7016402<\/a>)<\/li><li><code>graph<\/code>: Added&nbsp;<code>incidentEdgeOrder()<\/code>&nbsp;to the&nbsp;<code>[Value]Graph<\/code>&nbsp;interfaces. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/cde576ec0005403d0664e25d1df55e3fc0a498b9\">cde576e<\/a>)<\/li><li><code>util.concurrent<\/code>: Added&nbsp;<code>Duration<\/code>-based&nbsp;<code>default<\/code>&nbsp;methods to&nbsp;<code>ListeningScheduledExecutorService<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/931e83f969de433f6f0cad9f09eafe0c1d44325e\">931e83f<\/a>)<\/li><li><code>util.concurrent<\/code>: Added&nbsp;<code>immediateVoidFuture<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/9f3bae585349808c5a6fe6c88db0f573036d553f\">9f3bae5<\/a>)<\/li><li><code>util.concurrent<\/code>: Removed&nbsp;<code>@Beta<\/code>&nbsp;from&nbsp;<code>Service<\/code>&nbsp;and related classes. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/dc46627fea51a6c5fc7a0f1506c6e85f75a3a15e\">dc46627<\/a>)<\/li><li><code>util.concurrent<\/code>: Deprecated the 1-arg overload of&nbsp;<code>ServiceManager.addListener<\/code>. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/86e36201255c2c123076e2163bdcd654f848989f\">86e3620<\/a>)<\/li><li><code>util.concurrent<\/code>: Changed the return type of&nbsp;<code>ServiceManager.servicesByState()<\/code>&nbsp;to&nbsp;<code>ImmutableSetMultimap<\/code>&nbsp;(but also retained a method with the old signature for binary compatibility). (<a href=\"https:\/\/github.com\/google\/guava\/commit\/31999ae6f56e71c341333afde90fcf66c13ce657\">31999ae<\/a>)<\/li><li><code>util.concurrent<\/code>: Made it safe to load the&nbsp;<code>AbstractFuture<\/code>&nbsp;class from a&nbsp;<code>ForkJoinPool<\/code>&nbsp;thread under a security manager. (<a href=\"https:\/\/github.com\/google\/guava\/commit\/6e0c5b5d50a3e457ae0d787f7c9be7b48c10120b\">6e0c5b5<\/a>)<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Zu den Details: https:\/\/github.com\/google\/guava\/releases. Changelog Guava types can no longer be sent over GWT-RPC.&nbsp;To&nbsp;temporarily&nbsp;reenable support, set the&nbsp;guava.gwt.emergency_reenable_rpc&nbsp;system property to&nbsp;true. (5214a10) This is the only breaking change in this release, and it affects only users of the&nbsp;guava-gwt&nbsp;artifact, not people who use only the&nbsp;guava&nbsp;artifact. This release contains no changes that break&nbsp;binary compatibility&nbsp;for any users. API documentation for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[67,4],"tags":[],"class_list":["post-4491","post","type-post","status-publish","format-standard","hentry","category-guavagoogle-core-libraries","category-open-source"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=4491"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4491\/revisions"}],"predecessor-version":[{"id":4492,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4491\/revisions\/4492"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=4491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=4491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=4491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}