---
source_url: https://www.pubnub.com/docs/sdks/android/changelog
title: Changelog for Android SDK
updated_at: 2026-06-30T11:06:17.215Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Changelog for Android SDK

:::note
## v6.4.5

*December 18, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Added reading message type from fetch messages response.<br/>• Added random value 0.001-0.999s to delay between retries both for Linear and Exponential reconnection policies. |

## v6.4.4

*November 30, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Bring back compatibility with Android 6+ by removing the Jackson library dependency. |

## v6.4.3

*November 28, 2023*

| Type | Changes |
|------|----------|
| **Added** | • Add `error` field to `PNFileEventResult` and set it in case of decryption failure. |

## v6.4.2

*November 23, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Handle unencrypted message in subscribe and history when crypto configured (error flag is set on message result). |

## v6.4.1

*October 30, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Updated the JSON lib to version 20231013.<br/>• Changed license type from MIT to PubNub Software Development Kit License. |

## v6.4.0

*October 16, 2023*

| Type | Changes |
|------|----------|
| **Added** | • Add crypto module that allows configure SDK to encrypt and decrypt messages. |
| **Fixed** | • Improved security of crypto implementation by adding enhanced AES-CBC cryptor. |

## v6.3.6

*June 19, 2023*

| Type | Changes |
|------|----------|
| **Added** | • Added possibility to set state using heartbeat endpoint. . |

## v6.3.5

*May 18, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • In case of error retry heartbeat call limited number of times. |

## v6.3.4

*March 6, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Upgraded json lib. |

## v6.3.3

*March 6, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Upgraded jackson-databind lib to remove security vulnerabilities. |

## v6.3.2

*February 23, 2023*

| Type | Changes |
|------|----------|
| **Fixed** | • Remove deprecation for Grant Token methods. |

## v6.3.1

*December 15, 2022*

| Type | Changes |
|------|----------|
| **Fixed** | • In case of an error response it checks if there's a body before reading from it. |

## v6.3.0

*November 7, 2022*

| Type | Changes |
|------|----------|
| **Added** | • Added acceptance tests for ObjectsV2 feature.<br/>•  Added possibility to add status when setting ChannelMembers.<br/>• Added status and type to query parameters for objectV2 REST calls. For membership and member only status. |
| **Modified** | • Upgrade OkHttp lib to 4.9.3. |

## v6.2.0

*September 20, 2022*

| Type | Changes |
|------|----------|
| **Added** | • PNFileEventResult has messageJson field with the same JsonElement type as in other events. |

## v6.1.0

*July 21, 2022*

| Type | Changes |
|------|----------|
| **Added** | • Add support for spaces and users permissions in grantToken.<br/>• Add userId to PNConfiguration and deprecate uuid . |

## v6.0.2

*May 19, 2022*

| Type | Changes |
|------|----------|
| **Fixed** | • Upgraded gson to 2.9.0 to make SDK working under Java 17. |

## v6.0.1

*May 9, 2022*

| Type | Changes |
|------|----------|
| **Fixed** | • Do heartbeat and leave calls sequentially to prevent race condition between these two calls and 'phantom' join after leave. |

## v6.0.0

*January 12, 2022*

| Type | Changes |
|------|----------|
| **Modified** | • BREAKING CHANGES: uuid is required parameter in PNConfiguration constructor. |

## v5.3.0

*December 16, 2021*

| Type | Changes |
|------|----------|
| **Added** | • Add revoke token feature. |

## v5.2.4

*December 9, 2021*

| Type | Changes |
|------|----------|
| **Fixed** | • Emit PNReconnectedCategory in case of successful manual reconnection. |

## v5.2.3

*November 17, 2021*

| Type | Changes |
|------|----------|
| **Fixed** | • Eviction of OkHttp connection pool after reestablishing connection (affects transactional calls). |

## v5.2.2

*November 4, 2021*

| Type | Changes |
|------|----------|
| **Fixed** | • Reconnect always restarts the subscription connection. |

## v5.2.1

*October 6, 2021*

| Type | Changes |
|------|----------|
| **Added** | • Acceptance tests plugged into CI pipeline. |
| **Fixed** | • Meta field exposed correctly in PNToken class. |

## v5.2.0

*September 8, 2021*

