Skip to content

Latest commit

 

History

History
1299 lines (717 loc) · 38.8 KB

CHANGELOG.md

File metadata and controls

1299 lines (717 loc) · 38.8 KB

v8.4.0

December 17 2024

Added

  • Add type field for members and membership objects and subscribe response.

Fixed

  • Fixed type which limited number of options which can be included into response / used in sorting for members / membership setting API.
  • Fix missing hereNowRefresh flag from the presence object received from subscribe.
  • Fix issue because of which logVerbosity set to true still didn't print logs for Node.js.

Modified

  • Change format and add proper request body output.

v8.3.2

December 12 2024

Fixed

  • Fix issue with Subscription and SubscriptionSet when one can unsubscribe channel / group which is still in use by another.
  • Fix particular TypeError emitted when browser forcefully closes long-poll connection before its timeout and reported as bad request. This type of error will be reported as a network error.
  • Fix issue because of which node-fetch used default agent, which after Node.js 19+ has keepAlive enabled by default.

v8.3.1

November 18 2024

Fixed

  • Fix issue because of which presence events not delivered to the Subscription and SubscriptionSet objects (only global listeners).

v8.3.0

November 14 2024

Added

  • Add custom message type support for the following APIs: publish, signal, share file, subscribe and history.

v8.2.10

October 31 2024

Fixed

  • Fix Actions type definition.

Modified

  • Remove indexed signature for publish.
  • Add serializable objects to Payload type.
  • Aggregate generated types definitions.
  • Fix definition of type which represents message actions received from history and list of users which added action of specific type and value to the message. Fixed the following issues reported by @yo1dog: #407.
  • Remove redundant indexed signature from publish message parameters type definition. Fixed the following issues reported by @yo1dog: #413.
  • Extend Payload type definition with objects which can be serialized by JSON.stringify using toJSON() methods. Fixed the following issues reported by @yo1dog: #412.
  • Aggregate multiple types definitions into single type definition type with proper type names and namespaces. Fixed the following issues reported by @Tallyb and @yo1dog: #405 and #409 and #410.
  • Add the Subscribe Event Engine and Event Listener types to the bundled types definition file. Fixed the following issues reported by @roman-rr: #377.

v8.2.9

October 25 2024

Fixed

  • Revert fix created to handle browser timeouts (not gracefully). The Web Fetch API doesn't have descriptive error information, and it sends TypeError for both cases when connection closed by browser or network issue (blocked domain).

v8.2.8

September 30 2024

Fixed

  • Fix issue because of which leave request modified wrong URL path component with actual channels.
  • Fix issue because of which removed channels / groups didn't cancel previous subscribe request to re-subscribe with new set of channels / groups.
  • Fix issue because of which suitable active PubNub clients subscription not has been used for aggregation and caused additional connections or wrong set of channels / groups.

Modified

  • Pre-process entries from subscribe response to filter out updates which has been received for channels and groups which are not part of subscription loop (subscription aggregation in shared worker).
  • Point to the built-in types definition file when package used with npm / yarn.

v8.2.7

August 01 2024

Fixed

  • Fix issue because of which timeout enforced by browser triggered wrong error status category. Fixed the following issues reported by @WalrusSoup: #396.

v8.2.6

July 23 2024

Fixed

  • Resolves the issue of manually included presence channels not being unsubscribed from the subscription set. Fixed the following issues reported by @roman-rr: #390.

v8.2.5

July 18 2024

Modified

  • Fix PubNub client configuration and listener documentation.

v8.2.4

June 17 2024

Fixed

  • Subscription/SubscriptionSet's subscribe() method accepts timetoken parameter. Instead as in subscriptionOption.

v8.2.3

June 06 2024

Fixed

  • Fix issue because of which single string sort option wasn't serialized properly.

v8.2.2

June 05 2024

Fixed

  • Fix issue because of which heartbeatInterval wasn't computed if presenceTimeout provided during PubNub client configuration.

v8.2.1

May 22 2024

