2.0.0-beta.1
Pre-release
Pre-release
What's Changed
- Added .NET (NuGet) ecosystem support:
check,audit,--outdated, andfixfor projects detected via*.csproj/*.fsproj/*.vbproj/*.sln, using the nativedotnetCLI - Added a
licensescommand that checks dependency licenses against an allow/deny policy (licenses.allow/licenses.denyin preflight.yml, or--allow/--deny) across all supported ecosystems (Composer, Rust, JavaScript natively; Go, Python, and Ruby via go-licenses, pip-licenses, and license_finder) auditnow reports individual findings with advisory ID, affected package, severity, and advisory URL instead of only severity counts;audit --jsonadds afindingsarray (schemaVersion 3)auditcan now suppress accepted advisories viaignoredCvesin preflight.yml or the repeatable--ignore-cveflag, matched by CVE/GHSA ID or alias; an ecosystem whose findings are all suppressed passesaudit -o sarifexports findings as SARIF 2.1.0 for upload to GitHub/GitLab code scanning; in SARIF mode findings are reported to code scanning rather than via a non-zero exit, so a later upload step still runs- Release artifacts now ship cosign signatures, SBOMs, and SLSA build provenance, and npm packages are published with provenance, so installs can be verified
checknow offers to runfixwhen it finds missing dependencies in an interactive terminal, via ay/Nprompt that defaults to no (skipped in CI, with--quiet, or-o json)initandhooks installnow prompt to confirm overwriting an existing file in an interactive terminal instead of requiring--force(the--force-or-error behavior is unchanged in CI and non-interactive use)- Added a global
--debugflag that logs each command run, its exit code, and duration (plus stderr on failure) to stderr - Added a global
--cwd/-Cflag to run PreFlight as if started in another directory - Monorepo traversal now recognizes Cargo workspaces and uv (Python) workspaces, alongside npm/yarn/pnpm/bun and Go
- Replaced the per-command
--jsonflag with-o/--format text|json - Replaced the
versioncommand with a--versionflag - Replaced the
--pmand--scopeflags with a single--onlyflag -vis now the shorthand for--verbose; print the version with the long--versionflagcheck --jsonnow reports onemessagesarray per scope with aseverityfield instead of separateerrors/warnings/successesarraysfix --jsonnow emits camelCase keys and aschemaVersion, matchingcheck --jsonandaudit --json- Usage and internal errors now exit with code 2, leaving exit code 1 for findings such as missing dependencies, vulnerabilities, or fix failures
checklists installed dependencies by default and collapses large sections to a count; pass--verboseto list every dependencycheckProject section no longer shows redundant lines: the package manager version (already under Toolchain), static Node scope text, or<file> existsand<manifest> found:confirmationschecknow warns when a project that declares dependencies has no lockfile, since installs are not reproducible without onecheckToolchain line for PHP no longer includes the build date and compiler, only the installed version and required rangefixfailures now report the command and exit code instead of a bareexit status Nhooks installnow writes to the directory fromcore.hooksPathand supports git worktrees, so it works alongside Husky and custom hook setups- Colored output now turns off automatically when output is not a terminal and honors the
NO_COLORandFORCE_COLORenvironment variables checkno longer falsely reports PHP as not installed, or lists a startup warning as an extension, when PHP prints warnings (such as a failed extension load) before its version bannercheck,fix, andauditno longer hang after a timeout or Ctrl-C when a package manager leaves a child process running- Removed the
listcommand - Removed the GitHub update check
- Dropped support for the legacy
bun.lockblockfile; bun projects are detected viabun.lock