| Type | Changes |
|------|----------|
| **Added** | • Extend grantToken method to enable control of Objects API permission. Enhance granularity of permission control to enable permissions per UUID. |

## v5.1.1

*July 13, 2021*

| Type | Changes |
|------|----------|
| **Fixed** | • Update Jackson libraries to avoid known vulnerabilities. |

## v5.1.0

*May 20, 2021*

| Type | Changes |
|------|----------|
| **Added** | • Method grantToken has beed added. It allows generation of signed token with permissions for channels and channel groups. |
| **Fixed** | • UUID is now exposed as PNMembership field which make is accessible from PNMembershipResult argument of SubscribeCallback.membership() method. |

## v5.0.0

*May 12, 2021*

| Type | Changes |
|------|----------|
| **Added** | • Now random initialisation vector used when encryption enabled is now default behaviour. |
| **Fixed** | • There were some non daemon threads running in background preventing VM from exiting. Now they are daemon threads. |

## v4.36.0

*April 8, 2021*

| Type | Changes |
|------|----------|
| **Added** | • New way of controlling Presence by Heartbeat calls for purpose of usage with dedicated server configuration (ACL). This feature can be used only with additional support from PubNub. |

## v4.33.3

*October 21, 2020*

| Type | Changes |
|------|----------|
| **Fixed** | • Improved handling of random initialization vector for encrypting messages.<br/>• Restore Android compatibility for Gradle 3.X by removing Stringjoin().<br/>• Return appropriate error information when payload is too large. |

## v4.33.2

*October 8, 2020*

| Type | Changes |
|------|----------|
| **Fixed** | • To improve security of messages, added support for random initialization vector to encrypt and decrypt messages. |

## v4.33.1

*September 24, 2020*

| Type | Changes |
|------|----------|
| **Fixed** | • PubNubException now overrides Throwable's `getMessage` so the `status.errorData.throwablemessage` can be properly set. |

## v4.33.0

*September 14, 2020*

| Type | Changes |
|------|----------|
| **Added** | • Objects (v2) API exposed to enable metadata management.<br/>• Enable Objects (v2) related permissions management via Grant method. |

## v4.32.1

*August 24, 2020*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix for subscription loop to prevent unexpected disconnections caused by unhandled HTTP statuses. |

## v4.32.0

*August 14, 2020*

| Type | Changes |
|------|----------|
| **Added** | • Allows to upload files to channels, download them with optional encryption support. |

## v4.31.3

*June 17, 2020*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix typo in suppressLeaveEvents in PNConfiguration. |

## v4.31.2

*June 12, 2020*

| Type | Changes |
|------|----------|
| **Added** | • Add "click_action" parameter to PushPayloadHelper in order to pass it to FCM. |

## v4.31.1

*April 16, 2020*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix OkHttp reconnection policy |

## v4.31.0

*February 25, 2020*

| Type | Changes |
|------|----------|
| **Added** | • Implemented Objects Filtering API |
| **Modified** | • Handled more network events to keep the client subscribed<br/>• Improved interaction with classes from org.json*<br/>• Made PNCallback eligible for SAM/lambda conversion<br/>• Deprecated PNPushType.GCM in favor of PNPushType.FCM |

## v4.30.0

*January 23, 2020*

| Type | Changes |
|------|----------|
| **Added** | • Add support for APNS2 Push API<br/>• Add a utility class to ease creating push payloads |

## v4.29.2

*December 2, 2019*

| Type | Changes |
|------|----------|
| **Modified** | • Disable OkHttp reconnection policy |

## v4.29.1

*October 22, 2019*

| Type | Changes |
|------|----------|
| **Modified** | • Made the SDK more Kotlin-friendly<br/>• Categorized cancelled requests as such<br/>• Removed the 'audit' method |

## v4.29.0

*October 8, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Implemented Message Actions API<br/>• Added 'includeMeta' to history()<br/>• Added 'includeMeta' to fetchMessages()<br/>• Added 'includeMessageActions' to fetchMessages() |

## v4.28.0

*October 1, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Add PAMv3 support<br/>• Implement TMS (Token Manager)<br/>• Upgrade PAM endpoints to v2<br/>• Introduce delete permission for grant |

## v4.27.0

*August 27, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Add Objects API support |

## v4.26.1

