Skip to content

Releases: shubhambelbase/NepTools

NepTools v2.9.8

Choose a tag to compare

@shubhambelbase shubhambelbase released this 16 Oct 05:07

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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 14 Oct 05:53

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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 14 Oct 04:06

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 prevent IllegalArgumentException on 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-Origin headers from file downloads and JSON endpoints.
  • Native Security Layer (C++):
    • Guarded ptrace(PTRACE_TRACEME) checks with execution state flags to eliminate false-positive debugger tampering alerts on repeated background evaluations.
  • Package Integrity & Signature Verification:
    • Added support for signingCertificateHistory on Android 9+ to verify single-signer production application fingerprints accurately.
    • Normalized package identity verification against .debug build variants in the in-app updater.
  • 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_LOCK and high-performance WifiLock lifecycles: locks are released immediately when playback pauses, on transient audio focus loss, or upon stream errors, preventing background battery drain.
  • 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 inSampleSize downsampling (capped to 2400px) and explicit page recycling to prevent Out-Of-Memory (OOM) errors during high-resolution camera photo PDF conversions.
  • Main Thread Offloading:
    • Offloaded midnight date rollover ephemeris calculations and notification dispatching in DailyDateAlarmReceiver using goAsync() with background coroutines.

Package Integrity

  • SHA256: F2B887E14DF28F810E2EEED75159A18F9DE23D264BED4C64889AC4680D1E8205

NepTools v2.9.5

Choose a tag to compare

@shubhambelbase shubhambelbase released this 01 Oct 13:34

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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 01 Oct 11:50

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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 01 Oct 10:51

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 (#0284C7 sky, #DC2626 red, #059669 green).
  • 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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 01 Oct 09:46

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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 29 Sep 06:38

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 rescheduleAll to UserEventManager wired into BootCompletedReceiver and 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 logsByDateCache in HabitRepository, 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.load where 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.updateAllWidgets to the midnight notification rollover routine, ensuring homescreen month calendar widgets accurately update the highlighted today cell at midnight.

NepTools v2.8.9

Choose a tag to compare

@shubhambelbase shubhambelbase released this 29 Sep 05:01

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_sub but startup preferences read notif_subs, causing user toggles to be ignored after app restart.
  • Ekadashi Year Switch State: Keyed events state to selectedYear so 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

Choose a tag to compare

@shubhambelbase shubhambelbase released this 28 Sep 12:22

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.sha256 alongside the APK. The in-app updater
    refuses to auto-install when no checksum resolves, so this asset is required.