Skip to content

v0.13.0 Release

Compare
Choose a tag to compare
@ejona86 ejona86 released this 18 Feb 20:50
· 5424 commits to master since this release

New and Notable:

  • Support netty-tcnative-boringssl-static, which does not require OpenSSL to be installed. See SECURITY.md. The current build works but omits a warning; a fixed build is expected in a few days
  • Reduce number of generated classes for services. We now generate a fixed number of classes per service
  • Blocking stub now avoids the default executor of the channel. Processing is done on the blocked thread instead. This avoids a thread hop and reduces number of threads
  • Reworked compression API
  • Context.Key now uses instance equality, so if you reduce visibility to your Key you are guaranteed others can't access the value
  • Updated README to point to renamed Maven protoc plugin that is available on Maven Central

Other changes:

  • Now depending against protobuf-3.0.0-beta-2, protobuf-nano-3.0.0-alpha-5, and netty-4.1.0.CR1
  • Can now override the Executor for callbacks per-RPC
  • LoadBalancer now uses generics to no longer depend on any internal classes
  • Add Metadata.keys() for iterating over all metadata
  • Fix hanging RPCs caused by deadline expiring before RPC started (#1343)
  • Better status for some failed RPCs
  • Fixed a ConcurrentModificationException caused when new RPCs are being made when we transition to a freshly-connected transport
  • Context no longer has an internal ScheduledExecutorService; you must provide one when setting a deadline
  • Context cancellation on server-side is now more reliable
  • Fix a Netty transport ByteBuffer leak when queued RPCs fail (#1401)
  • In-process transport now calls onReady() correctly (#875)
  • Mostly resolve leak due to retaining RPCs, even after they are cancelled, when connecting persistently fails (#1342)
  • Fix interruption handling of blocking stubs to throw StatusRuntimeException instead of a RuntimeException