Skip to content

Releases: beeper/libsignal

beeper-0.89.1

19 Mar 16:06

Choose a tag to compare

v0.89.1

  • Add debug performance measuring hooks for Android (off by default; not present in prod builds)
  • backups: Support group terminate update message.
  • Bumps the gRPC remote config keys for AccountsAnonymousLookupUsernameLink, AccountsAnonymousCheckAccountExistence, and MessagesAnonymousSendMultiRecipientMessage to have a ".2" suffix.

v0.89.0

  • Node: Implementing IdentityKeyStore.getIdentityKeyPair() can avoid rederivation of the public key from the existing IdentityKeyStore.getIdentityKey() requirement. In the future, the PrivateKey-only getIdentityKey() will be removed.
  • Node: Update all uses of Uint8Array and Buffer to use ArrayBuffer
  • Expose UnauthKeysService.getPreKeys() to client libraries

beeper-0.88.3

16 Mar 20:09

Choose a tag to compare

v0.88.3

  • backups: Replace protobuf-json-mapping with pbjson
  • backups: Better error resilience in JSON takout

v0.88.2

  • java: Expose BackupJsonExporter for takeout usage.
  • Expose useH2ForAuthChat remote configuration key to use HTTP/2 for AuthenticatedChatConnection's non-fronted connections.
  • The disableNagleAlgorithm remote config flag has been removed, as the experiment has been deployed successfully.
  • keytrans: Improve monitor_and_search logic to handle a wider set of scenarios (keep monitoring unchanged mappings, while falling back to search for the rest).
  • Windows: revert change to build without build without +crt-static

v0.88.1

  • backups: Add hasSeenAdminDeleteEducationDialog field support.
  • backups: Support access control for member labels.
  • java: Classify ChatServiceInactive errors as RequestResult.RetryableNetworkError
  • Populate User-Agent and other headers for gRPC chat requests.

v0.88.0

  • java: KeyTransparencyClient now returns RequestResult types
  • Java: SealedSessionCipher.encrypt(SignalProtocolAddress, SenderCertificate, byte[]) now throws NoSessionException instead of AssertionError when there's no usable 1:1 session with the given recipient. encrypt(SignalProtocolAddress, UnidentifiedSenderMessageContent) is not affected.
  • Add "grpc.MessagesAnonymousSendMultiRecipientMessage" remote config, and the implementation backing it.

beeper-0.87.5

02 Mar 22:30

Choose a tag to compare

v0.87.5

  • SPQR: upgrade to v1.5.0.
  • iOS: 5xx responses to typed chat APIs are now treated as retryable ioErrors rather than networkProtocolErrors.
  • Log hashes of TLS certs on verification failure
  • Treat HTTP/2 transport errors disinct from gRPC status
  • backup: Support iOS specific settings in account data.

v0.87.4

  • Add RemoteConfig for accountExists gRPC
  • Update boring dependency to 5.0.1, including an update to the bundled BoringSSL. Crates that use boring now depend on having a C++ stdlib at run time.

v0.87.3

  • keytrans: Remove search-with-version fallback from monitor_and_search function.
  • backups: Demote old enclave to "previous".

v0.87.2

  • Expose "grpc.AccountsAnonymousLookupUsernameLink" remote config key. When enabled, the typed chat API lookUpUsernameLink will use gRPC instead of the default websocket-based implementation. This has no effect if "useH2ForUnauthChat" is unset, or if an H2 connection cannot be established for some other reason.
  • Panic on integer overflow, even in release mode
  • keytrans: Include search key and distinguished tree last update time in stored account data
  • Windows: build without +crt-static, i.e. we now use /MD to link the C stdlib instead of /MT.
  • backups: Support admin deleted messages

beeper-0.87.1

09 Feb 11:30

Choose a tag to compare

v0.87.1

  • Make ROOT_KEY_MAX_BYTES_FOR_SHO visible to the outside world

beeper-0.87.0

03 Feb 16:38

Choose a tag to compare

