There are two main categories of MP4 Downloader versions: released versions and pre-release versions. The released versions are deemed stable for normal use; the latest released version is available for download on the download page.
Any MP4 Downloader version that is not yet released (ie. not the version available for download on the download page) is considered a "pre-release" version. There are two types of pre-release versions:
The source code for the MP4 Downloader Firefox add-on, the MP4 Downloader bookmarklet, and the MP4 Downloader website (including this page) is located in the git repository on GitHub: https://github.com/jhartz/mp4downloader
Documentation used in the development of MP4 Downloader is located on the wiki.
The version numbers for the MP4 Downloader add-on, starting with the release of MP4 Downloader 2.0.0:
supermajor: This number hardly ever changes - only really major updates with significant code changes merit a bump of the "supermajor" number.
major: This number is incremented with each new release based on the trunk branch.
minor: This number is incremented with each new release based on the previous release's codebase to fix a bug with the release ("minor release"). No new features are introduced.
0.0prewhere the first number is the supermajor version number and the second number is the major version number (based on the version that the code will eventually become when it is released).
0.0b0where the first number is the supermajor version number, the second number is the major version number, and the third number is the beta release (first beta is "1", second is "2", etc.).
0.0rcif it is exactly the same as the currently released version (ie. no new beta version has been published since the last release).
v0.0where the first number is the supermajor version number and the second number is the major version number). Likewise, beta versions are tagged similarly as well (
v0.0b0- explanation above).
2.1.x(based on major release "2.1" or tag "v2.1"). We would just keep that branch there, making a new tag inside it for each new minor release based on "v2.1". When a new major version is released (ie. "v2.2"), that branch can be deleted - any new bugfixes will go on in a new branch based on the new major version.