Thank you for considering to work on this project. This document will give you some pointers.
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.
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.
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
),
- Create a branch for the release (replace x.y.z with actual version)
$ git checkout -b release-x.y.z
-
Update
CHANGELOG.md
-
Update version in
Cargo.toml
-
Update versions in README.md, if version bump is major or minor
-
Commit these changes
-
Open pull request; state your intention to release a new version
$ git push -u origin release-x.y.z
# Open pull request
-
Review pull request yourself or wait for reviews, as appropriate
-
Publish the crate
$ cargo publish
- Merge pull request and update your local repository
$ git checkout master
$ git pull upstream master
- Tag the release (latest commit is assumed to be the appropriate one here)
$ git tag vx.y.z
$ git push --tag upstream