Contributions from the community are always welcome!
However, there are a few guidelines which I ask that you follow in order to keep the things organized and running properly.


Before contributing understand all contributions to the project will fall under the license the project is licensed under. By submitting code to the project you agree that the code you submit is compatable with the project's current license and that you have no issue with said code being distributed under the license which the project is currently licensed under.

Coding Guidelines

Pull Requests

When submitting a pull request make sure to explain what the changes accomplish and ensure you are submitting your pull request to the proper branch. Please note that all pull requests made directly to the master branch will not be accepted and closed until they are commited to the proper branch. Please refer to the following documentation covering the branch structure being used to decide which branch your pull request should be submitted to.

Repository Structure

The following is an outline of the repository branch naming convension and what each branch represents.


Do not touch!

The master branch must always remain in a stable condition and ready at all times for use by the public. Any pull requests to the master branch will not be excepted and will be ignored and immediately closed. Please post any pull requests to the proper branch as outlined in the following...


Pull requests containing bug fixes and minor changes go here.

If you are creating a pull request to fix a problem or add a simple feature to the most current stable version found in the master branch then the pull request should be commited into the bugfix branch. After testing of the changes contained within the bugfix branch has been completed it will then be merged into the master branch making the changes available for use by those using the master branch. Depending on what the impact of the fix is, when merged the patch portion of the current version contained within the master branch may be incremented and a new release may be created.


Pull requests containing major enhancments or overhauls go here.

Branches marked <Major Version>.<Minor Version> contain contents which will make up an upcoming major or minor release. Pull requests containing significant changes such as new features or major overhauls to existing files should be made to these branches. These changes will only be merged into the master branch once this major of minor version is released.