Trunk & Branch Builds FAQ

Discussion about official Mozilla Firefox builds
Locked
User avatar
BenBasson
Moderator
Posts: 13671
Joined: February 13th, 2004, 5:49 am
Location: London, UK
Contact:

Trunk & Branch Builds FAQ

Post by BenBasson »

Q. What is the trunk?
A. The trunk is the central source code that is used for continuous and ongoing development. Trunk builds contain the very latest bleeding-edge changes and updates. However, the trunk can also be very unstable at times, so it's good to ask around before using trunk builds.
Latest trunk builds: ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/

Q. What is a branch?
A. Branches are "forks" in the code, split from the trunk and destined to become end-user releases. At conception, a branch contains everything that the trunk contains, but from that point onwards, only certain fixes or changes will be accepted. Therefore, over time, the branch becomes more stable.

Q. Why branch? Wouldn't it be better to have everyone working towards a release?
A. Many developers prefer to work on areas of the code which are too risky to change when approaching a release. Some of their changes may also take months to test and implement correctly. Their changes will be made to the trunk so that they don't delay the release and will be picked up in future branches.

Q. How can you distinguish between trunk and branch builds?
A. The main way you can determine if you are using a trunk or branch build is to click the "Help" menu and choose "About". You should see a string that looks something like this:

1.9.0 Branch:

Code: Select all

Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.13pre) Gecko/20090727 GranParadiso/3.0.13pre


1.9.1 Branch:

Code: Select all

    Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2pre) Gecko/20090727 Shiretoko/3.5.2pre


Trunk:

Code: Select all

    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a4pre) Gecko/20100407 Minefield/3.7a4pre


The part that you want to note is the Gecko revision number (rv) and the Firefox version string. These correspond to which build you are using. It works something like this:

rv:1.7.x and Firefox 1.0.x = Gecko 1.7 (Firefox 1.0) Branch.
rv:1.8.0.x and Firefox (or Deer Park) 1.5.0.x = Gecko 1.8.0 (Firefox 1.5) Branch.
rv:1.8.1.x and Firefox (or Bon Echo) 2.0.0.x = Gecko 1.8.1 (Firefox 2) Branch.
rv:1.9.0.x and Firefox (or Gran Paradiso) 3.0.x = Gecko 1.9.0 (Firefox 3.0) Branch.
rv:1.9.1.x and Firefox (or Shiroteko) 3.5.x = Gecko 1.9.1 (Firefox 3.5) Branch.
rv:1.9.2.x and Firefox (or Namoroka) 3.6 = Gecko 1.9.2 (Firefox 3.6) Branch.
rv:1.9.2.4pre and Firefox (or Lorentz) 3.6.4pre and onwards = Gecko 1.9.2.x (Firefox 3.6) Branch - backporting out-of-process plugin support from trunk.
rv:1.9.3.x and Firefox (or Minefield) 3.7a1pre and onwards = Gecko 1.9.3 Trunk (towards Firefox 3.7)

See the current roadmap for clarification and more info: https://wiki.mozilla.org/Talk:Firefox/Roadmap

Q. Where can I find out the recent changes that have been made to the trunk or a branch?
A. Read the relevant nightly threads in the builds forum. An excellent unofficial changelog is maintained at The Burning Edge: http://www.squarefree.com/burningedge/releases/
Last edited by LoudNoise on November 25th, 2010, 4:35 pm, edited 9 times in total.
Reason: updated information
User avatar
Nitin
Moderator
Posts: 3483
Joined: February 27th, 2003, 9:38 pm
Location: San Jose, CA
Contact:

Post by Nitin »

Q. Now that Firefox 3.6 has been released, what will happen to the branch?
A: Only security or stability updates will be checked into the Gecko 1.9.2 branch.
Any releases from Gecko 1.9.2 branch will be labelled Firefox 3.6.x

Q: What new features are planned for Firefox? When will the next version be released?
A: Feature planning and release roadmap (always tentative) - https://wiki.mozilla.org/Firefox/Roadmap

Q: What's Bon Echo/Gran Paradiso/Shiroteko/Namoroka/Lorentz /Minefield?
A: Bon Echo is the project codename for Firefox 2
Gran Paradiso is the project codename for Firefox 3
Shiroteko is the project codename for Firefox 3.5
Namoroka is the project codename for Firefox 3.6
Lorentz is the project codename for Firefox 3.6.4
Minefield is the name given to builds from the Firefox trunk.

Q. Why use project codenames?
A. Alpha or developer-only builds use these code names to distinguish them from nightly builds, but also to maintain an element of distance from public-oriented builds (e.g. betas / release candidates / final). The code names are also used for the third-party/unofficial builds of Firefox releases.
Last edited by BenBasson on April 8th, 2010, 3:00 pm, edited 4 times in total.
Reason: updated information.
If you're not using Firefox, you're not surfing the web, you're suffering it.
Join the MZ folding@home team.
User avatar
BenBasson
Moderator
Posts: 13671
Joined: February 13th, 2004, 5:49 am
Location: London, UK
Contact:

Re: Trunk & Branch Builds FAQ

Post by BenBasson »

Thanks to bielawski for providing an update to this FAQ. Changes have been made to the original post.
User avatar
BenBasson
Moderator
Posts: 13671
Joined: February 13th, 2004, 5:49 am
Location: London, UK
Contact:

Re: Trunk & Branch Builds FAQ

Post by BenBasson »

Tweaked for newer branches, removed some redundant roadmap cruft.
Locked