Fixed

  • Fix revoke token method signature where mistakenly expected object with token field.

v8.2.0

May 21 2024

Added

  • Add environment flags processing to opt-out feature modules from built bundles.

Fixed

  • Add application/json content type for Grant Token, Add Message Action and Generate File Upload URL endpoints. Fixed the following issues reported by @SpaseESG: #373.

v8.1.0

May 16 2024

Added

  • Use SharedWorker instead of Service Worker for better PubNub client instances feedback.
  • Add configuration option to enable debug log output from the subscription SharedWorker.

Modified

  • Create types declaration files.

v8.0.1

April 23 2024

Modified

  • Provider configuration option to set service worker from the URL (because of browser restrictions for worker files to be registered from the same domain).

v8.0.0

April 22 2024

Added

  • Upgraded the network layer, replacing the superagent module with the Fetch API for browser integrations and node-fetch for npm integrations, ensuring enhanced performance and reliability.
  • Added service worker .
  • Enhanced the subscribe feature with service worker support, improving user experience across multiple browser windows and tabs. The client interface rewritten with TypeScript, which gives an up-to-date interface.

v7.6.3

April 18 2024

Fixed

  • Fixes issue of add or remove listener of subscription to/from subscriptionSet.

v7.6.2

March 28 2024

Added

  • Added support for pagination params for listChannels api of push notification devices.

v7.6.1

February 26 2024

Fixed

  • Fixes issue of App context event handling for channel and membership.

v7.6.0

February 21 2024

Added

  • Adding channel, channelGroup, channelMetadata and userMetadata entities to be first-class citizens to access APIs related to them. Currently, access is provided only for subscription API.

v7.5.0

January 16 2024

Added

  • Added enableEventEngine, maintainPresenceState flags and retryConfiguration for retry policy configuration.

Fixed

  • Fixes issue of allowing duplicate listener registration.
  • Fixes file name conflict in lib directory. Fixed the following issues reported by @priyanshu102002: #355.

v7.4.5

November 28 2023

Fixed

  • Handle unencrypted messages in subscribe with cryptoModule configured.
  • Fixe for missing parameters to request or filter optional fields for App Context memberships api.

v7.4.4

November 14 2023

Fixed

  • Fixes issue of getChannelMembers call not returning status field.

v7.4.3

November 08 2023

Fixed

  • Fixes issue of not able to encrypt Blob file content in web.

v7.4.2

October 30 2023

Modified

  • Changed license type from MIT to PubNub Software Development Kit License.

v7.4.1

October 17 2023

Fixed

  • Fixes issue of pubnub.decrypt() returning wrong data format.

v7.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.

v7.3.3

September 11 2023

Fixed

  • Fixes issue of getting misleading error message when sendFile fails.

v7.3.2

August 31 2023

Fixed

  • Fixes issue of having deprecated superagent version. Fixed the following issues reported by @wimZ: #317.

v7.3.1

August 21 2023

Fixed

  • Fixes issue of missing get and set methods for userId field of PubNub configuration.

v7.3.0

July 26 2023

Fixed

  • Fixes issue of severe vulnerability warnings for vm2 usage.

v7.2.3

June 19 2023

Added

  • Added optional param withHeartbeat to set state through heartbeat endpoint.

v7.2.2

December 12 2022

Fixed

  • Fixes a case in React Native with using an error interface in superagent.
  • Fixes issue of getFileUrl not setting auth value as token string when token is set. Fixed the following issues reported by @abdalla-nayer: #302.

v7.2.1

November 10 2022

Fixed

  • Removes remains of Buffer from the crypto module.

v7.2.0

July 01 2022

Added

  • Allows to specify users and spaces in grantToken method.
  • Allows to use userId instead of uuid in configuration.

v7.1.2

June 22 2022

Fixed

  • Fixes parseToken issues on Web and React Native.

v7.1.1

June 14 2022

Added

  • Added user and space memberships related methods.
  • Added type and status fields in User and Space. status field in memberships.

v7.0.1

May 24 2022

v7.0.0

