91

There seem to be two active branches of the nginx web server: a “mainline” branch (currently 1.9.x) and a “stable” branch (currently 1.8.x). Can anyone provide an official source that describes the difference between these two branches and how one would choose between them?

bdesham
  • 1,905

2 Answers2

111

The difference between mainline and stable is explained here:

https://www.nginx.com/blog/nginx-1-6-1-7-released/

A graphical summary:

enter image description here

Among other differences:

Note that stable does not mean more reliable or more bug-free. In fact, the mainline is generally regarded as more reliable because we port all bug fixes to it, and not just critical fixes as for the stable branch. On the other hand, changes in the stable branch are very unlikely to affect third-party modules. We don’t make the same commitment concerning the mainline, where new features can affect the operation of third-party modules.

Also:

We recommend that in general you deploy the NGINX mainline branch at all times.

JayMcTee
  • 4,111
5

The latest recommendation from the documentation says stable is for production (which is the opposite of what the accepted answer currently says, recommending mainline)

NGINX Open Source is available in two versions:

  • Mainline – Includes the latest features and bug fixes and is always up to date. It is reliable, but it may include some experimental modules, and it may also have some number of new bugs.

  • Stable – Doesn’t include all of the latest features, but has critical bug fixes that are always backported to the mainline version. We recommend the stable version for production servers.

https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/