v0.87.0

  • Expose accountExists() API to client libraries
  • Expose "grpc.AccountsAnonymousLookupUsernameHash" remote config key. When enabled, the typed chat API lookUpUsernameHash will use gRPC instead of the default websocket-based implementation. This has no effect if "useH2ForUnauthChat" is unset, or if an H2 connection cannot be established for some other reason.
  • Updated Kotlin and Android Gradle Plugin versions.
  • Remove PublicKey ordered comparsion

v0.86.16

  • swift: Make AciInfo and E164Info constructors public

v0.86.15

  • SVR2: update production enclave
  • SVRB: add new production enclave to current set
  • Add accountExists() typed API
  • backups: Support for key transparency fields

v0.86.14

  • TypeScript: Fix accidentally-lax typing for the non-deprecated overload of Net.setRemoteConfig.
  • Upgrade MSRV to 1.88
  • Backup validator: validate group member labels

v0.86.13

  • Limit the number of call link root key bytes used for CallLinkSecretParams derivation.
  • updated SVR2 and SVRB enclave configurations

beeper-0.86.12

15 Jan 19:02

Choose a tag to compare

v0.86.12

  • Adds the "useH2ForUnauthChat" remote config, for experimenting with running unauthenticated chat connections over H2.
  • Update to latest libcrux-ml-kem and spqr crates, addressing signalapp#641. Thank you to @GuuJiang for investigating and helping fix this issue!

beeper-0.86.11

15 Jan 17:53
0d16964

Choose a tag to compare

v0.86.11

  • net: Address issue with TLS proxy connectivity when using certain kinds of TLS certificates

v0.86.10

  • Backup validator: Blocks and unblocks in the Release Notes chat are no longer considered errors.
  • Backup validator: Errors about absent oneofs now mention whether the message also contained fields that libsignal doesn't know about.

v0.86.9

  • When chat connections fail and the server's TLS response suggests a captive network or similar, there's now a dedicated error:
    • Java: PossibleCaptiveNetworkException
    • Swift: SignalError.PossibleCaptiveNetwork
    • Node: PossibleCaptiveNetworkError
  • Added Net(work).connectProvisioning and ProvisioningConnectionListener. Provisioning connections are used when linking secondary devices.
  • backups: Allow polls in 1:1 chats and increase question size limit

beeper-0.86.8

11 Dec 12:25

Choose a tag to compare

v0.86.8

  • backups: Support pinned messages

v0.86.7

  • backups: Add 'allow sealed sender from anyone' setting to AccountSettings
  • Usage of Nagle's Algoirthm is now configurable for Network with the 'disableNagleAlgorithm` Remote Config paramater.

v0.86.6

  • Java artifacts are now published to build-artifacts.signal.org rather than Maven Central. See the README for further instructions.
  • keytrans: Fall back to search-with-version if self-monitor returns unexpected versions.

v0.86.5

  • chat: Fixed parsing of 409/410 responses for sendMultiRecipientMessage.

beeper-0.86.4

15 Nov 17:01

Choose a tag to compare

v0.86.4

  • backups: Support latest backup.proto definitions

v0.86.3

  • backups: Allow "tombstones" from view once messages in takeout exports
  • backups: Refactor BackupJsonExporter for easier consumer usage

beeper-0.86.2

10 Nov 23:49

Choose a tag to compare

v0.86.2

  • backups: Include more account fields into the exported JSON
  • backups: Throw validator errors if multiple contacts have the same username (a case-insensitive check)

v0.86.1

  • Revert back to publishing to Maven Central.

v0.86.0

  • Java artifacts are now published to GitHub Package Registry rather than Maven Central. See the instructions for Gradle and Maven. (No authentication should be necessary.)
  • java: Remove protocol.util.Pair in favor of kotlin.Pair
  • Node: export libsignal-net remote config keys as an array.
  • The deprecated overloads of KyberPreKeyStore.markKyberPreKeyUsed have been removed in Java and Swift. (TypeScript does not have overloads.) They were originally marked deprecated in v0.81.0.
  • Android: The min SDK version is now 23.
  • Bump minimum macOS version to 12

v0.85.6

  • Node: Update package.json with repository link

v0.85.4

  • backups: Add 'pinReminders' setting field to AccountSettings

v0.85.3

  • backups: Add bioText & bioEmoji fields to AccountData