Changelog for PubNub Java SDK

Unified changelog for Java and Kotlin SDKs

As of v9.0.0, Java and Kotlin SDKs have unified codebases and common releases.

v10.1.0

November 6, 2024
Added
  • Add extension selection and support for single file in migration_tool.
  • Move shared java/kotlin APIs to a shared module.
  • Added timetoken utils methods.
  • Added getToken to Kotlin SDK.
  • Added authToken (PAM v3) to Kotlin SDK PNConfiguration.
Fixed
  • Fix for NullPointerException in pubnub-gson when grant() is called without authKeys.

v10.0.0

September 24, 2024
Added
  • PatchValue is now used in objects returning optional data from the server, such as PNChannelMetadata, PNUUIDMetadata for example.
  • Removed mutable PNConfiguration classes which were deprecated in previous releases.
  • PNConfiguration.retryConfiguration is now enabled by default only for Subscribe requests and set to Exponential.
Fixed
  • A migration script is provided with this release to help with package name changes.
Modified
  • Please consult the migration guide for JVM SDKs version 10.0.0 for required changes to your code.

v9.2.4

August 19, 2024
Fixed
  • Fixes a crash on Android after PubNub.destroy is called and there are requests running.

v9.2.3

July 29, 2024
Fixed
  • Fixed incorrect multiple callbacks (with exception) when sending files.

v9.2.2

July 4, 2024
Fixed
  • SetState via Heartbeat fix.

v9.2.1

July 2, 2024
Added
  • Add missing auth_method to APNS2 configuration.

v9.2.0

June 11, 2024
Added
  • Add new FCMPayloadV2 for required new FCM push message format.
Fixed
  • Disallow DTD in XML parser and enable SecureRandom.

v9.1.1

April 15, 2024
Fixed
  • The parameter names were not saved in compiled class files and were shown as o, s1 etc. in the IDE. This change fixes the SDK to correctly show parameter names.

v9.1.0

April 9, 2024
Added
  • Added methods for publishing messages and signals on the Channel class. Also added new builder factories on PubNub with required parameters provided upfront, e.g. PubNub.publish(message,channel). .
  • Allow overriding certain PubNub configuration options per API call through Endpoint.overrideConfiguration.
Modified
  • Remaining classes from com.pubnub.internal package were hidden from compilation classpath. Users should only use classes in com.pubnub.api package.

v9.0.0

March 28, 2024
Modified
  • From now on, Java and Kotlin SDKs will be versioned and released together, and clients using both SDKs will get new features and bug fixes simultaneously.
  • RemoteAction.async() now provides a single Result parameter to the callback. Please see the documentation for details.
  • PubNub initialization must be done through PubNub.create(). Constructor initialization is disallowed.
  • There is a new immutable PNConfiguration class with builder. The old PNConfiguration class is marked deprecated, but functional for now.
  • Internal classes and interfaces have been moved to the com.pubnub.internal classes or removed from the compile classpath. You should not use them in your app. All user-facing classes are in the com.pubnub.api package.

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.
Last updated on
On this page