# What changed in @ledgerhq/device-management-kit

> 76 changes in @ledgerhq/device-management-kit 0.9 to 1 from its official release notes, upgrade guides and advisories: 10 breaking, 1 security, 33 new APIs and options. Each one cited. Sources checked 2026-10-20. HTML: https://unstale.sh/npm/@ledgerhq/device-management-kit/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @ledgerhq/device-management-kit 1

### Breaking changes

- The default mock server base URL is now the hosted server instead of a local server. (1.9.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.9.0)
- Exposes the isDashboardName utility. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Removes KeyValueStorage from the public API. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Request signal support was removed from DmkNetworkClient. (1.7.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.7.0)
- Detects onboarding from GetOsVersionCommand and returns Left(DeviceNotOnboardedError) for unseeded devices; OpenAppDeviceAction inherits the check from its child machine. (1.6.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.6.0)
- Constructing CommandResultFactory with InvalidGetFirmwareMetadataResponseError now fails at the type level; non-command flows should use DmkResultFactory. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- Battery response parsing failures now use InvalidResponseFormatError instead of battery-specific command result errors. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- Changes the device action return type to use CallTaskInAppDA types instead of SendCommandInAppDA types. (1.2.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.2.0)
- Renames GetCustomImageSizeCommand to GetBackgroundImageSizeCommand. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)

### New APIs and options

- Adds a method to get the firmware distribution salt at runtime. (1.11.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.11.0)
- Adds a method to set the firmware distribution salt at runtime. (1.11.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.11.0)
- Adds a runtime API to override the secure channel WebSocket base URL. (1.10.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.10.0)
- Exposes parsed endorsement, seed word, and onboarding information from secure element flags returned by the command. (1.9.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.9.1)
- Exposes seed word counts as named numeric values while retaining the public union type; reserved encodings remain undefined. (1.9.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.9.1)
- Adds a variant that strips prerelease and build tags before comparing versions, so an app reporting a release candidate of the minimum still passes the check. (1.9.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.9.0)
- Exports the task so consumers can drive a secure channel operation from their own device actions. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Exports a common lookup mapping the numeric langId to the Language type. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Adds support for OS update flows, including MCU firmware provider mapping, an AllowInstallFirmware user interaction, and secure-channel error mappers for firmware update and MCU flash. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Exports the event type for consumers driving secure channel operations from their own device actions. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Adds a user interaction signal for cases where the user must grant consent on the device when restoring data after an OS update. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Adds an action that waits for an app and version. (1.6.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.6.0)
- Adds an ApplicationChecker builder method for app-name aware constraints. (1.5.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.5.0)
- Adds an ApplicationChecker builder method for app-name aware constraints. (1.5.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.5.0)
- Adds an ApplicationChecker builder method for device-model constraints. (1.5.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.5.0)
- Adds the Delete command. (1.4.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.4.0)
- Adds the InvalidArgumentError error. (1.4.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.4.0)
- Adds an action to install a language package on a device. (1.4.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.4.0)
- A backup app storage task is available for developers to use. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- An HTTP client abstraction is available; the manager API data source now uses it. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- A generic base result abstraction is introduced for results beyond CommandResult. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- A KeyValueStorage contract is available for developers to implement or use. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- Adds allowMissingApplication parameters to OpenAppDA for test purposes. (1.2.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.2.0)
- Adds the AllowCustomLockScreen type for Custom Lock Screen operations. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)
- Adds the ConfirmCustomLockScreen type for Custom Lock Screen operations. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)
- Adds device actions for Custom Lock Screen operations. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)
- A second set of Bluetooth identifiers is added for Nano Gen5. (1.0.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.0.0)
- The logger factory is exported from DMK, making it available to developers. (1.0.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.0.0)

### Behavior and default changes

