A summary of data about the Ruby ecosystem.

Recent Releases of https://github.com/grpc/grpc

https://github.com/grpc/grpc - Release 1.9.0

This is the 1.9.0 release (codename “glossy”) of gRPC for the C-based languages.
Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Please consult https://grpc.io/ for all information regarding this product.

Core

  • Fix Bazel build file. #13574
  • Exec_ctx has been made a thread_local, and is no longer to be passed as a function parameter. #13058, #13659
  • LB policies request re-resolution without shutting down #12829
  • On server, include receiving HTTP/2 settings in handshake timeout #13336
  • Refactor POSIX TCP client connect. #13450
  • Add thread naming support on platforms that support it. #13559
  • Fix shutdown executor tsan bug #13776
  • Fix max connection idleness crash #14122

Python

  • Enable epoll1 polling engine for manylinux1 binary packages. #14052
  • Incremental progress toward solving issue #12531.

Ruby

  • Ruby 2.5 support #13930, #13910

Objective C

  • Added API to enable sending compressed message #13865

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.8.6

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see https://grpc.io/ for all information regarding this product.

This is the 1.8.6 patch release for the gRPC.

Core

  • Fix server segfault on invalid HTTP/2 #14199

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.9.0-pre3

This is the third prerelease of gRPC 1.9.0

Core

Fix server segfault on invalid HTTP/2 https://github.com/grpc/grpc/pull/14199

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.9.0-pre2

This is the second prerelease of gRPC 1.9.0

Core

Refactor max idle filter #13594

PHP

php_info add gRPC version #13687
Unref key and value in metadata #13660
Update release notes for 1.9 #14154
Fix channel persistence list leak #14125
Fix channel get_target method leak #14126
Fix channel_credentials hashstr leak #14127
Fix channel reuse doesn't free allocated wrapper #14129
Fix channel wrapper leak #14130
Fix call plugin_get_metadata return value leak #14155
Fix channel_credentials hashstr leak #14156
Fix call credentials plugin_get_metadata metadata leak #14157
Fix call credentials createFromPlugin leak #14158
Fix grpc_parse_metadata_array leak #14159
Fix call return peer leak #14160
Fix channel_credentials hashkey size error #14161

C#

Fix GrpcEnvironment shutdown leak caused by context pooling #14113

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.9.0-pre1

This is a pre-release for gRPC v1.9.0

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.8.5

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see https://grpc.io/ for all information regarding this product.

This is the 1.8.5 patch release for the gRPC:

PHP

  • Fix a couple of memory leak issues #14017, #12706

- C++
Published by stanley-cheung about 8 years ago

https://github.com/grpc/grpc - Release 1.8.4

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see https://grpc.io/ for all information regarding this product.

This is the 1.8.4 patch release for the gRPC:

Core

  • Fix HTTP/2 PING issues
  • Fix issues with poll engine

- C++
Published by y-zeng about 8 years ago

https://github.com/grpc/grpc - Release 1.8.3

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.8.2

