## 2.0.1
*April 2, 2026*
| Type | Changes |
|------|----------|
| **Added** | • Add a way to change pn-sdk, so it can be used by UE Chat SDK. |
| **Fixed** | • Fix cleaning up PubnubClient in tests, so they don't leave open connections. |
## 2.0.0
*March 31, 2026*
| Type | Changes |
|------|----------|
| **Added** | • `UPubnubSubsystem` is now only for creating or resolving clients. All real work goes through `UPubnubClient`, so you can run several independent PubNub contexts (keys, user id, subscriptions) side by side.<br/>• Subsystem-level methods and delegates are deprecated in favor of the same behavior on UPubnubClient. Call sites should move to the client; async entry points on the client use the Async suffix.<br/>• Logging is no longer limited to default engine logging. Configure levels and sources with `FPubnubLoggerConfig` and `IPubnubLoggerInterface`, and optionally plug in custom loggers.<br/>• Names without Async denote synchronous (blocking) APIs. …Async methods are non-blocking and take a callback. Use sync when you need a direct return on the same flow; use async when the game thread must not block.<br/>• Outcomes use `FPubnubOperationResult` (status, error flag, message) inside dedicated FPubnub…Result structs for both synchronous returns and async callbacks. **BREAKING CHANGE**.<br/>• Pagination uses `FPubnubPage` (Next / Prev) instead of ad hoc page strings. Where the backend supports it, set `IncludeTotalCount` on the relevant include struct and read `TotalCount` on the result.<br/>• Set operations use FPubnub…InputData types with ForceSet* flags so individual fields can be cleared on the server, not only replaced with other values. **BREAKING CHANGE**. |
| **Modified** | • Public types are grouped under a consistent FPubnub… scheme so delegates, results, and inputs read as one family and clash less with other code. **BREAKING CHANGE**. |
## 1.2.1
*March 17, 2026*
| Type | Changes |
|------|----------|
| **Fixed** | • Fix crash during subscription on Android caused by incorrect internal includes in C-Core library. |
## 1.2.0
*November 12, 2025*
| Type | Changes |
|------|----------|
| **Added** | • The `ListUsersFromChannel` method now returns a maximum of 1,000 occupants per channel. Previously, it would return all occupants regardless of count. If you have channels with more than 1,000 occupants, you must use pagination (new `Limit` and `Offset` parameters) to retrieve the complete list. **BREAKING CHANGE**. |
## 1.1.0
*September 11, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Add implementation of Entities: `Channel`, `ChannelGroup`, `ChannelMetadata`, `UserMetadata` with all related PubNub functions.<br/>• Add implementation of `Subscription` and `SubscriptionSet` objects. Add all necessary operations to add, remove, get subscriptions.<br/>• Add implementation of Event Listeners - user can now bind a delegate to subscription for every event type separately or all of them at once. |
| **Fixed** | • Clean up properly all C-Core subscriptions after `UnsubscribeFromAll`. |
## v1.0.0
*August 19, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Add code samples for all UE SDK functions - they can be found in `PubnubLibraryTests` module in `Samples` directory.<br/>• Add encryption support for AES and Legacy Cryptors - compatible with other PubNub SDKs encryption.<br/>• Introduce a unified result field `FPubnubOperationResult` in delegates across all SDK functions.<br/>• Add a delegate that can be used to listen for Subscribe and Unsubscribe functions completion result. |
| **Fixed** | • Fix bug that in some functions using UTF8 characters would break the function.<br/>• Fix bug that using AppContext functions with `Limit` over 100 would crash the engine. Now `Limit` will be clamped to accepted values.<br/>• Fix bug that in some cases `SetAuthToken` would not work correctly. Add correct lifetime management for the provided token. |
| **Modified** | • Rework `ParseToken` to return permissions in a more user-friendly format.<br/>• Remove `CipherKey` from `FPubnubPublishSettings`.<br/>• Rework `SetMemberships` and `SetChannelMembers` to have inputs as `FPubnubMembershipInputData` and `FPubnubChannelMemberInputData` instead of raw strings.<br/>• Remove deprecated '_JSON' functions.<br/>• Add functionality to skip some false warnings logged from C-Core.<br/>• Refactor the code to be much cleaner and commented properly.<br/>• Add `supported-unreal-engine-versions` field to .pubnub.yml file, so it can be used in documentation. Revisit and fix all other entries in .pubnub.yml. |
## v0.3.3
*June 16, 2025*
| Type | Changes |
|------|----------|
| **Fixed** | • Fix compilation errors that were present in UE 5.1 and UE 5.2 versions. |
## v0.3.2
*June 10, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Add function DeleteMessages which can be used to delete messages from the history.<br/>• Add function InitPubnubWithConfig which can be used to initialize PubnubSubsystem with custom config, separate from Project Settings. |
| **Modified** | • Add PubSub samples<br/>• Fix compilation warnings |
## v0.3.1
*May 27, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Add new overloads, for all function that return data, with native (not dynamic) delegates that can be used with Lambdas.<br/>• Add publish/signal message serialization and deserialization - now any string can be send by those methods.<br/>• Add unit and integration tests for all end points. |
| **Fixed** | • Fix bug that UserID was not set immediately.<br/>• Fix bug that only published messages were received from subscription, but not signals and other types.<br/>• Fix bugs that group operations were sometimes returning previous responses.<br/>• Fix bug that MessageCounts function was not always returning correct count.<br/>• Fix incorrect sort and include parameters related to users. |
## v0.3.0
*April 29, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Rework GetMemberships, GetChannelMembers, GetAllUsersMetadataand GetAllChannelsMetadata to have dedicated structures for Include and Sort fields. Note: this is BREAKING CHANGE. |
| **Modified** | • Change subscription loop to use Event Engine.<br/>• Mark _JSON functions as deprecated<br/>• Remove not needed C-Core files. Leave only required headers. |
| **Fixed** | • Fix bugs in parsing FetchHistory response.<br/>• Fix bug that not all requested data was included in functions response when TotalCount was set. |
## v0.2.6
*February 12, 2025*
| Type | Changes |
|------|----------|
| **Fixed** | • Fix Auth Token related functions.<br/>• Fix SetSecretKeyAutomatically setting to set the key properly.<br/>• Fix 'PubnubLog: Error: Pubnub user ID is not set. Aborting operation.' false error. |
## v0.2.5
*February 6, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Add plugin support for Linux and IOS projects. |
## v0.2.4
*January 21, 2025*
| Type | Changes |
|------|----------|
| **Added** | • Pass logs from c-core to UE sdk. |
## v0.2.3
*November 28, 2024*
| Type | Changes |
|------|----------|
| **Fixed** | • Fix incorrect memberships input object Json checks |
## v0.2.2
*November 25, 2024*
| Type | Changes |
|------|----------|
| **Added** | • Add Unreal 5.5 support<br/>• Add documentation in code<br/>• Add CustomMessageType parameter to publish, signal and history |
| **Modified** | • Rename uuid to user in all inputs and functions.<br/>• Rename ChannelName to Channel in in function inputs. |
## v0.1.4
*September 16, 2024*
| Type | Changes |
|------|----------|
| **Added** | • Add proper MacOS static library |
## v0.1.3
*September 13, 2024*
| Type | Changes |
|------|----------|
| **Added** | • fixes custom version of the C-core library |
## v0.1.2
*September 11, 2024*
| Type | Changes |
|------|----------|
| **Added** | • Fixes for Unreal Engine Marketplace |
## v0.1.0
*August 14, 2024*
| Type | Changes |
|------|----------|
| **Added** | • Initial PubNub Unreal Engine SDK release |
| Added | - Add a way to change pn-sdk, so it can be used by UE Chat SDK.
|
| Fixed | - Fix cleaning up PubnubClient in tests, so they don't leave open connections.
|
| Added | UPubnubSubsystem is now only for creating or resolving clients. All real work goes through UPubnubClient, so you can run several independent PubNub contexts (keys, user id, subscriptions) side by side.- Subsystem-level methods and delegates are deprecated in favor of the same behavior on UPubnubClient. Call sites should move to the client; async entry points on the client use the Async suffix.
- Logging is no longer limited to default engine logging. Configure levels and sources with
FPubnubLoggerConfig and IPubnubLoggerInterface, and optionally plug in custom loggers. - Names without Async denote synchronous (blocking) APIs. …Async methods are non-blocking and take a callback. Use sync when you need a direct return on the same flow; use async when the game thread must not block.
- Outcomes use
FPubnubOperationResult (status, error flag, message) inside dedicated FPubnub…Result structs for both synchronous returns and async callbacks. **BREAKING CHANGE**. - Pagination uses
FPubnubPage (Next / Prev) instead of ad hoc page strings. Where the backend supports it, set IncludeTotalCount on the relevant include struct and read TotalCount on the result. - Set operations use FPubnub…InputData types with ForceSet* flags so individual fields can be cleared on the server, not only replaced with other values. **BREAKING CHANGE**.
|
| Modified | - Public types are grouped under a consistent FPubnub… scheme so delegates, results, and inputs read as one family and clash less with other code. **BREAKING CHANGE**.
|
| Fixed | - Fix crash during subscription on Android caused by incorrect internal includes in C-Core library.
|
| Added | - The
ListUsersFromChannel method now returns a maximum of 1,000 occupants per channel. Previously, it would return all occupants regardless of count. If you have channels with more than 1,000 occupants, you must use pagination (new Limit and Offset parameters) to retrieve the complete list. **BREAKING CHANGE**.
|
| Added | - Add implementation of Entities:
Channel, ChannelGroup, ChannelMetadata, UserMetadata with all related PubNub functions. - Add implementation of
Subscription and SubscriptionSet objects. Add all necessary operations to add, remove, get subscriptions. - Add implementation of Event Listeners - user can now bind a delegate to subscription for every event type separately or all of them at once.
|
| Fixed | - Clean up properly all C-Core subscriptions after
UnsubscribeFromAll.
|
| Added | - Add code samples for all UE SDK functions - they can be found in
PubnubLibraryTests module in Samples directory. - Add encryption support for AES and Legacy Cryptors - compatible with other PubNub SDKs encryption.
- Introduce a unified result field
FPubnubOperationResult in delegates across all SDK functions. - Add a delegate that can be used to listen for Subscribe and Unsubscribe functions completion result.
|
| Fixed | - Fix bug that in some functions using UTF8 characters would break the function.
- Fix bug that using AppContext functions with
Limit over 100 would crash the engine. Now Limit will be clamped to accepted values. - Fix bug that in some cases
SetAuthToken would not work correctly. Add correct lifetime management for the provided token.
|
| Modified | - Rework
ParseToken to return permissions in a more user-friendly format. - Remove
CipherKey from FPubnubPublishSettings. - Rework
SetMemberships and SetChannelMembers to have inputs as FPubnubMembershipInputData and FPubnubChannelMemberInputData instead of raw strings. - Remove deprecated '_JSON' functions.
- Add functionality to skip some false warnings logged from C-Core.
- Refactor the code to be much cleaner and commented properly.
- Add
supported-unreal-engine-versions field to .pubnub.yml file, so it can be used in documentation. Revisit and fix all other entries in .pubnub.yml.
|
| Fixed | - Fix compilation errors that were present in UE 5.1 and UE 5.2 versions.
|
| Added | - Add function DeleteMessages which can be used to delete messages from the history.
- Add function InitPubnubWithConfig which can be used to initialize PubnubSubsystem with custom config, separate from Project Settings.
|
| Modified | - Add PubSub samples
- Fix compilation warnings
|
| Added | - Add new overloads, for all function that return data, with native (not dynamic) delegates that can be used with Lambdas.
- Add publish/signal message serialization and deserialization - now any string can be send by those methods.
- Add unit and integration tests for all end points.
|
| Fixed | - Fix bug that UserID was not set immediately.
- Fix bug that only published messages were received from subscription, but not signals and other types.
- Fix bugs that group operations were sometimes returning previous responses.
- Fix bug that MessageCounts function was not always returning correct count.
- Fix incorrect sort and include parameters related to users.
|
| Added | - Rework GetMemberships, GetChannelMembers, GetAllUsersMetadataand GetAllChannelsMetadata to have dedicated structures for Include and Sort fields. Note: this is BREAKING CHANGE.
|
| Modified | - Change subscription loop to use Event Engine.
- Mark _JSON functions as deprecated
- Remove not needed C-Core files. Leave only required headers.
|
| Fixed | - Fix bugs in parsing FetchHistory response.
- Fix bug that not all requested data was included in functions response when TotalCount was set.
|
| Fixed | - Fix Auth Token related functions.
- Fix SetSecretKeyAutomatically setting to set the key properly.
- Fix 'PubnubLog: Error: Pubnub user ID is not set. Aborting operation.' false error.
|
| Added | - Add plugin support for Linux and IOS projects.
|
| Added | - Pass logs from c-core to UE sdk.
|
| Fixed | - Fix incorrect memberships input object Json checks
|
| Added | - Add Unreal 5.5 support
- Add documentation in code
- Add CustomMessageType parameter to publish, signal and history
|
| Modified | - Rename uuid to user in all inputs and functions.
- Rename ChannelName to Channel in in function inputs.
|
| Added | - Add proper MacOS static library
|
| Added | - fixes custom version of the C-core library
|
| Added | - Fixes for Unreal Engine Marketplace
|
| Added | - Initial PubNub Unreal Engine SDK release
|