You may wonder how Tesla releases updates and why there are so many versions. We covered what Tesla software version numbers mean and here we'll talk about Tesla's workflow when developing new features and how they decide what goes into each software update.
Master and Develop
There isn't a single codebase. There are two main branches of code and new features and releases are based off of these two branches. The 'master' branch holds Tesla's production code while 'develop' has all of Tesla's latest approved code.
Feature Development
When an engineer or team creates a new feature, they'll start a new branch with the latest develop code. All of their work is isolated in this branch until work is complete.
There are many features being developed concurrently. They'll usually be completely independent and have no knowledge of other features that are currently in development. Once development is completed for a specific feature, it will then be tested and merged into the main develop branch. Other features in active development now become aware of this new feature and it will be merged into their code as well.
New Update
When Tesla is ready to release a new update, they will usually grab the latest code from the develop branch and build a release. QA will test this release code and if any issues are found, fixes will be made directly to this release.
Once the code is deemed ready for production, it will be merged into master and rolled out to a small percentage of the Tesla fleet.

