Downloads
Two builds ship with each release — both signed with the same release key:
| Asset | Distribution | Use when |
|---|---|---|
rouse-context-1.0.9-foss.apk |
FOSS (UnifiedPush, no Firebase/Google Play services) | Sideloading on de-Googled devices / F-Droid-style installs. |
rouse-context-1.0.9-google.apk |
Google (Firebase Cloud Messaging) | Sideloading on devices with Google Play services. |
rouse-context-1.0.9-google.aab |
Google App Bundle | Play Console upload only — not directly installable. |
What's Changed
- test: stop two tests from passing without asserting anything (Fixes #553) by @monkopedia-coder in #554
- ci: compile :device-tests and :e2e so a break there cannot stay green (Fixes #549) by @monkopedia-coder in #552
- refactor(mcp): extract the POST /mcp prologue from handleMcp (Fixes #541) by @monkopedia-coder in #551
- docs(mcp): correct three kdoc claims from #551 that review falsified by @monkopedia-coder in #556
- fix(foss): dispatch ACRA silent reports off the caller's thread (Fixes #542) by @monkopedia-coder in #550
- docs(mcp): remove the last two GET /mcp claims, including one #556 missed by @monkopedia-coder in #559
- ci: derive the gates' production path list instead of hand-maintaining two (Fixes #547) by @monkopedia-coder in #561
- fix(tunnel): read more when a TLS record spans two mux DATA frames (#558 investigation) by @monkopedia-coder in #563
- fix(tunnel): serialise inbound mux frames so DATA keeps wire order (Fixes #562) by @monkopedia-coder in #567
- fix(mcp): close swept session transports outside sessionsMutex by @monkopedia-coder in #570
- fix(tunnel): tear the tunnel down when the inbound frame consumer throws by @monkopedia-coder in #572
- docs(logging): quote the sensitive-logging gate's regex instead of paraphrasing it (Fixes #564) by @monkopedia-coder in #574
- fix(tunnel): demultiplex inbound mux frames off the main thread by @monkopedia-coder in #575
- test(mcp): guard the session keep-alive touch against mutation by @monkopedia-coder in #578
- test(mcp): make
shutdown closes transportsobserve a real close by @monkopedia-coder in #580 - refactor(mcp): give required tool params a non-null delegate by @monkopedia-coder in #581
- refactor(outreach): route the channel tools through resolveChannelId by @monkopedia-coder in #582
- ci: verify FOSS purity against the built APK (#548) by @monkopedia-coder in #584
- fix(ci): anchor the sensitive-logging comment filter to the content field (#577) by @monkopedia-coder in #588
- ci: run the FOSS purity gate in android-ci.yml too (#585) by @monkopedia-coder in #589
- test(tunnel): pin the inbound consumer's tolerant ClosedSendChannelException clause (#576) by @monkopedia-coder in #591
- fix(ci): widen the sensitive-logging gate to names its own policy forbids (#579) by @monkopedia-coder in #595
- fix(foss): drop ReportField.LOGCAT instead of emptying its arguments (#583) by @monkopedia-coder in #587
- test(tunnel): bound the TlsAcceptor tests so a spin reports red, not a hang (#566) by @monkopedia-coder in #599
- Anchor the runBlocking gate's comment filter, and self-test it (#590) by @monkopedia-coder in #593
- Anchor the manual-JSON gate's path allowlist to the path field, and self-test it (#594) by @monkopedia-coder in #598
- fix(ui): show the real version in Settings instead of the literal "0.1.0" by @monkopedia-coder in #602
- fix(mcp): advertise the build version in the MCP handshake (#603) by @monkopedia-coder in #604
- Bump to v1.0.9 by @monkopedia-coder in #601
Full Changelog: v1.0.8...v1.0.9