Cloud August 21, 2026

August 21, 2026

Kobiton now uses date-based release versioning. Instead of version numbers such as 4.26S or 4.19.3, releases are identified by date. Build numbers use a format such as 202608.21, and release notes display the corresponding date as August 21, 2026.

Kobiton version management (continued)

The auto-upgrade rebuild that started with the EPA-02 removal on 2026-08-10 (see the August 14 page) continues with the replacement banner and version-string handling:

Highlights

  • Auto-upgrade now runs on R2 with the new date-based versioning format. The non-punitive replacement banner from EPA-04 is live — filling the gap left when the old force-offline banner was removed. Admins see the new banner surface in Device Management when a machine is behind on deviceConnect.

  • deviceConnect version strings are no longer rejected by shape. Any version string is accepted as valid, matching the new build-timestamp format YYMM.DDHHMM.P+commit.

  • The parent auto-upgrade epic wraps up: removal of force-offline enforcement (from Aug 14 page) plus new-format handling ship together as one behavior change.

API v2 — Terminate reservation by device UDIDs

  • POST to the terminate-reservation endpoint now accepts a set of device UDIDs alongside the reservation ID. Callers can end a reservation for specific devices without terminating the whole reservation set.

Kobiton CLI

  • Fixed CLI-driven public-device sessions not counting session minutes toward usage when the session hit its timeout and was terminated. Usage now records these minutes.

  • Fixed the CLI writing the pre-signed S3 upload URL and the session JWT to client-visible output. These credentials are no longer logged.

  • New: create a user via the Kobiton CLI. Previously only the Portal allowed user creation.

Device Hub

  • Fixed CLI-testing device locks never being released for direct-hub-initiated session ends. The event handler no longer crashes on getErrorMessage, and a stream-end fallback plus a TTL now guarantee the lock is released.

Apps and app storage

  • Fixed GET /v2/apps/{appId} omitting latest_version when the request sets includeAllAppVersions=true. The response now returns latest_version alongside versions, with the same value the endpoint returns when includeAllAppVersions is omitted or set to false.

  • Fixed the getApp MCP tool returning latest_version as null when called with includeAllVersions=true.

  • latest_version skips versions that are still importing or parsing. An app with no other versions returns no latest_version.

deviceConnect

  • Fixed WatchDog unable to restart dc-services because the default restart command still used runit sv after the launchd migration. WatchDog now uses the correct restart command post-migration.

  • Fixed InstrumentsClient.WriteMessage NREs and leaked InstrumentsServiceObject when the stream is disposed mid-write. Disposal is now clean and no object is leaked.

  • Fixed the deviceControl initialization failing with mobile_image_mounter.shim.remote: PasswordProtected on iOS devices reported by EJ. deviceControl now initializes on affected devices.

  • Fixed adb shell reboot bootloader bypassing the restricted-shell protection on Android manual sessions. The command is now rejected under the restricted whitelist.

deviceConnect — deprecated capability

  • Support for upstreaming archive media via gRPC has been removed from deviceConnect. Automation workflows that relied on gRPC upstreaming must migrate to the current transport.

Image Injection (Android)

  • Fixed Android Image Injection failing with Please Ensure Your Application Integrates Kobiton SDK after the instrumented install reported success. Injection now proceeds after successful instrumented installs.

XIUM

  • Fixed XIUM not dismissing the iOS notification permission alert after Accept Alert. XIUM now dismisses the alert as expected.

Component versions

This release includes the following component versions:

  • Portal 2608.21

  • deviceConnect 2608.20

  • Kobiton CLI 2608.19