Skip to content
Mark Pashmfouroush edited this page Jan 20, 2024 · 1 revision

Iran specific changes rarely get accepted into upstream sing-box. The upstream project is open-source so we can fork and maintain a version with experimental changes that are Iran specific. If there’s bugs in the upstream project code, then it’s best to submit PRs upstream.

The local main branch will directly track the upstream main branch.

For each new tagged release on upstream, we create a local branch with the same name. So upstream tag v1.8.1 will result in a local v1.8.1 branch. In that branch, all commit sets that are not in upstream should be applied and any conflicts resolved. Once the commits are applied and the resulting codebase is able to build and tests pass, it can then be pushed to that branch and then a local tagged release can be made from the last commit. The tag should be formatted as v1.8.1.0 to signal that this is the first attempt at applying local changes. If more changes are to be applied locally, then they should be applied to the branch, and then a new release should be tagged like v1.8.1.1.

Clone this wiki locally