Skip to content

Commit 540b25c

Browse files
committed
Merge tag 'v0.83.0' into ci
v0.83.0 - backups: Support polls in backup validator - spqr: Remove client-provided options to turn on/off SPQR, defaulting to on everywhere.
2 parents f9bb344 + eb7e0e7 commit 540b25c

File tree

145 files changed

+2570
-1690
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+2570
-1690
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Android Integration Test
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
signal_android_branch:
7+
description: 'Signal-Android branch to test against'
8+
required: false
9+
default: 'main'
10+
type: string
11+
12+
env:
13+
CARGO_TERM_COLOR: always
14+
NDK_VERSION: 28.0.13004108
15+
16+
jobs:
17+
android-integration:
18+
name: Android Client Integration Test
19+
20+
runs-on: ubuntu-latest-8-cores
21+
22+
timeout-minutes: 60
23+
24+
steps:
25+
- name: Checkout libsignal
26+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
27+
with:
28+
path: libsignal
29+
submodules: recursive
30+
31+
- name: Checkout Signal-Android
32+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
33+
with:
34+
repository: signalapp/Signal-Android
35+
ref: ${{ inputs.signal_android_branch }}
36+
path: Signal-Android
37+
38+
- run: 'echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV"'
39+
40+
- name: Validate Gradle Wrapper
41+
uses: gradle/actions/wrapper-validation@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0
42+
43+
- run: |
44+
cd libsignal
45+
rustup toolchain install $(cat rust-toolchain) --profile minimal --target aarch64-linux-android,armv7-linux-androideabi,x86_64-linux-android,i686-linux-android
46+
47+
- name: Install protoc
48+
run: |
49+
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v32.0/protoc-32.0-linux-x86_64.zip
50+
sudo unzip -o protoc-32.0-linux-x86_64.zip -d /usr/local bin/protoc
51+
sudo unzip -o protoc-32.0-linux-x86_64.zip -d /usr/local 'include/*'
52+
rm protoc-32.0-linux-x86_64.zip
53+
54+
- name: Install Android NDK
55+
run: |
56+
sudo ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;$NDK_VERSION"
57+
echo "ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk/${NDK_VERSION}" >> "$GITHUB_ENV"
58+
59+
- name: Run Android's QA checks with local libsignal
60+
run: ./gradlew qa --no-daemon --stacktrace -PlibsignalClientPath=../libsignal -F OFF
61+
working-directory: Signal-Android
62+
shell: bash # Explicitly setting the shell turns on pipefail in GitHub Actions
63+
64+
- name: Upload test results
65+
if: failure()
66+
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
67+
with:
68+
name: test-results
69+
path: |
70+
Signal-Android/**/build/reports/
71+
Signal-Android/**/build/test-results/
72+
retention-days: 7

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ default-members = [
3737
resolver = "2" # so that our dev-dependency features don't leak into products
3838

3939
[workspace.package]
40-
version = "0.82.0"
40+
version = "0.83.0"
4141
authors = ["Signal Messenger LLC"]
4242
license = "AGPL-3.0-only"
4343
rust-version = "1.85"
@@ -48,7 +48,10 @@ rust-version = "1.85"
4848
cast_possible_truncation = "warn"
4949

5050
[workspace.lints.rust]
51-
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }
51+
unexpected_cfgs = { level = "warn", check-cfg = [
52+
'cfg(fuzzing)',
53+
'cfg(tokio_unstable)',
54+
] }
5255

5356
[workspace.dependencies]
5457
# Our own crates, so that we don't have to depend on them by inter-crate paths
@@ -141,7 +144,7 @@ http-body-util = "0.1.1"
141144
hyper = "1.4"
142145
hyper-util = "0.1.4"
143146
indexmap = "2.1.0"
144-
intmap = "3.0.0"
147+
intmap = "3.1.2"
145148
itertools = "0.14.0"
146149
jni = "0.21"
147150
json5 = "0.4.1"

LibSignalClient.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
Pod::Spec.new do |s|
77
s.name = 'LibSignalClient'
8-
s.version = '0.82.0'
8+
s.version = '0.83.0'
99
s.summary = 'A Swift wrapper library for communicating with the Signal messaging service.'
1010

1111
s.homepage = 'https://github.com/signalapp/libsignal'

RELEASE_NOTES.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
v0.82.0
1+
v0.83.0
22

3-
- Node: migrate libsignal-client to the ECMAScript module format (from CommonJS).
3+
- backups: Support polls in backup validator
44

5-
- Node: interfaces now use property notation for method requirements, which TypeScript can check more strictly.
6-
7-
- net: Direct connections to the Signal servers will be tried as a fallback if connecting through an HTTP or SOCKS proxy fails or takes too long.
5+
- spqr: Remove client-provided options to turn on/off SPQR, defaulting to on everywhere.

java/android/benchmarks/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'com.android.library' version '8.9.0'
2+
id 'com.android.library' version '8.10.1'
33
id 'androidx.benchmark' version '1.1.1'
44
}
55

java/android/benchmarks/src/androidTest/java/SealedSender.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.signal.libsignal.protocol.SessionBuilder;
2727
import org.signal.libsignal.protocol.SignalProtocolAddress;
2828
import org.signal.libsignal.protocol.UntrustedIdentityException;
29-
import org.signal.libsignal.protocol.UsePqRatchet;
3029
import org.signal.libsignal.protocol.ecc.ECKeyPair;
3130
import org.signal.libsignal.protocol.ecc.ECPublicKey;
3231
import org.signal.libsignal.protocol.groups.GroupCipher;
@@ -209,7 +208,7 @@ private static void initializeSessions(
209208
bobKyberPreKey.getKeyPair().getPublicKey(),
210209
bobKyberPreKey.getSignature());
211210
SessionBuilder aliceSessionBuilder = new SessionBuilder(aliceStore, bobAddress);
212-
aliceSessionBuilder.process(bobBundle, UsePqRatchet.YES);
211+
aliceSessionBuilder.process(bobBundle);
213212

214213
bobStore.storeSignedPreKey(2, bobSignedPreKey);
215214
bobStore.storeKyberPreKey(12, bobKyberPreKey);

java/android/packaging-test/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'com.android.library' version '8.9.0'
2+
id 'com.android.library' version '8.10.1'
33
}
44

55
repositories {

java/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ plugins {
1111
id "org.jetbrains.dokka" version "2.0.0" apply false
1212

1313
// These plugins need to be loaded together, so we must declare them up front.
14-
id 'com.android.library' version "8.9.0" apply false
14+
id 'com.android.library' version "8.10.1" apply false
1515
id 'org.jetbrains.kotlin.android' version "2.1.0" apply false
1616
}
1717

@@ -22,7 +22,7 @@ repositories {
2222
}
2323

2424
allprojects {
25-
version = "0.82.0"
25+
version = "0.83.0"
2626
group = "org.signal"
2727

2828
tasks.withType(JavaCompile) {

java/build_jni.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ cargo fetch
2121

2222
export CARGO_PROFILE_RELEASE_DEBUG=1 # Enable line tables
2323
RUSTFLAGS="--cfg aes_armv8 ${RUSTFLAGS:-}" # Enable ARMv8 cryptography acceleration when available
24+
RUSTFLAGS="--cfg tokio_unstable ${RUSTFLAGS:-}" # Access tokio's unstable metrics
2425
RUSTFLAGS="$(rust_remap_path_options) ${RUSTFLAGS:-}" # Strip absolute paths
2526
export RUSTFLAGS
2627

0 commit comments

Comments
 (0)