unstale

npm / @cyclonedx/cdxgen

@cyclonedx/cdxgen

What changed in @cyclonedx/cdxgen 12 to 13, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

32 breaking35 security79 new APIs and options9 performance61 behavior and defaults6 tooling81 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

@cyclonedx/cdxgen 13199 changes

Breaking changes 20

  • Requires --verify-existing-with or --allow-unverified-history before adding a signers entry.

    12.8.6, 13.4.0release notesrelease notes

  • Exits with status 4 whenever a key is given and verification fails.

    12.8.6, 13.4.0release notesrelease notes

  • Requires --public-key or --secret-key and a root signature; verification rejects invalid UTF-8, duplicate member names, and numbers not exactly representable as doubles.

    13.4.0release notes

  • Generated .NET purls no longer use @latest.

    13.4.0release notes

  • A project's settings.xml no longer overrides configured mirrors and credentials.

    13.4.0release notes

  • cdx-verify requires this repeatable option or --secret-key, rather than falling back to a working-directory public.key.

    12.8.6, 13.4.0release notesrelease notes

  • Fails when the sandbox refuses a trace run instead of writing an empty BOM.

    13.4.0release notes

  • Lets cdx-sign verify existing history before adding a signers entry.

    13.4.0release notes

  • Verification is stricter against BOM content not signed by the trusted key, including missing root signatures and ambiguous JSON values.

    13.4.0release notes

  • The cbom command rejects -t os instead of attempting source crypto analysis against an OS inventory.

    13.1.0release notes

  • Distro qualifiers are aligned with purl namespaces, and Azure Linux and CBL-Mariner are canonicalised to azure-linux.

    13.1.0release notes

  • The npm package was renamed from @cyclonedx/cdxgen.

    13.0.0release notes

  • The generation floor is now CycloneDX 1.6, 1.7 is the default, and 2.0 is accepted as a target; CLI generation of 1.4 and 1.5 is no longer supported.

    13.0.0release notes

  • Container images moved from the ghcr.io/cyclonedx namespace to ghcr.io/cdxgen.

    13.0.0release notes

  • The minimum supported Node.js version is now 24.

    13.0.0release notes

  • Writes the BOM document to stdout instead of silently creating a file named -.

    13.0.0release notes

  • Invalid purls are omitted, PyPI names are normalized, and several purl forms were repaired; downstream consumers should normalize purl strings before lookup during the transition.

    13.0.0release notes

  • PyPI names containing dots or underscores are normalized to hyphens per PEP 503, changing both purl and bom-ref.

    13.0.0release notes

  • The Flux data-flow engine drops sanitised and benign flows, lowering reachable counts and increasing purl coverage; existing assertions may need re-baselining.

    13.0.0release notes

  • stdout carries only the payload; diagnostics move to stderr.

    13.0.0release notes

Security 21

  • Allows a BOM without a root signature only when every component, service, and annotation is signed.

    13.4.0release notes

  • pnpm BOMs no longer expose the absolute install path.

    13.4.0release notes

  • Fails when any entry or any provided key does not verify.

    13.4.0release notes

  • Keys response-cache entries on credentials so one user's response is not served to another.

    13.4.0release notes

  • Adds audit rules for mutable git refs, registry modules without exact versions, and sources with embedded credentials.

    13.4.0release notes

  • Prevents credentials in module sources from reaching the BOM.

    13.4.0release notes

  • Crafted container image tar references can no longer access host files through layer, config or WorkingDir paths.

    13.3.0release notes

  • flake.nix inputs are capped or rewritten to run in linear time, reducing parsing abuse.

    13.3.0release notes

  • When dependency installation is disabled, project-local build wrappers and rush or pipenv installers are no longer executed.

    13.3.0release notes

  • Files with prototype-polluting keys now produce a warning instead of crashing.

    13.3.0release notes

  • pnpm lock entries named __proto__ are prevented from reaching the SBOM.

    13.3.0release notes

  • Docker-config registry credentials are forwarded to a token realm only when it is on the registry's own host.

    13.3.0release notes

  • requirements.txt inputs are capped or rewritten to run in linear time, reducing parsing abuse.

    13.3.0release notes

  • Arguments passed to shell commands are quoted for the platform shell so paths with spaces or shell characters remain single tokens.

    13.3.0release notes

  • tracebom runs traced commands through safer-exec with an egress proxy, sandbox dry-run mode and policy flags, and reports unavailable tracing or command failures.

    13.3.0release notes

  • PyTorch pickle checkpoints are flagged because loading them executes code.

    13.2.0release notes

  • ML-DSA, ML-KEM, and all twelve SLH-DSA parameter sets use verified OIDs; unresolvable families are skipped rather than assigned fabricated OIDs.

    13.2.0release notes

  • SLH-DSA now requires its hash family, preventing crashes on spellings such as SLH-DSA-192f.

    13.2.0release notes

  • Plugin skills preview actions with a dry run and do not install dependencies on the user's behalf.

    13.1.0release notes

  • These files are detected and hashed but never executed; repairs are taken from the lockfile instead.

    13.0.0release notes

  • packageExtensions in a project's package.json are applied declaratively and disclosed on the BOM without executing project code.

    13.0.0release notes

