Changes
General
- Now tested and confirmed working on Python 3.13
- Do not auto-scroll the logs box during download progress updates
- Catch
KeyboardInterrupt
exception during downloads so that the server can be cleanly terminated withCtrl + C
mid-download
Performance
- Use a memory-mapped file for log file progress updates to efficiently access and update the last line of the log file directly in place instead of reading the entire file into memory and writing it back after modifying the last line. This improves performance, especially for larger log files, by reducing memory usage and I/O operations
- Only send updates to the log file over the WebSocket connection, not the entire file each time, and handle download progress updates on the client side
- Ensure logging handlers are properly closed to free up resources and implement a manager for closure of handlers on shutdown
Docker Image: GitHub Container Registry / Docker Hub
Full Changelog: v0.7.1...v0.7.2