Skip to content
This repository was archived by the owner on Jun 3, 2026. It is now read-only.

Release Timeline

Aarsh edited this page May 28, 2026 · 5 revisions

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.


v3.8 — current production release

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.

v3.8-beta.* — beta soak line (promoted to v3.8)

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.

v3.7 — previous production release

The production release immediately before v3.8.


v3.5 — earlier production milestone

Tagged early in the v3.x line.


v3.x — production timeline (pre-beta era)

Tag Theme
v3.4, v3.3, v3.2, v3.1, v3.0 Architecture commits, MVVM refinement, continued feature work.

v2.x — feature build-out

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.2 is missing as a git tag — the version was bumped to 2.2 in code but never tagged.


v1.x — original feature release

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.

Versioning convention

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).


How to read each release

Click any release on https://github.com/aarshps/varisankya-android/releases for:

  1. Summary line — what this release is fundamentally about.
  2. ✨ What's New — user-visible additions.
  3. 🛠 Fixes & Improvements — bug fixes + the versionCode / versionName line.
  4. 🧪 Testing checklist — what to validate before promoting to production (specific to that release's changes).
  5. 🔁 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.


See also

Clone this wiki locally