Release notes

VoxGuard version history

A curated summary of the most important VoxGuard mobile app, backend, release, website, and testing changes since April 2026.

This page is not a raw Git changelog. The latest releases are grouped by category so app changes do not get mixed together with website, marketing, or release-process work.

Latest known version target

Mobile app

4.8.30

Current internal build 26073001, recorded in pubspec.yaml.

Latest version bump

July 30, 2026

Google Play Internal testing and iOS TestFlight carry the 4.8.30 internal build.

Website

Active pilot site

Website, install guides, materials, and product video are available on getvoxguard.com.

Recent app release targets

These cards focus on the app release targets and separate the surrounding website and marketing work into its own category.

4.8.30+26073001

Current internal build

Significant internal pilot update that releases the Android microphone while idle and improves interface contrast, map reliability, administrator workflows, and group browsing.

Mobile App

  • On Android, VoxGuard no longer reserves the microphone while joined but not transmitting.
  • Recorder and other microphone-using apps can open while VoxGuard is idle.
  • Administrator and group header labels have clearer contrast in light and dark themes.
  • Map markers and latest-location selection behave more reliably.
  • Administrator user search, filtering, and user creation are clearer.
  • User group memberships, roles, and the active group are visible without editing controls.
  • Group browsing and group-specific actions are more consistent.

Availability

  • Build 26073001 is available through Google Play Internal testing and iOS TestFlight.
  • This is an internal pilot release, not a public app-store release.

Read the Finnish 4.8.30 what's new overview

4.8.28+26072901

Previous internal build

Internal pilot release with deterministic realtime team-location loading and consistent map freshness.

Mobile App

  • Team markers no longer disappear when an unordered realtime query reaches the Data API row limit.
  • Fresh locations are selected consistently by capture time.
  • Equal capture times use a deterministic tie-breaker, keeping map results stable.
  • Structured diagnostics record the received realtime location row count.

Availability

  • Build 26072901 is available through Google Play Internal testing and iOS TestFlight.
  • Static analysis and 2,607 Flutter tests passed with 25 documented skips.
  • Simulator tests were intentionally omitted for this release.
  • This is an internal pilot release, not a public app-store release.

Read the full 4.8.28 release notes

4.8.27+26072803

Previous internal build

Internal pilot release that adds direct access to VoxGuard's published Privacy Policy from the About page.

Mobile App

  • The About page now includes a direct Privacy Policy link.
  • The policy opens in the device's external browser.
  • The link label and launch error are available in English and Finnish.

Availability

  • Build 26072803 is available through Google Play Internal testing and iOS TestFlight.
  • Static analysis and 2,599 Flutter tests passed with 25 documented skips.
  • iOS simulator tests were intentionally omitted for this link-only change.
  • This is an internal pilot release, not a public app-store release.

Read the full 4.8.27 release notes

4.8.26+26072802

Previous internal build

Focused Android maintenance release that stops repeated Wi-Fi scanning settings prompts after the user chooses No thanks.

Mobile App

  • Android location requests respect the user's Wi-Fi scanning choice.
  • Initial and continuous location requests continue with enabled GPS and network providers.
  • The first indoor fix may be slower or less accurate without Wi-Fi scanning.
  • The matching iOS build keeps store versions aligned and does not change iOS behavior.

Availability

  • Build 26072802 is available through Google Play Internal testing and iOS TestFlight.
  • Static analysis, 2,597 Flutter tests, and all 19 focused location tests passed.
  • iOS simulator tests were intentionally omitted for this Android-only maintenance release.
  • A physical Android confirmation remains the final closeout test.

Read the full 4.8.26 release notes

4.8.25+26072801

Previous internal build

Internal Android and iOS pilot release with reliable iPhone background location sharing, stronger PTT and messaging recovery, clearer accessibility labels, and administrative safeguards.

Mobile App

  • Active iPhone location sharing continues in the background with While Using the App permission.
  • Location sharing remains active across tab changes and reports startup failures honestly.
  • PTT, messages, alerts, sign-in state, and network recovery behave more consistently after interruptions.
  • Key controls expose user-facing accessibility labels instead of internal test selectors.

Availability

  • Build 26072801 is available through Google Play Internal testing and iOS TestFlight.
  • Automated analysis, 2,596 Flutter tests, seven quick-smoke scenarios, and all 20 full-profile iOS simulator scenarios passed.
  • Physical-iPhone validation remains the final closeout test.
  • This is an internal pilot release, not a public app-store release.

Read the full 4.8.25 release notes

4.8.24+26072003

Current internal build

Internal Android and iOS pilot release with simpler temporary password requirements and a more resilient administrator user-creation flow.

