@open-e2ee/signal-protocol-sdk@1.0.0 changelog:notes
node ./scripts/check-changelog.mjs --section 1.0.0
-
Hosted Relay supports data-only push wake hints across Expo, APNs, FCM,
and Web Push. The SDK registers one destination for the authenticated
device and derives no account, device, scope, or generation identifiers from
application input. A wake starts an authenticated durable-mailbox pull.
The SDK acknowledges only envelopes that it processes successfully, and the
same pull remains available when push delivery is unavailable. -
Hosted Relay now supports provider migration, recovery progress, and
managed device linking. Migration assertions use the existing purpose-aware
identity callback with typed source and target roles. Recovery reports typed
phases while Relay remains the account authority. Managed linking requires a
provisioned account identity. It also requires distinct active and new
device-auth keys. It sends no ratchet, sender-key, skipped-key, or outbox
state. -
Breaking: sends use a durable exact-ciphertext outbox and always return a
logical-send identifier.SendResult.clientMessageIdis required. The SDK
generates it whenSendOptions.clientMessageIdis absent, exposes it on send
errors throughisOutgoingMessageError, and replays the persisted encrypted
transmission after an unknown Relay result. Receivers retain processed Relay
envelope identifiers for 30 days and acknowledge duplicates without running
protocol decryption again. Automatic sender-key rotation also persists its
pairwise distribution messages before group transport. Custom
ISignalProtocolLocalStoreimplementations must now implement
deleteMetadatafor bounded outbox and deduplication retention. -
Breaking: linked-device backup format 2 transfers account identity only.
A linked device generates fresh prekeys and establishes independent sessions.
The SDK rejects old or extended backup shapes that carry prekeys, ratchet
sessions, sender-key state, message state, or outbox state. -
Profile-key credential issuance is blinded. The authenticated issuer
receives an ACI-bound blinded request, not the raw profile key. The client
unblinds and verifies the response before it creates a group presentation. -
Breaking: sealed-sender delivery now uses one multi-recipient wire format
for direct and group sends. The direct path supports one recipient through
the same format, and the SDK rejects the retired V1 wire format. Hosted Relay
adapters no longer implement the V1 send method.preferreddelivery falls
back to identified delivery only after an anonymous authorization rejection;
other anonymous-delivery failures do not change the privacy route.