unstale

npm / @napi-rs/cli

@napi-rs/cli

What changed in @napi-rs/cli 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

2 breaking1 new APIs and options1 performance2 behavior and defaults4 tooling16 fixes and other

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

npx @unstale/cli init

@unstale/cli on npm

@napi-rs/cli 326 changes

Breaking changes 2

  • Conversion depth is bounded at 128 levels, preventing excessively deep serde_json::Value conversions.

    3.10.8release notes

  • The build now fails when a --pipe post-process command exits non-zero.

    3.6.2release notes

New APIs and options 1

  • The CLI can resolve the command from the provided arguments.

    3.4.0release notes

Performance 1

  • Type definition generation is parallelized deterministically.

    3.6.2release notes

Behavior and default changes 2

  • The threaded WASI worker pool is preloaded from the loader.

    3.10.7release notes

  • New projects now apply enableTypeDef when generating project files.

    3.6.2release notes

Tooling 4

  • The CLI recognizes the aarch64-unknown-freebsd target.

    3.10.8release notes

  • Generated JSON, TOML, YAML, .d.ts, and JS/WASI loader files now share a house style; regenerating bindings may produce noisy diffs without behavior changes.

    3.9.1release notes

  • The interactive new-project prompt now includes napi9.

    3.6.2release notes

  • The CLI is compatible with the latest wasi-sdk toolchain.

    3.6.2release notes

Fixes and other changes 16

  • The CLI keeps a WASI-managed root entry when it differs from package main.

    3.10.8release notes

  • On Android, generated Node loaders preopen the current working directory instead of /, which Termux cannot open.

    3.9.1release notes

  • Builds now select the matching emnapi archive and avoid double-linking _initialize on current WASI toolchains.

    3.9.1release notes

  • The variable now activates only when set to 'true' or 'error'.

    3.7.1release notes

  • Worker error messages are now received correctly.

    3.7.1release notes

  • New non-WASI projects no longer retain stale browser metadata.

    3.6.2release notes

  • WASI package generation preserves stricter Node engine ranges.

    3.6.2release notes

  • Generated class methods are preserved.

    3.6.2release notes

  • Pre-publish preserves existing optionalDependencies.

    3.6.2release notes

  • universalize resolves an absolute packageJsonPath correctly.

    3.6.2release notes

  • The pre-publish git log lookup now uses the target working directory.

    3.6.2release notes

  • Renaming a project now preserves its repository.

    3.6.2release notes

  • The CLI now uses jsPackageName from CLI options.

    3.5.0release notes

  • The CommonJS binding no longer uses createRequire.

    3.4.1release notes

  • Corrects how the CLI detects the OpenHarmony SDK path.

    3.4.0release notes

  • The package no longer invokes process.report on Windows.

    3.4.0release notes