*August 13, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Introduce serialization class for Signals API |

## v4.26.0

*August 9, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Add Signals support |
| **Fixed** | • Expose OkHttp logging interceptor library |

## v4.25.0

*June 6, 2019*

| Type | Changes |
|------|----------|
| **Fixed** | • Enable app level grants<br/>• Custom encode auth key where it's not encoded automatically |
| **Added** | • Move state param from heartbeat to subscribe calls |

## v4.24.0

*May 21, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Enforce a minimum presence timeout value<br/>• Disable presence heartbeats by default |

## v4.23.0

*May 8, 2019*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix reconnection issues by allowing it solely for network issues |

## v4.22.0

*April 26, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Introduce Message Count API<br/>• Update 3rd party libraries |

## v4.22.0-beta

*January 31, 2019*

| Type | Changes |
|------|----------|
| **Added** | • Update 3rd party libraries |

## v4.21.0

*October 26, 2018*

| Type | Changes |
|------|----------|
| **Added** | • Support optional query parameters for every request<br/>• Update documentation |

## v4.20.0

*August 7, 2018*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix an issue where the global-here-now response was interpreted incorrectly |

## v4.19.0

*March 29, 2018*

| Type | Changes |
|------|----------|
| **Fixed** | • Fix an issue where end of channel history was interpreted as an error |

## v4.18.0

*January 11, 2018*

| Type | Changes |
|------|----------|
| **Modified** | • lock down OkHttp version to support latest android version |

## v4.17.0

*December 19, 2017*

| Type | Changes |
|------|----------|
| **Modified** | • allow SDK to only send heartbeats without subscribing to the data channel. |

## v4.16.0

*November 21, 2017*

| Type | Changes |
|------|----------|
| **Modified** | • allow setting setMaximumConnections to open more connections to PubNub |

## v4.15.0

*November 17, 2017*

| Type | Changes |
|------|----------|
| **Modified** | • update gson dependency |
| **Fixed** | • make listeners thread safe<br/>• close hanging threads on shutdown |

## v4.14.0

*October 25, 2017*

| Type | Changes |
|------|----------|
| **Modified** | • add support to suppress leave events |

## v4.13.0

*October 23, 2017*

| Type | Changes |
|------|----------|
| **Modified** | • do not execute subscribe on empty string channel, channel groups<br/>• stop heartbeat loop if an error shows up. |

## v4.12.0

*October 5, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • fix worker thread unloading. |
| **Added** | • prevent concurrent modification of listeners. |

## v4.11.0

*October 5, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • fix retrofit unloading. |

## v4.10.0

*September 17, 2017*

| Type | Changes |
|------|----------|
| **Added** | • rework the loading of services to load the classes once. |

## v4.9.1

*August 14, 2017*

| Type | Changes |
|------|----------|
| **Added** | • patch-up to the deduping algorithm |

## v4.9.0

*August 14, 2017*

| Type | Changes |
|------|----------|
| **Added** | • Internal deduping mechanism when devices cross regions (dedupOnSubscribe). |

## v4.8.0

*August 8, 2017*

| Type | Changes |
|------|----------|
| **Added** | • Allow certificate pinning via setCertificatePinner on PNConfiguration<br/>• Allow disabling of heartbeat by setting the interval to 0.<br/>• GAE fixes. |

## v4.7.0

*July 20, 2017*

| Type | Changes |
|------|----------|
| **Added** | • Allow injection of httpLoggingInterceptor for extra logging monitoring.. |

## v4.6.5

*June 28, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • adjust queue exceeded notifications to be greater or equal of. |

## v4.6.4

*June 10, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • gracefully handle disabled history |

## v4.6.3

*June 3, 2017*

| Type | Changes |
|------|----------|
| **Added** | • on interval events, pass hereNowRefresh to indicate if a here_now fetch is needed. |

## v4.6.2

*April 13, 2017*

| Type | Changes |
|------|----------|
| **Added** | • set a name for Subscription Manager Consumer Thead. |

## v4.6.1

*April 6, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • SDK crash in Android with Airplane Mode |
| **Added** | • add deltas on interval action. |

## v4.6.0

*March 14, 2017*

