This article was originally published at https://www.pubnub.com/docs/release-notes/2025/february
As the year is getting underway, we've been busy not only enhancing the existing docs based on your feedback but also adding a bunch of new updates following new product releases.
Here’s a sneak peek:
- Admin Portal – We've introduced secret management and launched a public demo, so you can explore PubNub features without needing an account.
- SDKs – Added membership type support for Python and PHP SDKs along with eTag support across more SDKs for greater data consistency.
- Events & Actions – You can now use vault secrets in webhook headers, boosting your app's security.
- BizOps Workspace – The UI got a facelift with clearly marked read-only internal objects for better navigation.
- Illuminate – We’ve expanded your ability to view action history, removing previous limits for easier tracking.
- Miscellaneous – We addressed several feedback tickets, enriching our docs with new examples and clarifications.
Scroll down to dive into all the updates and see what’s new and improved.
General 🛠️
Secret management in the Admin Portal
Type: New feature
The Apps & Keysets section in the Admin Portal now has a new Manage secrets section that allows users with the Keyset Admin, Account Owner, and Account Admin roles to create, update, and delete secrets.
You can use these secrets in Functions to authenticate and secure connection with third-party services.
Public Admin Portal demo
Type: New feature
Want to browse through the Admin Portal without creating an account? Want to see PubNub features instead of just reading about them in the docs?
We released Public Demo that gives you insights into sample objects for all PubNub features available in the Admin Portal (apps, keysets, Functions, Business Objects, Users, Dashboards, and many more).
All PubNub objects are read only and demonstrate a Transport & Logistics use case.
SDKs 📦
Membership type (follow-up)
Type: New feature
To follow up on last month's updates in the Ruby SDK, we added support for the membership type in the Python, PHP, and Dart SDKs to let you categorize memberships more easily.
- Python
- PHP
- Dart
pubnub.get_memberships() \
.include(MembershipIncludes(custom=True, channel=True, channel_custom=True)) \
.uuid("Some UUID").sync()
$includes = new PNMembershipIncludes();
$includes->channel()->channelId()->channelCustom()->channelType()->channelStatus()->custom()->status()->type();
$addMembership = $this->pubnub->setMemberships()
->userId($this->user)
->memberships([
new PNChannelMembership($this->channel1, ['BestDish' => 'Pizza'], 'Admin', 'Active'),
new PNChannelMembership($this->channel2, ['BestDish' => 'Lasagna'], 'Guest', 'Away'),
])
->include($includes)
->sync();
var channelMetadataInput = ChannelMetadataInput(
name: 'Channel Name',
description: 'Description',
custom: {'BestDish': 'Pizza'},
status: 'Active',
type: 'Public'
);
result = await pubnub.objects.setChannelMetadata(
'channelId',
channelMetadataInput,
includeStatus: true,
includeType: true
);
Etag support in multiple SDKs
Type: New feature
Several Core SDKs (C-Sharp, Java, JavaScript, Kotlin, Swift, Unity, Python, and PHP) now support the entity tag in App Context API that you can use to ensure updates only happen if the object hasn't been modified since it was read.
Use the eTag you received from an applicable get metadata method to check against the server entity tag. If the eTags don't match, an HTTP 412 error is thrown.
Handle custom metadata
Type: Enhancement
We updated App Context API docs for all Core SDKs with a note that the custom
parameter does not support partial updates of user or channel custom metadata.
Any new custom metadata will completely overwrite existing data on PubNub servers. To handle such updates, follow these steps:
- Retrieve the existing metadata using the relevant get object method (like
get_channel_metadata()
). - Store the current custom data locally.
- Add any new fields to this stored data.
- Use the relevant set method (like
set_channel_metadata()
) to overwrite the existing custom metadata with the updated custom object.
This process keeps your existing data intact while adding new information.
Each SDK now also has an example of how to handle "partial updates" by pulling the current state, altering it, and pushing back to the server (check example for JavaScript SDK).
Events & Actions ⚡
Secrets in webhook headers
Type: Enhancement
We now let you use your vault secrets (same as used in Functions) to pass as custom headers in the Webhook action types.
You can assign one or multiple secret keys from your keysets to these custom headers if your webhook requires authorization or you want to enhance your app's security.
BizOps Workspace 🏢
Read-only objects
Type: Enhancement
Following feedback, we improved UI for User Management and Channel Management sections in BizOps Workspace by clearly marking and restricting internal objects, such as users or channels with the PUBNUB_INTERNAL
or REVIEWED
prefixes.
Such objects are now marked with an "eye" icon and can be viewed only.
Illuminate 💡
Increased action history
Type: Enhancement
Until recently, Illuminate let you see only 50 recent actions that run for Decisions and see why some of them failed.
We removed this fixed limit and you can now retrieve the remaining actions from history through the Load more button.
Other 🌟
A grab bag of changes
Type: Improvement
Fortunately, we had some time this month to focus on several feedback tickets and improve the existing docs with new examples, clarification, and more.
Here's the list of changes:
- Documented the missing
removeAllPushChannelsForDevice
method in PHP SDK (link) - Improved info on signals vs messages (link)
- Clarified info across SDKs on when objects events are triggered (link)
- Clarified send file and publish file methods across SDKs (link)
- Showed the use of the
sort
field in App Context API for the Swift SDK (link) - Clarified how the same User ID behaves on multiple devices (link)
- Updated info on presence deltas & interval webhooks (link)
- Added examples of different types of channels (link)
- Updated info on the
pn_ttl
flag for APNS push notifications (link) - Documented how to add metadata to push notifications (APNS & FCM)
- Revisited auth key info in Access Manager (link)
Top comments (0)