npm / tinyexec
tinyexec
What changed in tinyexec 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
3 breaking2 new APIs and options5 behavior and defaults9 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inittinyexec 119 changes
Breaking changes 3
A process killed by a signal now throws NonZeroExitError.
The grandchild fix was reverted for now, changing grandchild behavior.
Commands are no longer normalized.
New APIs and options 2
Adds the nodePath flag.
A synchronous API is implemented, allowing developers to run tinyexec operations synchronously.
Behavior and default changes 5
The error message for NonZeroExitError was improved, making non-zero exits clearer to diagnose.
The args parameter now accepts readonly string[] values.
options.stdin now supports Result, ExecProcess, or string values.
The current node executable's directory is added to the start of PATH.
An engine constraint was set, affecting which runtimes are declared compatible.
Fixes and other changes 9
Resolves node_modules/.bin from nodeOptions.cwd instead of the current process cwd.
Resolution now performs a second pass without an extension.
Piped streams are destroyed when the child exits, preventing grandchild deadlocks.
Corrected the shebang regex.
Bun runtime compatibility is improved.
Using stream.pipeline fixes combining streams when auto-destroy is disabled.
Fixed the package.json exports field.
tinyexec now prefers executables in local node_modules/.bin over globally installed ones when resolving commands.
stdout and stderr are now read in parallel.