---
source_url: https://www.pubnub.com/docs/release-notes/2026/june
title: Documentation Release Notes - June 2026
updated_at: 2026-07-02T08:07:49.665Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Documentation Release Notes - June 2026

June brought two major SDK releases, extended HTTP/2 documentation to five SDKs, and launched [PubNub agent skills](#pubnub-agent-skills) for AI-assisted development.

The most significant SDK changes are [JavaScript SDK 12.0.0](#javascript-sdk-1200), which requires Node.js 22 and replaces the transport layer, and [Go SDK 9.0.0](#go-sdk-900), which requires Go 1.25 and updates the module path to `github.com/pubnub/go/v9`. Both include breaking changes — review the corresponding migration guide before upgrading. We also clarified the [start and end parameter semantics in fetchMessages](#message-history-timetoken-parameters), adding a warning callout and visual diagram across every SDK storage and playback page.

We extended [HTTP/2 configuration documentation](#http2-sdk-configuration) to the Go, Rust, Python, C#, and Unity SDKs and published the first [Rust SDK logging page](#http2-sdk-configuration), continuing the work started in [May](https://www.pubnub.com/docs/release-notes/2026/may#http2-support).

We also added [log content configuration](#java-and-kotlin-sdk-log-content-configuration) for the Java and Kotlin SDKs, corrected [Functions per-execution operation limits](#functions-operation-limits-corrected), and updated the [Service Integrations permissions table](#keyset-creation-permissions) to document that creating a keyset requires "Secret key — Read" permission.

## General 🛠️

### Functions operation limits corrected

**Type**: Update

In [Functions](https://www.pubnub.com/docs/serverless/functions/run), each operation category has its own per-execution limit — they are not combined. The correct defaults are:

| Category | Limit |
| --- | --- |
| XHR requests | 5 |
| KV store operations | 10 |
| Vault reads | 10 |
| PubNub API requests | 10 |
| Publish/fire requests | 10 |

We also corrected the package revision deployment limit, which was previously understated. The correct limits are **10 keysets** on the free tier and **500 keysets** on a paid plan.

### Keyset creation permissions

**Type**: Update

When creating a keyset in [Service Integrations](https://www.pubnub.com/docs/portal/service-integrations) — at the Account or App level — two API key permissions are required, not one:

* **Keyset — Read & write**: to create, update, and delete the keyset itself.
* **Secret key — Read**: to retrieve the secret key of the newly created keyset.

If your API key has only "Keyset — Read & write" but not "Secret key — Read," keyset creation will fail.

## SDKs 📦

### JavaScript SDK 12.0.0

**Type**: Enhancement

Three breaking changes ship with JavaScript SDK 12.0.0: a higher Node.js requirement, a new transport layer, and removal of the bundled React Native URL polyfill. These affect applications running on Node.js 18 or 20, using SOCKS or PAC-file proxies, or relying on the automatic polyfill.

| Area | JavaScript SDK `11.x.x` | JavaScript SDK `12.0.0` |
| --- | --- | --- |
| Minimum Node.js version | 18 | 22 |
| Node.js transport | `node-fetch` + `proxy-agent` | `undici` |
| SOCKS proxy support | Yes | No |
| PAC-file proxy support | Yes | No |
| Auto-proxy from environment variables | Yes | No |
| HTTP/HTTPS proxy | Yes | Yes |
| React Native URL polyfill | Bundled automatically | Must be installed explicitly |

#### Node.js version

Node.js 18.x and 20.x are no longer supported. Upgrade to Node.js 22 or later before upgrading the SDK.

#### Transport layer

The Node.js transport now uses [undici](https://undici.nodejs.org/) instead of `node-fetch`, `proxy-agent`, and `form-data`. HTTP and HTTPS proxy support continues to work via undici's `ProxyAgent`. SOCKS4, SOCKS5, and PAC-file proxies are no longer supported and have no replacement in 12.0.0.

#### Environment variable proxy resolution

In v11.x.x, `proxy-agent` automatically resolved proxy settings from standard environment variables. This no longer happens in v12.0.0. Replace automatic resolution with an explicit call to `setProxy()`.

#### React Native URL polyfill

The polyfill is no longer bundled by the SDK. React Native projects must install it explicitly before initializing PubNub.

See the [JavaScript SDK 12.0.0 migration guide](https://www.pubnub.com/docs/sdks/javascript/migration-guides/javascript-v12-migration-guide) for full details and migration steps.

### Go SDK 9.0.0

**Type**: Enhancement

The only breaking changes in Go SDK 9.0.0 are a higher Go version requirement (1.25) and an updated module path (`github.com/pubnub/go/v9`). The public API surface is unchanged.

| Feature/Area | Go SDK 8.x.x | Go SDK 9.0.0 |
| --- | --- | --- |
| Minimum Go version | 1.18 | 1.25 |
| Module path | `github.com/pubnub/go/v8` | `github.com/pubnub/go/v9` |
| Public API | — | No changes |

#### Go version

Go SDK 9.0.0 requires Go 1.25 or later. Attempting to build against `github.com/pubnub/go/v9` with an older toolchain produces a build error. Run `go version` to confirm your toolchain version before upgrading.

#### Module path

All import statements and `go.mod` entries must be updated from `github.com/pubnub/go/v8` to `github.com/pubnub/go/v9`. The migration guide includes a one-line `sed` command for macOS and Linux to rewrite all imports across a codebase at once.

:::warning Go SDK 8.x.x support
Go SDK 8.x.x continues to work if you are not ready to upgrade. Version 8.x.x receives only critical security fixes going forward.
:::

See the [Go SDK 9.0.0 migration guide](https://www.pubnub.com/docs/sdks/go/migration-guides/go-v9-migration-guide) for full migration steps.

### Message history timetoken parameters

**Type**: Enhancement

`fetchMessages` searches backward through time — newest to oldest — making `start` and `end` behave opposite to their intuitive meaning. A warning callout and diagram clarifying this were added to the [Message Persistence](https://www.pubnub.com/docs/general/storage) page and all SDK storage and playback API reference pages.

| Parameter | Meaning |
| --- | --- |
| `start` | Newer boundary (higher timetoken), exclusive — message at this timetoken is not included |
| `end` | Older boundary (lower timetoken), inclusive — message at this timetoken is included |

When you supply both parameters, `start` must be a higher timetoken than `end`. Results are always returned in oldest-first order.

The same clarification was added to all Chat SDK message history pages.

### HTTP/2 SDK configuration

**Type**: Enhancement

Five more SDKs — Go, Rust, Python, C#, and Unity — now have HTTP/2 configuration documentation, continuing the work [started in May](https://www.pubnub.com/docs/release-notes/2026/may#http2-support).

| SDK | What was added |
| --- | --- |
| [Go](https://www.pubnub.com/docs/sdks/go/api-reference/configuration) | HTTP/2 configuration and protocol-version logging. |
| [Rust](https://www.pubnub.com/docs/sdks/rust/api-reference/configuration) | HTTP/2 configuration and a new [Rust SDK logging page](https://www.pubnub.com/docs/sdks/rust/logging). |
| [C#](https://www.pubnub.com/docs/sdks/c-sharp/api-reference/configuration) | `EnableHttp2` parameter (default: `true`); falls back to HTTP/1.1 if unsupported. |
| [Unity](https://www.pubnub.com/docs/sdks/unity/api-reference/configuration) | `EnableHttp2` parameter; automatic on Unity 6.5+, requires [YetAnotherHttpHandler](https://github.com/Cysharp/YetAnotherHttpHandler) on older versions. |
| [Python and asyncio](https://www.pubnub.com/docs/sdks/python/api-reference/configuration) | `HttpxRequestHandler` (default) auto-negotiates HTTP/2; `RequestsRequestHandler` uses HTTP/1.1 only. |

For a list of origins that support HTTP/2, see [Data Transport](https://www.pubnub.com/docs/general/setup/data-transport#http2).

### Java and Kotlin SDK log content configuration

**Type**: Enhancement

New `LogContentConfig` documentation on the [Java SDK logging](https://www.pubnub.com/docs/sdks/java/logging) and [Kotlin SDK logging](https://www.pubnub.com/docs/sdks/kotlin/logging) pages covers how much content the SDK renders into each debug log record. Configure it on `PNConfiguration.Builder` via `logContentConfig()`.

`LogContentConfig` exposes two properties:

| Property | Description |
| --- | --- |
| `loggedMessageContentMaxBytes`Default: 500 bytes | Maximum byte length of message content rendered in publish, signal, and subscribe debug log entries. Set to `0` to suppress message content entirely. |
| `loggedHttpResponseMaxBytes`Default: 2000 bytes | Maximum byte length of the HTTP response body in network-response log entries. Set to `0` to suppress. |

:::note Production recommendations
The default caps are intentional. Avoid setting either property to `Integer.MAX_VALUE` in production unless you control log storage costs.
:::

## AI 🤖

### PubNub agent skills

**Type**: New feature

A new [PubNub agent skills](https://www.pubnub.com/docs/ai/pubnub-skills) page documents a collection of 22 skills for building real-time PubNub applications with AI coding assistants.

Each skill provides focused guidance, code examples, and production-ready patterns for a specific PubNub capability. Once installed, skills are automatically applied by compatible AI coding assistants when you describe what you want to build. Compatible assistants include [Claude Code](https://www.anthropic.com/claude-code), [Cursor IDE](https://www.cursor.com/), [VS Code](https://code.visualstudio.com/) with GitHub Copilot, and [Codex](https://developers.openai.com/codex).

The collection is organized into three tiers:

| Tier | Skills | What it covers |
| --- | --- | --- |
| Foundational | 5 | Core platform capabilities: pub/sub, presence, security, Chat SDK, scale |
| Cross-cutting | 9 | Reliability, observability, and advanced features: Functions, history, App Context, keyset management, Illuminate, Events & Actions, and more |
| Vertical | 8 | Domain-specific guidance for common real-time application types: live auctions, multiplayer gaming, telemedicine, sports scoreboards, delivery tracking, and more |

Install the collection in your project using the Vercel skills CLI:

```bash
npx skills add pubnub/skills
```

Or search the Tessl registry:

```bash
npx tessl skill search pubnub
```

PubNub skills are designed to work alongside the [PubNub MCP Server](https://www.pubnub.com/docs/ai/pubnub-mcp-server). Skills provide offline guidance and code patterns; the MCP Server adds live account access for creating keysets, publishing messages, and querying analytics in real time.