New APIs and options 53

  • Allows cdx-sign to add a signers entry without verifying existing history.

    13.4.0release notes

  • Angular app.config.ts files are now analyzed.

    13.4.0release notes

  • astgen adds template analysis for Ember, Angular, Alpine, and Astro.

    13.4.0release notes

  • Reads CMake presets to find build trees.

    13.4.0release notes

  • Mill 1.x projects are inventoried.

    13.4.0release notes

  • scala-cli projects are inventoried.

    13.4.0release notes

  • cdx-verify requires this option or --public-key.

    13.4.0release notes

  • Supports Windows tracing in a Microsoft eXecution Container and records loaded DLLs through ETW with valid purls.

    13.4.0release notes

  • Now include tracebom.

    13.4.0release notes

  • Full CMake and compilation database support depends on atom 4; atom 3.1.1 parses sources without a database as before.

    13.3.0release notes

  • Atom runs have their own configurable time limit.

    13.3.0release notes

  • CAXA_PREFETCH is documented as a configuration point for standalone-binary prefetching.

    13.3.0release notes

  • The standalone binary extraction directory is a reusable cache, with CAXA_TEMP_DIR documented for configuring it.

    13.3.0release notes

  • A path to a CMake cache can be supplied so cdxgen can resolve C and C++ dependencies from the build.

    13.3.0release notes

  • Specify a JSON compilation database explicitly for cdxgen or evinse; it is passed to atom only when the installed atom supports it.

    13.3.0release notes

  • The new caxa mode builds an SBOM from the extracted app, including npm integrity hashes, present native tools and vendored packages.

    13.3.0release notes

  • A new project type inventories installed agentic coding assistants, recording versions and structural counts without configuration values and redacting home paths.

    13.2.0release notes

  • Dosai package reachability verdicts are propagated with their kind, confidence, and reasons.

    13.2.0release notes

  • Kotlin analysis records data-flow slices, trace completeness, workspace-root reachability, and kosi diagnostics, including degraded status when kosi does not trust its counts.

    13.2.0release notes

  • Set a target triple to resolve the Cargo dependency graph for that specific target.

    13.2.0release notes

  • Set this environment variable to 1 to opt out of kosi analysis.

    13.2.0release notes

  • Use this flag to opt out of kosi analysis.

    13.2.0release notes

  • Configure the registry-aware default user agent with this environment variable.

    13.2.0release notes

  • Override the user agent for the crates registry.

    13.2.0release notes

  • Elm is supported as a project type, including elm.json and legacy 0.18 lockfiles, with offline enrichment from ELM_HOME and optional registry queries.

    13.2.0release notes

  • evinse can analyze Kotlin sources natively with kosi, producing source locations, callstacks, cryptographic assets, and SaaSBOM services instead of using the generic JavaScript path.

    13.2.0release notes

  • Kotlin analysis surfaces JNI seams, loadLibrary binding sites, and cinterop .def files as security signals on the components they attach to.

    13.2.0release notes

  • The JavaScript analyzer provides first-class Svelte and SvelteKit support, recovering source evidence from .svelte imports and attributing SvelteKit virtual modules to @sveltejs/kit.

    13.2.0release notes

  • cdxgen ships as a Claude Code plugin for SBOM, container and host scans, CBOM, AI-BOM and MCP inventory, auditing, signing, validation, evidence enrichment, and Dependency-Track publishing.

    13.1.0release notes

  • SaaSBOM routes include handler path and query parameters, request body type, and response type across gin, chi, echo, and net/http.

    13.1.0release notes

  • Scans can report SBOM completeness, build-environment limitations, and ranked remediations to improve fidelity.

    13.1.0release notes

  • The introspect profile provides SBOM completeness reporting and ranked remediation guidance.

    13.1.0release notes

  • CycloneDX 1.7 cryptographic assets support the algorithmFamily field.

    13.0.0release notes

  • Zig is a first-class project type; build.zig.zon is read and the full transitive graph is resolved.

    13.0.0release notes

  • A cache subcommand is available for the bounded fetch cache.

    13.0.0release notes

  • Sets the fetch cache TTL.

    13.0.0release notes

  • The BOM discloses applied npm packageExtensions.

    13.0.0release notes

  • The BOM discloses a hash for applied npm packageExtensions.

    13.0.0release notes

  • Setting this environment variable to stdout restores the v12 stream layout during migration.

    13.0.0release notes

  • CycloneDX 1.7 citations are supported at the document root.

    13.0.0release notes

  • Controls color output.

    13.0.0release notes

  • CycloneDX 1.7 cryptographic assets support the ellipticCurve field.

    13.0.0release notes

  • Gleam is a first-class project type and its project and manifest files are read to map packages to pkg:hex.

    13.0.0release notes

  • Selects the log format, including NDJSON on stderr.

    13.0.0release notes

  • Traffic Light Protocol classification is supported under document distribution constraints, with value redaction for CLEAR, GREEN, and AMBER.

    13.0.0release notes

  • Bazel projects using bzlmod are parsed from MODULE.bazel and MODULE.bazel.lock, with resolved dependencies mapped to their real ecosystem purls.

    13.0.0release notes

  • Mojo is a first-class project type; Mojo-native packages are separated from conda and PyPI packages pulled in through pixi.lock.

    13.0.0release notes

  • Disables the bounded fetch cache.

    13.0.0release notes

  • Disables progress output.

    13.0.0release notes

  • A quiet flag is available.

    13.0.0release notes

  • Retrieves and merges a supplier SBOM over the TEA conformance endpoint.

    13.0.0release notes

  • Publishes the generated BOM as a TEA Artifact; the experimental publisher uses exit status 3 on failure so the locally written BOM is not lost.

    13.0.0release notes

  • Verbose levels are now countable.

    13.0.0release notes