| Type | Changes |
|------|----------|
| **Added** | • To distinguish UUID's that were generated by our SDK, we appended `pn-` before the UUID to signal that it's a randomly generated UUID.<br/>• Allow the passing of OkHttp connection spec via setConnectionSpec |
| **Modified** | • Bump retrofit to 2.2.0 |

## v4.5.0

*February 15, 2017*

| Type | Changes |
|------|----------|
| **Added** | • add .toString methods to all public facing models and POJOs |

## v4.4.4

*February 6, 2017*

| Type | Changes |
|------|----------|
| **Added** | • Add support to configure host name verifier. |

## v4.4.3

*February 2, 2017*

| Type | Changes |
|------|----------|
| **Added** | • Add support to configure custom certificate pinning via SSLSocketFactory and X509 configuration objects. |

## v4.4.2

*January 31, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • SDK was not sending the user metadata on Message Callback |

## v4.4.1

*January 25, 2017*

| Type | Changes |
|------|----------|
| **Fixed** | • SDK did not honor the exhaustion of reconnections, it will now disconnect once max retries happened |

## v4.4.0

*January 24, 2017*

| Type | Changes |
|------|----------|
| **Modified** | • Support for maximum reconnection attempts<br/>• Populate affectedChannel and affectedChannelGroups<br/>• Support for GAE<br/>• Emit pnconnected when adding / removing channels. |

## v4.3.1

*December 22, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • support for key-level grant. |

## v4.3.0

*December 14, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • JSON parser is switched to GSON, new artifact on nexus as pubnub-gson<br/>• GetState, setState return a JsonElement instead of a plain object. |

## v4.2.3

| Type | Changes |
|------|----------|
| **Modified** | • Swapping out logger for SLF4J API and removing final methods |

## v4.2.2

*December 9, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • remove final identifiers from the public facing API. |

## v4.2.1

*November 23, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • include publisher UUID on incoming message<br/>• allow to set custom TTL on a publish |

## v4.2.0

*October 25, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • Signatures are generated for all requests with secret key to ensure secure transmission of data<br/>• support for alerting of queue exceeded (PNRequestMessageCountExceededCategory)<br/>• signaling to OkHttp to stop the queues on termination. |

## v4.1.0

*October 12, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • destroy now correctly forces the producer thread to shut down; stop is now deprecated for disconnect<br/>• support for sending instance id for presence detection (disabled by default)<br/>• support for sending request id to burst cache (enabled by default)<br/>• proxy support via the native proxy configurator class. |

## v4.0.14

*September 20, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • on PAM error, populate the affectedChannel or affectedChannelGroup to signal which channels are failing |

## v4.0.13

*September 14, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • populate jso with the error. |

## v4.0.12

*September 13, 2016*

| Type | Changes |
|------|----------|
| **Fixed** | • fixing parsing of origination payload within the psv2 envelope |

## v4.0.11

*September 9, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • bumping build process for gradle 3 / merging documentation into the repo and test adjustments |

## v4.0.10

*September 7, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • adding channel / channelGroup fields when a message / presence event comes in. |

## v4.0.9

*August 24, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • adjustments for handling pn_other and decryption<br/>• retrofit version bumps. |

## v4.0.8

*August 16, 2016*

| Type | Changes |
|------|----------|
| **Added** | • added unsubscribeAll, getSubscribedChannels, getSubscribedChannelGroups<br/>• SDK will establish secure connections by default<br/>• added support for exponential backoff reconnection policies |

## v4.0.7

*August 11, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • reduce overlap on error handling when returning exceptions. |

## v4.0.6

*July 18, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • send heartbeat presence value when subscribing |

## v4.0.5

*July 7, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • unified retrofit handling to lower amount of instances and sync'd the state methods. |

## v4.0.4

*June 24, 2016*

| Type | Changes |
|------|----------|
| **Fixed** | • setting State for other UUID's is now supported. |

## v4.0.3

*June 15, 2016*

| Type | Changes |
|------|----------|
| **Added** | • fire() method and no-replication options. |

## v4.0.2

*June 15, 2016*

| Type | Changes |
|------|----------|
| **Fixed** | • fix to the version fetching. |

## v4.0.1

*June 6, 2016*

| Type | Changes |
|------|----------|
| **Fixed** | • adjustment of the subscribe loop to alleviate duplicate dispatches. |

## v4.0.0

*June 3, 2016*

