unstale

npm / dependency-cruiser

dependency-cruiser

What changed in dependency-cruiser 17 to 18, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

3 breaking1 deprecations8 new APIs and options5 performance9 behavior and defaults7 tooling8 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

dependency-cruiser 1820 changes

Breaking changes 2

  • The dot-webpage reporter is no longer experimental and replaces the name x-dot-webpage.

    18.3.0release notes

  • Support for Node.js 20 and 25 was dropped, so projects using those versions must upgrade.

    18.0.0release notes

Deprecations 1

  • The depcruise-baseline command is deprecated in favor of dependency-cruiser --baseline.

    18.3.0release notes

New APIs and options 5

  • The new baseline-mode value format sorts the baseline so future diffs are easier to read after manual edits.

    18.4.0release notes

  • Set baseline.staleEntriesSeverity to error to make the err, null, azure-devops and teamcity reporters exit with a non-zero code when the baseline contains stale entries.

    18.4.0release notes

  • Exposes baseline functionality as a regular dependency-cruiser option, with the same functionality as depcruise-baseline.

    18.3.0release notes

  • Updating the baseline can now remove fixed violations without adding new ones.

    18.3.0release notes

  • Configurations can now be written in TypeScript.

    18.2.0release notes

Behavior and default changes 6

  • Import extraction now supports imports inside module and namespace blocks.

    18.5.0release notes

  • The err, err-html and markdown reporters now show the number of stale entries in the baseline.

    18.4.0release notes

  • Baseline updates now show how many violations are new, unchanged, or removed.

    18.3.0release notes

  • Nested .gitignore files are now taken into account.

    18.2.0release notes

  • dependency-cruiser now warns at runtime when TypeScript, Babel, or SWC is needed but a usable compiler is not present.

    18.1.0release notes

  • The report's table heads are now sticky.

    18.1.0release notes

Tooling 3

  • The markdown report adds a baseline stale table.

    18.5.0release notes

  • The swc compiler can now parse tsx and jsx.

    18.3.0release notes

  • The swc compiler now recognizes type-only imports.

    18.3.0release notes

Fixes and other changes 3

  • Svelte components that use top-level await can now be compiled.

    18.6.0release notes

  • Finds the SWC Visitor when Bun hands over the default export, fixing extraction in that case.

    18.3.1release notes

  • The graph summary is now more deterministic.

    18.0.0release notes

dependency-cruiser 1721 changes

Breaking changes 1

  • AJV is no longer a runtime dependency, reducing dependency management and making installation faster.

    17.3.3release notes

New APIs and options 3

  • Adds a configuration option for err-* and markdown reporters to show unresolved module names in the to-part of violations.

    17.4.0release notes

  • Adds the ancestor matcher for dependency-cruiser configuration.

    17.2.0release notes

  • Adds a suffix option for clickable links.

    17.1.0release notes

Performance 5

  • The reachables algorithm runs 1.3–1.5x faster, potentially improving runs with reachables in the rule set.

    17.3.3release notes

  • Regex compilations are cached throughout dependency-cruiser, making validation 1.5–2.5x faster.

    17.3.3release notes

  • JSON schemas are pre-compiled at build time, making the validation step 10x faster.

    17.3.3release notes

  • Performance optimizations make runs on TypeScript sources faster.

    17.3.3release notes

  • Algorithm updates improve performance.

    17.3.1release notes

Behavior and default changes 3

  • Enriches violations with the unresolved module name and the dependency types.

    17.4.0release notes

  • Dependents are now analyzed when --reaches or --focus are the only reason to do so.

    17.3.7release notes

  • The ndjson listener output now includes runId and user and system totals.

    17.3.6release notes

Tooling 4

  • Adds a basic consistency check for TypeScript and Babel features against transpiler availability.

    17.4.0release notes

  • Dependency-cruiser can now be used with TypeScript v6.

    17.3.9release notes

  • Dependency-cruiser now detects imports done with process.getBuiltinModule.

    17.3.0release notes

  • Working with bun modules is easier; bun modules were already supported.

    17.1.0release notes

Fixes and other changes 5

  • Retains Svelte 5+ dependencies used exclusively outside <script> sections during extraction.

    17.3.8release notes

  • The flat dot reporter now respects collapse patterns.

    17.3.6release notes

  • Extraction works again when TypeScript is not installed.

    17.3.4release notes

  • Fixes tsconfig not working when using the API.

    17.3.0release notes

  • Calls ITranspilerWrapper.isAvailable() correctly in the Svelte pre process.

    17.2.0release notes