There are three types of issues: Bugs, Questions and Enhcanements.
Bugs are things that are supposed to work but don't.
Some examples include:
- An error or exception
- A flaw in a security feature
- Encoded messages not decoding properly
Non examples include:
- A security issue not yet advertised (such as adding RSA encrytion)
- Adding something new, instead of fixing something old
- Asking a question about something you don't get
If you find a bug, label it with the "bugs" tag, as well as the "security" tag if the bug relates to security. Then, be sure to label it based on the bug report template.
Questions are things that you are unsure about. When in doubt, mark it as a question. If you have a question, label it based on the question template.
Enhancements are things you want to improve. Be sure to list it both as an enhancement and label it based on what type of enhancement it is:
Security: This is an improvement to security you would like to see, such as RSA encryption.
QOL: This is an improvement to quality of life you would like to see, such as more lanugages as codes. If in doubt, mark it as QOL.
Documentation: This is an improvement to documentation you would like to see.
Be sure to label the enhancement based on the feature request template.
Pull requests are when you want to change the code yourself. Please link to any relavent issues by clicking on the gear next to "linked issues". Additionally, add this to the milestone the issues are linked to, and label it based on what you are trying to solve (Bug or Enhancement and what type if necessary). They should be formatted as follows:
**Changes** A bulleted list of the changes you made. Will be used in release notes. **Reasoning** Why you want to make these changes. Should be clear and concise. **Drawback Handling** Potential drawbacks in this change and how you addressed them.