Mobile App

  • New and reset pilot passwords may contain any 6–128 characters without character-type requirements.
  • The administrator user-creation dialog stays open after an error and keeps entered values ready for correction.
  • The previous stricter password policy remains available for a controlled rollback.

Availability

  • Build 26072003 is available through Google Play Internal testing and iOS TestFlight.
  • This is an internal pilot release, not a public app-store release.

Read the full 4.8.24 release notes

4.8.23+26072002

Current internal build

Internal Android and iOS release that preserves an active voice session when VoxGuard is opened from its Android foreground notification and provides clearer recovery guidance for voice-channel join failures.

Mobile App

  • The Android voice notification shows the readable group or channel name.
  • Opening the notification preserves the existing app task and voice session instead of starting a competing join.
  • Authentication, group-access, microphone, app-version, and general voice failures now lead to clearer next steps.

Release / Testing

  • Corrected production build 26072002 is available through Google Play Internal testing and TestFlight.
  • Static analysis, 2,518 Flutter tests, 14 Android native tests, and seven quick-smoke scenarios passed.
  • Two physical Android devices passed bidirectional PTT, background/relaunch, screen-lock, leave-group, sign-out, and concurrent WhatsApp audio checks.
  • Repeated foreground-notification open cycles remain part of final Android release closeout.

Read the full 4.8.23 release notes

4.8.22+26071901

Internal pilot baseline for long-running PTT token renewal, controlled recovery after voice-token expiry, and safer Android background voice-session lifecycle handling. These changes are included in the current 4.8.23 internal build.

Mobile App

  • Active PTT sessions refresh voice access before it expires.
  • An expiry-related disconnect makes one controlled recovery attempt and leaves an honest retry state on failure.
  • Returning to VoxGuard revalidates the selected voice session without showing a false restored state.
  • An active Android PTT session remains visible through a persistent notification and the VoxGuard status-bar icon.

Release / Testing

  • Android background start, stop, resume, and relaunch transitions were hardened with focused regression coverage.
  • The release baseline was superseded by the corrected 4.8.23 internal store build.

Read the full 4.8.22 release notes

4.8.21+26071002

Internal pilot baseline for voice/session reliability, accurate location cleanup, message-list organization, and clearer admin audit visibility. These changes are included in the current 4.8.23 internal build.

Mobile App

  • Conversations can be archived per user and restored without deleting shared history.
  • PTT waits for a confirmed voice-channel join and offers an actionable retry state if joining fails.
  • Ended sessions, sign-out, and account switching clean up stale voice and location state.
  • Administrators can open the audit log directly and filter events with clearer categories.

Read the full 4.8.21 release notes

4.8.20+26070701

Current target

Internal testing release with controlled Helsinki demo support, a fresh Android Internal testing build, and a matching iOS TestFlight build. Demo automation remains operator-controlled and disabled by default.

Mobile App

  • Internal Android and iOS testers receive the same fresh 4.8.20 build line.
  • Controlled Helsinki demo support is ready for internal pilot demonstrations.
  • Demo automation is not exposed as public self-service UI in this release.

Backend / Security

  • Demo automation uses a group-scoped runtime setting with the default state off.
  • The production database migration for the demo setting was applied and verified.
  • Operational details stay out of public customer-facing text.

Release / Testing

  • flutter analyze passed with no issues.
  • flutter test passed: 2366 passing / 0 failing / 25 skipped.
  • Simulator health passed, and the quick simulator smoke passed 7/7 scenarios.
  • Google Play Internal testing upload and iOS TestFlight upload both passed for build 26070701.

Read the full 4.8.20 release notes

4.8.19+26070501

Internal testing release with a fresh Android Play version code and a matching iOS TestFlight build. The release packages after-action group reporting, quieter read receipt sync, and the latest post-4.8.18 reliability and authorization hardening.

Mobile App

  • Group admins can review a clearer after-action Summary of recent group activity.
  • Silent read-state syncing avoids a misleading error when messages are marked read in the background.
  • The current internal pilot baseline is available to both Android and iOS testers.

Backend / Security

  • Security and authorization coverage was expanded around group access and invitation behavior.
  • SQL governance and least-privilege follow-ups were tightened without publishing sensitive implementation details.
  • Operational event timestamps were hardened for stronger evidentiary integrity.

Release / Testing

  • flutter analyze passed with no issues.
  • flutter test passed: 2366 passing / 0 failing / 25 skipped.
  • Simulator health passed, and the quick simulator smoke passed 7/7 scenarios.
  • Google Play Internal testing upload and iOS TestFlight upload both passed for build 26070501.

Read the full 4.8.19 release notes

4.8.18+26062701

Android internal testing release for the current master line after 4.8.17, including post-release reliability, data consistency, admin/auth, map cache, migration guard, and release tooling fixes. iOS upload is intentionally paused until the updated App Store Connect terms are accepted by the release owner.

