On this page

Documentation Release Notes - January 2026

January kicked off the year with a focus on developer experience improvements and continued modernization of our SDK documentation.

The biggest addition this month was a comprehensive JavaScript environment setup guide covering Node.js versions, package managers (npm, yarn, pnpm, bun), TypeScript configuration, and modern build tools. We also added Bun support to the JavaScript Chat SDK and improved installation instructions across all Chat SDKs.

On the SDK side, we continued the HereNow pagination work from November 2025, adding limit and offset parameters to Swift, JavaScript, and Kotlin Chat SDKs. We also completed the migration of Swift Chat SDK code snippets to use repository-sourced examples.

General 🛠️

Troubleshooting improvements

Type: Enhancement

We improved the troubleshooting documentation and JavaScript SDK status events based on user feedback.

The troubleshooting page now includes:

  • Clear HTTP status code tables for success and error codes
  • Detailed guidance on handling concurrent updates (HTTP 412) with ETag
  • Links to SDK-specific troubleshooting and status event references

Legacy provisioning API deprecation

Type: Enhancement

We updated the API limits documentation to clarify keyset limits for different account tiers and added deprecation notices for the legacy provisioning API.

Account TierKeyset Limit
Free
3 keysets (hard limit)
Starter
Unlimited
Pro
Unlimited

For programmatic keyset management, use the Admin API instead of the deprecated provisioning endpoints.

SDKs 📦

JavaScript environment setup

Type: New feature

We added a comprehensive JavaScript environment setup guide covering everything you need to configure a modern JavaScript environment for PubNub development.

The guide covers:

  • Node.js versions - PubNub's JavaScript SDK requires Node.js 20 or later for server-side applications
  • Package managers - Installation instructions for npm, yarn, pnpm, and bun
  • TypeScript configuration - Recommended tsconfig.json settings for PubNub projects
  • Build tools - Setup guides for Vite, Next.js, Remix, and Angular
  • ES Modules vs CommonJS - Guidance on import styles and Node.js ESM support
  • React Native - Setup for both Expo and React Native CLI

Package manager comparison:

Featurenpmyarnpnpmbun
Bundled with Node.js
Yes
No
No
No
Install speed
Moderate
Fast
Very fast
Very fast
Disk space efficiency
Moderate
Moderate
Very efficient
Efficient
Workspaces support
Yes
Yes
Yes
Yes

TypeScript setup example:

1import PubNub from 'pubnub';
2
3const pubnub = new PubNub({
4 publishKey: 'your-publish-key',
5 subscribeKey: 'your-subscribe-key',
6 userId: 'your-user-id'
7});

Bun support in Chat SDK

Type: New feature

We added Bun package manager installation instructions to the JavaScript Chat SDK documentation.

You can now install the JavaScript Chat SDK using Bun:

bun add @pubnub/chat

The JavaScript Chat SDK now supports all major package managers:

npm install @pubnub/chat

Chat SDK installation updates

Type: Enhancement

We updated installation instructions across all Chat SDK documentation with clearer npm and yarn guidance:

Each SDK landing page now includes consistent, easy-to-follow installation steps with all supported package managers.

HereNow pagination in Chat SDKs

Type: Enhancement

Continuing the HereNow pagination work from November 2025, we added limit and offset parameters to presence features in the Swift, JavaScript, and Kotlin Chat SDKs.

These parameters help you efficiently retrieve presence information for high-occupancy channels:

ParameterDescription
limit
Default:
100
Maximum number of occupants to return per channel.
offset
Default:
0
Zero-based starting index for pagination.

The whoIsPresent() method now supports pagination parameters:

1// Get a list of users present on a channel with pagination
2const result = await channel.whoIsPresent({
3 limit: 50,
4 offset: 0
5})
6
7console.log(`Users present: ${result.occupants.join(", ")}`)

We also expanded the threads documentation in JavaScript and Kotlin Chat SDKs to include additional methods for thread management.

Kotlin and Java connection pool config

Type: Enhancement

We documented connection pool configuration options in the Kotlin SDK and Java SDK API references.

These options help you fine-tune network performance for high-throughput applications.

Swift Chat SDK code snippets

Type: Enhancement

Following the Swift Chat SDK work from December 2025, we completed the migration of Swift Chat SDK documentation to use the EmbeddedCode component.

This update affects 42 documentation files across the Swift Chat SDK, including:

All code snippets are now pulled directly from the Swift Chat SDK GitHub repository, ensuring examples are always tested and up-to-date with the latest SDK version.

Illuminate 💡

Query Builder improvements

Type: Enhancement

Following the Query Builder introduction in December 2025, we enhanced the Query Builder documentation with predefined decisions information.

The updated documentation now includes visual examples for all four predefined query types:

Predefined QueryPurpose
Top N
Reward the top 10 users who are most engaged by message count
Bottom N
Incentivize users who are least engaged
Cross-posting spam
Detect users sending duplicate messages across multiple channels
Chat flooding spam
Detect users posting excessive or repetitive messages in a single channel

Each predefined query now shows the corresponding predefined decision template:

Predefined decision reward

The documentation also includes new screenshots showing how to create decisions from query data fields.

Functions ⚙️

Export logs in Functions overview

Type: Enhancement

We added the export logs documentation to the Functions overview page. This information was previously only available in the Admin Portal Functions page and is now easier to discover when reading the serverless Functions documentation.

The documentation explains how to retain Function logs long-term using Events & Actions via Webhook or S3.

Last updated on