Skip to content

Commit 08e9875

Browse files
committed
Merge tag 'v0.87.0' into ci
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 comparison
2 parents 8941977 + ec3aa08 commit 08e9875

File tree

165 files changed

+4726
-2441
lines changed

Some content is hidden

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

165 files changed

+4726
-2441
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/.idea
1+
.idea
22
*.iml
33
/target
44
/swift/**/.build

CODING_GUIDELINES.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ These should usually be prioritized in that order, but adjust the trade-off as n
4545

4646
- **Prefer `expect()` to `unwrap()`.** As noted, we don't have a no-panics policy, but `expect()` forces you to write down why you believe something should *never* happen except for programmer errors. In particular, untrusted input that fails to validate should *not* panic.
4747

48-
(Yes, there's a Clippy lint for this, but we also have a lot of code that predates this guideline.)
48+
As an exception, it's okay to use `unwrap()` in tests, though `expect()` is still preferred if it's for the thing you're actively testing.
4949

5050
- You don't have to write doc comments on everything, but **if you do write a comment, make it a doc comment**, because they show up more nicely in IDEs.
5151

5252
- We build with a pinned nightly toolchain, but **we also support stable**. The specific minimum supported version of stable is listed in our top-level Cargo.toml and checked in CI. We permit ourselves to bump this as needed, but try not to do so capriciously because we know external people might be in non-rustup scenarios where getting a new stable is tricky; in practice we often end up following tokio's "six months back" policy. If you need to bump the minimum supported version of stable, make sure the next release has a "breaking" version number.
5353

5454
- Crate-level Cargo.tomls don't usually inherit the workspace `rust-version`, because many crates are relatively stable and may continue working for external folks using earlier versions of Rust even though we no longer test for them; picking up the top-level MSRV update would therefore be unnecessarily breaking. Instead, they have a `rust-version` that indicates a known minimum at some point in the past; it may be too low, but it will never be overly high. The exceptions are the `bridge` crates, which are not intended to be used for anything but the app language libraries.
5555

56-
- **We do not have a changelog file**; we rely on [GitHub displaying all our releases](https://github.com/signalapp/libsignal/releases).
56+
- **We do not have a changelog file**; we rely on [GitHub displaying all our releases](https://github.com/signalapp/libsignal/releases). Unreleased changes are collected in [RELEASE_NOTES.md][], which is reset after each release.
5757

5858
- **Avoid `cargo add`**, or fix up the Cargo.toml afterwards. Some of our dependency lists are organized and `cargo add` doesn't respect that.
5959

Cargo.lock

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

Cargo.toml

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

3939
[workspace.package]
40-
version = "0.86.12"
40+
version = "0.87.0"
4141
authors = ["Signal Messenger LLC"]
4242
license = "AGPL-3.0-only"
43-
rust-version = "1.85"
43+
rust-version = "1.88"
4444

4545
[workspace.lints.clippy]
4646
# Prefer TryFrom between integers unless truncation is desired.
@@ -170,6 +170,7 @@ proptest = "1.7"
170170
proptest-state-machine = "0.4"
171171
prost = "0.14"
172172
prost-build = "0.14"
173+
prost-types = "0.14"
173174
protobuf = "3.7.2"
174175
protobuf-codegen = "3.7.2"
175176
protobuf-json-mapping = "3.7.2"
@@ -208,7 +209,7 @@ tokio-tungstenite = "0.28.0"
208209
tokio-util = "0.7.11"
209210
tonic = { version = "0.14", default-features = false }
210211
tonic-prost = "0.14"
211-
tonic-prost-build = "0.14"
212+
tonic-prost-build = { version = "0.14", default-features = false }
212213
tower-service = "0.3.3"
213214
tungstenite = "0.28.0"
214215
unicode-segmentation = "1.12.0"

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.86.12'
8+
s.version = '0.87.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: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
v0.86.12
1+
v0.87.0
22

3-
- Adds the "useH2ForUnauthChat" remote config, for experimenting with running unauthenticated chat connections over H2.
3+
- Expose accountExists() API to client libraries
4+
5+
- 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.
6+
7+
- Updated Kotlin and Android Gradle Plugin versions.
8+
9+
- Remove PublicKey ordered comparsion
410

5-
- Update to latest libcrux-ml-kem and spqr crates, addressing https://github.com/signalapp/libsignal/issues/641. Thank you to @GuuJiang for investigating and helping fix this issue!

acknowledgments/acknowledgments-android-testing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
669669
670670
```
671671

672-
## libsignal-account-keys, attest, libsignal-jni-impl, libsignal-jni-testing, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-testing, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup
672+
## libsignal-account-keys, attest, libsignal-jni-impl, libsignal-jni-testing, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-testing, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-grpc, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup
673673

674674
```
675675
GNU AFFERO GENERAL PUBLIC LICENSE
@@ -5701,7 +5701,7 @@ THE SOFTWARE.
57015701
57025702
```
57035703

5704-
## tonic 0.14.2
5704+
## tonic-build 0.14.2, tonic-prost-build 0.14.2, tonic-prost 0.14.2, tonic 0.14.2
57055705

57065706
```
57075707
Copyright (c) 2025 Lucio Franco

acknowledgments/acknowledgments-android.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
669669
670670
```
671671

672-
## libsignal-account-keys, attest, libsignal-jni, libsignal-jni-impl, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup
672+
## libsignal-account-keys, attest, libsignal-jni, libsignal-jni-impl, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-grpc, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup
673673

674674
```
675675
GNU AFFERO GENERAL PUBLIC LICENSE
@@ -5701,7 +5701,7 @@ THE SOFTWARE.
57015701
57025702
```
57035703

5704-
## tonic 0.14.2
5704+
## tonic-build 0.14.2, tonic-prost-build 0.14.2, tonic-prost 0.14.2, tonic 0.14.2
57055705

57065706
```
57075707
Copyright (c) 2025 Lucio Franco

acknowledgments/acknowledgments-desktop.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
669669
670670
```
671671

672-
## libsignal-account-keys, attest, libsignal-node, signal-neon-futures, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-testing, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup
672+
## libsignal-account-keys, attest, libsignal-node, signal-neon-futures, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-testing, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-grpc, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup
673673

674674
```
675675
GNU AFFERO GENERAL PUBLIC LICENSE
@@ -5923,7 +5923,7 @@ SOFTWARE.
59235923
59245924
```
59255925

5926-
## tonic 0.14.2
5926+
## tonic-build 0.14.2, tonic-prost-build 0.14.2, tonic-prost 0.14.2, tonic 0.14.2
59275927

59285928
```
59295929
Copyright (c) 2025 Lucio Franco

acknowledgments/acknowledgments-ios.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,7 @@ You should also get your employer (if you work as a programmer) or school, if an
924924
<key>License</key>
925925
<string>GNU Affero General Public License v3.0 only</string>
926926
<key>Title</key>
927-
<string>libsignal-account-keys, attest, libsignal-ffi, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-testing, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup</string>
927+
<string>libsignal-account-keys, attest, libsignal-ffi, libsignal-bridge, libsignal-bridge-macros, libsignal-bridge-testing, libsignal-bridge-types, libsignal-core, signal-crypto, device-transfer, libsignal-keytrans, signal-media, libsignal-message-backup, libsignal-message-backup-macros, libsignal-net, libsignal-net-chat, libsignal-net-grpc, libsignal-net-infra, poksho, libsignal-protocol, libsignal-svrb, usernames, zkcredential, zkgroup</string>
928928
<key>Type</key>
929929
<string>PSGroupSpecifier</string>
930930
</dict>
@@ -6126,7 +6126,7 @@ THE SOFTWARE.
61266126
<key>License</key>
61276127
<string>MIT License</string>
61286128
<key>Title</key>
6129-
<string>tonic 0.14.2</string>
6129+
<string>tonic-build 0.14.2, tonic-prost-build 0.14.2, tonic-prost 0.14.2, tonic 0.14.2</string>
61306130
<key>Type</key>
61316131
<string>PSGroupSpecifier</string>
61326132
</dict>

0 commit comments

Comments
 (0)