May 24 2022

Modified

  • BREAKING CHANGES: Removed objects v1 methods support.

v6.0.0

April 21 2022

Added

  • Added a TypeScript build chain and moved from webpack to rollup.
  • Added an initial implementation of Event Engine.

v5.0.1

March 02 2022

Fixed

  • Unsubscribe fix unsubscribe from channel group presence.

v5.0.0

January 12 2022

Modified

  • BREAKING CHANGES: uuid is required parameter in PubNub constructor.

v4.37.0

December 16 2021

Added

  • Add revoke token feature.

v4.36.0

December 09 2021

Fixed

  • Remove isomorphic-webcrypto polyfill for web Add buffer polyfill to react native. Fixed the following issues reported by @JakeOrel: #233.

v4.35.0

December 02 2021

Added

  • Allows to specify multiple origins in the config, which enables domain sharding for custom origins.

v4.34.2

December 01 2021

Fixed

  • Fix listener callback is invoked multiple times. Fixed the following issues reported by @puopg: #230.

v4.34.1

November 19 2021

Fixed

  • Update .npmignore and excluded resources from from NPM package. Fixed the following issues reported by @ElridgeDMello: #228.

v4.34.0

November 19 2021

Added

  • Upgrade superagent.

October-18-2021

Full Changelog

  • 🐛 Fixes issue of performing file publish message retry according to fileUploadPublishRetryLimit setting of PubNub instance.

August-31-2021

Full Changelog

  • 🌟️ Added support for Objects v2 in PAM v3 api.
  • 🐛 Fixes issue related to file decryption when cipherkey is provided in method.

May-26-2021

Full Changelog

  • 🐛 Fixes issue of signature does not match error with getAllUUIDMetadata call.
  • 🐛 Error handling with global hereNow call to provide detailed error message when feature not enabled.

April-28-2021

Full Changelog

  • 🌟️ Add grantToken support for channel and group resources.

April-22-2021

Full Changelog

  • ⭐️️ BREAKING CHANGE - Set true for useRandomIVs by default.
  • 🐛 Fix channel and uuid which is used with: files API, Objects and presence.

March-30-2021

Full Changelog

  • 🐛 Revert v4.300.

January-11-2021

Full Changelog

  • ⭐️️ Set default increased limit for message count of History v3 api single call.

November-30-2020

Full Changelog

  • 🐛 Fixes issue of missing more field in fetch messages response.

October-05-2020

Full Changelog

  • 🌟️ Adds timetoken of file publish in the sendFile response.
  • 🐛 Fixes getFileUrl so that it includes auth and signature query params.
  • 🐛 Fixes downloadFile method to generate correct signature.

September-21-2020

Full Changelog

  • 🐛 Fixes compatibility with @sentry/react-native library.

September-14-2020

Full Changelog

  • 🌟️ Added support for managing permissions of objects v2 while applying PAM v2.
  • 🐛 Fix uncaught promise exception in subscription manager caused by error in user code inside of subscription handlers. Error will be handled and returned to status handler with PNUnknownCategory category where errorData can be examined.

September-08-2020

Full Changelog

  • 🌟️ Add file download to Blob in React Native.

September-01-2020

Full Changelog

  • 🌟️ Add support for file upload via file URI in React Native.
  • 🐛 Fix file download to ArrayBuffer in React Native.

August-14-2020

Full Changelog

  • 🐛 Fixes an artifact where ract-native entrypoint didnt use ssl.

August-14-2020

Full Changelog

  • 🐛 Fixes an issue with react-native entrypoint where interfaces to File and Crypto are not included in the build.
  • 🐛 Fixes the ability to sendByPost in publish.
  • 🐛 Fixes an issue where getFileUrl returned and URI without a protocol.
  • 🐛 Fixes an issue where storeInHistory false would not include the param.
  • 🐛 Removes mime types dependency since that will be handled by the server.
  • 🐛 Adds userMetadata to file event listener.

August-05-2020

Full Changelog

  • 🐛 Move @babel/runtime to runtime dependency.

