jayver 1.0.0

A calendar versioning scheme for binaries developed by Emmett Jayhart
Documentation
//! Basic usage examples for JayVer.
use jayver::Version;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Parse a version string
    let version = Version::parse("25.16.3")?;
    println!("Parsed version: {version}");

    // Create a version with components
    let custom = Version::new(25, 20, 1)?;
    println!("Custom version: {custom}");

    // Get today's version
    let today = Version::today();
    println!("Today's version: {today}");

    // Test version comparison
    let v1 = Version::parse("25.10.0")?;
    let v2 = Version::parse("25.10.5")?;
    let v3 = Version::parse("25.11.0")?;

    println!("v1 < v2: {}", v1 < v2);
    println!("v2 < v3: {}", v2 < v3);

    // Increment patch version
    let mut v = Version::parse("25.10.0")?;
    v.increment_patch();
    println!("After increment: {v}");

    // Move to next week
    v.next_week()?;
    println!("Next week: {v}");

    // Check if two versions are from the same week
    let a = Version::parse("25.10.0")?;
    let b = Version::parse("25.10.5")?;
    println!("Same week: {}", a.same_week(&b));

    Ok(())
}