Files
series3-watcher/CHANGELOG.md
2025-12-04 17:24:20 -05:00

78 lines
2.6 KiB
Markdown

# Changelog
All notable changes to **Series3 Emitter** will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [Unreleased]
---
## [1.2.0] - 2025-12-04
### Changed
- Removed roster CSV dependency and all Dropbox refresh/hot-reload logic; heartbeat now only enumerates `.MLG` files.
- Added `MAX_EVENT_AGE_DAYS` filter to ignore stale events and log when no recent activity exists.
- Simplified heartbeat output/logging to show detected units only; logging hardened to never crash the emitter.
---
## [1.1.1] - 2025-12-02
### Added
- Example `config.ini` now ships with API heartbeat settings enabled (`API_ENABLED`, `API_URL`, `API_INTERVAL_SECONDS`, `SOURCE_ID`, `SOURCE_TYPE`).
---
## [1.1.0] - 2025-12-01
### Added
- Standardized SFM telemetry payload builder and periodic HTTP heartbeat POST via `urllib`.
- Config support for API heartbeat (`API_ENABLED`, `API_URL`, `API_INTERVAL_SECONDS`, `SOURCE_ID`, `SOURCE_TYPE`); payload includes file path/size metadata.
### Changed
- Refactored scanner to retain file paths and header sniff cache; reformatted logging/ANSI handling.
---
## [1.0.1] - 2025-11-20
### Added
- `API_URL` config key and `report_to_server` per-unit POST hook (adds `requests` dependency).
### Changed
- Example `config.ini` roster URL updated; merged into `main`.
---
## [1.0.0] - 2025-11-17
### Added
- **Automatic roster refresh** from Dropbox at a configurable interval (`ROSTER_REFRESH_MIN_SECONDS`).
- **Hot-reload** of roster file without restarting the script.
- **Failsafe reload:** if the new roster is missing or invalid, the previous good roster is retained.
- **Atomic roster downloads** (temp file in-place replace) to avoid partial/corrupted CSVs.
- **Startup config echo** printing WATCH_PATH, ROSTER_FILE, and ROSTER_URL visibility.
- **Active / Bench / Ignored** unit categories for clearer fleet status mapping.
### Fixed
- Removed stray `note=note_suffix` bug in the Unexpected Units section.
- Removed duplicate `import time`.
- Removed duplicate roster load during startup (roster now loads once).
- Cleaned indentation for Python 3.8 compatibility.
### Changed
- Reset versioning from legacy `v5.9 beta` to **v1.0.0** (clean semver baseline).
- Main script normalized as `series3_emitter.py`.
---
[Unreleased]: https://example.com/compare/v1.2.0...HEAD
[1.2.0]: https://example.com/releases/v1.2.0
[1.1.1]: https://example.com/releases/v1.1.1
[1.1.0]: https://example.com/releases/v1.1.0
[1.0.1]: https://example.com/releases/v1.0.1
[1.0.0]: https://example.com/releases/v1.0.0