On this page

Documentation Release Notes - May 2026

May expanded the PubNub MCP Server with OAuth authentication and two new tools, published a new Event Types reference, and delivered a batch of clarity improvements across SDK and platform documentation.

The most significant MCP Server changes this month are OAuth authentication (the hosted server no longer requires a PubNub API key at setup) and two new tools: the Insights analytics tool, which lets AI assistants query aggregated usage metrics from PubNub Insights, and Illuminate and migration guide tools, which complete documentation for the Illuminate tooling and add SDK and platform migration guide retrieval. The MCP Server now exposes 16 tools across five categories.

On the SDK side, we published a new Event Types reference that documents every client-side event payload in one place. We also documented large message support with an interactive size calculator added across all SDK publish pages, clarified that Access Manager and secretKey are disabled in the JavaScript SDK browser bundle, and removed the now-obsolete enableEventEngine parameter from JavaScript Chat SDK documentation, which is now always on, matching the behavior introduced in JavaScript SDK 11.0.0 in April.

We also published a Functions management API in the Admin API, documented HTTP/2 support on select PubNub origins, added an interactive pricing calculator to the account setup page, clarified how message deletion affects usage metrics, and improved Presence documentation with several correctness fixes.

General 🛠️

HTTP/2 support

Type: Enhancement

We added an HTTP/2 section to the Data Transport documentation.

PubNub now supports HTTP/2 on select origins. Clients connecting to supported origins negotiate HTTP/2 automatically, with no client-side configuration required. HTTP/1.1 remains fully supported on all origins. To request HTTP/2 support for a custom origin, contact PubNub Support.

Pricing calculator

Type: Enhancement

We added an interactive pricing calculator to the Set Up Your Account and Docs home pages.

The calculator gives you a real-time monthly cost estimate based on your expected monthly active user count. Drag the slider to your expected MAU volume to see the corresponding price tier. Pricing is the same regardless of whether you use PubNub SDKs or the REST API directly.

Deletion impact on usage metrics

Type: Enhancement

We added two clarifications to the message persistence documentation.

First, in Message Persistence: deleting messages does not update usage metrics for past dates. Changes to stored data volume are reflected in the Admin Portal within 24 hours. We also clarified that per-message TTL overrides set at publish time are fixed at the time of publish. If your keyset is configured for Unlimited retention, a per-message TTL is ignored and the message is stored indefinitely.

Second, in Billable Metrics: metrics for past dates reflect activity at the time it occurred and are not updated by deletions.

Functions API in the Admin API

Type: New feature

We published a complete Functions management API in the Admin API, available in Admin API version 2026-05-26. This is now the recommended way to manage Functions programmatically.

The new API is organized into six endpoint groups:

GroupWhat it covers
Packages
Create, read, update, and delete function packages and list their revisions.
Revisions
Create and manage package revisions, list functions in a revision, and manage test inputs.
Deployments
Deploy revisions to keysets, start, stop, rolling-update, and delete deployments.
Catalog
Browse package and function blueprints and import packages from blueprints.
KV Store
Manage KV store entries for strings, JSON, and counters used by your functions.
Secrets Storage
Create, update, and delete secrets available to your functions at runtime.

Authentication uses the standard Admin API key. For full endpoint details and request/response schemas, see the Functions introduction in the Admin API reference.

Alongside this, we marked the legacy Functions REST API as deprecated. The Functions REST API sidebar entry is now labeled Functions REST API (legacy) and the reference page includes a notice directing new integrations to the Admin API. If you currently use the legacy REST API, plan your migration to the Admin API Functions endpoints.

SDKs 📦

Event types reference

Type: New feature

We published a new Event Types reference page that documents all client-side event types and the payload fields each one delivers to SDK listener callbacks.

The page covers six event types:

Event typeTriggered when
Message
A message is published to a subscribed channel.
Signal
A signal is sent to a subscribed channel.
Presence
A user joins, leaves, or times out on a subscribed channel.
App Context
A channel, user, or membership record is created, updated, or deleted.
File
A file is shared on a subscribed channel.
Message Action
A reaction or action is added to or removed from a message.

Each entry lists field names and descriptions. The page also distinguishes client-side events (delivered via SDK listeners in real time) from server-side events (processed via Events & Actions webhooks and queues). For SDK-specific listener setup, see Receive Messages.

Large message support

Type: Enhancement

We updated publish documentation across all PubNub SDKs to clarify the 32 KiB hard limit on message size, and added an interactive message size calculator to the Publish Messages and Limits pages.

The interactive calculator lets you enter a JSON payload and see its encoded byte size measured against the 32 KiB limit, so you can identify payloads that would be rejected before you send them.

The size note was added to all SDK publish and subscribe API reference pages. If your message approaches or exceeds the limit, consider splitting it, compressing the payload client-side before publishing, or publishing a reference to content stored in Message Persistence.

JavaScript SDK Access Manager and secretKey in web builds

Type: Enhancement

We added clarifications to the JavaScript SDK Configuration and Access Manager API reference pages explaining that Access Manager and secretKey are disabled in the pre-built web/browser JavaScript SDK bundle.

In browser environments (including the CDN version):

  • Providing secretKey during initialization has no effect.
  • Calling grantToken() fails with the error PAM module disabled.
  • Requests do not include the signature parameter.

