Repository navigation
Release Timeline
What each tag actually shipped. The current production release is v3.8 (stable), promoted to the Play production track after the v3.8-beta.* soak; v3.7 was the prior production release. Tags are in chronological order — promotion to production happens when the maintainer is satisfied with the beta soak.
The full per-release notes (with checklists, fix bullet lists, etc.) are on the GitHub Releases page. This page is a high-level index — read it to find which release a particular fix or feature shipped in.
| Tag | Track | Notes |
|---|---|---|
v3.8 |
Play Production (stable) | Promotion of the v3.8 beta line to production. Source is identical to v3.8-beta.13 plus the version bump (versionName "3.8", versionCode 57). Rolls up everything from v3.8-beta.5 → beta.13: issues #5/#6/#7, the payment-storage migration, usage analytics, native Pixel UI polish, FAB readability, Material You Dynamic Colors, collapsed Manage-Payments rows, the notification regression fix + full lifecycle analytics, and the timezone-resilient chained-one-shot schedule + Snackbar-only feedback. |
| Tag | Theme | Notes |
|---|---|---|
v3.8-beta.13 |
Timezone-resilient schedule + no system Toasts | Notification worker converted from PeriodicWorkRequest (which drifts because it fires every 24h on absolute UTC milliseconds) to a chained one-shot that re-schedules itself from the current local time on every run. New SystemEventReceiver immediately re-anchors on ACTION_TIMEZONE_CHANGED / ACTION_TIME_SET broadcasts. Three remaining Toast.makeText callsites (ViewModel error, sign-in failure, swipe-to-paid failure) replaced with brand-styled Material Snackbars. AGENTS.md gains two new design invariants: chained-worker (do NOT revert to periodic) and no-Toasts. |
v3.8-beta.12 |
Notification regression fix + lifecycle analytics | Three compounding notification bugs addressed: (a) timezone mismatch in days-left math (both sides now UTC), (b) channel bumped to subscription_reminders_v3 with IMPORTANCE_DEFAULT (LOW silenced notifications without the user noticing), (c) MainActivity.setupNotifications policy switched to KEEP (cold-start UPDATE was perpetually rescheduling — itself reverted in beta.13 in favour of the chained-one-shot architecture). Full notification lifecycle analytics added — notification_worker_run, notification_posted, notification_tap, notification_dismiss, plus existing notification_mark_paid_action — giving real tap-through ratios. Diagnostic Send Test Notification button in Settings. home_refresh_pull added as general analytics. |
v3.8-beta.11 |
Collapsed Manage Payments rows | Per-subscription Manage Payments rows no longer repeat the subscription name (the sheet header already provides context). Single-line layout: date + amount + optional delete. New showSubscriptionName: Boolean = true flag on PaymentAdapter. The All-Payments page still shows names since rows there span many subs. |
v3.8-beta.10 |
FAB readability (real fix), list parity, sticky swipe | FAB colour pair now applied programmatically in Kotlin (MainActivity.applyFabColours) — Material's text-appearance cascade was silently overriding the XML android:textColor. Payment list rewritten to the home subscription list's two-row Pixel layout. All-Payments list expanded to layout_weight=1 so it claims all space below hero + chart. Sticky-resistance swipe-to-mark-paid via SwipeHelpers.applyStickyDamping(). Settings section titles bumped to TextAppearance.App.TitleLarge. |
v3.8-beta.9 |
Material You Dynamic Colors enabled | Brand-monochrome stance reversed. DynamicColors.applyToActivitiesIfAvailable(this) now wired in VarisankyaApplication. On Android 12+ the entire M3 palette derives from the user's wallpaper; older devices fall back to the static theme. Side-effect fix: the persistent FAB "Add" label contrast issue from beta.7/beta.8 disappears because colorPrimary and colorOnPrimary are now genuinely contrasting tokens. |
v3.8-beta.8 |
FAB text-colour attempt + Settings large-app-bar | First attempt at fixing the FAB via explicit textColor=colorOnPrimary (didn't fully solve it — the underlying monochrome palette was the real problem; properly fixed in beta.9 + beta.10). Settings now uses CollapsingToolbarLayout with Display-sized title. Card spacing breathes. Search empty-state icon corrected. |
v3.8-beta.7 |
Native Pixel polish + outlier-robust averaging | Hero Next: <name> pill dropped (clutter). "Financial Insight" label dropped. Subscription list standardised to 2-row Pixel layout with semantic colour pill. ExtendedFAB with shrink-on-scroll. Predictive back enabled. Tukey's-fences IQR outlier filter for Average Monthly Expense. |
v3.8-beta.6 |
Manage Payments UX + usage analytics | Payment sheet restructured so action buttons stay pinned at the top while history scrolls below. Sheet title renamed Payment History → Manage Payments with Payment History as a sub-heading. About sheet gets a missing title. New util/Analytics.kt wrapper; 30+ events instrumented across screens / actions / settings / auth. |
v3.8-beta.5 |
Three reported issues + payment-storage Phase 1 |
#5 Custom-frequency layout fix. #6 Dual-write + flat-read payment migration (lazy backfill); shipped PAYMENT_MIGRATION_PLAN.md. #7 In-app mark-paid now cancels OS notification. Firestore rules also deployed in the same window. |
v3.8-beta.4 |
(prior beta) | Pre-existing baseline. |
v3.8-beta.3 |
(prior beta) | |
v3.8-beta.2 |
(prior beta) | |
v3.8-beta.1 |
New Beta track default | First entry on the Beta track after switching the publish default from internal → beta. |
v3.8-alpha.1 … alpha.6
|
Alpha track polish | Login crash fix, etc. |
The production release immediately before v3.8.
Tagged early in the v3.x line.
| Tag | Theme |
|---|---|
v3.4, v3.3, v3.2, v3.1, v3.0
|
Architecture commits, MVVM refinement, continued feature work. |
| Tag | Theme |
|---|---|
v2.9, v2.8, v2.7, v2.6, v2.5, v2.4
|
Payment history chart, unified history, motion polish, multi-currency, app lock, home-screen widget, agent-skill docs. |
v2.3 |
Search activity, splash screen, settings enhancements. |
v2.1, v2.0
|
Splash screen refinements, font customisation, FAB-on-login, version bump. |
v2.2is missing as a git tag — the version was bumped to2.2in code but never tagged.
| Tag | Theme |
|---|---|
v1.4, v1.3, v1.2, v1.1
|
Pull-to-refresh, haptic feedback, UX refinements, status pills, list/Settings polish. |
v1.0 |
Initial release. Subscription management + notifications. |
| Tag form | Track | Meaning |
|---|---|---|
vX.Y |
Production | Stable release. |
vX.Y-beta.N |
Play Beta (Open Testing) | Pre-release, soaking with testers. Promoted to vX.Y once validated. |
vX.Y-alpha.N |
Play Alpha (Internal/Closed) | Earlier-stage. Phased out — current convention is to go straight to Beta. |
versionCode increments monotonically across all tracks. versionName follows the tag (without the leading v).
Click any release on https://github.com/aarshps/varisankya-android/releases for:
- Summary line — what this release is fundamentally about.
- ✨ What's New — user-visible additions.
-
🛠 Fixes & Improvements — bug fixes + the
versionCode/versionNameline. - 🧪 Testing checklist — what to validate before promoting to production (specific to that release's changes).
- 🔁 Carry-over from previous betas — for beta releases, summarises what's already in earlier betas so a tester can validate cumulatively.
A GitHub asset (the debug APK) is attached to every beta release for sideload.
- Build & Release — how to cut the next one.
- Contributing — commit conventions.
Source: aarshps/varisankya-android · This wiki is human-facing; the repo itself targets AI coding agents (AGENTS.md).