Skip to Content
📢 Breaking change: Applications using LedgerJS for transport implementation should migrate to the Device Management Kit (DMK). Learn more.
DocumentationDevice interactionMobile Native DMKMigrationMigrating to 1.0.0

Migrating to 1.0.0

Release 2026-10-15 moves context-module, device-signer-kit-ethereum and the BOM / version catalog (sdk-bom, sdk-version-catalog) to 1.0.0. It contains breaking changes. This page lists what to change in your application.

ℹ️

device-management-kit and signer-utils only receive fixes (0.0.5) and need no code change, except for the ProductId change below. Keep all modules on the same BOM version.

Ethereum Signer

Cancelled operations return EthereumErrors.CancelByUser

When the user rejects a signature or an address check on the device, the failure reason is now EthereumErrors.CancelByUser instead of ConditionNotSatisfied.

is DeviceActionResult.Failure -> when (result.reason) { EthereumErrors.CancelByUser -> showCancelledByUser() // was: ConditionNotSatisfied else -> showError(result.reason) }

Already signed transactions are accepted

signTransaction no longer rejects a transaction that already carries a signature: the signature is dropped and the transaction is signed again. No change is needed unless you worked around the rejection.

Context Module

Transaction checks use the shared ClearSigningContext.TransactionCheck

EthereumClearSigningContext.TransactionCheck is removed. Match on ClearSigningContext.TransactionCheck instead, as for Solana.

Solana context request

  • SolanaContextRequest.txCheckSupported is removed.
  • SolanaContextRequest now carries transactionCheckFrom and transactionCheckRawTx to request a transaction check. SolanaContextLoader can then return ClearSigningContext.TransactionCheck.
  • resolveSolanaContextLoader() now returns a non-null SolanaContextLoader: remove any null handling.

Device Management Kit (Android USB)

ProductId is now a data class instead of a value class. Code that relied on value-class semantics (for example unwrapping it as its underlying value) must construct and read it as a regular class.

iOS

The generated Koin modules are no longer exported to the Objective-C / Swift framework. Remove any reference to them from your Swift code.

The Device Management Kit, the signers and the Context Module are shipped in a single LedgerDeviceManagementKit XCFramework. If your project still links LedgerDMK or SignerEth, replace them with LedgerDeviceManagementKit and import LedgerDeviceManagementKit.

Last updated on
Ledger
Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Stax, Ledger Flex, Ledger Nano, Ledger Nano S, Ledger OS, Ledger Wallet, [LEDGER] (logo), [L] (logo) are trademarks owned by Ledger SAS.