Menu

Expand
Rate this page:

Changelog: Twilio Chat JavaScript SDK

We intend to sunset the Programmable Chat API on July 25, 2022 to focus on the next generation of chat: the Twilio Conversations API. Find out about the EOL process. We have also prepared this Migration Guide to assist in the transition from Chat to Conversations.

Latest Releases: Chat JS SDK v5.0

We recommend using the following references in your projects. As we make patch releases, these links will automatically include those fixes with full backwards compatibility.

  • js — Non-minified Chat SDK bundled for browsers, hosted on Twilio CDN.
  • min — Minified Chat SDK bundled for browsers, hosted on Twilio CDN.
  • Documentation — Hosted on Twilio CDN.
  • npm
    npm install --save twilio-chat​
    

Support for Previous Versions of the Chat SDKs

Twilio Programmable Chat SDKs use Semantic Versioning. Twilio supports version N-1 for 12 months after the first GA release of version N. We recommend that you upgrade to the latest version as soon as possible to avoid any breaking changes. Version 5.x is the latest generation of the Javascript client SDK.

Support for 4.x will be ceased on May 17, 2022. Please upgrade to the latest version.

Support for 3.x will be ceased on July 17, 2021.

Support for 2.x ceased on May 18, 2019.

End-of-Life for 1.x occured on June 30, 2019.

Changelog

Links are provided to specific patch versions here. We don't recommend using these links unless you have a specific need for a certain patch of a release.

Programmable Chat v5.0.0 (May 17, 2021)

Breaking changes:

  • Major internals improvement (the "Sessionless" protocol)
    This improvement is designed primarily for improved reliability. While this is not a breaking code change, it does carry a meaningful impact on timing:
    • SDK commands will return success or failure up to ~10% more quickly than before.
    • Real-time updates of data is now likely to arrive after the command completes.
      For example, Channel.updateAttributes() will resolve successfully while Channel#attributes still contains the old value. To see the new value, we recommend waiting for an #updated event.
  • Passing null to Channel.sendMessage will result with the message body being an empty string.
  • User.updateFriendlyName no longer accepts null as the value.
  • Channel.updateFriendlyName no longer accepts null as the value.

Programmable Chat 4.1.0 (December 16, 2020)

Changes

  • Bugfixes.
  • Dependency bumps.
  • Various documentation improvements.

Programmable Chat 4.0.0 (July 17, 2020)

Changes

  • Message.timestamp renamed to Message.dateCreated.
  • Channel.lastMessage.timestamp also renamed to Channel.lastMessage.dateCreated.
  • Update reason timestamp for Message objects got also renamed to dateCreated.
  • Channel status "known" renamed to "notParticipating".
  • Media.getContentUrl renamed to Media.getContentTemporaryUrl.
  • Various attributes arguments now accept all valid JSON values (numbers, strings, objects, arrays, booleans, nulls).

Programmable Chat 3.4.0 (May 28, 2020)

Changes

  • Added read-only state property to the Channel class which reflects the Conversations state.

Programmable Chat 3.3.7 (April 30, 2020)

Changes

  • Connection errors are now reported with more details about what actually happened.

Programmable Chat 3.3.5 (April 16, 2020)

Bug Fixes

  • Typing timeout indicator now gets correctly set to reflect the setting for the instance on the console
  • Logger name is now set to "twilio-chat"

Programmable Chat 3.3.4 (January 6, 2020)

Bug Fixes

  • Extended media message sending documentation
  • Fixed media messages send from node.js

Programmable Chat 3.3.3 (November 27, 2019)

Bug Fixes

  • Extended documentation.
  • Updated to latest twilio-sync with fixes in objects caching

Programmable Chat 3.3.2 (September 18, 2019)

Bug Fixes

  • Fixed Client.setPushRegistrationId / Client.unsetPushRegistrationId to resolve only after successful operation.
  • Fixed emitting Client#channelRemoved event correctly for private channels.
  • Improved documentation: added Channel#removed event.
  • Removed isomorphic-form-data from dependencies.
  • Fixed issues appearing in restrictive browser environments, enabling SDK operation without session storage.

Programmable Chat 3.3.1 (July 24, 2019)

Bug Fixes

  • Updated twilio-sync.js dependency with security fixes
  • Fixed a bug when removing a Member from Channel

