Skip to content

v0.5.26-rc1

Pre-release
Pre-release

Choose a tag to compare

@ben-kaufman ben-kaufman released this 26 Oct 08:10
v0.5.26-rc1
eba41ef

Adds encrypted atomic conditional backup transactions for native Swift and Kotlin clients.

  • Supply expected versions for every key; successful transactions return acknowledged resulting versions.
  • Each mutation uses the original client and makes one request, without redirects or automatic replay. Typed conflicts and rejected requests remain distinct from uncertain transport outcomes.
  • Existing unconditional backup and LDK APIs remain unchanged.

Callers must persist candidate values and reconcile uncertain outcomes before retrying. This API alone does not make migration safe in namespaces still writable by legacy unconditional clients. It does not activate Bitkit's split-wallet backup format.

Validation: 27 Rust tests, controlled mutation/conflict/lost-acknowledgement cases, generated Swift/Kotlin bindings, all iOS/Android native builds, Swift typechecking, Android Gradle checks and native bridge probes. Hosted Rust, lint, manifest and both binding workflows passed. Full authenticated Bitkit migration/cancellation journeys remain separate work.

The iOS archive SHA-256 is 8bd5a46b6a0a132a76f8da59b2fc6acc7196e432bb138ed8e5666fcff4389b21, matching the signed package manifest. Android Maven publication is performed by the release workflow; its completion is verified separately.