unstale

npm / @ledgerhq/device-management-kit

@ledgerhq/device-management-kit

What changed in @ledgerhq/device-management-kit 0.9 to 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.

10 breaking1 security33 new APIs and options14 behavior and defaults18 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@ledgerhq/device-management-kit 165 changes

Breaking changes 9

  • The default mock server base URL is now the hosted server instead of a local server.

    1.9.0release notes

  • Exposes the isDashboardName utility.

    1.8.0release notes

  • Removes KeyValueStorage from the public API.

    1.8.0release notes

  • Request signal support was removed from DmkNetworkClient.

    1.7.0release notes

  • Detects onboarding from GetOsVersionCommand and returns Left(DeviceNotOnboardedError) for unseeded devices; OpenAppDeviceAction inherits the check from its child machine.

    1.6.0release notes

  • Constructing CommandResultFactory with InvalidGetFirmwareMetadataResponseError now fails at the type level; non-command flows should use DmkResultFactory.

    1.3.0release notes

  • Battery response parsing failures now use InvalidResponseFormatError instead of battery-specific command result errors.

    1.3.0release notes

  • Changes the device action return type to use CallTaskInAppDA types instead of SendCommandInAppDA types.

    1.2.0release notes

  • Renames GetCustomImageSizeCommand to GetBackgroundImageSizeCommand.

    1.1.0release notes

New APIs and options 28

  • Adds a method to get the firmware distribution salt at runtime.

    1.11.0release notes

  • Adds a method to set the firmware distribution salt at runtime.

    1.11.0release notes

  • Adds a runtime API to override the secure channel WebSocket base URL.

    1.10.0release notes

  • Exposes parsed endorsement, seed word, and onboarding information from secure element flags returned by the command.

    1.9.1release notes

  • Exposes seed word counts as named numeric values while retaining the public union type; reserved encodings remain undefined.

    1.9.1release notes

  • 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.0release notes

  • Exports the task so consumers can drive a secure channel operation from their own device actions.

    1.8.0release notes

  • Exports a common lookup mapping the numeric langId to the Language type.

    1.8.0release notes

  • 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.0release notes

  • Exports the event type for consumers driving secure channel operations from their own device actions.

    1.8.0release notes

  • 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.0release notes

  • Adds an action that waits for an app and version.

    1.6.0release notes

  • Adds an ApplicationChecker builder method for app-name aware constraints.

    1.5.0release notes

  • Adds an ApplicationChecker builder method for app-name aware constraints.

    1.5.0release notes

  • Adds an ApplicationChecker builder method for device-model constraints.

    1.5.0release notes

  • Adds the Delete command.

    1.4.0release notes

  • Adds the InvalidArgumentError error.

    1.4.0release notes

  • Adds an action to install a language package on a device.

    1.4.0release notes

  • A backup app storage task is available for developers to use.

    1.3.0release notes

  • An HTTP client abstraction is available; the manager API data source now uses it.

    1.3.0release notes

  • A generic base result abstraction is introduced for results beyond CommandResult.

    1.3.0release notes

  • A KeyValueStorage contract is available for developers to implement or use.

    1.3.0release notes

  • Adds allowMissingApplication parameters to OpenAppDA for test purposes.

    1.2.0release notes

  • Adds the AllowCustomLockScreen type for Custom Lock Screen operations.

    1.1.0release notes

  • Adds the ConfirmCustomLockScreen type for Custom Lock Screen operations.

    1.1.0release notes

  • Adds device actions for Custom Lock Screen operations.

    1.1.0release notes

  • A second set of Bluetooth identifiers is added for Nano Gen5.

    1.0.0release notes

  • The logger factory is exported from DMK, making it available to developers.

    1.0.0release notes