- When the salt changes, open device sessions forget their cached firmware update context, so the next device action fetches the latest firmware again with the new salt. (1.11.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.11.0)
- Changes the default mock server base URL port from 8080 to 9752 to avoid conflicts with other local development servers. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Adds request, response, and session id data to the device session APDU log, enabling consumers to reconstruct exchanges without parsing log strings. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Non-onboarded devices pass the device status check by default; stricter consumers can opt out. (1.7.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.7.1)
- Base64 validation is portable across runtimes and tolerates MIME-style whitespace, including line breaks. (1.7.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.7.0)
- Timeout handling is now portable and implemented with AbortController. (1.7.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.7.0)
- Persists firmwareVersion with metadata and isSecureConnectionAllowed on success in a ready state, allowing consumers to read onboarding without an extra command. (1.6.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.6.0)
- Tracks the current running app from the device session state to support app-name aware constraints. (1.5.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.5.0)
- Repeated state logs are deduplicated, terminal states are logged, and debug output includes intermediateValue. (1.3.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.3.0)
- Adds intermediate steps for OS device actions. (1.2.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.2.0)
- APDUs, Commands and Device Actions are processed using the new Intent Queue. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)
- APDU exchange logging moves to the transport layer for more accurate timing. (1.0.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.0.0)

### Fixes and other changes

- The secure-element flags state byte 0x00 now maps to OnboardingState.WelcomeScreen1 instead of OnboardingState.Unknown. (1.9.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.9.1)
- Adds the missing onboarding state at byte value 0x06. (1.9.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.9.1)
- Uses the validated polling interval as-is instead of doubling it; the NANO_S minimum interval remains handled in getValidPollingInterval. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Uses WaitForAppAndVersionDeviceAction. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Handles the case where no update is available when fetching the latest firmware from the Manager API. (1.8.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.8.0)
- Base64 decoding is portable across runtimes and tolerates MIME-style whitespace, including line breaks. (1.7.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.7.0)
- Determines the current app before fetching the OS version; it sends GetOsVersionCommand only on the dashboard and treats a device running an application as onboarded. (1.6.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.6.0)
- Makes isDashboardName null-safe. (1.6.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.6.0)
- Replaces hardcoded "BOLOS" strings with the exported constant. (1.6.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.6.0)
- Fixes out of memory prediction. (1.5.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.5.1)
- Builds and sends request URLs as plain strings, preventing affected React Native versions from appending a stray slash to the last query parameter and causing HTTP 400 responses. (1.4.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.4.1)
- Improves React Native compatibility by serializing query parameters manually and guarding optional Web globals that may be missing. (1.4.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.4.0)
- Base64 encoding is portable across runtimes, using browser APIs, global APIs, or Buffer as available. (1.2.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.7.0), [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.2.0)
- Returns null on error to avoid an unhandled promise rejection in an RxJS subscription. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)
- The refresher no longer pings while an intent is being processed. (1.1.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.1.0)
- DevicePinger is unsubscribed from EventDispatcher when a device session closes. (1.0.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%401.0.1)

## @ledgerhq/device-management-kit 0.13

### Breaking changes

- Replaces TransportDeviceModel.blockSize with a dynamic method whose result depends on firmware version, allowing available memory prediction to be handled correctly for Ledger Nano S. (0.13.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.13.0)

## @ledgerhq/device-management-kit 0.12

### New APIs and options

- Adds the UnsupportedApplicationDAError error type for developers to use when handling errors. (0.12.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.12.0)

## @ledgerhq/device-management-kit 0.11

### Security

- Device ID is now included in secure channel intermediate values. (0.11.2) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.11.2)

### New APIs and options

- All command objects now have a name attribute, allowing developers to identify commands. (0.11.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.11.0)

### Behavior and default changes

- The connected device name now uses the BLE advertised name. (0.11.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.11.0)

### Fixes and other changes

- All sessions for the same device are cleaned up when the device disconnects. (0.11.1) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.11.1)

## @ledgerhq/device-management-kit 0.10

### New APIs and options

- Adds InvalidGetFirmwareMetadataResponseError for invalid firmware metadata responses. (0.10.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.10.0)
- Adds a reconnect use case. (0.10.0) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.10.0)

## @ledgerhq/device-management-kit 0.9

### New APIs and options

- Adds a user interaction for verifying a safe address. (0.9.2) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.9.2)

### Behavior and default changes

- Adds logs to the device session sendApdu command. (0.9.2) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.9.2)

### Fixes and other changes

- Data is no longer logged when it is undefined. (0.9.2) — [release notes](https://github.com/LedgerHQ/device-sdk-ts/releases/tag/%40ledgerhq/device-management-kit%400.9.2)
