# Contributing to Rust IEEE 802.15.4 Thank you for considering to work on this project. This document will give you some pointers. ## Opening issues If you found a problem, please [open an issue] on the [GitHub repository]. If you're not sure whether you found a real problem or not, just open an issue anyway. We'd rather close a few invalid issues than miss anything relevant. ## Contributing changes If you want to fix an issue or implement a new feature, just fork the repository, make your change, and create a [pull request]. If you're concerned that your change might not be accepted, feel free to [open an issue] to discuss things beforehand. If you're having any problems with completing your change, feel free to open a pull request anyway and ask any questions there. We're happy to help you get your changes across the finish line. ## Release Procedure This section is intended for project maintainers only. It assumes that you can push to the repository (here called `upstream`), but primarily work on your own fork (`origin`), 1. Create a branch for the release (replace x.y.z with actual version) ``` $ git checkout -b release-x.y.z ``` 2. Update `CHANGELOG.md` 3. Update version in `Cargo.toml` 4. Update versions in README.md, if version bump is major or minor 5. Commit these changes 6. Open pull request; state your intention to release a new version ``` $ git push -u origin release-x.y.z # Open pull request ``` 7. Review pull request yourself or wait for reviews, as appropriate 8. Publish the crate ``` $ cargo publish ``` 9. Merge pull request and update your local repository ``` $ git checkout master $ git pull upstream master ``` 10. Tag the release (latest commit is assumed to be the appropriate one here) ``` $ git tag vx.y.z $ git push --tag upstream ``` [open an issue]: https://github.com/braun-robotics/rust-ieee802.15.4/issues/new [GitHub repository]: https://github.com/braun-robotics/rust-ieee802.15.4 [pull request]: https://github.com/braun-robotics/rust-ieee802.15.4/pulls