Performance 9

  • Walks the source tree once instead of ten times.

    13.4.0release notes

  • Skips packages no public registry can describe and remembers answers for the whole scan.

    13.4.0release notes

  • Cargo, Go, NuGet, RubyGems, pub, jsr, and Elm enrichment reads local caches first and fills only missing data.

    13.4.0release notes

  • Builds are fully supported and faster; deep sbt scans reuse the Coursier cache.

    13.4.0release notes

  • Large standalone-binary companions become lazy members, extracted and verified on first use, reducing cold-start writes and memory use.

    13.3.0release notes

  • Crate metadata is read from the local Cargo registry before querying crates.io, reducing delays on large lockfiles.

    13.2.0release notes

  • Call graph construction is leaner and roughly ten times faster.

    13.1.0release notes

  • The cdxrs Rust binary backs fetch, while JavaScript paths remain primary and Rust paths are an optional optimization.

    13.0.0release notes

  • Startup and small-project scans are roughly 45 percent faster, peak memory is down, and large scans are significantly faster with the new Rust backend.

    13.0.0release notes

Behavior and default changes 43

  • Astro configuration files are now analyzed.

    13.4.0release notes

  • Separates first-party and vendored code from third-party libraries.

    13.4.0release notes

  • Attributes evidence through resolved includes.

    13.4.0release notes

  • Records the compiler and its hardening flags in the formulation.

    13.4.0release notes

  • Deep sbt scans reuse the Coursier cache.

    13.4.0release notes

  • Uses metadata from the scanned project rather than the current working directory.

    13.4.0release notes

  • Produces Scala occurrences with exact lines, call stacks, crypto asset OIDs, and inbound and outbound endpoints without requiring atom.

    13.4.0release notes

  • Produces Scala occurrences with exact lines, call stacks, crypto asset OIDs, and inbound and outbound endpoints without requiring atom.

    13.4.0release notes

  • Checks local Maven, Gradle, and Coursier caches first, reducing Maven Central requests and avoiding them when build tools use a repository manager.

    13.4.0release notes

  • Pauses a rate-limiting host, honors Retry-After, and advises which mirror setting to use; build tools stop retrying into a rate limit.

    13.4.0release notes

  • Captures TLS details and egress hosts from a normal prompt.

    13.4.0release notes

  • Fills metadata for poetry, uv, pylock, Pipfile.lock, and requirements entries.

    13.4.0release notes

  • backs off from hosts that rate limit.

    13.4.0release notes

  • Builds evidence from compiler facts for Scala 2.13 and Scala 3 through 3.10, improving precision and accuracy.

    13.4.0release notes

  • Default scans now pick up Terraform automatically.

    13.4.0release notes

  • Scans Terraform modules whether or not terraform init or tofu init has run, and builds a dependency graph from the root through modules to providers.

    13.4.0release notes

  • Reads module licenses from downloaded packages, with optional OpenTofu registry and GitHub lookup.

    13.4.0release notes

  • cdxgen resolves C and C++ dependencies from build trees, including CMake requirements and fetched or pinned dependencies, rather than stopping at manifests.

    13.3.0release notes

  • A JSON compilation database is automatically sought in the scan root, usual build directories, and next to --cmake-cache.

    13.3.0release notes

  • The Ruby collector no longer runs for every multi-type scan, avoiding unnecessary bundle install for non-Ruby projects.

    13.3.0release notes

  • In container mode, trivy runs only as a rootfs scan.

    13.3.0release notes

  • Windows container image scans can use WSL Containers automatically when wslc is installed, without requiring Docker Desktop.

    13.3.0release notes

  • Build dependencies and proc-macros move out of the component list into the formulation section, with their bom-refs kept resolvable.

    13.2.0release notes

  • Dynamically linked native libraries are marked external under CycloneDX 1.7.

    13.2.0release notes

  • Maven Central requests are gated behind a per-host rate policy to address its aggregate limits and escalating bans.

    13.2.0release notes

  • Detection now reads additional client configurations, MCP Registry server.json manifests, MCPB and DXT bundles, and signals from the MCP 2026-07-28 protocol draft.

    13.2.0release notes

  • Inventory now recognizes GGUF, safetensors, ONNX, and PyTorch pickle checkpoints.

    13.2.0release notes

  • Crates declaring links produce separate native C library components, so advisories can be associated with the native library rather than its Rust binding.

    13.2.0release notes

  • BOM submission now uses a multipart form POST.

    13.1.0release notes

  • Taint analysis carries field-qualified values across by-value aggregate copies and higher-order calls.

    13.1.0release notes

  • Analysis resolves routes, inventories services and AI usage, seeds taint sources, and maps trust zones, including MCP tooling.

    13.1.0release notes

  • Framework signals are derived from PyPI classifiers, and the frameworks list has grown.

    13.1.0release notes

  • Rust analysis evaluates cfg attributes.

    13.1.0release notes

  • Rust analysis now analyses dependencies.

    13.1.0release notes

  • Rust analysis types method receivers.

    13.1.0release notes

  • Rust analysis resolves real modules and imports rather than guessing.

    13.1.0release notes

  • Unordered collections are sorted at finalization for deterministic output, and annotation timestamps derive from the annotated document so repeated renders agree.

    13.0.0release notes

  • C/C++ BOMs now resolve CMakeCache.txt and git submodules, attach cache versions, collapse repeated CMake requirements, and emit relative purl subpaths for absolute includes and versionless lockfile roots.

    13.0.0release notes

  • A strict purl implementation enforcing the purl-spec ABNF and per-type policies replaces packageurl-js.

    13.0.0release notes

  • Container and OS scan BOMs are kept as CI artifacts even when a scan fails.

    13.0.0release notes

  • Embedded Python SBOMs under this directory are expanded so their declared components appear as dependencies of the distribution.

    13.0.0release notes

  • Native atom binaries remove the JDK requirement on five platform targets; the three jar-kind triples still need Java 23.

    13.0.0release notes

  • Path-style alias values are resolved instead of being built into purls.

    13.0.0release notes

