DEV Community

PubNub Developer Relations for PubNub

Posted on

Documentation Release Notes - January 2026

This article was originally published at https://www.pubnub.com/docs/release-notes/2026/january

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 Tier

Keyset 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:

Feature

npm

yarn

pnpm

bun

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});
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

The JavaScript Chat SDK now supports all major package managers:

  • npm
  • yarn
  • pnpm
  • bun
npm install @pubnub/chat
Enter fullscreen mode Exit fullscreen mode
yarn add @pubnub/chat
Enter fullscreen mode Exit fullscreen mode
pnpm add @pubnub/chat
Enter fullscreen mode Exit fullscreen mode
bun add @pubnub/chat
Enter fullscreen mode Exit fullscreen mode

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:

Parameter

Description

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 pagination2const result = await channel.whoIsPresent({3    limit: 50,4    offset: 05})6
7console.log(`Users present: ${result.occupants.join(", ")}`)
Enter fullscreen mode Exit fullscreen mode

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 Query

Purpose

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.

Top comments (0)