Skip to content

Tags: pubnub/python

Tags

10.6.2

Toggle 10.6.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
`asyncio` and `native threads` timeout handling fix (#230)

fix(asyncio): fix error propagation in async request path

Ensure `PubNubAsyncioException` always carries a valid `PNStatus` with error data instead of `None`.

fix(asyncio): fix `PubNubAsyncioException.__str__` crash

Handle cases where status or `error_data` is `None` instead of raising `AttributeError`.

fix(event-engine): fix error type checks in effects

Match `PubNubAsyncioException` which is what `request_future` actually returns on failure.

fix(event-engine): fix give-up logic for unlimited retries

Handle `-1 (unlimited)` correctly since `attempts > -1` was always `true`, causing immediate give-up.

fix(event-engine): initialize heartbeat max retry attempts

Use delay class defaults instead of config value which could be `None` causing `TypeError` on comparison.

fix(event-engine): add missing return after `heartbeat` give-up

Prevent falling through to start a heartbeat after deciding to give up.

fix(request-handlers): use explicit `httpx.Timeout` object

Set all four timeout fields explicitly instead of a 2-tuple that left write and pool unset.

fix(request-handlers): enforce wall-clock deadline to survive system sleep

On macOS and Linux, `time.monotonic()` does not advance during system sleep, causing socket and `asyncio` timeouts (310s subscribe) to stall for hours of wall-clock time. Add `time.time()`-based deadline checks that detect sleep and cancel stale requests within ~5s of wake.

fix(asyncio): replace `asyncio.wait_for` with wall-clock-aware loop

Use `asyncio.wait()` with periodic `time.time()` checks instead of a single monotonic-based `wait_for()`, yielding to the event loop between checks.

fix(native-threads): add `WallClockDeadlineWatchdog`

Persistent single daemon thread monitors `time.time()` every 5s and closes the `httpx` session when the wall-clock deadline passes, interrupting the blocking socket read. Tracks deadlines per calling thread so concurrent requests (e.g., subscribe + publish) don't interfere. Only armed for long-timeout requests (>30s). Session is recreated for subsequent requests

test(wall-clock-deadline): add unit tests for sleep detection

Cover both `asyncio` and threads paths simulated clock jumps, normal passthrough, clean watchdog shutdown, per-thread deadline isolation, concurrent request independence, cleanup, and exception propagation.

test(native-threads): add try/finally cleanup to subscribe tests

Ensure `pubnub.stop()` always runs to prevent non-daemon threads from blocking process exit.

test(native-threads): fix flaky where_now and here_now tests

Enable presence heartbeat and use unique channel names so presence registers on the server.

test(file-upload): fix shared state leak in file upload tests

Restore `cipher_key` after use in `send_file` and pass it explicitly to `download_file`.

test(message-actions): use unique channel names

Avoid collisions with stale data from prior test runs.

10.6.1

Toggle 10.6.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix silent serialization failure when publishing non-JSON-serializabl…

…e objects (#229)

* PubNub SDK 10.6.1 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.6.0

Toggle 10.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add optional parameters to PNConfiguration.__init__ (#228)

* PubNub SDK 10.6.0 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.5.0

Toggle 10.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add `limit` and `offset` configuration options (#224)

feat(here-now): add `limit` and `offset` configuration options
    
Add `limit` (default `1000`) and `offset` parameters for `here_now` to fetch presence in portions.

fix(subscribe-heartbeat): fix duplicated channels issue

Fix issue because of which it was possible to add duplicated entries of `channels` and `groups` to the `subscribe`, `heartbeat`, and `leave` requests.

feat(push-notifications): push type changes

Add FCM push type support with GCM deprecation, and remove MPNS support due to its end of life.

---------

Co-authored-by: jguz-pubnub <[email protected]>

10.4.1

Toggle 10.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Remove requirement to pass channels in pubnub.add_channels_to_push (#221

)

* Remove requirement to pass channels in pubnub.add_channels_to_push

* Fix typo in remove_channels_from_push.sync()

* Tests part 1.

* Tests pt. 2

* Tests pt.3

* Tests pt.4 Final

* Tests pt.4 Final-2

* PubNub SDK 10.4.1 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.4.0

Toggle 10.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Introduce limit and next to ListFiles endpoint (#218)

* Introduce limit and next to ListFiles endpoint

* Asyncio tests

* PubNub SDK 10.4.0 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.3.0

Toggle 10.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Aligned status emmiting (#214)

* Aligned status emmiting

* Tests use new category

* improve error handling

* PubNub SDK 10.3.0 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.2.0

Toggle 10.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add option to set `If-Match` eTag for objects write requests (#205)

* Add option to set `If-Match` eTag for objects write requests

* Added tests and some fixes

* examples adjustment

* How to get http status in example

* PubNub SDK 10.2.0 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.1.0

Toggle 10.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Members and Membership with Include Objects (#202)

* Members with Include Objects

* ... and channel members

* PubNub SDK 10.1.0 release.

---------

Co-authored-by: PubNub Release Bot <[email protected]>

10.0.1

Toggle 10.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix issue with missing custom message type (#203)

fix(subscribe): fix issue with missing custom message type

Fix issue because of which custom message type wasn't set to the parsed subscription response objects.

---------

Co-authored-by: Sebastian Molenda <[email protected]>