NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #326 most downloaded on PyPI
Google Cloud Pub/Sub API client library
Last release today
01 Oct 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
159 releases · first in 2016
Initialize StreamingPullFuture._cancelled as True.
12-17-2018 16:57 PST
StreamingPullFuture._cancelled as True. (#6901)iam.policy from google.api_core. (#6741)One column per quarter.
Pick up fixes to GAPIC generator.
11-27-2018 13:32 PST
Fix race condition in recv()'s usage of self.call.
Fix Sphinx rendering for publisher client.
Make get_initial_request more resilient to race conditions.
Make Publisher batch-related interfaces private
Pubsub: Make 'Message.publish_time' return datetime
Recover streams during the gRPC error callback.
Add additional error handling to unary RPCs
pandas-gbq: reject backticks in parse_table_id
Catch errors when re-retying send() or recv() in addition to open()
Send requests during streaming pull over a separate unary RPC
Lower the flow control defaults.
SubscriberClient.subscribe_experimental. In the next release, this will be replace the current subscribe method. If you use this, please report your findings to us on GitHub. (#5189, #5201, #5210, #5229, #5230, #5237, #5256)Surface publish RPC errors back to the publish futures
Drop leased messages after flow_control.max_lease_duration has passed.
Update dependency range for api-core to include v1.0.0 releases
Added support for streaming pull receipts.
Added the ability for subscriber to batch requests.
ValueError when a message is too large for a batch. (#4872)Event type in Pub / Sub futures. (#4643)modify_ack_deadline resets the deadline. (#4822)max_bytes value. (#4860)Moving lock factory used in publisher client to the Batch implementation (#4628).
Future (#4634).google-api-core==0.1.3.google-api-core==0.1.3 which depends on the latest
grpcio==1.8.2 (#4642). This fixes #4600. For details, see related
gRPC bug and
fix.PyPI: https://pypi.org/project/google-cloud-pubsub/0.30.1/
Dropping redundant Policy._paused data member (#4568).
Dropping redundant Policy._paused data member (#4568).
Removing redundant "active" check in policy (#4603).
Adding a Consumer.active property (#4604).
Making it impossible to call Policy.open() on an already opened
policy (#4606).
Bug fix (#4575): Fix bug with async publish for batches. There
were two related bugs. The first: if a batch exceeds the max_messages
from the batch settings, then the commit() will fail. The second:
when a "monitor" worker calls commit() after max_latency seconds,
a failure can occur if a new message is added to the batch during
the commit. To fix, the following changes were implemented:
Batch.commit() (#4614). This
fixes the issue when the batch exceeds max_messages.Batch.will_accept for the number of
messages (#4612).will_accept() check out of PublisherClient.batch()
factory (#4613).Batch.will_accept in thread-safe way (#4616).Breaking API change: As part of #4613, changing PublisherClient.batch()
to no longer accept a message (since the will_accept check needs to
happen in a more concurrency friendly way). In addition, changing the
create argument so that it means "create even if batch already exists"
rather than "create if missing".
Message.attributes (#4601).Message.__repr__ a bit prettier / more useful (#4602).PyPI: https://pypi.org/project/google-cloud-pubsub/0.30.0/
Bug fix: Restore previous behavior of the subscription lease maintenance worker. This was accidentally "stopped" in 0.29.3 due to a change in implemen
0.29.3
due to a change in implementation that went from an active
boolean to an "inactive" / stopped boolean, so True became
False and vice-versa (#4564).PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.4/
In subscription consumer thread: Making sure the request generator attached to an inactive bidirectional streaming pull is stopped before spawning a n
pause / resume to subscription consumer thread and using these
methods during flow control. The previous implementation tried to close the
subscription (which involved 3 worker threads and 10 executors in a thread
pool) and then re-open a new subscription. But, this was not entirely
possible to shut down correctly from within one of the worker threads.
Instead, we only pause the worker (of the 3) that is pulling new responses
from the bidirectional streaming pull (#4558).max where min was used by mistake to
ensure the number of bytes tracked for subscription flow control
remained non-negative (#4514).TypeError if SubscriberClient.subscribe receives a
non-callable callback (#4497).Policy.on_callback_request to Policy.dispatch_callback
and making the behavior much less dynamic (#4511).google-api-core dependency to latest revision (0.1.2)
since we rely on the latest version of the concurrent.futures backport
to provide the thread_name_prefix argument for thread pool
executor (#4521, #4559).PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.3/
Bug fix (#4463): Making a subscription consumer actually stop running after encountering an exception (#4472, #4498). This bug is the only reason for
Bug fix (#4463): Making a subscription consumer actually stop
running after encountering an exception (#4472, #4498). This bug
is the only reason for the 0.29.2 release.
Thread Changes
Logging changes
QueueCallbackThread exits (#4494).
Instances handle the processing of messages in a
subscription (e.g. to ack).publisher.batch.thread (#4473)PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.2/
Bug fix (#4234): Adding retries for connection UNAVAILABLE. This bug made the Pub / Sub client mostly unusable for subscribers to topics that don't ha
UNAVAILABLE. This
bug made the Pub / Sub client mostly unusable for subscribers to topics
that don't have a steady stream of messages. After ~2 minutes of inactivity,
the gRPC connection would timeout and raise UNAVAILABLE locally, i.e. not
due to a response from the backend. (#4444)google-cloud-core in exchange for
google-api-core (#4438)PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.1/
Set gRPC message options and keepalive
max_messages always (#4262)google-cloud-core >= 0.28.0 and adding dependency
on google-api-core (#4221, #4280)google-api-core for grpcio and
googleapis-common-protos dependencies (#4096, #4098)PyPI: https://pypi.org/project/google-cloud-pubsub/0.29.0/
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →