Skip to content

Releases: pubnub/python

10.6.2

26 Mar 16:23
a61ef5d

Choose a tag to compare

March 26 2026

Fixed

  • Ensure PubNubAsyncioException always carries a valid PNStatus with error data instead of None.
  • Handle cases where status or error_data is None instead of raising AttributeError.
  • Match PubNubAsyncioException which is what request_future actually returns on failure.
  • Handle -1 (unlimited) correctly since attempts > -1 was always true, causing immediate give-up.
  • Use delay class defaults instead of config value which could be None causing TypeError on comparison.
  • Prevent falling through to start a heartbeat after deciding to give up.
  • Set all four timeout fields explicitly instead of a 2-tuple that left write and pool unset.
  • 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.
  • Use asyncio.wait() with periodic time.time() checks instead of a single monotonic-based wait_for(), yielding to the event loop between checks.
  • 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.

Modified

  • 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.
  • Ensure pubnub.stop() always runs to prevent non-daemon threads from blocking process exit.
  • Enable presence heartbeat and use unique channel names so presence registers on the server.
  • Restore cipher_key after use in send_file and pass it explicitly to download_file.
  • Avoid collisions with stale data from prior test runs.

10.6.1

10 Feb 11:21
23abadc

Choose a tag to compare

February 10 2026

Fixed

  • Fix silent serialization failure when publishing non-JSON-serializable objects.

10.6.0

29 Jan 16:53
5241c72

Choose a tag to compare

January 29 2026

Added

  • Add optional parameters to PNConfiguration.init, allowing developers to set subscribe_key, publish_key, and uuid during initialization. Fixed the following issues reported by @JanluOfficial: #227.

10.5.0

02 Dec 17:05
07ddfab

Choose a tag to compare

December 02 2025

Added

  • Add limit (default 1000) and offset parameters for here_now to fetch presence in portions.
  • Add FCM push type support with GCM deprecation, and remove MPNS support due to its end of life.

Fixed

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

10.4.1

05 Jun 18:05
b541bd7

Choose a tag to compare

June 05 2025

Fixed

  • Fixed add_channel_to_push and remove_channel_from_push endpoints.

10.4.0

07 May 12:24
576d2b1

Choose a tag to compare

May 07 2025

Added

  • Added pagination to List Files.

10.3.0

10 Apr 13:17
0c83b72

Choose a tag to compare

April 10 2025

Added

  • Additional status emission during subscription.

10.2.0

11 Feb 07:58
ecb16f4

Choose a tag to compare

February 11 2025

Added

  • Write protection with If-Match eTag header for setting channel and uuid metadata.

10.1.0

30 Jan 13:19
e0796b9

Choose a tag to compare

January 30 2025

Added

  • Extended functionality of Channel Members and User Membership. Now it's possible to use fine-grade includes and set member/membership status and type.

10.0.1

29 Jan 12:57
778e05c

Choose a tag to compare

January 29 2025

Fixed

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