December 18 2023
- 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.
November 30 2023
- Bring back compatibility with Android 6+ by removing the Jackson library dependency.
November 28 2023
- Add
error
field toPNFileEventResult
and set it in case of decryption failure.
November 23 2023
- Handle unencrypted message in subscribe and history when crypto configured (error flag is set on message result).
October 30 2023
- Updated the JSON lib to version 20231013.
- Changed license type from MIT to PubNub Software Development Kit License.
October 16 2023
- Add crypto module that allows configure SDK to encrypt and decrypt messages.
- Improved security of crypto implementation by adding enhanced AES-CBC cryptor.
June 19 2023
- Added possibility to set state using heartbeat endpoint. .
May 18 2023
- In case of error retry heartbeat call limited number of times.
March 06 2023
- Upgraded json lib.
March 06 2023
- Upgraded jackson-databind lib to remove security vulnerabilities.
February 23 2023
- Remove deprecation for Grant Token methods.
December 15 2022
- In case of an error response it checks if there's a body before reading from it.
November 07 2022
- 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.
- Upgrade OkHttp lib to 4.9.3.
September 20 2022
- PNFileEventResult has messageJson field with the same JsonElement type as in other events.
July 21 2022
- Add support for spaces and users permissions in grantToken.
- Add userId to PNConfiguration and deprecate uuid .
May 19 2022
- Upgraded gson to 2.9.0 to make SDK working under Java 17.
May 09 2022
- Do heartbeat and leave calls sequentially to prevent race condition between these two calls and 'phantom' join after leave.
January 12 2022
- BREAKING CHANGES: uuid is required parameter in PNConfiguration constructor.
December 16 2021
- Add revoke token feature.
December 09 2021
- Emit PNReconnectedCategory in case of successful manual reconnection.
November 17 2021
- Eviction of OkHttp connection pool after reestablishing connection (affects transactional calls).
November 04 2021
- Reconnect always restarts the subscription connection.
October-06-2021
- 🌟️ Acceptance tests plugged into CI pipeline.
- 🐛 Meta field exposed correctly in PNToken class.
September-08-2021
- 🌟️ Extend grantToken method to enable control of Objects API permission. Enhance granularity of permission control to enable permissions per UUID.
July-13-2021
- 🐛 Update Jackson libraries to avoid known vulnerabilities.
May-20-2021
- 🌟️ Method grantToken has beed added. It allows generation of signed token with permissions for channels and channel groups.
- 🐛 UUID is now exposed as PNMembership field which make is accessible from PNMembershipResult argument of SubscribeCallback.membership() method.
May-12-2021
- 🌟️ Now random initialisation vector used when encryption enabled is now default behaviour.
- 🐛 There were some non daemon threads running in background preventing VM from exiting. Now they are daemon threads.
April-08-2021
- 🌟️ 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.
October-21-2020
- 🐛 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.
October-08-2020
- 🐛 To improve security of messages, added support for random initialization vector to encrypt and decrypt messages.
September-24-2020
- 🐛 PubNubException now overrides Throwable's
getMessage
so thestatus.errorData.throwablemessage
can be properly set.
September-14-2020
- 🌟️ Objects (v2) API exposed to enable metadata management.
- 🌟️ Enable Objects (v2) related permissions management via Grant method.
August-24-2020
- 🐛 Fix for subscription loop to prevent unexpected disconnections caused by unhandled HTTP statuses.
August-14-2020
- 🌟️ Allows to upload files to channels, download them with optional encryption support.
June-17-2020
- 🐛 Fix typo in suppressLeaveEvents in PNConfiguration.
June-12-2020
- 🌟 Add "click_action" parameter to PushPayloadHelper in order to pass it to FCM.
April-16-2020
- 🐛 Fix OkHttp reconnection policy.
February-25-2020
- 🌟️ Implemented Objects Filtering API
- ⭐ 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.
January-23-2020
- 🌟️ Add support for APNS2 Push API.
- 🌟️ Add a utility class to ease creating push payloads.
December-02-2019
- ⭐ Disable Okhttp retry on failure
October-23-2019
- ⭐Made the SDK more Kotlin-friendly
- ⭐Categorized canceled requests as such
- ⭐Removed the ‘audit’ method
October-09-2019
- ⭐Implemented the Message Actions API
- ⭐Added includeMeta() to history()
- ⭐Added includeMeta() to fetchMessages()
- ⭐Added includeMessageActions() to fetchMessages()
October-02-2019
- ⭐Added PAMv3 support
- ⭐Added Token manager (TMS)
- ⭐Upgraded grant() and audit() to /v2/ endpoints
- ⭐Implemented the delete permission for grant() requests
- ⭐Implemented the v2 signature to be used for signing most requests
August-27-2019
- ⭐Added Objects API support
August-14-2019
- ⭐Introduced serialization class for Signals API
August-10-2019
- ⭐Implemented Signals API
- ⭐Exposed OkHttp logging interceptor library
June-10-2019
- ⭐Enabled app level grants
- ⭐Implemented custom encoding of the auth key for APIs where it wasn’t encoded automatically
- ⭐Attached state data to Subscribe API and removed it from heartbeats
May-22-2019
- ⭐Enforced a minimum presence timeout value
- ⭐Disabled presence heartbeats by default
- ⭐Exposed Gson dependency
May-08-2019
- ⭐Fixed reconnection logic by allowing it solely for network issues
April-26-2019
- ⭐Implemented Message Counts API
- ⭐Performed a major update of 3rd party libraries (e.g. Retrofit, OkHttp, Gson)
- ⭐Refactored and updated unit tests
- ⭐Replaced compile with implementation for 3rd party libraries.
October-30-2018
- ⭐Implemented a feature where you can add optional query params to every request
- ⭐Updated developer setup documentation
- ⭐Improved code checkstyle rules
September-04-2018
- ⭐Fix a bug where the global-here-now response was incorrectly interpreted
April-04-2018
- ⭐Fix an issue where end of channel history was interpreted as an error
January-11-2018
- ⭐lock down okHTTP version to support latest android version
December-19-2017
- ⭐allow SDK to only send heartbeats without subscribing to the data channel.
November-21-2017
- ⭐allow setting setMaximumConnections to open more connections to PubNub
November-17-2017
-
⭐update gson dependency
-
🐛make listeners thread safe
-
🐛close hanging threads on shutdown
October-25-2017
- ⭐add support to supress leave events
October-23-2017
-
⭐do not execute subscribe on empty string channel, channel groups
-
⭐stop heartbeat loop if an error shows up.
October-05-2017
- 🐛fix worker thread unloading.
- 🌟prevent concurrent modification of listeners.
October-05-2017
- 🐛fix retrofit unloading.
September-17-2017
- 🌟rework the loading of services to load the classes once.
August-14-2017
- 🌟patch-up to the deduping algorithm
August-14-2017
- 🌟Internal deduping mechanism when devices cross regions (dedupOnSubscribe).
August-08-2017
-
🌟Allow certificate pinning via setCertificatePinner on PNConfiguration
-
🌟Allow disabling of heartbeat by setting the interval to 0.
-
🌟GAE fixes.
July-20-2017
- 🌟Allow injection of httpLoggingInterceptor for extra logging monitoring..
June-28-2017
- 🐛adjust queue exceeded notifications to be greater or equal of.
June-10-2017
- 🐛gracefully handle disabled history
June-03-2017
- 🌟on interval events, pass hereNowRefresh to indicate if a here_now fetch is needed.
April-13-2017
- 🌟set a name for Subscription Manager Consumer Thead.
April-06-2017
- 🐛SDK crash in Android with Airplane Mode
- 🌟add deltas on interval action.
March-14-2017
-
🌟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
-
⭐Bump retrofit to 2.2.0
February-15-2017
- 🌟add .toString methods to all public facing models and POJOs
February-06-2017
- 🌟Add support to configure host name verifier.
February-02-2017
- 🌟Add support to configure custom certificate pinning via SSLSocketFactory and X509 configuration objects.
January-31-2017
- 🐛SDK was not sending the user metadata on Message Callback
January-25-2017
- 🐛SDK did not honor the exhaustion of reconnections, it will now disconnect once max retries happened
January-24-2017
-
⭐Support for maximum reconnection attempts
-
⭐Populate affectedChannel and affectedChannelGroups
-
⭐Support for GAE
-
⭐Emit pnconnected when adding / removing channels.
December-22-2016
- ⭐support for key-level grant.
December-14-2016
-
⭐JSON parser is switched to GSON, new artifact on nexus as pubnub-gson
-
⭐GetState, setState return a JsonElement instead of a plain object.
- ⭐Swapping out logger for slf4japi and removing final methods
December-09-2016
- ⭐remove final identifiers from the public facing API.
November-23-2016
-
⭐include publisher UUID on incoming message
-
⭐allow to set custom TTL on a publish
October-25-2016
-
⭐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.
October-12-2016
-
⭐destory 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.
September-20-2016
- ⭐on PAM error, populate the affectedChannel or affectedChannelGroup to signal which channels are failing
September-14-2016
- ⭐populate jso with the error.
September-13-2016
- 🐛fixing parsing of origination payload within the psv2 enevelope
September-09-2016
- ⭐bumping build process for gradle 3 / merging documentation into the repo and test adjustments
September-07-2016
- ⭐adding channel / channelGroup fields when a message / presence event comes in.
August-24-2016
-
⭐adjustments for handling pn_other and decryption
-
⭐retrofit version bumps.
August-16-2016
-
🌟added unsubscribeAll, getSubscribedChannels, getSubscribedChannelGroups
-
🌟SDK will establish secure connections by default
-
🌟added support for exponential backoff reconnection policies
August-11-2016
- ⭐reduce overlap on error handling when returning exceptions.
July-18-2016
- ⭐send heartbeat presence value when subscribing
July-07-2016
- ⭐unified retrofit handling to lower amount of instances and sync'd the state methods.
June-24-2016
- 🐛setting State for other UUID's is now supported.
June-15-2016
- 🌟fire() method and no-replicaton options.
June-15-2016
- 🐛fix to the version fetching.
June-06-2016
- 🐛adjustment of the subscribe loop to alleviate duplicate dispatches.
June-03-2016
- 🐛first GA.
- ⭐reconnects and minor adjustments.
-
🐛fixing state not coming on the subscriber callback.
-
🐛adjustments to URL encoding on publish, subscribe, set-state operations to avoid double encoding with retrofit.
-
⭐reworking of message queue.
-
⭐checkstyle, findbugs.
-
⭐reworking error notifications.
- ⭐initial beta1.