For AI agents: this page in Markdown: https://www.pubnub.com/docs/sdks/rust/changelog.md. Documentation index: https://www.pubnub.com/llms-full.txt.

Changelog for Rust SDK

## 0.9.0 *October 22, 2026* | Type | Changes | |------|----------| | **Added** | • Add `ChannelsCategoryPermission` and `UuidsCategoryPermission`, the `categories` option for `grant_token`, and parsing of category permissions in `parse_token`. Parsed token `resources` and `patterns` are optional now.<br/>• Allow `Permission` implementations to be shared across threads. | | **Fixed** | • Fix `DataStream` deadlock between `push_data` and `poll_next` which took `queue` and `waker` locks in opposite order, and `EventDispatcher` deadlock between stream creation and `invalidate`. | | **Modified** | • Remove redundant references in `format!` arguments of `PubNubClientInstance`, access and presence request builders.<br/>• Replace `r#type` with `custom_message_type` publish setter sent as `custom_message_type` query param. Received `Message` exposes the same field, and examples and docs use the new name.<br/>• Unknown `e` values and malformed envelopes are skipped instead of failing the whole subscribe response. Payload is picked by event type first, then by `-pnpres` channel suffix.<br/>• Add `keywords`, enable `access` feature by default, update `wiremock` and `cucumber`, and register the `integration` test target.<br/>• Update `README.md` PubNub Rust SDK header.<br/>• Add unit and integration tests for categories-only grants, all permission kinds, token parsing and malformed tokens.<br/>• Add tests for `DataStream` and `EventDispatcher` lock ordering, listener wake-ups and delivery of dispatched batches.<br/>• Cover type-first classification, presence channel suffix, unknown event types, malformed entries and message action `added` and `removed` events. | ## 0.8.0 *June 8, 2026* | Type | Changes | |------|----------| | **Added** | • Enable HTTP/2 negotiation on the default `TransportReqwest` by turning on reqwest’s `native-tls-alpn` feature, so ALPN can select `h2` when the origin supports it while preserving HTTP/1.1 fallback. | | **Fixed** | • Fix a Clippy `derivable_impls` lint in `RequestRetryConfiguration` (derive `Default` on the enum instead of a manual impl). | | **Modified** | • Add debug-level protocol logging in async and blocking `TransportReqwest::send()` after each completed request, including HTTP method, path, and the Reqwest-reported protocol version. | ## 0.7.0 *October 28, 2025* | Type | Changes | |------|----------| | **Added** | • Add `limit` (default `1000`) and `offset` parameters for `here_now` to fetch presence in portions.<br/>• Use default retry configuration for `subscribe` and `presence` REST API calls. | | **Fixed** | • Fix the issue because of which it was possible to add the same channel / group multiple times to the `subscribe`, `heartbeat`, or `leave` requests.<br/>• Fix the `Presence` enum variant to not intercept user-published messages that partly match the `Presence` variant. | | **Modified** | • Synchronize subscription flow with other SDKs.<br/>• Synchronize presence flow with other SDKs. | ## 0.6.0 *February 7, 2024* | Type | Changes | |------|----------| | **Added** | • Make it possible to create `SubscriptionCursor` from the string slice.<br/>• Add `add_subscriptions(..)` and `sub_subscriptions(..)` to `SubscriptionSet` to make it possible in addition to sets manipulation use list of subscriptions. | | **Fixed** | • Fix issue because of which `cursor` is not reset on `Subscription` and `SubscriptionSet` on unsubscribe.<br/>• Fix issue because of which cancelled effects still asynchronously spawned for processing. | | **Modified** | • Change `client` to `pubnub` in inline docs.<br/>• Add subscription token validation.<br/>• Added a method to validate the provided subscription token to conform to PubNub time token requirements with precision.<br/>• Separate `subscribe` example into two to show separately `subscribe` feature and `presence state` maintenance with subscribe. | ## 0.5.0 *January 25, 2024* | Type | Changes | |------|----------| | **Added** | • Change the real-time event handling interface.<br/>• `user_id` state for specified channels will be maintained by the SDK. State with subscribe calls has been improved.<br/>• Adding `Channel`, `ChannelGroup`, `ChannelMetadata` and `UuidMetadata` entities to be first-class citizens to access APIs related to them. Currently, access is provided only for subscription APIs.<br/>• Added ability to configure request retry policies to exclude specific endpoints from retry. | ## 0.4.1 *November 3, 2023* | Type | Changes | |------|----------| | **Modified** | • Update license information. | ## 0.4.0 *October 16, 2023* | Type | Changes | |------|----------| | **Added** | • Update the crypto module structure and add enhanced AES-CBC cryptor. | ## 0.3.0 *August 30, 2023* | Type | Changes | |------|----------| | **Added** | • PubNub subscribe API implemented.<br/>• PubNub presence API implemented.<br/>• Event engine as a new method of handling connections for `subscribe` and `presence` methods implemented. | ## 0.2.1 *June 7, 2023* | Type | Changes | |------|----------| | **Fixed** | • Fixed versions in the docs.<br/>• Fixed broken links for `docs.rs` page.<br/>• Fixed logo image. | ## 0.2.0 *June 5, 2023* | Type | Changes | |------|----------| | **Added** | • New SDK implementation.<br/>• PubNub `publish` API implemented.<br/>• PubNub `access manager` API implemented.<br/>• Add `parse_token` for authorization token debug. |

