CourtNetra changelog
Changelog
What's new in CourtNetra
Version-by-version release notes across the mobile app, the web Platform, and NyayLens AI. Each release anchor is a direct URL (#v1-4-0 etc.) so you can deep-link from emails or share with your team.
Draft documents · real-time NyayLens unlock on mobile
Generate vakalatnama / IA-Adjournment / Memo-of-Parties straight from the case detail screen and share via WhatsApp in under 30 seconds. Mobile now matches web with sub-second NyayLens entitlement push.
Draft document bottom sheet on every case
Tap CaseFAB → "Draft" → pick vakalatnama / IA-Adjournment / Memo-of-Parties. Server fills your case data (parties, court, AOR, dates). Native share sheet opens — WhatsApp / Drive / Email in one tap.
Real-time NyayLens unlock via SSE
When an admin assigns a Pro Max seat, the mobile UI unlocks within ~1-2 seconds (previously up to 30s on poll). Works alongside the 30s poll fallback for offline / iOS-background-suspend cases.
Smaller node_modules + cleaner build
Removed 3 unused native dependencies (victory-native, lottie-react-native, NativeWind) that were inflating builds without being imported anywhere.
Cross-tenant Playwright spec + 2nd-org seeder
Empirically proves users on one org cannot see another org's cases via mobile API. Backend RBAC was always solid — this is the integration-level guarantee.
Mobile case-detail redesign · NyayLens signup carve-out
The biggest mobile release of 2026 so far — built from a 3-agent audit (CTO + lawyer + UX). 22+ commits across app, frontend, and backend.
CaseHero + segmented case detail tabs (Overview · Timeline · Files)
New large glass header with status badge + 3-tab segmented control. Skia-rendered countdown ring on <24h hearings.
Multi-assignee Team sheet on every case
See primary counsel + co-counsel + associates + clerks + observers. Five chambers-tier roles. 224 Atrey + 3 Demo cases seeded.
HearingTimeline with source provenance
Every hearing now shows where the date came from: Manual / Auto·SCI / Auto·eCourts / Auto·Tribunal.
OverlapBanner with court-clerk WhatsApp passover
When two hearings clash, one-tap WhatsApps the court clerk to request adjournment.
CommandPalette (Ctrl/Cmd-K equivalent)
Search across cases + hearings + tasks + clients. Recently-used items pinned to top.
FirmBrand on dashboard
White-label firm logo / initials with deterministic colors fallback. Custom domain admin scaffold for enterprise.
Settings UX rewrite + LanguagePill
English / Hindi toggle (full Hindi strings shipping in v1.4.2 as OTA).
FirstLaunchTour for new sideload installs
EmptyState refactor on 7 screens. Saffron-themed.
Push notifications, 4 Android channels + quiet hours
Hearing reminders, sync alerts, billing notices, system. Quiet hours configurable.
OTA app-update prompt + side-load Hetzner CDN
In-app modal when newer APK available. Atomic latest.json swap.
Two-step solo / chambers signup branch
Solo practitioners skip firm-setup wizard.
Per-bar-color SkiaBarChart on reports
GPU-accelerated charts replace 3 BarCharts on /screens/reports.
NyayLens AI: real-time entitlement push
Admin assigns Pro Max seat → mobile UI unlocks ≤30s (with toast). Was 5-min lag before.
/nyaylens/signup single-screen flow
Name + email + password — no firm setup, no AOR, no court selection. 30-second signup.
NyayLens dedicated hero section on landing page
Two-products-under-one-roof framing. Saffron palette, query→answer mockup.
No-refund policy surfaced at price cards
"Cancel anytime · no refunds for partial months" line under every paid CTA.
/changelog page (this page!)
Version-by-version release notes for transparency.
3-layer NyayLens entitlement resolver wired into feature gates
Seat assignment / personal sub / org plan all overlay correctly. Server-Sent Events push to web + mobile clients.
docker-built APK pipeline
Linux toolchain in Docker fixes Windows NDK 27 + libc++ issues. Reproducible 56MB arm64 builds.
Stability hotfix
OTA + Sentry + mailto + splash + type-scale + MMKV foundation in 1 commit.
403 interceptor — auto-route to /upgrade on permission denied
Billing drift fix — currentPeriodEnd reconciles with backend on cold boot
MMKV foundation — 30× faster than AsyncStorage
Sentry source-maps + breadcrumb cleanup
Mailto composer with autofill subject + body
Dashboard polish + DPDP compliance
Real billable hours kill the placeholder "42h". WoW deltas. Ask NyayLens card. Glass topbar + matte content.
5-phase dashboard polish (P0 → P4): real metrics, WoW deltas, glass topbar, NL card
DPDP §6/§9/§11/§12 compliance screens (data export, deletion, grievance)
AppLinks real-fingerprint + About screen + env-gated Play Store badge
V5 Sprint A + B: SyncStatusHero, sync-now Redis rate limiter, plan friendly labels
Phase 3 V6 multi-assignee: CaseAssignment join table + 5 chambers roles
First Android binaries live
First production AAB on Play Console (internal) + first APK on api.courtnetra.com/downloads/.
EAS production build pipeline shipped
Hetzner CDN sideload distribution (atomic-swap deploy script)
Sentry source-map upload wired into EAS
MobileAppSection on landing page (auto-hydrates from latest.json)
Razorpay live mode — first paid signups
Want the APK directly? Download from api.courtnetra.com/downloads/courtnetra.apk.