Shortly after I ordered my Model S I was excited to hear that a new software release (5.9) had come out and added some features I was looking for. This is a new world where the functionality and interface to a car can change while you own it. With the old cycle of car ownership you can get expensive (anywhere from $99 to $250) map updates once a year if you’re lucky, but no changes to the rest of the car. With Tesla they come out more frequently, but how frequently?
I set out to study the release cycle keeping in mind the Model S has only been out since September of 2012 so there isn’t a ton of history on the releases. Going through the forums, I found a total of 18 software releases since the introduction of the car.
I found a total of 18 software releases since the introduction of the car.
Finding your version
First, the basics. You can find your current version and build information by pressing 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 information:
Clicking on the “Release Notes” link brings up the release notes for your current release. Releases have a version number and a build number. The first piece is the version you’re on, in this case Version 5.9. The second piece is the build number, in this case 1.51.94. More on these two numbers below.
The first version I could find reference to was 4.0 from November 2012. Not surprisingly that was also the version where they added release notes to the Model S interface and realized that build numbers don’t work for the general public. I haven’t seen any documentation on the components of the version number but it consists of up to 3 digits:
<Major Version> . <Minor Version> . <Maintenance Version>
Examples of versions are the most recent 5.9 version, the prior 5.8.10 version, etc. Versions can be classified in terms of their impact in which digit changes. If the major version number changes, its a major release, etc. Tesla has historically added new functionality in both Major and Minor releases but generally not in Maintenance releases. Some of the functionality added in minor releases is extensive with releases like 5.9 and 5.6 standing out.
Some of the functionality added in minor releases is extensive.
Maintenance releases either focus on fixing bugs/issues introduced in the last minor/major release or fixing something that cannot wait for the next minor or major release. It could be argued that increasing the amperage of the driver side USB port from 1A to 2A in 5.8.7 was a feature and not a bug.
Build numbers are a different story and not nearly as clear (which is why they introduced the release version). A given release appears able to have many builds associated with it. For example the 5.9 minor release started with build 1.51.88 and is currently at build 1.51.96. The release notes and public facing information does not indicate what changes between builds. It also seems that whatever build you get with the release is the one you stay on until the next release. For example, my car came with 5.9 build 1.51.94 on it but the latest build reported on 5.9 is currently 1.51.96. So in theory there are fixes between 1.51.94 and 1.51.96 that I do not have and cannot get. Build numbering can vary greatly but usually the changes between build numbers along these lines are pretty small.
Whatever build you get with the release is the one you stay on until the next release
Usually a build number is just an incrementing number for each time the software is compiled, but that can be specific to a branch of software. Build numbers presented by Tesla are in a form that can probably be described along these lines:
<product number> . <software branch> . <build number>
Where product 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 only coming in when integrated from a more 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 would be a common practice in software development.
Using all this information gives us the release picture over time:
Tesla on average releases new software every 34 days.
Should we be concerned about the reduced slope in 2014? Is Telsa slowing down? Probably not. 2014 is still young and we know Tesla is working on major updates for it’s 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. I actually think its positive news that releases are slowing as that indicates 6.0 may be close! What will be in it is still up for much discussion, but no doubt it will be good.
It’s positive news that releases are slowing as that indicates 6.0 may be close!
They appear to do a major release once a year:
- V4.0: November 2012
- V5.0: August 2013
- V6.0: Expected 2014.
Tesla appears to have changed their versioning scheme from 2013 to 2014. Prior to 2014 there were no releases with maintenance versions (i.e. only 2 digits) but clearly 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 (4 times a year):
- 2014: March (still early in 2014)
- 2013: March, May, October, November
- 2012: October, December (started in September)
Tesla seems to be going at a rate of a minor release every quarter
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 frequently and often aligned with sales quarters. If you look at the averages:
Minor releases come out on average every 60 days.
Maintenance releases as you’d expect are all over the place depending on the needs. There were a bunch this winter related to living with the Model S in cold climates and several in the early days related to some really basic stuff. Other hot topics like vampire drain, UMC fire risk also drove maintenance releases.
Using the averages we can answer some questions:
- When will I see another release of software on my Model S? On average 34 days from the last release. So the next release based on statistics was expected around April 30, 2014. That date has already come and gone though so a release is imminent.
- What will the next release on my Model S be? The next major release overdue with the gap larger than the gap from 4.0 to 5.0. I’d expect the next release to be that major release unless some urgent support issues drive out another maintenance release.
Statistically the next release is expected April 30, 2014
Major credit is due Tesla for changing the whole concept of software within cars. With the advent of over-the-air software updates and a proven track record of delivering fixes and adding requested functionality over the last couple years Tesla will forever change the automobile industry in this area alone. The Model S is an amazing car that is only getting better over time.
This post first appeared on Teslarati.