Behavior and default changes 12

  • 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.0release notes

  • Changes the default mock server base URL port from 8080 to 9752 to avoid conflicts with other local development servers.

    1.8.0release notes

  • Adds request, response, and session id data to the device session APDU log, enabling consumers to reconstruct exchanges without parsing log strings.

    1.8.0release notes

  • Non-onboarded devices pass the device status check by default; stricter consumers can opt out.

    1.7.1release notes

  • Base64 validation is portable across runtimes and tolerates MIME-style whitespace, including line breaks.

    1.7.0release notes

  • Timeout handling is now portable and implemented with AbortController.

    1.7.0release notes

  • Persists firmwareVersion with metadata and isSecureConnectionAllowed on success in a ready state, allowing consumers to read onboarding without an extra command.

    1.6.0release notes

  • Tracks the current running app from the device session state to support app-name aware constraints.

    1.5.0release notes

  • Repeated state logs are deduplicated, terminal states are logged, and debug output includes intermediateValue.

    1.3.0release notes

  • Adds intermediate steps for OS device actions.

    1.2.0release notes

  • APDUs, Commands and Device Actions are processed using the new Intent Queue.

    1.1.0release notes

  • APDU exchange logging moves to the transport layer for more accurate timing.

    1.0.0release notes

Fixes and other changes 16

  • The secure-element flags state byte 0x00 now maps to OnboardingState.WelcomeScreen1 instead of OnboardingState.Unknown.

    1.9.1release notes

  • Adds the missing onboarding state at byte value 0x06.

    1.9.1release notes

  • Uses the validated polling interval as-is instead of doubling it; the NANO_S minimum interval remains handled in getValidPollingInterval.

    1.8.0release notes

  • Uses WaitForAppAndVersionDeviceAction.

    1.8.0release notes

  • Handles the case where no update is available when fetching the latest firmware from the Manager API.

    1.8.0release notes

  • Base64 decoding is portable across runtimes and tolerates MIME-style whitespace, including line breaks.

    1.7.0release notes

  • 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.0release notes

  • Makes isDashboardName null-safe.

    1.6.0release notes

  • Replaces hardcoded "BOLOS" strings with the exported constant.

    1.6.0release notes

  • Fixes out of memory prediction.

    1.5.1release notes

  • 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.1release notes

  • Improves React Native compatibility by serializing query parameters manually and guarding optional Web globals that may be missing.

    1.4.0release notes

  • Base64 encoding is portable across runtimes, using browser APIs, global APIs, or Buffer as available.

    1.2.0release notesrelease notes

  • Returns null on error to avoid an unhandled promise rejection in an RxJS subscription.

    1.1.0release notes

  • The refresher no longer pings while an intent is being processed.

    1.1.0release notes

  • DevicePinger is unsubscribed from EventDispatcher when a device session closes.

    1.0.1release notes

@ledgerhq/device-management-kit 0.131 changes

Breaking changes 1

  • 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.0release notes

@ledgerhq/device-management-kit 0.121 changes

New APIs and options 1

  • Adds the UnsupportedApplicationDAError error type for developers to use when handling errors.

    0.12.0release notes

@ledgerhq/device-management-kit 0.114 changes

Security 1

  • Device ID is now included in secure channel intermediate values.

    0.11.2release notes

New APIs and options 1

  • All command objects now have a name attribute, allowing developers to identify commands.

    0.11.0release notes

Behavior and default changes 1

  • The connected device name now uses the BLE advertised name.

    0.11.0release notes

Fixes and other changes 1

  • All sessions for the same device are cleaned up when the device disconnects.

    0.11.1release notes

@ledgerhq/device-management-kit 0.102 changes

New APIs and options 2

  • Adds InvalidGetFirmwareMetadataResponseError for invalid firmware metadata responses.

    0.10.0release notes

  • Adds a reconnect use case.

    0.10.0release notes

@ledgerhq/device-management-kit 0.93 changes

New APIs and options 1

  • Adds a user interaction for verifying a safe address.

    0.9.2release notes

Behavior and default changes 1

  • Adds logs to the device session sendApdu command.

    0.9.2release notes

Fixes and other changes 1