All Versions
38
Latest Version
Avg Release Cycle
22 days
Latest Release
1297 days ago

Changelog History
Page 3

  • v1.24.2 Changes

    November 06, 2019

    Dependencies

    • ⬆️ Bumped perfmark to 0.19.0
    • Bumped error_prone_annotations to 2.3.3

    πŸ› Bug Fixes

    • πŸ›  alts: fixed wrong ComputeEngineChannelBuilder class signature (#6381)

    πŸ†• New Features

    • πŸ‘€ grpclb: Add dns NameResolver to io.grpc.grpclb that has SRV record lookup enabled by default (#6298). This allows using grpclb without the -Dio.grpc.internal.DnsNameResolverProvider.enable_grpclb=true system property. Note that grpclb is still experimental and deprecated. In particular, we plan to change grpclb policy selection which together with this change provides a path forward for grpclb to function without custom support in grpc-core; see gRFC A26
  • v1.24.1

    October 17, 2019
  • v1.24.0

    September 25, 2019
  • v1.23.1

    October 17, 2019
  • v1.23.0 Changes

    August 14, 2019

    πŸš€ This release resolves the DoS vulnerability CVE-2019-9515 (SETTINGS flood). Users using the grpc-netty server with untrusted clients should upgrade.

    Dependencies

    • ⬆️ Bump netty to 4.1.38
    • ⬆️ Bump PerfMark to 0.17.0
    • ⬆️ Bump protobuf to 3.9.0

    πŸ› Bug Fixes

    • netty: Limit number of frames a client can cause the server to enqueue (#6056). Addresses CVE-2019-9515 (Settings flood). While grpc-java was not vulnerable to CVE-2019-9512 (Ping flood) nor CVE-2019-9514 (Reset flood), the fix provides protections against these attacks as well
    • alts: Fix server hang (#5900)
    • context: Fix race between CancellableContext and Context (#5981)
    • stub: Avoid race in onHalfClose server StreamObserver (#5991)
    • πŸ‘€ core: Avoid using partially-closed resources that threw during close in SharedResourceHolder (#6048). This avoids a permanent hang when using google-cloud-java. See googleapis/google-cloud-java#5810 and googleapis/google-cloud-java#5801

    API Changes

    • core: Add @Nullable to getter for trailers on StatusRuntimeException (#5951)
    • core: ClientStream.getAttributes() can be called at any time (#5904)
    • core,netty: Block server shutdown until the socket is unbound (#5905)
    • netty: Users providing EventLoopGroup and/or ChannelType for NettyServerBuilder and NettyChannelBuilder requires to provide all of them or none. Otherwise, it will throw an IllegalStateException (#6014)

    πŸ†• New Features

    • Make //compiler:grpc_java_plugin publicly visible again (#5947)
    • java_grpc_library.bzl: Work with proto_library rules using strip_import_prefix / import_prefix (#5959)
    • πŸ‘‰ Make .proto import path computation work with virtual protos in the main repository (#5967)
    • core: Attach debug information about stream to DEADLINE_EXCEEDED (#5892)

    πŸ“š Documentation

    • Provide an example of hedging in examples
    • πŸ”Œ compiler: Add note about where to download precompiled version of plugin (#6022)

    Acknowledgements

    @aaliddell Adam Liddell
    @DarrienG Darrien Glasser
    @jadekler Jean de Klerk
    @lberki Lukacs T. Berki
    @liym stbridge
    @mkobit Mike Kobit
    @tiggerlee2 Shuangtai Li
    @zhaonian Zhaonian Luan

  • v1.22.3

    October 17, 2019
  • v1.22.2

    August 13, 2019
  • v1.22.1 Changes

    July 11, 2019

    πŸ› Bug Fixes

    • πŸ›  Fix IllegalStateException when transport is terminated (#5955). This is due to a race that seems to mainly impact OkHttp clients. While we believe all transports are affected, it may trigger very rarely. If you see an exception with the message β€œactiveTransport still points to this transport. Seems transportShutdown() was not called.” then you are impacted by the bug.
    • bazel target //compiler:grpc_java_plugin is publicly visible again (#5953). The target wasn't publicly visible since v1.21.0. This target was used by rules_proto.
  • v1.22.0 Changes

    July 02, 2019

    Dependencies

    • ⬆️ upgrade netty version to 4.1.35 and netty-tcnative version to 2.0.25 (#5818)

    πŸ› Bug Fixes

    • πŸ›  core: fixed #5692: NameResolver refresh not triggered if empty addresses returned
    • services: fix HealthCheckingLoadBalancer.shutdown() (#5887)
    • bazel: fixed a regression in v1.21 where java_grpc_library ignored custom java toolchains (#5844)
    • ALTS connection setup and teardown is more stable, less noisy.
    • netty: some of the less interesting transport level exceptions are now fine level (#5873)
    • βœ… testing: resource leak is fixed for TestUtils#newSslSocketFactoryForCa

    API Changes

    • πŸš€ protobuf-nano was deleted. The Protobuf project dropped support for nano in favor of javalite, which was causing trouble for gRPC’s development. Users of nano can continue using older grpc-protobuf-nano releases, as it only uses stable API. See gRFC L51.
    • πŸ‘€ LoadBalancer API sees a few changes that will help hierarchical implementations:
      • api: LoadBalancer.Helper and Subchannel is now further non-thread-safe. (#5718)
      • api: move SubchannelPicker.requestConnection() to LoadBalancer. (#5751)
      • api: pass Subchannel state updates to SubchannelStateListener rather than LoadBalancer (#5722). Different from the old LoadBalancer#handleSubchannelState(), the new SubchannelStateListener continues to receive updates after LoadBalancer is shutdown. (#5883)
      • api: Subchannel.requestConnection() will print a warning if called outside of sync-context (#5757). We plan to make it throw eventually.
      • api: deprecate Helper.updateSubchannelAddresses() and add equivalent on Subchannel (#5802)
    • πŸ— netty,okhttp: The experimental and long-deprecated enableKeepAlive API was removed from the transport channel builders (#5795). Setting the keep alive settings individually is still available and is stable API. The removed API was actively causing user issues because its defaults were too aggressive for the server’s defaults.
    • api: new method for removing values from Attributes.
    • core: some of the open census tags (method, status tags) are no longer propagated. This may break users who depends on the behavior that these tags propagate through process boundaries. (#5689)

    πŸ†• New Features

    • api: add getters for NameResolver.Args and NameResolverRegistry in LoadBalancer.Helper (#5685) (We are considering deleting getNameResolverRegistry() in the near future. Please reach out to us if you want to keep it).
    • 🌲 netty: can log the stages of connecting (client side only), such as TLS.
    • βž• Added perfmark annotations to RPCs for local tracing.

    πŸ“š Documentation

    • βœ… examples: use test certs for running example-tls (#5763)
    • πŸ”’ SECURITY.md: Add Fedora 30 package installation instructions (#5734)
    • api,stub: Clarify isReady()/onReady() interaction semantics (#5799)
    • examples: TLS examples are easier to run(#5715)

    Acknowledgements

  • v1.21.1 Changes

    August 14, 2019

    πŸš€ This release resolves the DoS vulnerability CVE-2019-9515 (SETTINGS flood). Users using the grpc-netty server with untrusted clients should upgrade.

    πŸ› Bug fixes

    • netty: Limit number of frames a client can cause the server to enqueue (#6056). Addresses CVE-2019-9515 (Settings flood). While grpc-java was not vulnerable to CVE-2019-9512 (Ping flood) nor CVE-2019-9514 (Reset flood), the fix provides protections against these attacks as well
    • bazel: fixed a regression in v1.21 where java_grpc_library ignored custom java toolchains (#5844)
    • bazel target //compiler:grpc_java_plugin is publicly visible again (#5953). The target wasn't publicly visible since v1.21.0. This target was used by rules_proto.
    • πŸ‘€ core: Avoid using partially-closed resources that threw during close in SharedResourceHolder (#6048). This avoids a permanent hang when using google-cloud-java. See googleapis/google-cloud-java#5810 and googleapis/google-cloud-java#5801