GitHub repository: grpc/grpc
Description: The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

Release v1.61.0-pre1: tag_name: v1.61.0-pre1
body: This is a prerelease of gRPC Core 1.61.0 (grand).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.60.0: tag_name: v1.60.0
body: This is release 1.60.0 ([gjallarhorn](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Implemented dualstack IPv4 and IPv6 backend support, as per [draft gRFC A61](https://github.com/grpc/proposal/pull/356).  xDS support currently guarded by `GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS` env var.
-  Dropped Bazel 5 support. ([#34813](https://github.com/grpc/grpc/pull/34813))
-  [deps] Upgrade protobuf version to v25.0. ([#34513](https://github.com/grpc/grpc/pull/34513))
-  [Security - Revocation] Crl Directory Watcher Implementation. ([#34749](https://github.com/grpc/grpc/pull/34749))
-  [server] Cap size of pending request queue with RealRequestMatcher. ([#34782](https://github.com/grpc/grpc/pull/34782))
-  [chttp2] Fix outgoing data stats. ([#34693](https://github.com/grpc/grpc/pull/34693))
-  [EventEngine] Enable Posix EventEngine Listener on all builds. ([#34748](https://github.com/grpc/grpc/pull/34748))
-  [EventEngine] Enable Windows EventEngine Listener on all builds. ([#34436](https://github.com/grpc/grpc/pull/34436))
-  [chttp2] Alternative protection for too many streams in the system. ([#34697](https://github.com/grpc/grpc/pull/34697))
-  [Proxy] Support for setting proxy for addresses. ([#34617](https://github.com/grpc/grpc/pull/34617))
-  [client idleness] client channels go idle after 30 minutes by default. ([#34653](https://github.com/grpc/grpc/pull/34653))
-  [chttp2] Add an experiment to separate liveness checks from ping timeouts. ([#34647](https://github.com/grpc/grpc/pull/34647))
-  [chttp2] Tarpit invalid requests. ([#34641](https://github.com/grpc/grpc/pull/34641))
-  [chttp2] Enforce settings acks. ([#34640](https://github.com/grpc/grpc/pull/34640))
-  [chttp2] Limit work per read cycle. ([#34639](https://github.com/grpc/grpc/pull/34639))
-  [chttp2] Limit request count before receiving settings ack. ([#34638](https://github.com/grpc/grpc/pull/34638))
-  [chttp2] Randomly ping on RST_STREAM. ([#34637](https://github.com/grpc/grpc/pull/34637))

C++
---

-  [xds] C++ XdsServerBuilder Remove src/... header dependency from public header. ([#34790](https://github.com/grpc/grpc/pull/34790))
-  [reflection] Add v1 reflection. ([#34535](https://github.com/grpc/grpc/pull/34535))

C#
---

-  [csharp] Grpc.Tools documentation for sharing proto files between projects and nuget packages. ([#34521](https://github.com/grpc/grpc/pull/34521))

Ruby
---

-  [ruby] create debug symbol packages. ([#34632](https://github.com/grpc/grpc/pull/34632))

Python
---

-  [Bug Fix] Change return of `grpc.aio.ServicerContext.code()` from integer to `grpc.StatusCode`. ([#34292](https://github.com/grpc/grpc/pull/34292))

Release v1.59.3: tag_name: v1.59.3
body: This is release gRPC Core 1.59.3 (generative).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Core
---

-  [Security - Revocation] Crl backport to 1.59. ([#34926](https://github.com/grpc/grpc/pull/34926))

Release v1.60.0-pre1: tag_name: v1.60.0-pre1
body: This is a prerelease of gRPC Core 1.60.0 (gjallarhorn).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.59.2: tag_name: v1.59.2
body: This is release 1.59.2 ([generative](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [chttp2] Rollup of fixes for CVE-2023-44487. ([#34763](https://github.com/grpc/grpc/pull/34763))
Release v1.58.2: tag_name: v1.58.2
body: This is release 1.58.2 of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


C++
---
- Fix MakeCordFromSlice memory bug #34553
Release v1.57.1: tag_name: v1.57.1
body: This is release 1.57.1 of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


C++
---
- Fix MakeCordFromSlice memory bug #34557
Release v1.56.3: tag_name: v1.56.3
body: This is release 1.56.3 of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


C++
---
- Fix MakeCordFromSlice memory bug #34558
Release v1.55.4: tag_name: v1.55.4
body: This is release 1.55.4 of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


C++
---
- Fix MakeCordFromSlice memory bug https://github.com/grpc/grpc/pull/34559
Release v1.59.1: tag_name: v1.59.1
body: This is release 1.59.1 ([generative](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


C++
---
- Fix MakeCordFromSlice memory bug #34552

Release v1.59.0: tag_name: v1.59.0
body: This is release 1.59.0 ([generative](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [Release] Bump core version 202309251628. ([#34476](https://github.com/grpc/grpc/pull/34476))
-  [xds ssa] Remove environment variable protection for stateful affinity. ([#34435](https://github.com/grpc/grpc/pull/34435))
-  [windows DNS] Simplify c-ares Windows code. ([#33965](https://github.com/grpc/grpc/pull/33965))
-  [c-ares] fix spin loop bug when c-ares gives up on a socket that still has data left in its read buffer. ([#34185](https://github.com/grpc/grpc/pull/34185))
-  [Deps] Adding upb as a submodule. ([#34199](https://github.com/grpc/grpc/pull/34199))
-  [EventEngine] Update Cancel contract on closure deletion timeline. ([#34167](https://github.com/grpc/grpc/pull/34167))

C#
---

-  [csharp codegen] Handle empty base_namespace option value to fix #34113. ([#34137](https://github.com/grpc/grpc/pull/34137))

Python
---

-  [Python 3.12] Support Python 3.12. ([#34398](https://github.com/grpc/grpc/pull/34398))
-  [Python 3.12] Deprecate distutil. ([#34186](https://github.com/grpc/grpc/pull/34186))

Ruby
---

-  [ruby] Fix linking errors on x86-darwin. ([#34134](https://github.com/grpc/grpc/pull/34134))
-  [Ruby] replace strdup with gpr_strdup. ([#34177](https://github.com/grpc/grpc/pull/34177))
-  [ruby] drop ruby 2.6 support. ([#34198](https://github.com/grpc/grpc/pull/34198))
Release v1.59.0-pre2: tag_name: v1.59.0-pre2
body: This is a prerelease of gRPC Core 1.59.0 (generative).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.59.0-pre1: tag_name: v1.59.0-pre1
body: This is a prerelease of gRPC Core 1.59.0 (generative).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.58.1: tag_name: v1.58.1
body: This is release 1.58.1 ([goku](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release is primarily for gRPC C++ to support c-ares 1.14.

Core / C++
---
- Reintroduced c-ares 1.14 or later support #34314

Release v1.58.0: tag_name: v1.58.0
body: This is release 1.58.0 ([goku](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

- gRPC 1.58 starts to require c-ares 1.18 or later.
-  [Deps] Update boringssl 202308211007. ([#34115](https://github.com/grpc/grpc/pull/34115))
-  [pick_first] de-experiment pick first. ([#34054](https://github.com/grpc/grpc/pull/34054))
-  [build metadata] Bazel to "other build systems" improvements. ([#33803](https://github.com/grpc/grpc/pull/33803))
-  [Deps] Update abseil to 20230802. ([#33974](https://github.com/grpc/grpc/pull/33974))
-  [c-ares DNS resolver] Fix file descriptor use-after-close bug when c-ares writes succeed but subsequent read fails. ([#33871](https://github.com/grpc/grpc/pull/33871))

C++
---

-  [docs] Document Alarm thread-safety guarantees. ([#34092](https://github.com/grpc/grpc/pull/34092))
- Added OpenSSL 3.0 (LTS) support via custom CMake builds (the default is still BoringSSL)

Python
---

-  [Bazel] Enable grpcio-reflection to be used via Bazel. ([#31013](https://github.com/grpc/grpc/pull/31013))
-  [packaging] Publish xds-protos as part of the standard package pipeline. ([#33797](https://github.com/grpc/grpc/pull/33797))

Ruby
---

-  [ruby] update google auth to ~> 1.0. ([#34013](https://github.com/grpc/grpc/pull/34013))
-  [Ruby] set metadata_sent after call success. ([#33998](https://github.com/grpc/grpc/pull/33998))
-  [ruby] remove unnecessary background thread startup wait logic that interferes with forking. ([#33805](https://github.com/grpc/grpc/pull/33805))

Release v1.58.0-pre1: tag_name: v1.58.0-pre1
body: This is a prerelease of gRPC Core 1.58.0 (goku).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.57.0: tag_name: v1.57.0
body: This is release 1.57.0 ([grounded](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [EventEngine] Change `GetDNSResolver` to return `absl::StatusOr<std::unique_ptr<DNSResolver>>`. ([#33744](https://github.com/grpc/grpc/pull/33744))
-  [deps] Remove libuv dependency. ([#33748](https://github.com/grpc/grpc/pull/33748))
-  [ssl] Fix SSL stack to handle large handshake messages whose length exceeds the BIO buffer size. ([#33638](https://github.com/grpc/grpc/pull/33638))
-  [BoringSSL] Update third_party/boringssl-with-bazel. ([#33690](https://github.com/grpc/grpc/pull/33690))
-  [iomgr][EventEngine] Improve server handling of file descriptor exhaustion. ([#33656](https://github.com/grpc/grpc/pull/33656))
-  [ruby] experimental client side fork support. ([#33430](https://github.com/grpc/grpc/pull/33430))
-  [core] Add a channel argument to set DSCP on streams. ([#28322](https://github.com/grpc/grpc/pull/28322))
-  [xDS LB] xDS pick first support. ([#33540](https://github.com/grpc/grpc/pull/33540))
-  [tls] Remove use of SSL_CTX_set_client_CA_list for TLS server credentials. ([#33558](https://github.com/grpc/grpc/pull/33558))
-  [EventEngine] Simplify `EventEngine::DNSResolver` API. ([#33459](https://github.com/grpc/grpc/pull/33459))
-  [iomgr][Windows] Return proper error code to client when connection is reset. ([#33502](https://github.com/grpc/grpc/pull/33502))
-  [fork] simplify Fork::SetResetChildPollingEngineFunc to fix nested forking. ([#33495](https://github.com/grpc/grpc/pull/33495))
-  [lb pick_first] Enable random shuffling of address list. ([#33254](https://github.com/grpc/grpc/pull/33254))
-  [HTTP2] Fix inconsistencies in keepalive configuration. ([#33428](https://github.com/grpc/grpc/pull/33428))
-  [c-ares] Upgrade c-ares dependency to 1.19.1. ([#33392](https://github.com/grpc/grpc/pull/33392))
-  [Rls] de-experimentalize RLS in XDS. ([#33290](https://github.com/grpc/grpc/pull/33290))

C++
---

-  [otel] Add bazel dependency. ([#33548](https://github.com/grpc/grpc/pull/33548))

C#
---

-  [csharp] Include correct build of Grpc.Tools in nightly packages. ([#33595](https://github.com/grpc/grpc/pull/33595))
-  [csharp] reintroduce base_namespace experimental option to C# (with a patch). ([#33535](https://github.com/grpc/grpc/pull/33535))

Objective-C
---

-  [Protobuf] Upgrade third_party/protobuf to 23.4. ([#33695](https://github.com/grpc/grpc/pull/33695))

Python
---

-  [posix] Enable systemd sockets for libsystemd>=233. ([#32671](https://github.com/grpc/grpc/pull/32671))
-  [python O11Y] Initial Implementation. ([#32974](https://github.com/grpc/grpc/pull/32974))

Ruby
---

-  [ruby] experimental client side fork support ([#33430](https://github.com/grpc/grpc/pull/33430))
-  [ruby] backport "[ruby] remove unnecessary background thread startup wait logic that interferes with forking #33805" to v1.57.x. ([#33846](https://github.com/grpc/grpc/pull/33846))
-  [Ruby] remove manual strip in ruby ext conf. ([#33641](https://github.com/grpc/grpc/pull/33641))
-  [ruby] simplify shutdown; remove unnecessary attempts at grpc_shutdown. ([#33674](https://github.com/grpc/grpc/pull/33674))
-  [ruby] Add `-weak_framework CoreFoundation` to link line. ([#33538](https://github.com/grpc/grpc/pull/33538))
-  [Ruby] Fix memory leak in grpc_rb_call_run_batch. ([#33368](https://github.com/grpc/grpc/pull/33368))
-  [Ruby] Fix memory leak in grpc_rb_server_request_call. ([#33371](https://github.com/grpc/grpc/pull/33371))

Release v1.55.3: tag_name: v1.55.3
body: This is release 1.55.3 ([grandslam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

- [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33669

Python
---

- [iOS] Disable posix polling on iOS (#33094) by @gnossen in https://github.com/grpc/grpc/pull/33326
Release v1.54.3: tag_name: v1.54.3
body: This is release 1.54.3 ([gracious](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

* [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33670
Release v1.53.2: tag_name: v1.53.2
body: This is release gRPC Core 1.53.2 (glockenspiel).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Core
---

- [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33672
Release v1.57.0-pre1: tag_name: v1.57.0-pre1
body: This is a prerelease of gRPC Core 1.57.0 (grounded).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.56.2: tag_name: v1.56.2
body: This is release gRPC Core 1.56.2 (galvanized).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.


Core
---

-  [WRR] backport ([#33694](https://github.com/grpc/grpc/pull/33694)) to 1.56 ([#33698](https://github.com/grpc/grpc/pull/33698))

-  [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion ([#33667](https://github.com/grpc/grpc/pull/33667))
Release v1.56.1: tag_name: v1.56.1
body: This is release 1.56.1 ([galvanized](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [tls] Backport - Remove use of `SSL_CTX_set_client_CA_list` for TLS server credentials. ([#33583](https://github.com/grpc/grpc/pull/33583))

Release v1.56.1-pre1: tag_name: v1.56.1-pre1
body: This is a prerelease of gRPC Core 1.56.1 (galvanized).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.56.0: tag_name: v1.56.0
body: This is release 1.56.0 ([galvanized](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [c-ares] Backport "[c-ares] Upgrade c-ares dependency to 1.19.1 (#33392)" to v1.56.x. ([#33411](https://github.com/grpc/grpc/pull/33411))
-  [Rls] Backport "[Rls] de-experimentalize RLS in XDS (#33290)" to v1.56.x. ([#33330](https://github.com/grpc/grpc/pull/33330))
-  [core] Add support for vsock transport. ([#32847](https://github.com/grpc/grpc/pull/32847))
-  [JSON] fix bug that incorrectly allowed trailing commas after an empty container. ([#33158](https://github.com/grpc/grpc/pull/33158))
-  [BoringSSL] Update third_party/boringssl-with-bazel. ([#33150](https://github.com/grpc/grpc/pull/33150))
-  [outlier detection] fix crash with pick_first and add tests. ([#33069](https://github.com/grpc/grpc/pull/33069))
-  [EventEngine] Change TXT lookup result type to `std::vector<std::string>`. ([#33030](https://github.com/grpc/grpc/pull/33030))
-  [Build] Removed gRPC_PROTOBUF_PACKAGE_TYPE, supporting config only. ([#32988](https://github.com/grpc/grpc/pull/32988))
-  [EventEngine] Update contract for Listener's on_shutdown execution. ([#33003](https://github.com/grpc/grpc/pull/33003))
-  [Documentation] Update docs for TryCancel() on ServerContext. ([#32889](https://github.com/grpc/grpc/pull/32889))
-  [Compiler Fix] Bring declarations and definitions to be in sync. ([#32911](https://github.com/grpc/grpc/pull/32911))

C++
---

-  [Authz] Support customizable audit functionality for authorization policy. ([#33145](https://github.com/grpc/grpc/pull/33145), [#32995](https://github.com/grpc/grpc/pull/32995), [#32944](https://github.com/grpc/grpc/pull/32944), [#32970](https://github.com/grpc/grpc/pull/32970), [#33196](https://github.com/grpc/grpc/pull/33196), [#32750](https://github.com/grpc/grpc/pull/32750), [#33183](https://github.com/grpc/grpc/pull/33183), [#33026](https://github.com/grpc/grpc/pull/33026), [#32828](https://github.com/grpc/grpc/pull/32828), [#33252](https://github.com/grpc/grpc/pull/33252), [#33004](https://github.com/grpc/grpc/pull/33004), [#32976](https://github.com/grpc/grpc/pull/32976))
-  [example] Server reflection. ([#33162](https://github.com/grpc/grpc/pull/33162))

C#
---

-  [CSHARP] Add base_namespace experimental option to C# plugin. ([#32636](https://github.com/grpc/grpc/pull/32636))
-  [csharp proto plugin] Apply Obsolete attribute to deprecated services and methods in C# generated code. ([#32414](https://github.com/grpc/grpc/pull/32414))

Objective-C
---

-  [Deps] Upgrade Protobuf to v23.1. ([#33164](https://github.com/grpc/grpc/pull/33164))

Python
---

-  [aio types] Fix some grpc.aio python types. ([#32475](https://github.com/grpc/grpc/pull/32475))

Ruby
---

-  [ruby] fix re2 compilation when older system version installed. ([#32580](https://github.com/grpc/grpc/pull/32580))
Release v1.56.0-pre3: tag_name: v1.56.0-pre3
body: This is a prerelease of gRPC Core 1.56.0 (galvanized).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.56.0-pre2: tag_name: v1.56.0-pre2
body: This is a prerelease of gRPC Core 1.56.0 (galvanized).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.55.1: tag_name: v1.55.1
body: This is release 1.55.1 ([grandslam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Python
---

- [EventEngine] Disable EventEngine polling in gRPC Python (#33279) ([#33320](https://github.com/grpc/grpc/pull/33320))
- [Bazel Python3.11] Update Bazel dependencies for Python 3.11 (#33318) ([#33319](https://github.com/grpc/grpc/pull/33319))
Release v1.56.0-pre1: tag_name: v1.56.0-pre1
body: This is a prerelease of gRPC Core 1.56.0 (galvanized).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.55.0: tag_name: v1.55.0
body: This is release 1.55.0 ([grandslam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [Compiler Fix] Backport - Bring declarations and definitions to be in sync (#32911). ([#32915](https://github.com/grpc/grpc/pull/32915))
-  [XDS] Revert "Revert "XDS: enable XDS federation by default (#32711)" (#32814). ([#32902](https://github.com/grpc/grpc/pull/32902))
-  [cleanup] Remove public_headers_must_be_c89 test. ([#32898](https://github.com/grpc/grpc/pull/32898))
-  [tcp] Add channel argument for SO_RVCBUF size. ([#32887](https://github.com/grpc/grpc/pull/32887))
-  [xds] Remove variable protection from custom LB policies. ([#32888](https://github.com/grpc/grpc/pull/32888))
-  [BoringSSL] Update third_party/boringssl-with-bazel. ([#32868](https://github.com/grpc/grpc/pull/32868))
-  [protobuf] Upgrade third_party/protobuf to 22.x. ([#32606](https://github.com/grpc/grpc/pull/32606))
-  [HTTP Proxy] Support CIDR blocks in `no_proxy` config. ([#31119](https://github.com/grpc/grpc/pull/31119))


All wrapped languages
---

-  [Deps] Backport-1.55: Upgrade Protobuf to v23.1. ([#33165](https://github.com/grpc/grpc/pull/33165))


C++
---

-  [Build] Backport-1.55: Removed gRPC_PROTOBUF_PACKAGE_TYPE, supporting config only. ([#33018](https://github.com/grpc/grpc/pull/33018))
    -  FindProtobuf doesn’t work with Protobuf v22 and later so gRPC stops giving an option to choose a search mode when finding a Protobuf Package, expecting Protobuf is installed using CMake.


Ruby
---

-  [Ruby] rubify type names start with lower case or non-alpha characters. ([#32604](https://github.com/grpc/grpc/pull/32604))

Release v1.53.1: tag_name: v1.53.1
body: This is release gRPC Core 1.53.1 (glockenspiel).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

- Fixed [CVE-2023-32731](https://www.cve.org/cverecord?id=CVE-2023-32731)
- Fixed [CVE-2023-32732](https://www.cve.org/cverecord?id=CVE-2023-32732)

Release v1.55.0-pre2: tag_name: v1.55.0-pre2
body: This is a prerelease of gRPC Core 1.55.0 (grandslam).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.54.2: tag_name: v1.54.2
body: This is release gRPC Core 1.54.2 (gracious).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

- Fixed [CVE-2023-32731](https://www.cve.org/cverecord?id=CVE-2023-32731)
- Fixed [CVE-2023-32732](https://www.cve.org/cverecord?id=CVE-2023-32732)

Release v1.52.2: tag_name: v1.52.2
body: This is release gRPC Core 1.52.2 (gribkoff).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

- Fixed [CVE-2023-1428](https://www.cve.org/cverecord?id=CVE-2023-1428)

Release v1.54.1: tag_name: v1.54.1
body: This is release 1.54.1 ([gracious](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.


For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release is a C++-only patch to fix the following C++ compile issue.

C++
---

- [Compiler Fix] Backport - Bring declarations and definitions to be in sync (#32911) #32916
Release v1.55.0-pre1: tag_name: v1.55.0-pre1
body: This is a prerelease of gRPC Core 1.55.0 (grandslam).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.54.0: tag_name: v1.54.0
body: This is release 1.54.0 ([gracious](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Per [Foundational C++ Support](https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md), gRPC dropped Visual Studio 2017 support, the minimum version of Visual Studio that gRPC supports is 2019.
-  XDS: enable XDS federation by default. ([#32711](https://github.com/grpc/grpc/pull/32711))
-  [EventEngine] Add EventEngine::*Handle equality operators. ([#32695](https://github.com/grpc/grpc/pull/32695))
-  TlsCreds: Support revocation of intermediate in chain. ([#32544](https://github.com/grpc/grpc/pull/32544))
-  [config] Move global config alongside core configuration. ([#30788](https://github.com/grpc/grpc/pull/30788))
-  feat: Auth lib: Remove 3PI config url validation. ([#32450](https://github.com/grpc/grpc/pull/32450))

C++
---

- Upgrade abseil to 20230125.2. ([#32733](https://github.com/grpc/grpc/pull/32733))
- Update minimum MSVC version to 2019. ([#32614](https://github.com/grpc/grpc/pull/32614))
- [GcpObservability  C++] Backport: De-experimentalize API (#32715). ([#32813](https://github.com/grpc/grpc/pull/32813))
  - The GCP Observability API provides users with a simple way to export logging, tracing, and metrics to Google Cloud Operations. For more information, please see [this blog post](https://cloud.google.com/blog/products/networking/introducing-grpc-observability-for-microservices). 
- OpenCensus: Fix round_trip time. ([#32694](https://github.com/grpc/grpc/pull/32694))
- Update OpenCensus to HEAD (5501a1a). ([#32687](https://github.com/grpc/grpc/pull/32687))
- OpenCensus: Add annotations for messages. ([#32646](https://github.com/grpc/grpc/pull/32646))

PHP
---

-  Use correct namespace for checking if the isDefaultRootsPemSet method exists. ([#31580](https://github.com/grpc/grpc/pull/31580))

Python
---

-  Fix DeprecationWarning when calling asyncio.get_event_loop(). ([#32533](https://github.com/grpc/grpc/pull/32533))
-  Remove references to deprecated syntax field. ([#32497](https://github.com/grpc/grpc/pull/32497))


Release v1.54.0-pre2: tag_name: v1.54.0-pre2
body: This is a prerelease of gRPC Core 1.54.0 (gracious).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.54.0-pre1: tag_name: v1.54.0-pre1
body: This is a prerelease of gRPC Core 1.54.0 (gracious).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.53.0: tag_name: v1.53.0
body: This is release 1.53.0 ([glockenspiel](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  xDS: fix crash when removing the last endpoint from the last locality in weighted_target. ([#32592](https://github.com/grpc/grpc/pull/32592))
-  filter stack: pass peer name up via recv_initial_metadata batch. ([#31933](https://github.com/grpc/grpc/pull/31933))
-  [EventEngine] Add advice against blocking work in callbacks. ([#32397](https://github.com/grpc/grpc/pull/32397))
-  [http2] Dont drop connections on metadata limit exceeded. ([#32309](https://github.com/grpc/grpc/pull/32309))
-  xDS: reject aggregate cluster with empty cluster list. ([#32238](https://github.com/grpc/grpc/pull/32238))
-  Fix Python epoll1 Fork Support. ([#32196](https://github.com/grpc/grpc/pull/32196))
-  server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter. ([#32106](https://github.com/grpc/grpc/pull/32106))
-  [EventEngine] Add invalid handle types to the public API. ([#32202](https://github.com/grpc/grpc/pull/32202))
-  [EventEngine] Refactoring the EventEngine Test Suite: Part 1. ([#32127](https://github.com/grpc/grpc/pull/32127))
-  xDS: fix WeightedClusters total weight handling. ([#32134](https://github.com/grpc/grpc/pull/32134))

C++
---

-  Update minimum MSVC version to 2019. ([#32615](https://github.com/grpc/grpc/pull/32615))
-  Use CMake variables for paths in pkg-config files. ([#31671](https://github.com/grpc/grpc/pull/31671))

C#
---

-  Grpc.Tools: Use x86 protoc binaries on arm64 Windows. ([#32017](https://github.com/grpc/grpc/pull/32017))

Python
---

-  Support python 3.11 on aarch64. ([#32270](https://github.com/grpc/grpc/pull/32270))
-  Include .pyi file. ([#32268](https://github.com/grpc/grpc/pull/32268))
-  De-experimentalize wait-for-ready. ([#32143](https://github.com/grpc/grpc/pull/32143))
-  De-experimentalize compression. ([#32138](https://github.com/grpc/grpc/pull/32138))

Ruby
---

-  [ruby]: add pre-compiled binaries for ruby 3.2; drop them for ruby 2.6. ([#32089](https://github.com/grpc/grpc/pull/32089))

Release v1.53.0-pre2: tag_name: v1.53.0-pre2
body: This is a prerelease of gRPC Core 1.53.0 (glockenspiel).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.47.5: tag_name: v1.47.5
body: This is release 1.47.5 ([gridman](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release is a Python-only patch to release universal2 Mac OS artifacts compatible with both x86 and arm64.

Python
---

-  Backport of #31747 to v1.47.x (Build native MacOS arm64 artifacts (universal2)) ([#32446](https://github.com/grpc/grpc/pull/32446))
Release v1.53.0-pre1: tag_name: v1.53.0-pre1
body: This is a prerelease of gRPC Core 1.53.0 (glockenspiel).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.51.3: tag_name: v1.51.3
body: This is release gRPC Core 1.51.3 (galaxy).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release is a Python-only patch to release universal2 Mac OS artifacts compatible with both x86 and arm64.

Python
---

-  Backport of #31747 to v1.51.x (Build native MacOS arm64 artifacts (universal2)) ([#32424](https://github.com/grpc/grpc/pull/32424))
Release v1.52.1: tag_name: v1.52.1
body: This is release 1.52.1 ([gribkoff](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.51.2: tag_name: v1.51.2
body: This is release gRPC Core 1.51.2 (galaxy).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.50.2: tag_name: v1.50.2
body: This is release gRPC Core 1.50.2 (galley).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.49.3: tag_name: v1.49.3
body: This is release 1.49.3 ([gamma](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.48.4: tag_name: v1.48.4
body: This is release 1.48.4 ([garum](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.47.4: tag_name: v1.47.4
body: This is release 1.47.4 ([gridman](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.46.7: tag_name: v1.46.7
body: This is release 1.46.7 ([golazo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.45.3: tag_name: v1.45.3
body: This is release 1.45.3 ([gravity](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.44.1: tag_name: v1.44.1
body: This is release 1.44.1 ([great](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgraded Boring SSL to address  [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)

Release v1.52.0: tag_name: v1.52.0
body: This is release 1.52.0 ([gribkoff](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  [༺ EventEngine ༻] Specify requirements for Run* immediate execution. ([#32028](https://github.com/grpc/grpc/pull/32028))
-  Tracing: Add annotations for when call is removed from resolver result queue and lb pick queue. ([#31913](https://github.com/grpc/grpc/pull/31913))
-  ring_hash LB: cap ring size to 4096 with channel arg to override. ([#31692](https://github.com/grpc/grpc/pull/31692))

C++
---

-  Cmake add separate export for plugin targets. ([#31525](https://github.com/grpc/grpc/pull/31525))

C#
---

-  Add internal documentation for Grpc.Tools MSBuild integration. ([#31784](https://github.com/grpc/grpc/pull/31784))

Python
---

-  Change Aio abort() function return type to NoReturn. ([#31984](https://github.com/grpc/grpc/pull/31984))
-  Change the annotated return type of `UnaryStreamCall` and `StreamStreamCall` from `AsyncIterable` to `AsyncIterator`. ([#31906](https://github.com/grpc/grpc/pull/31906))
-  Build native MacOS arm64 artifacts (universal2). ([#31747](https://github.com/grpc/grpc/pull/31747))
-  Respect CC variable in grpcio python build. ([#26480](https://github.com/grpc/grpc/pull/26480))
-  Revert "Build with System OpenSSL on Mac OS arm64 (#31096)". ([#31741](https://github.com/grpc/grpc/pull/31741))

Ruby
---

-  Backport "[ruby]: add pre-compiled binaries for ruby 3.2; drop them for ruby 2.6 #32089" to v1.52.x. ([#32157](https://github.com/grpc/grpc/pull/32157))
-  remove some default allocators. ([#30434](https://github.com/grpc/grpc/pull/30434))
-  Fix Ruby build errors in 3.2.0 on Apple M1. ([#31997](https://github.com/grpc/grpc/pull/31997))
-  [Ruby] build: make exported symbol files platform-specific. ([#31970](https://github.com/grpc/grpc/pull/31970))
Release v1.48.3: tag_name: v1.48.3
body: This is release 1.48.3 ([garum](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport to v1.48.x: Update zlib (#31357). ([#31596](https://github.com/grpc/grpc/pull/31596))
Release v1.52.0-pre2: tag_name: v1.52.0-pre2
body: This is a prerelease of gRPC Core 1.52.0 (gribkoff).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.47.3: tag_name: v1.47.3
body: This is release 1.47.3 ([gridman](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


All
---

-  Backport "Update zlib" to v1.47.x. ([#31597](https://github.com/grpc/grpc/pull/31597))
Release v1.52.0-pre1: tag_name: v1.52.0-pre1
body: This is a prerelease of gRPC Core 1.52.0 (gribkoff).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.46.6: tag_name: v1.46.6
body: This is release 1.46.6 ([golazo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

## All
Backport of #31357 to mitigate GHSA-cfmr-vrgj-vqwv (#31845)

## C#

Handle server Shutdown when no Start called (#31232)

[C#] Move insecure compose validation into Channel (#31376)

Work around UnaryCall hang with corrupt status detail string (#31853)
Release v1.49.2: tag_name: v1.49.2
body: This is release 1.49.2 ([gamma](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


All
---

-  Backport of https://github.com/grpc/grpc/pull/31357 to mitigate https://github.com/advisories/GHSA-cfmr-vrgj-vqwv [#31595](https://github.com/grpc/grpc/pull/31595)
Release v1.51.1: tag_name: v1.51.1
body: This is release gRPC Core 1.51.1 (galaxy).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Python
---

-  Revert "Build with System OpenSSL on Mac OS arm64 (#31096)". ([#31739](https://github.com/grpc/grpc/pull/31739))
Release v1.51.0: tag_name: v1.51.0
body: This is release gRPC Core 1.51.0 (galaxy).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Core
---

-  Bump core version 202211082118. ([#31585](https://github.com/grpc/grpc/pull/31585))
-  c-ares DNS resolver: fix logical race between resolution timeout/cancellation and fd readability. ([#31443](https://github.com/grpc/grpc/pull/31443))
-  [log] Longer space for filenames. ([#31432](https://github.com/grpc/grpc/pull/31432))
-  c-ares DNS resolver: remove unnecessary code in SRV callback. ([#31426](https://github.com/grpc/grpc/pull/31426))
-  Correct the domain-socket client address read out from the ServerContext. ([#31108](https://github.com/grpc/grpc/pull/31108))
-  outlier detection: remove env var protection. ([#31251](https://github.com/grpc/grpc/pull/31251))
-  EventEngineFactoryReset - remove custom factory and reset default engine. ([#30554](https://github.com/grpc/grpc/pull/30554))
-  [tls] Remove support for pthread tls. ([#31040](https://github.com/grpc/grpc/pull/31040))

C++
---

-  Added version macros to gRPC C++. ([#31033](https://github.com/grpc/grpc/pull/31033))
-  OpenCensus: Move measures, views and CensusContext to include file. ([#31341](https://github.com/grpc/grpc/pull/31341))
-  GcpObservability: Add experimental public target. ([#31339](https://github.com/grpc/grpc/pull/31339))

C#
---

-  Fix msbuild failing when '@' is present in path (2nd attempt). ([#31527](https://github.com/grpc/grpc/pull/31527))
-  Revert "Fix msbuild failing when '@' is present in path". ([#31464](https://github.com/grpc/grpc/pull/31464))
-  Fix msbuild failing when '@' is present in path. ([#31133](https://github.com/grpc/grpc/pull/31133))

PHP
---

-  fixing php 8.2 deprecations. ([#30997](https://github.com/grpc/grpc/pull/30997))

Python
---

-  Fix lack of cooldown between poll attempts. ([#31550](https://github.com/grpc/grpc/pull/31550))
-  Build with System OpenSSL on Mac OS arm64. ([#31096](https://github.com/grpc/grpc/pull/31096))
-  Remove enum and future. ([#31381](https://github.com/grpc/grpc/pull/31381))
-  [Remove Six] Remove dependency on six. ([#31340](https://github.com/grpc/grpc/pull/31340))
-  Update xds-protos package to pull in protobuf 4.X. ([#31113](https://github.com/grpc/grpc/pull/31113))


Release v1.51.0-pre1: tag_name: v1.51.0-pre1
body: This is a prerelease of gRPC Core 1.51.0 (galaxy).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.50.1: tag_name: v1.50.1
body: This is release gRPC Core 1.50.1 (galley).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

All
---

-  Fix Bazel 4 support and objc bazel tests on python3.9 ([#31410](https://github.com/grpc/grpc/pull/31410))

Release v1.50.0: tag_name: v1.50.0
body: This is release gRPC Core 1.50.0 (galley).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

-  Derive EventEngine from std::enable_shared_from_this. ([#31060](https://github.com/grpc/grpc/pull/31060))
-  Revert "Revert "[chttp2] fix stream leak with queued flow control update and absence of writes (#30907)" (#30991)". ([#30992](https://github.com/grpc/grpc/pull/30992))
-  [chttp2] fix stream leak with queued flow control update and absence of writes. ([#30907](https://github.com/grpc/grpc/pull/30907))
-  Remove `gpr_codegen`. ([#30899](https://github.com/grpc/grpc/pull/30899))
-  client_channel: allow LB policy to communicate update errors to resolver. ([#30809](https://github.com/grpc/grpc/pull/30809))
-  FaultInjection: Fix random number generation. ([#30623](https://github.com/grpc/grpc/pull/30623))

C++
---

-  OpenCensus Plugin: Add measure and views for started RPCs. ([#31034](https://github.com/grpc/grpc/pull/31034))

C#
---

-  Grpc.Tools: Parse warnings from libprotobuf (fix #27502). ([#30371](https://github.com/grpc/grpc/pull/30371))
-  Grpc.Tools add support for env variable GRPC_PROTOC_PLUGIN (fix #27099). ([#30411](https://github.com/grpc/grpc/pull/30411))
-  Grpc.Tools document AdditionalImportDirs. ([#30405](https://github.com/grpc/grpc/pull/30405))
-  Fix OutputOptions and GrpcOutputOptions (issue #25950). ([#30410](https://github.com/grpc/grpc/pull/30410))

Python
---

-  Support Python 3.11. ([#30818](https://github.com/grpc/grpc/pull/30818))

Ruby
---

-  Fix ruby windows ucrt build. ([#31051](https://github.com/grpc/grpc/pull/31051))
-  Drop support for ruby 2.5. ([#30699](https://github.com/grpc/grpc/pull/30699))

Release v1.50.0-pre1: tag_name: v1.50.0-pre1
body: This is a prerelease of gRPC Core 1.50.0 (galley).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.49.1: tag_name: v1.49.1
body: This is release 1.49.1 ([gamma](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


All
---

-  Update protobuf to v21.6 on 1.49.x. ([#31028](https://github.com/grpc/grpc/pull/31028))

Ruby
---

-  Backport "Fix ruby windows ucrt build #31051" to 1.49.x. ([#31053](https://github.com/grpc/grpc/pull/31053))
Release v1.46.5: tag_name: v1.46.5
body: This is release 1.46.5 ([golazo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


All
---

-  Update protobuf to v3.19.5 on v1.46.x. ([#31032](https://github.com/grpc/grpc/pull/31032))

Core
---

-  Backport to 1.46.x: priority and ring_hash LBs: fix interactions when using ring_hash under priority (#29332). ([#30253](https://github.com/grpc/grpc/pull/30253))
-  Backport to v1.46.x: ring hash: fix picker propagation bug in xds_cluster_manager policy (#29959). ([#30254](https://github.com/grpc/grpc/pull/30254))

C#
---

-  Fix client resource leaks-issues 8451 and 28153. ([#30290](https://github.com/grpc/grpc/pull/30290))

Release v1.48.2: tag_name: v1.48.2
body: This is release 1.48.2 ([garum](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


All
---

-  Update protobuf to v3.19.5 on v1.48.x. ([#31029](https://github.com/grpc/grpc/pull/31029))
Release v1.47.2: tag_name: v1.47.2
body: This is release 1.47.2 ([gridman](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


All
---

-  Update protobuf to v3.19.5 on v1.47.x. ([#31031](https://github.com/grpc/grpc/pull/31031))
Release v1.49.0: tag_name: v1.49.0
body: This is release 1.49.0 ([gamma](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport: "stabilize the C2P resolver URI scheme" to v1.49.x. ([#30654](https://github.com/grpc/grpc/pull/30654))
-  Bump core version. ([#30588](https://github.com/grpc/grpc/pull/30588))
-  Update OpenCensus to HEAD. ([#30567](https://github.com/grpc/grpc/pull/30567))
-  Update protobuf submodule to 3.21.5. ([#30548](https://github.com/grpc/grpc/pull/30548))
-  Update third_party/protobuf to 3.21.4. ([#30377](https://github.com/grpc/grpc/pull/30377))
-  [core] Remove GRPC_INITIAL_METADATA_CORKED flag. ([#30443](https://github.com/grpc/grpc/pull/30443))
-  HTTP2: Fix keepalive time throttling. ([#30164](https://github.com/grpc/grpc/pull/30164))
-  Use AnyInvocable in EventEngine APIs. ([#30220](https://github.com/grpc/grpc/pull/30220))

Python
---

-  Support Python 3.11 (#30818). ([#30944](https://github.com/grpc/grpc/pull/30944))
-  Add type stub generation support to grpcio-tools. ([#30498](https://github.com/grpc/grpc/pull/30498))

Ruby
---

-  Backport "Drop support for ruby 2.5 (#30699)" to v1.49.x. ([#30762](https://github.com/grpc/grpc/pull/30762))


Release v1.49.0-pre3: tag_name: v1.49.0-pre3
body: This is a prerelease of gRPC Core 1.49.0 (gamma).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.49.0-pre2: tag_name: v1.49.0-pre2
body: This is a prerelease of gRPC Core 1.49.0 (gamma).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.48.1: tag_name: v1.48.1
body: This is release 1.48.1 ([garum](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport EventEngine Forkables. ([#30605](https://github.com/grpc/grpc/pull/30605))

Release v1.49.0-pre1: tag_name: v1.49.0-pre1
body: This is a prerelease of gRPC Core 1.49.0 (gamma).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.48.0: tag_name: v1.48.0
body: This is release 1.48.0 ([garum](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Upgrade Abseil to LTS 20220623.0 . ([#30155](https://github.com/grpc/grpc/pull/30155))
-  Call: Send cancel op down the stack even when no ops are sent. ([#30004](https://github.com/grpc/grpc/pull/30004))
-  FreeBSD system roots implementation. ([#29436](https://github.com/grpc/grpc/pull/29436))
-  xDS: Workaround to get gRPC clients working with istio. ([#29841](https://github.com/grpc/grpc/pull/29841))

Python
---

-  Set Correct Platform Tag in Wheels on Mac OS with Python 3.10. ([#29857](https://github.com/grpc/grpc/pull/29857))
-  [Aio] Ensure Core channel closes when deallocated. ([#29797](https://github.com/grpc/grpc/pull/29797))
-  [Aio] Fix the wait_for_termination return value. ([#29795](https://github.com/grpc/grpc/pull/29795))

Ruby
---

-  Make the gem build on TruffleRuby. ([#27660](https://github.com/grpc/grpc/pull/27660))
-  Support for prebuilt Ruby binary on x64-mingw-ucrt platform. ([#29684](https://github.com/grpc/grpc/pull/29684))
-  [Ruby] Add ruby_abi_version to exported symbols. ([#28976](https://github.com/grpc/grpc/pull/28976))

Objective-C
---

First developer preview of XCFramework binary distribution via Cocoapod (#28749). 

This brings in significant speed up to local compile time and includes support for Apple Silicon build.
-  The following binary pods are made available for ObjC V1 & V2 API
    -  gRPC-XCFramework (source pod gRPC) 
    -  gRPC-ProtoRPC-XCFramework (source pod gRPC-ProtoRPC)
-  The following platforms and architectures are included
    -  ios: armv7, arm64 for device. arm64, i386, x86_64 for simulator
    -  macos: x86_64 (Intel), arm64 (Apple Silicon)

Release v1.47.1: tag_name: v1.47.1
body: This is release gRPC Core 1.47.1 (gridman).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.


Core
---

* [Backport] Using string rep for status-time (#30123) #30145
* [Backport] Tell MSVC to build grpc with utf-8 (#30003) #30153
* [Backport] Ring hash: fix picker propagation bug in xds_cluster_manager policy (#29959) #30241

Release v1.46.4: tag_name: v1.46.4
body: This is release gRPC Core 1.46.4 (golazo).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Core
---

* [Backport] Using string rep for status-time (#30123) #30146


Release v1.48.0-pre1: tag_name: v1.48.0-pre1
body: This is a prerelease of gRPC Core 1.48.0 (garum).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.47.0: tag_name: v1.47.0
body: This is release 1.47.0 ([gridman](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Announcement
---
gRPC C++ 1.47.0 is the first release requiring C++14 ([proposal](https://github.com/grpc/proposal/blob/master/L98-requiring-cpp14.md)). For those who cannot upgrade to C++14 right now, you can use gRPC C++ 1.46.x in the meantime and gRPC C++ 1.46.x will be maintained by having fixes for critical bugs (P0) and security fixes until 2023-06-01.

Core
---

-  xDS: Workaround to get gRPC clients working with istio (#29841). ([#29850](https://github.com/grpc/grpc/pull/29850))
-  Bump core version to 25.0.0 for upcoming release. ([#29775](https://github.com/grpc/grpc/pull/29775))
-  Initial support for Haiku. ([#27793](https://github.com/grpc/grpc/pull/27793))
-  Add NetBSD support (Community-supported). ([#29542](https://github.com/grpc/grpc/pull/29542))
-  server: per-rpc backend metric reporting. ([#29621](https://github.com/grpc/grpc/pull/29621))
-  Remove C# implementation (individual packages will continue to be maintained through v2.46.x patches or moved to grpc-dotnet). ([#29225](https://github.com/grpc/grpc/pull/29225))

C++
---

-  Expose NoOpCertificateVerifier to C++. ([#29322](https://github.com/grpc/grpc/pull/29322))
-  RouteGuide example: Abort if database file not found. ([#29398](https://github.com/grpc/grpc/pull/29398))

C#
---

-  C#: Suppress CS8981 in generated source. ([#29708](https://github.com/grpc/grpc/pull/29708))

Python
---

-  Set Correct Platform Tag in Wheels on Mac OS with Python 3.10 (#29857). ([#30026](https://github.com/grpc/grpc/pull/30026))
-  Removed manylinux2010 python artifacts. ([#29734](https://github.com/grpc/grpc/pull/29734))
-  Allow grpcio to be built against system abseil-cpp. ([#27550](https://github.com/grpc/grpc/pull/27550))
-  [Python] Add an UDS example. ([#29592](https://github.com/grpc/grpc/pull/29592))

Ruby
---

-  Backport "Support for prebuilt Ruby binary on x64-mingw-ucrt platform (#29684)" to 1.47.x. ([#29868](https://github.com/grpc/grpc/pull/29868))
-  Upgrade ruby rake-compiler-dock images (and stop building ruby gem artifacts on mac, in favor of rake-compile-dock darwin builds). ([#29304](https://github.com/grpc/grpc/pull/29304))

Other
---

-  Downgrade io_bazel_rules_go to v0.27.0 restore Bazel 3.x support. ([#29596](https://github.com/grpc/grpc/pull/29596))
Release v1.47.0-pre1: tag_name: v1.47.0-pre1
body: This is a prerelease of gRPC Core 1.47.0 (gridman).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.46.3: tag_name: v1.46.3
body: This is release gRPC Core 1.46.3 (golazo).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Core
---

* backport: xds: use federation env var to guard new-style resource name parsing (#29725) #29727


Release v1.46.2: tag_name: v1.46.2
body: This is release gRPC Core 1.46.2 (golazo).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Ruby
---

-  Backport "[Ruby]fix a rake compile error since rake-compiler ~> 1.1 (#28666)". ([#29656](https://github.com/grpc/grpc/pull/29656))
-  Backport "Upgrade ruby rake-compiler-dock images (#29304)". ([#29657](https://github.com/grpc/grpc/pull/29657))

Release v1.46.1: tag_name: v1.46.1
body: This is release gRPC Core 1.46.1 (golazo).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes.

Release v1.46.0: tag_name: v1.46.0
body: This is release 1.46.0 ([golazo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Announcement
---
gRPC C++ 1.46 will be the last release supporting C++11, future releases will require C++ >= 14. We plan to backport critical (P0) bugs and security fixes to this release for a year, that is, until 2023-06-01. This change won't bump the major version of gRPC since this doesn't introduce API changes. Hence, the next version requiring C++14 will be 1.47 ([context](https://github.com/grpc/proposal/pull/299)).

Core
---

-  Ignore Connection Aborted errors on accept. ([#29318](https://github.com/grpc/grpc/pull/29318))
-  Filter `content-length` metadata from the application. ([#29295](https://github.com/grpc/grpc/pull/29295))
-  RetryFilter: Cleanup pending byte stream. ([#29245](https://github.com/grpc/grpc/pull/29245))
-  HTTP Proxy: Ignore empty entry in no_proxy list. ([#29217](https://github.com/grpc/grpc/pull/29217))
-  Adding http/1.1 support in httpcli. ([#29238](https://github.com/grpc/grpc/pull/29238))
-  HTTP2: Initiate write for acknowledging SETTINGS frame. ([#29218](https://github.com/grpc/grpc/pull/29218))
-  Change the unsupported polling strategy log for forking to GPR_INFO. ([#29232](https://github.com/grpc/grpc/pull/29232))
-  Handle SSL_ERROR_WANT_WRITE error. ([#29176](https://github.com/grpc/grpc/pull/29176))
-  TCP Async Connect: Fix Heap use-after-free. ([#29209](https://github.com/grpc/grpc/pull/29209))
-  HTTP2: Add graceful goaway. ([#29050](https://github.com/grpc/grpc/pull/29050))
-  Remove epollex poller. ([#29160](https://github.com/grpc/grpc/pull/29160))
-  TlsCredentials: Comparator implementation. ([#28940](https://github.com/grpc/grpc/pull/28940))
-  Decrease verbosity of alts handshaker logs which can happen during cancellation. ([#29058](https://github.com/grpc/grpc/pull/29058))
-  HTTP2: Should not run cancelling logic on servers when receiving GOAWAY. ([#29067](https://github.com/grpc/grpc/pull/29067))
-  HTTP2: Don't throttle pings from the server. ([#29053](https://github.com/grpc/grpc/pull/29053))
-  Include ADS stream error in XDS error updates. ([#29014](https://github.com/grpc/grpc/pull/29014))
-  Remove idempotent/cacheable requests. ([#28922](https://github.com/grpc/grpc/pull/28922))

C++
---

-  Add bazel cpp distribtest for grpc_cc_library. ([#29175](https://github.com/grpc/grpc/pull/29175))

C#
---

-  Add support for grpc-dotnet in GKE benchmarks. ([#28975](https://github.com/grpc/grpc/pull/28975))
-  Sync unary call after shutdown: Add a repro and fix for #19090 . ([#23003](https://github.com/grpc/grpc/pull/23003))
-  Remove C# Legacy (a.k.a. "Classic") csproj example. ([#29102](https://github.com/grpc/grpc/pull/29102))

Python
---

-  Add Python GCF Distribtest. ([#29303](https://github.com/grpc/grpc/pull/29303))
-  Add Python Reflection Client. ([#29085](https://github.com/grpc/grpc/pull/29085))
-  Revert "Fix prefork handler register's default behavior". ([#29229](https://github.com/grpc/grpc/pull/29229))
-  Fix prefork handler register's default behavior. ([#29103](https://github.com/grpc/grpc/pull/29103))
-  Fix fetching CXX variable in setup.py. ([#28873](https://github.com/grpc/grpc/pull/28873))

Ruby
---

-  Support pre-built binaries for Ruby 3.1. ([#29000](https://github.com/grpc/grpc/pull/29000))
-  Make sure to always receive initial metadata in ruby. ([#29155](https://github.com/grpc/grpc/pull/29155))

Release v1.46.0-pre2: tag_name: v1.46.0-pre2
body: This is a prerelease of gRPC Core 1.46.0 (golazo).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.46.0-pre1: tag_name: v1.46.0-pre1
body: This is a prerelease of gRPC Core 1.46.0 (golazo).

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This prerelease contains refinements, improvements, and bug fixes.

Release v1.45.2: tag_name: v1.45.2
body: This is release 1.45.2 ([gravity](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

- Various fixes related to XDS (https://github.com/grpc/grpc/pull/29314, https://github.com/grpc/grpc/pull/29340, https://github.com/grpc/grpc/pull/29339) 
- HTTP2: Should not run cancelling logic on servers when receiving GOAWAY (https://github.com/grpc/grpc/pull/29307)

Release v1.45.1: tag_name: v1.45.1
body: This is release 1.45.1 ([gravity](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

-  Switched to epoll1 as a default polling engine for Linux ([#29239](https://github.com/grpc/grpc/pull/29239))
-  Various fixes related to XDS (https://github.com/grpc/grpc/pull/29240, https://github.com/grpc/grpc/pull/29242,  https://github.com/grpc/grpc/pull/29243,  https://github.com/grpc/grpc/pull/29244, https://github.com/grpc/grpc/pull/29280)
   
Python
---

-  Revert "Remove GRPC_ENABLE_FORK_SUPPORT from setup.py" ([#29230](https://github.com/grpc/grpc/pull/29230))

Release v1.45.0: tag_name: v1.45.0
body: This is release 1.45.0 ([gravity](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport "Include ADS stream error in XDS error updates (#29014)" to 1.45.x. ([#29121](https://github.com/grpc/grpc/pull/29121))
-  Bump core version to 23.0.0 for upcoming release. ([#29026](https://github.com/grpc/grpc/pull/29026))
-  Fix memory leak in HTTP request security handshake cancellation. ([#28971](https://github.com/grpc/grpc/pull/28971))
-  CompositeChannelCredentials: Comparator implementation. ([#28902](https://github.com/grpc/grpc/pull/28902))
-  Delete custom iomgr. ([#28816](https://github.com/grpc/grpc/pull/28816))
-  Implement transparent retries. ([#28548](https://github.com/grpc/grpc/pull/28548))
-  Uniquify channel args keys. ([#28799](https://github.com/grpc/grpc/pull/28799))
-  Set trailing_metadata_available for recv_initial_metadata ops when generating a fake status. ([#28827](https://github.com/grpc/grpc/pull/28827))
-  Eliminate gRPC insecure build. ([#25586](https://github.com/grpc/grpc/pull/25586))
-  Fix for a racy WorkSerializer shutdown. ([#28769](https://github.com/grpc/grpc/pull/28769))
-  InsecureCredentials: singleton object. ([#28777](https://github.com/grpc/grpc/pull/28777))
-  Add http cancel api. ([#28354](https://github.com/grpc/grpc/pull/28354))
-  Memory leak fix on windows in grpc_tcp_create(). ([#27457](https://github.com/grpc/grpc/pull/27457))
-  xDS: Rbac filter updates. ([#28568](https://github.com/grpc/grpc/pull/28568))

C++
---

-  Bump the minimum gcc to 5. ([#28786](https://github.com/grpc/grpc/pull/28786))
-  Add experimental API for CRL checking support to gRPC C++ TlsCredentials. ([#28407](https://github.com/grpc/grpc/pull/28407))

C#
---

-  [C#] Add cancellation token overloads to streaming interfaces. ([#27886](https://github.com/grpc/grpc/pull/27886))
-  [C#] Grpc.Core.Api nullable fixes. ([#28616](https://github.com/grpc/grpc/pull/28616))

Objective-C
---

-  Patch GRPCCallOptions to use nonatomic properties. ([#28972](https://github.com/grpc/grpc/pull/28972))

Python
---

-  Reimplement Gevent Integration. ([#28276](https://github.com/grpc/grpc/pull/28276))
-  Support musllinux binary wheels on x64 and x86. ([#28092](https://github.com/grpc/grpc/pull/28092))
-  Increase the Python protobuf requirement to >=3.12.0. ([#28604](https://github.com/grpc/grpc/pull/28604))

Other
---

-  Upgrade googletest. ([#27287](https://github.com/grpc/grpc/pull/27287))

Release v1.45.0-pre1: tag_name: v1.45.0-pre1
body: This is a prerelease of gRPC Core 1.45.0 (gravity).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.44.0: tag_name: v1.44.0
body: This is release 1.44.0 ([great](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  xDS: Rbac filter updates (#28568). ([#28608](https://github.com/grpc/grpc/pull/28608))
-  Fix xDS client for multiple watchers. ([#28521](https://github.com/grpc/grpc/pull/28521))
-  bump C-core version for upcoming release. ([#28527](https://github.com/grpc/grpc/pull/28527))
-  Add a trace to list which filters are contained in a channel stack. ([#28530](https://github.com/grpc/grpc/pull/28530))
-  Remove grpc_httpcli_context. ([#27867](https://github.com/grpc/grpc/pull/27867))
-  xDS: Add support for RBAC HTTP filter. ([#28309](https://github.com/grpc/grpc/pull/28309))
-  API to cancel grpc_resolve_address. ([#27883](https://github.com/grpc/grpc/pull/27883))
-  Replace work serializer with a mutex in c-ares resolver. ([#27858](https://github.com/grpc/grpc/pull/27858))
-  xDS: Add graceful shutdown for old connections on listener resource update. ([#28154](https://github.com/grpc/grpc/pull/28154))

C++
---

-  Promote ClientContext::set_wait_for_ready to be non-experimental. ([#28247](https://github.com/grpc/grpc/pull/28247))

C#
---

-  Only apply "singleplatform" nuget suffix when actually needed. ([#28677](https://github.com/grpc/grpc/pull/28677))
-  [C#] Add ConfigureAwait to AsyncUnaryCall and AsyncClientStreamingCall. ([#28235](https://github.com/grpc/grpc/pull/28235))

Python
---

-  Add python async example for hellostreamingworld using generator. ([#27343](https://github.com/grpc/grpc/pull/27343))
-  Disable __wrap_memcpy hack for Python builds. ([#28410](https://github.com/grpc/grpc/pull/28410))
-  Bump Bazel Python Cython dependency to 0.29.26. ([#28398](https://github.com/grpc/grpc/pull/28398))
-  Fix libatomic linking on Raspberry Pi OS Bullseye. ([#28041](https://github.com/grpc/grpc/pull/28041))
-  Allow generated proto sources in remote repositories for py_proto_library. ([#28103](https://github.com/grpc/grpc/pull/28103))

Ruby
---

-  Remove ruby 2.4 support. ([#28522](https://github.com/grpc/grpc/pull/28522))
-  Add an env var to override make parallelism in ruby build. ([#28250](https://github.com/grpc/grpc/pull/28250))

Release v1.44.0-pre2: tag_name: v1.44.0-pre2
body: This is a prerelease of gRPC Core 1.44.0 (great).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.43.2: tag_name: v1.43.2
body: This is release 1.43.2 ([green](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

-  Fix google-c2p-experimental issue ([#28692](https://github.com/grpc/grpc/pull/28692))

Release v1.44.0-pre1: tag_name: v1.44.0-pre1
body: This is a prerelease of gRPC Core 1.44.0 (great).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.43.0: tag_name: v1.43.0
body: This is release 1.43.0 ([green](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Remove redundant work serializer usage in c-ares windows code. ([#28016](https://github.com/grpc/grpc/pull/28016))
-  Support RDS updates on the server. ([#27851](https://github.com/grpc/grpc/pull/27851))
-  Use WorkSerializer in XdsClient to propagate updates in a synchronized manner. ([#27975](https://github.com/grpc/grpc/pull/27975))
-  Support Custom Post-handshake Verification in TlsCredentials. ([#25631](https://github.com/grpc/grpc/pull/25631))
-  Reintroduce the EventEngine default factory. ([#27920](https://github.com/grpc/grpc/pull/27920))
-  Assert Android API >= v21. ([#27943](https://github.com/grpc/grpc/pull/27943))
-  Add support for abstract unix domain sockets. ([#27906](https://github.com/grpc/grpc/pull/27906))

C++
---

-  OpenCensus: Move metadata storage to arena. ([#27948](https://github.com/grpc/grpc/pull/27948))

C#
---

-  [C#] Add nullable type attributes to Grpc.Core.Api. ([#27887](https://github.com/grpc/grpc/pull/27887))

Objective-C
---

-  Revert "Revert "[objc] GRPCMetadataDictionary convenient typedef"". ([#27882](https://github.com/grpc/grpc/pull/27882))

Python
---

-  [Aio] Validate the input type for set_trailing_metadata and abort. ([#27958](https://github.com/grpc/grpc/pull/27958))


Release v1.43.0-pre1: tag_name: v1.43.0-pre1
body: This is a prerelease of gRPC Core 1.43.0 (green).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.42.0: tag_name: v1.42.0
body: This is release 1.42.0 ([granola](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Update RDS parsing for use on servers. ([#27715](https://github.com/grpc/grpc/pull/27715))
-  Upgrade Abseil to LTS 20210324, Patch 2. ([#27811](https://github.com/grpc/grpc/pull/27811))
-  Upgrade bazel to 4.2.1 (LTS), upgrade bazel toolchain to 4.1.0. ([#27410](https://github.com/grpc/grpc/pull/27410))
-  Remove old backwards compatibility cronet compression workaround code. ([#27701](https://github.com/grpc/grpc/pull/27701))
-  EventEngine Test Suite: Timers. ([#27496](https://github.com/grpc/grpc/pull/27496))
-  EventEngine::Closure. ([#27395](https://github.com/grpc/grpc/pull/27395))
-  OpenCensusCallTracer: Move context generation to StartTransportStreamOpBatch. ([#27523](https://github.com/grpc/grpc/pull/27523))
-  Fix client idle filter. ([#27611](https://github.com/grpc/grpc/pull/27611))
-  allow connectivity state watching to work on lame channels. ([#27747](https://github.com/grpc/grpc/pull/27747))
-  grpclb: implement subchannel caching. ([#27657](https://github.com/grpc/grpc/pull/27657))
-  xds: change CSDS to populate new generic_xds_configs field. ([#27794](https://github.com/grpc/grpc/pull/27794))

C++
---

-  Describe support-levels for undocumented supported platforms. ([#27363](https://github.com/grpc/grpc/pull/27363))

C#
---

-  Fix link error when building app with Xamarin.iOS. ([#27345](https://github.com/grpc/grpc/pull/27345))
-  C#: metadata.Get and GetAll should accept uppercase keys. ([#27383](https://github.com/grpc/grpc/pull/27383))
-  Fix use-after-free metadata corruption in C# when receiving response headers for streaming response calls. ([#27382](https://github.com/grpc/grpc/pull/27382))

Objective-C
---

-  [objc] GRPCErrorCode enum base type to int32_t. ([#27908](https://github.com/grpc/grpc/pull/27908))
-  [objc] Adding lightweight generic to GPRCCallOptions's initialMetadata prop . ([#27905](https://github.com/grpc/grpc/pull/27905))
-  [objc] GRPCMetadataDictionary convenient typedef. ([#27845](https://github.com/grpc/grpc/pull/27845))
-  [objc] Switch to proto forward declare for gRPC codegen plugin. ([#27444](https://github.com/grpc/grpc/pull/27444))

Python
---

-  Add Aspects to Bazel py_proto_library and py_grpc_library Rules. ([#27275](https://github.com/grpc/grpc/pull/27275))
-  [Aio] Add add_done_callback/done/cancelled methods to ServicerContext. ([#27767](https://github.com/grpc/grpc/pull/27767))
-  [Aio] Correct the typing of input metadata. ([#27768](https://github.com/grpc/grpc/pull/27768))
-  Address leak when using request stream interceptors (#25449). ([#27571](https://github.com/grpc/grpc/pull/27571))
-  Catch ExecuteBatchError in _consume_request_iterator. ([#27240](https://github.com/grpc/grpc/pull/27240))
-  [Aio] Resolve deprecated warnings from asyncio. ([#27635](https://github.com/grpc/grpc/pull/27635))
-  Create Bazel gevent test harness. ([#27507](https://github.com/grpc/grpc/pull/27507))
-  Add python_requires >=3.6 to grpcio-* packages. ([#27495](https://github.com/grpc/grpc/pull/27495))
-  fix: use == instead of is when comparing with a certain types of literals. ([#26519](https://github.com/grpc/grpc/pull/26519))
-  python: fix type annotation for the _metadata field. ([#27251](https://github.com/grpc/grpc/pull/27251))

Ruby
---

-  ruby: add arm64 darwin support. ([#25992](https://github.com/grpc/grpc/pull/25992))
-  ruby: build native Darwin gems using rake-compiler-dock. ([#25794](https://github.com/grpc/grpc/pull/25794))
Release v1.42.0-pre1: tag_name: v1.42.0-pre1
body: This is a prerelease of gRPC Core 1.42.0 (granola).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.41.1: tag_name: v1.41.1
body: This is release 1.41.0 (goat) of gRPC Core.

For gRPC documentation, see grpc.io. 


Release v1.41.0: tag_name: v1.41.0
body: This is release 1.41.0 ([goat](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  De-experimentalize XdsCredentials and XdsServerCredentials API. ([#26544](https://github.com/grpc/grpc/pull/26544))
-  xDS: Remove environmental variable guard for security. ([#27290](https://github.com/grpc/grpc/pull/27290))
-  xDS Security: Use new way to fetch certificate provider plugin instance config. ([#27264](https://github.com/grpc/grpc/pull/27264))
-  xDS server serving status: Use a struct to allow more fields to be added in the future. ([#27242](https://github.com/grpc/grpc/pull/27242))
-  Annotate impl/codegen with IWYU pragmas. ([#27252](https://github.com/grpc/grpc/pull/27252))
-  Update submodule envoy-api to origin/main. ([#27256](https://github.com/grpc/grpc/pull/27256))
-  Upgrade third_party/protobuf to v3.17.3. ([#27227](https://github.com/grpc/grpc/pull/27227))
-  update submodule boringssl-with-bazel with origin/master-with-bazel. ([#27208](https://github.com/grpc/grpc/pull/27208))
-  Delete libuv-iomgr implementation and GRPC_UV build option. ([#27188](https://github.com/grpc/grpc/pull/27188))
-  Allow access to Google API regional endpoints via Google Default Credentials. ([#27155](https://github.com/grpc/grpc/pull/27155))
-  Remove GPR_*_TLS macros except PTHREAD. ([#26974](https://github.com/grpc/grpc/pull/26974))
-  Limit initial window size increases and per-stream window delta. ([#26342](https://github.com/grpc/grpc/pull/26342))

C++
---

-  Bump version to v1.41.0-pre1. ([#27371](https://github.com/grpc/grpc/pull/27371))
-  De-experimentalize XdsServerBuilder. ([#27296](https://github.com/grpc/grpc/pull/27296))
-  C++ opencensus filter: Fix point of creating context for overall call. ([#27221](https://github.com/grpc/grpc/pull/27221))
-  Flag grpc++_test library testonly. ([#27214](https://github.com/grpc/grpc/pull/27214))
-  Add note on officially supported platforms. ([#22344](https://github.com/grpc/grpc/pull/22344))
-  Open census call attempt span name and attribute changes (#26889). ([#26902](https://github.com/grpc/grpc/pull/26902))
-  Open census call attempt span name and attribute changes. ([#26889](https://github.com/grpc/grpc/pull/26889))

C#
---

-  Backport #27382 to v1.41.x. ([#27398](https://github.com/grpc/grpc/pull/27398))
-  [csharp] Fix error loading library grpc_csharp_ext.*.dll on windows with non-ASCII encoding. ([#26762](https://github.com/grpc/grpc/pull/26762))
-  Annotate copied Content native lib items with package id to enable customization. ([#26725](https://github.com/grpc/grpc/pull/26725))

Objective-C
---

-  Objective-C: Fix issue with creating a Unix file socket. ([#26931](https://github.com/grpc/grpc/pull/26931))

Python
---

-  Use manylinux_2_17 instead of manylinux_2_24 tag for manylinux2014 aarch64 wheels. ([#27280](https://github.com/grpc/grpc/pull/27280))
-  Add Python 3.10 drop 3.5. ([#26074](https://github.com/grpc/grpc/pull/26074))
-  [Aio] Remove custom IO manager support. ([#27090](https://github.com/grpc/grpc/pull/27090))
Release v1.41.0-pre2: tag_name: v1.41.0-pre2
body: This is a prerelease of gRPC Core 1.41.0 (goat).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.40.0: tag_name: v1.40.0
body: This is release 1.40.0 ([guileless](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Update Envoy API to the latest version (2021-07-30). ([#26848](https://github.com/grpc/grpc/pull/26848))
-  Enable retries by default. ([#26766](https://github.com/grpc/grpc/pull/26766))
-  Add opentelemetry as a submodule for latest xDS API. ([#26850](https://github.com/grpc/grpc/pull/26850))
-  Pointing the protobuf submodule to the new URL. ([#26811](https://github.com/grpc/grpc/pull/26811))
-  Remove BUILD.gn. ([#26822](https://github.com/grpc/grpc/pull/26822))
-  Prevent race causing early-destruction of grpc_winsocket object when creating a TCP connection. ([#26642](https://github.com/grpc/grpc/pull/26642))
-  TLS Security Connector: Add an always-fail-handshaker when certificates are not ready. ([#26561](https://github.com/grpc/grpc/pull/26561))
-  Enable layering checks in the Bazel build. ([#26591](https://github.com/grpc/grpc/pull/26591))
-  Support user provided "scope" in JWT and GDC. ([#26577](https://github.com/grpc/grpc/pull/26577))

C++
---

-  C++ opencensus filter: Fix point of creating context for overall call. ([#27238](https://github.com/grpc/grpc/pull/27238))
-  Open census call attempt span name and attribute changes (#26889). ([#26957](https://github.com/grpc/grpc/pull/26957))
-  Open census filter: Use new internal stats API and record retry stats. ([#26739](https://github.com/grpc/grpc/pull/26739))
-  Add OpenCensus measures and views for retries. ([#26751](https://github.com/grpc/grpc/pull/26751))

Python
---

-  Add retry example for gRPC Python. ([#26829](https://github.com/grpc/grpc/pull/26829))
-  Remove Python 2.7 binary wheel generations. ([#26691](https://github.com/grpc/grpc/pull/26691))
-  [Aio][fix] catch application exception in request iterators. ([#26706](https://github.com/grpc/grpc/pull/26706))

Release v1.39.1: tag_name: v1.39.1
body: This is release 1.39.0 ([goofy](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.

C#
---

-  Fix C# protoc plugin argument parsing on 1.39.x ([#26897](https://github.com/grpc/grpc/pull/26897))

Release v1.39.0: tag_name: v1.39.0
body: This is release 1.39.0 ([goofy](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Initialize tcp_posix for CFStream when needed. ([#26530](https://github.com/grpc/grpc/pull/26530))
-  Update boringssl submodule. ([#26520](https://github.com/grpc/grpc/pull/26520))
-  Fix backup poller races. ([#26446](https://github.com/grpc/grpc/pull/26446))
-  I am back. ([#26464](https://github.com/grpc/grpc/pull/26464))
-  Use default port 443 in HTTP CONNECT request. ([#26331](https://github.com/grpc/grpc/pull/26331))

C++
---

-  New iomgr implementation backed by the EventEngine API. ([#26026](https://github.com/grpc/grpc/pull/26026))
-  async_unary_call: add a Destroy method, called by std::default_delete. ([#26389](https://github.com/grpc/grpc/pull/26389))
-  De-experimentalize C++ callback API. ([#25728](https://github.com/grpc/grpc/pull/25728))

C#
---

-  [C#] Add ChannelCredentials.SecureSsl property for better codecompletion with ChannelCredentials. ([#26472](https://github.com/grpc/grpc/pull/26472))
-  Better way of building protoc aarch64 artifacts. ([#26416](https://github.com/grpc/grpc/pull/26416))
-  Add C# plugin "file_suffix" option defaulting to "Grpc.cs". ([#26162](https://github.com/grpc/grpc/pull/26162))
-  Add "GeneratedCode" attribute to generated service stubs. ([#26164](https://github.com/grpc/grpc/pull/26164))

PHP
---

-  PHP: stop reading composer.json file just to read the version string. ([#26156](https://github.com/grpc/grpc/pull/26156))

Python
---

-  Python AIO: Match continuation typing on Interceptors. ([#26500](https://github.com/grpc/grpc/pull/26500))
-  Workaround #26279 by publishing manylinux_2_24 wheels instead of manylinux2014 on aarch64. ([#26430](https://github.com/grpc/grpc/pull/26430))
-  Fix zlib unistd.h import problem. ([#26374](https://github.com/grpc/grpc/pull/26374))
-  Handle gevent exception in gevent poller. ([#26058](https://github.com/grpc/grpc/pull/26058))

Ruby
---

-  Set XDS user agent in ruby via macros. ([#26268](https://github.com/grpc/grpc/pull/26268))

Release v1.39.0-pre1: tag_name: v1.39.0-pre1
body: This is a prerelease of gRPC Core 1.39.0 (g-word).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.38.1: tag_name: v1.38.1
body: This is release 1.38.1 ([guadalupe_river_park_conservancy](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


C#
---

-  Backport #26416 into v1.38.x. ([#26423](https://github.com/grpc/grpc/pull/26423))

Python
---

-  Backport #26430 and #26435 to v1.38.x. ([#26436](https://github.com/grpc/grpc/pull/26436))

Release v1.38.0: tag_name: v1.38.0
body: This is release 1.38.0 ([guadalupe_river_park_conservancy](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Invalidate ExecCtx now before computing timeouts in all repeating timer events using a WorkSerializer or combiner. ([#26086](https://github.com/grpc/grpc/pull/26086))
-  Revert #16288. ([#25827](https://github.com/grpc/grpc/pull/25827))
-  Fix use-after-unref bug in fault_injection_filter. ([#25903](https://github.com/grpc/grpc/pull/25903))
-  Fix #25897 to avoid crashes when certificates are not yet updated. ([#25899](https://github.com/grpc/grpc/pull/25899))
-  gRPC EventEngine Interface. ([#25795](https://github.com/grpc/grpc/pull/25795))
-  Allow the AWS_DEFAULT_REGION environment variable. ([#25760](https://github.com/grpc/grpc/pull/25760))

C++
---

-  s/OnServingStatusChange/OnServingStatusUpdate. ([#26010](https://github.com/grpc/grpc/pull/26010))
-  cmake: only install channelz if gRPC_USE_PROTO_LITE is off. ([#25772](https://github.com/grpc/grpc/pull/25772))

C#
---

-  Grpc.Tools: Use x64 protoc on macOS arm64. ([#26080](https://github.com/grpc/grpc/pull/26080))
-  Provide runtime/framework info in gRPC C# user agent string. ([#25889](https://github.com/grpc/grpc/pull/25889))

Python
---

-  Add grpcio-admin Python package. ([#26166](https://github.com/grpc/grpc/pull/26166))
-  Add CSDS API to Python. ([#26114](https://github.com/grpc/grpc/pull/26114))
-  Expose code and details from context on the server side. ([#25457](https://github.com/grpc/grpc/pull/25457))
-  Explicitly import importlib.abc; required on Python 3.10. Fixes #26062. ([#26083](https://github.com/grpc/grpc/pull/26083))
-  Fix potential deadlock on the GIL in AuthMetdataPlugin. ([#26009](https://github.com/grpc/grpc/pull/26009))
-  Introduce new Python package "xds_protos". ([#25975](https://github.com/grpc/grpc/pull/25975))
-  also build python3.6 aarch64 manylinux2014 wheel. ([#25928](https://github.com/grpc/grpc/pull/25928))
-  Remove async mark for set_trailing_metadata interface. ([#25814](https://github.com/grpc/grpc/pull/25814))

Ruby
---

-  ruby: use x86_64 binary on M1 macs. ([#25756](https://github.com/grpc/grpc/pull/25756))
-  Add ruby 3.0 support for mac binary packages. ([#25429](https://github.com/grpc/grpc/pull/25429))

Release v1.38.0-pre1: tag_name: v1.38.0-pre1
body: This is a prerelease of gRPC Core 1.38.0 (guadalupe_river_park_conservancy).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.37.1: tag_name: v1.37.1
body: This is release 1.37.1 ([gilded](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Fix #25897 to avoid crashes when certificates are not yet updated (#25899). ([#25965](https://github.com/grpc/grpc/pull/25965))
-  [Backport] Fix use-after-unref bug in fault_injection_filter. ([#25935](https://github.com/grpc/grpc/pull/25935))

C++
---

-  Enable channelz for xds_interop_client and xds_interop_server (#25939). ([#25968](https://github.com/grpc/grpc/pull/25968))

Python
---

-  Also build python3.6 aarch64 manylinux2014 wheel (backport to v1.37.x). ([#25944](https://github.com/grpc/grpc/pull/25944))
Release v1.37.0: tag_name: v1.37.0
body: This is release 1.37.0 ([gilded](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Bump up minimum supported clang to 4.0. ([#25443](https://github.com/grpc/grpc/pull/25443))
-  Use URI form of address for channelz listen node. ([#25785](https://github.com/grpc/grpc/pull/25785))
-  Implementation CSDS (xDS Config Dump). ([#25038](https://github.com/grpc/grpc/pull/25038))
-  Don't assume that c-ares won't retry failed writes in grpc_core::GrpcPolledFdWindows::SendVUDP. ([#25726](https://github.com/grpc/grpc/pull/25726))
-  Fix an infinite read loop with SRV record resolution on windows. ([#25672](https://github.com/grpc/grpc/pull/25672))
-  xDS status notifier. ([#25321](https://github.com/grpc/grpc/pull/25321))
-  Remove CAS loops in global subchannel pool and simplify subchannel refcounting. ([#25485](https://github.com/grpc/grpc/pull/25485))
-  Add missing security field to channelz Socket. ([#25593](https://github.com/grpc/grpc/pull/25593))
-  Disable check_call_host when server_verification_option is not GRPC_TLS_SERVER_VERIFICATION. ([#25577](https://github.com/grpc/grpc/pull/25577))

C++
---

-  Remove fault injection environmental variable guard. ([#25792](https://github.com/grpc/grpc/pull/25792))
-  Implement C++ Admin Interface API. ([#25753](https://github.com/grpc/grpc/pull/25753))
-  cmake: Reflect minor version change in SONAME for C++ and C#. ([#25617](https://github.com/grpc/grpc/pull/25617))
-  xDS Client-Side Fault Injection. ([#24354](https://github.com/grpc/grpc/pull/24354))

C#
---

-  [C#] Add buildTransitive directory to NuGet package. ([#25385](https://github.com/grpc/grpc/pull/25385))
-  Reduce Grpc.Core nuget size by generating separate .so with/without debug symbols for grpc_csharp_ext. ([#25729](https://github.com/grpc/grpc/pull/25729))
-  make Grpc C# work on aarch64 linux. ([#25717](https://github.com/grpc/grpc/pull/25717))
-  Add support for additional protoc arguments in Grpc.Tools. ([#25374](https://github.com/grpc/grpc/pull/25374))
-  C#: Use explicit native extension loading whenever possible. ([#25490](https://github.com/grpc/grpc/pull/25490))

Python
---

-  use boringssl asm optimizations in aarch64 wheel source build. ([#25453](https://github.com/grpc/grpc/pull/25453))
-  Clarify Guarantees about grpc.Future Interface. ([#25383](https://github.com/grpc/grpc/pull/25383))
-  Use crosscompilation to build python armv7 wheels. ([#25704](https://github.com/grpc/grpc/pull/25704))
-  [Aio] Add time_remaining method to ServicerContext. ([#25719](https://github.com/grpc/grpc/pull/25719))
-  Standardize all environment variable boolean configuration in python's setup.py. ([#25444](https://github.com/grpc/grpc/pull/25444))
-  Crosscompile python aarch64 wheels with dockcross. ([#25418](https://github.com/grpc/grpc/pull/25418))
-  Fix Signal Safety Issue. ([#25394](https://github.com/grpc/grpc/pull/25394))

Ruby
---

-  Cherry-pick PR #25429 "Add ruby 3.0 support for mac binary packages" to 1.37.x. ([#25869](https://github.com/grpc/grpc/pull/25869))
-  Include `GRPC::GenericService` from root namespace. ([#25153](https://github.com/grpc/grpc/pull/25153))
-  Ruby: support for PSM security. ([#25330](https://github.com/grpc/grpc/pull/25330))
Release v1.37.0-pre1: tag_name: v1.37.0-pre1
body: This is a prerelease of gRPC Core 1.37.0 (gilded).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.36.4: tag_name: v1.36.4
body: This is release 1.36.4 ([gummybear](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport "Fix an infinite read loop with SRV record resolution on windows" to 1.36.x. ([#25690](https://github.com/grpc/grpc/pull/25690))

Release v1.36.3: tag_name: v1.36.3
body: This is release 1.36.3 ([gummybear](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

Release v1.36.2: tag_name: v1.36.2
body: This is release 1.36.2 ([gummybear](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

Release v1.36.1: tag_name: v1.36.1
body: This is release 1.36.1 ([gummybear](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  back-port: add env var protection for google-c2p resolver. ([#25569](https://github.com/grpc/grpc/pull/25569))

Release v1.36.0: tag_name: v1.36.0
body: This is release 1.36.0 ([gummybear](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Remove unnecessary internal pollset set in c-ares DNS resolver. ([#25296](https://github.com/grpc/grpc/pull/25296))
-  Fix implicit declaration error in zlib + macOS. ([#24979](https://github.com/grpc/grpc/pull/24979))
-  Support Default Root Certs in Tls Credentials. ([#25018](https://github.com/grpc/grpc/pull/25018))

C++
---

-  Move third party identity C++ api out of experimental namespace. ([#25379](https://github.com/grpc/grpc/pull/25379))
-  refactor!: change error_details functions to templates. ([#25196](https://github.com/grpc/grpc/pull/25196))
-  Support ServerContext for callback API. ([#25175](https://github.com/grpc/grpc/pull/25175))

C#
---

-  [Backport] [C#] Use explicit native extension loading whenever possible. ([#25506](https://github.com/grpc/grpc/pull/25506))

PHP
---

-  PHP: support for PSM security. ([#25303](https://github.com/grpc/grpc/pull/25303))
-  PHP: fixed segfault on reused call object. ([#25245](https://github.com/grpc/grpc/pull/25245))
-  PHP: fixed phpunit 8 warnings. ([#25019](https://github.com/grpc/grpc/pull/25019))

Python
---

-  Implement Python Client and Server xDS Creds. ([#25365](https://github.com/grpc/grpc/pull/25365))

Ruby
---

-  Drop support for ruby 2.3. ([#25201](https://github.com/grpc/grpc/pull/25201))
Release v1.36.0-pre1: tag_name: v1.36.0-pre1
body: This is a prerelease of gRPC Core 1.36.0 (gummybear).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release 1.35.0: tag_name: v1.35.0
body: This is release 1.35.0 ([gecko](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport "Fix implicit declaration error in zlib + macOS #24979". ([#25133](https://github.com/grpc/grpc/pull/25133))
-  xDS features doc update for case insensitive prefix/full path matching. ([#24999](https://github.com/grpc/grpc/pull/24999))
-  Add darwin_arm64 and darwin_arm64e to c-ares config settings. ([#24872](https://github.com/grpc/grpc/pull/24872))
-  Add FileWatcher CertificateProvider. ([#24600](https://github.com/grpc/grpc/pull/24600))
-  Protect xds security code with the environment variable "GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT". ([#24780](https://github.com/grpc/grpc/pull/24780))

C++
---

-  Upgrade bazel to 3.7.1 (repository-wide). ([#25000](https://github.com/grpc/grpc/pull/25000))
-  Makefile: remove support for building protobuf, C++ libraries and executables. ([#24000](https://github.com/grpc/grpc/pull/24000))

C#
---

-  fix nuget package signing on Linux (do not use PublicSign=true on non-windows). ([#24980](https://github.com/grpc/grpc/pull/24980))
-  Remove C# as a supported language for xDS features. ([#24982](https://github.com/grpc/grpc/pull/24982))
-  Fix C# native library loading in .NET 5 single-file apps. ([#24744](https://github.com/grpc/grpc/pull/24744))

Python
---

-  Fix visibility of libprotobuf symbols in protoc_compiler.so on Mac. ([#24992](https://github.com/grpc/grpc/pull/24992))
-  [Aio] Correct type annotation of grpc.aio.ServicerContext.abort. ([#24946](https://github.com/grpc/grpc/pull/24946))
-  Add limit concurrent RPC feature to asyncio server. ([#24818](https://github.com/grpc/grpc/pull/24818))
-  [Aio] Fix the emtpy response handling in streaming RPC. ([#24801](https://github.com/grpc/grpc/pull/24801))
-  [Backport] Implement grpc.Future interface in SingleThreadedRendezvous. ([#24574](https://github.com/grpc/grpc/pull/24574))
-  [Backport] Make Python 2 an optional dependency for Bazel build. ([#24452](https://github.com/grpc/grpc/pull/24452))

Ruby
---

-  Fix implicit decalaration in rb_event_thread.c. ([#24962](https://github.com/grpc/grpc/pull/24962))
-  Base the ruby build off of latest rake-compiler-dock/manylinux14 images, add ruby 3.0 binary packages. ([#25070](https://github.com/grpc/grpc/pull/25070))
-  Ruby: add support to circuit_breaking xds interop test case. ([#25028](https://github.com/grpc/grpc/pull/25028))
-  Binary packages (for example, grpc-1.35.0-x86_64-linux.gem):
   -  Are now compatible with ruby 3.0
   -  Are now built off of manylinux14 (we no longer support Centos 6)

Release v1.34.1: tag_name: v1.34.1
body: This is release 1.34.1 (gauntlet) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release is a patch specifically for Python and C#, which adds three backported PRs:

- Backport "Fix visibility of libprotobuf symbols in protoc_compiler.so on Mac" to 1.34.x (#25010)
- Backport "Lazily import grpc_tools when using runtime stub/message generation" to 1.34.x (#25011)
- Backport "do not use \<PublicSign\>true\</PublicSign\> on non-windows" to 1.34.x (##24995)

Release v1.35.0-pre1: tag_name: v1.35.0-pre1
body: This is a pre-release of gRPC Core 1.35.0 (gecko).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.34.0: tag_name: v1.34.0
body: This is release 1.34.0 ([gauntlet](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases).

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Protect xds security code with the environment variable "GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT". ([#24782](https://github.com/grpc/grpc/pull/24782))
-  Add support for "unix-abstract:" URIs to support abstract unix domain sockets. ([#24500](https://github.com/grpc/grpc/pull/24500))
-  Increment Index when parsing not plumbed SAN fields. ([#24601](https://github.com/grpc/grpc/pull/24601))
-  Revert "Revert "Deprecate GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS"". ([#24518](https://github.com/grpc/grpc/pull/24518))
-  xds: Set status code to INVALID_ARGUMENT when NACKing. ([#24516](https://github.com/grpc/grpc/pull/24516))
-  Include stddef.h in address_sorting.h. ([#24514](https://github.com/grpc/grpc/pull/24514))
-  xds: Add support for case_sensitive option in RouteMatch. ([#24381](https://github.com/grpc/grpc/pull/24381))
-  Removing TLS workaround for Android NDK r12b. ([#24283](https://github.com/grpc/grpc/pull/24283))

C++
---

-  Fix --define=grpc_no_xds=true builds. ([#24503](https://github.com/grpc/grpc/pull/24503))
-  Experimental support and tests for CreateCustomInsecureChannelWithInterceptorsFromFd. ([#24362](https://github.com/grpc/grpc/pull/24362))

C#
---

-  Fix C# native library loading in .NET 5 single-file apps (backport to v1.34.x). ([#24853](https://github.com/grpc/grpc/pull/24853))
-  Make RIDs for the native dependencies in Grpc.Core arch specific. ([#24766](https://github.com/grpc/grpc/pull/24766))
-  Improve PlatformApis check for detecting Unity. ([#24714](https://github.com/grpc/grpc/pull/24714))
-  Fix to not require libc-dev on .NET 5 or later. ([#24485](https://github.com/grpc/grpc/pull/24485))
-  C#: Make Grpc.Core nuget slimmer by moving mobile support to Grpc.Core.Xamarin package. ([#24380](https://github.com/grpc/grpc/pull/24380))
-  C#: Stop supporting 32bit runtime for linux and macos . ([#24378](https://github.com/grpc/grpc/pull/24378))
-  Modernize C# HelloworldXamarin example. ([#24425](https://github.com/grpc/grpc/pull/24425))

Objective-C
---

-  Support swift package manager for grpc-core and grpc-cpp. ([#24571](https://github.com/grpc/grpc/pull/24571))
-  Add transport information into grpc-objc user-agent. ([#24253](https://github.com/grpc/grpc/pull/24253))
-  Bump iOS and OSX version. ([#24282](https://github.com/grpc/grpc/pull/24282))

PHP
---

-  PHP: add support for PHP 8 in PECL extension. ([#24621](https://github.com/grpc/grpc/pull/24621))
-  PHP: deprecate PHP 5 support from PECL extension. ([#24353](https://github.com/grpc/grpc/pull/24353))

Python
---

-  Incur setuptools as an dependency for grpcio_tools. ([#24752](https://github.com/grpc/grpc/pull/24752))
-  Stop the spamming log generated by ctrl-c for AsyncIO server. ([#24718](https://github.com/grpc/grpc/pull/24718))
-  [gRPC Easy] Make Well-Known Types Available to Runtime Protos. ([#24478](https://github.com/grpc/grpc/pull/24478))
-  Bump MACOSX_DEPLOYMENT_TARGET to 10.10 for Python. ([#24480](https://github.com/grpc/grpc/pull/24480))
-  Make Python 2 an optional dependency for Bazel build. ([#24407](https://github.com/grpc/grpc/pull/24407))
-  [Linux] [macOS] Support pre-compiled Python 3.9 wheels. ([#24356](https://github.com/grpc/grpc/pull/24356))

Ruby
---

-  Bump MACOSX_DEPLOYMENT_TARGET to 10.10 for Ruby. ([#24479](https://github.com/grpc/grpc/pull/24479))

Release v1.34.0-pre1: tag_name: v1.34.0-pre1
body: This is a prerelease of gRPC Core 1.34.0 (gauntlet).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.33.2: tag_name: v1.33.2
body: This is the 1.33.2 release ([geeky](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Deprecate GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS. ([#24063](https://github.com/grpc/grpc/pull/24063))
-  Expose Cronet error message to the application layer. ([#24083](https://github.com/grpc/grpc/pull/24083))
-  Remove grpc_channel_ping from surface API. ([#23894](https://github.com/grpc/grpc/pull/23894))
-  Do not send BDP pings if there is no receive side activity. ([#22997](https://github.com/grpc/grpc/pull/22997))

C++
---

-  Makefile: only support building deps from submodule. ([#23957](https://github.com/grpc/grpc/pull/23957))

C#
---

-  Add trimming attribute to BindServiceMethodAttribute. ([#24217](https://github.com/grpc/grpc/pull/24217))
-  Fix incremental build of csproj projects depending on grpc. ([#23391](https://github.com/grpc/grpc/pull/23391))

Python
---

-  [Backport] Implement grpc.Future interface in SingleThreadedRendezvous. ([#24574](https://github.com/grpc/grpc/pull/24574))
-  [Backport] Make Python 2 an optional dependency for Bazel build. ([#24452](https://github.com/grpc/grpc/pull/24452))
-  Allow asyncio API to be imported as grpc.aio. ([#24289](https://github.com/grpc/grpc/pull/24289))
-  [gRPC Easy] Fix import errors on Windows. ([#24124](https://github.com/grpc/grpc/pull/24124))
-  Make version check for importlib.abc in grpcio-tools more stringent. ([#24098](https://github.com/grpc/grpc/pull/24098))
Release v1.33.1: tag_name: v1.33.1
body: This is the 1.33.1 release ([geeky](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

Please see the notes for the previous releases here: https://github.com/grpc/grpc/releases. Please consult https://grpc.io/ for all inform
ation regarding this product.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Deprecate GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS. ([#24063](https://github.com/grpc/grpc/pull/24063))
-  Expose Cronet error message to the application layer. ([#24083](https://github.com/grpc/grpc/pull/24083))
-  Remove grpc_channel_ping from surface API. ([#23894](https://github.com/grpc/grpc/pull/23894))
-  Do not send BDP pings if there is no receive side activity. ([#22997](https://github.com/grpc/grpc/pull/22997))

C++
---

-  Makefile: only support building deps from submodule. ([#23957](https://github.com/grpc/grpc/pull/23957))

C#
---

-  Add trimming attribute to BindServiceMethodAttribute. ([#24217](https://github.com/grpc/grpc/pull/24217))
-  Fix incremental build of csproj projects depending on grpc. ([#23391](https://github.com/grpc/grpc/pull/23391))

Python
---

-  [Backport] Make Python 2 an optional dependency for Bazel build. ([#24452](https://github.com/grpc/grpc/pull/24452))
-  Allow asyncio API to be imported as grpc.aio. ([#24289](https://github.com/grpc/grpc/pull/24289))
-  [gRPC Easy] Fix import errors on Windows. ([#24124](https://github.com/grpc/grpc/pull/24124))
-  Make version check for importlib.abc in grpcio-tools more stringent. ([#24098](https://github.com/grpc/grpc/pull/24098))
Release v1.33.0-pre1: tag_name: v1.33.0-pre1
body: This is a prerelease of gRPC Core 1.33.0 (geeky).

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.

This prerelease contains refinements, improvements, and bug fixes.



Release v1.32.0: tag_name: v1.32.0
body: This is the 1.32.0 release ([giggle](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Remove stream from stalled lists on `remove_stream`. ([#23984](https://github.com/grpc/grpc/pull/23984))
-  Do not cancel RPC if send metadata size if larger than peer's limit. ([#23806](https://github.com/grpc/grpc/pull/23806))
-  Don't consider receiving non-OK status as an error for HTTP2. ([#19545](https://github.com/grpc/grpc/pull/19545))
-  Keepalive throttling. ([#23313](https://github.com/grpc/grpc/pull/23313))
-  Include the target_uri in "target uri is not valid" error messages. ([#23782](https://github.com/grpc/grpc/pull/23782))
-  Fix "cannot send compressed message large than 1024B" in cronet_transport. ([#23219](https://github.com/grpc/grpc/pull/23219))
-  Receive SETTINGS frame on clients before declaring subchannel READY. ([#23636](https://github.com/grpc/grpc/pull/23636))
-  Enabled GPR_ABSEIL_SYNC. ([#23372](https://github.com/grpc/grpc/pull/23372))
-  Experimental xDS v3 support. ([#23281](https://github.com/grpc/grpc/pull/23281))

C++
---

-  Upgrade bazel used for all tests to 2.2.0. ([#23902](https://github.com/grpc/grpc/pull/23902))
-  Remove test targets and test helper libraries from Makefile. ([#23813](https://github.com/grpc/grpc/pull/23813))
-  Fix repeated builds broken by re2's cmake. ([#23587](https://github.com/grpc/grpc/pull/23587))
-  Log the peer address of grpc_cli `CallMethod` RPCs to stderr. ([#23557](https://github.com/grpc/grpc/pull/23557))

C#
---

-  Use new protobuf serialization/deserialization API in C# marshallers. ([#23485](https://github.com/grpc/grpc/pull/23485))
-  Change port number in examples to avoid conflict with forbidden port on windows. ([#23879](https://github.com/grpc/grpc/pull/23879))
-  Fix C# server start when not all ports have been bound. ([#23858](https://github.com/grpc/grpc/pull/23858))

PHP
---

-  PHP: avoid destroy channel more than once. ([#23567](https://github.com/grpc/grpc/pull/23567))

Python
---

-  [gRPC Easy] GA: This release enables runtime import of .proto Files. ([gRFC](https://github.com/grpc/proposal/pull/175), [PR](https://github.com/grpc/grpc/pull/21458)) Together with support for simple stubs present since 1.29 ([#22218](https://github.com/grpc/grpc/pull/22218), [#21954](https://github.com/grpc/grpc/pull/21954)), this completes gRPC Easy. To start using these features, take a look at [the example](https://github.com/grpc/grpc/blob/v1.32.0-pre1/examples/python/no_codegen/greeter_client.py). If using simple stubs without runtime proto import, generated code must be regenerated with an up-to-date version of the `grpcio-tools` package.
-  [Aio] Graduation from experimental folder. ([#23240](https://github.com/grpc/grpc/pull/23240))
-  [Aio] Prevent call objects from outliving its parent channel or server. ([#23945](https://github.com/grpc/grpc/pull/23945))
-  [Aio] Add a fail-back polling mode for Windows+3.8+. ([#23783](https://github.com/grpc/grpc/pull/23783))
-  Raises an exception when port binding failed. ([#23632](https://github.com/grpc/grpc/pull/23632))
-  Implement compute_engine_channel_credentials in Python. ([#23203](https://github.com/grpc/grpc/pull/23203))
-  Fix bazel out directory when using external repo. ([#23633](https://github.com/grpc/grpc/pull/23633))

Ruby
---

-  Ruby: use absolute module name for request/response namespaces. ([#23765](https://github.com/grpc/grpc/pull/23765))
-  Copy channel args hash before appending ruby user agent. ([#23812](https://github.com/grpc/grpc/pull/23812))
-  Fix ruby segfault on nil optional creds params. ([#23670](https://github.com/grpc/grpc/pull/23670))
Release v1.32.0-pre1: tag_name: v1.32.0-pre1
body: This is a prerelease of gRPC Core 1.32.0 (giggle).

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.

This prerelease contains refinements, improvements, and bug fixes.

Python
---

- **[gRPC Easy GA (RC1)]**: This release enables runtime import of .proto Files. ([gRFC](https://github.com/grpc/proposal/pull/175), [PR](https://github.com/grpc/grpc/pull/21458)) Together with support for simple stubs present since 1.29 (#22218, #21954), this completes gRPC Easy. To start using these features, take a look at [the example](https://github.com/grpc/grpc/blob/v1.32.0-pre1/examples/python/no_codegen/greeter_client.py). If using simple stubs without runtime proto import, generated code must be regenerated with an up-to-date version of the `grpcio-tools` package.
Release v1.31.1: tag_name: v1.31.1
body: This is the 1.31.1 release ([galore](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release is a patch specifically for the Ruby bindings, which adds two backported PRs:
- Backport "Ruby: use absolute module name for request/response namespaces" to 1.31.x (https://github.com/grpc/grpc/pull/23830)
- Backport "Copy channel args hash before appending ruby user agent" to 1.31.x (https://github.com/grpc/grpc/pull/23826)
Release v1.31.0: tag_name: v1.31.0
body: This is the 1.31.0 release ([galore](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

The following new xDS functionality is added in this release:
- Requests matching based on [path](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-routematch) (prefix, full path and safe regex) and [headers](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-headermatcher).
- Requests routing to multiple clusters based on [weights](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-weightedcluster).
- The features supported in a given release are documented [here](https://github.com/grpc/grpc/blob/master/doc/grpc_xds_features.md).

Other changes:
-  Remove MAX_EPOLL_EVENTS_HANDLED_EACH_POLL_CALL to ensure timely processing of events. ([#23535](https://github.com/grpc/grpc/pull/23535))
-  Include the target name in top-level DNS error messages. ([#23493](https://github.com/grpc/grpc/pull/23493))
-  Remove xds-experimental URI scheme. ([#23463](https://github.com/grpc/grpc/pull/23463))
-  fix memory leak of grpc_resource_user_quota. ([#22201](https://github.com/grpc/grpc/pull/22201))
-  Store ref to the ExternalConnectivityWatcher in external_watchers_ map. ([#23418](https://github.com/grpc/grpc/pull/23418))
-  Update grpclb configuration with field "service_name". ([#22345](https://github.com/grpc/grpc/pull/22345))
-  Fix possible deadlock in RemoveExternalConnectivityWatcher. ([#23365](https://github.com/grpc/grpc/pull/23365))
-  Enable TLS 1.3 in the C-core and all wrapped languages. ([#23165](https://github.com/grpc/grpc/pull/23165))
-  Add message-size check before message decompression with ordering change. ([#23293](https://github.com/grpc/grpc/pull/23293))
-  Fix race condition caused by simultaneous updates on SSL server handshaker. ([#22647](https://github.com/grpc/grpc/pull/22647))
-  Add missing reset for ping clocks to avoid mistakenly sending GOAWAY frames due to 'too_many_pings'. ([#23145](https://github.com/grpc/grpc/pull/23145))

C++
---

-  Simplify makefile: Get rid of "install" rules with pure make, recommend cmake and bazel instead. ([#23412](https://github.com/grpc/grpc/pull/23412))
-  Replaced grpc::string with std::string. ([#23350](https://github.com/grpc/grpc/pull/23350))
-  Fix wrong version in gRPCConfigVersion.cmake and grpc++*.pc. ([#22982](https://github.com/grpc/grpc/pull/22982))

C#
---

-  Avoid collisions in cs files generated by Grpc.Tools. ([#22869](https://github.com/grpc/grpc/pull/22869))
-  Add Grpc.Auth support for Google.Apis.Auth.ITokenAccessWithHeaders. ([#21616](https://github.com/grpc/grpc/pull/21616))

Objective-C
---

-  Objc support PB runtime import override. ([#23298](https://github.com/grpc/grpc/pull/23298))

Python
---

-  [Aio] Support tuple and aio.Metadata interaction. ([#23556](https://github.com/grpc/grpc/pull/23556))
-  [Aio] Allows poller to bind to ephemeral loops in multiple threads. ([#23377](https://github.com/grpc/grpc/pull/23377))
-  [Aio] Hide init_grpc_aio and guard async API outside of AsyncIO context. ([#23280](https://github.com/grpc/grpc/pull/23280))
-  [Aio] Implement methods to access auth context and peer info. ([#23265](https://github.com/grpc/grpc/pull/23265))
-  Add protobuf as an "extras" dependency to grpcio package. ([#23170](https://github.com/grpc/grpc/pull/23170))
-  [Aio] Use Metadata type. ([#23045](https://github.com/grpc/grpc/pull/23045))
-  Avoid attribute error in __del__ of _ChannelCallState. ([#23176](https://github.com/grpc/grpc/pull/23176))
-  [gRPC Easy] Default wait_for_ready to True in simple stubs. ([#23163](https://github.com/grpc/grpc/pull/23163))
-  Propagate contextvars to auxiliary threads. ([#23107](https://github.com/grpc/grpc/pull/23107))
-  [gRPC Easy] Simplify channel credentials in simple stubs. ([#23153](https://github.com/grpc/grpc/pull/23153))

Ruby
---

-  Fix ruby protoc plugin when message is in another package. ([#23501](https://github.com/grpc/grpc/pull/23501))
-  Fix ruby 2.7 keyword arguments deprecation. ([#23419](https://github.com/grpc/grpc/pull/23419))
-  Make sure call creds user callbacks can't kill the ruby call credentials thread. ([#23333](https://github.com/grpc/grpc/pull/23333))
-  Fix auth plugin context use-after-free in ruby. ([#19756](https://github.com/grpc/grpc/pull/19756))
-  Add verbose logs for details around ruby call creds user callback invocation. ([#23327](https://github.com/grpc/grpc/pull/23327))


Release v1.31.0-pre2: tag_name: v1.31.0-pre2
body: This is a prerelease of gRPC Core 1.31.0 (galore).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.31.0-pre1: tag_name: v1.31.0-pre1
body: This is a prerelease of gRPC Core 1.31.0 (galore).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.30.2: tag_name: v1.30.2
body: This is the 1.30.2 release (gradius) of gRPC Core.

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.

This release is a patch specifically for the Ruby plugin to address #23490

Ruby
---

-  Fix ruby protoc plugin when message is in another package (https://github.com/grpc/grpc/pull/23501)
Release v1.30.1: tag_name: v1.30.1
body: This is the 1.30.1 release (gradius) of gRPC Core.

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.

This release is a patch specifically for the Ruby bindings to address #19195

Ruby
---

-  Backport https://github.com/grpc/grpc/pull/19756 to 1.30 (Fix auth plugin context use-after-free in ruby) (https://github.com/grpc/grpc/pull/23399)
Release v1.30.0: tag_name: v1.30.0
body: This is the 1.30.0 release ([gradius](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---
-  This release adds an xDS URI scheme called `xds`. This is the stable version of the scheme `xds-experimental` that was introduced in v1.28.0. `xds-experimental` scheme will be removed in subsequent releases so you must switch to `xds` scheme instead. `xds` scheme is a client side implementation of [xDSv2](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api) APIs. This allows a gRPC client written in C++, Python, Ruby, PHP and C#  to receive configuration from an xDSv2 API compatible server and use that configuration to load balance RPCs. In this release, only the virtual host matching, default path (`“”` or `“/”`) matching and cluster route action are supported. The features supported in a given release are documented [here](https://github.com/grpc/grpc/blob/master/doc/grpc_xds_features.md).
-  Remove unnamed typedef structs in src/core. ([#23082](https://github.com/grpc/grpc/pull/23082))
-  Support xDS via both `xds` and `xds-experimental` URI schemes. ([#23105](https://github.com/grpc/grpc/pull/23105))
-  Fix sorting of gRPCLB addresses when resolved via DNS. ([#23086](https://github.com/grpc/grpc/pull/23086))
-  Support local creds in grpc_cli. ([#23037](https://github.com/grpc/grpc/pull/23037))
-  Add some additional delay when sending pings without there being activity on receive side. ([#22932](https://github.com/grpc/grpc/pull/22932))
-  Added `GRPC_TSAN_SUPPRESSED` and `GRPC_ASAN_SUPPRESSED`. ([#22325](https://github.com/grpc/grpc/pull/22325))
-  Fail decompression when the gzip trailer is missing. ([#22929](https://github.com/grpc/grpc/pull/22929))
-  Include source address in tcp posix async connect errors. ([#22802](https://github.com/grpc/grpc/pull/22802))
-  Fix #19094 and #21947 - Fix HTTP status conversion inconsistencies. ([#22901](https://github.com/grpc/grpc/pull/22901))
-  Add `GRPC_ARG_HTTP_PROXY` channel argument. ([#20866](https://github.com/grpc/grpc/pull/20866))
-  Include the query type and name in all c-ares DNS error messages. ([#22865](https://github.com/grpc/grpc/pull/22865))
-  Include the destination address in synchronous TCP connect errors. ([#22868](https://github.com/grpc/grpc/pull/22868))
-  Use aligned calculation to determine transport stream from call data. ([#22730](https://github.com/grpc/grpc/pull/22730))
-  Fixing bug with `END_STREAM` if header has continuations. ([#22626](https://github.com/grpc/grpc/pull/22626))
-  Fail writes when End of stream has been received. ([#22668](https://github.com/grpc/grpc/pull/22668))

C++
---

-  Fix missing include for `std::string`. ([#23032](https://github.com/grpc/grpc/pull/23032))
-  Don't override cmake cxx standard when already set by the user. ([#22976](https://github.com/grpc/grpc/pull/22976))
-  Grpc.Tools: Fix cpp paths in tools to match actual codegen. ([#22113](https://github.com/grpc/grpc/pull/22113))
-  `TlsCredentialsOption` API optimization. ([#22873](https://github.com/grpc/grpc/pull/22873))
-  Fixed MinGW 7.3.0 shared library compile and link issues. ([#21720](https://github.com/grpc/grpc/pull/21720))
-  Fix interceptor batch method `FailHijackedRecvMessage` for async APIs. ([#22746](https://github.com/grpc/grpc/pull/22746))

C#
---

-  Reintroduce "C# expose C-core's debug error string in Status struct". ([#23148](https://github.com/grpc/grpc/pull/23148))
-  Fix C++ cleanup in Grpc.Tools. ([#22895](https://github.com/grpc/grpc/pull/22895))
-  C# expose C-core's debug error string in Status struct. ([#22891](https://github.com/grpc/grpc/pull/22891))
-  Fix properties in Grpc.Tools. ([#22896](https://github.com/grpc/grpc/pull/22896))
-  C#: add `SkipGrpcNativeLibs` flag (in Grpc.Core.targets). ([#22894](https://github.com/grpc/grpc/pull/22894))
-  Add helper methods for getting metadata values. ([#22743](https://github.com/grpc/grpc/pull/22743))

Objective-C
---

-  objc: add autogenerated header to generated files. ([#22871](https://github.com/grpc/grpc/pull/22871))
-  Moved `GRPCTypes` into its own grpc_objc_library. ([#22913](https://github.com/grpc/grpc/pull/22913))

PHP
---

-  PHP xDS Interop Client. ([#23056](https://github.com/grpc/grpc/pull/23056))
-  PHP: Fix crash in subprocess after fork(). ([#22774](https://github.com/grpc/grpc/pull/22774))

Python
---

-  Add Aio stream stream client interceptor support. ([#23092](https://github.com/grpc/grpc/pull/23092))
-  [Aio] Add AsyncIO support for Channelz. ([#22667](https://github.com/grpc/grpc/pull/22667))
-  Stop memory leak when Python channel is deallocated without invoking "close". ([#22855](https://github.com/grpc/grpc/pull/22855))
-  Expose ALTS client/server credentials in Python API. ([#22638](https://github.com/grpc/grpc/pull/22638))
-  [Aio] Stream Unary client interceptor. ([#22821](https://github.com/grpc/grpc/pull/22821))
-  [Aio] Make sync handlers runnable in AsyncIO server. ([#22812](https://github.com/grpc/grpc/pull/22812))
-  [Aio] Add AsyncIO support to grpcio-status. ([#22688](https://github.com/grpc/grpc/pull/22688))
-  [Aio] Implement the Unary Stream client interceptor. ([#22713](https://github.com/grpc/grpc/pull/22713))

Ruby
---

-  Fix Ruby 2.7 compatibility in `GenericService.underscore`. ([#20417](https://github.com/grpc/grpc/pull/20417))
-  Ruby: surface recv_status_op.error_string and into BadStatus exceptions. ([#22876](https://github.com/grpc/grpc/pull/22876))
-  Fix to use immutable string literal. ([#20867](https://github.com/grpc/grpc/pull/20867))
-  Fix YARD annotation of `GRPC::ClientInterceptor`. ([#22734](https://github.com/grpc/grpc/pull/22734))
-  Convert hash to keyword arguments for ruby 2.7. ([#22915](https://github.com/grpc/grpc/pull/22915))
-  Fix generating method output with nested resource. ([#22594](https://github.com/grpc/grpc/pull/22594))

Release v1.30.0-pre1: tag_name: v1.30.0-pre1
body: This is a prerelease of gRPC Core 1.30.0 (gradius).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.29.1: tag_name: v1.29.1
body: This is the 1.29.1 release ([gringotts](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.                                                                                                       
                                                                                                              
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.                                                    
                                                                                                              
This release contains refinements, improvements, and bug fixes, with highlights listed below.

PHP
---
- PHP: Fix include path for boringssl in windows build [#22993](https://github.com/grpc/grpc/pull/22993)

Objective-C
---
- --grpc_out: protoc-gen-grpc: Plugin killed by signal 6. ([#22781](https://github.com/grpc/grpc/issues/22781))
Release v1.28.2: tag_name: v1.28.2
body: This is the 1.28.2 release ([galactic](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes.

Objective-C
---

- --grpc_out: protoc-gen-grpc: Plugin killed by signal 6. ([#22781](https://github.com/grpc/grpc/issues/22781))
Release v1.29.0: tag_name: v1.29.0
body: This is the 1.29.0 release ([gringotts](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.                                                                                                       
                                                                                                              
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.                                                    
                                                                                                              
This release contains refinements, improvements, and bug fixes, with highlights listed below. 

A significant change was made in [#22575](https://github.com/grpc/grpc/pull/22575) where gRPC Core will check whether the decompressed message fits in the configured limit for the maximum message length that the channel can receive. (The default limit is 4MB.)
                                                                                                              
                                                                                                              
Core                                                                                                          
---                                                                                                           
                                                                                                              
-  Move decompression into gRPC Core. ([#22575](https://github.com/grpc/grpc/pull/22575))                     
-  Introduce CFRunLoop based iomgr. ([#22423](https://github.com/grpc/grpc/pull/22423))                       
-  Add option for logging keepalive pings. ([#22640](https://github.com/grpc/grpc/pull/22640))                
-  Clamp the receive flow control window size to ((1 << 31) - 1). ([#22615](https://github.com/grpc/grpc/pull/22615))                                                                                                      
-  CallCredentials debug string API. ([#21984](https://github.com/grpc/grpc/pull/21984))                      
                                                                                                              
C++                                                                                                           
---                                                                                                           
                                                                                                              
-  Append to CMAKE_MODULE_PATH instead of replacing it. ([#22380](https://github.com/grpc/grpc/pull/22380))   
-  Clean way to enable C and C++ standards in cmake. ([#15502](https://github.com/grpc/grpc/pull/15502))      
-  Autogenerate build.yaml equivalent from bazel BUILD metadata (with bazel query xml). ([#21929](https://github.com/grpc/grpc/pull/21929))                                                                                
                                                                                                              
Python                                                                                                        
---                                                                                                           
                                                                                                              
-  [Aio] Add AsyncIO support to grpcio-reflection. ([#22662](https://github.com/grpc/grpc/pull/22662))        
-  Support SO_REUSEPORT on manylinux2010. ([#22643](https://github.com/grpc/grpc/pull/22643))                 
-  [Aio] Add wait_for_connection API for streaming calls. ([#22565](https://github.com/grpc/grpc/pull/22565)) 
-  [Aio] Accepts normal iterable of request messages. ([#22580](https://github.com/grpc/grpc/pull/22580))     
-  [Aio] Support all sequential metadata. ([#22539](https://github.com/grpc/grpc/pull/22539))                 
-  [Aio] Initial modelling of the metadata abstraction. ([#22306](https://github.com/grpc/grpc/pull/22306))   
-  Add Python Example Server with Reflection and Health Checking Enabled. ([#22460](https://github.com/grpc/grpc/pull/22460))                                                                                              
-  Correct the docstring and implementation of AuthMetadataPlugin. ([#22471](https://github.com/grpc/grpc/pull/22471))                                                                                                     
-  [Aio] Change the default IO engine to POLLER. ([#22453](https://github.com/grpc/grpc/pull/22453))          
-  Annotate channel context manager methods to make pytype happy. ([#22405](https://github.com/grpc/grpc/pull/22405))                                                                                                      
-  [Health Checking] Make the empty service default to SERVING state. ([#22369](https://github.com/grpc/grpc/pull/22369))                                                                                                  
-  [Aio] One completion queue & many-thread many-loop. ([#22311](https://github.com/grpc/grpc/pull/22311))    
-  [Aio] Add an alternative mode for the AsyncIO Stack. ([#22258](https://github.com/grpc/grpc/pull/22258))   
-  [gRPC Easy] Generate simple stubs code. ([#22218](https://github.com/grpc/grpc/pull/22218))                            
-  [Aio] Implement server interceptor for unary unary call. ([#22032](https://github.com/grpc/grpc/pull/22032))                                                                                                            
                                                                                                              
Ruby                                                                                                          
---                                                                                                           
                                                                                                              
-  Add ruby 2.7 to mac binary packages. ([#22195](https://github.com/grpc/grpc/pull/22195))     
Release v1.28.1: tag_name: v1.28.1
body: This is the 1.28.1 release ([galactic](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release is a patch specifically for the Python bindings to address https://github.com/grpc/grpc/issues/22546. 

Python
---

-  Backport #22549 to 1.28 (Only load simple stubs code on 3.6+ interpreters). ([#22550](https://github.com/grpc/grpc/pull/22550))
Release v1.28.0: tag_name: v1.28.0
body: This is the 1.28.0 release ([galactic](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.                              
                                                                                                                                                                                                                                                                                                  
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.
                                                                                                                                                 
This release contains refinements, improvements, and bug fixes, with highlights listed below.                                                    
                                                                        
                                                                        
Core                                                                    
---                                                                                                                                              

-  feat: add x-goog-user-project header from quota_project_id field. ([#21324](https://github.com/grpc/grpc/pull/21324))                         
-  Reintroduce #21527 (boringssl submodule unification - take two). ([#21833](https://github.com/grpc/grpc/pull/21833))                          
-  Reintroduce #21527 (boringssl submodule unification). ([#21797](https://github.com/grpc/grpc/pull/21797))                                     
-  Treat an empty `http_proxy` mean "Don't use proxy" and skip parsing it. ([#21632](https://github.com/grpc/grpc/pull/21632))                   
                                                                                                                                                 
C++                                                                                                                                              
---                                                                                                                                              

- This release adds an experimental client side implementation of [xDSv2](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api) APIs. This allows a gRPC client written in C++ to receive configuration from an xDSv2 API compatible server and use that configuration to load balance RPCs. In this release, only the virtual host matching and cluster route action is supported. More features will be added in future.                                                                                                                                                 
-  Cherrypick #22147: xds: send no-overprovisioning client capability and populate user_agent fields. ([#22177](https://github.com/grpc/grpc/pull/22177))
-  Fix regression in MSVC runtime flag. ([#21792](https://github.com/grpc/grpc/pull/21792))                                                      
-  Unify boringssl submodules and use non-developer boringssl cmake build. ([#21527](https://github.com/grpc/grpc/pull/21527))                   
                                                                                                                                                 
Objective-C                                                                                                                                      
---                                                                                                                                              
                                                                                                                                                 
-  Fix ObjC memory consumption increase as app runs. ([#21798](https://github.com/grpc/grpc/pull/21798))                                         

Python
---

-  Backport Simple Stubs Codegen to 1.28. ([#22310](https://github.com/grpc/grpc/pull/22310))
-  [Aio] Generate gRPC AsyncIO API Reference. ([#21987](https://github.com/grpc/grpc/pull/21987))
-  Experimental: Implement Top-Level Invocation Functions Not Requiring an Explicit Channel. ([#21954](https://github.com/grpc/grpc/pull/21954))
-  [Aio] Implement health checking servicer in AsyncIO. ([#22028](https://github.com/grpc/grpc/pull/22028))
-  [Aio] Prohibit mixing two styles of API on client side. ([#21910](https://github.com/grpc/grpc/pull/21910))
-  [Aio] Add channel_ready helper function. ([#21885](https://github.com/grpc/grpc/pull/21885))
-  [Aio] Support compression for both client and server. ([#21809](https://github.com/grpc/grpc/pull/21809))
-  [Aio] Close ongoing calls when the channel is closed. ([#21819](https://github.com/grpc/grpc/pull/21819))
-  [Aio] Fix the server credentials & improve socket implementation. ([#21855](https://github.com/grpc/grpc/pull/21855))
-  [Aio] Support wait-for-ready mechanism. ([#21803](https://github.com/grpc/grpc/pull/21803))
-  [Aio] Fix the windows build failure. ([#21820](https://github.com/grpc/grpc/pull/21820))
-  Stop building manylinux1 images. ([#21780](https://github.com/grpc/grpc/pull/21780))
-  [Aio] Move status and initial metadata handling to Cython. ([#21696](https://github.com/grpc/grpc/pull/21696))

Ruby
---

-  Backport to 1.28.x: add ruby 2.7 to mac binary pkgs. ([#22205](https://github.com/grpc/grpc/pull/22205))
-  Add ruby-2.7 to build process of binary gems for Windows and Linux. ([#22039](https://github.com/grpc/grpc/pull/22039))
Release v1.28.0-pre3: tag_name: v1.28.0-pre3
body: This is a prerelease of gRPC Core 1.28.0 (galactic).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.28.0-pre2: tag_name: v1.28.0-pre2
body: This is a prerelease of gRPC Core 1.28.0 (galactic).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.28.0-pre1: tag_name: v1.28.0-pre1
body: This is a prerelease of gRPC Core 1.28.0 (galactic).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.27.3: tag_name: v1.27.3
body: This is the 1.27.3 release (guantao) of gRPC Core.

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.

This is a patch release for the gRPC-C++.
Release v1.27.2: tag_name: v1.27.2
body: This is the 1.27.2 release (guantao) of gRPC Core.

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.

This is a patch release for gRPC-Python, which publishes originally intended stripped python wheels. This release is done to correct a set of package uploads from the 1.27.1 release that mistakenly contained some python wheels that were not stripped.
Release v1.27.1: tag_name: v1.27.1
body: This is the 1.27.1 release (guantao) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes.

Python
---

-  Temporarily Readd Manylinux1 Support. ([#21924](https://github.com/grpc/grpc/pull/21924))
Release v1.27.0: tag_name: v1.27.0
body: This is the 1.27.0 release ([guantao](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  fix build with OpenSSL1.1.1+ on Windows. ([#21611](https://github.com/grpc/grpc/pull/21611))
-  Add a new submodule libuv v1.34.0. ([#21583](https://github.com/grpc/grpc/pull/21583))
-  grpclb: Add support for balancer telling client to enter fallback mode. ([#21452](https://github.com/grpc/grpc/pull/21452))
-  Bare bones of the libuv EventManager. ([#21216](https://github.com/grpc/grpc/pull/21216))
-  Allow default use of system root certs on Android. ([#21395](https://github.com/grpc/grpc/pull/21395))

C++
---

-  Backport: Fix regression in MSVC runtime flag (for v1.27.x). ([#21810](https://github.com/grpc/grpc/pull/21810))
-  Add Support for Full Chain Callbacks - experimental namespace. ([#21423](https://github.com/grpc/grpc/pull/21423))
-  Improve documentation for building with CMake. ([#21529](https://github.com/grpc/grpc/pull/21529))
-  Conditionally enable OPENSSL_NO_ASM for Visual Studio. ([#21427](https://github.com/grpc/grpc/pull/21427))
-  Allow gRPC_INSTALL with module providers. ([#21411](https://github.com/grpc/grpc/pull/21411))
-  Add Findc-ares.cmake module. ([#20815](https://github.com/grpc/grpc/pull/20815))
-  Census client filter: use current span and tags. ([#21249](https://github.com/grpc/grpc/pull/21249))
-  Improve & update BUILDING.md. ([#21329](https://github.com/grpc/grpc/pull/21329))

C#
---

-  Introduce ChannelBase.ShutdownAsync() in a backward-compatible manner. ([#21667](https://github.com/grpc/grpc/pull/21667))
-  c# - reduce delegate allocations in the Async*Call API. ([#21365](https://github.com/grpc/grpc/pull/21365))
-  C# health checks watch. ([#21120](https://github.com/grpc/grpc/pull/21120))

Python
---

-  Drop manylinux1 support. Manylinux2010 is now the recommended Linux wheel format. ([#21790](https://github.com/grpc/grpc/pull/21790))
-  [Aio] Implement add_done_callback and time_remaining. ([#21681](https://github.com/grpc/grpc/pull/21681))
-  [Aio] Support SO_REUSEPORT channel option. ([#21643](https://github.com/grpc/grpc/pull/21643))
-  [Aio] Support metadata. ([#21647](https://github.com/grpc/grpc/pull/21647))
-  [Aio] Client Streaming and Bi-di Streaming. ([#21517](https://github.com/grpc/grpc/pull/21517))
-  [Aio] Abort mechanism for server side. ([#21582](https://github.com/grpc/grpc/pull/21582))
-  [Aio] Implement connectivity state related APIs. ([#21621](https://github.com/grpc/grpc/pull/21621))
-  [Aio] Support credentials for unary calls. ([#21351](https://github.com/grpc/grpc/pull/21351))
-  [Aio] Support channel argument for both client and server. ([#21607](https://github.com/grpc/grpc/pull/21607))
-  [Aio] Client Side Interceptor For Unary Calls. ([#21455](https://github.com/grpc/grpc/pull/21455))
-  [Aio] Call correctly the connect CB error when an error happens. ([#21543](https://github.com/grpc/grpc/pull/21543))
-  [bazel] Add more stringent check for detection of python headers. ([#21477](https://github.com/grpc/grpc/pull/21477))
-  [Aio] Streaming API - Server side streaming. ([#21232](https://github.com/grpc/grpc/pull/21232))
-  Ship grpcio-status with the actual proto file. ([#21377](https://github.com/grpc/grpc/pull/21377))


Release v1.27.0-pre2: tag_name: v1.27.0-pre2
body: This is a prerelease of gRPC Core 1.27.0 (guantao).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.27.0-pre1: tag_name: v1.27.0-pre1
body: This is a prerelease of gRPC Core 1.27.0 (guantao).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.26.0: tag_name: v1.26.0
body: This is the 1.26.0 release ([gon](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Fix compression filter crash on empty payload. ([#21315](https://github.com/grpc/grpc/pull/21315))
-  Ensure awake pollset_work threads exist on Windows. ([#19311](https://github.com/grpc/grpc/pull/19311))
-  Disable client_idle_filter. ([#20910](https://github.com/grpc/grpc/pull/20910))
-  Remove gpr_get/set_allocation_functions. ([#20462](https://github.com/grpc/grpc/pull/20462))
-  Security audit response. ([#20839](https://github.com/grpc/grpc/pull/20839))

C++
---

-  Automatically disable testing frameworks if gRPC_BUILD_TESTS=OFF. ([#20976](https://github.com/grpc/grpc/pull/20976))
-  Do not build channelz when gRPC_USE_PROTO_LITE. ([#21011](https://github.com/grpc/grpc/pull/21011))
-  Add options for all codegen plugins. ([#20629](https://github.com/grpc/grpc/pull/20629))
-  gRPC-C++ podspec follows gRPC versioning. ([#20977](https://github.com/grpc/grpc/pull/20977))
-  Issue 19208: Fix pollset_set_del_fd to cleanup all fd references. ([#20452](https://github.com/grpc/grpc/pull/20452))
-  De-duplicate .proto file processing. ([#20537](https://github.com/grpc/grpc/pull/20537))
-  cmake: Add VERSION and SOVERSION properties to libraries. ([#20770](https://github.com/grpc/grpc/pull/20770))

C#
---

-  C# Fix Unobserved Task Exception problem for cancelled calls with unexhausted response stream. ([#21202](https://github.com/grpc/grpc/pull/21202))
-  Fix C# sending empty payloads with gzip compression. ([#21266](https://github.com/grpc/grpc/pull/21266))
-  C#: fix #20782. ([#20859](https://github.com/grpc/grpc/pull/20859))

Objective-C
---

-  Update GRPCUnaryResponseHandler with generics. ([#21316](https://github.com/grpc/grpc/pull/21316))

Python
---

-  Release Python3.8 wheels for Windows. ([#21271](https://github.com/grpc/grpc/pull/21271))
-  Release Python3.8 wheel on macOS. ([#21270](https://github.com/grpc/grpc/pull/21270))
-  Fix issue with exception being out of scope in Python 3. ([#20314](https://github.com/grpc/grpc/pull/20314))
-  [AIO] Implement the shutdown process for AIO server and completion queue. ([#20805](https://github.com/grpc/grpc/pull/20805))
-  Attempt to drop support for Python 3.4. ([#20789](https://github.com/grpc/grpc/pull/20789))
-  AIO Unified call interface. ([#20824](https://github.com/grpc/grpc/pull/20824))
-  Make sure Core aware of gevent Cython objects. ([#20891](https://github.com/grpc/grpc/pull/20891))
-  [bazel] Add an ability to call an optional custom plugin for py_proto_library and py_grpc_library. ([#20846](https://github.com/grpc/grpc/pull/20846))

Release v1.26.0-pre1: tag_name: v1.26.0-pre1
body: This is a prerelease of gRPC Core 1.26.0 (gon).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.25.0: tag_name: v1.25.0
body: This is the 1.25.0 release ([game](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Change RR to consider a subchannel in TF if it has failed since it was READY. ([#20245](https://github.com/grpc/grpc/pull/20245))
-  Fix a use after free in c-ares on Windows. ([#20274](https://github.com/grpc/grpc/pull/20274))

C++
---

-  Honor CARES_ROOT_DIR. ([#20630](https://github.com/grpc/grpc/pull/20630))
-  Make cmake grpc.pc depend on openssl too. ([#20621](https://github.com/grpc/grpc/pull/20621))
-  Create pkg-config files from CMake. ([#20211](https://github.com/grpc/grpc/pull/20211))
-  Add C++ wrapper for SPIFFE credentials v2. ([#19778](https://github.com/grpc/grpc/pull/19778))
-  Upgrade bazel to 0.29.1. ([#20222](https://github.com/grpc/grpc/pull/20222))

C#
---

-  Provide length when getting serialization buffer writer. ([#20691](https://github.com/grpc/grpc/pull/20691))
-  Fix error when changing Protobuf item values in Visual Studio. ([#20569](https://github.com/grpc/grpc/pull/20569))
-  Add generic variance to reader and writer interfaces. ([#20549](https://github.com/grpc/grpc/pull/20549))

Objective-C
---

-  Added convenience class GRPCUnaryResponseHandler for unary calls. ([#20560](https://github.com/grpc/grpc/pull/20560))
-  Fixed an issue where Swift application depending on gRPC is unable to archive. ([#20527](https://github.com/grpc/grpc/pull/20527))

PHP
---

-  PHP: fix zend_hash_str_del() segfault. ([#20249](https://github.com/grpc/grpc/pull/20249))

Python
---

-  Add experimental option to run unary-stream RPCs on a single Python thread. ([#20753](https://github.com/grpc/grpc/pull/20753))
-  [AIO] Minimal AsyncIO Server. ([#20598](https://github.com/grpc/grpc/pull/20598))
-  Switch to concrete classes in experimental asyncio. ([#20326](https://github.com/grpc/grpc/pull/20326))
-  Add manylinux2010_x86 wheels into artifacts. ([#20673](https://github.com/grpc/grpc/pull/20673))
-  Release 3.8 binary wheels. ([#20616](https://github.com/grpc/grpc/pull/20616))
-  Make grpc_testing's Servicer context abort method stop execution of the servicer handler. ([#20426](https://github.com/grpc/grpc/pull/20426))
-  Build Python wheels with tag manylinux2010. ([#20282](https://github.com/grpc/grpc/pull/20282))
-  Add experimental support for asyncio unary client. ([#19960](https://github.com/grpc/grpc/pull/19960))

Release v1.25.0-pre1: tag_name: v1.25.0-pre1
body: This is a pre-release of gRPC Core 1.25.0 (game).

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.

This pre-release contains refinements, improvements, and bug fixes.

Release v1.24.3: tag_name: v1.24.3
body: This is the 1.24.3 release ([ganges](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes.
Release v1.24.2: tag_name: v1.24.2
body: This is the 1.24.2 release (ganges) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes.
Release v1.24.1: tag_name: v1.24.1
body: This is the 1.24.1 release ([ganges](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes.
Release v1.23.1: tag_name: v1.23.1
body: This is the 1.23.1 release ([gangnam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes.
Release v1.24.0: tag_name: v1.24.0
body: This is the 1.24.0 release ([ganges](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

- gRPC Core starts to have a dependency against the C++ standard library such as libstdc++.so depending on the platform. This applies to all wrapped libraries and they have this new dependency, too. (For more detail, see the [proposal](https://github.com/grpc/proposal/blob/master/L59-core-allow-cppstdlib.md))
-  Remove call from queued picks when failing it due to channel destruction. ([#20128](https://github.com/grpc/grpc/pull/20128))
-  Catch the error if socket initialization fails. ([#19766](https://github.com/grpc/grpc/pull/19766))
-  Do not create streams after a GOAWAY has been received. ([#19968](https://github.com/grpc/grpc/pull/19968))
-  Prevent HTTP2 parser from queueing a lot of induced frames. ([#19924](https://github.com/grpc/grpc/pull/19924))
-  Send RPC deadline to server in cronet header. ([#19820](https://github.com/grpc/grpc/pull/19820))
-  Mandate static string for host and method passed to grpc_channel_register. ([#19263](https://github.com/grpc/grpc/pull/19263))
-  Fail SEND_MESSAGE ops if stream is closed for writes. ([#19868](https://github.com/grpc/grpc/pull/19868))
-  Add Delegating Channel. ([#19316](https://github.com/grpc/grpc/pull/19316))

C++
---

-  Allow call credentials interception at PRE_SEND_INITIAL_METADATA. ([#20188](https://github.com/grpc/grpc/pull/20188))
-  Upgrade to Bazel 0.29 (including Windows RBE). ([#20165](https://github.com/grpc/grpc/pull/20165))
-  Update Google Benchmark v1.5.0 to get CMake < 3.6 fix. ([#19535](https://github.com/grpc/grpc/pull/19535))
-  Fix a big source of races in CHTTP2 code. ([#20139](https://github.com/grpc/grpc/pull/20139))
-  Channel idleness atomic. ([#19727](https://github.com/grpc/grpc/pull/19727))
-  Update C++ code generation to work with Bazel 0.29 . ([#19860](https://github.com/grpc/grpc/pull/19860))

C#
---

-  Revert "Enable bitcode for ios native libraries" in v1.24.x. ([#20233](https://github.com/grpc/grpc/pull/20233))
-  C#: support serialization to IBufferWriter. ([#19792](https://github.com/grpc/grpc/pull/19792))
-  Remove LiteClientBase. ([#20149](https://github.com/grpc/grpc/pull/20149))
-  Enable bitcode for ios native libraries. ([#20113](https://github.com/grpc/grpc/pull/20113))

Objective-C
---

-  Added experimental tvOS and watchOS support. ([#19787](https://github.com/grpc/grpc/pull/19787))

Python
---

-  Add strip_prefix to python protoc plugin and py_grpc_library. ([#20141](https://github.com/grpc/grpc/pull/20141))
-  Switch py_proto_library from using src to deps to conform with google3. ([#20027](https://github.com/grpc/grpc/pull/20027))
-   Expose local credentials on Python layer. ([#19971](https://github.com/grpc/grpc/pull/19971))
-   Make default vtable for pointer argument a constant. ([#20013](https://github.com/grpc/grpc/pull/20013))
-  Gracefully handle errors from Future object callbacks. ([#20015](https://github.com/grpc/grpc/pull/20015))
-  Gracefully handle exceptions raised by signal handlers on the main thread while unary RPCs are in flight. ([#19988](https://github.com/grpc/grpc/pull/19988))
-  Separate py_grpc_library and py_proto_library. ([#19822](https://github.com/grpc/grpc/pull/19822))
-  Add wait_for_termination method to grpc.Server. ([#19299](https://github.com/grpc/grpc/pull/19299))
-  Add Python Cancellation Example. ([#19465](https://github.com/grpc/grpc/pull/19465))

Ruby
---

-  Define Struct::Status in Ruby. ([#19939](https://github.com/grpc/grpc/pull/19939))
-  Allow Ruby style (::) package names in Ruby codegen. ([#19940](https://github.com/grpc/grpc/pull/19940))
-  Allow loading grpc/errors.rb before grpc.rb. ([#19893](https://github.com/grpc/grpc/pull/19893))


Release v1.24.0-pre2: tag_name: v1.24.0-pre2
body: This is a prerelease of gRPC Core 1.24.0 (ganges).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.24.0-pre1: tag_name: v1.24.0-pre1
body: This is a prerelease of gRPC Core 1.24.0 (ganges).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.22.1: tag_name: v1.22.1
body: This is the 1.22.1 release ([gale](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport #19924 to v1.22.x. ([#19934](https://github.com/grpc/grpc/pull/19934))

C++
---


C#
---


Objective-C
---


PHP
---


Python
---


Ruby
---
Release v1.23.0: tag_name: v1.23.0
body: This is the 1.23.0 release ([gangnam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport #19924 to v1.23.x. ([#19935](https://github.com/grpc/grpc/pull/19935))
-  Add missing APP callback context for custom iomgr. ([#19687](https://github.com/grpc/grpc/pull/19687))
-  Increase lower bound on DNS re-resolution period to 30 seconds. ([#19661](https://github.com/grpc/grpc/pull/19661))
-  Make sure there is at least a header in the frame storge of H2. ([#19657](https://github.com/grpc/grpc/pull/19657))
-  Fix segfault when forking while using gevent. ([#19556](https://github.com/grpc/grpc/pull/19556))
-  Mpmcqueue. ([#19358](https://github.com/grpc/grpc/pull/19358))
-  Disable the backup poller when using the background poller. ([#19454](https://github.com/grpc/grpc/pull/19454))
-  Clearly callout the behavior for listening ports. ([#19529](https://github.com/grpc/grpc/pull/19529))
-  Enable CFStream by default on  iOS. ([#19439](https://github.com/grpc/grpc/pull/19439))
-  Fix DNS resolver cooldown. ([#19489](https://github.com/grpc/grpc/pull/19489))
-  Simplify and fix c-ares TCP path on Windows. ([#19397](https://github.com/grpc/grpc/pull/19397))
-   Modify codegen to use grpc_impl namespace and other cleanup. ([#19435](https://github.com/grpc/grpc/pull/19435))

C++
---

-  Channel idleness. ([#19634](https://github.com/grpc/grpc/pull/19634))
-  Threadpool. ([#19544](https://github.com/grpc/grpc/pull/19544))
-  Bump min CMake to 3.5.1 to match Google benchmark. ([#19467](https://github.com/grpc/grpc/pull/19467))
-  Migrate from dep.proto. to dep[ProtoInfo] provider. ([#19420](https://github.com/grpc/grpc/pull/19420))

C#
---

-  Move ChannelExtensions (interceptor support) to Grpc.Core.Api (for v1.23.x branch). ([#19853](https://github.com/grpc/grpc/pull/19853))
-  Refactor ChannelCredentials and move to Grpc.Core.Api. ([#19712](https://github.com/grpc/grpc/pull/19712))
-  C# bump major version to 2.x. ([#19796](https://github.com/grpc/grpc/pull/19796))
-  Add ChannelBase, change ClientBase constructor argument. ([#19599](https://github.com/grpc/grpc/pull/19599))
-  Remove System.Interactive.Async dependency. ([#19059](https://github.com/grpc/grpc/pull/19059))
-  dont use shutdownRef count for sync completion queue. ([#19629](https://github.com/grpc/grpc/pull/19629))
-  C# - remove delegate allocation and boxing from cancellation registrations. ([#19610](https://github.com/grpc/grpc/pull/19610))
-  csharp: Remove a double-box on Timespec. ([#19525](https://github.com/grpc/grpc/pull/19525))
-  C#: add System.Memory dependency and use Span<> internally for all target frameworks . ([#19569](https://github.com/grpc/grpc/pull/19569))
-  csharp remove byte[] allocations during UTF8 encode/decode. ([#19511](https://github.com/grpc/grpc/pull/19511))
-  csharp: remove AuthContext's Lazy<T> usage . ([#19533](https://github.com/grpc/grpc/pull/19533))
-  csharp avoid capture-context in HandleNewServerRpc => HandleCallAsync. ([#19526](https://github.com/grpc/grpc/pull/19526))
-  Make sure Grpc metapackage includes Grpc.Core.targets. ([#19449](https://github.com/grpc/grpc/pull/19449))

Objective-C
---

-  ObjC experimental Bazel build support. ([#19621](https://github.com/grpc/grpc/pull/19621))
-  Implement global interceptor. ([#19322](https://github.com/grpc/grpc/pull/19322))

PHP
---

-  PHP: Fix missing addref in channel::constructor(). ([#19737](https://github.com/grpc/grpc/pull/19737))

Python
---

-  Check call.trailing_metadata() for None before iterating it. ([#19708](https://github.com/grpc/grpc/pull/19708))
-  Add a sanity check for the Python release process. ([#19635](https://github.com/grpc/grpc/pull/19635))
-  Enforce a finite bound on the time gap between signal receipt and signal handler execution. ([#19481](https://github.com/grpc/grpc/pull/19481))
-  Python Compression Example. ([#19421](https://github.com/grpc/grpc/pull/19421))

Ruby
---

-  Don't require_relative for an absolute path. ([#19585](https://github.com/grpc/grpc/pull/19585))
-  Drop support for ruby < 2.3. ([#19304](https://github.com/grpc/grpc/pull/19304))

Release v1.23.0-pre1: tag_name: v1.23.0-pre1
body: This is a prerelease of gRPC Core 1.23.0 (gangnam).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.22.0: tag_name: v1.22.0
body: This is the 1.22.0 release ([gale](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  building upb as part of cmake build is not necessary (for v1.22.x). ([#19432](https://github.com/grpc/grpc/pull/19432))
-  Convert TraceFlags in the hot path to DebugTraceFlags. ([#19315](https://github.com/grpc/grpc/pull/19315))
-  Fix a bug where POST_RECV_MESSAGE was not being triggered. ([#19142](https://github.com/grpc/grpc/pull/19142))
-  Adjust the order of IOMgr timer initialization and comment of grpc_timer::heap_index. ([#19163](https://github.com/grpc/grpc/pull/19163))

C++
---

-  use bazel wrapper for "bazel" invocations in grpc workspace. ([#19249](https://github.com/grpc/grpc/pull/19249))
-  Add method to validate service config json. ([#19021](https://github.com/grpc/grpc/pull/19021))
-  Update comment on ssl hostname override. ([#19118](https://github.com/grpc/grpc/pull/19118))
-  Rename root certificate bundle in gRPC-C++ pod. ([#19082](https://github.com/grpc/grpc/pull/19082))

C#
---

-  Add MSBuild metadata to set LiteClient for client generation. ([#19306](https://github.com/grpc/grpc/pull/19306))
-  Avoid regex inefficiencies in no-match scenarios. ([#19259](https://github.com/grpc/grpc/pull/19259))
-  Migrate types required for client interceptors to Grpc.Core.Api. ([#19308](https://github.com/grpc/grpc/pull/19308))
-  Add C# LiteClientBase and "lite_client" codegen option. ([#18705](https://github.com/grpc/grpc/pull/18705))

Objective-C
---

-  Add support for CMAKE_SYSTEM_NAME=iOS. ([#19302](https://github.com/grpc/grpc/pull/19302))
-  Implement L50: Objective-C Interceptor. ([#18852](https://github.com/grpc/grpc/pull/18852))
-  remove notification observer to avoid iOS 8 crash. ([#19169](https://github.com/grpc/grpc/pull/19169))

PHP
---

-  PHP: Allow dots in metadata keys. ([#19232](https://github.com/grpc/grpc/pull/19232))
-  Hotfix for PHP jwt_token_creds interop test. ([#19230](https://github.com/grpc/grpc/pull/19230))
-  PHP: Fix ZTS build shutdown segfault. ([#19204](https://github.com/grpc/grpc/pull/19204))
-  PHP: Fix ZTS build error. ([#19160](https://github.com/grpc/grpc/pull/19160))
-  Fix PHP extension segfault. ([#19109](https://github.com/grpc/grpc/pull/19109))

Python
---

-  [Python] Add Debug Example. ([#19310](https://github.com/grpc/grpc/pull/19310))
-  Add Python 3.8 test. ([#19294](https://github.com/grpc/grpc/pull/19294))
-  Clean up Python Channel.__del__ logic. ([#19292](https://github.com/grpc/grpc/pull/19292))
-  Surface exception from metadata credentials plugin methods. ([#19174](https://github.com/grpc/grpc/pull/19174))
-  Add python deprecation notices. ([#19084](https://github.com/grpc/grpc/pull/19084))
-  Unsubscribe all connectivity callbacks on Channel.close. ([#19030](https://github.com/grpc/grpc/pull/19030))

Ruby
---

-  Backport "Drop support for ruby < 2.3" to 1.22.x. ([#19424](https://github.com/grpc/grpc/pull/19424))

Release v1.22.0-pre1: tag_name: v1.22.0-pre1
body: This is a prerelease of gRPC Core 1.22.0 (gale).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.21.3: tag_name: v1.21.3
body: This is the 1.21.3 patch release for the PHP extension only. Please do not use this release for other language.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

PHP
---
- Fix ZTS build shutdown segfault ([#19205](https://github.com/grpc/grpc/pull/19205))
Release v1.21.2: tag_name: v1.21.2
body: This is the 1.21.2 patch release for the PHP extension only. Please do not use this release for other language.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

PHP
---
- Fixed shutdown segfault ([#19471](https://github.com/grpc/grpc/pull/19147))
- Fixed ZTS build failure ([#19181](https://github.com/grpc/grpc/pull/19181))
Release v1.21.1: tag_name: v1.21.1
body: This is the 1.21.1 patch release of gRPC Core. This patch is for gRPC-Python only. gRPC Python pkgs for 1.21.0 release could not be uploaded to PyPi due to the issue https://github.com/grpc/grpc/pull/19105.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Release v1.21.0: tag_name: v1.21.0
body: Note: gRPC Python pkgs for this release are not available due to the issue https://github.com/grpc/grpc/pull/19105. We will soon be releasing 1.21.1 patch to address this issue.

This is the 1.21.0 release ([gandalf](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Note: gRPC Python packages are now marked as deprecated for Python 2.7. See the previous announcement [here](https://groups.google.com/d/msg/grpc-io/psLfi-li4u8/O1PgTsu8AQAJ). Python 2.7 support will be removed on January 1, 2020.

Core
---

-  Service Config Changes to set channel in transient failure on invalid service config. ([#18946](https://github.com/grpc/grpc/pull/18946))
-  Add a backup poller to c-ares resolver to take better advantage of c-ares query timeout/retry logic. ([#17688](https://github.com/grpc/grpc/pull/17688))
-  Pass WSA_FLAG_NO_HANDLE_INHERIT flag to the WSASocketA() to avoid handle leaking on the Windows in case of using CreateProcess() on the server. ([#18060](https://github.com/grpc/grpc/pull/18060))
-  Add fallback-at-startup into xds. ([#18665](https://github.com/grpc/grpc/pull/18665))
-  Retire the GRPC_ARENA_INIT_STRATEGY env variable. ([#18797](https://github.com/grpc/grpc/pull/18797))
-  Fix gevent segfault with C-Ares as DNS resolver. ([#18547](https://github.com/grpc/grpc/pull/18547))
-  Explicitly call getsockname after accept for unix sockets to get the sun_path. ([#18556](https://github.com/grpc/grpc/pull/18556))
-  RBE Windows c-core build. ([#18546](https://github.com/grpc/grpc/pull/18546))
-  Loosen the dependency on the googleapis-common-protos-types gem. ([#18635](https://github.com/grpc/grpc/pull/18635))
-  pick_first: don't go into TRANSIENT_FAILURE upon empty update when in IDLE. ([#18598](https://github.com/grpc/grpc/pull/18598))
-  Add guard to the tv_nsec field of gpr_now return value. ([#18601](https://github.com/grpc/grpc/pull/18601))
-  Re-enable ALPN check in gRPC C core SSL stack. ([#18563](https://github.com/grpc/grpc/pull/18563))

C++
---

-  Global config variables migration. ([#18931](https://github.com/grpc/grpc/pull/18931))
-  Make cc_grpc_library compatible with native proto_library and cc_proto_library rules. ([#18955](https://github.com/grpc/grpc/pull/18955))
-  Add alarm in callback streaming test. ([#18858](https://github.com/grpc/grpc/pull/18858))
-  Make C++ Channel Interceptors work for lame channels. ([#18630](https://github.com/grpc/grpc/pull/18630))

C#
---

-  Support slice-by-slice deserialization (allow accessing payload as ReadOnlySequence when on netstandard2.0). ([#18865](https://github.com/grpc/grpc/pull/18865))
-  Add VS integration for design time build of C# projects. ([#18678](https://github.com/grpc/grpc/pull/18678))
-  Migrate interceptor types for server-side interceptors to Grpc.Core.Api. ([#18914](https://github.com/grpc/grpc/pull/18914))
-  Add info about C# nightly nuget feed. ([#18876](https://github.com/grpc/grpc/pull/18876))
-  Upload C# nightly nugets to Artifactory dev nuget feed. ([#18871](https://github.com/grpc/grpc/pull/18871))
-  Migrate client API types to Grpc.Core.Api. ([#18532](https://github.com/grpc/grpc/pull/18532))
-  Make CallCredentials implementation agnostic (prepare for move to Grpc.Core.Api). ([#18652](https://github.com/grpc/grpc/pull/18652))
-  Add BindServiceAttribute. ([#18484](https://github.com/grpc/grpc/pull/18484))
-  Provide access to verify_peer_callback from C# (take two). ([#18591](https://github.com/grpc/grpc/pull/18591))

Node
---

-  Add cares glue for libuv event loop. ([#18809](https://github.com/grpc/grpc/pull/18809))

Objective-C
---

-  gRPC Objective-C Flow Control. ([#17936](https://github.com/grpc/grpc/pull/17936))
-  Updated all ObjC examples to use the new api . ([#18766](https://github.com/grpc/grpc/pull/18766))
-  Fix v2 API dispatching to main queue. ([#18765](https://github.com/grpc/grpc/pull/18765))
-  Fix bug that default root certificates file cannot be found on mac. ([#18719](https://github.com/grpc/grpc/pull/18719))
-  Turn on CFStream by default on iOS. ([#17599](https://github.com/grpc/grpc/pull/17599))

Python
---

-  Add python deprecation notices. ([#19081](https://github.com/grpc/grpc/pull/19081))
-  Add ability to strip module prefixes in Python gRPC protoc plugin. ([#18808](https://github.com/grpc/grpc/pull/18808))
-  Propagate KeyboardInterrupt above completion queue. ([#18783](https://github.com/grpc/grpc/pull/18783))
-  Add Python Compression Porcelain. ([#18564](https://github.com/grpc/grpc/pull/18564))

Ruby
---

-  Add BadStatus#to_rpc_status. ([#18752](https://github.com/grpc/grpc/pull/18752))

Release v1.21.0-pre1: tag_name: v1.21.0-pre1
body: This is a prerelease of gRPC Core 1.21.0 (gandalf).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.20.1: tag_name: v1.20.1
body: This is the 1.20.1 release ([godric](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Revert "Enable SIO_LOOPBACK_FAST_PATH on Windows" (for v1.20.x). ([#18834](https://github.com/grpc/grpc/pull/18834))

Python
---

-  Backport c-ares gevent segfault fix to v1.20.1. ([#18867](https://github.com/grpc/grpc/pull/18867))

Release v1.20.0: tag_name: v1.20.0
body: This is the 1.20.0 release ([godric](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

## Core

- Fix bug in CFStream endpoint. ([#18381](https://github.com/grpc/grpc/pull/18381))
- Fix a NULL deref in tcp_client_windows.cc. ([#18545](https://github.com/grpc/grpc/pull/18545))
- Avoid using grpc_core::Executor when the background poller is available. ([#18501](https://github.com/grpc/grpc/pull/18501))
- Update the c-ares submodule to the 1.15 release. ([#18519](https://github.com/grpc/grpc/pull/18519))
- Remove unnecessary hack which causes data races. ([#18481](https://github.com/grpc/grpc/pull/18481))
- Fix Potentially Dangerous Typo - locked function being run outside of combiner. ([#18482](https://github.com/grpc/grpc/pull/18482))
- Trace log the status of every c-ares lookup; cleanup error handling. ([#18384](https://github.com/grpc/grpc/pull/18384))
- Add SPIFFE security stack to gRPC . ([#18115](https://github.com/grpc/grpc/pull/18115))
- Nuking the poll-cv polling engine. ([#18298](https://github.com/grpc/grpc/pull/18298))
- Backport #18201 to fix "symbol not found: _ares_library_init" error in Bazel on MacOS build. ([#18202](https://github.com/grpc/grpc/pull/18202))
- Roll-forward PR17308. ([#18157](https://github.com/grpc/grpc/pull/18157))
- Run run_after_write closures in h2 once write action is done. ([#18163](https://github.com/grpc/grpc/pull/18163))
- Transition into state CONNECTING when we start name resolution. ([#18141](https://github.com/grpc/grpc/pull/18141))
- Support "darwin_x86_64" CPU in cares.BUILD. ([#18125](https://github.com/grpc/grpc/pull/18125))
- Move grpc_shutdown internals to a detached thread. ([#17308](https://github.com/grpc/grpc/pull/17308))
- Fix c-ares on Windows "DNS resolution failure" triggered by logging. ([#18084](https://github.com/grpc/grpc/pull/18084))
- Disable c-ares on Android. ([#18046](https://github.com/grpc/grpc/pull/18046))

## C++

- Global Interceptor Registration allowed only once. ([#17978](https://github.com/grpc/grpc/pull/17978))
- cmake fix: builds disabled by CODEGEN=OFF should not be installed. ([#18151](https://github.com/grpc/grpc/pull/18151))
- cmake: when cross-compiling, the host grpc_cpp_plugin should be used. ([#11795](https://github.com/grpc/grpc/pull/11795))

## C#

- Make AuthContext constructor public. ([#18500](https://github.com/grpc/grpc/pull/18500))
- Grpc.Tools: Ensure errors link to correct line numbers through the VS Error List. ([#18446](https://github.com/grpc/grpc/pull/18446))
- Grpc.Tools: support generated filename corner cases. ([#18470](https://github.com/grpc/grpc/pull/18470))
- Grpc.Tools: change the case to 'Protobuf' consistently. ([#18471](https://github.com/grpc/grpc/pull/18471))
- C#: Add NativeCallbackDispatcher. ([#18327](https://github.com/grpc/grpc/pull/18327))
- Grpc.Tools: Enable design time builds by default. ([#18356](https://github.com/grpc/grpc/pull/18356))
- C#: also target netstandard2.0. ([#18351](https://github.com/grpc/grpc/pull/18351))
- Update Grpc.Tools to ensure error details appear in VS. ([#18355](https://github.com/grpc/grpc/pull/18355))
- Fix source stepping in IDE by upgrading sourcelink. ([#18363](https://github.com/grpc/grpc/pull/18363))
- C#: Activate sourcelink when building nuget packages. ([#18333](https://github.com/grpc/grpc/pull/18333))
- Add UserState dictionary to C# ServerCallContext. ([#18086](https://github.com/grpc/grpc/pull/18086))
- C#: Fix il2cpp build on Unity Android. ([#18039](https://github.com/grpc/grpc/pull/18039))

## Objective-C

- Use cached grpc ssl credential for ObjC library. ([#18336](https://github.com/grpc/grpc/pull/18336))

## PHP

- Add ini settings for fork support to PHP extension. ([#18539](https://github.com/grpc/grpc/pull/18539))
- PHP: fixed seg fault caused by access client after it is closed. ([#18302](https://github.com/grpc/grpc/pull/18302))

## Python

- Add Python example for error handling. ([#18488](https://github.com/grpc/grpc/pull/18488))
- python docs: details are UTF-8 encodable, not just ASCII. ([#18414](https://github.com/grpc/grpc/pull/18414))
- Use C-Core API to perform time conversion. ([#18398](https://github.com/grpc/grpc/pull/18398))
- Use correct C integer types in Cython. ([#18383](https://github.com/grpc/grpc/pull/18383))
- Add the missing grpc_cfstream dependency. ([#18296](https://github.com/grpc/grpc/pull/18296))
- Strip Python wheel binary. ([#18241](https://github.com/grpc/grpc/pull/18241))
- Simplify batch operations event interpretation. ([#18218](https://github.com/grpc/grpc/pull/18218))
- add enter_graceful_shutdown() to health service. ([#18112](https://github.com/grpc/grpc/pull/18112))

## Ruby

- Ruby: Fix default pool keep alive. ([#16240](https://github.com/grpc/grpc/pull/16240))

Release v1.20.0-pre3: tag_name: v1.20.0-pre3
body: This is a prerelease of gRPC Core 1.20.0 (godric).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.20.0-pre2: tag_name: v1.20.0-pre2
body: This is a prerelease of gRPC Core 1.20.0 (godric).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.20.0-pre1: tag_name: v1.20.0-pre1
body: This is a prerelease of gRPC Core 1.20.0 (godric).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.19.1: tag_name: v1.19.1
body: This is the 1.19.1 release ([gold](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Backport #18201 to fix "symbol not found: _ares_library_init" error in C++ Bazel build on MacOS. ([#18202](https://github.com/grpc/grpc/pull/18202))

Python
---

-  Backport "Add the missing grpc_cfstream dependency" to v1.19.x. ([#18297](https://github.com/grpc/grpc/pull/18297))


Release v1.19.0: tag_name: v1.19.0
body: This is the 1.19.0 release ([gold](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Fix c-ares on Windows "DNS resolution failure" triggered by logging. ([#18092](https://github.com/grpc/grpc/pull/18092))
-  Disable c-ares on Android (Backport #18046). ([#18050](https://github.com/grpc/grpc/pull/18050))
-  Ignore reserved bit in WINDOW_UPDATE frame. ([#17950](https://github.com/grpc/grpc/pull/17950))
-  Set c-ares as the default resolver. ([#17897](https://github.com/grpc/grpc/pull/17897))
-  Add period at end of `metadata.google.internal` to prevent unnecessary DNS lookups. ([#17598](https://github.com/grpc/grpc/pull/17598))
-  Decrease verbosity of ALTS platform check to avoid a spam log message. ([#17874](https://github.com/grpc/grpc/pull/17874))
-  Fix windows localhost address sorting bug. ([#17790](https://github.com/grpc/grpc/pull/17790))
-  Re-enable c-ares as the default resolver; but don't turn on SRV queries. ([#17723](https://github.com/grpc/grpc/pull/17723))
-  Remove filters from subchannel args. ([#17629](https://github.com/grpc/grpc/pull/17629))

C++
---

-  Register for cq avalanching when interceptors are going to be run. ([#17806](https://github.com/grpc/grpc/pull/17806))
-  Add a caching interceptor to the keyvaluestore example. ([#17689](https://github.com/grpc/grpc/pull/17689))
-  Enable per-channel subchannel pool. ([#17513](https://github.com/grpc/grpc/pull/17513))
-  Fix build with bazel 0.21. ([#17684](https://github.com/grpc/grpc/pull/17684))
-  Switch the default DNS resolver from native to c-ares. ([#16862](https://github.com/grpc/grpc/pull/16862))
-  Modifying semantics for GetSendMessage and GetSerializedSendMessage. Also adding ModifySendMessage. ([#17630](https://github.com/grpc/grpc/pull/17630))
-  Add interceptor methods to fail recv msg for hijacked rpcs and set recv message to nullptr on failure. ([#17179](https://github.com/grpc/grpc/pull/17179))
-  Add interceptor method to fail hijacked send messages and get status on POST_SEND_MESSAGE. ([#17220](https://github.com/grpc/grpc/pull/17220))
-  New Experimental Interception API - `GetSendMessage` and `GetSerializedSendMessage`. ([#17609](https://github.com/grpc/grpc/pull/17609))

C#
---

-  Upgrade `System.Interactive.Async` to 3.2.0. ([#16745](https://github.com/grpc/grpc/pull/16745))
-  Refactor `ServerServiceDefinition` and move it to `Grpc.Core.Api nuget`. ([#17889](https://github.com/grpc/grpc/pull/17889))
-  Allow passing null implementation to generated `BindService` overload using `ServiceBinderBase`. ([#17837](https://github.com/grpc/grpc/pull/17837))
-  Move public types needed for server implementation to `Grpc.Core.Api`. ([#17778](https://github.com/grpc/grpc/pull/17778))

Objective-C
---

-  Disable c-ares on iOS. ([#17894](https://github.com/grpc/grpc/pull/17894))
-  Added support for tvOS. ([#17731](https://github.com/grpc/grpc/pull/17731))
-  Fixing a few thread safety issues in gRPC Objective-C library. ([#17578](https://github.com/grpc/grpc/pull/17578))
-  Rolling out new API for gRPC Objective-C library. ([#16190](https://github.com/grpc/grpc/pull/16190))

Python
---

-  grpc_prefork(): check `grpc_is_initialized` before creating execctx. ([#17996](https://github.com/grpc/grpc/pull/17996))
-  [gRPC] Enable Python 3 for Bazel to Run Tests. ([#17644](https://github.com/grpc/grpc/pull/17644))
-  Escalate the failure of protoc execution. ([#17734](https://github.com/grpc/grpc/pull/17734))
-  Remove dependency of `grpc.framework.foundation.callable_util`. ([#17543](https://github.com/grpc/grpc/pull/17543))

Ruby
---

-  Disable service config resolution with c-ares by default, for now. ([#17998](https://github.com/grpc/grpc/pull/17998))
-  Ruby: refactor init/shutdown logic to avoid using atexit; fix windows. ([#17997](https://github.com/grpc/grpc/pull/17997))
-  Ruby tooling: respect user toolchain overrides. ([#17606](https://github.com/grpc/grpc/pull/17606))

Release v1.19.0-pre1: tag_name: v1.19.0-pre1
body: This is a prerelease of gRPC Core 1.19.0 (gold).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.18.0: tag_name: v1.18.0
body: This is the 1.18.0 release ([goose](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Use 32 bit nanopb fields. ([#17249](https://github.com/grpc/grpc/pull/17249))
-  Put most c-ares logs under a tracer. ([#17495](https://github.com/grpc/grpc/pull/17495))
-  Avoid SRV and TXT lookups for localhost. ([#17470](https://github.com/grpc/grpc/pull/17470))
-  Fix bug in subchannel backoff reset code. ([#17391](https://github.com/grpc/grpc/pull/17391))
-  Change pick_first to immediately select the first subchannel in READY state. ([#17383](https://github.com/grpc/grpc/pull/17383))
-  Cancel c-ares queries after a timeout to avoid getting stuck. ([#17354](https://github.com/grpc/grpc/pull/17354))
-  Add gRPC release schedule document. ([#17306](https://github.com/grpc/grpc/pull/17306))
-  Preparation for the new background poller 'epollbg'. ([#17244](https://github.com/grpc/grpc/pull/17244))

C++
---

-  Allow interceptor creators to return nullptr. ([#17544](https://github.com/grpc/grpc/pull/17544))

C#
---

-  Use x64 tools on 64-bit Windows in Grpc.Tools (#17437 for master branch). ([#17524](https://github.com/grpc/grpc/pull/17524))

Python
---

-  Servers are no longer guaranteed to automatically shutdown when garbage collected. Applications must explicitly invoke `grpc.Server.stop()` to shutdown the server and release its resources. This aligns server behavior with the `grpc.Channel.close()` semantics introduced in v1.12.0.
-  Add python API to retrieve library version. ([#17580](https://github.com/grpc/grpc/pull/17580))
-  Add Watch method to health check service. ([#17597](https://github.com/grpc/grpc/pull/17597))
-  Refactor server deallocation. ([#17444](https://github.com/grpc/grpc/pull/17444))
-  Add grpcio-status extension package. ([#17490](https://github.com/grpc/grpc/pull/17490))
-  Add gRPC Python Example: Metadata. ([#17485](https://github.com/grpc/grpc/pull/17485))
-  New abort with grpc.Status API. ([#17481](https://github.com/grpc/grpc/pull/17481))
-  Update urllib3 to avoid security vulnerability. ([#17476](https://github.com/grpc/grpc/pull/17476))
-  Add License to Python tarball. ([#17411](https://github.com/grpc/grpc/pull/17411))
-  Revert "Strip manylinux1 binary wheels". ([#17412](https://github.com/grpc/grpc/pull/17412))
-  Surface exceptions from Cython to Python as much as possible. ([#16971](https://github.com/grpc/grpc/pull/16971))
-  Add `logging.basicConfig()` for example servers. ([#17322](https://github.com/grpc/grpc/pull/17322))
-  Channelz Python wrapper implementation. ([#17266](https://github.com/grpc/grpc/pull/17266))
-  Fix Python blocking interceptors facing RpcError. ([#17317](https://github.com/grpc/grpc/pull/17317))
-  Raise the exception while credential initialization. ([#17281](https://github.com/grpc/grpc/pull/17281))

Ruby
---

-  Add ruby 2.6 binary packages, drop 2.0 and 2.1. ([#17607](https://github.com/grpc/grpc/pull/17607))
-  server graceful shutdown for pull request. ([#17348](https://github.com/grpc/grpc/pull/17348))
-  Return UNIMPLEMENTED error when user does not implement client_streamer method. ([#17290](https://github.com/grpc/grpc/pull/17290))

Release v1.18.0-pre1: tag_name: v1.18.0-pre1
body: This is a prerelease of gRPC Core 1.18.0 (goose).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.17.2: tag_name: v1.17.2
body: This is the 1.17.2 patch release of gRPC Core.

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.

This release fixes Bazel 0.20's deprecated workspace imports (#17363, #17446). No language packages are being released as part of this patch. 
Release v1.17.1: tag_name: v1.17.1
body: This is the 1.17.1 patch release of gRPC Core and dependent 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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Change xds plugin name to xds_experimental until it's ready for use. ([#17405](https://github.com/grpc/grpc/pull/17405))
-  Better slice management for windows reads (for v1.17.x). ([#17378](https://github.com/grpc/grpc/pull/17378))
-  Cancel still-active c-ares queries after a timeout, for 1.17.x. ([#17382](https://github.com/grpc/grpc/pull/17382))

C#
---

-  Redo C# examples to use new Grpc.Tools. ([#14684](https://github.com/grpc/grpc/pull/14684))

Python
---

-  Update urllib3 version number to avoid security vulnerability. ([#17477](https://github.com/grpc/grpc/pull/17477))
-  Revert stripping manylinux1 binary wheels to fix bad checksum of .so file. ([#17415](https://github.com/grpc/grpc/pull/17415))

Release v1.17.1-pre1: tag_name: v1.17.1-pre1
body: This is a pre-release of gRPC 1.17.1.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Change xds plugin name to xds_experimental until it's ready for use. ([#17405](https://github.com/grpc/grpc/pull/17405))
-  Better slice management for windows reads. ([#17378](https://github.com/grpc/grpc/pull/17378))
-  Cancel still-active c-ares queries after a timeout. ([#17382](https://github.com/grpc/grpc/pull/17382))

C#
---

-  Redo C# examples to use new Grpc.Tools. ([#14684](https://github.com/grpc/grpc/pull/14684))

Python
---

-  Revert stripping manylinux1 binary wheels to fix bad checksum of .so file. ([#17415](https://github.com/grpc/grpc/pull/17415))
Release v1.17.0: tag_name: v1.17.0
body: This is the 1.17.0 release ([gizmo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Add support for LB config in service config. ([#17063](https://github.com/grpc/grpc/pull/17063))
-  Don't reset channel state on resolver failure when LB policy exists. ([#17226](https://github.com/grpc/grpc/pull/17226))
-  Avoid re-resolution after c-ares resolver has been shut down. ([#17204](https://github.com/grpc/grpc/pull/17204))
-  Enable `SO_REUSEADDR` in client sockets. ([#17193](https://github.com/grpc/grpc/pull/17193))
-  Remove `memset(0)` from arena allocate memory. ([#16944](https://github.com/grpc/grpc/pull/16944))
-  Account the memory usage of channel and call by resource quota. ([#16823](https://github.com/grpc/grpc/pull/16823))
-  Client side health checking feature. ([#16507](https://github.com/grpc/grpc/pull/16507))
-  Fail `wait_for_ready=false` RPCs when channel is in `TRANSIENT_FAILURE`. ([#16912](https://github.com/grpc/grpc/pull/16912))
-  Fix a dangling pointer on ares_request object in case of cancellation. ([#16913](https://github.com/grpc/grpc/pull/16913))
-  Fix corruption of ares blocking_resolve_address when grpc is restarted. ([#16917](https://github.com/grpc/grpc/pull/16917))
-  Fix the issue where a random fd will be closed when error occurs during creating eventfd. ([#10859](https://github.com/grpc/grpc/pull/10859))
-  Enable Channelz by default. ([#16819](https://github.com/grpc/grpc/pull/16819))
-  Remove `grpc_use_signal` from API, as no longer relevant. ([#16706](https://github.com/grpc/grpc/pull/16706))
-  Fix deadlock issue in HTTP2 connector. ([#16979](https://github.com/grpc/grpc/pull/16979))

C++
---

-  Experimental API for Client and Server Interception. ([#16842](https://github.com/grpc/grpc/pull/16842))
-  Add global client interceptor factory. ([#17053](https://github.com/grpc/grpc/pull/17053))
-  Fix invalid version .so links in Makefile. ([#16832](https://github.com/grpc/grpc/pull/16832))
-  In gRPC-C++ podspec, copy the certificate to bundle resources. ([#16962](https://github.com/grpc/grpc/pull/16962))
-  Implement Watch method in health check service. ([#16697](https://github.com/grpc/grpc/pull/16697))

C#
---

-  Avoid c-ares dependency on libnsl. ([#17271](https://github.com/grpc/grpc/pull/17271))
-  Switch C# to contextual serializer and deserializer internally. ([#17167](https://github.com/grpc/grpc/pull/17167))
-  Add `BindService()` method that works with alternative serving stacks. ([#17157](https://github.com/grpc/grpc/pull/17157))
-  Document .NET build integration with Grpc.Tools. ([#15754](https://github.com/grpc/grpc/pull/15754))
-  Integrate Grpc.Tools into msbuild system (C# only). ([#13207](https://github.com/grpc/grpc/pull/13207))
-  Use Ninja to build grpc_csharp_ext windows artifact (assembly-optimized secure channels in C# on windows). ([#16780](https://github.com/grpc/grpc/pull/16780))

PHP
---

-  Add fork() support to PHP PECL extension. ([#17147](https://github.com/grpc/grpc/pull/17147))

Python
---

-  Update Python documentation. ([#17194](https://github.com/grpc/grpc/pull/17194))
-  Migrate tests from Python 3.4 to Python 3.7. ([#16995](https://github.com/grpc/grpc/pull/16995))
-  Add wait-for-ready option. ([#16919](https://github.com/grpc/grpc/pull/16919))
-  The new gRPC Python documentation generator. ([#17074](https://github.com/grpc/grpc/pull/17074))
-  Allow gpr compatibility mode to be disabled in the Python build. ([#16916](https://github.com/grpc/grpc/pull/16916))
-  Fix logging issues introduced due to root logger being configured by gRPC. ([#17091](https://github.com/grpc/grpc/pull/17091))
-  Add support for utf-8 error messages. ([#16946](https://github.com/grpc/grpc/pull/16946))
-  Ensure `libboringssl.a` is always built for Python. ([#17049](https://github.com/grpc/grpc/pull/17049))
-  Add python example to show the use of channel options. ([#16924](https://github.com/grpc/grpc/pull/16924))
-  Add type checking for channel args. ([#16864](https://github.com/grpc/grpc/pull/16864))
-  Strip manylinux1 binary wheels. ([#16836](https://github.com/grpc/grpc/pull/16836))

Release v1.17.0-pre3: tag_name: v1.17.0-pre3
body: This is a prerelease of gRPC Core 1.17.0 (gizmo).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release v1.17.0-pre2: tag_name: v1.17.0-pre2
body: This is a prerelease of gRPC Core 1.17.0 ([gizmo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.17.0-pre1: tag_name: v1.17.0-pre1
body: This is a prerelease of gRPC Core 1.17.0 ([gizmo](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.16.1: tag_name: v1.16.1
body: This is 1.16.1 patch release for gRPC-Python.
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.
This prerelease contains refinements, improvements, and bug fixes.

- Python: Fixed the issue where calls to logging.basicConfig() in various modules added a handler to the root logger. This also fixes "No handlers could be found" message in some cases. (#17064)
Release v1.16.1-pre1: tag_name: v1.16.1-pre1
body: This is a prerelease of gRPC Core 1.16.1 (gao).
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.
This prerelease contains refinements, improvements, and bug fixes.

- Python: Fixed the issue where calls to logging.basicConfig() in various modules added a handler to the root logger. This also fixes "No handlers could be found" message in some cases. (#17064)

Release v1.16.0: tag_name: v1.16.0
body: This is the 1.16.0 release ([gao](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Keepalive watchdog firing should return status `UNAVAILABLE`. ([#16764](https://github.com/grpc/grpc/pull/16764))
-  Set `TCP_USER_TIMEOUT` socket option for linux . ([#16419](https://github.com/grpc/grpc/pull/16419))
-  When using c-ares, resolve ip literals and Windows localhost on our own. ([#16420](https://github.com/grpc/grpc/pull/16420))
-  Turn loading system root certificate as default. ([#16536](https://github.com/grpc/grpc/pull/16536))
-  Change pick_first to not unref unselected subchannels. ([#16342](https://github.com/grpc/grpc/pull/16342))

C++
---

-  fix *_unsecure.pc files. ([#16754](https://github.com/grpc/grpc/pull/16754))
-  cmake: prevent C core from depending on libstdc++. ([#16752](https://github.com/grpc/grpc/pull/16752))
-  Implement Watch method in health check service. ([#16574](https://github.com/grpc/grpc/pull/16574))
-  Fix async_stream.h warning on Visual Studio. ([#16544](https://github.com/grpc/grpc/pull/16544))

C#
---

-  Secure channel throughput improvements: Linux x86_64 version of grpc_csharp_ext nuget now ships with assembly-optimized version of boringssl, which leads to significant improvements in throughput of secure C# channels. See https://github.com/grpc/grpc/blob/v1.16.x/doc/ssl-performance.md for details.
-  Expose certificate request type in `SslServerCredentials`. ([#16552](https://github.com/grpc/grpc/pull/16552))
-  build assembly-optimized grpc_csharp_ext with cmake. ([#16777](https://github.com/grpc/grpc/pull/16777))
-  ChannelOption improvements. ([#16756](https://github.com/grpc/grpc/pull/16756))
-  Various allocation optimizations. ([#16631](https://github.com/grpc/grpc/pull/16631))
-  Add new C# serialization API. ([#16367](https://github.com/grpc/grpc/pull/16367))
-  Add constructor overload for `RpcException`. ([#16553](https://github.com/grpc/grpc/pull/16553))
-  Avoid leaking resources when starting a call fails. ([#16554](https://github.com/grpc/grpc/pull/16554))
-  Expose `TryWaitForStateChangedAsync`. ([#16556](https://github.com/grpc/grpc/pull/16556))
-  Add exception info to `Status.Detail` if metadata credentials throws. ([#16543](https://github.com/grpc/grpc/pull/16543))

Objective-C
---

-  Fixed a crash related to error reporting. ([#16696](https://github.com/grpc/grpc/pull/16696))

Python
---

-  Fix SSL channel credential when an argument is None. ([#16640](https://github.com/grpc/grpc/pull/16640))
-  Bazel: Fix python BUILD rules. ([#16561](https://github.com/grpc/grpc/pull/16561))

Ruby
---

-  Switch to `send` instead of `method(...).call`. ([#16642](https://github.com/grpc/grpc/pull/16642))
-  Rescue `GRPC::Core::CallError`  so that worker threads are not killed. ([#16477](https://github.com/grpc/grpc/pull/16477))
-  support for ruby_package options. ([#16014](https://github.com/grpc/grpc/pull/16014))
-  ruby: Raise instead of hanging if grpc is used before and after fork. ([#16332](https://github.com/grpc/grpc/pull/16332))

Release v1.16.0-pre1: tag_name: v1.16.0-pre1
body: This is a pre-release of gRPC Core 1.16.0 ([gao](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This pre-release contains refinements, improvements, and bug fixes.

Release v1.15.1: tag_name: v1.15.1
body: This is a patch release for Objective-C library only.

Objective-C
---

- Fixes an issue where BoringSSL-GRPC conflicts with OpenSSL (#16677)
Release v1.15.0: tag_name: v1.15.0
body: This is the 1.15.0 release ([glider](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.


Core
---

-  Document SSL portability and performance considerations. See https://github.com/grpc/grpc/blob/master/doc/ssl-performance.md .
-  Simplify call arena size growth. ([#16396](https://github.com/grpc/grpc/pull/16396))
-  Make gRPC buildable with AIX and Solaris (no official support). ([#15926](https://github.com/grpc/grpc/pull/15926))
-  PF: Check connectivity state before watching. ([#16306](https://github.com/grpc/grpc/pull/16306))
-  Added system roots feature to load roots from OS trust store. ([#16083](https://github.com/grpc/grpc/pull/16083))
-  Fix c-ares compilation under windows (but doesn't yet enable windows DNS queries), and then enables address sorting on Windows. ([#16163](https://github.com/grpc/grpc/pull/16163))
-  Fix re-resolution in pick first. ([#16076](https://github.com/grpc/grpc/pull/16076))
-  Allow error strings in final_info to propagate to filters on call destruction. ([#16104](https://github.com/grpc/grpc/pull/16104))
-  Add resolver executor . ([#16010](https://github.com/grpc/grpc/pull/16010))
-  Data race fix for lockfree_event. ([#16053](https://github.com/grpc/grpc/pull/16053))
-  Channelz: Expose new Core API. ([#16022](https://github.com/grpc/grpc/pull/16022))

C++
---

-  cmake: disable assembly optimizations only when necessary. ([#16415](https://github.com/grpc/grpc/pull/16415))
-  C++ sync server: Return status `RESOURCE_EXHAUSTED` if no thread quota available. ([#16356](https://github.com/grpc/grpc/pull/16356))
-  Use correct target name for gflags-config.cmake. ([#16343](https://github.com/grpc/grpc/pull/16343))
-  Make should generate pkg-config file for gpr as well. ([#15295](https://github.com/grpc/grpc/pull/15295))
-  Restrict the number of threads in C++ sync server. ([#16217](https://github.com/grpc/grpc/pull/16217))
-  Allow reset of connection backoff. ([#16225](https://github.com/grpc/grpc/pull/16225))

C#
---

-  Add experimental support for Xamarin.Android and Xamarin.iOS, added Helloworld example for Xamarin. See https://github.com/grpc/grpc/tree/master/src/csharp/experimental.
-  Add experimental support for Unity Android and iOS. See https://github.com/grpc/grpc/tree/master/src/csharp/experimental.
-  Add server reflection tutorial. See https://github.com/grpc/grpc/blob/master/doc/csharp/server_reflection.md.
-  Avoid deadlock while cancelling a call. ([#16440](https://github.com/grpc/grpc/pull/16440))
-  Subchannel sharing for secure channels now works as expected. ([#16438](https://github.com/grpc/grpc/pull/16438))
-  Allow dot in metadata keys. ([#16444](https://github.com/grpc/grpc/pull/16444))
-  Avoid shutdown crash on iOS. ([#16308](https://github.com/grpc/grpc/pull/16308))
-  Add script for creating a C# package for Unity. ([#16208](https://github.com/grpc/grpc/pull/16208))
-  Add Xamarin example. ([#16194](https://github.com/grpc/grpc/pull/16194))
-  Cleanup and update C# examples. ([#16144](https://github.com/grpc/grpc/pull/16144))
-  Grpc.Core: add support for x86 android emulator. ([#16121](https://github.com/grpc/grpc/pull/16121))
-  Xamarin iOS: Add libgrpc_csharp_ext.a for iOS into Grpc.Core nuget. ([#16109](https://github.com/grpc/grpc/pull/16109))
-  Xamarin support improvements . ([#16099](https://github.com/grpc/grpc/pull/16099))
-  Mark native callbacks with `MonoPInvokeCallback`. ([#16094](https://github.com/grpc/grpc/pull/16094))
-  Xamarin.Android: add support. ([#15969](https://github.com/grpc/grpc/pull/15969))

Objective-C
---

-  Make BoringSSL symbols private to gRPC in Obj-C so there is no conflict when linking with OpenSSL. ([#16358](https://github.com/grpc/grpc/pull/16358))
-  Use environment variable to enable CFStream. ([#16261](https://github.com/grpc/grpc/pull/16261))
-  Surface error_string to ObjC users. ([#16271](https://github.com/grpc/grpc/pull/16271))
-  Fix `GRPCCall` refcounting issue. ([#16213](https://github.com/grpc/grpc/pull/16213))

Python
---

- Added experimental support for client-side fork on Linux and Mac by setting the environment variable `GRPC_ENABLE_FORK_SUPPORT=1`. Applications may fork with active RPCs, as long as no user threads are currently invoking gRPC library methods. In-progress RPCs continue in the parent process, and the child process may use gRPC by creating new channels. ([#16264](https://github.com/grpc/grpc/pull/16264))
-  Improve PyPy compatibility. ([#16364](https://github.com/grpc/grpc/pull/16364))
-  Fix segmentation fault caused by `channel.close()` when used with connectivity-state subscriptions. ([#16296](https://github.com/grpc/grpc/pull/16296))
-  Add server reflection guide for Python. See https://github.com/grpc/grpc/blob/master/doc/python/server_reflection.md.
-  Add Cython functionality to directly wrap `grpc_arg`. (#16192,  #16197)

Release v1.14.2: tag_name: v1.14.2
body: This is the 1.14.2 patch release of gRPC Core and dependent languages C++, C#, Objective-C, PHP, Python and Ruby.

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.

This release contains refinements, improvements, and bug fixes.

- Core: Segmentation fault when product name from BIOS is empty (#15929)
- Python: Segmentation fault caused by channel.close() when used with connectivity-state subscriptions. (#16296)
Release v1.15.0-pre1: tag_name: v1.15.0-pre1
body: This is a prerelease of gRPC Core 1.15.0 (glider).
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.
This prerelease contains refinements, improvements, and bug fixes.

Release v1.14.2-pre1: tag_name: v1.14.2-pre1
body: This is a prerelease of gRPC Core 1.14.2 (gladiolus).
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.
This prerelease contains refinements, improvements, and bug fixes.

- Core: Segmentation fault when product name from BIOS is empty (#15929)
- Python: Segmentation fault caused by channel.close() when used with connectivity-state subscriptions. (#16296)
Release v1.14.1: tag_name: v1.14.1
body: This is the 1.14.1 patch release of gRPC Core and dependent languages C++, C#, Objective-C, PHP, Python and Ruby.

If you are using version 1.14.0, please upgrade to this patch. A fix for issue [#15889](https://github.com/grpc/grpc/issues/15889) is reverted in this patch. The fix may cause memory corruption is some corner cases. We advise not to use release 1.14.0.

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.
Release v1.14.0: tag_name: v1.14.0
body: This is the 1.14.0 release ([gladiolus](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below. 


Core
---

-  Add [`TROUBLESHOOTING.md`](https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md) guide ([#15940](https://github.com/grpc/grpc/pull/15940))
-  gRPC channels blocking indefinitely and not respecting deadlines on network disconnect. ([#15983](https://github.com/grpc/grpc/pull/15983))
-  Add user guide for keepalive. ([#15995](https://github.com/grpc/grpc/pull/15995))
-  Fix `GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS` doc to restrict usage to server. ([#15994](https://github.com/grpc/grpc/pull/15994))
-  Fixed ordering in adding pending picks to Round Robin LB . ([#15947](https://github.com/grpc/grpc/pull/15947))
-  Implement local channel/server credentials for UDS connections. ([#15909](https://github.com/grpc/grpc/pull/15909))
-  Allow extra copy in zero-copy protector integrity-only mode. ([#15901](https://github.com/grpc/grpc/pull/15901))
-  Update to use the canonical version of LB proto. ([#15840](https://github.com/grpc/grpc/pull/15840))
-  Separate out the posix part of the `c-ares` driver. ([#15780](https://github.com/grpc/grpc/pull/15780))
-  Treat `nanopb` as a regular external dependency. ([#15595](https://github.com/grpc/grpc/pull/15595))
-  Prefer using `https_proxy` over `http_proxy`. ([#15698](https://github.com/grpc/grpc/pull/15698))
-  Refactor to put c-ares queries under a combiner. ([#15490](https://github.com/grpc/grpc/pull/15490))
-  Build `c-ares` with Bazel on Windows. ([#15624](https://github.com/grpc/grpc/pull/15624))
-  Remove `already_closed` parameter from `fd_orphan`. ([#15648](https://github.com/grpc/grpc/pull/15648))
-  Add channel arg to enable/disable `http proxy`. ([#15699](https://github.com/grpc/grpc/pull/15699))
-  Fix shutdown of closed fd when c-ares opens a second fd. ([#15691](https://github.com/grpc/grpc/pull/15691))

C++
---

-  Introduce server-side load reporting service. ([#15196](https://github.com/grpc/grpc/pull/15196), [#15570](https://github.com/grpc/grpc/pull/15570), [#15853](https://github.com/grpc/grpc/pull/15853))
-  Reorder steps in `ServerBuilder::BuildAndStart()`. ([#15919](https://github.com/grpc/grpc/pull/15919))
-  Support Per-Method Codegen Generic on Server Side. ([#15771](https://github.com/grpc/grpc/pull/15771))
-  Protobuf-related headers are available in a subspec of gRPC-C++ podspec. ([#15847](https://github.com/grpc/grpc/pull/15847))

C#
---

-  Codegen fix: avoid potential name conflicts by using fully qualified name in `_Marshaller*` fields. ([#15688](https://github.com/grpc/grpc/pull/15688))
-  cmake: Ability to disable building of grpc_csharp_ext ([#15195](https://github.com/grpc/grpc/pull/15195))
-  Added C# tests that demonstrate how to unit test gRPC code with test doubles. ([#15687](https://github.com/grpc/grpc/pull/15687))
-  Promote the C# interceptor API from experimental to stable and eliminate the `EXPERIMENTAL API` notice on the code elements. ([15668](https://github.com/grpc/grpc/pull/15668))

Objective-C
---

-  Allow control of backoff parameters. ([#15838](https://github.com/grpc/grpc/pull/15838))
-  Fix out-of-bounds access loading `pem` files. ([#15554](https://github.com/grpc/grpc/pull/15554))
-  Batch fixes for a few `CFStream` issues. ([#15714](https://github.com/grpc/grpc/pull/15714))

Python
---

-  Explicitly check conformance of handlers added to a gRPC server to `grpc.GenericRpcHandler` type. ([#15689](https://github.com/grpc/grpc/pull/15689))
-  Expose `SERVICE_NAME` field from reflection and health checking services. ([#16153](https://github.com/grpc/grpc/pull/16153))
-  Explicitly close channels in examples via the `Channel.close` API. ([#15725](https://github.com/grpc/grpc/pull/15725))
    -  Please note that gRPC **requires** explicit closure of `Channel` objects via a `with` block or directly invoking the `Channel.close` API to ensure resources are appropriately released. 
-  Official Python 3.7 binary wheels for Windows (x64), macOS, and Linux (x86 and x64) are now available. ([#15632](https://github.com/grpc/grpc/pull/15632))
-  Optimize blocking intercepted response-unary calls to use the blocking API and not rely on a `future` underneath. ([#14639](https://github.com/grpc/grpc/pull/14639))

Ruby
---

-  `GRPC::Cancelled` should occur when calling `Enumrable#next` on canceled call. ([#15834](https://github.com/grpc/grpc/pull/15834))
-  Be able to execute rspec for each file. ([#15791](https://github.com/grpc/grpc/pull/15791))
-  Unify nearly same methods. ([#15755](https://github.com/grpc/grpc/pull/15755))



Release v1.14.0-pre2: tag_name: v1.14.0-pre2
body: This is a prerelease of gRPC Core 1.14.0 (gladiolus).
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.
This prerelease contains refinements, improvements, and bug fixes.

Release v1.14.0-pre1: tag_name: v1.14.0-pre1
body: This is a prerelease of gRPC Core 1.14.0 (gladiolus).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release v1.13.1: tag_name: v1.13.1
body: This is the 1.13.1 patch release of gRPC C#

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.

This release contains refinements, improvements, and bug fixes.

C#
====

- Remove the shutdown hook on .NET core as it was not needed and was also preventing the use of some useful shutdown patterns. (#15975)
Release v1.13.0: tag_name: v1.13.0
body: This is the 1.13.0 release ([gloriosa](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core
---

- gRPC stats will only be collected for debug builds or if `GRPC_COLLECT_STATS` is defined. It will be disabled for opt builds. (#15280)
- Fix for Issue #13553. Unlimited can now be set as the max receive message length. (#15394)

C++
---

- cmake install now also installs should also installs the roots.pem file (#15319)

C#
---

- Remove the workaround code to detect channel disconnects and rely on C core functionality instead. Note that there is a small change in behavior. Before, clients would detect disconnected channels immediately.
 (#14577)
- Provide debugging symbols for the `grpc_csharp_ext` native library used by the C# code. Only available for Windows currently. (#14908)
- Allow creating instances of ServerCallContext in tests (#15214)
- Fix handling of some less common situations in C# code generator (#15583, #15639)

Objective-C
---

- CFStream networking layer open for experiment (#15069, #15677, #15718)
- Fixed issue where BoringSSL podspec cannot be accessed from China (#15428, #15612)
- Bug fixes for gRPC Objective-C (#13180, #15050, #15285, #15429, #15531, )

PHP
---

- Experimental support for the client-side interceptor. (#13342, #15779)
- Add upper bound for the persistent channel per target, which can be set by the option ‘grpc_target_persist_bound’. By default, only 1 channel will be persisted for each target. (#15218)
- Add experimental API for the call invoker. (#15749)

Python
---

- Binary wheels for Python 3.7 on `manylinux1` platform are now available.
- Source code is now Pylint 1.9.2-compliant (https://github.com/grpc/grpc/pull/15682). 
- Testing utilities for gRPC Python are now readily available via `grpcio-testing` from PyPI (https://github.com/grpc/grpc/pull/15819).
- `requirements.txt` no longer lists the `futures` package as a dependency—whose installation used to be unnecessary on Python 3 but now actively breaks on Python 3 (https://github.com/grpc/grpc/pull/15362).
- Python errors have become more verbose. They now surface the actual error from gRPC Core: #13689
- `GRPC_ENABLE_FORK_SUPPORT=false` is no longer required when running `fork`-`exec`.
- Relying on an explicit `with` statement or explicitly calling `Channel.close` to release the underlying resources in `Channel` objects is now a required coding practice starting in `v1.13.0`. 

Release v1.13.0-pre3: tag_name: v1.13.0-pre3
Release v1.13.0-pre2: tag_name: v1.13.0-pre2
body: This is a prerelease of gRPC Core 1.13.0 (gloriosa).
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.
This prerelease contains refinements, improvements, and bug fixes.

Release v1.13.0-pre1: tag_name: v1.13.0-pre1
body: This is a prerelease of gRPC Core 1.13.0 (gloriosa).

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.

This prerelease contains refinements, improvements, and bug fixes.

Release 1.12.0: tag_name: v1.12.0
body: This is the 1.12.0 release ([glorious](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.
 
Core
---

- Update `protobuf` submodule to 3.5.2 (https://github.com/grpc/grpc/pull/15114)
- Make `GrpcBuffer{Reader|Writer}` Public (https://github.com/grpc/grpc/pull/14541)
- Compile Out Tracers Option (https://github.com/grpc/grpc/pull/15108)
- Fix bug in an address sorting comparison (https://github.com/grpc/grpc/pull/15208)
- Fix: Check retry timer before starting resolving (https://github.com/grpc/grpc/pull/15156)
- Fix c-ares resolution with default authority (https://github.com/grpc/grpc/pull/15073)
- Fix c-ares resolver crash when DNS server unreachable (https://github.com/grpc/grpc/pull/15134)
- Performance: Avoid low severity log message construction (https://github.com/grpc/grpc/pull/14945)
- Peformance: Enable `SIO_LOOPBACK_FAST_PATH` on Windows (https://github.com/grpc/grpc/pull/14905)

C#
--

- Add `RpcException.StatusCode` property (https://github.com/grpc/grpc/pull/15140)
- Improvements to C# build instructions (https://github.com/grpc/grpc/pull/15178)

Python
----

- Eliminate `grpcio` package dependency on `protobuf` package (https://github.com/grpc/grpc/pull/15034). Please pay extra attention if you are using gRPC with Protocol Buffers and your deployment scripts do not explicitly list the correct dependencies and used to rely on the transitive Python package dependency from `grpcio` to `protobuf`.
- A [new grpc.Channel.close method is introduced](https://github.com/grpc/grpc/pull/15254) and correct use of gRPC Python [now requires that channels be closed after use](https://github.com/grpc/grpc/issues/12531). No existing code should observably break when upgrading to 1.12 but code that creates channels but does not close them will not be supported in 1.13 and later.

Release 1.11.1: tag_name: v1.11.1
body: This is the 1.11.1 patch release of gRPC Core (gorgeous).

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.

This release contains refinements, improvements, and bug fixes.

Core
====

- Fix: Check retry timer before starting resolving (https://github.com/grpc/grpc/pull/15156)
- Fix c-ares resolution with default authority (https://github.com/grpc/grpc/pull/15073)
- Fix c-ares resolver crash when DNS server unreachable (https://github.com/grpc/grpc/pull/15134)
Release 1.12.0-pre1: tag_name: v1.12.0-pre1
body: This is a prerelease of gRPC Core 1.12.0 ([*glorious*](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This prerelease contains refinements, improvements, and bug fixes.


Release 1.11.1-pre1: tag_name: v1.11.1-pre1
body: This is the first prerelease of gRPC Core 1.11.1 (gorgeous).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release 1.11.0: tag_name: v1.11.0
body: This is the 1.11.0 release (*[gorgeous](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)*) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.
 
Core
-----

- Add core underpinnings for TLS session ticket support (#14483)
- Experimental support for configurable retries (use at your own risk) (#10684)
- Fail calls with `wait_for_ready=false` on transient resolver failure (#14733)
- Fix a call stack ref flake (#14681)
- `c-ares` DNS resolver sorts resolved addresses per RFC 6724 (#13290)
- Use `socklen_t` instead of `size_t` for address length (fixes use case for some big endian systems) (#14464)
- Initial part of channel tracing implementation (#13883, #14746, #14751)
- Avoid crashes on environments with hot-plugged CPUs (#14712)
- When building from source, `Makefile` now checks for minimum `protobuf` version 3.5.0 instead 3.0.0 (#14821)
- gRPC Core public header no longer includes `inttypes.h` (#14676)
- CMake improvements:
  - Add well-commented examples and continuous test for various ways of building gRPC as a dependency (via `ExternalProject_Add` in #14822, via `add_subdirectory` in #14864)
  - Remove internal tools from binaries installed by `cmake install` (#14850)
  -  Simplify Android build example (#14885)
- Enable `SO_REUSEPORT` in IPv6-only environments as well (#14748)

C#
---

- Improvements in experimental support for Unity - added useful resources and improved support for loading `grpc_csharp_ext` on Unity (#14576, #14605)
- Further prevent name collisions by using only fully qualified type names in C# code generator (#14524)
- Fix C# connectivity watcher shutdown race (#14776)

Objective-C
------------

- Support for Keep-Alive (#14781)
- Experimental C++ podspec now supports Apple framework (#14480)
- Allow discarding generated implementation (leaving only protocol) with macro (#14490)
- Better handling of network error (#14554)

PHP
----

- Add missing `-O2` compilation flag for pecl (#14768)
- Update the reserved variable list to check in PHP code generator to match protobuf 3.5.0 (#13580)

Python
-------
- Progress towards full Beta API elimination (Beta API is and has been unsupported and will go away completely): 
  - Remove `_face_interface_test` tests for the Beta API (#14702)
- Remove Python background poller thread (#14448)
  - Note there is a small change in behavior.  Before, clients would detect disconnected channels immediately.
- Initial `gevent` compatibility (EXPERIMENTAL) (#14561)
- Release the GIL when calling `grpc_call_start_batch` to improve performance under multithreaded scenarios. (#14801)

Ruby
-----

- Correct handling of underscores in package names by Protocol Buffers code generator for Ruby (#13634)
- Source code and *locally* compiled (not cross-compiled) shared libraries (`grpc_c.so` files) are removed from the linux binary packages. This includes the packages targeting the `x86_64-linux` and `x86-linux` platforms (#14634)
- Bug fix for a use-after-free related to access to a garbage collected object (#14809)
- Get rid of the `-Wno-format` argument to compilation of the ruby extension
- Documentation improvements (#14535)
- Don’t raise `GRPC::Core::CallErrors` for failed reads or writes of bidi streaming calls (#14922)
- Fix a race condition in an interrupt handler that could cause an assertion failure (#14953)


Release 1.11.0-pre2: tag_name: v1.11.0-pre2
body: This is the second prerelease of gRPC Core 1.11.0 ([*gorgeous*](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This prerelease contains refinements, improvements, and bug fixes.
Release 1.11.0-pre1: tag_name: v1.11.0-pre1
body: This is a prerelease of gRPC Core 1.11.0 ([*gorgeous*](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This prerelease contains refinements, improvements, and bug fixes.


Release 1.10.1: tag_name: v1.10.1
body: This is the 1.10.1 patch release of gRPC Core ([*glamorous*](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)).

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

## Core

- Fix memory leak in flow control logic (https://github.com/grpc/grpc/pull/14747)
- Update BoringSSL submodule

## PHP

- Fix persistent channel in the php-fpm mode

Release 1.10.1-pre1: tag_name: v1.10.1-pre1
body: This is a prerelease of gRPC Core 1.10.1.

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.

This prerelease contains refinements, improvements, and bug fixes, with highlights listed below.

## Core

Fix memory leak in flow control logic (https://github.com/grpc/grpc/pull/14747)
Release 1.10.0: tag_name: v1.10.0
body: This is the 1.10.0 release ([*glamorous*](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core.

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.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

## Core

- To provide a cleaner install with fewer public headers, several features of core have been removed from the surface or GPR API as they were not used in any wrapped language (except C++) or in external applications, such as:
  a. `grpc_alarm` (removed; the C++ `grpc::Alarm` now directly invokes core subsurface functions)
  b. `gpr_join_host_port`, `gpr_cmdline`, `gpr_subprocess` (moved to `test/core/util`)
  c. `gpr_tls`, `gpr_avl` (internalized)
  d. `gpr_thd` (internalized)
    - Except `gpr_thd_id` and `gpr_thd_currentid`, which remain public
- As a result of these changes, core is now at version 6.0.0 
- Fix memory leaks in `max_age_filter` (https://github.com/grpc/grpc/pull/14501) and  http_proxy (#14137)
- Changed resolver and LB policy APIs to C++
- Added re-resolution into grpclb policy (#14438). 
- Extracted per LB-call data from grpclb policy (#13911)
- Fixed C-core to immediately take ownership of slices when a `send_message` op is started
- Fix a race condition causing freeze at shutdown with `epollex` polling strategy (#14177)
- Improvements in CMake: `find_package` (#14353)
- Portability fixes (#14136, #14198)
- Test infrastructure cleanup (#14117)
- Update BoringSSL submodule (#13948)
- Make RR re-resolve when any of its subchannels fail (#14170)
- DNS resolver caches results, allowing it to be hit arbitrarily often. Resolution frequency is controlled via channel arg `GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS`. (#14228)

## C++

- C++ headers are moved from `include/grpc++` to `include/grpcpp`. Headers in `include/grpc++` are deprecated (#14210)
- Experimental gRPC-C++ Cocoapods podspec (#13935)
- Improve comments explaining `CompletionQueue` ok result, `Shutdown` contract, and effect of `TryCancel`
- Explain in comments that `GenericStub::Call` is deprecated and that `GenericStub` users should prefer the two-phase call creation mechanism (first call `PrepareCall` then call `Start`) instead

## C#

- Experimental support for client-side and server-side interceptors (https://github.com/grpc/grpc/pull/12613)

## Objective-C

- Added base64 encoding support of binary header field for Cronet transport
- Fixed build time warnings (#14314)

## PHP

- Added memory leak test

## Python

- Strip the grpcio source package by removing some of the unneeded files pulled by submodules, decreasing the uncompressed size by about 10MB. (https://github.com/grpc/grpc/pull/14533)
- Relax the interceptor API’s requirement of providing a call details instance with all of the attributes specified as comments in the interface. The non-existent attributes will now reassume the values they previously had when they were passed to the interceptor. (https://github.com/grpc/grpc/pull/14105)

## Ruby

- Fix a race condition in server shutdown (#14134)
- Fix a memory leak that occurs after an exception thrown due to invalid arguments (#14132)

Release 1.10.0-pre2: tag_name: v1.10.0-pre2
body: This is the second prerelease of gRPC Core 1.10.0
Release 1.10.0-pre1: tag_name: v1.10.0-pre1
body: This is a prerelease of gRPC Core 1.10.0
Release 1.9.1: tag_name: v1.9.1
body: This is the 1.9.1 patch release of gRPC.

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.

## Core

* Fixes a reference counting issue that may result in runtime failures in highly multithreaded environments https://github.com/grpc/grpc/pull/14315
Release 1.9.0: tag_name: v1.9.0
body: 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
Release 1.9.0-pre3: tag_name: v1.9.0-pre3
body: 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

Release 1.8.6: tag_name: v1.8.6
body: 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
Release 1.9.0-pre2: tag_name: v1.9.0-pre2
body: 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

Release 1.9.0-pre1: tag_name: v1.9.0-pre1
body: This is a pre-release for gRPC v1.9.0
Release 1.8.5: tag_name: v1.8.5
body: 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 
Release 1.8.4: tag_name: v1.8.4
body: 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

Release 1.8.3: tag_name: v1.8.3
body: * Eliminate superfluous log error messages (https://github.com/grpc/grpc/pull/13882) 
* Fix Bazel build issues (https://github.com/grpc/grpc/pull/13863)
Release 1.8.2: tag_name: v1.8.2
body: Fixes 100% CPU usage in Python (#9688)
Release 1.8.1: tag_name: v1.8.1
body: 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)
Release 1.8.0: tag_name: v1.8.0
body: 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](https://grpc.io/grpc/python/grpc.html#term-metadata) 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)
Release 1.7.3: tag_name: v1.7.3
body: 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:

- Added handshake timeout for server transports (https://github.com/grpc/grpc/pull/13642).
Release 1.8.0-pre2: tag_name: v1.8.0-pre2
body: This is a pre-release for gRPC v1.8.0
Release 1.7.2: tag_name: v1.7.2
body: 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:

+  Fix forward the breakage of Ruby-2.0 support that was present in the 1.7.0 and 1.7.1 releases (PR https://github.com/grpc/grpc/pull/13203)
Release 1.7.1: tag_name: v1.7.1
body: 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#:

+  Fix for a memory leak that occurs on Windows. (https://github.com/grpc/grpc/pull/13169).

#### Ruby:

+  Update the maximum-allowed version of the googleauth package dependency to "< 0.7"
Release 1.7.0: tag_name: v1.7.0
body: 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](https://github.com/grpc/grpc/pull/12264)
+  Remove /vsprojects pre-generated projects in favor of cmake #[11598](https://github.com/grpc/grpc/pull/11598)
+  cmake improvements (#[12411](https://github.com/grpc/grpc/pull/12411), #[12469](https://github.com/grpc/grpc/pull/12469), #[12248](https://github.com/grpc/grpc/pull/12248))
+  Bump c-ares to 1.13.0 (#[12305](https://github.com/grpc/grpc/pull/12305))

#### C-core

+  Fix windows memory leak (#[13118](https://github.com/grpc/grpc/pull/13118))
+  Bugfixes in Load Balancing policies (#[12601](https://github.com/grpc/grpc/pull/12601), #[12303](https://github.com/grpc/grpc/pull/12303))
+  Add flow-control and bugfixes to in-process transport ([12797](https://github.com/grpc/grpc/pull/12797), [13072](https://github.com/grpc/grpc/pull/13072))

#### C++:

+  Async API extensions to improve multithreading support and reduce the need for explicit synchronization ([#12269](https://github.com/grpc/grpc/pull/12269))
+  Unary call API for generic (non-protobuf) RPCs ([#12645](https://github.com/grpc/grpc/pull/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.

    +  [Pull request 12625](https://github.com/grpc/grpc/pull/12625).
    +  Also [12551](https://github.com/grpc/grpc/pull/12551), [12592](https://github.com/grpc/grpc/pull/12592), [12602](https://github.com/grpc/grpc/pull/12602), and [12609](https://github.com/grpc/grpc/pull/12609).

#### Ruby:

+  Experimental support for client and server interceptors.

#### C#:

+  Fix call's CancellationToken memory leak #[12817](https://github.com/grpc/grpc/pull/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:

+  Moved to [grpc-node](https://github.com/grpc/grpc-node).
+  See release notes [here](https://github.com/grpc/grpc-node/releases).
Release 1.6.7: tag_name: v1.6.7
body: This is a patch release for gRPC Ruby library.

## Ruby

 - Fixes a memory leak (#13047)
Release 1.6.6: tag_name: v1.6.6
body: 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)
Release 1.6.5: tag_name: v1.6.5
body: 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)
Release 1.6.4: tag_name: v1.6.4
body: 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)
Release 1.6.2: tag_name: v1.6.2
body: 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
Release 1.6.1: tag_name: v1.6.1
body: Fix warnings in C# nugets, fix distribtests.
Release 1.6.0: tag_name: v1.6.0
body: # 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

+  License changed to Apache v2 (for compliance reasons as gRPC has been donated to CNCF)
+  [Bump Protobuf to v3.4.0](https://github.com/grpc/grpc/pull/12195)

## C-core

+  [Fix a thread safety bug in chttp2_transport](https://github.com/grpc/grpc/pull/12103) 
+  [Add tags to anonymous structs and unions (makes FFI bindings easier)](https://github.com/grpc/grpc/pull/12059) 
+  [Prevent fd_orphan from calling shutdown(fd) when release_fd is true](https://github.com/grpc/grpc/pull/12055) 
+  [Improvements to grpc_byte_stream API and handling.](https://github.com/grpc/grpc/pull/11905) 
+  [In-process transport](https://github.com/grpc/grpc/pull/11145) 
+  Flow Control improvements ([I](https://github.com/grpc/grpc/pull/11720), [II](https://github.com/grpc/grpc/pull/11831))

## 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
v1.6.0-pre1: tag_name: v1.6.0-pre1
Release 1.4.5: tag_name: v1.4.5
body: # 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 <i>String</i>-typed custom metadata (PR #11849)
+ Fix a memory leak that can occur when composing credentials (PR #11830)
Release 1.4.3: tag_name: v1.4.3
body: # 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)
Release 1.4.2: tag_name: v1.4.2
body: # 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)
Release 1.4.1: tag_name: v1.4.1
body: # 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.

Release 1.4.0: tag_name: v1.4.0
body: # 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](https://github.com/grpc/grpc/issues/7710), [pull request 10993](https://github.com/grpc/grpc/pull/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](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)
v1.4.0-pre1: tag_name: v1.4.0-pre1
body: Pre-release for v1.4.0
Release 1.3.4: tag_name: v1.3.4
body: 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

Release 1.3.2: tag_name: v1.3.2
body: 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

Release 1.3.1: tag_name: v1.3.1
body: 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.

Release 1.3.0: tag_name: v1.3.0
body: ### 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.
Release 1.2.5: tag_name: v1.2.5
body: This is the 1.2.5 patch release for the gRPC Ruby library.

## Changes

### Ruby

- relieves a memory accumulation bug occurring over the lifetimes of channel objects.
  - reverts the change that was introduced into 1.2.2 which caused it
  - see https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues/1421
Release 1.2.3: tag_name: v1.2.3
body: 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.
Release 1.2.0: tag_name: v1.2.0
body: Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](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

+  [Fixed chttp2 ping parser](https://github.com/grpc/grpc/pull/10087)
+  [Fixed missing wakeups when using the libuv iomgr under Electron](https://github.com/grpc/grpc/pull/9888)
+  [Error arena optimization](https://github.com/grpc/grpc/pull/9963)
+  Performance improvements: combiner locks, elimination of locks in favor of atomics 
+  Load reporting data propagation through call context instead of metadata.
+  made grpc-encoding:identity implicit 
+  Eliminated CQ freelist

#### 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:

+  [Updated protobuf dependency to 3.2.0](https://github.com/grpc/grpc/pull/10026)
+  [Added maximum_concurrent_rpcs optional keyword parameter to grpc.server](https://github.com/grpc/grpc/pull/10022).

#### 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.
gRPC v1.2.0-pre2: tag_name: v1.2.0-pre2
body: Release candidate for v1.2.0
Release 1.1.4: tag_name: v1.1.4
body: 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.

Release 1.1.2: tag_name: v1.1.2
body: 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

Release 1.1.1: tag_name: v1.1.1
body: 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)

Release 1.1.0: tag_name: v1.1.0
body: 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).

gRPC v1.1.0-pre1: tag_name: v1.1.0-pre1
body: Release candidate for gRPC v1.1.0

Objective-C 1.0.2 Release: tag_name: objective-c-v1.0.2
body: 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.

Release 1.0.1: tag_name: v1.0.1
body: ### **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

Release 1.0.0: tag_name: v1.0.0
body: ### **Release 1.0.0**

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](https://github.com/grpc/grpc/releases). Also please see [http://grpc.io/](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:
-  gRPC now uses protobuf-3.0.0 as released on [https://github.com/google/protobuf/releases/tag/v3.0.0](https://github.com/google/protobuf/releases/tag/v3.0.0) - please visit that page for relevant release notes.

#### 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:
-  https://github.com/grpc/grpc/pull/7264 BoringSSL's podspec (starting at v5.0) now builds correctly for devices (not only simulator).
-  https://github.com/grpc/grpc/pull/7288 Well-known protos ([the `.proto` files distributed with `protoc](https://github.com/google/protobuf/tree/master/src/google/protobuf)`) can now be used when compiling pods as dynamic frameworks.
-  https://github.com/grpc/grpc/pull/6855 Support for multiple services defined in the same `.proto` file.
-  [https://github.com/grpc/grpc/pull/7572](https://github.com/grpc/grpc/pull/7572) The default response size limit was reduced to 4MB. The limit can now be adjusted by the app if necessary.

#### 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

Objective-C 1.0.0 Pre-release 1: tag_name: objective-c-v1.0.0-pre1
body: 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:
- https://github.com/grpc/grpc/pull/7264 BoringSSL's podspec (as v5.0) now builds correctly for devices (not only simulator).
- https://github.com/grpc/grpc/pull/7288 Well-known protos ([the `.proto` files distributed with `protoc`](https://github.com/google/protobuf/tree/master/src/google/protobuf)) can now be used when compiling pods as dynamic frameworks.
- 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.
- https://github.com/grpc/grpc/pull/6855 Support for multiple services defined in the same `.proto` file.
- (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.

Development Release 0.15.0: tag_name: release-0_15_0
body: ### **Release 0.15.0**

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](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](http://www.grpc.io/grpc/python/grpc.html#module-grpc), some breaking changes are expected prior to GA:
  -  [https://github.com/grpc/grpc/issues/7062](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)

Development Release 0.14.1: tag_name: release-0_14_1
body: ### **Release 0.14.1**

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](https://github.com/grpc/grpc/releases)

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

#### Cross language features:
-  stress test integration for Python, Ruby, PHP, C# and Node
-  performance test suite for C++, Python, Ruby, C#, Node (and Java and Go)
-  Fail fast as the default for C++, Python, Ruby, PHP, Node, C#, and Objective-C (see [https://github.com/grpc/grpc/blob/master/doc/fail_fast.md](https://github.com/grpc/grpc/blob/master/doc/fail_fast.md))

#### 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.

Development Release 0.13.1: tag_name: release-0_13_1
body: ### Release 0.13.1

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](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.

Development Release 0.13.0: tag_name: release-0_13_0
body: ### Release 0.13.0

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](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.

Development Release 0.12.0: tag_name: release-0_12_0
body: ### Release 0.12.0

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](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.

Development Release 0.11.1: tag_name: release-0_11_1
body: ### Release 0.11.1

Please see the notes for the previous releases here: [https://github.com/grpc/grpc/releases](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.

Beta Release 0.11.0: tag_name: release-0_11_0
body: ### 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.

Development Release 0.10.2: tag_name: release-0_10_2
body: 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)

Development Release 0.10.1: tag_name: release-0_10_1
body: ### 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

Development Release 0.10.0: tag_name: release-0_10_0
body: ### 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.

Development Release 0.9.1: tag_name: release-0_9_1
body: ### 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.

Development Release 0.9.0: tag_name: release-0_9_0
body: ### 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.

Development Release 0.6.0: tag_name: release-0_6_0
body: 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.

Initial public release: tag_name: release-0_5_0
body: 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.