Tooling 3

  • New Python 3.15 images are available.

    13.4.0release notes

  • Swift images now include sourcekitten, so Linux evidence collection does not require an extra install.

    13.3.0release notes

  • Go 1.27 projects are supported end to end.

    13.1.0release notes

Fixes and other changes 50

  • Evidence is version-aware, lists each call site once, and no longer credits framework calls to coverlet.

    13.4.0release notes

  • Resolves repo-relative paths correctly and reports failures.

    13.4.0release notes

  • Gradle builds using the configuration cache work again.

    13.4.0release notes

  • Gradle builds using isolated projects work again.

    13.4.0release notes

  • Attributes dependencies in multi-project Gradle reports to the correct subproject.

    13.4.0release notes

  • Resolves repo-relative paths correctly and reports failures.

    13.4.0release notes

  • Packages with the legacy licenses field now get a license.

    13.4.0release notes

  • Resolves Maven reactors once.

    13.4.0release notes

  • MSBuild property versions now resolve.

    13.4.0release notes

  • Direct dependencies point to what was actually installed.

    13.4.0release notes

  • Multi-project solutions use the version from each project's own restore output.

    13.4.0release notes

  • A failed PyPI lookup can no longer rename a package.

    13.4.0release notes

  • Resolves repo-relative paths correctly and reports failures.

    13.4.0release notes

  • Writes a CBOM that validates against CycloneDX 1.6 and 1.7.

    13.4.0release notes

  • Keeps every traced crypto asset instead of only the last one.

    13.4.0release notes

  • Keeps uv workspace members in every scan.

    13.4.0release notes

  • Validator exceptions now surface in cdx-validate reports.

    13.3.0release notes

  • The .NET root is merged instead of duplicated, synthesized arborist edges are not marked as manifest sources, and protobuf round-trips no longer yield empty dependsOn.

    13.3.0release notes

  • dosai now respects the exclusion option.

    13.3.0release notes

  • JavaScript workspace members are now linked into the dependency tree.

    13.3.0release notes

  • Ruby gem metadata now describes the gem being built, with version and descriptive fields carried over from its gemspec and version.rb.

    13.3.0release notes

  • The cleaned npm version is recorded as a purl qualifier while reserved characters in purls are escaped exactly once.

    13.3.0release notes

  • A NuGet scan falls back when the service index is unreachable.

    13.3.0release notes

  • A gem's required Ruby version is represented as one Ruby platform component with an intersected version range.

    13.3.0release notes

  • Gemspec fields including email, singular license, unquoted homepage URLs and interpolated metadata URIs are now parsed.

    13.3.0release notes

  • evinse evidence is restored for the Swift Build backend by attributing calls through compiler-resolved references.

    13.3.0release notes

  • Bare owner/repo-shaped paths are no longer misclassified as Hugging Face repositories, avoiding an empty AI-only BOM.

    13.2.0release notes

  • A NuGet component's version and purl now stay in agreement.

    13.2.0release notes

  • The TOML parser change enables parsing PEP 735 dependency groups in pyproject.toml files.

    13.2.0release notes

  • The default user agent no longer gets blocked at crates.io's CDN edge, fixing 403s some users saw.

    13.2.0release notes

  • Rust dependency kinds and platform gates are resolved per edge, so this option filters dependencies correctly; observed optional dependencies are promoted to required.

    13.2.0release notes

  • Resolved Rust features are recorded per component.

    13.2.0release notes

  • Crypto algorithm assets resolve OIDs from the shared table; algorithms that cannot be named by the table are skipped instead of emitted invalid.

    13.2.0release notes

  • Audit rules remain evaluable when a property is absent.

    13.1.0release notes

  • Call graph construction falls back to CHA and records a diagnostic instead of aborting the report when underlying analysis panics.

    13.1.0release notes

  • Handler analysis follows import aliases and renamed context parameters, and resolves group-root registrations to their group prefix.

    13.1.0release notes

  • JVM projects can be resolved when their wrapper is broken or they target an unsupported JDK, avoiding shallow BOMs.

    13.1.0release notes

  • Poetry dependency keys are normalised.

    13.1.0release notes

  • Dependency-Track project tags are sent as a comma separated list so they do not land as a single value.

    13.1.0release notes

  • An unparseable workspace pyproject.toml no longer terminates the scan.

    13.1.0release notes

  • First-party modules are no longer misattributed to distributions.

    13.1.0release notes

  • Parsing emits parent dependency edges and repairs missing root edges.

    13.1.0release notes

  • Route templates resolve to concrete URLs, including versioned segments.

    13.1.0release notes

  • Rust analysis recovers from macros.

    13.1.0release notes

  • The cbom command alias now handles -t os.

    13.0.1release notes

  • Cleans the detected parent component.

    13.0.1release notes

  • Fixes canonicalisation of OS package URLs.

    13.0.1release notes

  • Fixes the TUI, which was broken with the new UX.

    13.0.1release notes

  • .NET Central Package Management projects governed by this file now resolve correctly.

    13.0.0release notes

  • Nix flake inputs use pkg:generic with a vcs_url qualifier and proposedType marker instead of the unrecognised pkg:nix type.

    13.0.0release notes

