## Branching strategy

### develop\[major version\]

Our development main branches. All feature branches/pull requests should be merged into this branch. There is one develop branch per major version of EPPlus (ex. `develop6`, `develop7`, etc). When [submitting a pull request](<https://github.com/EPPlusSoftware/EPPlus/blob/develop/CONTRIBUTING.md>) to EPPlus, please set this branch as target.

From version 7 we have renamed the previous `develop` branch to `develop6`. To change this locally you should do this:

```text
git branch -m develop develop6
git fetch origin
git branch -u origin/develop6 develop6
git remote set-head origin -a
```

The active branch of our repository is always the develop branch for the latest stable major version.

### develop\[major version\]\_\[minor\_version\]

When we are working on a new minor version we create a branch for it, example: for version 7.1 the name of the branch will be `develop7_1`. All our Pull Requests for the minor version will have this branch as the target. When we release the minor version the branch will be merged into the *develop\[major version\]* branch and then deleted.

### feature/bug branches

These are separate branches that will be merged into the develop branch when they are ready (via pull request). These branches should be named `feature/[name]` or `bug/[name]`. If these branches are related to an issue the issue number with a \#-prefix should be mentioned in the description.

After the pull request has been closed these branches are deleted.

### release branches

There is one release branch created for each [release](<https://github.com/EPPlusSoftware/EPPlus/releases>). These branches are named `release/epplus[Major].[Minor].[Patch]`

## Continous integration

The develop branches are automatically built with Appveyor for every new commit. This build runs all the unit tests and, if successful, deploys the build in our Appveyor Nuget feed for [version 6](<https://ci.appveyor.com/nuget/epplus>) and [version 7](<https://ci.appveyor.com/nuget/epplus-5bts77qk2spj>).

## See also

- [Using our development nuget feed](<https://epplussoftware.com/docs/about-epplus/using-our-develop-nuget-feed/index.md>)
- [Releases/versioning](<https://epplussoftware.com/docs/versions/releases-versioning/index.md>)