Use a server-side Node.js process to call grantToken() and pass the resulting token to the browser client using setToken(). If you need Access Manager support in a browser context for an internal or non-public tool, set PAM_MODULE=enabled when building a custom bundle with Rollup or Webpack.

JavaScript Chat SDK enableEventEngine is always on

Type: Enhancement

We removed the enableEventEngine configuration option from the JavaScript Chat SDK configuration reference. The option is now permanently on and cannot be disabled.

If your code sets enableEventEngine: true, remove it. The option is no longer accepted. Connection management features that previously required enableEventEngine: true, including connection status listeners, now work without any configuration change.

This is consistent with the behavior introduced in JavaScript SDK 11.0.0 in April, which changed enableEventEngine to default to true in the base SDK.

Android ProGuard org.json rule

Type: Enhancement

We added a ProGuard/R8 rule for org.json to the Android SDK, Kotlin SDK, and Kotlin Chat SDK setup documentation.

The org.json library is provided by the Android framework, but ProGuard/R8 can rename or strip its methods in release builds, causing NoSuchMethodError crashes at runtime when the SDK serializes or deserializes JSON. Add the following rule to your ProGuard configuration alongside the existing PubNub rules:

-keepnames class org.json.** {
*;
}

A link to the full ProGuard configuration and troubleshooting guidance is now included directly on the Kotlin SDK publish-and-subscribe API reference page. For crash diagnosis, see the Kotlin SDK Troubleshooting guide.

Dart SDK improvements

Type: Enhancement

We significantly updated the Dart SDK hub page and expanded the Dart SDK FAQ with a new entry covering macOS App Sandbox network errors.

The FAQ now explains how to resolve RequestOtherException failures on macOS Flutter desktop apps. Apps running inside the App Sandbox require the com.apple.security.network.client entitlement in both DebugProfile.entitlements and Release.entitlements before outbound network calls (including PubNub publish and subscribe) can succeed. Without this entitlement, the SDK cannot establish HTTP connections and all API calls fail before PubNub returns a response.

AI 🤖

MCP Server OAuth authentication

Type: Enhancement

We updated the PubNub MCP Server setup documentation to reflect the hosted server's OAuth authentication flow.

The hosted MCP Server now handles authentication automatically via OAuth when you authorize your IDE. A PubNub API key is no longer a setup prerequisite for the hosted server, and Node.js no longer needs to be installed separately. The documentation also adds OpenCode as a supported MCP-compatible AI assistant alongside the existing VS Code, Cursor IDE, Claude Code, Claude Desktop, Codex, Codex Desktop, and Gemini CLI setups.

The self-hosted server configuration (running locally via npx) continues to use API key authentication.

Illuminate and migration guide tools

Type: Enhancement

We published complete documentation for three MCP Server tools in Available MCP Tools:

  • manage_illuminate — Create, read, update, and delete Illuminate business objects, metrics, decisions, and queries. Supports listing active decisions, creating metrics with custom aggregation functions, executing Illuminate decisions, and inspecting the action log, all via natural language.
  • get_sdk_migration_guide — Retrieve version-specific SDK migration guides for upgrading between PubNub SDK versions (Go, Java, JavaScript, Kotlin, PHP, Unity).
  • get_general_migration_guide — Retrieve platform-wide migration guides for cross-cutting changes such as 256-bit encryption, APNs/FCM push notification updates, Access Manager v3, and deprecated webhooks.

Insights analytics tool

Type: New feature

We added documentation for the insights MCP Server tool to Available MCP Tools.

The insights tool queries PubNub Insights aggregated analytics for a keyset. It automatically routes to the correct endpoint based on the metric requested:

  • /v2/insights — aggregated metrics: unique channels, unique users, message counts, device types, and more.
  • /v2/insights/top — ranked top-N metrics: top channels, top users, top message types.

The tool accepts parameters for metric name, time period, date range, category (for top-N queries), filters, sort order, and limit. The MCP Server now exposes 16 tools across five categories (previously 15 tools across four categories).

Plan and permissions required

The insights tool requires a Service Integration API key with Account-level Insights Read permission and a PubNub Insights Premium plan. Free and Standard plans do not have API access.

BizOps Workspace 🏢

Presence documentation improvements

Type: Enhancement

We made several improvements to the Presence documentation.

Generate Leave on TCP FIN or RST — Corrected the feature description: this option does not generate additional billable events. We also added a clarification that if the client sends an explicit unsubscribe before the connection drops, duplicate leave events are not generated.

Explicit unsubscribe best practice — Added a tip recommending explicit SDK unsubscribes over relying solely on TCP-level detection for the most predictable presence behavior. When the SDK changes its channel subscription list, it aborts the existing subscribe request, which can be indistinguishable from a lost connection at the network level and may produce an unnecessary leave followed by a join.

HereNow and wildcard patterns — Added a note clarifying that wildcard channel patterns (such as sports.*) are not supported with hereNow. To query occupancy across a group of related channels, pass a channel group name instead.

HereNow and Presence Management exclusions — Added a note explaining that channels excluded from Presence tracking via Presence Management rules return zero occupancy and an empty user list, not an error.