There are many different ways in which you can contribute! Please submit issues, questions, bug reports, feature requests, bug fixes, improvements, and new features.
Issues and feature requests are submitted through the project's issue tracker section on GitHub. Please use the following guidelines when you submit issues and feature requests:
- Make sure the issue is not already reported by searching through the list of issues
- Provide a detailed description of the issue including the following information:
- Which feature the issue appears in
- Under what circumstances the issue appears
- What is the desired behavior
- What is breaking
- What is the impact (things like loss or corruption of data, compromising security, disruption of service etc.)
- Any code that will be helpful to reproduce the issue
Please submit any changes as a Pull Request against the development branch. Make sure to write a detailed message describing the changes in the Pull Request. This will help us quickly determine what changes (if any) need to be made for it to be ready for integration.
Note: Please keep in mind that not all requests will be approved. Requests are reviewed by the team on a regular basis and will be updated with the status at each review. If your request is accepted you will receive information about the next steps and when the request will be integrated in the development branch. If your request is rejected you will receive information about the reasons why it was rejected.
Before you start working on bug fixes and features it is good idea to discuss those broadly with the community. You can use the issue tracker for this purpose. Before submitting your changes make sure you followed the guidelines below:
- You have properly documented any new functionality
- For any new functionality you have written complete unit tests
- You have run all unit tests and they pass
- In order to speed up the process of accepting your contributions, you should try to make your checkins as small as possible, avoid any unnecessary deltas and the need to rebase.