diff --git a/CHANGELOG.md b/CHANGELOG.md index cadcdb4..4b47db0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,9 +63,16 @@ it does not assert that some field holds some value; both were true of the leaki **What this release does NOT do.** It does not reduce the poll rate (**R-336 stays open, but re-scoped — it was never the cause of this leak**), it does not refactor `pbsTargetsFromPVE` to cache or reuse clients (a one-line default restores the standard behaviour; a lifecycle refactor adds -cache-invalidation questions for no measurable gain), it adds no `CloseIdleConnections` call, and it -**does not clear the 388 descriptors already stuck on ep0** — those persist until that proxy restarts, -which is not this change's to do. +cache-invalidation questions for no measurable gain), and it adds no `CloseIdleConnections` call. + +**One sentence in this entry was written before the deploy and was WRONG, and it is corrected here +rather than quietly edited.** It read: *"does not clear the 388 descriptors already stuck on ep0 — +those persist until that proxy restarts."* **Measured: they clear the moment the AGENT restarts.** +Replacing the binary on `demo-hp` released exactly its 199 descriptors within one second +(415 → 216 fd), and replacing it on `demo-felhom` released the remaining 203 (**220 → 17 fd in under +two seconds**). **17 is precisely ep0's `t0` baseline** of 2026-08-18 09:51:22Z. ep0 was read-only +throughout and its proxy PID never changed. The accumulated leak was never ep0's to hold on to — it +was held on both sides, and closing either side ends it. ## v0.129.0 — a correct code for an earlier package stops being called wrong (2026-08-12, R-311)