November 24, 2020
- Support for fileMessagePublishRetryLimit.
- Enable SDK users either to ignore PNAccessDeniedCategoryError occurred inside Subscription Loop or to react to in inside status callback.
- Report proper error message when upload file too large.
- Add missing auth and signature in generated URLs.
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 8, 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
status.errorData.throwablemessagecan 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 2, 2019
- Disable OkHttp reconnection policy
October 22, 2019
- Made the SDK more Kotlin-friendly
- Categorized cancelled requests as such
- Removed the 'audit' method
October 8, 2019
- Implemented Message Actions API
- Added 'includeMeta' to history()
- Added 'includeMeta' to fetchMessages()
- Added 'includeMessageActions' to fetchMessages()
October 1, 2019
- Add PAMv3 support
- Implement TMS (Token Manager)
- Upgrade PAM endpoints to v2
- Introduce delete permission for grant
August 27, 2019
- Add Objects API support
August 13, 2019
- Introduce serialization class for Signals API
August 9, 2019
- Add Signals support
June 6, 2019
- Move state param from heartbeat to subscribe calls
May 21, 2019
- Enforce a minimum presence timeout value
- Disable presence heartbeats by default
May 8, 2019
- Fix reconnection issues by allowing it solely for network issues
April 26, 2019
- Introduce Message Count API
- Update 3rd party libraries
January 31, 2019
- Update 3rd party libraries
October 26, 2018
- Support optional query parameters for every request
- Update documentation
August 7, 2018
- Fix an issue where the global-here-now response was interpreted incorrectly
March 29, 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 suppress leave events
October 23, 2017
- do not execute subscribe on empty string channel, channel groups
- stop heartbeat loop if an error shows up.
October 5, 2017
- prevent concurrent modification of listeners.
- fix worker thread unloading.
October 5, 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 8, 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 3, 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 6, 2017
- add deltas on interval action.
- SDK crash in Android with Airplane Mode
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 6, 2017
- Add support to configure host name verifier.
February 2, 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 SLF4J API and removing final methods
December 9, 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
- 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.
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 envelope
September 9, 2016
- bumping build process for gradle 3 / merging documentation into the repo and test adjustments
September 7, 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 7, 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-replication options.
June 15, 2016
- fix to the version fetching.
June 6, 2016
- adjustment of the subscribe loop to alleviate duplicate dispatches.
June 3, 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.