1Contributing to Uuid 2--- 3[Contributing to Uuid]: #contributing-to-uuid 4 5Thank you for your interest in contributing to the Uuid Project! 6 7* [Feature Requests](#feature-requests) 8* [Bug Reports](#bug-reports) 9* [Pull Requests](#pull-requests) 10* [Writing Documentation](#writing-documentation) 11* [Issue Triage](#issue-triage) 12* [Out-of-tree Contributions](#out-of-tree-contributions) 13* [Helpful Links](#helpful-links) 14 15For any questions, please make a post on [users.rust-lang.org][u-r-l-o], post 16on [uuid-rs mailing list] or join our [gitter] channel. 17 18> All contributors need to follow our [Code of Conduct]. 19 20[Code of Conduct]: CODE_OF_CONDUCT.md 21 22# Feature Requests 23[Feature Requests]: #feature-requests 24 25The `uuid` crate is still in flux. All features desired may not be present. As 26such you are welcome to request for new features. Keep in mind that `uuid` is 27a general purpose library. We want to provide features that most users would 28find useful. As such not every feature may be accepted. 29 30If you have the chance, please [search existing issues], as there is a chance 31that someone has already requested your feature. 32 33File your feature request with a descriptive title, as this helps others find 34your request. 35 36You can request your feature by following [this link][Feature Request Link] and 37filling it in. 38 39> We welcome pull requests for your own feature requests, provided they have 40been discussed. 41 42[Feature Request Link]: https://github.com/uuid-rs/uuid/issues/new?template=Feature_request.md 43 44# Bug Reports 45[Bug Reports]: #bug-reports 46 47While no one likes bugs, they are an unfortunate reality in software. Remember 48we can't fix bugs we don't know about, so don't be shy about reporting. 49 50If you have the chance, please [search existing issues], as there is a chance 51that someone has already reported your error. This isn't strictly needed, as 52sometimes you might not what exactly you are looking for. 53 54File your issue with a descriptive title, as this helps others find your issue. 55 56Reporting a bug is as easy as following [this link][Bug Report Link] and 57filling it in. 58 59Sometimes a backtrace may be needed. In that case, set `RUST_BACKTRACE` 60environment variable to `1`. For example: 61 62```bash 63$ RUST_BACKTRACE=1 cargo build 64``` 65 66> We welcome pull requests for your own bug reports, provided they have been 67discussed. 68 69[Bug Report Link]: https://github.com/uuid-rs/uuid/issues/new?template=Bug_report.md 70 71# Pull Requests 72[Pull Requests]: #pull-requests 73 74Pull requests(PRs) are the primary mechanism we use to change Uuid. GitHub itself 75has some [great documentation] on using the Pull Request feature. We use the 76"fork and pull" model described [here][fnp], where contributors push changes to 77their personal fork and create pull requests to bring those changes into the 78source repository. 79 80Unless the changes are fairly minor (like documentation changes or tiny 81patches), we require PRs to relevant issues. 82 83Please open PRs against branch: 84* `master` when making non-breaking changes 85* `breaking` when your changes alter the public API in a breaking manner 86 87If the pull request is still a work in progress, prepend`[WIP] ` in your 88title. `WIP bot` will make sure that the PR doesn't accidentally get merged. 89 90> Uuid Project has a minimum rust version policy. Currently `uuid` should 91compile with atleast `1.22.0`, and is enforced on our CI builds. 92 93When you feel that the PR is ready, please ping one of the maintainers so 94they can review your changes. 95 96[great documentation]: https://help.github.com/articles/about-pull-requests/ 97[fnp]: https://help.github.com/articles/about-collaborative-development-models/ 98 99# Writing Documentation 100[Writing Documentation]: #writing-documentation 101 102Documentation is an important part of Uuid. Lackluster or incorrect 103documentation can cause headaches for the users of `uuid`. Therefore, 104improvements to documentation are always welcome. 105 106We follow the documentation style guidelines as given by [RFC 1574]. 107 108[RFC 1574]: https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md#appendix-a-full-conventions-text 109 110# Issue Triage 111[Issue Triage]: #issue-triage 112 113Sometimes, an issue might stay open even after the relevant bug has been fixed. 114Other times, the bug report may become invalid. Or we may just forget about the 115bug. 116 117You can help to go through old bug reports and check if they are still valid. 118You can follow [this link][lrus] to look for issues like this. 119 120[lrus]: https://github.com/uuid-rs/uuid/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-asc 121 122# Out-of-tree Contributions 123[Out-of-tree Contributions]: #out-of-tree-contributions 124 125You can contribute to Uuid in other ways: 126 127* Answer questions on [users.rust-lang.org][u-r-l-o], [uuid-rs mailing list] and/or 128[gitter] channel. 129* Find the [crates depending on `uuid`][dependent] and sending PRs to them, 130helping them keep their version of `uuid` up-to-date. 131 132[dependent]: https://crates.io/crates/uuid/reverse_dependencies 133 134# Helpful Links 135[Helpful Links]: #helpful-links 136 137For people new to Uuid, and just starting to contribute, or even for more 138seasoned developers, some useful places to look for information are: 139 140* The Wikipedia entry on [Universally Unique Identifier][wiki-uuid]. 141* [RFC 4122] which gives the specification of Uuids. 142 143[wiki-uuid]: https://en.wikipedia.org/wiki/Universally_unique_identifier 144[RFC 4122]: https://www.ietf.org/rfc/rfc4122.txt 145 146[u-r-l-o]: https://users.rust-lang.org 147[uuid-rs mailing list]: https://uuid-rs.groups.io 148[gitter]: https://gitter.im/uuid-rs/Lobby 149[search existing issues]: https://github.com/uuid-rs/uuid/search?q=&type=Issues&utf8=%E2%9C%93 150