Releases: geoffwhittington/meshtastic-matrix-relay
Releases · geoffwhittington/meshtastic-matrix-relay
0.8.3
What's Changed
- More changes to hopefully make the Windows executable happy by @jeremiah-k in #78
Full Changelog: 0.8.1...0.8.3
0.8.0
What's Changed
- Improved Meshtastic connection handling by @jeremiah-k in #76
New Features & Bugfixes
Graceful Shutdown Handling
Signal Handling for SIGINT and SIGTERM:
- The application now properly handles shutdown signals (Ctrl+C or termination signals) to ensure a clean and graceful shutdown process.
- Signal handlers are set up to capture SIGINT and SIGTERM, triggering the shutdown procedure without abrupt termination.
Shutdown Event and Task Cancellation:
- Introduced an
asyncio.Event
(shutdown_event
) to manage the shutdown process asynchronously. - All running tasks are properly canceled during shutdown to prevent resource leaks or incomplete operations.
- Ensures that connections to Matrix and Meshtastic are closed gracefully.
Robust Meshtastic Reconnection Logic
Automatic Reconnection on Device Reboot or Disconnection:
- The application now detects when the Meshtastic device is disconnected (e.g., due to a remote reboot command) and attempts to reconnect automatically.
- Implemented exponential backoff for reconnection attempts, starting from 10 seconds and capping at 5 minutes.
Thread-Safe Reconnection Handling:
- Utilized threading locks (
meshtastic_lock
) to prevent race conditions and ensure thread safety during reconnection attempts. - Introduced flags (
reconnecting
andshutting_down
) to manage the reconnection state and prevent overlapping reconnection attempts.
Enhanced Error Handling and Logging
Specific Exception Handling:
- Added exception handling for
OSError
witherrno 9
(Bad file descriptor) to avoid unnecessary warnings when closing already closed connections. - Handled exceptions during client closure and reconnection to prevent crashes and provide informative logs.
Informative Logging Statements:
- Improved logging throughout the application to provide clear insights into the application's state and actions.
- Logs include connection attempts, reconnection successes or failures, and shutdown processes.
Please test and report any issues.
Full Changelog: 0.7.0...0.8.0
0.7.0
What's Changed
- Serial & Network reconnecting much more reliably by @jeremiah-k in #73
Full Changelog: 0.6.5...0.7.0
0.6.5
0.6.3
What's Changed
- Windows Installer Updates for BLE by @jeremiah-k in #70
Note: Only a minor change to the Windows installer options. Still needs work.
Full Changelog: 0.6.2...0.6.3
0.6.2
What's Changed
- BLE Support by @jeremiah-k in #66
- Consolidate new config fields by @jeremiah-k in #67
- Update BLE config field by @jeremiah-k in #68
- Bump matplotlib version to latest by @jeremiah-k in #69
Full Changelog: 0.6.0...0.6.2
0.6.0
What's Changed
- Force reconnect on lost connection by @berticus2016 in 696807f
- Remove hardcoded workflow body so github generates release notes by @jeremiah-k in #63
- Update dependencies
Note: Please give us feedback on the device reconnection changes.
Full Changelog: 0.5.2...0.6.0
0.5.2
What's Changed
Full Changelog: 0.5.1...0.5.2
MMRelay 0.5.1
What's Changed
- Add systemd user service file example to DEVELOPMENT.md by @lingawakad in #57
- Corrected lastheard variable name in 'nodes' plugin by @Mate-dev in #58
New Contributors
- @lingawakad made their first contribution in #57
- @Mate-dev made their first contribution in #58
Full Changelog: 0.5.0...0.5.1
MMRelay 0.5.0
Update dependencies for 2.2.x firmware changes.