Skip to content

Tags: BangC/libsignal

Tags

v0.17.0

Toggle v0.17.0's commit message
v0.17.0

Introduces initial, not-for-production client bindings for CDS2, the upcoming version of Signal’s Contact Discovery Service. CDS2 runs on Intel SGX over a Noise channel, similar to how HsmEnclave runs on HSMs over a Noise channel. The existing ‘hsm-enclave’ crate has been merged into the new ‘attest’ crate.

Additional changes:
- Node: Test with plain 'mocha' instead of 'electron-mocha'
- Java: Fix Dockerfile for an actually-reproducible build
- Rust: Update our fork of curve25519-dalek to match upstream 3.2.1

v0.16.0

Toggle v0.16.0's commit message
v0.16.0

The format of the zkgroup credential presentations has changed
(AuthCredentialPresentation, ProfileKeyCredentialPresentation,
PniCredentialPresentation). The server will accept v1 or v2
presentations, but clients will always produce v2.

Other changes:

- zkgroup: Several operations sped up through caching the "system
  params".

- Java: A ProGuard file is included in the jars for libsignal-client
  and libsignal-server to ensure that ProGuard and R8 do not strip
  declarations used via JNI.

- Java: InvalidSenderKeySessionException is now correctly packaged
  in the jar.

- Java: The published artifacts for libsignal-client and
  libsignal-server will now include native M1 Mac support.

v0.15.1

Toggle v0.15.1's commit message
v0.15.1

- Java: update reproducible build to Debian Buster (from Stretch),
  and ensure compatibility with glibc 2.28

v0.15.0

Toggle v0.15.0's commit message
v0.15.0

A reorganizational release with many breaking changes.

Swift:
- **Renamed the CocoaPod to LibSignalClient**
- Removed SignalError.invalidCiphertext in favor of 'invalidMessage'
- Added SignalError.invalidSession and
  SignalError.invalidSenderKeySession
- Removed SenderKeyRecord.init()

Node:
- **Renamed the NPM package to @signalapp/libsignal-client**
- Removed SenderKeyRecord.new()
- Renamed SignalClientError* to LibSignalError*
- Added InvalidSessionError and InvalidSenderKeySessionError

Java:
- **Renamed the artifacts on Sonatype** under org.signal
  - org.whispersystems:signal-client-java ->
      org.signal:libsignal-client
  - org.whispersystems:signal-client-android ->
      org.signal:libsignal-android
  - org.whispersystems:libsignal-server ->
      org.signal:libsignal-server
- **Renamed several packages** so everything is org.signal.libsignal:
  - org.whispersystems.libsignal ->
      org.signal.libsignal.protocol
  - org.whispersystems.libsignal.protocol ->
      org.signal.libsignal.protocol.message
  - org.whispersystems.libsignal.util.AndroidSignalProtocolLogger ->
      org.signal.libsignal.logging.AndroidSignalProtocolLogger
  - org.signal.zkgroup ->
      org.signal.libsignal.zkgroup
- Re-enabled support for building the non-Android jars with JDK 8
- Fixed several incorrect exception specifications
- Added InvalidSessionException and InvalidSenderKeySessionException
- Removed SenderKeyRecord's no-argument constructor
- 64-bit Android: Enabled run-time detection of CPU support for
  cryptographic operations

Rust:
- Overhaul of SignalProtocolError:
  - Removed ProtobufDecodingError, ProtobufEncodingError,
    InvalidCiphertext, and InternalError cases
  - Added InvalidSenderKeySession
  - Added a message to InvalidSessionStructure
  - Added distribution ID to NoSenderKeyState
  - Changed SessionNotFound's payload to a ProtocolAddress rather than
    a String
  - Added the message type to InvalidMessage

v0.14.0

Toggle v0.14.0's commit message
v0.14.0

New: the Java build produces an additional 'libsignal-server'
artifact, intended for use with the Signal chat and storage servers.
At this time this is mostly an updated delivery vehicle for the
ZKGroup APIs, but may include additional APIs in the future.

Breaking changes

- Java: Removed local copies of Guava library classes in favor of
  standard Java classes, specifically java.util.Optional.
- Java: SignalMessage::verifyMac can now throw InvalidKeyException
  if the provided MAC key is invalid. (In general users of
  SignalMessage should not need to call this directly.)

Other changes

- Java: Published signal-client-java artifacts now include Mac and
  Windows JNI libraries as well. Previously only the "testable"
  variant included these libraries.
- Java: update to Gradle 7.4
- Node: update to Neon 0.10.0
- Node: update to node-gyp 8.4.1 for MSVS 2022 support

v0.13.0

Toggle v0.13.0's commit message
v0.13.0

- Swift and Node now take a buffer for HsmEnclaveClient's public key
  instead of a public key object, matching the Java API.
- Swift: Fix HsmEnclaveClient's decryption to actually decrypt.
- Node: Build the NPM package for arm64 Linux as well.

No changes for Java compared to the 0.12.x series.

v0.12.4

Toggle v0.12.4's commit message
v0.12.4

- Node: Improve compatibility with plain JavaScript and esbuild

v0.12.3

Toggle v0.12.3's commit message
v0.12.3

- Java: Expose message type in SealedSessionCipher's DecryptionResult

v0.12.2

Toggle v0.12.2's commit message
v0.12.2

- Update curve25519-dalek for faster deserialization

v0.12.1

Toggle v0.12.1's commit message
v0.12.1

- Java: Add PlaintextContent(byte[]) constructor
- Node: Include ARM64 Windows in NPM package