This is great! How "safe" is it to upgrade from 1.6 to 1.8?
Should I take something into account? Thanks On Wednesday, November 22, 2017 at 7:11:01 PM UTC+1, Eric Anderson wrote: > > gRPC Java 1.8.0 is now released and available on Maven Central. > > v1.9.0 is scheduled for January 2nd, but the holidays will likely delay > the release some. Delays will not impact later releases; v1.10 would still > be scheduled for 6 weeks from January 2nd. > > Dependencies > > - core: Now using io.opencensus:opencensus-api and > io.opencensus:opencensus-contrib-grpc-metrics instead of > com.google.instrumentation:instrumentation-api for stats and tagging. The > gRPC Monitoring Service continues to use instrumentation-api. > - examples: In Android example, bump minSdkVersion to 14. Google Play > Services, which is used for TLS, bumped their minimum supported version > > API Changes > > - core: Removed deprecated load balancer and name resolver APIs. This > includes LoadBalancer.handleResolvedAddresses(), > LoadBalancer.Helper.updatePicker(), NameResolver.Listener.onUpdate(), > ResolvedServerInfo, and ResolvedServerInfoGroup > - stub: Added @DoNotMock annotations to AbstractStub, > CallStreamObserver, ClientCallStreamObserver, ServerCallStreamObserver. > The normal gRPC implementations of these classes should be used in tests > - codegen: Removed enable_deprecated protoc plugin option (#3541 > <https://github.com/grpc/grpc-java/pull/3541>). These deprecated APIs > pre-date 1.0 and were off by default > - codegen: Added methods for accessing generated method descriptors. > This replaces the METHOD_FOO constants with static getFooMethod() methods. > The constants are deprecated and will be removed in a future release. Once > the constants are removed, this change will allow the descriptors (and the > messages they reference) to be lazily created which can dramatically > decrease class initialization time and allows unused RPC messages to be > removed by Proguard. > - testing: TestMethodDescriptors.noopMethod() is deprecated in favor > voidMethod() or test services. The simple service in > grpc-testing-proto should work in most cases where voidMethod()is > insufficient > - testing: Marked DeadlineSubject experimental. It is planned for > removal to ease future Guava dependency issues with Truth. It could be > moved into its own artifact, but best as we can tell nobody is using it. > If > you're using it, please file an issue so we can be made aware > - testing: Deprecated StreamRecorder. It will be removed in a future > release. The class is *very* old (since the beginning in OSS) and was > used in internal tests before there were blocking stubs. Most users should > use blocking stubs instead. To use properly, you must know the class's > implementation; if you liked it, copy the code to your own codebase > - testing: Deprecated TestUtils.recordServerCallInterceptor(). It will > be removed in a future release. It has no known use cases for normal users > - The (unreleased) Thrift support has been removed from this > repository. It can be found athttps://github.com/grpc-ecosystem/grift > instead > > New Features > > - The Cronet transport is open-sourced. Cronet is Chrome's network > stack made into a library for mobile. We do not provide a build file nor > are we making binaries, but if you're interested it shouldn't be too hard > to build manually > - context: CancellableContext now implements Closeable (#3607 > <https://github.com/grpc/grpc-java/pull/3607>). close() is an alias > for cancel(null). This should make it more clear that the context > needs to be cancelled/closed, while also enabling try-with-resources > - core: Attributes.Builder.build() may now be called multiple times > - core: Added first-class drop support for load balancers via > PickResult.withDrop(Status). This is necessary if the LB wants to fail > waitForReady RPCs to shed load > - core: Added MethodDescriptor.getSampledToLocalTracing()/ > Builder.setSampledToLocalTracing to permit per-method stats keeping > memory overhead (#3627 <https://github.com/grpc/grpc-java/pull/3627>). > The option is to prevent unbounded memory overhead when > dynamically-created > MethodDescriptors are used and is enabled in the generated code. > - core: Added resetConnectBackoff() method to ManagedChannel. This can > be used when the OS notifies your application that the network has become > available > - stub: Added stub.withExecutor(Executor). This was already available > on CallOptions and can be used to specify a call-specific executor to use > for callbacks > - testing: Added TlsTesting.loadCert as an alternative to deprecated > TestUtils.loadCert. The TlsTesting version returns an InputStream instead > of a File which avoids creating temporary files > > Behavior changes > > - core: Added handshake timeout for all server transports. The default > is 20 seconds (which is a bug; should be 120 seconds to match > client-side). > The default can be overridden by ServerBuilder.handshakeTimeout() > - core: LoadBalancer callbacks will no longer be called after shut > down (#3573 <https://github.com/grpc/grpc-java/pull/3573>). This > changes the behavior to match that documented in > LoadBalancer.shutdown() > - core: Refresh name resolution when an OOB connection is closed (#3588 > <https://github.com/grpc/grpc-java/pull/3588>). This has already been > happening for Subchannels. > - netty,okhttp: Now detecting proxy via ProxySelector. This enables > observation of the Java-standard proxy options -Dhttps.proxyHost=host > -Dhttps.proxyPort=port. Authenticator is consulted for along with > auth. Users of the GRPC_PROXY_EXP environment variable should migrate; > the environment variable will be removed in a future release. > - netty: Connection log info has been moved to a separate logger: > io.grpc.netty.NettyServerTransport.connections (#3591 > <https://github.com/grpc/grpc-java/pull/3591>). > - auth: Treat IOExceptions as UNAVAILABLE instead of UNAUTHENTICATED ( > #3267 <https://github.com/grpc/grpc-java/issues/3267>). This allows > retrying RPCs if the OAuth token failed to be retrieved > > Bug fixes > > - core: Fixed ManagedChannel docs since it supports the > getState/notifyWhenStateChanged API (#3762 > <https://github.com/grpc/grpc-java/issues/3762>) > - core: When Context cancellation cancels an RPC, and the Context > cancellation cause is null, we now include a description in the Status > to help expose what happened > - netty: Fixed broken server keepalive when using TLS. If using Netty > server, server keepalives, and TLS, you were impacted. Plaintext did not > exhibit the bug. This could trigger grpc-java clients to log "WARNING: > Received unexpected ping ack. No ping outstanding." > - netty: Improved ALPN error message to be less misleading and link to > troubleshooting procedures > - netty: Fixed clearing of SSLParameters. This may fix ALPN with JDK9, > but full support for ALPN with JDK9 is still later work and not supporting > it yet. Fixes #3532 <https://github.com/grpc/grpc-java/issues/3532> > - netty: When a RST_STREAM kills an RPC, we now include the HTTP/2 > error code in the Status > - netty: Fixed Netty server poorly handling unknown content type. It > previously would refuse the stream; now it responds with a normal grpc > status and HTTP error code > - bazel: java_grpc_library: Fixed remote protos that are 'src's. Fixes > #3650 <https://github.com/grpc/grpc-java/issues/3650> > - examples: Replaced IntelliJ IDEA-specific sourceDirs with > sourceSets. This helps Eclipse and other IDE users > > Documentation > > - SECURITY.md now includes a table showing the preferred Netty and > netty-tcnative version for each grpc-java release > - SECURITY.md clarify that the Dynamic Security Provider must be > installed before OkHttp channel creation > > -- You received this message because you are subscribed to the Google Groups "grpc.io" 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 https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/094c60f9-5a87-4d32-bc58-e7c40901321f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