| Type | Changes |
|------|----------|
| **Fixed** | • first GA. |

## v4.0.0-beta4

*June 3, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • reconnects and minor adjustments. |

## v4.0.0-beta3

*June 3, 2016*

| Type | Changes |
|------|----------|
| **Fixed** | • fixing state not coming on the subscriber callback.<br/>• adjustments to URL encoding on publish, subscribe, set-state operations to avoid double encoding with retrofit. |

## v4.0.0-beta2

*June 3, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • reworking of message queue.<br/>• checkstyle, findbugs.<br/>• reworking error notifications. |

## v4.0.0-beta1

*June 3, 2016*

| Type | Changes |
|------|----------|
| **Modified** | • initial beta1. |
:::

### v6.4.5

December 18, 2023

| Fixed | Added reading message type from fetch messages response., Added random value 0.001-0.999s to delay between retries both for Linear and Exponential reconnection policies. |
| --- | --- |

### v6.4.4

November 30, 2023

| Fixed | Bring back compatibility with Android 6+ by removing the Jackson library dependency. |
| --- | --- |

### v6.4.3

November 28, 2023

| Added | Add error field to PNFileEventResult and set it in case of decryption failure. |
| --- | --- |

### v6.4.2

November 23, 2023

| Fixed | Handle unencrypted message in subscribe and history when crypto configured (error flag is set on message result). |
| --- | --- |

### v6.4.1

October 30, 2023

| Fixed | Updated the JSON lib to version 20231013., Changed license type from MIT to PubNub Software Development Kit License. |
| --- | --- |

### v6.4.0

October 16, 2023

| Added | Add crypto module that allows configure SDK to encrypt and decrypt messages. |
| --- | --- |
| Fixed | Improved security of crypto implementation by adding enhanced AES-CBC cryptor. |

### v6.3.6

June 19, 2023

| Added | Added possibility to set state using heartbeat endpoint. . |
| --- | --- |

### v6.3.5

May 18, 2023

| Fixed | In case of error retry heartbeat call limited number of times. |
| --- | --- |

### v6.3.4

March 6, 2023

| Fixed | Upgraded json lib. |
| --- | --- |

### v6.3.3

March 6, 2023

| Fixed | Upgraded jackson-databind lib to remove security vulnerabilities. |
| --- | --- |

### v6.3.2

February 23, 2023

| Fixed | Remove deprecation for Grant Token methods. |
| --- | --- |

### v6.3.1

December 15, 2022

| Fixed | In case of an error response it checks if there's a body before reading from it. |
| --- | --- |

### v6.3.0

November 7, 2022

| Added | Added acceptance tests for ObjectsV2 feature., Added possibility to add status when setting ChannelMembers., Added status and type to query parameters for objectV2 REST calls. For membership and member only status. |
| --- | --- |
| Modified | Upgrade OkHttp lib to 4.9.3. |

### v6.2.0

September 20, 2022

| Added | PNFileEventResult has messageJson field with the same JsonElement type as in other events. |
| --- | --- |

### v6.1.0

July 21, 2022

| Added | Add support for spaces and users permissions in grantToken., Add userId to PNConfiguration and deprecate uuid . |
| --- | --- |

### v6.0.2

May 19, 2022

| Fixed | Upgraded gson to 2.9.0 to make SDK working under Java 17. |
| --- | --- |

### v6.0.1

May 9, 2022

| Fixed | Do heartbeat and leave calls sequentially to prevent race condition between these two calls and 'phantom' join after leave. |
| --- | --- |

### v6.0.0

January 12, 2022

| Modified | BREAKING CHANGES: uuid is required parameter in PNConfiguration constructor. |
| --- | --- |

### v5.3.0

December 16, 2021

| Added | Add revoke token feature. |
| --- | --- |

### v5.2.4

December 9, 2021

| Fixed | Emit PNReconnectedCategory in case of successful manual reconnection. |
| --- | --- |

### v5.2.3

November 17, 2021

| Fixed | Eviction of OkHttp connection pool after reestablishing connection (affects transactional calls). |
| --- | --- |

### v5.2.2

November 4, 2021

| Fixed | Reconnect always restarts the subscription connection. |
| --- | --- |

### v5.2.1

October 6, 2021

