On this page

Documentation Release Notes - October 2025

October brought significant SDK modernization, comprehensive logging documentation, and powerful moderation features to help you build more robust real-time applications.

We released Go SDK 8.0 with modernized push notifications and pagination support, documented unified logging practices across all SDKs, and added client-side mute capabilities to Chat SDKs. We also completed our migration from deprecated Google Cloud Messaging (GCM) to Firebase Cloud Messaging (FCM) across documentation and SDKs.

The biggest update this month was comprehensive logging documentation. We created unified logging guidance that applies across all PubNub SDKs, plus detailed platform-specific implementation guides for JavaScript, Java, Kotlin, and Objective-C. This makes debugging, monitoring, and maintaining your applications significantly easier.

General 🛠️

Unified logging practices documentation

Type: New feature

We created comprehensive logging documentation that covers unified logging practices across all PubNub SDKs, giving you consistent, actionable information for debugging and monitoring your applications.

The new logging documentation covers:

  • Log levels - Standard levels (TRACE, DEBUG, INFO, WARN, ERROR) with clear guidance on when to use each one
  • What gets logged - Configuration at initialization, API call parameters, network requests and responses, subscription lifecycle events, and errors
  • Integration options - How to connect PubNub SDK logs with popular logging frameworks and third-party services
  • Production best practices - Performance considerations and security warnings about logging sensitive data
  • Platform-specific guides - Links to implementation details for each SDK

Each log level captures increasingly detailed information:

Log LevelWhen to useWhat it captures
TRACE
Deep troubleshooting for complex issues
All internal operations: serialization, encryption, and detailed execution flow. Generates high volume output.
DEBUG
Development and bug investigation
User inputs, API channel parameters, HTTP request and response details, and configuration values.
INFO
Monitor significant events
Important operational events: successful initialization and configuration changes.
WARN
Identify potential issues
Deprecated features, unusual conditions, and non-breaking validation warnings.
ERROR
Troubleshoot failures
Errors, exceptions with stack traces, and failed operations.
Logging sensitive information

DEBUG and TRACE levels may log sensitive information including API keys, user identifiers, and message content. Use these levels only in development environments. Never enable DEBUG or TRACE logging in production with sensitive data.

This unified approach ensures you get consistent logging behavior whether you're working with JavaScript, Swift, Java, Python, or any other PubNub SDK.

GCM to FCM terminology migration complete

Type: Enhancement

We completed the migration from Google Cloud Messaging (GCM) terminology to Firebase Cloud Messaging (FCM) across all documentation and SDK references.

Google deprecated GCM in 2018 and removed it completely in 2019. This update ensures our documentation accurately reflects current push notification technologies and helps developers avoid deprecated services.

The changes affect:

  • Mobile push notification setup guides
  • SDK configuration examples for Android, Java, and Kotlin
  • Chat SDK configuration documentation for Kotlin and Swift
  • Code snippets and parameter descriptions

If you're still using GCM references in your code, update them to FCM. All PubNub SDKs now use PNPushTypeFCM (or equivalent) instead of the deprecated PNPushTypeGCM.

SDKs 📦

Go SDK 8.0 release and migration guide

Type: New feature

We released Go SDK version 8.0.0 with modernized push notification support, enhanced file messaging capabilities, and pagination for presence operations. This release removes deprecated features and fixes API inconsistencies.

The new Go SDK 8.0.0 migration guide provides complete upgrade instructions and covers all breaking changes.

Key changes in Go SDK 8.0:

  • Push notification modernization - Removed PNPushTypeMPNS (Microsoft Push Notification Service), deprecated PNPushTypeGCM in favor of PNPushTypeFCM, and deprecated PNPushTypeAPNS in favor of PNPushTypeAPNS2
  • HereNow pagination - The HereNow method now limits occupants to 1,000 per request with pagination support using Limit and Offset parameters
  • File messaging fix - SendFile now correctly defaults ShouldStore to false (previously always true) but remains configurable
  • Removed non-functional parameter - The Reverse parameter in Fetch has been removed (it was supported but non-functional)
  • Message type flexibility - PNPublishMessage.Text type changed from string to interface{} for better flexibility

Using FCM (v8.0.0):

1

Using APNs2 (v8.0.0):

1

The migration guide includes complete examples for push notifications, file messaging, presence operations, and App Context updates. Go SDK 7.x.x continues to work but receives only critical security fixes. We recommend migrating to 8.0.0 to access new features and improvements.

Logging documentation for JavaScript, Java, Kotlin, and Objective-C SDKs

Type: Enhancement

