Skip to main content

Swift Changelog

Release notes for the Silent Shard Trio Swift SDK.


1.0.0

This release renames the SDK module and migrates the public API to a keyId-addressed model.

Breaking Changes

  • Renamed the Swift module and SPM product/target from trioinitiator to trio. Update your imports to import trio. The SPM package repository (silent-shard-artifacts) is unchanged.
  • Session factory renamed from createTrioSession to trioInitiator (SilentShard.ECDSA.trioInitiator(...) / SilentShard.EdDSA.trioInitiator(...)).
  • Migrated to a keyId-addressed model. Keyshare bytes are no longer passed in or out — the SDK persists them through your StorageClient, keyed by an opaque keyId string:
    • keygen(), `import`(keysharePrivateKey:) and recover(keysharePublicKey:) now return a keyId (String).
    • sign, refresh, reconcile, export and delete now take a keyId.
  • export(keyId:) and `import`(keysharePrivateKey:) are now single-argument (the SDK handles backup encryption / root chain code internally).
  • Renamed preSignaturepreSign and preSignatureFinalpreSignFinal (ECDSA only); renamed recoveryrecover.
  • Implement the StorageClient protocol (not BaseStorageClient). It now requires a keyType: StorageKeyType property, is addressed by keyId, and reads/writes ReconcileStoreDao, which is now Codable.
  • WebsocketConfig now uses a verbatim-URL model: a full wss:///ws:// URL is used as-is (port and isSecure are ignored); for local development pass a bare host/IP with port and isSecure.

Added

  • delete(keyId:) to remove a stored key.
  • hardDerivation(keyId:derivationPath:) (ECDSA only) to derive a new hardened child key, returning a new keyId.