Skip to main content
Version: v5

Dependencies

All Stream Android libraries are available from MavenCentral, with some of their transitive dependencies hosted on Jitpack.

Before you add Stream dependencies, update your repositories in the settings.gradle file to include these two repositories:

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}

Or if you're using an older project setup, add these repositories in your project level build.gradle file:

allprojects {
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}

Check the Releases page for the latest version and the changelog.

Latest version badge

Available Artifacts

Client

To add the low-level Chat client library to your app, open your module's build.gradle script and add the following:

dependencies {
implementation "io.getstream:stream-chat-android-client:$stream_version"
}

Offline Support

To use offline support in your application, add the following dependency:

dependencies {
implementation "io.getstream:stream-chat-android-offline:$stream_version"
}

This also adds the client library automatically.

UI Components

To use the UI Components in your application, add the following dependency:

dependencies {
implementation "io.getstream:stream-chat-android-ui-components:$stream_version"
}

Adding the UI Components library as a dependency will automatically include the client and offline libraries as well.

Compose UI Components

To use the Compose UI Components instead, add the following dependency:

dependencies {
implementation "io.getstream:stream-chat-android-compose:$stream_version"
}

Adding the Compose UI Components library as a dependency will automatically include the client and offline libraries as well.

Push Notifications

We ship multiple artifacts to easily integrate Stream Chat with third party push notification providers. See the Push Notification page for more details.

Versioning

Our Android libraries do not follow semantic versioning.

We increase the minor version whenever breaking changes are introduced. Patch releases only contain smaller fixes and improvements.

You can keep track of all the changes in the Stream Android libraries via the GitHub releases page, and you can also find the release notes of all past releases in our CHANGELOG file. These will always highlight breaking changes.

We also maintain a separate document, DEPRECATIONS, which lists deprecated constructs in the SDK, with their expected time of further deprecations and eventual removal.

Snapshot Builds

We publish SNAPSHOT versions of our SDK, which contain the code as of the latest commit on the develop branch.

These builds may contain bugs or breaking changes that will be fixed before the next proper release. However, you can use these builds temporarily to include the latest changes from our SDK in your project before the next release happens.

danger

Snapshot builds are not stable. Never use them in production.

To use snapshot builds, you need to add the Sonatype snapshot repository in your Gradle build configuration (see at the top of this page for where to add this):

maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }

Then you can add a snapshot dependency on any of our artifacts, replacing the normal version number with a version that has a -SNAPSHOT postfix. Our snapshot version is always one patch version ahead of the latest release we've published. If the last stable release was X.Y.Z, the snapshot version would be X.Y.(Z+1)-SNAPSHOT.

You can browse our available snapshot builds in the Sonatype snapshot repository, which you can also check for what the latest available snapshot version is.

Did you find this page helpful?