1# Contributing 2 3## Submitting Issues 4 5* If your issue is that libsndfile is not able to or is incorrectly reading one 6 of your files, please include the output of the `sndfile-info` program run 7 against the file. 8* If you are writing a program that uses libsndfile and you think there is a bug 9 in libsndfile, reduce your program to the minimal example, make sure you compile 10 it with warnings on (for GCC I would recommend at least `-Wall -Wextra`) and that 11 your program is warning free, and that is is error free when run under Valgrind 12 or compiled with AddressSanitizer. 13 14## Submitting Patches 15 16* Patches should pass all existing tests 17* Patches should pass all pre-commit hook tests. 18* Patches should always be submitted via a either Github "pull request" or a 19 via emailed patches created using "git format-patch". 20* Patches for new features should include tests and documentation. 21* Patches to fix bugs should either pass all tests, or modify the tests in some 22 sane way. 23* When a new feature is added for a particular file format and that feature 24 makes sense for other formats, then it should also be implemented for one 25 or two of the other formats. 26