Look at the release notes for 1.7.0 and 1.8.0 in the behavior changes. We removed some deprecated APIs.
On Monday, December 4, 2017 at 2:08:31 AM UTC-8, [email protected] wrote: > > 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/99ab2adf-b053-430b-bcaa-dbcb67d793a8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
