On this page

Documentation Release Notes - February 2026

February continued the documentation improvements from January, with a focus on Access Manager clarity, Chat SDK simplification across more platforms, expanded API limits, and presence guidance.

We updated Access Manager documentation across the main security page and all SDK API references to clarify that it is an optional (but highly recommended) add-on and to explain default behavior without it.

We continued simplifying Chat SDK documentation for Unity, Swift, Kotlin Multiplatform (KMP), and Unreal, expanded API limits with message action and KV Store TTL details, and clarified how to receive presence events in Chat SDKs.

We also added the Java/Kotlin SDK 13.0.0 migration guide, updated Admin Portal roles, and documented the new MCP usage tool.

General 🛠️

Access Manager documentation enhancements

Type: Enhancement

We updated the Access Manager documentation across the main security page and all SDK API references to clarify that Access Manager is an optional add-on and to explain default behavior when it is not enabled.

The documentation now clearly states that without Access Manager, any client with your keys has unrestricted access to all resources on that keyset. With Access Manager enabled, you control who can read from or write to channels and user metadata using a token-based system.

We also added a shared note component used across all SDK Access Manager pages for consistency. The note explains when to enable Access Manager and lists common scenarios where it is recommended:

  • Private or restricted channels (1:1 chat, group DMs, member-only spaces)
  • User-scoped permissions bound to a specific User ID
  • Sensitive data handling (personal, financial, or health information)
  • Regulatory compliance (HIPAA, SOC 2, GDPR)

Table formatting in the operations-to-permissions mapping was also corrected for consistency.

Admin Portal roles update

Type: Enhancement

We updated the Admin Portal roles documentation to reflect current role names and assignment rules.

Changes include:

  • Role renames - "PubNub Insights" is now Business Insights; "BizOps Objects Operator" is now BizOps Dashboard Operator.
  • Functions roles - Clarified that the account-level Functions Developer and Functions Viewer roles can only be assigned to members who do not have the Account Admin role. Several app- and keyset-scoped Functions roles were removed from the table as they are no longer in use.
  • Mutually exclusive roles - Added a new table describing which roles cannot be assigned together (for example, Account Admin cannot be combined with App Admin, App Viewer, Keyset Admin, Keyset Viewer, Business Insights, BizOps Dashboard Operator, Functions Viewer, Functions Developer, or Illuminate Admin).

This helps account and app admins assign the correct roles and avoid conflicting permissions.

Limits documentation: message actions and KV Store TTL

Type: Enhancement

We expanded the API limits documentation with two new areas, building on the keyset limits and deprecation updates from January.

Message actions

ItemHard LimitNotes
Request size
32 KiB
Standard API limit for the request path or body, same as all PubNub APIs.
type
No specific limit
Bounded by the overall 32 KiB request size.
value
No specific limit
Bounded by the overall 32 KiB request size.

The message actions page was also updated to clarify that each action has a type and a value (both strings) and to add a note about the 32 KiB request limit.

KV Store TTL

ItemLimitNotes
KV Store TTL
1 day (default)
1 year (maximum).

SDKs 📦

Chat SDK documentation simplification

Type: Enhancement

Continuing the Chat SDK documentation improvements from January 2026 and the Swift Chat SDK code snippet migration, we simplified and streamlined the documentation for the Unity, Swift, Kotlin Multiplatform (KMP), and Unreal Chat SDKs.

The updates focus on:

  • Shorter, clearer introductions and consistent structure across channel, message, and user features
  • Reduced duplication and easier-to-scan configuration and feature pages
  • Aligned wording and layout with the JavaScript and Kotlin Chat SDK docs

Affected areas include configuration, channel operations (create, list, join, leave, invite, membership, typing indicator, updates, watch), messages (send/receive, history, drafts, files, forward, moderation, pinned, quotes, reactions, read receipts), custom events, error logging, and (where applicable) connection management. The Unity Chat SDK in particular saw a broad pass across many feature pages.

Presence events documentation

Type: Enhancement

Building on the presence and HereNow documentation we updated in January, we clarified how to receive presence events (such as join, leave, and timeout) in the Chat SDKs.

The Chat SDK presence page now includes a Subscribe with Presence section that explains:

  • Presence events are published on a dedicated Presence channel with the -pnpres suffix (for example, my_channel-pnpres), not on the main channel.
  • By default, subscribing to a channel does not subscribe to its -pnpres channel, so you will not receive presence events unless you take one of two options:
    • Use the receivePresenceEvents subscription option (or SDK equivalent, such as withPresence) so the SDK subscribes to the -pnpres channel for you.
    • Subscribe directly to the -pnpres channel when you want presence without subscribing to the main channel (for example, to avoid increasing occupancy count).
  • You must add a Presence listener and add it before subscribing, so you do not miss the initial join event.

The General subscribe documentation was also updated with a tip to register event listeners before calling subscribe() and a pointer to Presence Events for details on the -pnpres mechanism and event types.

C# SDK: UsePOST parameter clarification

Type: Enhancement

We clarified the UsePOST parameter in the C# SDK publish and subscribe documentation for both Publish() and Fire().

The documentation now states that when UsePOST is true, the request uses HTTP POST and sends the message in the request body instead of the query string (used with HTTP GET). Use POST for larger messages to avoid URL length limitations. Default is false.

Type: Enhancement

We moved the SDK-related migration guides from the migration guides index to the SDK documentation, making it easier to find the migration guides for each SDK. The following guides were moved:

Java/Kotlin SDK 13.0.0 migration guide

Type: New feature

We added a Java/Kotlin SDK 13.0.0 migration guide for developers upgrading from earlier versions.

The guide is linked from the migration guides index and from the Java and Kotlin SDK sections. It covers breaking changes and upgrade steps for version 13.0.0.

Functions ⚙️

Functions WebSocket clarification

Type: Enhancement

We added a note to the Functions libraries page clarifying that Functions support outbound HTTP (via the XHR module) and PubNub API calls (via the PubNub module) only. WebSocket support is not currently available.

AI 🤖

PubNub MCP usage tool documentation

Type: New feature

Following the PubNub MCP Server 2.0 release in December 2025, we documented the new usage tool in the available MCP tools reference.

The get_usage_metrics tool fetches usage metrics from the PubNub Admin API for an account, app, or keyset. It requires API key authentication (PUBNUB_API_KEY).

Last updated on