Skip to main content

Release Process

At Chatwoot, we follow a monthly release schedule. On 15th of every month, we will release a new version of the software. To release the version of the software, use the following guide.

Github release process

We use git-flow as our branching strategy.

1. Pull the latest changes

Pull latest develop branch and master branch in your local machine.

git checkout master
git pull
git checkout develop
git pull
git fetch --tags

2. Prepare release

# find the appropriate version by looking into `config/app.yml`
git flow release start '1.12.0' # replace your version number

3. Bump the version number now

4. Start committing last-minute fixes in preparing your release

5. Finish release

git flow release finish '1.12.0' # replace your version number

# Leave default merge messages as it is
# prepare the tag message as 'v1.12.0' # replace your version number

6. Reverse merge master

Reverse merge master branch to develop branch.

git checkout develop
git merge master

7. Push changes to remote

Push master branch, develop branch and the tags.

# Push develop
git checkout develop
git push --no-verify

# Push master
git checkout master
git push --no-verify

# Push tags
git checkout develop
git push --tags --no-verify

8. Prepare release notes

  • Compare the current version to the previous version using the tag compare feature in Github.
  • Create a new release on Github from existing tags and update release notes.
  • Ensure that the milestones exist for the subsequent 2 versions.
  • Close the current milestone and move issues to the next milestone.

Release note format:

- Describe the changes in the current release
- List the new languages that are added in the new release
- Gratitudes towards who have contributed to the project.

Release note example:

## Changelog

- Ability to detect contact location
- Ability to download Agent reports
- Search contacts using the phone number
- Set up dev environments with GitHub codespaces
- Ability to set Installation wide default language
- Improved alerts on agent/user typing
- Limit file types that can be attached
- Ability for external systems to authenticate users into Chatwoot using tokens
- Numerous bug fixes and enhancements

- New Languages
- Danish
- Korean
- Czech
- Turkish
- Finnish
- Indonesian

Thanks to @azyzio, @hiaselhans, @vishal-pandey, @troscoe, @timcowlishaw, @mike9011 for the contributions

Todos after Github release

  • Create release notes in Changelog ( If you don't have access to the blog, please contact Pranav / Sojan.
  • Update the latest version in Chatwoot Hub. This is used to show a notification to users using self-hosted installation.
  • Create tasks in Product board to deploy the changes to our paid clients.