Programmable Chat 3.3.0 (June 27, 2019)

Changes

  • Added Channel.getMemberBySid method to get Member by provided Sid
  • Added Channel.getMemberByIdentity method to get Member by provided Identity
  • Property Channel.createdBy can be null
  • Added Message.member_sid property
  • Property Message.author can be null
  • Added Message.getMember method to get authoring Member of Message by member_sid (if available) and if not found then by author (identity)

Programmable Chat 3.2.4 (June 25, 2019)

Changes

  • Introduced Client#event:connectionError event.
  • Fixed a bug, where recovery after a partial network degradations the websocket did not reconnect.

Programmable Chat 3.2.3 (April 15, 2019)

Changes

  • Consumed new version of Sync JS SDK version 0.10.3
  • Link to the token generation material got updated

Programmable Chat 3.2.2 (April 2, 2019)

Bug Fixes

  • Fixed a bug where sending messages while offline caused duplicate messages at network reconnect

Programmable Chat 3.2.1 (February 21, 2019)

Bug Fixes

  • Improved error handling in operations with User, Member, Channel, Message

Programmable Chat 3.2.0 (December 7, 2018)

Overview

In this release we are introducing Member Attributes and the ability to change them.

Changes

  • Added dateCreated, dateUpdated, type, and attributes properties to Member class
  • Added Member.updateAttributes method to set a Member's Attributes (requires new permissions to be added to the according role: editOwnMemberAttributes or editAnyMemberAttributes)

Bug Fixes

  • Fixed a connectivity bug that caused unhandled promise rejections

Programmable Chat 3.1.0 (October 18, 2018)

Overview

In this release we are introducing a User Notification Level to each Channel. The assigned level determines whether the currently logged-in User will receive pushes for that Channel. The assigned level be any of muted or default, where default defers to global Chat Service push configuration.

Changes

  • Added Channel.setUserNotificationLevel method to set User's Notification level
  • Added notificationLevel property to Channel class

Bug Fixes

  • Fixed a connectivity bug that caused reconnection recovery to fail, including when going into the background on iOS (react native).

Programmable Chat 3.0.2 (July 23, 2018)

Changes

  • Improved startup and synchronization time in some cases

Bug Fixes

  • Resolved potential issue in Channel synchronization on startup
  • Fixed bug preventing building React Native apps in Release configuration

Programmable Chat 3.0.1 (June 25, 2018)

Changes

  • Improve diagnostics, start adding timestamps to log lines

Bug Fixes

  • @types\loglevel package is not required anymore in TypeScript projects using twilio-chat

Programmable Chat 3.0.0 (May 31, 2018)

Overview

In this release we have revised all updated events. Each revised event now receives an object which contains:

  • updated object itself, i.e. channel, member, message, user
  • array of reasons the event is being triggered, i.e. object is updated because of update in attributes, friendlyName, body, etc.

Additionally, the Channel.LastMessage structure is updated to contain only last message's creation timestamp and index (effectively removing author and sid)

Breaking Changes

  • updated events now include reasons for the update. Changed events are:
    • Client#event:channelUpdated
    • Channel#event:updated
    • Client#event:memberUpdated
    • Channel#event:memberUpdated
    • Member#event:updated
    • Client#event:messageUpdated
    • Channel#event:messageUpdated
    • Message#event:updated
    • Client#event:userUpdated
    • User#event:updated
  • Changing channel.sendMessage() promise resolve type to Promise<number>
  • Default logLevel is now set to silent, log lines now includes timestamp
  • Removed sid and author properties from Channel.LastMessage type

Additive Changes

  • Adjust docs for Client.shutdown(), introducing new types for various methods
  • Adding new events on client: tokenAboutToExpire, tokenExpired (essentially removing need for AccessManager use)
  • Added index property to Channel.LastMessage type

2.X

For older changelog entries including 2.x, click Changelog

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.

        
        
        

        Thank you for your feedback!

        We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        Refer us and get $10 in 3 simple steps!

        Step 1

        Get link

        Get a free personal referral link here

        Step 2

        Give $10

        Your user signs up and upgrade using link

        Step 3

        Get $10

        1,250 free SMSes
        OR 1,000 free voice mins
        OR 12,000 chats
        OR more