#version #comparison #semver #rust

compare_version

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

7 releases

0.2.5 Jan 20, 2025
0.2.4 Jan 19, 2025
0.2.2 Dec 8, 2024
0.2.1 Nov 30, 2024
0.1.1 Nov 1, 2024

#609 in Rust patterns

Download history 214/week @ 2024-10-30 26/week @ 2024-11-06 1/week @ 2024-11-13 2/week @ 2024-11-20 136/week @ 2024-11-27 163/week @ 2024-12-04 24/week @ 2024-12-11 6/week @ 2025-01-08 315/week @ 2025-01-15

321 downloads per month

MIT license

15KB
238 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