Mobile App

  • Admin state refresh and sign-out cleanup are more defensive.
  • Map marker handling and tile cache accounting are more stable.
  • Presence, unread badge, group-switch, offline-location, and PTT cooldown reliability fixes are included.

Backend / Security

  • Read receipts now persist through the add_read_receipt RPC.
  • Reaction counts are owned by the database trigger instead of client-side writes.
  • The migration-drift guard was replaced with a testable implementation and self-test.

Release / Testing

  • flutter analyze passed with no issues.
  • flutter test passed: 2344 passing / 0 failing / 25 skipped.
  • Simulator health passed. The quick smoke had one documented Maestro selector flake, followed by a passing isolated rerun of the exact scenario.
  • Google Play Internal testing upload passed and versionCode 26062701 was verified on the internal track.

Read the full 4.8.18 release notes

4.8.16+26060401

Security, offline reliability, map/realtime stability, localization cleanup, and release automation hardening after the 4.8.15 preparation baseline.

Mobile App

  • Improved signed-in and signed-out session recovery behavior.
  • Hardened foreground service lifecycle and offline sync queue draining.
  • Improved map resume realtime subscription and map snapshot freshness guards.
  • Cleaned help, support, profile, group, alert, and home/PTT localization text.

Release / Testing

  • Release gates passed with simulator health and 7/7 quick smoke scenarios.
  • Prepared Android AAB and iOS IPA/archive artifacts with SHA-256 evidence.
  • Fixed debug-only simulator auto-login and Maestro message-send flows during release prep.

Read the full 4.8.16 release notes

4.8.15+26052701

Preparation baseline that closed the N17/N18/N21 correctness trio and added changelog/version guardrails before the 4.8.16 release preparation.

Mobile App

  • Removed unused audio debounce code.
  • Guarded speaker detection emissions after controller disposal.
  • Fixed location sharing initialization re-entry behavior.

Release / Testing

  • Added a changelog version check for CI.
  • Refreshed the active project review and release-prep status.

4.8.14+26052601

Voice communication uses the room token flow by default for release builds. This release also includes reliability improvements for sign-in/session handling, message delivery checks, and internal release validation.

Mobile App

  • Made server-issued Agora voice room tokens the default for release-build PTT joins.
  • Kept the legacy no-token join path available only through an explicit rollback flag.
  • Mapped raw Agora join exceptions to readable PTT join failures.

Release / Testing

  • Closed release-gate acceptance rows as passed or explicitly deferred.
  • Recorded Android and iOS artifact SHA-256 evidence.

4.8.13+26052401

Not just a website/video release. This target also contains the first substantial voice room token groundwork and admin UI polish.

Mobile App

  • Added provider-neutral voice participant identity for future backend flexibility.
  • Prepared the guarded server-issued voice room token join path behind a feature flag.
  • Updated PTT and Agora voice code to work with provider-neutral participant data.
  • Applied admin tab handoff styling and fixed narrow admin tab layout coverage.

Backend / Security

  • Added Supabase voice-room-token Edge Function contract types.
  • Added Agora room token signing and token response parsing.
  • Preserved Edge Function error codes for clearer voice-token diagnostics.
  • Stopped tracking temporary Supabase local state files.

Release / Testing

  • Added guarded voice room token smoke checks.
  • Added Agora participant-minute and voice-token smoke scripts.
  • Stabilized E2E tab navigation waits and release summary markdown escaping.
  • Limited CI to pull requests and fixed localization tab tests.

Website / Marketing

  • Added the short product overview video to the website home page.
  • Updated published English and Finnish brochures.
  • Exposed the materials page in navigation.
  • Added HyperFrames video prototypes, render scripts, and marketing images.

4.8.12+26052101

Focused on app usability fixes, iOS sign-out cleanup, map behavior, and release gate stabilization. The larger voice token pipeline belongs mostly to 4.8.13.

Mobile App

  • Implemented the map add action sheet for member, event, and settings actions.
  • Fixed iOS sign-out voice cleanup so active voice resources are released correctly.
  • Improved map runtime behavior and theme alignment through release-gate fixes.

Release / Testing

  • Fixed release gate map tests and simple map widget coverage.
  • Clarified internal and external tester release flows.
  • Added internal testing and iOS audio notes.

Website / Marketing

  • Fixed password reset recovery redirect behavior on the website.
  • Added video audio post-production planning notes.

4.8.11+26052002

A small corrective release target: one app-facing map fix plus release-numbering cleanup.

Mobile App

  • Fixed a map location bootstrap spinner lock that could leave the map waiting during startup.
  • Adjusted related map loading and localization copy.

