Release notes

VoxGuard 4.8.16

Full release notes for the controlled VoxGuard 4.8.16 release preparation and internal store upload.

Release date: June 4, 2026
Runtime version: 4.8.16+26060401
Prepared on branch: codex/release-4-8-16-2026-06-04

Release focus

VoxGuard 4.8.16 is a controlled release-preparation build focused on security, offline reliability, map/realtime stability, localization cleanup, and release automation hardening after the 4.8.15 preparation baseline.

The build was prepared locally, uploaded to TestFlight, and uploaded to Google Play Internal testing. External/public distribution still remains a release-owner decision.

User-visible changes

  • More reliable signed-in and signed-out session handling, including expired session recovery.
  • Better messaging reliability in simulator-covered send and two-user realtime flows.
  • Map views are less likely to show stale live-update snapshots after resume.
  • Help, support, profile, group, alert, and home/PTT surfaces received localization and wording cleanup.
  • Admin read-only views remain covered by release smoke testing.

Technical changes

  • Implemented secure local token storage and updated iOS pod metadata for the secure storage plugin.
  • Hardened foreground service lifecycle handling.
  • Hardened offline sync queue draining and treated offline rate-limit failures as retryable.
  • Guarded map resume realtime subscriptions and live map snapshots.
  • Redacted invite tokens from deep-link logging.
  • Hardened message acknowledgement RPCs and revoked legacy orphan RPC access.
  • Added the N9 Supabase schema baseline and N12 RLS/policy performance remediation migrations.
  • Removed legacy map/runtime code, unused batch request manager code, and related obsolete tests.
  • Cleaned localization orphan/dedup coverage and added CI checks for l10n, debug prints, and skipped-test reason hygiene.

Fixes made during this release run

  • Created the missing iOS simulator devices needed by the E2E release gate: iPhone 16 Pro iOS 26.4, iPhone 16 Plus, and iPhone 16 E2E C.
  • Fixed debug-only E2E auto-login so a persisted simulator auth session is cleared when the requested auto-login user differs from the stored session. This path is disabled for release mode.
  • Updated Maestro message-send flows to tap the visible send button text in Finnish or English instead of relying on a hidden or obscured semantic id while the iOS keyboard is open.
  • Updated the release build script so explicit environment overrides can win over .env; final artifacts were rebuilt with ENVIRONMENT=production.

Test and build evidence

  • flutter analyze: PASS.
  • flutter test: PASS, 2303 passing / 0 failing / 25 skipped.
  • Simulator E2E health check: PASS.
  • Targeted message_send simulator E2E after release-prep fix: PASS.
  • Release preparation for 4.8.16+26060401: PASS.
  • Quick simulator smoke: PASS, 7/7 scenarios.
  • Production artifact rebuild with ENVIRONMENT=production: PASS.
  • Store upload artifact, environment, and Fastlane preflights: PASS.

Release artifacts

  • Android App Bundle: app-release.aab
  • Android SHA-256: 9e2b50bd2ec2a15530fe03c8472419a2881833631e4534955aeed0a3b8dd6fd2
  • iOS archive: Runner.xcarchive
  • iOS IPA: VoxGuard.ipa
  • iOS SHA-256: 8935416f889ecbfa18fd211053f052729f9982b9c412a6f0d626a17aec64710c
  • Production build evidence was reviewed before upload.

Internal store upload

  • TestFlight upload: PASS. Build 4.8.16 (26060401) uploaded, processed, and changelog set.
  • Google Play Internal testing upload: PASS. AAB uploaded to the internal track.
  • Public App Store release, external TestFlight distribution, and wider Google Play rollout remain separate release-owner decisions.

Known limits

  • The release was prepared from commit d33dfa08 plus release-prep changes committed as a3ef190b before upload.
  • Store-side tester assignment and final availability should still be verified in App Store Connect and Play Console after processing.