August-04-2020

Full Changelog

  • 🐛 Release 4.291.

August-04-2020

Full Changelog

  • 🌟️ Allows to upload files to channels, download them with optional encryption support.
  • 🌟️ Allows to enable random IVs when encrypting messages.
  • 🐛 Fixes a bug with PAM and Objects v2.

July-15-2020

Full Changelog

  • 🐛 Fixes issue of high cpu usage when heartbeat interval is not set.

July-15-2020

Full Changelog

  • 🐛 _ getAllChannelMetadata no longer includes customFields by default, _ removeChannelMetadata no longer hits wrong endpoint, _ getMemberships and getChannelMembers now includes customFields by default, _ getAllUUIDMetadata now includes totalCount by default, _ getAllUUIDMetadata no longer includes limit by default, _ all membership and channel members methods now accept a callback, _ all objects v2 methods are properly typed now to include an optional callback, _ getMemberships and getChannelMembers now include totalCount, prev, and next in the response.

June-29-2020

Full Changelog

  • 🐛 Fixes a bug in removeChannelMembers and removeMemberships.

June-19-2020

Full Changelog

  • 🐛 Ensure proper bytes padding in ArrayBuffer prepared for cbor-js library.

June-03-2020

Full Changelog

  • 🌟️ Added Objects v2 API and deprecated Objects v1 API.

April-24-2020

Full Changelog

  • 🌟️ Added support for delete permission in the grant method of accesses manager.
  • ⭐️️ Added missing feature entries. Removed incorrect feature entries.

April-21-2020

Full Changelog

  • 🐛 Update READMEmd CDN links during deployment.
  • 🐛 Fix pre-compiled scripts update.

March-18-2020

Full Changelog

  • 🌟️ Add telemetry (latency) for all existing operation types.
  • 🐛 Replace cbor-sync module with cbor-js for client implementation for web to fix compatibility with Salesforce Lightning Web Components.

January-06-2020

Full Changelog

  • ⭐ Support for APNS2 Push API
  • ⭐ Restore functionality to set heartbeat interval when presence timeout is set below the default

December-05-2019

Full Changelog

  • ⭐ disable presence heartbeats by default

November-20-2019

Full Changelog

  • ⭐ Make changes in fetch_messages endpoint to move message actions (if any) for message from 'data' to 'actions' property (old 'data' will be in place for few updates to not break existing clients).
  • ⭐ fix PAMv3 tests mocked signature
  • ⭐ fix lint warnings for tests and code
  • ⭐ fix gulp build so that failures in test and lint will trigger failure in travis

October-08-2019

Full Changelog

  • ⭐ Add Message Actions API support which allow to: add, remove and fetch previously added action
  • ⭐ Add new arguments to fetch messages function which allow to fetch previously added actions and message metadata
  • ⭐ Add new handler which can be used to track message actions addition / removal events

September-27-2019

Full Changelog

  • ⭐ Ensures history response is an array before iterating it

September-20-2019

Full Changelog

  • ⭐ Add support for auth tokens with Objects for Users, Spaces and Memberships

September-03-2019

Full Changelog

  • ⭐ Fix issue with subdomains ending in 'ps'

August-23-2019

Full Changelog

  • ⭐ Fix regression: Fix titanium build to support recent version

August-16-2019

Full Changelog

  • ⭐ Fix regression: Add Objects support for Users, Spaces and Memberships

August-09-2019

Full Changelog

  • ⭐ Fix regression: 'PubNub is not a constructor' in Node.js

August-07-2019

Full Changelog

  • ⭐ Add Signals support

July-26-2019

Full Changelog

  • ⭐ Add minimum presence timeout

June-19-2019

Full Changelog

  • ⭐ Added support to enable heartbeat requests while subscribe when heartbeat interval is provided

June-13-2019

Full Changelog

  • ⭐ Added try catch block to handle exception for JSON.parse function
  • ⭐ Changed default origin to ps.pndsn.com

June-06-2019

