Releases: NativeScript/nativescript-cli
Releases · NativeScript/nativescript-cli
Release list
v9.1.1
v9.1.1-dev.1
9.1.1-dev.1 (2026-08-31)
Bug Fixes
- recognize .npmrc array-valued hoist keys; make stdio test TTY-independent (e66504f)
v9.1.1-dev.0
9.1.1-dev.0 (2026-08-31)
Bug Fixes
- pnpm installs hang forever - close stdin, harden the pnpm backend (a6ab285)
v9.1.0
9.1.0 (2026-08-27)
Bug Fixes
- bun does not require symlink (#6119) (ecdf4a5)
- bundler: ensure vite server starts up before allowing connections via cli (5f776b3)
- bundler: fail when the configured bundler package is missing (0f02a25)
- bundler: resolve the configured bundler package and pass buildPath (#6127) (6176de0)
- bundler: vite double restart (f9c1fac)
- clean: refuse to delete outside the project directory (58f9ac2)
- config: never lose a config edit when prettier is unavailable (2eefffe)
- config: read default exports wrapped in assertions or parentheses (754fa94)
- copy Vite output for production builds (7a2efaf)
- definitions: align conflicting service typings and declare conformance (8992b24)
- definitions: drop the duplicate buildPath declaration (be62153)
- deprecated uuid (#6057) (c1f5fc3)
- di: register zero-parameter arrow factories without annotate() (b49cf0e)
- di: share the injection context across duplicated CLI copies (b52b8e0)
- doctor: point repository metadata at the monorepo (ddd39b8)
- gracefully fail when node module can't be found (#6037) (d1930d3)
- handle spm packages internal to cli (#6098) (745f3a8)
- hooks: gate in-process hooks with the TypeScript parser instead of esprima (93641e5)
- hooks: honor arg forwarding from every middleware in the chain (e46e697)
- ios: framework check for dynamic lib (#6032) (d88337c)
- ios: let the app's xcconfig win over a plugin's, and warn on discarded settings (#6091) (1b5cabd)
- ios: verify livesync payload delivery on physical devices and stop swallowing upload errors (#6058) (90fe969)
- misleading dual nativescript.config warning when reading plugin configs (#6122) (5fa07dc)
- options: resolve options declared with an array of aliases (0549b1c)
- options: revive unknown-option validation as a staged warning (6502f13)
- options: validate the timeout option's value (353ec6b)
- platform: type the project services by the data they accept (8a7c3ec)
- prevent redundant restarts on rapid changes and recover from app crashes in watch mode (#6036) (0acfb4a)
- project: drop the duplicate getBuildRelativeDirectoryPath (344d570)
- reprepare iOS plugins on cleanup (#6035) (2c8928b)
- resolve compiled output from dist in bin and postinstall (#6095) (77fed31)
- security: update CLI network and git dependencies (#6084) (f5154ac)
- stop the pack guard from blocking the release script (cb3fb8d)
- vite: build/prepare handling for the bundle (2fde79c)
- xcconfig: improve conflict handling during file merge (bcec7bb)
- yok: keep a registered command when a subcommand would shadow it (880f952)
- yok: record hierarchical subcommands on registerCommand (c6c794a)
Features
- 9.1 migrate (#6138) (259ca2f)
- add skipNative option to PrepareData and Options classes (#6033) (bfb7a4c)
- allow custom vite dist folder name (8eed4de)
- allow proper adb reverse debug sessions (addc32e)
- analytics: move tracking to the GA4 measurement protocol (1a3c1f0)
- android: --gradleFlavor to build a product flavor (#6133) (0c9860c)
- android: support android-37 SDK targets (842c6be)
- android: support for android-36.1 SDK targets (#6011) (4c7f69f)
- android: support for user-configured start arguments with emulators (#6038) (69ac96d)
- apple: doctor issue with asdf (#6062) (a273145)
- apple: improve support for watchos projects (#5993) (5404ebb)
- apple: support team signing on Swift macro SPM targets (#6060) (c2d4a69)
- bundler: allow vite to auto increment port availability when in use ([#6126](https://github.com/NativeScri...
v9.1.0-rc.0
9.1.0-rc.0 (2026-08-25)
Bug Fixes
- bun does not require symlink (#6119) (ecdf4a5)
- bundler: fail when the configured bundler package is missing (0f02a25)
- bundler: resolve the configured bundler package and pass buildPath (#6127) (6176de0)
- clean: refuse to delete outside the project directory (58f9ac2)
- config: never lose a config edit when prettier is unavailable (2eefffe)
- config: read default exports wrapped in assertions or parentheses (754fa94)
- definitions: align conflicting service typings and declare conformance (8992b24)
- definitions: drop the duplicate buildPath declaration (be62153)
- di: register zero-parameter arrow factories without annotate() (b49cf0e)
- di: share the injection context across duplicated CLI copies (b52b8e0)
- doctor: point repository metadata at the monorepo (ddd39b8)
- handle spm packages internal to cli (#6098) (745f3a8)
- hooks: gate in-process hooks with the TypeScript parser instead of esprima (93641e5)
- hooks: honor arg forwarding from every middleware in the chain (e46e697)
- ios: let the app's xcconfig win over a plugin's, and warn on discarded settings (#6091) (1b5cabd)
- misleading dual nativescript.config warning when reading plugin configs (#6122) (5fa07dc)
- options: resolve options declared with an array of aliases (0549b1c)
- options: revive unknown-option validation as a staged warning (6502f13)
- options: validate the timeout option's value (353ec6b)
- platform: type the project services by the data they accept (8a7c3ec)
- project: drop the duplicate getBuildRelativeDirectoryPath (344d570)
- resolve compiled output from dist in bin and postinstall (#6095) (77fed31)
- stop the pack guard from blocking the release script (cb3fb8d)
- xcconfig: improve conflict handling during file merge (bcec7bb)
- yok: keep a registered command when a subcommand would shadow it (880f952)
- yok: record hierarchical subcommands on registerCommand (c6c794a)
Features
- analytics: move tracking to the GA4 measurement protocol (1a3c1f0)
- android: --gradleFlavor to build a product flavor (#6133) (0c9860c)
- android: support android-37 SDK targets (842c6be)
- apple: doctor issue with asdf (#6062) (a273145)
- bundler: allow vite to auto increment port availability when in use (#6126) (bc25957)
- cli: delegate to a project-local nativescript install (3785152)
- commands: defineCommand - typed declarative commands via an ICommand adapter (#6101) (2f81d7f)
- di: add contracts for the core service tranche (7079d1a)
- di: add InjectionToken for non-class dependencies (e1af90e)
- di: token-based dependency injection behind the Yok facade (phase 1) (#6099) (dfae38d)
- doctor: support android-37 and minor-versioned SDK platform directories (65a3b01)
- extensions: nativescript.commands map - per-command lazy loading for extensions (#6102) (9322fdc)
- hooks: defineHook - typed hook authoring with ctx payload/wrap/fail/skip (#6100) (ef68d67)
- ios: pass a Swift Package authorization provider to xcodebuild (0783cea)
- project: project config buildPath option for custom build directory (#6131) (c1e3d13)
- support vitest unit tests (#6123) (9737223)
Performance Improvements
@nativescript/doctor@2.0.18
2.0.18 (2026-08-25)
2.0.18 (2026-08-25)
Bug Fixes
- add api32 as supported (70671ca)
- clear all deprecated dependencies (#5858) (d9bced3)
- doctor: check for python3 instead of python (f21156c)
- doctor: improve target and sdk compatibility detection on <8.2 (#5648) (fa257dd)
- doctor: point repository metadata at the monorepo (ddd39b8)
- remove python six requirement (#5785) (25ae1f0)
- setup docs links (#5762) (b229fdf)
- update wording to pip3 (f4d39ad)
- vulnerability reports in our dependencies (7099052)
Features
- add android 35 support (#5811) (abc7ab4)
- add config to help menu (#5916) (f81499d)
- android: api level 36 + start up emulator with unknown target versions (#5842) (de2cb8c)
- android: support for android-36.1 SDK targets (#6011) (4c7f69f)
- apple: doctor issue with asdf (#6062) (a273145)
- doctor: add android-33 to supported sdks (b8f15a0)
- doctor: add sdk 34 support (6ef8665)
- doctor: more informative android compile SDK messages (#5697) (cfaa882)
- doctor: support android-37 and minor-versioned SDK platform directories (65a3b01)
- replace chalk/ansi-colors/glob with Node.js built-ins (#5853) (e562267)
Performance Improvements
v9.0.7
v9.1.0-alpha.17
9.1.0-alpha.17 (2026-08-07)
Bug Fixes
- bun does not require symlink (#6119) (ecdf4a5)
- config: never lose a config edit when prettier is unavailable (2eefffe)
- config: read default exports wrapped in assertions or parentheses (754fa94)
- di: register zero-parameter arrow factories without annotate() (b49cf0e)
- di: share the injection context across duplicated CLI copies (b52b8e0)
- doctor: point repository metadata at the monorepo (ddd39b8)
- handle spm packages internal to cli (#6098) (745f3a8)
- hooks: gate in-process hooks with the TypeScript parser instead of esprima (93641e5)
- hooks: honor arg forwarding from every middleware in the chain (e46e697)
- ios: let the app's xcconfig win over a plugin's, and warn on discarded settings (#6091) (1b5cabd)
- options: resolve options declared with an array of aliases (0549b1c)
- options: revive unknown-option validation as a staged warning (6502f13)
- options: validate the timeout option's value (353ec6b)
- resolve compiled output from dist in bin and postinstall (#6095) (77fed31)
- stop the pack guard from blocking the release script (cb3fb8d)
- yok: keep a registered command when a subcommand would shadow it (880f952)
- yok: record hierarchical subcommands on registerCommand (c6c794a)
Features
- analytics: move tracking to the GA4 measurement protocol (1a3c1f0)
- apple: doctor issue with asdf (#6062) (a273145)
- cli: delegate to a project-local nativescript install (3785152)
- commands: defineCommand - typed declarative commands via an ICommand adapter (#6101) (2f81d7f)
- di: token-based dependency injection behind the Yok facade (phase 1) (#6099) (dfae38d)
- extensions: nativescript.commands map - per-command lazy loading for extensions (#6102) (9322fdc)
- hooks: defineHook - typed hook authoring with ctx payload/wrap/fail/skip (#6100) (ef68d67)
Performance Improvements
v9.1.0-alpha.16
v9.1.0-alpha.15
9.1.0-alpha.15 (2026-07-23)
Bug Fixes
- bundler: ensure vite server starts up before allowing connections via cli (5f776b3)
- bundler: vite double restart (f9c1fac)
- copy Vite output for production builds (7a2efaf)
- deprecated uuid (#6057) (c1f5fc3)
- gracefully fail when node module can't be found (#6037) (d1930d3)
- ios: framework check for dynamic lib (#6032) (d88337c)
- ios: verify livesync payload delivery on physical devices and stop swallowing upload errors (#6058) (90fe969)
- prevent redundant restarts on rapid changes and recover from app crashes in watch mode (#6036) (0acfb4a)
- reprepare iOS plugins on cleanup (#6035) (2c8928b)
- security: update CLI network and git dependencies (#6084) (f5154ac)
- vite: build/prepare handling for the bundle (2fde79c)
Features
- add skipNative option to PrepareData and Options classes (#6033) (bfb7a4c)
- allow custom vite dist folder name (8eed4de)
- allow proper adb reverse debug sessions (addc32e)
- android: support for android-36.1 SDK targets (#6011) (4c7f69f)
- android: support for user-configured start arguments with emulators (#6038) (69ac96d)
- apple: improve support for watchos projects (#5993) (5404ebb)
- apple: support team signing on Swift macro SPM targets (#6060) (c2d4a69)
- cli managed vite process, seamless and easier to work with (82f6cec)
- custom platform specific runtimePackageName (#6039) (6be03b8)
- improve ux on swift package resolutions (#6064) (1344dc2)
- ios: improve spm build logs, clarity and size reporting (#6085) (3f5461f)
- ios: manage generated modulemaps in CLI-controlled directory instead of node_modules (#6063) (4cc5ba1)
- ios: support Swift package macros (#6059) (7976333)
- ios: swift package clarity while installing and time formatting (#6082) (e027862)