0.9.0

October 22, 2026
Added
  • Add ChannelsCategoryPermission and UuidsCategoryPermission, the categories option for grant_token, and parsing of category permissions in parse_token. Parsed token resources and patterns are optional now.
  • Allow Permission implementations to be shared across threads.
Fixed
  • Fix DataStream deadlock between push_data and poll_next which took queue and waker locks in opposite order, and EventDispatcher deadlock between stream creation and invalidate.
Modified
  • Remove redundant references in format! arguments of PubNubClientInstance, access and presence request builders.
  • Replace r#type with custom_message_type publish setter sent as custom_message_type query param. Received Message exposes the same field, and examples and docs use the new name.
  • Unknown e values and malformed envelopes are skipped instead of failing the whole subscribe response. Payload is picked by event type first, then by -pnpres channel suffix.
  • Add keywords, enable access feature by default, update wiremock and cucumber, and register the integration test target.
  • Update README.md PubNub Rust SDK header.
  • Add unit and integration tests for categories-only grants, all permission kinds, token parsing and malformed tokens.
  • Add tests for DataStream and EventDispatcher lock ordering, listener wake-ups and delivery of dispatched batches.
  • Cover type-first classification, presence channel suffix, unknown event types, malformed entries and message action added and removed events.

0.8.0

June 8, 2026
Added
  • Enable HTTP/2 negotiation on the default TransportReqwest by turning on reqwest’s native-tls-alpn feature, so ALPN can select h2 when the origin supports it while preserving HTTP/1.1 fallback.
Fixed
  • Fix a Clippy derivable_impls lint in RequestRetryConfiguration (derive Default on the enum instead of a manual impl).
Modified
  • Add debug-level protocol logging in async and blocking TransportReqwest::send() after each completed request, including HTTP method, path, and the Reqwest-reported protocol version.

0.7.0

October 28, 2025
Added
  • Add limit (default 1000) and offset parameters for here_now to fetch presence in portions.
  • Use default retry configuration for subscribe and presence REST API calls.
Fixed
  • Fix the issue because of which it was possible to add the same channel / group multiple times to the subscribe, heartbeat, or leave requests.
  • Fix the Presence enum variant to not intercept user-published messages that partly match the Presence variant.
Modified
  • Synchronize subscription flow with other SDKs.
  • Synchronize presence flow with other SDKs.

0.6.0

February 7, 2024
Added
  • Make it possible to create SubscriptionCursor from the string slice.
  • Add add_subscriptions(..) and sub_subscriptions(..) to SubscriptionSet to make it possible in addition to sets manipulation use list of subscriptions.
Fixed
  • Fix issue because of which cursor is not reset on Subscription and SubscriptionSet on unsubscribe.
  • Fix issue because of which cancelled effects still asynchronously spawned for processing.
Modified
  • Change client to pubnub in inline docs.
  • Add subscription token validation.
  • Added a method to validate the provided subscription token to conform to PubNub time token requirements with precision.
  • Separate subscribe example into two to show separately subscribe feature and presence state maintenance with subscribe.

0.5.0

January 25, 2024
Added
  • Change the real-time event handling interface.
  • user_id state for specified channels will be maintained by the SDK. State with subscribe calls has been improved.
  • Adding Channel, ChannelGroup, ChannelMetadata and UuidMetadata entities to be first-class citizens to access APIs related to them. Currently, access is provided only for subscription APIs.
  • Added ability to configure request retry policies to exclude specific endpoints from retry.

0.4.1

November 3, 2023
Modified
  • Update license information.

0.4.0

October 16, 2023
Added
  • Update the crypto module structure and add enhanced AES-CBC cryptor.

0.3.0

August 30, 2023
Added
  • PubNub subscribe API implemented.
  • PubNub presence API implemented.
  • Event engine as a new method of handling connections for subscribe and presence methods implemented.

0.2.1

June 7, 2023
Fixed
  • Fixed versions in the docs.
  • Fixed broken links for docs.rs page.
  • Fixed logo image.

0.2.0

June 5, 2023
Added
  • New SDK implementation.
  • PubNub publish API implemented.
  • PubNub access manager API implemented.
  • Add parse_token for authorization token debug.

Was this page useful?

Last updated on