Skip to content

v0.8.0 — Extended wipe_device options

Choose a tag to compare

@hov172 hov172 released this 16 Apr 23:16
· 375 commits to main since this release

Added

wipe_device parity with the SimpleMDM admin portal wipe dialog. Five new optional parameters:

  • preserve_data_plan — preserves eSIM / cellular data plan (iOS).
  • disable_activation_lock — controls whether Activation Lock is disabled during wipe (iOS/macOS). Server default: true.
  • disallow_proximity_setup — suppresses Proximity Setup on the wiped device (iOS).
  • return_to_service + wifi_network_id — auto re-enrolls the device after wipe (iOS 17+/tvOS 18+). Client-side validation rejects return_to_service=true without wifi_network_id before the HTTP call.
  • obliteration_behavior — DoNotObliterate | ObliterateWithWarning for macOS 12+ (T2/Apple Silicon). Server default: ObliterateWithWarning.

New src/wipe.ts pure-function module (validateWipeArgs, buildWipeBody) and the first unit tests in the repo (test/wipe_device.test.mjs), runnable via npm test using Node's built-in node:test.

Backwards compatibility

Existing wipe_device calls (device_id ± pin) produce identical request bodies. All new parameters are optional; when omitted they are not serialized, so SimpleMDM applies its documented server-side defaults.

Known issue (fixed in v0.8.1)

  • wifi_network_id was incorrectly declared as string in this release. SimpleMDM's API expects an integer. Upgrade to v0.8.1 before using return_to_service.