This commit is contained in:
Mateusz Gruszczyński
2026-08-27 23:01:18 +02:00
parent 6572ff368b
commit 7465de4b55
7 changed files with 40 additions and 18 deletions
+20
View File
@@ -1,3 +1,23 @@
# GREE Controller v0.8.1 - build and validation report
## 0.8.1 Rust borrow-checker hotfix
Version 0.8.1 is a compile-only hotfix for the 0.8.0 ownership release. It does not change controller behavior. Two mode-selection values in `src/engine.rs` borrowed `zone.mode` as `&str` across `refresh_control_ownership(&mut zone, ...)`, which Rust correctly rejected with E0502. Both paths now clone the selected mode into an owned `String` before the mutable ownership refresh and create the `&str` view only afterwards.
The affected paths are the live thermostat engine loop and `/api/control-plan` construction. No persisted schema, API field, ownership rule, thermostat decision, lockout rule or Home Assistant entity semantics changed.
### Validation available in this environment
- Confirmed both E0502 source patterns are removed and no `zone.mode.as_str()` borrow is held across `refresh_control_ownership(&mut zone, ...)`.
- `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`.
- Version consistency checked for Cargo package, Cargo lock root package, README and Home Assistant manifest.
- This packaging container still has no `cargo`, `rustc` or `rustfmt`; therefore the target-host update script remains the authoritative Rust compile/test gate and must run `cargo test --all-targets` and `cargo build --release` before replacing the service.
---
# GREE Controller v0.8.0 - build and validation report
## 0.8.0 ownership/concurrency/safety release