| Added | Acceptance tests plugged into CI pipeline. |
| --- | --- |
| Fixed | Meta field exposed correctly in PNToken class. |

### v5.2.0

September 8, 2021

| Added | Extend grantToken method to enable control of Objects API permission. Enhance granularity of permission control to enable permissions per UUID. |
| --- | --- |

### v5.1.1

July 13, 2021

| Fixed | Update Jackson libraries to avoid known vulnerabilities. |
| --- | --- |

### v5.1.0

May 20, 2021

| Added | Method grantToken has beed added. It allows generation of signed token with permissions for channels and channel groups. |
| --- | --- |
| Fixed | UUID is now exposed as PNMembership field which make is accessible from PNMembershipResult argument of SubscribeCallback.membership() method. |

### v5.0.0

May 12, 2021

| Added | Now random initialisation vector used when encryption enabled is now default behaviour. |
| --- | --- |
| Fixed | There were some non daemon threads running in background preventing VM from exiting. Now they are daemon threads. |

### v4.36.0

April 8, 2021

| Added | New way of controlling Presence by Heartbeat calls for purpose of usage with dedicated server configuration (ACL). This feature can be used only with additional support from PubNub. |
| --- | --- |

### v4.33.3

October 21, 2020

| Fixed | Improved handling of random initialization vector for encrypting messages., Restore Android compatibility for Gradle 3.X by removing Stringjoin()., Return appropriate error information when payload is too large. |
| --- | --- |

### v4.33.2

October 8, 2020

| Fixed | To improve security of messages, added support for random initialization vector to encrypt and decrypt messages. |
| --- | --- |

### v4.33.1

September 24, 2020

| Fixed | PubNubException now overrides Throwable's getMessage so the status.errorData.throwablemessage can be properly set. |
| --- | --- |

### v4.33.0

September 14, 2020

| Added | Objects (v2) API exposed to enable metadata management., Enable Objects (v2) related permissions management via Grant method. |
| --- | --- |

### v4.32.1

August 24, 2020

| Fixed | Fix for subscription loop to prevent unexpected disconnections caused by unhandled HTTP statuses. |
| --- | --- |

### v4.32.0

August 14, 2020

| Added | Allows to upload files to channels, download them with optional encryption support. |
| --- | --- |

### v4.31.3

June 17, 2020

| Fixed | Fix typo in suppressLeaveEvents in PNConfiguration. |
| --- | --- |

### v4.31.2

June 12, 2020

| Added | Add "click_action" parameter to PushPayloadHelper in order to pass it to FCM. |
| --- | --- |

### v4.31.1

April 16, 2020

| Fixed | Fix OkHttp reconnection policy |
| --- | --- |

### v4.31.0

February 25, 2020

| Added | Implemented Objects Filtering API |
| --- | --- |
| Modified | Handled more network events to keep the client subscribed, Improved interaction with classes from org.json*, Made PNCallback eligible for SAM/lambda conversion, Deprecated PNPushType.GCM in favor of PNPushType.FCM |

### v4.30.0

January 23, 2020

| Added | Add support for APNS2 Push API, Add a utility class to ease creating push payloads |
| --- | --- |

### v4.29.2

December 2, 2019

| Modified | Disable OkHttp reconnection policy |
| --- | --- |

### v4.29.1

October 22, 2019

| Modified | Made the SDK more Kotlin-friendly, Categorized cancelled requests as such, Removed the 'audit' method |
| --- | --- |

### v4.29.0

October 8, 2019

| Added | Implemented Message Actions API, Added 'includeMeta' to history(), Added 'includeMeta' to fetchMessages(), Added 'includeMessageActions' to fetchMessages() |
| --- | --- |

### v4.28.0

October 1, 2019

| Added | Add PAMv3 support, Implement TMS (Token Manager), Upgrade PAM endpoints to v2, Introduce delete permission for grant |
| --- | --- |

### v4.27.0

August 27, 2019

| Added | Add Objects API support |
| --- | --- |

### v4.26.1

August 13, 2019

| Added | Introduce serialization class for Signals API |
| --- | --- |

### v4.26.0

August 9, 2019

| Added | Add Signals support |
| --- | --- |
| Fixed | Expose OkHttp logging interceptor library |

### v4.25.0

June 6, 2019