Full Changelog

  • ⭐ Maintains the state when presence heartbeat is explicitly disabled

May-09-2019

Full Changelog

  • ⭐ Disables the presence heartbeat by default when a subscribe is called. Presence heartbeat can still be enabled explicitly.

March-14-2019

Full Changelog

  • ⭐ The timetoken parameter is deprecated in the message-counts function. Use channelTimetokens instead, pass one value in channelTimetokens to achieve the same results

March-04-2019

Full Changelog

  • ⭐message counts

  • ⭐use null instead of '' for NativeScript networking module

December-20-2018

Full Changelog

  • ⭐update dependencies

  • ⭐fix flow process on nativescript

October-04-2018

Full Changelog

  • 🐛fix POST for nativescript adapter over android

August-06-2018

Full Changelog

  • ⭐update dependencies

August-04-2018

Full Changelog

  • ⭐return error parameter into errorData when logVerbosity = true

July-10-2018

Full Changelog

  • ⭐update dependencies

June-12-2018

Full Changelog

  • ⭐add stringifiedTimeToken into the fetch endpoint

June-08-2018

Full Changelog

  • 🐛avoid security vulnerability in growl < 1.10.0

June-06-2018

Full Changelog

  • ⭐subscribe without using the heartbeat loop with flag withHeartbeats = false

Abril-24-2018

Full Changelog

  • 🐛fix timetoken announces

  • ⭐categorize ETIMEDOUT errors as PNNetworkIssuesCategory

February-28-2018

Full Changelog

  • 🐛fix signature to delete message

January-29-2018

Full Changelog

  • ⭐allow set ssl to false for nodejs

January-04-2018

Full Changelog

  • ⭐add support for heartbeat sending without subscription via .presence()

  • ⭐add method setProxy for Nodejs

  • ⭐set ssl to true for nodejs by default

December-05-2017

Full Changelog

  • ⭐add support for Native Script

  • ⭐add missing flow types

  • ⭐upgrade superagent to ^3.8.1

November-20-2017

Full Changelog

  • ⭐keepAlive is now initialized globally instead of per-call, allowing better connection reuse

  • ⭐added sdkName configuration parameter which allow completely override pnsdk in request query

October-19-2017

Full Changelog

  • ⭐allow disabling of heartbeats by passing 0 during initialization.

October-19-2017

Full Changelog

  • 🐛fix UUID library to work in browsers.

October-12-2017

Full Changelog

  • 🐛fix incorrect packaging of lil-uuid and uuid

October-10-2017

Full Changelog

  • 🌟support delete messages from history

  • ⭐swap uuid generator with support for IE9 and IE10

August-21-2017

Full Changelog

  • ⭐fix typo to enable http keep alive support

August-21-2017

Full Changelog

  • ⭐Support optional message deduping via the dedupeOnSubscribe config

  • ⭐Do not issue leave events if the channel mix is empty.

August-14-2017

Full Changelog

  • ⭐Allow disable of heartbeats by passing heartbeatInterval = 0

July-27-2017

Full Changelog

  • ⭐patch up 503 reporting

  • ⭐fix issue with where now and invalid server response

  • ⭐fix issue with here now and invalid server response

June-19-2017

Full Changelog

  • ⭐fix issue of net with android for titanium

  • 🌟add additional hooks for connectivity

  • 🌟add auto network detection

May-23-2017

Full Changelog

  • ⭐fix issue of net with android for react-native

Full Changelog

  • 🌟metadata is now passed on message envelope

May-18-2017

Full Changelog

  • 🌟add support custom encryption and decryption

Full Changelog

  • 🌟integrate fetch for react-native SDK

  • ⭐announce when subscription get reactivated

  • ⭐stop heartbeats for responses with status PNBadRequestCategory

April-06-2017

Full Changelog

  • 🌟allow manual control over network state via listenToBrowserNetworkEvents

March-30-2017

Full Changelog

  • 🌟add support for titanium SDK

  • ⭐fix support for react-native SDK

  • ⭐add validation for web distribution