Release / Testing

  • Switched release build numbers to the date-coded format used by later releases.
  • Updated release scripts to preserve the new build-number format.

4.8.10+260521

More than Android rollout preparation: this target included admin security hardening and location fallback work alongside release automation.

Mobile App

  • Improved location fallback handling for current, cached, and last-known device positions.
  • Updated admin UI validation around password policy behavior.

Backend / Security

  • Hardened admin password policy in repository validation and admin user creation.
  • Added a Supabase migration for the stronger admin password policy.
  • Updated the admin-create-user Edge Function behavior and coverage.

Release / Testing

  • Prepared the Android 4.8.10 rollout target.
  • Added local release automation scripts for build, gate, state, and version tasks.
  • Stabilized location fallback regression tests.

Website / Marketing

  • Shipped the first public website redesign and Finnish home page work in the same period.
  • Prepared multilingual web screenshots used by the public site.

Selected build history

Version Date Notes
4.8.23+26072002 July 20, 2026 Current internal Android and iOS build; reliable notification relaunch, readable voice context, and clearer join recovery guidance.
4.8.22+26071901 July 19, 2026 Long-running PTT token renewal, controlled expiry recovery, and Android background lifecycle hardening.
4.8.21+26071002 July 10, 2026 Voice/session reliability, message archiving, location cleanup, and clearer admin audit visibility.
4.8.20+26070701 July 7, 2026 Controlled Helsinki demo support, Android Internal testing upload, matching iOS TestFlight upload, and release-site synchronization.
4.8.19+26070501 July 5, 2026 After-action Summary for group admins, quieter read receipts, Android Internal testing upload, and matching iOS TestFlight upload.
4.8.18+26062701 June 27, 2026 Android internal testing release for reliability, map cache, admin/auth, migration guard, and release tooling fixes.
4.8.17+26062501 June 25, 2026 Bug-sweep reliability fixes for PTT, emergency response, message validation, and offline sign-out cleanup.
4.8.16+26060401 June 4, 2026 Security, offline, map/realtime, localization, and release-gate hardening.
4.8.14+26052601 May 26, 2026 Voice communication uses the new room token flow by default in release builds, with small session, delivery-check, and validation improvements.
4.8.13+26052401 May 24, 2026 Voice token groundwork, admin UI polish, product video, and materials updates.
4.8.12+26052101 May 21, 2026 Map action sheet, iOS voice cleanup, password reset redirect, and release gate stabilization.
4.8.11+26052002 May 20, 2026 Map bootstrap spinner fix and date-coded build number format.
4.8.10+260521 May 20, 2026 Admin password hardening, location fallback work, Android rollout preparation, and release automation.
4.8.8 / 4.8.9 May 19, 2026 TestFlight, Android release, and automation planning.
4.8.2 May 7, 2026 TestFlight and Google Play internal testing pilot rollout.
4.8.0+260420 April 19, 2026 Validation, resource cleanup, and release-prep baseline.
4.6.4 / 4.6.3 April 8-12, 2026 Background PTT, localization, and operational event baseline work.

Earlier work, summarized

May 13-17

Security and governance

Supabase grants were minimized, anonymous grants were revoked, SQL governance checks were added, and RPC role-matrix coverage was expanded. Map visibility RPCs, observability metadata, index hygiene, and hardware PTT gates were also added.

May 6-12

Release channels

Apple TestFlight and Google Play internal testing pipelines were opened, Android package naming was changed to com.krami.voxguard, camera permission was removed from the Play release, and release smoke testing was documented.

May 4-5

Guardrails

Backend quick wins, app version RLS, admin password floor, RPC governance, logging guardrails, accessibility checks, and simulator smoke coverage were added.

April 27-30

Simulator E2E

Full simulator smoke automation, two-simulator realtime tests, cross-group isolation, message send flows, and a marketing workspace were added.

April 20-24

Invitations and permissions

Email-bound group invitations, pending-invite onboarding, permission model fixes, targeted recipient flows, profile fixes, screenshot export tooling, and compact home PTT cards were added.

April 17-19

Audit and validation

Audit log repository and admin UI, service test seams, sender-name sanitization, input validation wiring, resource disposal fixes, and the 4.8.0 release-prep baseline were completed.

April 9-16

UI and runtime polish

Settings, login, messages, map, group selection, shell chrome, active group switching, dark theme support, map runtime refactoring, and message delivery tracing were improved.

April 5-8

Operational events

Map observation and operational event creation, history, follow-up, escalation, PTT traceability, and background PTT reopen behavior were implemented and tested.

April 1-4

Messaging and member UX

Messaging filters, direct-message context, member-management summaries, map filtering, location error handling, localization, and operational documentation were improved.