Fixes 100% CPU usage in Python (#9688)

- C++
Published by kpayson64 about 8 years ago

https://github.com/grpc/grpc - Release 1.8.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see https://grpc.io/ for all information regarding this product.

This is the 1.8.1 release of gRPC

Core

  • Address a proper socket closure problem on Windows (#13744)

Python

  • Fix race condition in Python server shutdown. (#13786)
  • Restore (though not fully support) pre-1.8.0 behavior for non-spec-compliant metadata passed from applications to gRPC Python. (#13784)

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.8.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see https://grpc.io/ for all information regarding this product.

This is the 1.8.0 release of gRPC.

General

  • The third_party/protobuf submodule has been upgraded to 3.5.0, which results in the 1.8.0 tools packages across languages to generate code that should be used with Protocol Buffers 3.5.0. Protocol Buffers 3.5.0 has a subtle breaking change in how it deals with unknown fields, which used to by default discarded when using proto3 syntax, are now preserved unless explicitly discarded by calling the respective API in each language.

C-core

  • Several LB policies fixes (grpclb and pick_first).
  • Made backoff code comply with the spec (#13121)
  • Fixed subchannel sharing (#12767)
  • Assorted bugfixes: (#13036, #13119, #13256)

Python

  • More strict enforcement of type-correctness of metadata values. (https://github.com/grpc/grpc/pull/13672)
  • Experimental support for client and server interceptors. (#13722)
  • Introduces ServicerContext.abort for terminating RPCs with non-OK status. (#13667)
  • grpcio Python package now depends on protobuf 3.5.0, which includes the behavior change explained above in the general section. To discard unknown fields, use message.DiscardUnknownFields() in protobuf Python API.

Ruby

  • Bug fixes

C#

  • Performance: Several changes to reduce stress on GC (#13439, #13444, #13459, #13462, #13475)

Objective-C

  • gRPC Objective-C now invokes grpc_init() at class initialization time instead of load time (#13261)
  • Fixed an issue in Objective C protobuf forward declaration (#13437)
  • Fixed an issue that causes battery drain (#13435)

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.7.3

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see https://grpc.io/ for all information regarding this product.

This is the 1.7.3 patch release for the gRPC:

- C++
Published by mehrdada about 8 years ago

https://github.com/grpc/grpc - Release 1.8.0-pre2

This is a pre-release for gRPC v1.8.0

- C++
Published by muxi over 8 years ago

https://github.com/grpc/grpc - Release 1.7.2

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.7.2 patch release for the gRPC Ruby library

Ruby:

- C++
Published by apolcyn over 8 years ago

https://github.com/grpc/grpc - Release 1.7.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.7.1 patch release for the gRPC C# and Ruby libraries

C#:

Ruby:

  • Update the maximum-allowed version of the googleauth package dependency to "< 0.7"

- C++
Published by apolcyn over 8 years ago

https://github.com/grpc/grpc - Release 1.7.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.7 release of gRPC

General

  • Support building with Visual Studio 2017 #12264
  • Remove /vsprojects pre-generated projects in favor of cmake #11598
  • cmake improvements (#12411, #12469, #12248)
  • Bump c-ares to 1.13.0 (#12305)

C-core

  • Fix windows memory leak (#13118)
  • Bugfixes in Load Balancing policies (#12601, #12303)
  • Add flow-control and bugfixes to in-process transport (12797, 13072)

C++:

  • Async API extensions to improve multithreading support and reduce the need for explicit synchronization (#12269)
  • Unary call API for generic (non-protobuf) RPCs (#12645)

Python:

  • Code generator now defaults to only placing code elements in separate _pb2_grpc.py files and not writing deprecated backup code elements in the generated-by-Protocol Buffers _pb2.py files. The older behavior can for a limited time be accessed via a grpc_1_0 flag passed on protoc invocation.

Ruby:

  • Experimental support for client and server interceptors.

C#:

  • Fix call's CancellationToken memory leak #12817
  • Add support for CancellationToken in IAsyncStreamReader.MoveNext() #12822
  • Enabling logging and tracing is more intuitive #12128

Objective-c:

  • Added support for acquiring OAuth2 token with token provider protocol (#11832)
  • Added support for setting deadline to a particular call (#12339)
  • Added support for forward declaring proto message classes in gRPC ObjC Protobuf plugin (#12637)
  • Fixed multiple gRPC ObjC warnings (#12340, #12788, #12772, #12881, #13100)
  • Fixed undefined behavior of using dispatch_once_t as instance variable (#12225)
  • Fixed an issue of Cronet transport crash (#12281)

Node:

- C++
Published by muxi over 8 years ago

https://github.com/grpc/grpc - Release 1.6.7

This is a patch release for gRPC Ruby library.

Ruby

  • Fixes a memory leak (#13047)

- C++
Published by apolcyn over 8 years ago

https://github.com/grpc/grpc - Release 1.6.6

This is a patch release for gRPC Node and Ruby libraries.

Node

  • Fix incorrect reference count in libuv network code (#12733)
  • Update bundled dependency on node-pre-gyp to avoid vulnerability reported in #12798

Ruby

  • Fix a memory-leak (#12493)
  • Fix two bugs that can be triggered during grpc-library require, in which ruby objects are not GC-rooted for a brief period of time. (#12842 and #12237)

- C++
Published by murgatroid99 over 8 years ago

https://github.com/grpc/grpc - Release 1.6.5

This is a patch release for gRPC Objective C library.

Objective-c:

  • Fixed the warning of "control may reach end of non-void function errors" (#12340)

- C++
Published by muxi over 8 years ago

https://github.com/grpc/grpc - Release 1.6.4

This is a patch release for gRPC Ruby library

This contains an enhancing but breaking change to the ruby client-side "Google::Rpc::Status" protobuf message extraction utility which was added in the 1.6.2 release. Rather than raising an exception when attempting to extract a Google::Rpc::Status from a grpc-ruby status object that wasn't constructed with the proper trailers for doing so, the utility now returns now returns nil. (This release contains PR #https://github.com/grpc/grpc/pull/12721)

- C++
Published by apolcyn over 8 years ago

https://github.com/grpc/grpc - Release 1.6.2

This is a patch release for gRPC Ruby library

Adds a ruby ruby client-side utility for extracting a "Google::Rpc::Status" protobuf message from the status trailers of a call. PR: https://github.com/grpc/grpc/pull/12452

- C++
Published by apolcyn over 8 years ago

https://github.com/grpc/grpc - Release 1.6.1

Fix warnings in C# nugets, fix distribtests.

- C++
Published by jtattermusch over 8 years ago

https://github.com/grpc/grpc - Release 1.6.0

Release 1.6

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.6 release of gRPC

General

C-core

C++:

  • cmake is now the recommended way to build on Windows. Pre-generated Visual Studio projects have been deprecated #11462

Python:

  • Bug fixes

Ruby:

  • Improved error handling for bidi streaming RPCs

    • PRs: #11963 and #10636

PHP:

  • Added support for php_namespace option in codegen plugin #11886

C#:

  • User handlers don't run on Grpc's thread pool anymore for extra safety. #11930, #12176
  • API: RpcException now exposes "Trailers" property #12120
  • API: added GrpcEnviroment.ShuttingDown event #12099
  • General code cleanup #12127

Objective-c:

  • Queues in GRXBufferedPipe is now managed by GCD (#11070, #11982)
  • Fixed multiple memory leak problem (#11991, #12041)
  • Fixed warnings (#11893)

Node:

  • Fix a segfault when the user passes in a status with incorrect types. #12003
  • Change how a deprecation warning is emitted #12004

- C++
Published by dgquintas over 8 years ago

https://github.com/grpc/grpc -

- C++
Published by muxi over 8 years ago

https://github.com/grpc/grpc - Release 1.4.5

Release 1.4.5

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.4.5 patch release for gRPC Ruby library

Changes

Ruby

  • Fix a server-side bug in which open sockets can linger after finished calls (PR #11764)
  • Fix a memory leak that can occur when sending large String-typed custom metadata (PR #11849)
  • Fix a memory leak that can occur when composing credentials (PR #11830)

- C++
Published by apolcyn over 8 years ago

https://github.com/grpc/grpc - Release 1.4.3

Release 1.4.3

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.4.3 patch release for gRPC PHP library

Changes

PHP

  • Fix hang during shutdown when fork() was used (#11814)
  • Channel objects are now by default "persistent" (#11878)

- C++
Published by stanley-cheung over 8 years ago

https://github.com/grpc/grpc - Release 1.4.2

Release 1.4.2

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.4.2 patch release for gRPC Objective C library

Changes

Objective C

  • Fixed memory leak problem (#11567, #11625)
  • Added new API for overriding :authority header of a gRPC call (#11660)
  • Using Cocoapods to manage nanopb now (#11658, #11712)

- C++
Published by muxi over 8 years ago

https://github.com/grpc/grpc - Release 1.4.1

Release 1.4.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.4.1 release of gRPC

C-Core

  • Fixed RR policy connectivity state upon subchannels shutdown (#11591)
  • Fixed inline vs __inline usage for VisualStudio 2013 (#11605)

Node (Changes since 1.3.x):

  • Add experimental support for ARM processors.
  • The API documentation has been expanded and reorganized.
  • Added the class Client, which is a generic superclass for generated client classes. Some global functions for operating on client objects have also been added to Client.prototype.
  • Fixed issue with building against older versions of OpenSSL (#11264) (credit to smulikHakipod).
  • Fixed a bug with handling some error conditions when streaming messages from the client.
  • Fixed a bug with handling some error conditions when streaming messages from the client.
  • Fixed a memory leak of up to 8KB per call.

- C++
Published by murgatroid99 over 8 years ago

https://github.com/grpc/grpc - Release 1.4.0

Release 1.4

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.4 release of gRPC

C-core

  • Bug fix in Cronet transport (#10958)
  • Server backward compatibility management (#10849)

C++:

  • Server backward compatibility management (#11118)

Python:

  • Server-side authentication context (issue 7710, pull request 10993)
  • The Beta API will be removed in the next release. This covers all APIs under grpc.beta and grpc.framework.

Ruby:

  • Fixes a breakage of compatibility with glibc < 2.15 which occurred in the 1.3.4 release, (info in issue #11346)

PHP:

  • Composer dependency change (#11173): we decoupled the google/protobuf package dependency. Please either explicitly add google/protobuf to your composer.json file or install the "protobuf" PECL extension for better performance.
  • Experimental Windows support (#8161): users can now download pre-compiled DLL on the PECL package page: https://pecl.php.net/package/grpc
  • Fixed memory leaks (#9559, #10996)
  • Fixed gRPC extension reported version (#10842)
  • Fixed Protoc plugin comment escape issue (#11025)

C#:

  • Fix memory leaks in C# native code (#11436)
  • Better reporting of failure to bind server ports when starting a server (#11353)
  • Performance Improvements

Objective-c:

  • Supports parsing responses in a user-specified dispatch queue
  • Fixed a memory leak problem (#11567)

- C++
Published by dgquintas over 8 years ago

https://github.com/grpc/grpc - v1.4.0-pre1

Pre-release for v1.4.0

- C++
Published by muxi over 8 years ago

https://github.com/grpc/grpc - Release 1.3.4

This is the 1.3.4 patch release for the gRPC Ruby library.

Changes

Ruby

  • Fixes an issue in which a connection breakage on an idle channel always causes the next RPC to fail with an
    unavailable status code. (see https://github.com/grpc/grpc/issues/9941)
  • Enable the connectivity state API of GRPC::Core::Channel objects
  • Other bug fixes

- C++
Published by apolcyn almost 9 years ago

https://github.com/grpc/grpc - Release 1.3.2

This is the 1.3.2 patch release for the gRPC Node and PHP library.

Changes

Node

  • Improve how UV TCP servers and endpoints are shut down

PHP

  • Fixed some memory leaks in the gRPC Extension

- C++
Published by stanley-cheung almost 9 years ago

https://github.com/grpc/grpc - Release 1.3.1

This is the 1.3.1 patch release for the gRPC Node library.

Changes

Node

  • Switch dependency on Protobuf.js back to version 5 to fix some API breakages that the upgrade caused. This reverses some performance improvements that were introduced in 1.3.0.

- C++
Published by murgatroid99 almost 9 years ago

https://github.com/grpc/grpc - Release 1.3.0

Release 1.3

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.3 release of gRPC

C-core

  • Stability bugfixes.
  • Performance improvements.
  • Memory usage reductions.

C++:

  • Support for binary error details.
  • Sync server thread manager improvements.

Python:

  • Alpine Linux support
  • grpcio_reflection pip package installation issues fixed.

Ruby:

(No Ruby 1.3.0 release. A Ruby-only 1.3.1 release will follow shortly)

PHP:

  • No significant change

C#:

  • Performance improvements
  • Switched to dotnet SDK .csproj projects #10480 (only impacts contributors)

Objective-c:

  • Fixed a bug in decompressing packet with ObjC + Cronet configuration
  • Supports packet coalescing

Node:

  • Update dependency on ProtoBuf.js to version 6.
  • Drop support for io.js.
  • Some performance improvements.

- C++
Published by dgquintas almost 9 years ago

https://github.com/grpc/grpc - Release 1.2.5

This is the 1.2.5 patch release for the gRPC Ruby library.

Changes

Ruby

- C++
Published by apolcyn almost 9 years ago

https://github.com/grpc/grpc - Release 1.2.3

This is the 1.2.3 patch release for the gRPC Node library.

Changes

Node

  • Fix a metadata-related memory leak
  • Fix a bug where calls could be destroyed twice
  • Fix a bug where the process would not exit if a client attempted to connect to a remote server without specifying a port and DNS resolution failed.

- C++
Published by murgatroid99 almost 9 years ago

https://github.com/grpc/grpc - Release 1.2.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the 1.2.0 release of gRPC

C-core

C++:

  • Big improvements to cmake build on Windows (+ enable building using boringssl) #9456, #9568, #9467
  • More C++ tests buildable on Windows (using cmake)
  • Added a default sync health check service.

Python:

Ruby:

  • Limit gem native build resources to help install on limited resource platforms #9862

PHP:

  • Updated codegen package path to be consistent with protobuf #9492
  • Updated protobuf dependency to ^3.1.0
  • Proto3 API change encode/decode become serializeToString/mergeFromString

C#:

  • Make encoding of status message always UTF-8 (#9390)
  • Introduce Grpc.Core.Testing nuget
  • Native C# extension now uses boringssl instead of openssl (#9665)
  • Expose server-side authentication API (#9632)
  • Fix value of ChannelOptions.MaxMessageSize to match C core (#10124)
  • Prevent name clashes in generated code (#10147)

Objective-c:

  • Advance protobuf version to v3.2.0

Node:

  • Re-enable some internal changes that were disabled in 1.1.2
  • Drop support for all versions of io.js
  • Add grpc_alpn installation option for building on systems with an old OpenSSL.

- C++
Published by dgquintas almost 9 years ago

https://github.com/grpc/grpc - gRPC v1.2.0-pre2

Release candidate for v1.2.0

- C++
Published by muxi almost 9 years ago

https://github.com/grpc/grpc - Release 1.1.4

This is the 1.1.4 patch release for the gRPC Objective C library.

Changes

Objective C

  • Change the minimum iOS deployment version to 7.0.

- C++
Published by muxi about 9 years ago

https://github.com/grpc/grpc - Release 1.1.2

This is the 1.1.2 patch release for the gRPC Node library.

Changes

Node

  • Disable some Node-specific core changes to temporarily fix DNS failures that were happening on some systems (#9605)
  • There may be a latency regression due to disabling those changes

Ruby

  • Ruby 2.4 support.
    • Important note on 2.4 support: Currently (02/10/17) grpc-ruby will run on ruby-2.4 but the google-protobuf-3.1 gem (latest version) won't. A future release of google-protobuf that's compatible with ruby-2.4 can be picked up and used when it's ready though.
  • Return unavailable on EPIPE fix #8745M
  • Bugfixes: PR’s #9183, #9191, #8833, #8632
  • Ruby-tools on windows fix #8304
  • BadStatus subclass API added: PR #8879

- C++
Published by murgatroid99 about 9 years ago

https://github.com/grpc/grpc - Release 1.1.1

This is the 1.1.1 patch release for the gRPC Node library.

Changes

Node

  • Fix DNS resolution failure when no port was explicitly provided (#9518)
  • Add some argument validation when adding services to a server (#9288)
  • Fix handling of deprecatedArgumentOrder option (#7053)

- C++
Published by murgatroid99 about 9 years ago

https://github.com/grpc/grpc - Release 1.1.0

Release 1.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is 1.1 release of gRPC.

C-core:

  • Added support for HTTP CONNECT proxies
  • Fixed many bugs related to handshaking
  • Added channel arg for max send message length

C++:

  • Allow selecting load-balancing policy via client API

Python:

  • Fixed bug with time_remaining() API (#9420)
  • Iterable validation on streaming API (#8686)
  • Add server channel arguments parameter (#8137)

Ruby:

- Return unavailable on EPIPE fix #8745M
- Bugfixes: PR’s #9183, #9191, #8833, #8632
- Ruby-tools on windows fix #8304
- BadStatus subclass API added: PR #8879
- Ruby 2.4 support

  • The Grpc-Ruby 1.1.0 release was postponed. The 1.1.2 release has been published, which includes the changes noted here.

PHP:

  • Proto3 support #8179

C#:

  • Fix: Throw RpcException instead of InvalidOperationException from requestStream.WriteAsync() on error: #8084
  • Public C# benchmarks have been switched to CoreCLR
  • Huge C# throughput improvements (#8396, #8444, #8472). For best performance, use the Server GC mode "System.GC.Server": true
  • Started collecting basic performance numbers on Windows.
  • Basic server reflection implementation available in Grpc.Reflection NuGet package (#8857)
  • Codegen improvements: #9060, #9061, #8297, 8619
  • Other bugfixes: #8594

Objective-c:

  • Bug fixes for better Cronet support

Node:

  • Add support for Node 7
  • Add support for Electron (Following the instructions at http://electron.atom.io/docs/tutorial/using-native-node-modules/ is necessary to install on electron. The export npm_config_build_from_source=true line may be omitted)
  • Drop support for two versions of Node that are no longer maintained: Node 0.12 and io.js 1.0
  • Fix bug where serialization errors would not be surfaced (#8882)
  • Fix bug where events (specifically status and error) could be emitted in a different order depending on method type (#7705)
  • Fix bug where end events could be omitted even when a readable stream failed with an error (#8954).
  • KNOWN ISSUE: DNS resolution fails in the client when a hostname is provided without a port number (#9518).

- C++
Published by muxi about 9 years ago

https://github.com/grpc/grpc - Release 1.0.1

Release 1.0.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

C Core:

  • #8402: Make initial connect retry backoff configurable
  • #8735: Send RST_STREAM from client when it receives trailing metadata without the corresponding RST_STREAM

C#:

  • Added support for netstandard1.5 target in the NuGet packages
  • .NET Core (CoreCLR) is now fully supported

Objective C:

  • #8402: Make initial connect retry backoff configurable

PHP:

  • #7896: reject metadata keys that are not legal

Ruby:

  • #8265: fix to ruby protoc plugin

Node:

  • Removed some deprecated native function calls
  • Update dependencies

- C++
Published by jtattermusch about 9 years ago

https://github.com/grpc/grpc - gRPC v1.1.0-pre1

Release candidate for gRPC v1.1.0

- C++
Published by muxi about 9 years ago

https://github.com/grpc/grpc - Objective-C 1.0.2 Release

This release include bug fix for gRPC Objective-C.

  • #8735 Send RST_STREAM from client when it receives trailing metadata without the corresponding RST_STREAM.

- C++
Published by muxi over 9 years ago

https://github.com/grpc/grpc - Release 1.0.0

Release 1.0.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Also please see http://grpc.io/ for all information regarding this product.

This is the first GA (General Availability) release of gRPC, and can be considered ready for production. The API can now be considered stable. For the corresponding Java release, you can read their release notes, and grab the release here: https://github.com/grpc/grpc-java/releases/tag/v1.0.0

Cross language features:

C-core:

  • Performance boost using delayed writes.
  • Added support for SO_REUSEPORT.
  • New error propagation system.
  • Default log verbosity is now ERROR.
  • Various optimizations and fixes.

Python:

  • [Made handlers optional in grpc.server](https://github.com/grpc/grpc/pull/7160).
  • Python 3 support.
  • Added a reference implementation of server health-checking as the package grpcio-health-checking.
  • Added distutils custom command for gRPC proto generation to grpcio-tools.
  • Many behind-the-scenes fixes.

Ruby:

  • Removed Core::CompletionQueue from the public API. Removed all function parameters that required CompletionQueues.
  • Split trailing metadata out into a separate instance variable on calls.
  • Due to a protobuf change, the generated filenames changed to have a "_rb" suffix added to them.

PHP:

  • Fixed shutdown hang #4017.
  • PHP7 support #7464.

Csharp:

  • Support for use of the Grpc nuget package with dotnet CLI tooling #7230.
  • Async library dependency updated from Ix-Async.1.2.5 to System.Interactive.3.0.0.

Objective-c:

Major highlights include:

  • https://github.com/grpc/grpc/pull/7359 protoc and the gRPC plugin for Objective-C are now distributed as pods, so versions mismatches among them and the Protobuf and gRPC runtimes are an issue of the past.
  • (Various pull requests) Compressed data and connectivity changes are now handled more robustly.
  • https://github.com/grpc/grpc/pull/6849 gRPC can now be integrated as dynamic frameworks (use_frameworks! in your Podfile), which means it can be used alongside pods written in Swift.

Other important changes are:

Node:

  • Split node health check code into a separate package: grpc-health-check
  • Fixed an issue propagating some authentication errors.
  • Fixed a memory leak when using call credentials

- C++
Published by nicolasnoble over 9 years ago

https://github.com/grpc/grpc - Objective-C 1.0.0 Pre-release 1

gRPC for Objective-C didn't have a 0.15 release, so we're pre-releasing 1.0.0 for Objective-C now. Other languages are also pre-released already or going to be soon.

Major highlights include:

- C++
Published by jcanizales over 9 years ago

https://github.com/grpc/grpc - Development Release 0.15.0

Release 0.15.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of https://github.com/grpc/grpc.

c-core:

  • Fixed issues & continuously running tests for C/C++ for different compilers (GCC 4.4, 4.6, 5.3 and clang 3.5, 3.7, 3.7)

Python:

  • 10X performance improvement
  • Stability fixes
  • Python3.4 Alpha Support
  • Source distributions now run with Python3.4 on Linux
  • Preview of final API, some breaking changes are expected prior to GA:
  • https://github.com/grpc/grpc/issues/7062
  • Generated example code now uses the final API

Ruby:

  • API change: Metadata and channel arguments are now single hash arguments instead of keyword arguments
  • Improved the library's ability to respond to signals

PHP:

  • Added getTrailingMetadata API #6632
  • Added an optional Channel argument to BaseStub constructor #6634
  • Implemented more interop tests #6631
  • Added stress test client #6417

C#:

  • Stability fixes (#6984, #6991, #7023)
  • Documentation improvements (#6909, #6993,
  • Decrease default log verbosity (#6890)
  • Performance improvements (latency & throughput)
  • Expose setting for gRPC threadpool size & number of completion queues used (#6699)
  • Better behavior in shutdown situations (#6560, #6754)
  • API: Client side streaming writes now throw RpcException if call has already finished (#6493)
  • API: Improvements of streaming API behavior in some corner cases (#6699)
  • Assorted API improvements (#6809, #6827)
  • Stopped generating the FooService.NewClient factory method (#7008)
  • Significant progress on CoreCLR support (added project.json files and all unit tests are passing on Linux, Mac and Windows). Official NuGet doesn't support CoreCLR yet. (#6104)

Node:

  • Include proto well-known types with the grpc-tools package
  • Add API for redirecting logs from the library and changing log verbosity
  • Fix bug where the library would segfault when it received a compressed message

Benchmarking:

  • continously running performance benchmarks in all the languages (except PHP and ObjectiveC)

- C++
Published by jtattermusch over 9 years ago

https://github.com/grpc/grpc - Development Release 0.14.1

Release 0.14.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of https://github.com/grpc/grpc.

Cross language features:

c-core:

  • Added compression tracer ("compression") for the display of compression statistics.
  • Changes to support GCC 6.0
  • Fixes for memory leaks, uses after free, race conditions, and compiler compatibility.

cpp:

  • Added plugin mechanism for ServerBuilder.
  • Propagated comments from proto file to generated grpc.pb.h file.

python:

  • Created grpc-tools package, which enables installing protoc and the Python gRPC plugin for protoc in a PyPI wheel/source distribution
  • Removed deprecated alpha code
  • Began distributing manylinux1 wheels (pip install grpcio on linux no longer downloads from beyond PyPI)

ruby:

  • Created grpc-tools package, which enables installing protoc and the Ruby grpc plugin for protoc in a gem.
  • Modified one error code to match the specification: if a server is overwhelmed with requests, it will now respond to new requests with RESOURCE_EXHAUSTED.
  • Fixed an occasional case where a client or server would crash if there were too many simultaneous calls associated with a single connection
  • Add peer_cert method to Ruby call object
  • Make ruby clients and servers properly terminate on Ctrl+C, and make server processes properly stop when the server shuts down
  • Allow users to set a user agent option on stubs

php:

  • Fixed a memory leak in byte_buffer cleanup #6096

csharp:

API improvements

  • Adjusted behavior of request stream & response stream in some corner cases to improve usability (#6416)
  • Don't use interfaces for generated client and server stubs to make adding a new RPC to a .proto file non-breaking (#5928)

NuGet packages

  • Grpc.Core NuGet package now works correctly with DNX-style project.json projects and get rid of grpc.native.csharp package (#6115)
  • Set assembly versions according to the best practices (#6281)

Protoc codegen plugin

  • Use comments from .proto file in the generated code (#6348)
  • Allow generating just clientside/serverside code (#6284)
  • Allow generating code with internal visibility (#6284)

Other

  • performance and stability improvements (e.g. in handling unary calls on server-side and throughput improvements) (#6498, #6434, #6420)
  • implemented stress test client and integrated C# into stress test framework
  • improvements to performance worker and started running C# performance tests continuously
  • migrated all unit tests to NUnit 3.2

node:

  • Made all client methods take the callback as the last argument whether or not any optional arguments are passed. For now, the old argument order can be forced with the 'deprecatedArgumentOrder' option on client class creation and grpc.load
  • Added support for service definitions generated with protoc.
  • Created grpc-tools package, which enables installing protoc and the Node grpc plugin for protoc using npm.
  • Made Node servers accept partial implementations for services, and respond to any unimplemented methods with an UNIMPLEMENETED status.
  • Modified one error code to match the specification: failing to parse a request results in an INTERNAL error.
  • Fixed a bug where a client would occasionally hang after finishing a call.

- C++
Published by murgatroid99 almost 10 years ago

https://github.com/grpc/grpc - Development Release 0.13.1

Release 0.13.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

c-core:

  • Fixes for memory leaks, uses after free, race conditions, and compiler compatibility.
  • Allow ‘.’ in metadata keys.

python:

  • Defect fixes.

ruby:

  • Fix some import errors.
  • Fix a rare crash at exit.
  • Fix some synchronization bugs.
  • Fix credentials getting garbage collected too early.
  • Fix a couple of memory leaks.

csharp:

  • Improved stability thanks to many fixes in C core.
  • Fix loading of native library for web apps or whenever using assembly shadowing (#5810)
  • Grpc.Tools NuGet package now contain pre-compiled protoc and grpc\_csharp\_plugin binaries for Linux, Windows and Mac OS X. That eliminates the need to install protoc and C# protoc plugin on Linux and Mac to generate the C# code (#5464).
  • Preconditions class have been renamed to GrpcPreconditions (#5309).

node:

  • Add options to expose some Protobuf.js code generation options.
  • Make the client report message deserialization failure details.
  • Fix a race condition in the client when receiving status.

- C++
Published by nicolasnoble almost 10 years ago

https://github.com/grpc/grpc - Development Release 0.13.0

Release 0.13.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

c-core:

  • Switch from OpenSSL to BoringSSL as the default SSL stack.
  • Support building backwards compatible .so’s on Linux with modern toolchains.
  • Fixed compilation on 32bit linux.
  • Support for VS2015 is now continuously tested.
  • Support for Windows 64bit (VS2013, VS2015).
  • Internal security cleanup.
  • New API to overwrite default SSL roots.
  • Fix Windows bug capping throughput to 1qps.
  • Expanded metadata key allowable values to include ‘.’

cpp:

  • Support mixing sync/async/generic method handlers in the same service.
  • New API to cancel rpc in synchronous handler.
  • Bug fixes and test improvements.

python:

  • Single-package install of the gRPC Python runtime.
  • Behind-the-scenes fixes and improvements.
  • n.b. Due to delays with Windows, its package (and only its package) is against a different git commit than the rest, with a minor cosmetic change to the version number from 4c015b83eddd1f51bc3fda5f833f97692df94419 (MacOS + Linux and source releases remain at the tagged git commit release-0_13_0)

ruby:

  • Single-line installation of the gRPC Ruby package on Linux, MacOS, and Windows, without the need of any compiler.

csharp:

  • Simplified installation - C# NuGet package now works on Windows, Linux and Mac out of the box without the need to preinstall libgrpc or libgrpc_csharp_ext (#4820).
  • Supports for both 32bit and 64bit runtimes on all supported platforms.
  • Fixed latency issue on Windows (#4503).
  • Updated protoc plugin to generate code compatible with protobuf-3.0.0beta2.

node:

  • Single-line installation of the gRPC Node package on Linux, Mac, and Windows.
  • A couple of minor bug fixes.

- C++
Published by nicolasnoble about 10 years ago

https://github.com/grpc/grpc - Development Release 0.12.0

Release 0.12.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

c-core:

  • gpr_timespec is now platform agnostic (#4397)
  • Windows support:
  • C core can be build on Windows x64
  • We are no longer using _USE_32BIT_TIME_T
  • Better support for VS2015, nuget packages are now VS2015 ready.
  • Migrated to OpenSSL 1.0.2d nuget package.
  • API breakage grpc_credentials objects.
  • grpc_credentials have been deleted.
  • We now have grpc_channel_credentials that can be set on a channel.
  • And grpc_call_credentials that can be set on a call.
  • These credentials can be composed using:
    - grpc_composite_channel_credentials_create which takes a grpc_channel_credentials and grpc_call_credentials as parameters and return a grpc_channel_credentials.
    - grpc_composite_call_credentials_create which take two grpc_call_credentials as parameters and return a grpc_call_credentials.

cpp:

  • API breakage Credentials objects.
  • Credentials class has been deleted.
  • We now have ChannelCredentials that can be set on a channel.
  • And CallCredentials that can be set on a call (i.e. ClientContext in C++).
  • These credentials can be composed using:
    - CompositeChannelCredentials which takes a ChannelCredentials and CallCredentials as parameters and return a ChannelCredentials.
    - CompositeCallCredentials which take two CallCredentials as parameters and return a CallCredentials.

python:

  • API breakage Credentials objects.
  • Credentials class has been deleted.
  • We now have ChannelCredentials that can be set on a channel.
  • And CallCredentials that can be set on a call
  • These credentials can be composed using
    - composite_call_credentials to combine two CallCredentials objects into a single CallCredentials
    - composite_channel_credentials to combine a ChannelCredentials and a CallCredentials into a ChannelCredentials
  • API breakage: secure_channel now takes a ChannelCredentials rather than a Credentials.
  • Added auth plugin API. This allows construction of a CallCredentials object based around a behavior that is evaluated per-call, passed the call’s metadata, and returns the metadata to use for the call instead.

ruby:

  • API breakage Credentials objects.
  • Credentials class has been deleted.
  • We now have ChannelCredentials that can be set on a channel
  • And CallCredentials that can be set on a call
  • These credentials can be composed using
    - ChannelCredentials#compose, which takes any number of CallCredentials and returns a ChannelCredentials
    - CallCredentials#compose, which takes any number of CallCredentials and returns a CallCredentials.
  • API breakage: Channel and ClientStub constructors now accept the ChannelCredentials argument as the last mandatory positional argument instead of an optional keyword argument. Alternatively, the symbol :this_channel_is_insecure can be passed to indicate that credentials are needed.
  • Added auth plugin API. This allows for CallCredentials to be created with a proc that adds arbitrary metadata.
  • Now throws an error if passed invalid metadata keys or values

php:

  • API breakage Credentials objects.
  • Credentials class has been deleted.
  • We now have ChannelCredentials that can be set on a channel
  • And CallCredentials that can be set on a call
  • These credentials can be composed using
    - ChannelCredentials::createComposite, which takes a ChannelCredentials and a CallCredentials and returns a ChannelCredentials
    - CallCredentials::createComposite, which takes 2 CallCredentials and returns a CallCredentials.
  • Added auth plugin API. This allows for CallCredentials to be created with a callback function that adds arbitrary metadata. (#4394)
  • Applications can now specify primary user agent string in a spec-compliant way (#4090)
  • Implemented all remaining regular and auth interop tests (#3758, #3854)
  • Validate and normalize metadata keys (#3790)
  • Added more unit test code coverage (#3900)

csharp:

  • New plugin-enabled auth API has been introduced.
  • Applications can now specify primary user agent string in a spec-compliant way (#4365)
  • Use ConfigureAwait(false) in await statements where needed (#4292)
  • grpc.native.csharp package renamed to comply with dnu tool rules (#3749)
  • Misc:
  • Code coverage now generated for C# (currently at 90%).
  • Implemented C# performance worker to conduct performance tests.
  • Added simple support for performance instrumentation to facilitate future optimization efforts.

node:

  • Bundled C core with Node library. Node gRPC now has no external dependencies.
  • API breakage Credentials class
  • The Credentials class has been deleted, and replaced with the credentials submodule
  • We now have ChannelCredentials that can be set on a channel. They are returned by credentials.CreateSsl
  • And CallCredentials that can be set on a call. They are returned by credentials.createFromMetadataGenerator and credentials.createFromGoogleCredential.
  • These credentials can be composed using
    - credentials.combineChannelCredentials, which takes a ChannelCredentials and any number of CallCredentials, and returns a ChannelCredentials
    - credentials.combineCallCredentials, which takes any number of CallCredentials and returns a CallCredentials.
  • Added auth plugin credentials API. This allows for CallCredentials to be created with callbacks that add arbitrary metadata.

- C++
Published by nicolasnoble about 10 years ago

https://github.com/grpc/grpc - Development Release 0.11.1

Release 0.11.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

This release fixes issues that were found in the 0.11.0 release:

c-core:

  • Solved an issue where events could be processed with a long delay, especially during the establishment of a connection. See #3203, #3319, #3332, and #3350.
  • Removed some superfluous log messages.
  • Fixed an issue with the processing of auth metadata where call data of the server auth filter could be used after being freed. See #3286, #3291.
  • Fixed a bug where cancellation ops could be sent to the client auth filter. See #3390.
  • Fixed the Makefile so the BUILDDIR variable can be pointing at either an absolute or a relative directory.

cpp:

  • The file grpc++/grpc++.h will now be installed on the system by make install.

python:

  • Fatal bug fix in channel implementation.
  • Python documentation generation script is fixed.
  • Updated external dependencies.

php:

  • Added code examples for Apache and Nginx/PHP-FPM.

csharp:

  • Adjustments in Grpc.Core.Logging.ILogger interface. See #3374.
  • Fix in C# interop client.
  • Updated namespace of routeguide example.

node:

  • Fixed a server crash when a client disconnects during a call.
  • Fixed a couple of memory leaks.
  • Updated nan dependency to 2.0 for compatibility with Node 4.0.

- C++
Published by nicolasnoble over 10 years ago

https://github.com/grpc/grpc - Beta Release 0.11.0

Release 0.11.0: BETA

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Beta release of github.com/grpc/grpc.

As of this release, we expect no major API changes to any gRPC implementation.

Known issues:

  • Windows: some extraneous log messages are printed, but they should not impact functionality nor stability (see #3289 and #3290)
  • Memory corruption may occur on the server when using server-side authentication. If you are using server-side authentication and this is affecting you, a patch is available at https://github.com/grpc/grpc/commit/1fe38ffb7476df086c7d470e7f136dda92610c8e
  • PHP extension is unstable with Apache/Nginx, we are actively working to resolve that. See issue #2275.

c-core:

  • Added void* reserved arguments to public facing API’s for future expansion.
  • Windows builds have been greatly stabilized.
  • Fixed zero-poll-time completion queue usage.
  • Fixed cases where flow control could permanently stall a stream.
  • Support default host name discovery by name resolvers.
  • Expose peer address for grpc_call objects.
  • Added support for different name resolvers.
  • Switched channel target strings to be URI’s instead of host:port pairs.
  • Support for automatic propagation of context from incoming server calls to outgoing client calls.
  • Removed testing fake_security credentials.
  • Support CLOCK_MONOTONIC and CLOCK_REALTIME as sources of time (and provide equivalents on Mac, Windows).
  • Reject invalid metadata on send.
  • Renamed insecure functions to include ‘insecure’ in their name.
  • Added compression support.
  • Introduced a lock free incoming request path for servers.
  • Added server-side authentication metadata processing for users to plug-in their own authentication system.
  • Removed legacy service accounts credentials for google auth. These are superseded by service account jwt access credentials which do not need explicit scopes.
  • Added SSL server credentials option to force client SSL authentication.
  • Census - Added API framework for:
  • Tracing
  • Context
  • Tagging
  • Views
  • Resource Usage
  • Aggregated Statistics

cpp:

  • Various public API cleanup.
  • Added string_ref class to public API.
  • Added channel state API, server async rpc finish detection API.
  • Added server-side auth metadata processor (see core).
  • Dynamic-sized thread pool at server.
  • Added iterator for auth context.
  • Added accessors for peer address to context objects.
  • Removed legacy service accounts credentials for google auth. These are superseded by service account jwt access credentials which do not need explicit scopes.
  • Added Doxygen-style documentation to public API.
  • Added SSL server credentials option to force client SSL authentication.

python:

  • Added beta API in grpc.beta package (early adopter API unchanged and still available in grpc.early_adopter package).
  • Future-returning asynchronous RPC invocation attribute renamed from “async” to “future”.
  • Server port specification now done in “add_insecure_port” and “add_secure_port” methods, and servers may serve on arbitrarily many ports.
  • Lifecycles for stubs may optionally be left to Python’s GC.
  • Full metadata support.
  • Full status code and details support.
  • Flow control.
  • Status code conformance with rest of gRPC.
  • Servers afford immediate shut-down semantics.
  • Tests moved from grpcio distribution to grpcio_test distribution.

ruby:

  • Updated the gem file, ensuring the interop and sample binaries are stored correctly.
  • Pruned unneeded dependencies.
  • Made the logger implementation pluggable.
  • Updated server shutdown to fix bugs and improves its consistency.
  • Added a health check server.
  • Made the security explicit during channel construction.
  • Updated the secure rpc server api allow it support multiple certificates.
  • Added a context propagation API.

php:

  • Current version is 0.6.0.
  • Added per-message compression API.
  • Added connectivity state API.
  • Exposed per-call host override option.
  • Added user agent, channel target, and call peer.

csharp:

  • Current version is 0.7.0.
  • Added support for proto3.
  • Assemblies in NuGet packages are now signed.
  • Full API support for metadata (request headers, response headers, response trailers).
  • GrpcEnvironment.Initialize() and Shutdown() are now implicit and have been removed from the API.
  • Grpc.Auth now uses Google.Apis.Auth library for OAuth2 and JWT based auth. That brings full support for Application Default Credentials.
  • Added API support for deadlines.
  • Added per-message compression API.
  • Added context-propagation API.
  • Miscellaneous public API polishing (channels, servers, security etc.)
  • Stability fixes on both Linux and Windows.

objective-c:

  • Breaking changes:
  • SingleValueHandler and StreamHandler were shortened to SingleHandler and EventHandler respectively.
  • The way to make non-SSL connections now spells clearly that the connection is insecure, instead of just subtly implying it.
  • GRPCDelegateWrapper is now part of the Rx library (as GRXConcurrentWriteable), and independent of gRPC (or RPC systems in general).
  • GRPCMethodName is now part of the ProtoRPC library (as ProtoMethod). With this, the GRPCClient library is now completely independent of protocol buffers. For consistency with the protobuf syntax, its “interface” property is now called “service”.
  • GRXWriter is now an “abstract” class that writers have to inherit, instead of a protocol to which they have to conform. This way all writers get automatically extended with categories like transformations, or timeout. This also lets us add a helper class to simplify implementing a writer.
  • Related to headers and trailers:
    - The request and response metadata properties of a GRPCCall object don’t expose multiple values for the same header name anymore. This simplifies the usage of the common use case.
    - The “-bin” trick used to send and receive headers with binary values isn’t hidden anymore, for consistency with the other implementations of gRPC (all of which were exposing it): Now request headers with NSData values need a name ending in “-bin”, and the suffix isn’t stripped from the names of response metadata with binary values.
    - Request header names and values are now validated, and can’t be modified after an RPC is started. Not all methods of NSMutableDictionary are yet exposed again for them.
    - The dictionary of request headers can’t be set; instead it is initialized with the GRPCCall object (and can still be mutated).
    - Response headers and trailers are now different properties of the RPC object. This lets one access the response headers (e.g. using KVO) before the first response message is received, which is important for some use cases.
  • Non-breaking additions:
  • The domain and codes of NSError objects returned by the library are now part of the public API, and documented.
  • Connecting to test SSL servers is supported now.
  • New OAuth2 helpers ease setting an access token for an RPC and retrieving the challenge header if authentication failed.
  • Bazel can now be used instead of Cocoapods, if a BUILD file for OpenSSL is provided by the user.
  • When an RPC fails, the NSError object passed to the writeable now carries the response headers and trailers of the call. This simplifies error-handling code.
  • Fixes:
  • The names of the files generated by protoc have now correct casing, which is needed in Linux.
  • [GRXWriter emptyWriter] now returns a new non-started writer every time.
  • Fixed a race condition triggered when an RPC ended prematurely.
  • Stopped using a Cocoa method not supported by iOS 6.
  • Response trailers are now set.

node:

  • Changed Server construction interface.
  • Changed server metadata handling to per-method.
  • Added per-message compression API.
  • Changed Client construction and Server port binding to require credentials objects.
  • Added Credentials.createInsecure and ServerCredentials.createInsecure to explicitly construct unsecured Clients and bind servers to unsecured ports.
  • Added grpc.waitForClientReady.
  • Added API for propagating parent call information to delegate gRPC calls on servers.
  • Changed Server#listen to Server#start.
  • Replaced Server#shutdown with asynchronous Server#tryShutdown and synchronous Server#forceShutdown.
  • Changed ServerCredentials.createSsl API to allow multiple key/cert pairs, and added a parameter.
  • Added a Metadata class, and changed all APIs to use it instead of bare objects.

- C++
Published by nicolasnoble over 10 years ago

https://github.com/grpc/grpc - Development Release 0.10.2

Release 0.10.2

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

c-core:

Fixed a test bug affecting build of debian packages on 32-bit systems (#2950)

- C++
Published by tbetbetbe over 10 years ago

https://github.com/grpc/grpc - Development Release 0.10.1

Release 0.10.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

c-core:

  • Several stability fixes on Windows (#1650, #2708)
  • Silencing some unnecessary log messages on Windows (issue #2402)

cpp:

  • Better stability on Windows because of fixes in c-core

csharp:

  • Current version is 0.6.1
  • Better stability on Windows because of fixes in c-core

- C++
Published by jtattermusch over 10 years ago

https://github.com/grpc/grpc - Development Release 0.10.0

Release 0.10.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

c-core:

  • Removed the backup poller.
  • Now exports dependency information for pkg-config.
  • Close file descriptors when they are no longer in use on POSIX based systems.
  • Client configuration infrastructure implemented.
  • Miscellaneous stability bug fixes.
  • JWT verifier library (without caching for now).
  • HTTP2 transport can now parse and write concurrently.
  • Fixed memory leak on Windows (#2125).
  • ALPN is no longer a mandatory feature, meaning that OpenSSL 1.0.1 is now the lowest required version.

cpp:

  • Status API update.
  • Support raw access token credentials.
  • Support register service to a host.
  • Support metadata in grpc_cli tool.
  • C++ library can be compiled without protobuf.
  • Adding support for AuthContext both client and server side.

python:

  • #1558 Raises batching semantics from the C API layer into Python.
  • #2249 Fixes initial metadata being sent with terminal metadata from the server.
  • #2034 Ensures C89 compatibility for the C API layer.

php:

  • Alpha Release version 0.5.1.
  • Released as Packagist package and PECL extension.
  • Simple homebrew/linuxbrew installation.
  • Hello World and Route Guide tutorials.
  • #2222 Fixes PHP extension bug on MacOS.

csharp:

  • Rewrote and simplified API for channel options (formerly channel args).
  • Stopped using PInvoke native-to-managed callbacks in most cases (performance boost + simplicity).
  • Added host and port constructor overload for new channels (#1992).
  • Replaced Microsoft.Bcl.Immutable NuGet dependency by System.Collections.Immutable.
  • Better stability on Linux.

objective-c:

  • Trailing metadata support.
  • Metadata API surface simplified.
  • Bazel support.
  • Changed some function and parameter names in code generator and runtime libraries.

- C++
Published by nicolasnoble over 10 years ago

https://github.com/grpc/grpc - Development Release 0.9.1

Release 0.9.1

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

This release contains a few critical fixes for problems introduced in 0.9.0:

  • Fixing a crash in the Windows version of the protoc plugins.
  • Fixing the per-call credentials feature that was introduced in 0.9.0.
  • Fixing the HTTP2 ALPN support announcement to be compatible with Android.
  • Fixing auth support for objective-C.

- C++
Published by nicolasnoble over 10 years ago

https://github.com/grpc/grpc - Development Release 0.9.0

Release 0.9.0

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

The following languages in this repo are alpha, and also at version 0.9.0:

  • c-core
  • cpp
  • ruby
  • node
  • python
  • php

The following languages are now ready for alpha testing, both at version 0.5.0:

  • csharp
  • objective-c

Additional details:

c-core:

  • Stability fixes and improvements for the Windows platform.
  • Ability to add per-call credentials.

cpp:

  • C++ wrapping of the c-core functionality.
  • Ability to add per-call credentials.
  • API improvement for async unary call.
  • Compatibility: Improved support for Windows and Mac.
  • API change for credentials (now use shared_ptr as opposed to unique_ptr).

ruby:

  • Enabled JWT access authentication.
  • Added support for returning metadata from the ruby servers.
  • Removed unnecessary dependencies, e.g, xray.
  • Simplified the extension code, updated it to use future-proof ruby.h apis.
  • Various small bug fixes, style improvements and improved stability.

node:

  • Enabled JWT access authentication.
  • Proto3 support.
  • Various small bug fixes and improved stability.
  • Added option to load the JSON proto files generated by pbjs.
  • Client streams emit error events when they receive a non-OK status.

python:

  • MacOS pip install (build, link step) fix, testing (runtime, dynamic link step, environment) fix.
  • Testing stability fix on systems with low ulimits.
  • Internal code clean-up.
  • Development status updated to alpha.

php:

  • Added authentication to the API surface allowing it to authenticate using google-auth-library-php.
  • Enabled JWT access authentication.
  • Simplified the extension code.

csharp:

Exposes client and server features provided by the C core via P/Invoke. Ready for Alpha testing.

Client
  • Supports unary and streaming RPCs to gRPC servers.
  • Asynchronous stub interface compatible with async/await. Synchronous method stubs are provided for simple calls as a convenience.
  • Supports secure and insecure connections.
  • Allows metadata be attached to requests, enabling alternate authorization.
  • Prototype of integration with Google authorization libraries providing.
    • GCE.
    • Service Account.
Server
  • Multithreaded RPC server, that supports both secure and insecure connections.
  • Handles unary and streaming RPCs from gRPC clients, allowing async handlers.
OS support
  • Windows: fully functional with .NET and Visual Studio. There’s a known problem at shutdown https://github.com/grpc/grpc/issues/1650 (not limiting the usability).
  • Linux: fully functional with Mono and Monodevelop.
  • MacOS: functional, but only under 64-bit Mono, which harms development experience when using Xamarin Studio.

objective-c:

  • Moved Protobuf support to version 3, which includes client and server streaming. The generated classes for proto messages are also much simpler to use in proto3.
  • Added the protoc plugin to generate a client library from services defined in .proto files.
  • Added instructions to install, depend on, and use the library.
  • Added more interop tests, which also show how to use features of the library that weren’t used before.
  • Expanded the generic Reactive Extensions library used by Objective-C gRPC.

- C++
Published by nicolasnoble almost 11 years ago

https://github.com/grpc/grpc - Development Release 0.6.0

Release 0.6.0

Please see the notes for the previous release here: https://github.com/grpc/grpc/releases

Development release of github.com/grpc/grpc.

The following languages in this repo are alpha, and also at version 0.6.0

  • c-core
  • cpp
  • ruby
  • node

The following languages are now ready for alpha testing:

  • python - 0.5.0
  • php - 0.5.0

The following languages are not yet ready for alpha testing and the corresponding version numbers are lower:

  • csharp - 0.2.0
  • objective-c - 0.2.0

Additional details:

New in this version:

c-core:

Client and server side implementations:

  • Support for OAuth2 refresh tokens.
  • Support for JWT Access.
  • Default credentials now work with cloud SDK.
    OS supported:
  • Linux: fully functional (native development)
  • MacOS: Build verified
  • Windows: C and C++ support with Visual Studio 2013 and msys2.

cpp:

  • C++ wrapping of the c-core functionality
  • Generic Async interfaces and grpc_cli tool
  • Compatibility : gcc4.4 supported

ruby:

  • Server SSL certificates are now passed to server#bind instead of the server constructor (breaking)
  • Now compatible with Ruby 2.2.0
  • Supported auth now includes support OAuth2 user refresh tokens

node:

  • Node wrapping of the c-core functionality
  • Server SSL certificates are now passed to server#bind instead of the server constructor (breaking)
  • Now compatible with all versions of Node.js starting with 0.10.13, all versions of io.js, and MacOS
  • Now accepts only strings for non-binary metadata values, and returns non-binary metadata values as strings (API Change)
  • Added generic client and server constructors that do not use Protocol Buffers
  • Added support for trailing metadata
  • Supported auth now includes support OAuth2 user refresh tokens

python:

  • Packaging and distribution through PyPI
  • Client metadata support
  • Interoperability test implementation
  • Examples and documentation

php:

  • Now works (compiles, tests pass)
  • Added composer file

csharp:

  • Cross-language tests passing
  • Support for secure connections
  • Client side metadata support
  • Lots of code cleanup

objective-c:

  • Support for secure connections.
  • Integration with protobuf 2.6.
  • Cross-language tests passing with Java and C++ servers.

- C++
Published by a11r almost 11 years ago

https://github.com/grpc/grpc - Initial public release

The following languages in this repository are alpha-ready, and also at version 0.5.0

  • c-core
  • cpp
  • ruby
  • node

The following languages are not yet ready for alpha testing and the corresponding version numbers are lower:

  • python - 0.4.0
  • php - 0.3.0
  • csharp - 0.1.0
  • objective-c - 0.1.0

Additional details:

C (core)

In this version:
Client and server side implementations:

  • OpenSSL integration
  • chttp2 HTTP/2 and HPACK implementation
  • gpr runtime
  • gRPC generic implementation
  • Unary and streaming RPCs
  • Metadata support
    Client side Credentials implementations
  • GCE
  • Service Account
  • GoogleDefault
    Server-side only features
  • SSLCredentials support

OS support

  • Linux: fully functional (native development)
  • MacOS: functional, albeit missing some optimizations (kqueue)
  • Windows: semi-functional, pre-alpha status.

C++

  • C++ wrapping of the c-core functionality
  • Type-safe synchronous and Async interfaces
  • proto3 integration

Ruby

Exposes client and server features provided by the C-core via an extension
Client

  • Supports unary and streaming RPCs to gRPC servers
  • Synchronous stub surface
  • Supports secure and insecure connections
  • Integrates with Google authorization libraries providing
    • GCE
    • Service Account
    • GoogleDefault
  • Allows metadata be attached to requests, enabling alternate authorization

Server

  • Multithreaded RPC server, that supports both secure and insecure connections
  • Handles unary and streaming RPCs from gRPC clients
    Data serialization
  • default codegen is done via a proto3 plugin shipped with the release
  • default codegen creates clients/servers that serialize using proto3 ruby
  • other serialization schemes possible by changing the code generator

Node

Exposes client and server features provided by the C-core via an extension
Client

  • Supports unary and streaming RPCs to gRPC servers
  • Supports secure and insecure connections
  • Integrates with Google authorization libraries providing
    • GCE
    • Service Account
    • GoogleDefault
  • Allows metadata be attached to requests, enabling alternate authorization

Server

  • Handles unary and streaming RPCs from gRPC clients
  • exposes the underlying C server via the Node.js event loop
    proto2 integration (with streaming methods) using ProtoBuf.js

Python

Exposes client and server features provided by the C-core via a paired extension and library

  • Supports unary-unary, unary-streaming, streaming-unary, and streaming-streaming RPCs
  • Supports both synchronous and asynchronous RPC invocation
  • Supports insecure and secure servers
  • Supports insecure stubs

PHP

Initial, slightly out of date wrapping of c-core functionality
Synchronous interface
proto2 integration (with streaming methods)

C#

Experimental version with early API draft and an implementation prototype that’s passing some simple tests. Not intended for use yet.

Objective-C

Objective-C wrapper over the C-core library, not intended for use yet.

Current work in progress:

  • Integration of the C-core library with Cocoapods.
  • Protoc-generated layer.

Immediate roadmap:

  • Unit testing and E2E continuous integration testing.

- C++
Published by a11r about 11 years ago