We added comprehensive platform-specific logging documentation for four major SDKs, complementing the general logging guidance.

JavaScript SDK logging:

The JavaScript SDK logging guide covers browser and Node.js environments with detailed integration examples for popular logging frameworks including Winston, Bunyan, Pino, log4js, and browser console logging, plus advanced filtering and formatting techniques.

You can enable logging at initialization by setting logVerbosity to true in your configuration.

Java and Kotlin SDK logging:

The Java SDK and Kotlin SDK logging guides explain how to integrate with SLF4J (Simple Logging Facade for Java) and popular logging frameworks including Logback, Log4j2, and java.util.logging. Configure logging at SDK initialization by setting logVerbosity to control the detail level.

Objective-C SDK logging:

The Objective-C SDK logging guide covers integration with CocoaLumberjack and Unified Logging System (os_log), plus custom logger implementation. Enable logging in your configuration by setting the logLevel property.

All four SDK logging guides include:

  • How to enable and configure log levels
  • Integration with popular logging frameworks
  • Performance considerations
  • Security best practices for production environments
  • Custom logger implementation examples

HereNow improvements in Dart and C# SDKs

Type: Enhancement

We updated the Dart SDK and C# SDK presence documentation to reflect improvements in the HereNow method.

Both SDKs now include clearer parameter descriptions, improved examples, and better handling of occupancy information. The Dart SDK also added a complete code snippet example in the subscribe documentation showing how to handle subscription lifecycle events.

These updates make it easier to track channel occupancy and user presence in your real-time applications.

PHP SDK dynamic code snippets

Type: Enhancement

We added missing dynamic code snippets to the PHP SDK documentation, continuing our effort to source examples directly from SDK repositories.

These repository-sourced snippets stay synchronized with SDK changes, ensuring you always see tested, up-to-date examples. This improves reliability and reduces documentation drift as the SDK evolves.

Client-side mute in Swift Chat SDK

Type: New feature

We documented client-side mute capabilities in the Swift Chat SDK, giving you more control over user moderation in chat applications.

Client-side mute lets users hide content from specific users or channels on their device without requiring server-side moderation. This improves user experience by letting individuals customize what content they see.

The new documentation covers:

  • User moderation methods - setRestriction() to mute users, getChannelRestrictions() and getUserRestrictions() to retrieve current restrictions
  • Channel-level restrictions - Users can mute other users on specific channels
  • User-level restrictions - Users can mute other users globally across all channels
  • Restriction retrieval - Check which users or channels are currently muted

The Swift Chat SDK now supports muting users on specific channels or globally across all channels, with methods to retrieve current restrictions. Client-side mute complements server-side moderation features, giving you flexible options for content moderation in your Swift chat applications.

Client-side mute and restore in Unity Chat SDK

Type: New feature

We documented client-side mute and restore capabilities for both channels and users in the Unity Chat SDK, providing comprehensive moderation features for Unity-based chat applications.

User moderation:

The user moderation documentation covers how users can mute other users or channels on their device:

1

Channel and user restore:

We also documented channel restore and user restore methods, allowing you to recover soft-deleted chat entities. Both Channel and User entities now include a Restore() method that recovers previously deleted instances.

These features give Unity developers complete control over content moderation and entity lifecycle management in their chat applications.

Illuminate 💡

Export chart data to CSV

Type: New feature

You can now download chart data from Illuminate dashboards in CSV format using the export button in the upper-right corner of each chart.

Export chart data button

This feature lets you:

  • Export metric data for offline analysis
  • Create custom reports in spreadsheet applications
  • Share data with stakeholders who don't have Admin Portal access
  • Archive historical data for compliance or record-keeping

The exported CSV includes all data points visible in the current chart view, respecting your selected time range and filters. You can use this data with external business intelligence tools, create custom visualizations, or perform statistical analysis.

For more information, refer to the Dashboards documentation.

Other 🌟

Markdown button labels for accessibility

Type: Enhancement

We added descriptive labels to the Markdown copy and open buttons that appear at the top of each documentation page, improving accessibility for screen readers and assistive technologies.

These buttons let you access the machine-readable Markdown version of any docs page, which is useful for AI tools, automation scripts, and content processing workflows. The improved labels make it clearer what each button does for all users.

Functions documentation improvements

Type: Enhancement

We fixed missing Function URLs and resolved Spectral validation issues in the Functions documentation, ensuring all links work correctly and code examples validate properly.

These improvements make the Functions documentation more reliable and easier to navigate, helping you build serverless logic for your PubNub applications.

Last updated on