Mobile Release Process

Prev Next

Rocket.Chat’s mobile application is built with React Native. Refer to the Rocket.Chat.ReactNative repository for details. You can also find the latest release details in the Mobile release notes document.

This document covers the mobile app release process.

Overview

The app ships monthly to production (iOS and Android). Two app variants exist: Rocket.Chat (Official) and Rocket.Chat Experimental. Both are built from the same codebase as compile-time flavors with different bundle IDs. The Experimental build is available on the Play Store for Android; for iOS, it is only available for internal use.

Versioning

Release type

Description

Major release: Increment in the first digit of the version, for example, 3.0.04.0.0

This is a foundational upgrade that can introduce breaking changes, significant new or reworked features, performance improvements, or architectural changes.

Minor release: Increment in the second digit of the version, for example, 4.71.04.72.0

Adding new or enhanced capabilities, UI, and UX improvements. May also include improvements in performance, stability, and security.

Patch release: Increment in the third digit of the version, for example, 4.71.14.71.2

Bug fixes for regressions or defects in the current major or minor release, and security vulnerability patches. Patch releases do not introduce new features or intended behavioral changes.

Monthly release process

The team targets the end of each month for the production release. A typical release cycle looks like this:

  1. Starting from the beginning of a month, PRs are merged into the develop branch for a fixed version. The build number increments with each merge.

  2. Approximately seven days before the release, the develop branch is frozen and no new merges are made.

  3. The builds are submitted for review to the Apple App Store and Google Play Store.

  4. After approval, the develop branch is merged to master and the GitHub release is available.