What's New in v0.1.23
v0.1.23 is a reliability patch. Fleet savings totals stay finite, first recommendations no longer wait extra jitter while metrics are still collecting, and the operator image is built with Go 1.26.6.
Highlights
- Fleet report monthly savings skip Inf, NaN, and other unparseable values, and count them in
unparseableSavings. - Requeue jitter is skipped while Ready is
InsufficientDataorPrometheusUnavailable.
Fleet report
- Inf or NaN savings could make the fleet USD total Inf, or look like $0 after a silent drop.
estimatedMonthlySavingsUSDnow adds only finite numbers. Unparseable values incrementunparseableSavings. The operator logs at Info when that count is nonzero (#532, #533). - Huge or negative reclaim quantities could wrap to the wrong sign. CPU and memory reclaim sums reject those Quantity values and saturate int64 addition (#533).
Bootstrap timing
- First recommendations and ConfigMap export could wait up to cooldown plus
--requeue-jitter(default 2m). Jitter no longer applies while Ready isInsufficientDataorPrometheusUnavailable. Helm values,--requeue-jitterhelp, and troubleshooting describe that skip (#531, #532).
Build and security
- Operator and
kubectl attunenow build with Go 1.26.6.go.modand the Dockerfile stay on the same patch (#524).
Upgrade notes
- If you read fleet
report.json, treatunparseableSavingsas additive. A successful export can still show$0when every savings field failed to parse. - Short-cooldown policies collect first recommendations sooner. Steady-state cooldown jitter is unchanged.
- Pull
ghcr.io/attune-io/attune:v0.1.23(or rebuild from the tag) for the Go 1.26.6 toolchain.