Documentation Release Notes - August 2025
In August, we made our docs more reliable to build with and easier to use day‑to‑day.
We clarified wildcard subscribe behavior and presence limits, reorganized encryption into first‑class SDK pages, and added connection management guidance for Chat SDKs.
Events & Actions gained a cleaner pagination model, a message‑types catalog, and clearer route input guidance. Unreal and PHP SDK docs now pull examples straight from GitHub, and BizOps adds an Auto Moderated messages review surface plus a clear path to choose between managed Auto Moderation and a self‑managed Functions route.
Finally, every docs page now has a machine‑friendly Markdown version (with quick buttons to copy or open) to make search, automation, and AI integrations smoother.
General 🛠️
Push notifications docs refinements
Type: Enhancement
We updated the iOS (APNS) and Android (FCM) docs to show how to exclude the sender from receiving a push for their own message (APNS: excluded_devices, FCM: pn_exceptions).
We also clarified that mobile push registration targets individual channels (not channel groups), and added a new HTTP 400 troubleshooting note with common causes.
SDKs 📦
Wildcard subscribe behavior and Presence constraints
Type: Enhancement
We clarified two areas in SDK and API docs.
First, calling subscribe() opens the connection but you still need event listeners to receive messages. For wildcard subscriptions, message objects include the sender in publisher, the actual channel in channel, and the wildcard match in subscription.
Second, Presence documentation now explicitly notes that wildcards aren’t supported for channel groups—use exact group names.
Encryption documentation reorganization and updates
Type: Enhancement
We moved Encryption to a first‑class API reference page in each SDK and refreshed the content so it’s easier to find and apply (for example, see JavaScript SDK).
The new pages cover configuring the SDK crypto module, the legacy 128‑bit vs. recommended 256‑bit AES‑CBC options, deprecation notes for method‑level cipher key parameters, and up‑to‑date encrypt/decrypt examples (including partial encryption where applicable).
We also added version compatibility warnings so older clients are handled correctly.
Connection management in Kotlin and JavaScript Chat SDKs
Type: Enhancement
We added connection management docs to the Kotlin and JavaScript Chat SDKs. They introduce a connection status listener (ONLINE/OFFLINE/ERROR) and methods to disconnect and reconnect subscriptions, with code samples and a recommended workflow for handling errors and restoring connectivity.
Updated logging and subscribe retry info in Dart SDK docs
Type: Enhancement
We documented logging and subscribe retry in the Dart SDK so you can see what’s happening and recover gracefully.
You can enable structured logs at the instance level or for specific code paths and adjust verbosity at runtime.
For resilience, configure the subscribe retry policy on the networking module—exponential by default, with linear or none available. Non‑subscribe requests don’t retry.
SDK‑sourced examples in PHP and Unreal SDK docs
Type: Enhancement
We kept rolling out repository‑sourced, always‑current examples and standardized rendering across SDKs.
Both PHP and Unreal SDK docs now pull examples directly from our GitHub repos, keeping snippets up to date, tested, and aligned with the SDK repositories.
Events & Actions ⚡
API documentation updates
Type: Enhancement
We updated the Events & Actions API reference with a standardized pagination model (page/size plus paging metadata), a new message types catalog (GET /v2/messages/message-types with filters), and clearer route input guidance using messageTypeName and version instead of messageTypeId.
We also added optional subkey and account_id parameters where relevant and refreshed examples and formatting across the docs.
Availability
The Events & Actions API isn’t publicly available. To request access, contact PubNub Support.
BizOps Workspace 🏢
Review auto‑moderated messages in Channel Monitor
Type: New feature
If you use Auto Moderation, Channel Monitor now has an Auto Moderated Messages section for reviewing content that was automatically blocked as spam, published with masked words, or reported for review.

You can filter by type (Blocked, Reported, Words masked) and mark items as Not spam to provide us with feedback for improving detection.

Auto Moderation: managed vs self‑managed
Type: New feature
Moderating user‑generated content on channels is now straightforward under one umbrella: Auto Moderation.
If you don’t already run a Before Publish or Fire Function on those channels and want a quick path, enable BizOps‑managed Auto Moderation to provision a dedicated moderation Function (of the Before Publish or Fire type) for you. This Function applies your spam detection and word masking policies, and sends outcomes to Channel Monitor for review—no code required.
If you already have a Before Publish or Fire Function running on the channel, follow an alternative path to create the moderation configuration in Auto Moderation and embed it inside your existing Function.
The second, "self‑managed" route (called Generate code for Functions in the Auto Moderation UI) uses the same moderation backend and your Auto Moderation configuration (configId) as the managed one, so results remain consistent and visible in Channel Monitor.
Because you can have only one Before Publish or Fire Function per channel, choose the self‑managed option when a managed Function would conflict.
The Auto Moderation docs walk through prerequisites, setup, where moderation outcomes appear (Channel Monitor), and how to move from managed simplicity to self‑managed control when your app requires it.
Illuminate 💡
Customize embedded Illuminate UI
Type: Enhancement
If you embed Illuminate UI on an external site, you can now theme it to align with your brand. The docs include a complete iframe example and explicit theming options.
You can pass six hexadecimal color parameters in the embed URL: primaryColor, secondaryColor, backgroundColor, surfaceColor, textPrimaryColor, and textSecondaryColor.
<iframe src="https://oem.pubnub.com/embed/dashboards?embed=true&token=<token>&primaryColor=d02129&secondaryColor=007594&backgroundColor=ffffff&surfaceColor=f8f9fa&textPrimaryColor=212529&textSecondaryColor=6c757d" />