Skip to content

Conversation

release-please[bot]
Copy link
Contributor

🤖 I have created a release beep boop

2.0.0 (2025-05-30)

⚠ BREAKING CHANGES

  • drop support for Python 2.7 / 3.5 (#212)

Features

  • [CBT-6 helper] Exposing Retry._deadline as a property (#20) (7be1e59)
  • Add 'GoogleAPICallError.error_details' property (#286) (ef6f0fc)
  • Add 'strict' to flatten_query_params to lower-case bools (#433) (83678e9)
  • Add a little bit of typing to google.api_core.retry (#453) (2477ab9)
  • Add api_key to client options (#248) (5e5ad37)
  • Add async unsupported paramater exception (#694) (8c137fe)
  • Add attempt_direct_path argument to create_channel (#583) (94726e7)
  • Add automatic logging config to support debug logging (#754) (d18d9b5)
  • Add caching to routing header calculation (#526) (6251eab)
  • Add client_encryped_cert_source to ClientOptions (#31) (e4eaec0)
  • Add common logic for supporting universe domain (#621) (94f2ca3)
  • Add google.api_core.version_header (#638) (a7b53e9)
  • Add grpc Compression argument to channels and methods (#451) (bdebd63)
  • Add grpc transcoding + tests (#259) (afe0fa1)
  • Add helper function to format query_params for rest transport. (#275) (1c5eb4d)
  • Add iterator capability to paged iterators (#200) (3487d68)
  • Add operations rest client to support long-running operations. (#311) (ce1adf3)
  • Add protobuf runtime version to x-goog-api-client header (#812) (118bd96)
  • Add Samples section to CONTRIBUTING.rst (#229) (a12c051)
  • Add ServiceUnavailable exception to polling retries (#184) (11032cf)
  • Add support for 'error_info' (#315) (cc46aa6)
  • Add support for rest/ token in x-goog-api-client header (#189) (15aca6b)
  • Add support for asynchronous long running operations (#724) (aaed69b)
  • Add support for asynchronous rest streaming (#686) (1b7bb6d)
  • Add support for creating exceptions from an asynchronous response (#688) (1c4b0d0)
  • Add support for Python 3.10 (#284) (a422a5d)
  • Add support for Python 3.11 (#466) (ff379e3)
  • Add support for Python 3.12 (#557) (091b4f1)
  • Add support for python 3.13 (#696) (46b3d3a)
  • Add support for Python 3.9 (#111) (fdbed0f)
  • Add type annotations to wrapped grpc calls (#554) (fc12b40)
  • Add universe_domain argument to ClientOptions (3069ef4)
  • Adds support for audience in client_options (#379) (c97c498)
  • Adds support for audience in client_options. (c97c498)
  • Allow credentials files to be passed for channel creation (#50) (ded92d0)
  • Allow default_host and default_scopes to be passed to create_channel (#134) (94c76e0)
  • Allow disabling response stream pre-fetch (#30) (74e0b0f)
  • Allow gRPC metadata to be passed to operations client (#127) (73854e8)
  • Allow quota project to be passed to create_channel (#58) (e2d9a7b)
  • Allow representing enums with their unqualified symbolic names in headers (#465) (522b98e)
  • api core: Simplify from_rfc3339 methods (#9641) (74326f4)
  • api_core: Add retry param into PollingFuture() and it's inheritors (#9923) (14f1f34), closes #6197
  • api_core: Make the last retry happen at deadline (#9873) (52f12af)
  • api_core: Provide a 'raw_page' field for page_iterator.Page (#9486) (9230dd4)
  • api_core: Support version 3 policy bindings (#9869) (fd47fda)
  • api-core: Add client_cert_source to ClientOptions (#17) (748c935)
  • api-core: Pass retry from result() to done() (#9) (6623b31)
  • AsyncIO Integration [Part 2] (#28) (dd9b2f3), closes #23
  • client_options: Add new client options 'quota_project_id', 'scopes', and 'credentials_file' (a582936)
  • Expose extra fields in ExtendedOperation (#351) (9abc6f4)
  • First batch of AIO integration (#26) (a82f289)
  • HTTPIterator now accepts a page_size parameter to control page … (#197) (a421913)
  • Initial support for Extended Operations (#344) (021bb7d)
  • Introduce compatibility with native namespace packages (#561) (bd82827)
  • Iterator for processing JSON responses in REST streaming. (#317) (f9f2696)
  • Make grpc transcode logic work in terms of protobuf python objects (#428) (c3ad8ea)
  • Migrate to pyproject.toml (#736) (159e9a4)
  • Retry and retry_async support streaming rpcs (#495) (17ff5f1)
  • Retry google.auth TransportError and requests ConnectionError (#178) (6ae04a8)
  • storage: Support optionsRequestedPolicyVersion (#9989) (17bbd63)
  • Support dynamic retry backoff values (#793) (70697a3)
  • Support with_call for wrapped rpcs (#550) (01a57a7)
  • Third batch of AsyncIO integration (#29) (7d8d580)
  • Update recognized logging fields (#766) (5f80f77)

Bug Fixes

  • _determine_timeout problem handling float type timeout (#64) (2010373)
  • Add _registered_method to grpc ChannelStub (#614) (5eaaea8)
  • Add 'requests.exceptions.ChunkedEncodingError' to retryable exceptions (#237) (5e540f2)
  • Add actionable errors for GCE long running operations (#498) (7dfc3a7)
  • Add more context to error message. (#340) (0680fb4)
  • Add mypy checking + 'py.typed' file (#290) (0023ee1)
  • Add operation name to x-goog-request-params (#133) (97cef4a)
  • Add operation name to x-goog-request-params in async client (#137) (7271b23)
  • Add support for protobuf 5.x (#644) (fda0ca6)
  • Add type hints to ClientOptions (#735) (b91ed19)
  • Add warning to retry target to avoid incorrect usage (#543) (bfb40e6)
  • Allow BackgroundConsumer To Inform Caller of Fatal Exceptions with Optional Callback (#821) (3206c01)
  • Allow grpc without grpcio-status (#355) (112049e)
  • api_core: Finalize during close of 'ResumableBidiRpc' (#9337) (ac8716d)
  • Avoid AttributeError if grpcio-status is not installed (#370) (022add1)
  • Bigtable policy class to use Policy.bindings (17bbd63)
  • Bump grpcio version to use stable aio API (#234) (bdbf889)
  • Bump up grpcio minimum version to 1.29.0 (#41) (4b11422)
  • Consume part of StreamingResponseIterator to support failure while under a retry context (#10206) (2b103b6)
  • dependencies: Increase protobuf version (#49) (1ba6095)
  • deps: Allow protobuf < 5.0.0 (#400) (8f73d2e)
  • deps: Allow protobuf 3.19.5 (#459) (e949364)
  • deps: Allow protobuf 6.x (#804) (687be7c)
  • deps: Remove setuptools from dependencies (#339) (c782f29)
  • deps: Require googleapis-common-protos >= 1.56.2 (d84d66c)
  • deps: Require proto-plus >= 1.22.3 (#626) (4fed37c)
  • deps: Require protobuf >= 3.20.1 (8c19609)
  • deps: Require protobuf>= 3.15.0, <4.0.0dev (#385) (d84d66c)
  • deps: Require six >= 1.13.0 (#78) (a7a8b98)
  • Do not error on LROs with no response or error (#258) (618f192)
  • Drop support for grpc-gcp (#401) (5da6733)
  • Drop support for Python 2.7 / 3.5 (#212) (a30f004)
  • Drop usage of distutils (#541) (4bd9e10)
  • Ensure exception is available when BackgroundConsumer open stream fails (#357) (405272c)
  • Exclude function target from retry deadline exceeded exception message (#318) (34ebdcc)
  • Fail gracefully if could not import rpc_status module (#680) (7ccbf57)
  • Fix broken import for google.api_core.retry_async.AsyncRetry (#587) (ac012c0)
  • Fix regression in bidi causing Thread-ConsumeBidirectionalStream caught unexpected exception and will exit (#562) (40c8ae0)
  • Handle bare 'grpc.Call' in 'from_grpc_error' (#298) (060b339)
  • Harden install to use full paths, and windows separators on windows (#88) (db8e636)
  • Ignore unknown fields in rest streaming. (#651) (1203fb9)
  • Improve Any decode error (#712) (0d5ed37)
  • Improve transcoding error message (#442) (538df80)
  • Invalid dev version identifiers in setup.py (#505) (8844edb)
  • Major refactoring of Polling, Retry and Timeout logic (#462) (434253d)
  • Make 'gapic_v1.method.DEFAULT' a typed object (#292) (ffc51f0)
  • Map LRO errors to library exception types (#86) (a855339)
  • Memory leak in bidi classes (#770) (c1b8afa)
  • Only add quota project id if supported (#75) (8f8ee78)
  • Remove dependency on pkg_resources (#361) (523dbd0)
  • Remove py2 tag from wheel (#343) (7e21e9e)
  • Replace deprecated datetime.datetime.utcnow() (#552) (448923a), closes #540
  • Require google-auth >= 2.14.1 (#463) (7cc329f)
  • Require google-auth>=1.25.0 (#190) (155da5e)
  • Require proto-plus >= 1.25.0 for Python 3.13 (#740) (a26313e)
  • Require python 3.7+ (#410) (7ddb8c0)
  • Resolve issue handling protobuf responses in rest streaming (#604) (bcebc92)
  • Resolve issue where pre-release versions of dependencies are installed (#808) (1ca7973)
  • Resolve the issue where rpc timeout of 0 is used when timeout expires (#776) (a5604a5)
  • Restore support for grpcio-gcp (#418) (8c19609)
  • Retry constructors methods support None (#592) (416203c)
  • Revert "fix: do not error on LROs with no response or error" (#294) (9e6091e)
  • Save empty IAM policy bindings (#155) (536c2ca)
  • Set chunk size for async stream content (#702) (45b8a6d)
  • Skip empty policy bindings in len() and iter() (#159) (9eaa786)
  • Spelling error a,out -> amount (#596) (88688b1)
  • Strip trailing _ from field mask paths (#228) (ff6ef1b)
  • Support 'retry' for ops built from HTTP/gRPC responses (#115) (7a38243)
  • Switch to unittest.mock from mock (#713) (8c53381)
  • tests: Change version to make existing tests pass (17bbd63)
  • Undprecate entity factory helpers (#101) (1fbee03), closes #100
  • Update async client to use async retry (#544) (f21bb32)
  • Update out-of-date comment in exceptions.py (#93) (70ebe42)
  • Use version.py instead of pkg_resources.get_distribution (#80) (d480d97)

Documentation

  • About of time -> amount of time (#9052) (92840f1)
  • Add a note that grpcio-gcp is only supported in environments with protobuf < 4.x.x (8c19609)
  • Add python 2 sunset banner to documentation (#9036) (0f6ad2a)
  • Add warnings regarding consuming externally sourced credentials (#783) (0ec1825)
  • Change the documentation for using 'six.moves.collections_abc.Mapping' instead of 'dict' in 'client_options.from_dict()' (#53) (c890675)
  • Explain how to create credentials from dict (#109) (5dce6d6)
  • Fix a typo in google/api_core/page_iterator.py (#511) (c0ce73c)
  • Fix broken links in multiprocessing.rst (#195) (8d8bc51)
  • Fix changelog header to consistent size (#394) (ac266e9)
  • Fix intersphinx reference to requests (#9294) (8c74e9c)
  • Fix spelling errors for amount in retry (#69) (7bb713d)
  • Fix spelling errors in retry (#131) (232dab0)
  • Fix typo in library name (#332) (f267111)
  • Fix typo in the BackgroundConsumer docstring (#395) (0eb727f)
  • python: Document adding Python 3.9 support, dropping 3.5 support (#120) (b51b7f5), closes #787
  • Raise DeprecationWarning when 'grpcio-gcp' is used (8c19609)
  • Remove CI for gh-pages, use googleapis.dev for api_core refs. (#9085) (c38f2e4)
  • Remove references to the old authentication credentials (#9456) (6ac4dc2)
  • Update python contributing guide (#147) (1d76b57)

Miscellaneous Chores


This PR was generated with Release Please. See documentation.

@release-please release-please bot requested a review from a team as a code owner May 30, 2025 19:41
@release-please release-please bot requested a review from a team as a code owner May 30, 2025 19:41
@product-auto-label product-auto-label bot added the size: m Pull request size is medium. label May 30, 2025
@trusted-contributions-gcf trusted-contributions-gcf bot added kokoro:force-run Add this label to force Kokoro to re-run the tests. owlbot:run Add this label to trigger the Owlbot post processor. labels May 30, 2025
@gcf-owl-bot gcf-owl-bot bot removed the owlbot:run Add this label to trigger the Owlbot post processor. label May 30, 2025
@parthea parthea closed this May 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autorelease: closed kokoro:force-run Add this label to force Kokoro to re-run the tests. size: m Pull request size is medium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

utcnow is deprecated in python3.12 Undeprecate IAM factory helpers [AsyncIO] Overview of gRPC AsyncIO integration
1 participant