#version #comparison #semver #rust

compare_version

A Rust library for comparing semantic versioning strings and checking version compatibility

8 releases

new 0.2.6 Feb 9, 2025
0.2.5 Jan 20, 2025
0.2.2 Dec 8, 2024
0.2.1 Nov 30, 2024
0.1.1 Nov 1, 2024

#611 in Rust patterns

Download history 228/week @ 2024-11-01 12/week @ 2024-11-08 3/week @ 2024-11-15 144/week @ 2024-11-29 165/week @ 2024-12-06 14/week @ 2024-12-13 6/week @ 2025-01-10 316/week @ 2025-01-17 2/week @ 2025-01-24 21/week @ 2025-01-31 117/week @ 2025-02-07

456 downloads per month

MIT license

15KB
237 lines

Compare version

Official Documentation

A Rust library for comparing semantic versioning strings and checking version compatibility.

Features

  • Version Comparison: Compare two semantic versioning strings to determine their order (greater, less, equal).
  • Version Range Matching: Check if a specific version matches a specified range using ^ and ~ notation.
  • Pre-release Support: Handle pre-release versions with proper comparison logic.
  • Error Handling: Comprehensive error types to handle version parsing and range issues gracefully.

Installation

To use this crate, you can run cmd:

cargo add compare_version

Examples

use compare_version::*;
let result = compare_versions("1.2.3", "1.2.4");
assert_eq!(result, Ok(VersionComparison::Less));
let matches = matches_version_range("1.2.3", "^1.2.0");
assert_eq!(matches, Ok(true));
let matches = matches_version_range("1.2.3", "~1.2.4");
assert_eq!(matches, Ok(false));

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Contact

For any inquiries, please reach out to the author at ltpp-universe root@ltpp.vip.

No runtime deps