@cyclonedx/cdxgen 12104 changes

Breaking changes 12

  • Allows adding a signers entry without verifying existing signatures when explicitly selected.

    12.8.6release notes

  • Requires a root signature unless --allow-nested-only is used.

    12.8.6release notes

  • Refuses BOMs that are not valid UTF-8, repeat a member name, or contain a number a double cannot represent exactly.

    12.8.6release notes

  • Verification now binds each signature's algorithm, keyId and publicKey, and requires the algorithm to match the key type, fixing a signature forgery vulnerability. Signatures created with 12.8.4 or earlier must be re-signed.

    12.8.5release notes

  • HMAC signatures now require the --secret-key option.

    12.8.5release notes

  • When signing is configured but fails, cdxgen exits with an error instead of writing or uploading an unsigned BOM.

    12.8.5release notes

  • The distro_name value can contain only the distro codename.

    12.8.0release notes

  • Includes more Python build packages in generated results.

    12.7.1release notes

  • Filters @types/* npm packages out of runtime scope and requiredOnly BOMs so they appear as dev-only.

    12.5.0release notes

  • Exclude arguments are now passed to atom.

    12.4.4release notes

  • Chrome and IDE extension discovery is limited to explicit extension project types.

    12.4.0release notes

  • Secret-bearing metadata is redacted from BOMs.

    12.3.3release notes

Security 14

  • Accepts a BOM without a root signature only when every component, service and annotation carries a signature that verifies.

    12.8.6release notes

  • Fails when any signature entry or any given key does not verify.

    12.8.6release notes

  • Hardens JSF signature verification so the library function cannot report success for BOM content the trusted key never signed.

    12.8.6release notes

  • @cyclonedx/cdxgen: Maven project scanning may allow shell command injection through repository-controlled module paths

    12.4.3security advisory

  • Hardens handling of Maven shell metacharacters to address a security issue.

    12.4.3release notes

  • HBOM secure mode enforces allowlist preflight checks for commands and paths.

    12.4.0release notes

  • @cyclonedx/cdxgen: Docker registry auth substring match forwards credentials to a different registry

    12.3.3security advisory

  • Dependency-Track submissions enforce host matching to harden security.

    12.3.3release notes

  • Registry authentication now enforces host matching to prevent credential leaks.

    12.3.3release notes

  • Sensitive BOM properties are validated against CycloneDX 1.7 TLP requirements.

    12.3.2release notes

  • Cargo predictive audit can predict supply-chain attacks against dependencies, with expanded coverage for cache inventory and workspace-aware prioritization.

    12.3.1release notes

  • Adds a command to analyse one BOM or a directory of BOMs for upstream supply-chain risks, with severity-based gating for CI and review workflows.

    12.3.0release notes

  • Adds extraction of Chrome extension security properties.

    12.3.0release notes

  • Adds GTFOBins-backed container risk analysis and BOM audit rules.

    12.3.0release notes

New APIs and options 26

  • Adds support for the pnpm CJS alias.

    12.8.3release notes

  • Adds detection of AI-generated code and authorship provenance.

    12.7.1release notes

  • Adds a license enhancer.

    12.7.1release notes

  • Adds components for PDM files.

    12.7.1release notes

  • Adds components for pnpm workspaces.

    12.7.1release notes

  • Adds a checker for policy violations.

    12.7.1release notes

  • Adds native SBOM attachment support for containers.

    12.7.0release notes

  • Adds support for the no-ignore argument.

    12.7.0release notes

  • Adds tracebom support for CBOM generation.

    12.6.0release notes

  • Adds a TUI mode powered by cdxui, available with the --tui argument.

    12.6.0release notes

  • The new ai type generates AI/ML-BOMs.

    12.5.1release notes

  • Adds golem integration for Go analysis, including call graphs, data-flow extraction, supply-chain evidence, and cryptographic-asset component generation.

    12.5.0release notes

  • A component type filter was added; the notes do not specify how to use it.

    12.4.4release notes

  • A caxa v3 batch workflow is available.

    12.4.0release notes

  • HBOM adds a dry and diagnostics mode.

    12.4.0release notes

  • Predictive audit allowlist filtering is available.

    12.4.0release notes

  • C/C++ BOM generation now supports collider.lock files.

    12.3.3release notes

  • Remote and offline OBOM generation now supports staged rootfs inputs.

    12.3.3release notes

  • A dedicated mcp project type is available.

    12.3.1release notes

  • cdxgen can now identify the MCP configurations and skills used in your project.

    12.3.1release notes

  • Adds ATT&CK-aware audit and workflow analysis to cdx-audit.

    12.3.0release notes

  • Adds a command to convert CycloneDX 1.6/1.7 BOMs to SPDX.

    12.3.0release notes

  • Adds dedicated BOM audit rules for Chrome extensions.

    12.3.0release notes

  • Adds direct Chrome extension path scanning using the chrome-extension target.

    12.3.0release notes

  • Adds support for PEP 751 pylock.toml files.

    12.3.0release notes

  • Adds SPDX output support in server mode, including SPDX format support for /sbom.

    12.3.0release notes

Behavior and default changes 18

  • Adds compatibility with custom license specs.

    12.8.3release notes

  • Bun support is improved.

    12.8.0release notes

  • Strips the Scala version suffix for sbt.

    12.7.0release notes

  • For JavaScript and Python projects, AI-BOMs now include exact occurrence evidence.

    12.5.1release notes

  • evinse is now supported for Rust projects; pass --profile research to generate an SBOM with rich occurrence and call-stack evidence.

    12.5.1release notes

  • Template and icon class heuristics now cover material-symbols, primeicons, bootstrap-icons, and fontawesome.

    12.5.0release notes

  • JavaScript handling was improved; the notes do not specify the details.

    12.4.4release notes

  • CBOM behavior has been improved.

    12.4.0release notes

  • Dry-run mode now traces symlinks, spawn I/O, and archive extraction.

    12.4.0release notes

  • HBOM adds support for SEA binaries.

    12.4.0release notes

  • Package visibility has been improved.

    12.4.0release notes

  • Protobuf BOM support is added to cdx-convert, cdx-validate, cdx-verify, and hbom.

    12.4.0release notes

  • The field is now populated for externally identified components.

    12.3.3release notes

  • Mixed npm source scans now ignore vendored Composer and jar artifacts.

    12.3.3release notes

  • MCP inventory now covers OpenCode, Nanocoder, LangGraph, and CrewAI.

    12.3.1release notes

  • The secure-mode user experience for environment warnings has been improved.

    12.3.1release notes

  • Improves Windows LOLBAS / ATT&CK triage context.

    12.3.0release notes

  • Expands runtime rules for OBOM analysis.

    12.3.0release notes

Tooling 3

  • Changes CLI option parsing to handle defaults better.

    12.7.1release notes

  • Detects CLI scripts using npx and pnpm dlx wrappers and hydrates npm package metadata from disk in deep mode.

    12.5.0release notes

  • The dry-run user experience for activity output has been improved.

    12.3.1release notes

Fixes and other changes 31

  • Fixes an EACCES permission error when scanning /root.

    12.8.4release notes

  • Adds support for .NET Central Package Management.

    12.8.3release notes

  • Improves RubyGems parsing.

    12.8.3release notes

  • Fixes buggy sbt tree parsing.

    12.8.3release notes

  • Decompresses gzip, deflate, and br responses in undici httpClient.

    12.8.1release notes

  • Memoizes jar distribution lookups and discovers projects via sbt to fix hangs when processing sbt projects.

    12.8.1release notes

  • Deno support is added.

    12.8.0release notes

  • The OS distro namespace is canonicalized.

    12.8.0release notes

  • Using --exclude-type mcp no longer over-excludes MCP SDK packages.

    12.8.0release notes

  • Fixes native SBOM pulling for registries that do not provide the referrers API.

    12.7.1release notes

  • Fixes parsing of packages.config files.

    12.7.1release notes

  • Fixes parsing of Yarn aliases so they can be handled correctly.

    12.7.1release notes

  • Improves ASAR detection by sniffing headers.

    12.7.0release notes

  • Fixes a crash when scanning an empty go.mod file.

    12.7.0release notes

  • Fixes incorrect SBOM output when Gradle dependencies are unresolved.

    12.7.0release notes

  • Attempts to find hashes and licenses for Gradle dependencies.

    12.7.0release notes

  • Initial support for CBOM is now available for Rust projects, powered by rusi.

    12.5.1release notes

  • Improves required-scope detection for CSS, template, and CLI-based package usage, and parses .css, .scss, and .less style references.

    12.5.0release notes

  • Hardens Pixi parsing to better handle missing base paths and malformed TOML in workspace lock files.

    12.5.0release notes

  • Vue.js scope detection parses vite.config.* to reduce false negatives.

    12.5.0release notes

  • Vue.js scope detection parses vue.config.* to reduce false negatives.

    12.5.0release notes

  • Java Maven handling was improved; the notes do not specify the details.

    12.4.4release notes

  • Handles object-form GitHub Actions runs-on values.

    12.4.2release notes

  • Fixes profiling of standalone binary dependencies.

    12.4.1release notes

  • OBOM improvements include actionable output and Windows tuning.

    12.4.0release notes

  • BOM audit rules now cover disabled setup caches with remote npm or PyPI sources.

    12.3.3release notes

  • Fixed path selection for staged all-layers inputs.

    12.3.3release notes

  • Correctly classifies npm package-lock devOptional dependencies.

    12.3.0release notes

  • Improves Maven group and name detection from JAR manifests.

    12.3.0release notes

  • Handles Podfile.lock checks in CocoaPods scans without false missing-lock failures.

    12.3.0release notes

  • Adds purl source resolution for GitHub, Bitbucket, Maven, and Composer.

    12.3.0release notes