This commit is contained in:
Mateusz Gruszczyński
2026-08-27 22:58:13 +02:00
parent b93a1f2d92
commit 6572ff368b
19 changed files with 398 additions and 51 deletions
+24
View File
@@ -1,3 +1,27 @@
# GREE Controller v0.8.0 - build and validation report
## 0.8.0 ownership/concurrency/safety release
Version 0.8.0 keeps the 0.7.13 public behavior while adding explicit control ownership, per-zone serialization and optimistic revisions, stale Home Assistant sensor protection, schedule-boundary recalculation for physical manual takeover, automatic Heat/Cool compressor lockout, desired-vs-actual diagnostics, and owner/source status in Web/Home Assistant.
### Compatibility
- Existing zone JSON remains loadable because every new persisted field uses serde defaults.
- The `revision` request field is optional, so older Web/API clients continue to work; clients that send it receive HTTP 409 on stale writes.
- Existing `control-plan.control_source` keeps its historical meaning (temperature source). The new command provenance is exported as `control_command_source` to avoid breaking Home Assistant or third-party consumers.
- Existing physical and zone climate entity unique IDs remain unchanged.
### Validation available in this environment
- `node --check` passed for Web JavaScript.
- All JSON files parse successfully.
- Python Home Assistant integration and helper scripts pass `py_compile`.
- Shell scripts pass `bash -n`.
- Structural checks confirm all `Zone` and `ZoneControlPlan` literals contain the newly required fields.
- A Rust compiler/toolchain is not installed in this container and external network access from the container is disabled, so `cargo fmt/check/test` cannot be executed here. The release/update scripts must still run the normal Cargo build/test gate on the target host before replacing the service binary.
---
# GREE Controller v0.7.13 - build and validation report
## Scope