Contributing to Nanopb development
==================================

Reporting issues and requesting features
----------------------------------------

Feel free to report any issues you see or features you would like
to see in the future to the Github issue tracker. Using the templates
below is preferred:

* [Report a bug](https://github.com/nanopb/nanopb/issues/new?body=**Steps%20to%20reproduce%20the%20issue**%0a%0a1.%0a2.%0a3.%0a%0a**What%20happens?**%0A%0A**What%20should%20happen?**&labels=Type-Defect)
* [Request a feature](https://github.com/nanopb/nanopb/issues/new?body=**What%20should%20the%20feature%20do?**%0A%0A**In%20what%20situation%20would%20the%20feature%20be%20useful?**&labels=Type-Enhancement)

Requesting help
---------------

If there is something strange going on, but you do not know if
it is actually a bug in nanopb, try asking first on the
[discussion forum](https://groups.google.com/forum/#!forum/nanopb).

Pull requests
-------------

Pull requests are welcome!

If it is not obvious from the commit message, please indicate the
same information as you would for an issue report:

* What functionality it fixes/adds.
* How can the problem be reproduced / when would the feature be useful.


