Repository navigation
Releases: shubhambelbase/NepTools
Release list
NepTools v2.9.8
NepTools v2.9.8 (versionCode 57) - Release Notes
This release resolves security edge-cases, hardens offline data persistence, ensures thread-safety across background utilities, and enhances UI responsiveness.
Data Integrity & Reliability
- Fixed favorite tools backup and restore preferences key alignment so starred tools persist and restore accurately.
- Added per-record JSON parsing resilience in Habit and Subscription repositories to prevent list truncation on isolated corrupt records.
- Synchronized read-modify-write operations in NotesStore to eliminate concurrency issues.
- Hardened in-app updater download stream handling and added copy-fallback on atomic rename failures.
Security Hardening
- Vault biometric unlock explicitly purges session keys if data files are missing or unreadable.
- LAN Drop server state mutations upgraded to atomic state updates to eliminate race conditions under concurrent network transfers.
UI & Performance
- Offloaded heavy muhurat calculation and habit tracking statistics/heatmap computations to background IO threads.
- Added missing headlineSmall typography style in the design system to maintain font hierarchy integrity.
- Wrapped splash dismiss initialization in SideEffect to maintain pure composables.
Package Integrity
- SHA256: A25DB355B85A1BECE577E01E2F99F23827BDA04EC19D2F736A2496D824FC56C1
NepTools v2.9.7
NepTools v2.9.7 (versionCode 56) - Release Notes
This release improves data transparency, clarifies historical tax presets, and strengthens LAN Drop security.
Data Accuracy & Transparency
- Fuel price screens identify whether prices are live, cached, or built-in and show the date the data covers.
- Currency screens identify the source of exchange rates and avoid presenting fallback rates as detailed NRB data.
- Older income tax presets are labeled as historical, with a reminder to verify current IRD rates before relying on an estimate. Tax calculations are unchanged.
Security & User Experience
- LAN Drop now uses cryptographically secure transfer codes and limits repeated authentication attempts per client.
- LAN Drop explains that transfers use unencrypted HTTP on the local network.
- Password Vault setup warns about weak master passwords without blocking setup.
Package Integrity
- SHA256: 0B061671329E378976655F9CA546A2E084813C39077DB85C3F628805C4A0D21C
NepTools v2.9.6
NepTools v2.9.6 (versionCode 55) - Release Notes
This release delivers extensive security hardening, performance optimizations, memory leak remediations, and power management improvements across the entire application.
Security & Architecture Hardening
- Password Vault & Biometric Key Isolation:
- Eliminated raw plaintext 256-bit AES encryption key serialization over Android Intent IPC during biometric setup.
- Encryption keys are resolved directly in-process within active memory, shielding cryptographic secrets from system activity manager buffers and core dumps.
- Upgraded clipboard purging to invoke native
clearPrimaryClip()on Android 9+ (API 28+).
- LAN Drop Wi-Fi Transfer Hardening:
- Configured scoped FileProvider path mapping (
Download/NepTools/) to preventIllegalArgumentExceptionon opening or sharing incoming files. - Enforced authentication rate-limiting penalties across all endpoints to prevent brute-force attacks on transfer PINs.
- Stripped wildcard
Access-Control-Allow-Originheaders from file downloads and JSON endpoints.
- Configured scoped FileProvider path mapping (
- Native Security Layer (C++):
- Guarded
ptrace(PTRACE_TRACEME)checks with execution state flags to eliminate false-positive debugger tampering alerts on repeated background evaluations.
- Guarded
- Package Integrity & Signature Verification:
- Added support for
signingCertificateHistoryon Android 9+ to verify single-signer production application fingerprints accurately. - Normalized package identity verification against
.debugbuild variants in the in-app updater.
- Added support for
- Forex Statutory Peg Preservation:
- Fixed currency sync worker to enforce Nepal Rastra Bank statutory fixed peg (1 INR = 1.60 NPR) in background cache updates.
Performance & Power Management
- Radio Streaming Battery Optimization:
- Coordinated CPU
PARTIAL_WAKE_LOCKand high-performanceWifiLocklifecycles: locks are released immediately when playback pauses, on transient audio focus loss, or upon stream errors, preventing background battery drain.
- Coordinated CPU
- Batch PDF Conversion & Memory Efficiency:
- Implemented single-pass batch rendering (
renderPagesBatch) in the PDF-to-Image engine, eliminating redundant file disk copies during multi-page exports. - Added
inSampleSizedownsampling (capped to 2400px) and explicit page recycling to prevent Out-Of-Memory (OOM) errors during high-resolution camera photo PDF conversions.
- Implemented single-pass batch rendering (
- Main Thread Offloading:
- Offloaded midnight date rollover ephemeris calculations and notification dispatching in
DailyDateAlarmReceiverusinggoAsync()with background coroutines.
- Offloaded midnight date rollover ephemeris calculations and notification dispatching in
Package Integrity
- SHA256: F2B887E14DF28F810E2EEED75159A18F9DE23D264BED4C64889AC4680D1E8205
NepTools v2.9.5
NepTools v2.9.5 (versionCode 54) - Release Notes
This release introduces dynamic starred favorite tools directly on the home screen for instant access to your most-used utilities, alongside full RFC 5545 iCalendar (.ics) export and direct 1-tap synchronization of Bikram Sambat festivals and personal events with Google Calendar and smartwatches.
New Features & Improvements
- Dynamic Starred Favorite Tools on Home Screen:
- The home screen now dynamically displays your starred favorite tools right at the top of the utilities section.
- Automatically seeded with popular daily tools on first run, updating in real time whenever tools are favorited or unfavorited.
- Features an amber star indicator, dynamic badge count, and a "+ Manage" shortcut to curate your favorites in the Tools tab.
- Crafted with responsive 4-column cards and theme-adaptive styling: crisp white cards with soft pastel icon badges in Light Mode, and sleek dark cards with luminous tinted badges in Dark Mode.
- Centralized Tool Catalog:
- Consolidated and categorized all 30+ tools across Daily, Citizen, Finance/Calculators, Astrology, and Hardware.
- Unified routing, labels, and icons across the app with zero UI clutter.
- Export BS Calendar Events to Google Calendar & System (.ics):
- Added full RFC 5545 standard iCalendar (.ics) generation engine for Nepali calendar data.
- Month Festivals & Holidays: Export all festivals and public holidays for any Bikram Sambat month to sync with phone calendar and wearable devices.
- Full Year National Holidays: Export all government public holidays for the full BS year (2083 BS) in a single .ics file.
- Personal Events & Reminders: Export all custom BS events, notes, and reminders into standard calendar format.
- System share sheet integration allows sending .ics files directly to Google Calendar, Outlook, Apple Calendar, WhatsApp, or Gmail.
- 1-Tap Direct Add to Google / Phone Calendar:
- Added dedicated calendar action buttons on the Day Details screen top bar and on every festival row.
- Directly launches Android's native Calendar event creation sheet (
Intent.ACTION_INSERT) with pre-filled title, all-day or reminder timestamps, and Bikram Sambat date descriptions. - Added individual "Add to Calendar" icon button for personal reminders and notes.
Package Integrity
- SHA256: 09BA31345B5BD86754C0502775BBB103AEB45049A646274DB781906109831CB4
NepTools v2.9.4
NepTools v2.9.4 (versionCode 53) - Release Notes
This release improves the continuous status bar notification with an executive dark-card design for high contrast across both Light and Dark phone themes, optimizes the Weather district location selector, and hardens the in-app update engine.
New Features & Improvements
- Executive Dark Card Notification Styling:
- The daily Nepali date status bar notification now uses an executive dark container (
#161822) with subtle outline border (#2D3142). - High-contrast pure white title (
#FFFFFF), amber festival badge (#F59E0B), and clear slate subtitle (#D1D5DB). - Perfectly visible, legible, and identically styled whether the device is in Light Mode or Dark Mode.
- The daily Nepali date status bar notification now uses an executive dark container (
- Weather Screen GPS Button & District Selector:
- Resolved layout compression where the GPS button wrapped onto multiple lines.
- Added dedicated full-width "Use Current Location (GPS)" action item at the top of the district selector list.
- Responsive header row with proper layout weighting and live loading spinner indicator.
- In-App Updater Enhancements:
- Added automatic HTTP 302/301 cross-domain redirect support for direct standalone checksum asset downloads.
- Enhanced multi-pattern SHA-256 parser supporting backticks, colons, and raw hashes.
Package Integrity
- SHA256: fa68117451e5bf7572c0181c8f82d897d933542b82966587068da87925e4b241
NepTools v2.9.3
NepTools v2.9.3 (versionCode 52) - Release Notes
This release introduces native PDF generation and export for the Nepal Income Tax Calculator, along with an executive, high-contrast Light Version theme across both the in-app tool and the generated PDF assessment reports.
New Features & Enhancements
- Executive Light Version PDF Export Engine:
- Fintech-grade, single-page A4 document generated completely offline on-device.
- Printer-friendly light styling: clean white canvas, slate borders, light table headers, soft red Net Tax liability highlight, and emerald take-home indicators (zero ink waste).
- Comprehensive breakdown of gross salary, Dashain allowance, statutory retirement caps (EPF/CIT/SSF), and insurance deductions.
- Progressive tax slabs breakdown table with clear indicators for the 1% Social Security Tax exemption.
- Schedule 1 remote area allowances and statutory legal citations (Income Tax Act, 2058).
- High-Contrast Light & Dark In-App UI:
- Full theme resolution respecting app settings (
ThemePrefs.themeMode) across System, Light, and Dark modes. - High-contrast colors in Light Mode with vibrant indicators (
#0284C7sky,#DC2626red,#059669green).
- Full theme resolution respecting app settings (
- Flexible Export Options:
- Direct PDF sharing via Android system share sheet.
- Integrated system Print / Save as PDF dialog support.
- Quick plain-text summary export.
- 1-tap PDF access button directly in the screen header.
Package Integrity
- SHA256: 096200abd492c41e83d29af1c872987656bf018c1b8b62ce8b8a825a8c1bd78a
NepTools v2.9.2
NepTools v2.9.2 (versionCode 51) - Release Notes
This release introduces the offline Nepal Income Tax Calculator, featuring Inland Revenue Department (IRD) compliant progressive tax slabs, flexible fiscal year rules, and allowable statutory deductions.
New Features
- Nepal Income Tax Calculator: Progressive tax computation for salaried taxpayers in Nepal, with verified support for both Unmarried Individuals and Married Couples.
- Social Security Fund (SSF) Integration: Automatic exemption of the 1% Social Security Tax on the first basic slab for SSF-enrolled employees.
- Statutory Allowable Deductions:
- Retirement contributions cap (EPF, CIT, SSF) adhering to lower of actual, 1/3 gross salary, or NPR 300,000.
- Life insurance (up to NPR 40,000), health insurance (up to NPR 20,000), and home insurance (up to NPR 5,000).
- Schedule 1 remote area allowances across Categories A through E.
- Female employee tax rebate (10%) and differently-abled taxpayer exemption (+50% basic slab increase).
- Future-Proof Parametric Tax Engine: Built-in support for FY 2081/82, FY 2080/81, and interactive custom slab adjustments saved locally with offline persistence.
- Bilingual Assessment Reports: 1-tap summary sharing with full Nepali (Devanagari numerals) and English localization.
Package Integrity
- SHA256: 8eb0e9e69d002483fefaa84051684bcecb30b2c085a2a78fd1536248ca6a9061
NepTools v2.9.0
NepTools v2.9.0 (versionCode 49) - Release Notes
This release resolves core issues in calendar event notifications, background alarm restoration across reboots, data restore cache invalidation, numeral preference persistence, and widget synchronization.
Fixed
- Calendar Event Notification Fidelity & Collision: Fixed an issue where calendar event reminder notifications showed a generic fallback label instead of the user's event title and note, and caused multiple event notifications to overwrite each other. Notifications now surface title, note, specific day deep-link, and unique IDs.
- Reboot & Timezone Alarm Loss: Restored the persistence of user calendar event alarms across device reboots, time changes, and app updates by adding
rescheduleAlltoUserEventManagerwired intoBootCompletedReceiverand application cold start. - Data Restore Cache Stale State: Fixed an issue where restoring habits from a backup file wrote directly to disk without purging the in-memory
logsByDateCacheinHabitRepository, causing stale heatmap and streak data to persist. Also added automatic alarm rescheduling for restored calendar events. - Nepali Digits Preference Cold-Start Persistence: Fixed a regression in
ThemePrefs.loadwhere the stored"np_digits"boolean was ignored and overwritten on every app launch, ensuring the user's numeral format choice is retained. - Midnight Monthly Calendar Widget Rollover: Added
NepToolsMonthWidgetProvider.updateAllWidgetsto the midnight notification rollover routine, ensuring homescreen month calendar widgets accurately update the highlighted today cell at midnight.
NepTools v2.8.9
NepTools v2.8.9 (versionCode 48) - Release Notes
This release restores full navigation access across all tools, refines daily horoscope display, fixes memory cache invalidation on habit deletion, and aligns notification preference keys.
Fixed
- Tools Navigation Gate Failure: Fixed an issue where tapping any utility from the Tools screen or Home screen silently dropped navigation because of an overly restrictive internal allowlist. All 50+ tool routes and dynamic date screens are now fully accessible.
- Habit Log Cache Invalidation: Deleting a habit previously deleted its persistent logs in storage but failed to clear the in-memory date index, causing deleted logs to linger until process termination. Cache invalidation is now properly invoked upon deletion.
- Subscription Notification Setting Sync: Resolved an inconsistency where turning subscription notifications on/off in Settings saved to
notif_subbut startup preferences readnotif_subs, causing user toggles to be ignored after app restart. - Ekadashi Year Switch State: Keyed events state to
selectedYearso switching years immediately resets the active cache and displays the proper loading state.
Changed
- Daily Horoscope Interface: Removed the redundant top-bar refresh button and associated random seed override; daily readings now deterministically generate based on the user's selected rashi and current date.
NepTools v2.8.8
NepTools v2.8.8 (versionCode 47) - Release Notes
A correctness, performance, release-safety and accessibility pass. No new tools; this release makes
existing features correct and usable on real devices.
Fixed
- Habit streak counter (important): The current-streak figure was being reset to 0 every morning
before you logged the day, and stayed at 0 on any scheduled rest day. A run of completed days was
discarded on screen. Streaks now carry over from yesterday, a day you have not logged yet no longer
breaks the chain, and a scheduled rest day is treated as neutral rather than a miss. - Ekadashi and sacred tithi list: Opening the screen, or changing year, froze the UI for several
seconds while a full year of panchang calculations ran on the main thread. Calculation now happens
in the background with a loading indicator, and each year is solved only once. - Habit heatmap and statistics: The 52-week grid became progressively slower the more history you
accumulated, because the full check-in log was re-parsed for every day on every refresh. The log is
now indexed once and reused. - Background battery drain: Leaving the sound level meter or the spy camera detector with the
screen off no longer keeps a high-frequency sensor loop alive. - Cold start colour flash: The window background followed the system dark setting while the app
followed its own setting, producing a one-frame colour jump. Both now resolve from the same choice. - Default language: A first run on an English phone opened in Nepali. The app now follows the
device language until you choose otherwise. - Any app could crash NepTools: The exported main activity accepted an unvalidated navigation
route from any installed app. External routes are now validated against an allowlist.
Improved
- System dark mode: The app ignored the Android dark theme setting. Appearance is now a
System / Light / Dark choice in Settings, defaulting to System. - Keyboard handling: The on-screen keyboard covered the bottom of every form, hiding the field
being typed into and the submit button. - Readability: Secondary text contrast was below the WCAG AA minimum in light mode, which was
hardest to read outdoors. Improved across the palette. - Confirmation before deleting: Deleting a habit or subscription now asks first, since both
permanently discard history. - Boot performance: Restoring the daily date notification after a reboot no longer runs on the
main thread. - Build reliability: Gradle heap raised and compiler strategy corrected; emulator-only native code
no longer ships in release builds.
Security
- Release signing is now enforced: If the release keystore is missing, the release build fails
instead of quietly producing an APK signed with the publicly known Android debug key. Previously a
missing keystore still produced a working, distributable build that anyone could impersonate. - Obsolete APK v1 signing disabled.
- Removed a permission the app never used, and removed three debug-only broadcast handlers that any
app on the device could have triggered.
Verification
-
50/50 unit tests pass, including 6 new regression tests for streak arithmetic.
-
Debug build compiles with no errors; release-signing guard verified to fail closed.
-
Manual on-device testing is still recommended, particularly for the habit streak values and the
new appearance control. -
SHA-256: 5dce09a35600b69f365c89dd0abcead185ab699d18cc1dc11bac019a87dd1075
-
Size: 9510064 bytes (9.07 MB)
-
Signed with the release key: CN=NepTools, O=NepTools, L=Kathmandu, ST=Bagmati, C=NP
Cert SHA-256: 59:F9:5B:14:D6:BE:15:1E:03:F8:7B:7D:CE:59:CC:D7:3D:97:9D:03:4F:FB:E7:D4:D9:EF:7C:13:72:7D:66:A9 -
APK Signature Scheme: v2 + v3 (V1 disabled)
-
ABIs: arm64-v8a, armeabi-v7a (emulator-only x86_64 no longer shipped)
-
Updater: publish
app-release.apk.sha256alongside the APK. The in-app updater
refuses to auto-install when no checksum resolves, so this asset is required.