Skip to content

Releases: darkpandawarrior/Doori

v2026.08.35.36.843

Choose a tag to compare

@github-actions github-actions released this 25 Aug 21:47
v2026.08.35.36.843
509e98b
  • fix: every published APK shipped versionCode 2 (#139)
  • chore: bump kmp-toolkit to ef201aa (#123)
  • ci(release): hard-fail leak scrub when RELEASE_SCRUBLIST_B64 is unset (#138)

Visual changes

Since v2026.08.35.36.840: 0 new, 0 changed, 0 removed screens.

v2026.08.35.36.840

Choose a tag to compare

@github-actions github-actions released this 25 Aug 17:12
v2026.08.35.36.840
82353c0
  • perf(fdroid): enable R8 for the F-Droid build (151MB->66MB) (#137)

Visual changes

Since v2026.08.35.36.839: 0 new, 0 changed, 0 removed screens.

v2026.08.35.36.839

Choose a tag to compare

@github-actions github-actions released this 25 Aug 16:11
v2026.08.35.36.839
c6ab46e
  • perf(fdroid): exclude MediaPipe LLM, trim locales (197MB->151MB) (#136)
  • chore(fastlane): add store icon and 838 changelog (#135)

Visual changes

Since v2026.08.35.36.837: 0 new, 0 changed, 0 removed screens.

v2026.08.35.36.837

Choose a tag to compare

@github-actions github-actions released this 25 Aug 14:01
v2026.08.35.36.837
f3333f7
  • fix(ci): report store-deploy skip status instead of a silent green check (#134)
  • chore(fdroid): metadata yml and store copy (#132)
  • chore: add GPL-3.0-or-later LICENSE (#131)
  • chore: bump kmp-toolkit to 3bf91b9 (#122)
  • build(detekt): make ./gradlew detekt actually analyse KMP modules
  • build(detekt): baseline every source set, so the checks can actually be run
  • build(deps): re-land library bumps and migrate kmpworkmanager to 3.3.1
  • Revert five dependency bumps I committed by accident
  • build: detekt 2.0.0-alpha.5 -> 2.0.0-alpha.6
  • build(detekt): exclude generated sources, so the source-set tasks can be used
  • refactor(theme): delete PaperNightSpecDay, which nothing could ever reference
  • docs: README counts and sentinel baseline for the 40 counterpart captures
  • feat(theme): a counterpart for every direction, so all five follow the device
  • test(screenshots): capture Paper's night face for all eight direction screens
  • feat(widget): paint the home-screen widget in the app's actual theme
  • feat(wear): start and stop a trip from the watch
  • build: re-baseline dependency-guard for the Calf and Compass absorption
  • ci(quality): run screenshotTest as the crash gate it says it is
  • docs: refresh README counts after removing the blank widget capture
  • fix(sentinel): --accept was silencing broken captures, and fix the black widget
  • ci(screenshots): the baselines job never told the tests to record
  • ci(sentinel): install Pillow — the blank-check decodes pixels now
  • style: finish the ktlint queue — orphan file-header KDocs were the real cause
  • style: fix most ktlint violations, rename direction files to PascalCase
  • fix(sentinel): the blank-capture check never decoded the image
  • ci: check out submodules in the sentinel workflow, refresh README counts
  • fix(ui): stop previews pinning MATRIX, add a reproducible screenshot gallery
  • test(screenshots): re-record all 327 captures under the Paper default
  • fix(web-preview): repair the rotted theme allowlist, unbreak a geo check-in test
  • feat(theme): make Paper the default, with its night face wired in
  • test(screenshots): 40 design-direction renders, 70 new captures, direction gallery
  • refactor(ui): migrate 313 raw colours onto the layered theme, add real actions
  • feat(theme): three-layer colour system — base, semantic, domain
  • feat(theme): five design directions, with typography actually switching
  • fix(test): unify the second screenshot producer, and correct my own diagnosis
  • feat(sentinel): an autonomous watcher for capture rot, drift and scope creep
  • fix(ui): round 2 state coverage, three more silent-failure bugs, +12 captures
  • fix(ui): state coverage pass, and a silent check-in data-loss bug
  • test(screenshots): re-record every surface with recording actually working
  • feat(ui): three-tier sheet system, live-drive reduction, +41 captures
  • fix(ios): derive the screenshot output dir from source location
  • test(app): let roborazzi own the capture path, and record why :app still cannot fail
  • fix(test): guard against hardcoded absolute output paths
  • fix(test): make screenshot regressions representable (D2, 2 of 3 surfaces)
  • chore: ignore graphify-out/ code-graph output
  • fix(ios): iOS screenshot tests were writing outside the repo
  • build: add desktop to the screenshot aggregate, fix its broken compile
  • build: fix the screenshot flake with a pre-loaded ByteBuddy agent
  • build: record the confirmed root cause of the screenshot aggregate flake
  • build: add a screenshotTest aggregate, with its limitation documented
  • feat(wear,widget): drive ambient surfaces from the shared state mapper
  • fix(test): repair the screenshot gallery, cover the two new screens
  • feat(tracking): bump toolkit, run the new algorithms in shadow mode
  • feat(platform): system settings deep-link, and wire the permission primer
  • feat(tracking): wire TrackEvidenceScreen behind an EVIDENCE route
  • feat(tracking): render LiveDriveScreen once a journey is live
  • feat(tracking): route submission through DriveReviewSheet
  • feat(tracking): live drive, drive review, evidence and permission surfaces
  • feat(ui,maps): confidence meter, motion tokens, and a no-SDK route surface
  • feat(ui): distance ledger showing how a raw GPS figure became the claim
  • fix(tracking): stop fabricating odometer readings
  • feat(ui): config-driven details renderer and in-app update flow
  • fix(hooks): restore commit-msg leak guard lost to the history rewrite (#110)
  • feat(ios): register 7 missing Koin modules in the iOS composition root (#108)
  • ci(bump-toolkit): push as the PAT so bump PRs get real checks (#107)
  • ci(bump-toolkit): revert the PAT wiring, restore GITHUB_TOKEN (#106)
  • ci(bump-toolkit): re-baseline dependency-guard as part of the bump (#105)
  • chore: bump kmp-toolkit to b7ffc80 (#99)
  • fix(nogms): make the FOSS guard runnable again, and catch bare ML Kit (#104)
  • ci: re-baseline dependency-guard on Dependabot PRs, after verifying the build
  • build(deps): bump io.github.darkokoa:datetime-wheel-picker from 1.3.3 to 1.4.0 (#97)
  • build(deps): bump the androidx group with 11 updates (#95)
  • build(deps): bump peter-evans/create-pull-request from 7 to 8 (#91)
  • build(deps): bump gradle/actions from 4 to 6 (#92)
  • build(deps): bump actions/setup-java from 4 to 5.6.0 (#93)
  • build(deps): bump ch.qos.logback:logback-classic from 1.6.0 to 1.6.1 (#96)
  • chore: align toolchain and bump toolkit pins (#90)
  • docs: owner-actions checklist, honest FOSS status, README upgrade (#88)
  • build(deps): bump org.jlleitschuh.gradle.ktlint from 12.2.0 to 12.3.0 (#82)
  • build(deps): concurrent-futures 1.3.0, ktlint 12.3.0; correct the FOSS leak count (#87)
  • feat: ViewModel coverage for travel/payables, and make :server deployable (#86)
  • build: guard the FOSS classpath, tighten the config cache, close a silent-pass hole (#85)
  • ci: stop the release and deploy paths reporting success while doing nothing (#84)
  • test(tracking): make the iOS CLLocation mapping testable, and test it (#83)
  • build(deps): logback 1.6.0; widen the ktlint ignore to >=13 (#80)
  • fix(build): unbreak the androidTest classpath so instrumented tests can run (#79)
  • test(tracking): cover HardwareEventsViewModel and CheckInViewModel (#76)
  • build(deps): kotlin Beta2, zxing 3.5.4, maplibre 0.13.1; fix the AGP ignore (#75)
  • chore(screenshots): refresh baselines for 3e43a0e (#74)
  • feat(tracking): bind HardwareEventSyncer so journey telemetry can actually sync (#73)
  • test+ci: stop the screenshot treadmill, cover two untested modules, make GMD gate (#72)

Visual changes

Since v2026.07.30.36.742: 232 new, 141 changed, 1 removed screens.

v2026.07.30.36.742

Choose a tag to compare

@github-actions github-actions released this 26 Jul 14:04
  • feat: wire the dead validators, fix iOS 0.00km, add a backend dev toggle (#64)
  • fix: stub/server money parity, duplicate-trip bug, shared-sensor teardown (#63)
  • docs+ci: make README claims true, fix CI hygiene bugs (#62)
  • chore(screenshots): refresh baselines for b21f02a (#58)
  • build(deps): batch compose/wear/nav3/kover/roborazzi/kmpworkmanager bumps (#60)
  • fix(build): capture version at config time in printFingerprint/printMarketing (fixes null this$0 → empty release) (#59)

Visual changes

Since v2026.07.30.36.736: 0 new, 3 changed, 0 removed screens.

v2026.07.30.36.736 — Mileway

Choose a tag to compare

Release of Mileway — snapshot as of 2026-07-24.

Three-tier versioning: FINGERPRINT 2026.07.30.36.736 (YYYY.0M.0W.MILESTONE.commitCount), MARKETING 2026.7.36.

v0.25.0 — On-Device Intelligence & Feature Parity 🧠

Choose a tag to compare

@github-actions github-actions released this 15 Jul 14:06

[v0.25.0] — On-Device Intelligence & Feature Parity 🧠

The V25→V32 series: a 3-module foundation (core:media · core:ai · core:forms) that lands an
on-device document-intelligence pipeline — OCR field-fill, document-type classification and
duplicate detection combined into one result — then builds full feature-parity depth on top of it.
Everything stays offline/on-device: real where the platform supports it (ML Kit GenAI on Android,
Apple Foundation Models on iOS), degrading gracefully everywhere else.

✨ Highlights

  • On-device document intelligence — a unified core:ai pipeline (ML Kit GenAI + text-recognition +
    heuristics on Android; Apple Foundation Models + Vision on iOS via a Swift bridge) auto-fills a
    captured receipt's merchant / amount / date, classifies the document, and flags duplicates — one
    result, degrading to text + heuristics on devices without on-device AI.
  • On-device AI assistant — the in-app assistant now runs a real on-device LLM (ML Kit GenAI /
    Foundation Models), falling back to the offline retrieval engine when unavailable.
  • Unified media capture — every capture surface (7 legacy call sites) converges on one launcher:
    camera / gallery / files / PDF / document-scanner / QR-barcode, watermarking, and shared OCR sheets.

🧾 Expenses & forms

  • Full 16-type dynamic form engine with GST auto-calc, conditional visibility, and EXPERIMENTAL
    AI field-suggestions; the two hand-rolled forms are unified onto one renderer (a duplicate-validation
    bug removed in the process).
  • 2-step add-expense wizard with entry-context linking (trip / card / advance / event / scanner),
    concurrent semaphore-bounded bulk-submit, voucher drill-down, and multi-currency.

🗂️ Transactions & approvals

  • Shared TransactionDetailScaffold across approvals / expense / purchase-request detail screens.
  • Persistent clarification rooms — lifecycle, per-room metadata, history tabs, and rich chat with
    attachments; plus comments, audit/violation flags, and per-item action gating.

📊 Feature depth

  • Master search (5 live providers + a Koin-collision fix), analytics state layer (filters / trend /
    real CSV export / leaderboard), event detail + workflow, cards KYC / QR / dispute / limits, and
    config-gated home depth.

🧭 Shell, platform & housekeeping

  • Fixed a shell-nav bug (the bubble bar was silently hidden on 3 of 6 top-level tabs).
  • Shake-to-report, storage-management screen, deterministic Wear screenshots.
  • Room schema v39 → v47 (all explicit migrations); dependency modernization (navgraph, Roborazzi,
    materialKolor, AGP, KSP, Gradle).

Visual changes

Since v0.24.0: 0 new, 18 changed, 0 removed screens.

v0.24.0 — Super Profile 🧑‍🚀

Choose a tag to compare

@github-actions github-actions released this 10 Jul 12:21

[v0.24.0] — Super Profile 🧑‍🚀

The largest single milestone: a full super-profile build-out where one account renders as a
visibly different app per persona (consumer, gig driver, corporate, guest) — every surface
plugin-gated so features appear and disappear live. This is the reference release: future versions
follow this changelog's structure (themed sections, highlights, visual-diff footer).

✨ Highlights

  • Persona-driven UI — a plugin registry gates ~25 profile destinations, home tiles, carousels and
    banners; four preset personas walk visibly different end-to-end stories, all offline.
  • On-device everything — every capability is backed by Room + DataStore mock data; no backend.

🔐 Identity & security

  • Phone-number + OTP login, MFA step, tiered PIN lockout, password change with a credential store,
    and duplicate-account resolution.
  • Verification centre, document requirements with status, a 5-step card-KYC wizard, and corporate-
    email verification.

👤 Profile & account

  • Config-driven signup onboarding; grouped super-profile hub (identity, vehicles, growth, membership,
    payments, security, support).
  • Account-deletion request/cancel lifecycle, session-detail enrichment, and delegate act-on-behalf.
  • Wallet / payout account linkage.

🚗 Vehicles & tracking

  • Vehicle garage with per-km policy rates and computed trip amounts, "head home" destination mode,
    and an ecometer.
  • Track-Miles customization: persisted settings, mileage-sync card, a categorized fine-tuning editor,
    bubble/overlay/reverse-geocode toggles, experimental-optimizations, and a manager/reportee view.

🎁 Growth, rewards & engagement

  • Earned badges + compliments, "Mileway Club" membership, subscription plans, incentive programs.
  • Unified support hub (FAQ / tickets / chat bot / call / mail), persistent review gate with a native
    rate sheet, animated what's-new indicator, favourite routes, and an offers hub with a one-shot popup.

📣 Announcements

  • A priority banner stack with persisted dismissals, an auto-advancing typed banner carousel,
    and a one-shot forced-popup coordinator (at most one announcement per app-open).

🧰 Also

  • Vehicle self-audit checklist with a simulated review verdict; draw-to-sign digital signature;
    interactive training tour with coach marks.

Visual changes

Since v0.23.0: 0 new, 0 changed, 0 removed screens.

v0.23.0 — Watch platform build-out

Choose a tag to compare

@darkpandawarrior darkpandawarrior released this 10 Jul 11:39

v0.23.0 — Watch platform build-out

[v0.23.0] — Watch platform build-out

Wear OS app, tile and complication on a shared KMP core; Apple watchOS umbrella framework and app
target; groundwork for home/lock-screen widgets across both platforms.

v0.10.0 — Compose navigation graph + exhaustive previews

Choose a tag to compare

@darkpandawarrior darkpandawarrior released this 10 Jul 11:39

v0.10.0 — Compose navigation graph + exhaustive previews

[v0.10.0] — Compose navigation graph + exhaustive previews

Nav-graph-based navigation and a broad, diverse Compose preview catalog.