• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H03-May-2022-5448

benches/H03-May-2022-2519

src/H03-May-2022-2,0081,266

tests/H03-May-2022-768643

.cargo-checksum.jsonH A D03-May-202289 11

.cargo_vcs_info.jsonH A D01-Jan-197074 65

.clippy.tomlH A D29-Nov-197316 21

.gitignoreH A D29-Nov-197366 65

Cargo.tomlH A D01-Jan-19701,014 3330

Cargo.toml.orig-cargoH A D29-Nov-1973557 2218

LICENSE-APACHEH A D29-Nov-197310.6 KiB202169

LICENSE-MITH A D29-Nov-19731,023 2421

README.mdH A D29-Nov-19733.9 KiB8561

build.rsH A D29-Nov-19732.7 KiB8046

README.md

1semver
2======
3
4[<img alt="github" src="https://img.shields.io/badge/github-dtolnay/semver-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/dtolnay/semver)
5[<img alt="crates.io" src="https://img.shields.io/crates/v/semver.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/semver)
6[<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-semver-66c2a5?style=for-the-badge&labelColor=555555&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K" height="20">](https://docs.rs/semver/1.0.0)
7[<img alt="build status" src="https://img.shields.io/github/workflow/status/dtolnay/semver/CI/master?style=for-the-badge" height="20">](https://github.com/dtolnay/semver/actions?query=branch%3Amaster)
8
9A parser and evaluator for Cargo's flavor of Semantic Versioning.
10
11Semantic Versioning (see <https://semver.org>) is a guideline for how version
12numbers are assigned and incremented. It is widely followed within the
13Cargo/crates.io ecosystem for Rust.
14
15```toml
16[dependencies]
17semver = "1.0"
18```
19
20*Compiler support: requires rustc 1.31+*
21
22<br>
23
24## Example
25
26```rust
27use semver::{BuildMetadata, Prerelease, Version, VersionReq};
28
29fn main() {
30    let req = VersionReq::parse(">=1.2.3, <1.8.0").unwrap();
31
32    // Check whether this requirement matches version 1.2.3-alpha.1 (no)
33    let version = Version {
34        major: 1,
35        minor: 2,
36        patch: 3,
37        pre: Prerelease::new("alpha.1").unwrap(),
38        build: BuildMetadata::EMPTY,
39    };
40    assert!(!req.matches(&version));
41
42    // Check whether it matches 1.3.0 (yes it does)
43    let version = Version::parse("1.3.0").unwrap();
44    assert!(req.matches(&version));
45}
46```
47
48<br>
49
50## Scope of this crate
51
52Besides Cargo, several other package ecosystems and package managers for other
53languages also use SemVer:&ensp;RubyGems/Bundler for Ruby, npm for JavaScript,
54Composer for PHP, CocoaPods for Objective-C...
55
56The `semver` crate is specifically intended to implement Cargo's interpretation
57of Semantic Versioning.
58
59Where the various tools differ in their interpretation or implementation of the
60spec, this crate follows the implementation choices made by Cargo. If you are
61operating on version numbers from some other package ecosystem, you will want to
62use a different semver library which is appropriate to that ecosystem.
63
64The extent of Cargo's SemVer support is documented in the *[Specifying
65Dependencies]* chapter of the Cargo reference.
66
67[Specifying Dependencies]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
68
69<br>
70
71#### License
72
73<sup>
74Licensed under either of <a href="LICENSE-APACHE">Apache License, Version
752.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.
76</sup>
77
78<br>
79
80<sub>
81Unless you explicitly state otherwise, any contribution intentionally submitted
82for inclusion in this crate by you, as defined in the Apache-2.0 license, shall
83be dual licensed as above, without any additional terms or conditions.
84</sub>
85