Skip to content

Releases: umbgtt10/crap4rust

v0.6.0

27 Apr 20:13
v0.6.0
f0a97b4

Choose a tag to compare

[0.6.0] - 2025-04-26

Added

  • --output-format json for structured CI-friendly output
  • --warn-threshold CLI argument to set the warning threshold independently (default 20.0)
  • src/complexity.rs — cognitive complexity scoring extracted from source.rs into its own module
  • tests/complexity_tests.rs — 10 direct tests parsing Rust code via syn
  • tests/app_tests.rs — 20 pure logic tests with AAA structure
  • tests/source_tests.rs — full-stack complexity integration tests (renamed from complexity_tests.rs)
  • tests/all_tests.rs plumbing with autotests = false
  • tests/fixtures/mod.rs — CLI fixture tests organized under tests/fixtures/

Changed

  • JSON output format via --output-format json produces structured report with all fields
  • source.rs reduced from 34 to ~20 functions after complexity extraction
  • Test files follow <source>_tests.rs naming convention
  • All tests follow AAA (Arrange / Act / Assert) structure
  • 69 tests total: 28 fixture + 20 app logic + 11 source + 10 complexity

v0.3.0

06 Apr 19:40
v0.3.0
a1bf681

Choose a tag to compare

  • --features flag for passing Cargo feature flags to the coverage build
  • --all-features flag to activate all features during the coverage build
  • --no-default-features flag to disable default features during the coverage build
  • --include-test-targets flag to include test targets in function discovery
  • --exclude-path flag (repeatable) to omit specific source paths from analysis

v0.2.0

14 Mar 15:18
v0.2.0
b450945

Choose a tag to compare

Second public release.

Added

  • Regression coverage for root-package-only automatic coverage generation
  • Regression coverage ensuring non-production test targets are excluded by default
  • Regression coverage ensuring #[cfg(test)] modules inside src/ are excluded from discovery
  • Regression coverage ensuring normal successful runs remain silent on stderr

Changed

  • Automatic cargo llvm-cov generation now follows the resolved package selection instead of raw CLI package flags
  • Coverage matching now falls back from exact function start-line matches to the nearest matching line within the discovered function span
  • Source discovery now filters out non-production targets and excludes test-only code paths more aggressively