Skip to content

v2.0.0-rc.4

Pre-release
Pre-release

Choose a tag to compare

@tstromberg tstromberg released this 24 Jul 05:15

Severity levels & verdicts

  • Severity levels are now expressed as false positives per 100M benign files (default L50); the old 1–9
    scale is gone
  • Each model bundle ships its own default level; -l still overrides
  • Every file reports l: the strictest level at which it fires
  • "Suspicious" now means a file fires above the hostile budget but within the calibrated grid — no
    separate calibration
  • Output shows the matched level and raw route scores; calibrated percentages were dropped (they saturate
    to 1.0)

Models

  • ONNX is now the only model format; LightGBM and XGBoost loaders removed
  • validate fails bundles with feature-layout drift instead of silently scoring zeros; features are matched
    by name, so reordered specs can't misalign
  • Archive routing treats tar.gz as tar, matching training labels
  • New validate --skip-traits checks a model independently of trait updates

Worker

  • Memory-aware admission: large archives run one at a time instead of co-residing and exhausting RAM
  • Analyses share one thread pool with larger stacks, fixing overflows under concurrent deep archives
  • Oversized results post the verdict without the raw report rather than losing the analysis
  • New heartbeat API reports liveness, load, queue depth, and throughput even while busy
  • Native FreeBSD deploy support; correct CPU detection on illumos/Solaris
  • bench_hopper: a local mock server for benchmarking the worker end to end

Other

  • Daily zero-telemetry update check; a hosted manifest also pins the matching models ref
  • scan accepts files and directories together in one run
  • Dependency updates