diff --git a/.changeset/prune-writer-fairness.md b/.changeset/prune-writer-fairness.md deleted file mode 100644 index 49724844..00000000 --- a/.changeset/prune-writer-fairness.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"ftw": patch ---- - -Yield between maintenance chunks so live writers are never starved. - -v0.130.2 bounded every maintenance transaction, but back-to-back chunks -still starved the control loop during a large backlog migration: SQLite's -busy handler retries without fairness, so the maintenance loop re-acquired -the write lock before any waiting writer won its retry. Prune chunks, -rolloff deletes, and diagnostics batch-deletes now pause (250/100 ms) -between transactions, guaranteeing every waiting writer a window. diff --git a/CHANGELOG.md b/CHANGELOG.md index f4d62a23..ec71ed4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.130.3 + +### Patch Changes + +- 00a9da5: Yield between maintenance chunks so live writers are never starved. + + v0.130.2 bounded every maintenance transaction, but back-to-back chunks + still starved the control loop during a large backlog migration: SQLite's + busy handler retries without fairness, so the maintenance loop re-acquired + the write lock before any waiting writer won its retry. Prune chunks, + rolloff deletes, and diagnostics batch-deletes now pause (250/100 ms) + between transactions, guaranteeing every waiting writer a window. + ## 0.130.2 ### Patch Changes diff --git a/package-lock.json b/package-lock.json index d5a2c9d6..55778b96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ftw", - "version": "0.130.2", + "version": "0.130.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ftw", - "version": "0.130.2", + "version": "0.130.3", "devDependencies": { "@changesets/cli": "^2.27.10" } diff --git a/package.json b/package.json index 0dda513b..23a7d247 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ftw", - "version": "0.130.2", + "version": "0.130.3", "private": true, "type": "module", "description": "FTW — local-first home energy coordination. Version metadata only; the runtime is Go and the mathematical planner is Python/CVXPY.",