Skip to content

v3.0.0

Latest

Choose a tag to compare

@erisu erisu released this 19 Nov 05:22
v3.0.0
74f0955

Breaking Changes:

  • Spawn Output Now Always UTF-8 Strings

    All methods that call spawnSync now always return UTF-8–encoded strings for stdout, stderr, and within output.

    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: spawn

    The spawn method signature has changed:

    Before:

    spawn: function (waitForDebugger, arch, device, pathToExecutable, argv) {

    Now:

    spawn: function (device, pathToExecutable, argv = [], options = {}) {

    The waitForDebugger and arch arguments are no longer passed directly.These have been moved into the options object.

    Update your calls accordingly so any previous waitForDebugger or arch usage is now provided as properties inside options.

  • Updated Method Signature: launch

    The launch method signature has changed:

    Before:

    launch: function (waitForDebugger, device, appIdentifier, argv) {

    Now:

    launch: function (device, appIdentifier, argv = [], options = {}) {

    The waitForDebugger argument has been moved into the options object.

    Additional optional properties have been added to options:

    • archive
    • stderr (path to a log file)
    • stdout (path to a log file)

    Update any existing calls to pass these values via the options object 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