March-27-2017

Full Changelog

  • 🌟add support for presence deltas.

  • 🌟keep track of new and upcoming timetokens on status messages

March-08-2017

Full Changelog

  • 🌟add optional support for keepAlive by passing the keepAlive config into the init logic

February-14-2017

Full Changelog

  • ⭐add guard to check for channel or channel group on state setting

  • ⭐add guard to check for publish, secret keys when performing a grant

February-07-2017

Full Changelog

  • ⭐downgrade superagent to v2; add new entry point for react native.

January-31-2017

Full Changelog

  • ⭐adjust compilation for webpack based compilations

January-31-2017

Full Changelog

  • ⭐proxy support for node

January-23-2017

Full Changelog

  • ⭐upgrade dependencies; fix up linting.

  • ⭐handle network outage cases for correct reporting.

December-16-2016

Full Changelog

  • ⭐bump version after v3 release.

November-28-2016

Full Changelog

  • ⭐removes bundling of package.json into the dist file

November-22-2016

Full Changelog

  • ⭐SDK now supports the restore config to allow message catch-up

November-18-2016

Full Changelog

  • ⭐bulk history exposed via pubnub.fetchMessages

  • ⭐publish supports custom ttl interval

  • ⭐v2 for audit and grant; no consumer facing changes.

  • ⭐fixes for param validation on usage of promises

November-04-2016

Full Changelog

  • ⭐SDK reports on the id of the publisher in the message

November-01-2016

Full Changelog

  • ⭐Detection of support of promises improved.

November-01-2016

Full Changelog

  • ⭐Fixes on encoding of apostraphes.

October-31-2016

Full Changelog

  • ⭐Add promise support on setState operation (@jskrzypek)

  • ⭐Add hooks to stop polling time when the number of subscriptions drops to 0 (@jasonpoe)

October-30-2016

Full Changelog

  • ⭐Encode signatures to avoid sending restricted characters

October-26-2016

Full Changelog

  • ⭐Add optional support for promises on all endpoints.

  • ⭐History always returns timetokens in the payloads.

  • ⭐Optionally, if queue size is set, send status on queue size threshold

October-17-2016

Full Changelog

  • ⭐Fix state setting for channels with reserved tags.

October-13-2016

Full Changelog

  • ⭐Reset timetoken when all unsubscribes happen

  • ⭐Sign requests when a a secret key is passed

October-05-2016

Full Changelog

  • ⭐Propogate status events to the status callback on subscribe operations.

October-03-2016

Full Changelog

  • ⭐affectedChannels and affectedChannelGroups are now populated on subscribe / unsubscribe events

September-27-2016

Full Changelog

  • ⭐Dependency upgrades

September-14-2016

Full Changelog

  • ⭐Expose decryption and encryption as a global

September-09-2016

Full Changelog

  • ⭐Channel / subscription items are populated in

  • ⭐Constants for operation and category are exposed on global object

August-25-2016

Full Changelog

  • ⭐Re-publish of v4.0.7

August-25-2016

Full Changelog

  • ⭐Dependency upgrades

  • ⭐Try..catch wrapped around localStorage for iframe compliance

August-18-2016

Full Changelog

  • ⭐Adjustment of reconnection policies for web distributions.

  • ⭐PNSDK support for partner identification

August-10-2016

Full Changelog

  • ⭐Stop exposing .babelrc which causes unpredictable behavior on react native.

August-09-2016

Full Changelog

  • ⭐Adjust handling of presence payloads for state settings.

  • 🌟Exposing generateUUID method to create uuids.

  • ⭐Triggering disconnect, reconnect events on Web distributions.

  • ⭐React Native adjustments to package.json information.

August-07-2016

Full Changelog

  • ⭐Global Here Now parsing adjustments.

August-03-2016

Full Changelog

  • ⭐Adjustments to internet disconnects on node.

August-01-2016

Full Changelog

  • 🐛Fixes to avoid double encoding on JSON payloads.
  • 🌟New iteration of JS / Node SDK family