The diagram below is a snapshot representing a portion of Asterisk's release history. Its purpose is to give a visual representation of how the Asterisk development trunk and release branches are managed, and how tags and releases are made from them.
In the diagram, boxes containing underlined text (like Asterisk 1.8) represent branches; a place in our source code repository where the source code for a particular release series of Asterisk is maintained. Boxes containing non-underlined text (like 184.108.40.206) represent tags; a snapshot made from a release branch (usually) in order to produce a release.
In the long-gone days when Asterisk source code was managed using CVS, this was called 'HEAD'. When the project switched to Subversion for source code management, it was renamed 'trunk', since that is the commonly-used name in the Subversion community. In the future, should the project switch to Git, it would be renamed 'master'.
This is the primary development branch of Asterisk, where nearly all new features are merged, and where preparations are made for each major Asterisk release.
This branch was created from Asterisk Trunk in order to provide a base for the Asterisk 1.4.x release series. Over its lifetime, many releases were made, culminating in Asterisk 1.4.44, the final release made before this series reached the end of its life.
This branch was created from Asterisk Trunk in order to provide a base for the Asterisk 1.6.2.x release series. Over its lifetime, a number of releases were made, culminating in Asterisk 220.127.116.11, the final release made before this series reached the end of its life.
This branch was created from Asterisk Trunk in order to provide a base for the Asterisk 1.8.x release series. To date a number of releases have been made, and the diagram depicts some specific scenarios that have occurred:
- The first five releases used three-component version numbers for primary releases, and four-component version numbers for security/regression fix releases. This policy was later changed to always use four-component version numbers, starting with Asterisk 18.104.22.168.
- Many Asterisk 1.8 releases have had subsequent security/regression fix releases. For example, Asterisk 1.8.4 had four of them (Asterisk 22.214.171.124 through 126.96.36.199), whereas Asterisk 188.8.131.52 had only two, and Asterisk 184.108.40.206 had none. These releases are only made when there is a need to get a fix (for a security vulnerability, or a regression from a prior release) out to the community of users sooner than the next scheduled minor release, but the changes included in these releases are also put into the Asterisk 1.8 branch, so that the next minor release will contain the same fix.
Certified Asterisk 1.8.6
This branch was created from Asterisk 220.127.116.11 in order to provide a base for the Certified Asterisk 1.8.6 release series. Certified Asterisk is described on the Digium website here.
Certified Asterisk 1.8.11
This branch was created from Asterisk 18.104.22.168 in order to provide a base for the Certified Asterisk 1.8.11 release series. Certified Asterisk is described on the Digium website here. The first release from this branch (1.8.11-cert1) includes the fixes in the Asterisk 22.214.171.124 release.
This branch was created from Asterisk Trunk in order to provide a base for the Asterisk 10.x release series. This is the first release series where the Asterisk version numbering system no longer included the '1.' prefix (previously considered the 'major' version number). Much like the Asterisk 1.8 branch, this branch has had a number of releases made, including some security/regression fix releases.