Skip to content

v1.0.0

Latest

Choose a tag to compare

@jackspirou jackspirou released this 27 Aug 08:02
18f3979

@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.clientMessageId is required. The SDK
    generates it when SendOptions.clientMessageId is absent, exposes it on send
    errors through isOutgoingMessageError, 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
    ISignalProtocolLocalStore implementations must now implement
    deleteMetadata for 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. preferred delivery falls
    back to identified delivery only after an anonymous authorization rejection;
    other anonymous-delivery failures do not change the privacy route.