Out of Beta with new & improved SDKs!

We are excited to share with you that Chatkit is now out of Beta and in general availability, or GA.

There are some significant changes under the hood, and with how the client SDKs interface with the backend. This is as a result of what we have learned during the beta period about what will and won’t work and what we will and won’t be able to scale. At Pusher, we put an emphasis on scalability and reliability in all our realtime products, and we want Chatkit to live up to that brand. Unfortunately, in order to achieve this GA level of quality, we needed to make some improvements that aren’t completely backward compatible.

On the plus side, we have new features coming very soon which will be released on the 1.0 versions – stuff you’ve been waiting for like room custom data, webhooks, and push notifications!

What do you need to do?

We recommend that you upgrade as soon as possible. We are deprecating pre 1.0 versions of all the SDKs effective immediately. We plan to remove backend support for them entirely on December 11th. This is because the backend interfaces relied on by early versions of the SDKs severely limit the scalability of Chatkit, and in order to adequately support your growth and onboard new customers, we need to remove those constraints.

To reiterate – if you do not upgrade your client and server-side SDKs, Chatkit will no longer work for you after December 11, 2018.

GA SDK Versions

We have updated the documentation for all the SDKs, and recommend you upgrade ASAP. Please refer to the updated documentation for each SDK. Changelogs are distributed with each SDK.

Client SDKs
iOS
JavaScript
Android
Server SDKs
Node.js
Ruby
PHP
Go

Technical Caveats

There are a few caveats with this update. As previously mentioned, we have made efforts to ensure backwards compatibility with all the SDKs, but there are a few exceptions to this:

  1. The JavaScript client library has a new package name in npm: @pusher/chatkit-client
  2. The Presence backends used by 0.x and 1.x version SDKs are completely separate systems. This is unfortunate, but it’s one of the places we learned the most about scaling during the beta.

    This means: end users connected using the 0.x SDKs will only see other 0.x users as online, and vice-versa.
    Actions you can take: We highly recommend that you upgrade your client SDKs as close together as possible, because the user experience will be degraded while using a mix of v0.x and v1.0 SDKs.

  3. The Files API is keeping the Beta tag while the rest of Chatkit moves into GA. This is because we are working on a new, improved version of the API to give you a much more capable way to add rich media and metadata to your chat!

    This means: There will be one more update coming soon if you use the existing Files API. We will send more info on that in the next week or two.

Once you are upgraded to 1.x, breaking changes in our backend communication will come with smooth migration paths which do not degrade the user experience. Deprecation timelines will also be a minimum of 90 days in the future. We bundled up a lot of our discoveries from the beta in to this update so that it will only ever happen once.

We understand this is not convenient, but it will make all the difference in the long term. So, in conclusion, please upgrade your client and server side SDKs prior to December 11, 2018.

If you have any questions or concerns, please reach out to us at chatkit@pusher.com. As always, we’d love your feedback, so let us know what you think!

Happy coding!