Skip to content

Version History

Chris Collins edited this page Sep 3, 2024 · 4 revisions

v1.2 - SNMP, SQLLite, Plugins

Release Date: September 2, 2024

Core Enhancements

SNMP Integration:

  • Implemented SNMP monitoring using the NetOpsSNMP class.
  • Added SNMP status checks to determine device reachability, with fallback to ping if SNMP fails.
  • Configurable SNMP community strings via config.ini.

SQLite Integration:

  • Integrated SQLite database for storing device information, logs, and status updates.
  • Introduced SystemLog class to manage program logs, including error handling and informational messages.
  • Environment setup now ensures database and required folders are created if they do not exist.

Plugins Architecture

Plugin System: -Introduced a plugins folder for modular functionality. -Dynamic Tools menu loads and executes plugins at runtime.

Syslog Plugin:

  • Developed a Syslog server plugin that listens for syslog messages and stores them in SQLite.
  • Integrated Syslog Viewer in the Tools menu to display and filter syslog messages.

Speed Test Plugin:

  • Added a speed test plugin utilizing speedtest-cli.
  • GUI for running speed tests and displaying download, upload speeds, and ping.
  • Thread-safe GUI updates within the plugin.

Performance and Stability Improvements

Thread-Safe Queue Management:

  • Implemented a thread-safe queue (update_queue) for managing GUI updates from background threads.
  • Ensured all GUI interactions from background threads are routed through this queue.

Device Status Tracking:

  • Introduced counters for tracking consecutive successes and failures for device checks to prevent intermittent "flashing" statuses.
  • Threshold-based mechanism for determining device reachability based on multiple checks.

Error Handling and Logging:

  • Improved error handling across modules, with comprehensive logging for easier troubleshooting.
  • Enhanced System Log viewer with log level filters and search functionality.

User Interface and Usability

Reduced Application Size:

  • Optimized the codebase, reducing the overall size by approximately 50%.
  • Simplified GUI code while adding new features, ensuring a cleaner and more maintainable codebase.

Improved Device Management:

  • Streamlined device management dialogs (add, edit, delete) for easier interaction.
  • Correctly tracks and highlights acknowledged devices in the Treeview.

Enhanced Visual Feedback:

  • Improved visual indicators in the Treeview for device statuses, with color-coding for reachable and unreachable devices.
  • Added a countdown timer and progress bar for refresh intervals, giving users clear feedback on the next check.

Environment Setup

Automated Setup:

  • Automated environment setup ensures all necessary Python packages are installed.
  • Added firewall configuration steps for both Windows and Linux to allow Syslog traffic on UDP port 514.

v1.1.3.1 - Syslog Server and Minor Enhancements

Release Date: August 28, 2024

  • Bug Fixes: Fixed minor bugs in the user interface and improved the responsiveness.
  • Restructure of file system to a module based system.
  • Cleanup of code for easier understanding of functionality.
  • New Features:
    • Syslog Server: Added the capability of using as a Syslog Server.
    • Syslog Viewer: Added a Syslog viewer.

v1.1.3 - Log Viewer and Minor Enhancements

Release Date: May 20, 2024

  • Bug Fixes: Fixed minor bugs in the user interface and improved the responsiveness.
  • Code Refactoring: Improved code structure for better maintainability.
  • Security Updates: Enhanced input validation to prevent potential security issues.
  • New Features:
    • Log Viewer: Added a log viewer with filtering, archiving, and clearing capabilities.
    • Alert Sound: Implemented an alert sound for device status changes. Users can acknowledge the alert, and it will clear once the device comes back online.

v1.1.2 - Error Handling and Logging

Release Date: May 10, 2024

