Repository navigation
Notrus 0.3.4-beta5 Refresh 4 (superseded by Refresh 5)
Pre-release
Pre-release
·
9 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Notrus 0.3.4-beta5 Refresh 4
Release date: 2026-05-25
This pre-release refresh supersedes Refresh 3 and publishes the current beta branch with refreshed Android and macOS artifacts, dependency bump PRs applied, large encrypted attachment work, faster sync work, current experimental call surfaces, UI/design polish, and a Rust lockfile cleanup for the remaining high Dependabot advisory on unused optional hpke-rs libcrux packages.
Included
- Chunked encrypted attachment handling for files up to 1 GB per attachment on the current native path.
- Improved background download and notification-triggered sync paths, within Android and macOS background-execution limits.
- Faster normal-mode sync with event-triggered updates, shorter call-sensitive debounce, foreground polling fallback, and throttled background security refresh.
- Android and macOS call surfaces: calls tab/history, full call screen, compact call pill, incoming/outgoing/ongoing call notifications, Android restricted lock-screen call Activity, foreground microphone call service, ringtone/ringback work, missed/ended/failed call entries, microphone permission UI, and call diagnostics.
- Authenticated opaque call signaling, signed media descriptions, authenticated ICE/STUN/TURN discovery, TURN-only privacy-mode metadata, and RingRTC-based native media integration experiments.
- Defensive Android call-audio lifecycle handling: native callback call-id binding, stale callback rejection, media-start timeout cleanup, route retry while RingRTC settles, and cancellation of stale mute/audio retry jobs.
- Android UI/performance polish around bottom navigation, chat entry animation, search/composer styling, call overlay placement, and message-list scroll behavior.
- macOS call UI and notification polish, conversation info surfaces, and RingRTC desktop helper packaging.
- Account recovery separation from encrypted chat backup handling, plus local history/cache hardening around imported/restored histories.
- Dependency bump PRs for GitHub Actions, Gradle wrapper, AndroidX test libraries, AndroidX core, Signal libraries, Rust
rand, and Rustserde_json. - Rust lockfile cleanup for
GHSA-hc3c-63hc-2r9f: the unused optionalhpke-rslibcrux backend is patched to a local dependency-free stub, soCargo.lockno longer carries vulnerablelibcrux-aeadorlibcrux-chacha20poly1305packages while Notrus stays on OpenMLS RustCrypto.
Conservative Call Status
Calls are included for tester visibility, but they are experimental and should not be marketed or relied on as stable voice communication yet.
- Do not describe calls as stable, production-ready, or emergency-ready.
- Do not rely on calls on POCO/Xiaomi/Redmi HyperOS or Android 16 firmware. Those devices have shown native WebRTC/RingRTC crashes or audio-stack failures; current builds may block or fail calls defensively there.
- Background incoming calls depend on the app process, foreground service or worker state, OS battery policy, notification permission, relay availability, and network conditions. They are not guaranteed after force-stop, OS kill, long idle, reboot without reopening Notrus, or aggressive OEM battery policy.
- Audio routing, microphone capture, ringtone/ringback state, connected timers, ghost-call cleanup, and cross-platform Android/macOS media still require more physical-device burn-in before release-quality claims.
- TURN is still required for many real networks, and call timing/routing metadata may be visible to the relay or TURN operator.
- Video calls and group calls remain out of scope.
Artifacts
Notrus-0.3.4-beta5-release.apkNotrus-0.3.4-beta5-debug.apkNotrus-macOS-0.3.4-beta5-refresh4.zipSHA256SUMS-v0.3.4-beta5-refresh4.txt
Validation Snapshot
cargo buildzsh scripts/build-protocol-core.shsource ../../../scripts/swift-env.sh && swift build./gradlew :app:testDebugUnitTest./gradlew lintDebugnode scripts/test-security-suite.mjsnode scripts/test-native-voice-calls.mjsnode scripts/test-call-signaling.mjsnode scripts/test-calls-complete-gate.mjszsh scripts/package-android-app.shzsh scripts/package-mac-app.sh- Android release APK v2 signature verification
- macOS deep codesign verification
git diff --check
Checksums
222cddbd213afdc156f86093ac7f0cc395f3ea2cf65008939a069bab7329ebc2 dist/android/Notrus-0.3.4-beta5-release.apk
dc70710a0c705e81157cd78bed6864d63ab5b9839932446be3619455a64123db dist/android/Notrus-0.3.4-beta5-debug.apk
7a56d64dc32676b72c789bac6371905a36c7d2b906a33e2d059d8ac87b3366e3 dist/Notrus-macOS-0.3.4-beta5-refresh4.zip