Releases: Destroyer795/Netwatchpy-package
Add PyPI metadata and document Ctrl+B keybinding
- Add keywords and classifiers to pyproject.toml for better PyPI discoverability
- Add version to init.py for package version tracking
- Document Ctrl+B (Toggle Bits/Bytes) keybinding in README and docs
- Update usage documentation with missing keyboard shortcut
Resolve relative import errors
Fix relative import errors
v1.2.2 - Binary Build Fix
Bug Fix: Fixed ModuleNotFoundError: desktop_notifier.resources by implementing deep data collection for PyInstaller. The executable now correctly bundles all UI assets and notification resources.
v1.2.1 - Fix Windows Crash
Fixed a missing dependency (TabPane) that caused the Windows executable to crash on startup.
v1.2.0 - Performance, Persistence, and network chart Update
v1.2.0 Major Update
Engineering Improvements
- Database Optimization: Refactored SQLite schema to use Unix Epoch Integers, reducing storage size by ~80% and query latency by ~40%.
- Fault Tolerance: Implemented Write-Ahead Logging (WAL) for lock-free concurrent writes.
- Binaries: Added automated .exe builds for Windows and Linux (see assets below).
- Enhanced Graph Display: Redesigned 24-hour history analytics with improved ASCII visualization, traffic summary statistics, peak hour identification, and actionable insights.
New Features
- Persistent Configuration: Your settings (Interface, Limits, Dark Mode) are now saved automatically.
- Dark Mode: Fixed theme persistence and rendering issues.
- Interactive History Tab: View hourly traffic breakdown with total upload/download percentages and average usage per hour.
- Peak Hour Detection: Automatically identifies and highlights your busiest hours for better traffic management.
IMPORTANT: Migration Required
Because the database schema has changed (Text -> Integer), existing users must reset their history after updating:
- Run
netwatch - Press
Ctrl + R(Reset Counters)
v1.1.1 - Documentation and Stability Update
Documentation Overhaul
We have launched a full documentation site!
- User Guide: Complete manual on controls and features.
- Installation Guide: Detailed steps for pip and source installs.
- New Website: Visit the docs at https://destroyer795.github.io/netwatchpy-package/
Fixes & Improvements
- Asset Update: Updated the demo screenshot to reflect the latest TUI changes.
- Version Bump: Synchronized package version to
1.1.1. - Logging enhancement: Added better logging messages when custom files are provided.
SQLite Upgrade and History Graphs with increased stability
Major Architectural Upgrade: SQLite Backend
We have completely rewritten the data persistence layer, moving from a flat quota.json file to a robust SQLite database.
-
Transactional Safety: Data is now logged in real-time using Write-Ahead Logging (WAL) mode. This makes the application crash-proof. So, no more corrupted data if your computer shuts down unexpectedly.
-
Time-Series Logging: Instead of just storing "totals," Netwatch now logs traffic volume every second. This enables granular historical analysis.
New Feature: Interactive History Tab
Added a new Analytics Dashboard to the TUI.
-
24-Hour History: View your network usage hour-by-hour for the last 24 hours.
-
Custom ASCII Graph Engine: Built a lightweight, dependency-free graphing engine that renders beautiful stacked bar charts using standard Unicode block characters (█, ░).
-
Cross-Platform: Renders perfectly on Windows (CMD/PowerShell), Linux, and macOS without graphical glitches.
Seamless Migration
- Auto-Migration: Upgrading from v0.3.x? Netwatch automatically detects your old quota.json, imports your existing totals into the new database, and safely archives the old file. You won't lose a single byte of data.
UX & Keybinding Improvements
-
Tabs System: Organized the interface into "Live Monitor" and "History" tabs.
-
New Controls:
-
r : Refresh the history graph immediately.
-
Ctrl+r : Reset all counters and history (moved from r to prevent accidents).
-
Ctrl+s : Removed (Data is now auto-saved every second).
-
Bug Fixes
-
Fixed race conditions where UI watchers would trigger before widgets were mounted.
-
Fixed timezone issues in SQL queries to ensure hourly data aligns correctly with local time.
-
Improved error handling: Database errors are now caught and displayed safely without crashing the monitoring thread.