Security Enhancements:

  • Granular Error Handling: Refined error reporting across various parts of the application:
  • Configuration Management: Now captures specific exceptions related to configuration errors, such as parsing errors and missing configuration files.
  • Device Management: Enhanced file operation error handling, including specific exceptions when reading, writing, and updating device information.
  • Network Operations: Improved error handling during network activities such as pinging, capturing specific network-related exceptions like timeouts and subprocess errors.
  • Logging Improvements: Extended the logging functionality to provide more detailed information regarding the operation status and errors, aiding in easier diagnostics and troubleshooting.
  • GUI Adjustments: Minor updates to the GUI components for better user interaction and error feedback, ensuring a more responsive and user-friendly interface.
  • Code Refinements: Adjusted existing code for better clarity and efficiency, focusing on robust handling of potential runtime exceptions and ensuring the stability of the application.

v1.1.1 - GUI Update

Release Date: May 8, 2024

Major Improvements:

  • Logging Enhancements: Introduced granular logging setup with a dedicated LogManager class to manage application-wide logging. Configured file and console handlers to capture logs, easing debugging and monitoring operations.
  • Error Handling Improvements: Expanded error handling in networking and configuration tasks to catch and log specific exceptions. This improves diagnostics and helps in maintaining system stability and debugging issues related to network timeouts and configuration errors.
  • User Interface Adjustments: Enhanced the treeview display to include an additional column for "Average Ping", providing more detailed feedback on network status directly in the main application window. Improved UI responsiveness by handling UI updates through asynchronous callbacks, ensuring the application remains responsive during network operations.
  • Performance Optimization: Implemented more efficient network operation handling with a thread-safe queue, allowing more reliable and controlled execution of network ping tasks. Optimized the device loading and sorting mechanism, reducing the computational overhead when refreshing device statuses.
  • Feature Extensions: Added capabilities for modifying network ping settings through a dedicated settings dialog, giving users the flexibility to adjust the number of attempts and timeout settings dynamically. Introduced functionality to edit and delete device configurations directly from the UI, enhancing user interaction and ease of management.
  • Code Refactoring: Refactored major parts of the codebase for better readability and maintainability. Segregated functionalities into clearer, purpose-driven modules and classes. Enhanced comments and documentation within the code to align with Python best practices, aiding future contributors and maintainers of the project.
  • Security and Validation: Implemented rigorous validation for device IP addresses upon entry to prevent errors related to malformed inputs. Enhanced error handling mechanisms to prevent application crashes and ensure user operations are handled gracefully.

Bug Fixes:

  • Addressed issues where the application could become unresponsive during prolonged network activities.
  • Fixed bugs related to device configuration saving and loading that could cause incorrect data handling.

v1.1.0 - Major Update

Release Date: April 20, 2024

Major Improvements:

  • Introduced the device editing and deleting functionality.
  • Added validation for IP addresses when adding or editing devices.
  • Enhanced performance for device status updates.
  • Redesigned the entire user interface for a more modern look.
  • Introduced a multi-threaded approach for handling network operations.
  • Added a logging system with file output for troubleshooting.

v1.0.4 - Additional Features

Release Date: April 5, 2024

New Features:

  • Implemented device editing and deletion capabilities.
  • Added support for saving device configurations.

v1.0.3 - User Interface Improvements

Release Date: March 20, 2024

UI Updates:

  • Enhanced user interface with better layout and navigation.
  • Added color coding to status indicators for devices.

v1.0.2 - Performance Enhancements

Release Date: March 15, 2024

  • Fixed a bug in the network pinging process where timeouts were not handled correctly.
  • Updated UI responsiveness during network scans.
  • Optimized the network ping process for faster response times.
  • Reduced CPU usage during idle periods.

v1.0.1 - Bug Fixes

Release Date: February 25, 2024

  • Minor bug fixes in the configuration management.
  • Improved error messages for easier troubleshooting.
  • Fixed an issue where ping results were not updating correctly.
  • Minor UI adjustments for better readability.

v1.0.0 - Initial Release

Release Date: February 10, 2024

  • Features Introduced:
  • Basic network monitoring capabilities.
  • Ping devices manually to check connectivity.
  • Display results in a simple user interface.

Clone this wiki locally