diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24accc6..7bd78d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,8 +86,9 @@ jobs: - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: + token: ${{ secrets.CODECOV_TOKEN }} file: lcov.info - fail_ci_if_error: true + fail_ci_if_error: false security: name: Security Audit diff --git a/CHANGELOG.md b/CHANGELOG.md index 710e44f..b875623 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Fixed +- **Minimal Versions CI Compatibility**: Updated minimum dependency versions to ensure compatibility with `cargo minimal-versions` testing on Rust nightly + - `hashbrown` ≥ 0.14.5 (fixes ahash stdsimd feature issue with modern nightly Rust) + - `lazy_static` ≥ 1.3.0 (fixes macro export issues with sharded-slab) + - `anyhow` ≥ 1.0.40 (fixes backtrace trait compatibility) + - `thiserror` ≥ 1.0.20 (ensures full #[from] attribute support) + - `chrono` ≥ 0.4.20 (ensures DateTime::default() implementation) + - `tracing-subscriber` ≥ 0.3.18 (uses compatible sharded-slab version) + ## [0.1.0] - 2024-08-16 🎉 **Initial release of Rust Guardian - Production-ready dynamic code quality enforcement** diff --git a/Cargo.toml b/Cargo.toml index d4827f0..16059c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust-guardian" -version = "0.1.0" +version = "0.1.1" edition = "2021" authors = ["The Rust Guardian Team"] description = "Dynamic code quality enforcement preventing incomplete or placeholder code" @@ -50,22 +50,30 @@ glob = "0.3" notify = { version = "6.1", features = ["macos_kqueue"] } # Error handling -anyhow = "1.0" -thiserror = "1.0" +anyhow = "1.0.40" # Minimum version for proper backtrace support with modern Rust +thiserror = "1.0.20" # Minimum version for full #[from] attribute support # Logging tracing = "0.1" -tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } +tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] } # Utilities -chrono = { version = "0.4", features = ["serde"] } +chrono = { version = "0.4.20", features = ["serde"] } # Minimum version with DateTime::default() uuid = { version = "1.8", features = ["v4"] } sha2 = "0.10" +# Ensure minimum version to avoid compatibility issues on nightly +# lazy_static 1.3.0+ properly exports macros needed by sharded-slab (used by tracing-subscriber) +lazy_static = "1.3" + # Optional performance optimizations memmap2 = { version = "0.9", optional = true } lru = { version = "0.12", optional = true } +# Ensure minimum version of hashbrown to avoid ahash stdsimd issue on nightly +# hashbrown 0.14.5+ requires ahash 0.8.7+ which is compatible with modern Rust nightly +hashbrown = { version = "0.14.5", optional = true } + # Terminal output crossterm = { version = "0.27", optional = true } colored = { version = "2.1", optional = true } @@ -83,7 +91,7 @@ default = ["cli", "cache", "colors"] cli = ["crossterm", "colored"] # Performance caching -cache = ["lru", "memmap2"] +cache = ["lru", "hashbrown", "memmap2"] # Colored terminal output colors = ["colored", "crossterm"] diff --git a/README.md b/README.md index 4a5059e..f7ff496 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,6 @@ Rust Guardian is a self-contained, production-ready crate for comprehensive code - **📊 Multiple Output Formats**: Human, JSON, JUnit, SARIF, GitHub Actions - **⚙️ Flexible Configuration**: YAML-based pattern customization - **🔄 Watch Mode**: Real-time validation during development -- **🎯 Zero Dependencies**: Self-contained with no external crate dependencies ## Quick Start diff --git a/src/main.rs b/src/main.rs index f410edf..07479b7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,7 +16,7 @@ use std::process; /// Rust Guardian - Dynamic code quality enforcement #[derive(Parser)] #[command(name = "rust-guardian")] -#[command(version = "0.1.0")] +#[command(version = "0.1.1")] #[command(about = "Dynamic code quality enforcement preventing incomplete or placeholder code")] #[command( long_about = "Rust Guardian analyzes code for quality violations, placeholder implementations, and architectural compliance. Designed for autonomous agent workflows and CI/CD integration." diff --git a/src/report/mod.rs b/src/report/mod.rs index 34c6c23..d036a75 100644 --- a/src/report/mod.rs +++ b/src/report/mod.rs @@ -673,7 +673,7 @@ impl ReportFormatter { "tool": { "driver": { "name": "rust-guardian", - "version": "0.1.0", + "version": "0.1.1", "informationUri": "https://github.com/cloudfunnels/rust-guardian" } },