Breaking Changes:
-
Spawn Output Now Always UTF-8 Strings
All methods that call
spawnSyncnow always return UTF-8–encoded strings forstdout,stderr, and withinoutput.Buffer output is no longer supported.
Any code that relied on Buffers—for example, performing Buffer operations or handling raw binary data—will need to be updated to work with string output.
-
Updated Method Signature:
spawnThe
spawnmethod signature has changed:Before:
spawn: function (waitForDebugger, arch, device, pathToExecutable, argv) {
Now:
spawn: function (device, pathToExecutable, argv = [], options = {}) {
The
waitForDebuggerandarcharguments are no longer passed directly.These have been moved into theoptionsobject.Update your calls accordingly so any previous
waitForDebuggerorarchusage is now provided as properties insideoptions. -
Updated Method Signature:
launchThe
launchmethod signature has changed:Before:
launch: function (waitForDebugger, device, appIdentifier, argv) {
Now:
launch: function (device, appIdentifier, argv = [], options = {}) {
The
waitForDebuggerargument has been moved into theoptionsobject.Additional optional properties have been added to
options:archivestderr(path to a log file)stdout(path to a log file)
Update any existing calls to pass these values via the
optionsobject rather than as separate parameters.
What's Changed
Breaking Changes:
- feat!: replace shelljs.exec with child_process.spawnSync by @dpogue in #46
- feat!: use @cordova/eslint-config (supports ESLint 9) by @erisu in #49
- feat!: move logging logic to launch method by @erisu in #57
- feat!: restructured spawn method by @erisu in #59
- feat!: return encoding everywhere by @erisu in #62
Features:
- feat: Add functions to retrieve simctl and xcode versions by @dpogue in #51
- feat: add pair and unpair support by @erisu in #60
Fixes:
- fix(list): Fix calls to list with no arguments by @dpogue in #52
- fix(publish): Don't try to globally install npm by @dpogue in #55
- fix(start): Properly handle xcode-select output by @dpogue in #56
Others:
- chore: Clean up unused files & document Node version support. by @dpogue in #50
- chore: rebuild package-lock.json by @erisu in #58
- ci: Add workflow to publish tagged versions to npm by @dpogue in #53
- dep: bump minimist from 1.2.5 to 1.2.6 by @dependabot[bot] in #37
- dep: bump minimatch from 3.0.4 to 3.1.2 by @dependabot[bot] in #38
- dep: update dev dependencies w/ rebuilt package-lock v2 by @erisu in #40
- dep: bump word-wrap from 1.2.3 to 1.2.4 by @dependabot[bot] in #41
- dep: bump braces from 3.0.2 to 3.0.3 by @dependabot[bot] in #42
- dep: bump @babel/traverse from 7.20.12 to 7.25.9 by @dependabot[bot] in #44
- dep: bump brace-expansion from 1.1.11 to 1.1.12 by @dependabot[bot] in #45
- tests: Replace Jest with Node Test Runner & add GHA CI by @dpogue in #48
- test: Add some more test cases and turn on coverage reporting by @dpogue in #54
New Contributors
Full Changelog: v2.0.3...v3.0.0