| Fixed | Enable app level grants, Custom encode auth key where it's not encoded automatically |
| --- | --- |
| Added | Move state param from heartbeat to subscribe calls |

### v4.24.0

May 21, 2019

| Added | Enforce a minimum presence timeout value, Disable presence heartbeats by default |
| --- | --- |

### v4.23.0

May 8, 2019

| Fixed | Fix reconnection issues by allowing it solely for network issues |
| --- | --- |

### v4.22.0

April 26, 2019

| Added | Introduce Message Count API, Update 3rd party libraries |
| --- | --- |

### v4.22.0-beta

January 31, 2019

| Added | Update 3rd party libraries |
| --- | --- |

### v4.21.0

October 26, 2018

| Added | Support optional query parameters for every request, Update documentation |
| --- | --- |

### v4.20.0

August 7, 2018

| Fixed | Fix an issue where the global-here-now response was interpreted incorrectly |
| --- | --- |

### v4.19.0

March 29, 2018

| Fixed | Fix an issue where end of channel history was interpreted as an error |
| --- | --- |

### v4.18.0

January 11, 2018

| Modified | lock down OkHttp version to support latest android version |
| --- | --- |

### v4.17.0

December 19, 2017

| Modified | allow SDK to only send heartbeats without subscribing to the data channel. |
| --- | --- |

### v4.16.0

November 21, 2017

| Modified | allow setting setMaximumConnections to open more connections to PubNub |
| --- | --- |

### v4.15.0

November 17, 2017

| Modified | update gson dependency |
| --- | --- |
| Fixed | make listeners thread safe, close hanging threads on shutdown |

### v4.14.0

October 25, 2017

| Modified | add support to suppress leave events |
| --- | --- |

### v4.13.0

October 23, 2017

| Modified | do not execute subscribe on empty string channel, channel groups, stop heartbeat loop if an error shows up. |
| --- | --- |

### v4.12.0

October 5, 2017

| Fixed | fix worker thread unloading. |
| --- | --- |
| Added | prevent concurrent modification of listeners. |

### v4.11.0

October 5, 2017

| Fixed | fix retrofit unloading. |
| --- | --- |

### v4.10.0

September 17, 2017

| Added | rework the loading of services to load the classes once. |
| --- | --- |

### v4.9.1

August 14, 2017

| Added | patch-up to the deduping algorithm |
| --- | --- |

### v4.9.0

August 14, 2017

| Added | Internal deduping mechanism when devices cross regions (dedupOnSubscribe). |
| --- | --- |

### v4.8.0

August 8, 2017

| Added | Allow certificate pinning via setCertificatePinner on PNConfiguration, Allow disabling of heartbeat by setting the interval to 0., GAE fixes. |
| --- | --- |

### v4.7.0

July 20, 2017

| Added | Allow injection of httpLoggingInterceptor for extra logging monitoring.. |
| --- | --- |

### v4.6.5

June 28, 2017

| Fixed | adjust queue exceeded notifications to be greater or equal of. |
| --- | --- |

### v4.6.4

June 10, 2017

| Fixed | gracefully handle disabled history |
| --- | --- |

### v4.6.3

June 3, 2017

| Added | on interval events, pass hereNowRefresh to indicate if a here_now fetch is needed. |
| --- | --- |

### v4.6.2

April 13, 2017

| Added | set a name for Subscription Manager Consumer Thead. |
| --- | --- |

### v4.6.1

April 6, 2017

| Fixed | SDK crash in Android with Airplane Mode |
| --- | --- |
| Added | add deltas on interval action. |

### v4.6.0

March 14, 2017

| Added | To distinguish UUID's that were generated by our SDK, we appended pn- before the UUID to signal that it's a randomly generated UUID., Allow the passing of OkHttp connection spec via setConnectionSpec |
| --- | --- |
| Modified | Bump retrofit to 2.2.0 |

### v4.5.0

February 15, 2017

| Added | add .toString methods to all public facing models and POJOs |
| --- | --- |

### v4.4.4

February 6, 2017

| Added | Add support to configure host name verifier. |
| --- | --- |

### v4.4.3

February 2, 2017

| Added | Add support to configure custom certificate pinning via SSLSocketFactory and X509 configuration objects. |
| --- | --- |

### v4.4.2

January 31, 2017

