Firmware

Everything you need to know about Tesla software updates

One of the greatest joys of owning a Tesla is being able to experience new features and functionality that get rolled out through over-the-air (OTA) software updates. But when do these updates happen and at what frequency is it released? I set out to study Tesla’s release cycle in hopes to find an answer.


Locating the Version Number

First, the basics. You can locate your current version and build information by touching the Tesla logo at the top center of your 17″ display. You’ll see a nice picture of your car, your VIN and then the release notes for your software.

Release info

Clicking on the “Release Notes” link will bring up the list of features and enhancements that have been packaged into that particular release. Releases have a version number and a build number. The first set of numbers denotes the version and in this case it’s Version 5.9. The second set of numbers within parentheses are the build numbers, in this case 1.51.94. More on these two numbers below.


Version Numbers

Version numbers are comprised of three sets of digits separated by a decimal.

<Major Version> . <Minor Version> . <Maintenance Version>

If the major version number changes, it’s considered a major release which will likely contain new features, however Tesla has been known to also add new functionality in their minor releases (changes to the minor version number). Version 5.9 and 5.6 are great examples of releases that contained substantial feature upgrades.

Maintenance releases on the other hand do not contain new features but address bugs and issues that were introduced in the previous major or minor release.


Build Numbers

A release can have many builds associated with it and it’s not always clear what changes between these builds since it’s not captured within the release notes. For example the 5.9 minor release started with build 1.51.88 and is currently at build 1.51.96.  It also appears that the build you get with your release is the one you stay on until the next release. For example, my Model S came with 5.9 build 1.51.94 but the latest build is at 1.51.96. So, in theory there are fixes between 1.51.94 and 1.51.96 that I don’t have and won’t be able to get.

Build numbers are usually incremented each time the software is compiled, which includes the branch of software. Tesla software build numbers most likely conform to the following standards:

<product number> . <software branch> . <build number>

The product number would be “1” for Tesla Model S. Each release target has its own release branch (i.e. branch “51” for the 5.9 release), then an incrementing build number within that branch. Those builds would be on a release branch with changes merged in from an active development branch. So one “tick” or increment in the build number that we see in the visible build number could be many code changes/builds within their development/QA process. This is all a guess since Tesla has made no public statements on this, but what I’ve outlined is common practice in software development.


Release History

I found a total of 18 Tesla software updates since the introduction of the Model S in September of 2012. Plotting these release dates over time paints a good picture of their release cycle.

If we take a look at only the version changes, we can see that Tesla on average releases new software updates every 34 days.

Should we be concerned about the reduced rate of change in 2014? Is Telsa slowing down development? Probably not. 2014 is still young and we know Tesla is working on major updates for its 6.0 release. It is very common for minor and maintenance releases to slow down in the final preparation stages of a major release and both the 4.0 and 5.0 releases showed this pre-release slowdown.

Tesla on average releases new software updates every 34 days.

I actually think its positive news that releases are slowing as this indicates 6.0 may be close! What will be in it is still up for much discussion, but no doubt it will be a good one.


Major Releases

Tesla appears to do a major release once a year:

  1. V4.0: November 2012
  2. V5.0: August 2013
  3. V6.0: Expected 2014.

Their versioning scheme seemed to have changed between 2013 to 2014. Prior to 2014 there were no releases with maintenance versions (i.e. only 2 digits) but from the contents several of those releases were maintenance releases. That makes analysis of the minor releases a bit more difficult as prior to 2014 they were all considered major or minor and not maintenance. I used the release contents to classify releases between minor and maintenance for the above chart — if they only included fixes (no new functionality) then I considered them maintenance releases.

Tesla seems to be going at a rate of a minor release every quarter:

  • 2014: March (still early in 2014)
  • 2013: March, May, October, November
  • 2012: October, December (started in September)

The above is a big guess with small numbers, but it is a very common strategy to do a major release once a year with minor releases more frequent throughout the year. If you look at the averages:

Minor releases occur on average every 60 days.

Maintenance releases as you’d expect occur much more frequently. For example there were a bunch of maintenance releases this winter to address Model S’ in cold climates. Other hot topics like vampire drain and UMC fire risk also drove maintenance releases.


Summary

Tesla has changed the entire paradigm of how software is used within cars with their OTA software updates. By analyzing these software updates over time, we might be able to predict when the next Tesla software update will arrive and, better yet, what caliber of update it will be.

The Model S is an amazing car that only gets better with time.

To Top