Since we are going to release a new major version and nowadays we have plenty of users, I think it is time to bring out a serious multiple branches maintain mechanism.
The mechanism will contain three kinds of branches: 1. master branch (the branch we submit all commits to) 2. release branch (the latest release, like the ongoing 2.0) 3. LTS branch (the highest minor number of release in the previous major release, like 1.5) All PRs are still going to the master branch. Bugfix will be manually ported to release branch by the maintainer. We will create a rc release on the release branch first, then create a formal release a month later. Before the next minor release is created, we will create a patch release each month(2.0.1, 2.0.2, ...). We will back port some important bugfix, for instance, security bugfix and bugfix users required, to the LTS branch. A new patch release will be created based on the LTS branch each three months(1.5.1, 1.5.2, ...).