| Fixed | SDK was not sending the user metadata on Message Callback |
| --- | --- |

### v4.4.1

January 25, 2017

| Fixed | SDK did not honor the exhaustion of reconnections, it will now disconnect once max retries happened |
| --- | --- |

### v4.4.0

January 24, 2017

| Modified | Support for maximum reconnection attempts, Populate affectedChannel and affectedChannelGroups, Support for GAE, Emit pnconnected when adding / removing channels. |
| --- | --- |

### v4.3.1

December 22, 2016

| Modified | support for key-level grant. |
| --- | --- |

### v4.3.0

December 14, 2016

| Modified | JSON parser is switched to GSON, new artifact on nexus as pubnub-gson, GetState, setState return a JsonElement instead of a plain object. |
| --- | --- |

### v4.2.3

| Modified | Swapping out logger for SLF4J API and removing final methods |
| --- | --- |

### v4.2.2

December 9, 2016

| Modified | remove final identifiers from the public facing API. |
| --- | --- |

### v4.2.1

November 23, 2016

| Modified | include publisher UUID on incoming message, allow to set custom TTL on a publish |
| --- | --- |

### v4.2.0

October 25, 2016

| Modified | Signatures are generated for all requests with secret key to ensure secure transmission of data, support for alerting of queue exceeded (PNRequestMessageCountExceededCategory), signaling to OkHttp to stop the queues on termination. |
| --- | --- |

### v4.1.0

October 12, 2016

| Modified | destroy now correctly forces the producer thread to shut down; stop is now deprecated for disconnect, support for sending instance id for presence detection (disabled by default), support for sending request id to burst cache (enabled by default), proxy support via the native proxy configurator class. |
| --- | --- |

### v4.0.14

September 20, 2016

| Modified | on PAM error, populate the affectedChannel or affectedChannelGroup to signal which channels are failing |
| --- | --- |

### v4.0.13

September 14, 2016

| Modified | populate jso with the error. |
| --- | --- |

### v4.0.12

September 13, 2016

| Fixed | fixing parsing of origination payload within the psv2 envelope |
| --- | --- |

### v4.0.11

September 9, 2016

| Modified | bumping build process for gradle 3 / merging documentation into the repo and test adjustments |
| --- | --- |

### v4.0.10

September 7, 2016

| Modified | adding channel / channelGroup fields when a message / presence event comes in. |
| --- | --- |

### v4.0.9

August 24, 2016

| Modified | adjustments for handling pn_other and decryption, retrofit version bumps. |
| --- | --- |

### v4.0.8

August 16, 2016

| Added | added unsubscribeAll, getSubscribedChannels, getSubscribedChannelGroups, SDK will establish secure connections by default, added support for exponential backoff reconnection policies |
| --- | --- |

### v4.0.7

August 11, 2016

| Modified | reduce overlap on error handling when returning exceptions. |
| --- | --- |

### v4.0.6

July 18, 2016

| Modified | send heartbeat presence value when subscribing |
| --- | --- |

### v4.0.5

July 7, 2016

| Modified | unified retrofit handling to lower amount of instances and sync'd the state methods. |
| --- | --- |

### v4.0.4

June 24, 2016

| Fixed | setting State for other UUID's is now supported. |
| --- | --- |

### v4.0.3

June 15, 2016

| Added | fire() method and no-replication options. |
| --- | --- |

### v4.0.2

June 15, 2016

| Fixed | fix to the version fetching. |
| --- | --- |

### v4.0.1

June 6, 2016

| Fixed | adjustment of the subscribe loop to alleviate duplicate dispatches. |
| --- | --- |

### v4.0.0

June 3, 2016

| Fixed | first GA. |
| --- | --- |

### v4.0.0-beta4

June 3, 2016

| Modified | reconnects and minor adjustments. |
| --- | --- |

### v4.0.0-beta3

June 3, 2016

| Fixed | fixing state not coming on the subscriber callback., adjustments to URL encoding on publish, subscribe, set-state operations to avoid double encoding with retrofit. |
| --- | --- |

### v4.0.0-beta2

June 3, 2016

| Modified | reworking of message queue., checkstyle, findbugs., reworking error notifications. |
| --- | --- |

### v4.0.0-beta1

June 3, 2016

| Modified | initial beta1. |
| --- | --- |