Skip to content

v0.1.0

Choose a tag to compare

@dittops dittops released this 29 Dec 12:02
· 16 commits to main since this release

Release Notes - v0.2.0

Features

Generic Prediction Metrics

The prediction system is now fully generic and works with any metrics. Users can specify which metrics from metricsSources to use for prediction and seasonal learning. This enables BudAIScaler to work with any workload type - not just LLM inference engines like vLLM or TGI, but also custom applications, databases, and non-AI services.

External Metrics Source

Fixed JSON parsing for external HTTP metric endpoints
Added fallback to generic JSON parsing when structured response fields are empty
External metrics now correctly handle flat JSON responses like {"metric_name": value}
Documentation

Added comprehensive documentation in the docs/ folder:

docs/prediction-algorithm.md - Detailed explanation of the 3-layer prediction system including time-series prediction, seasonal learning (168 time buckets with EWMA), and workload pattern detection
docs/scaling-hierarchy.md - Priority order of scaling inputs (Cost > Max > Schedule Hints > Min > Metrics/GPU/Prediction) with decision flow diagrams and example scenarios
CI/CD

Added GitHub Actions workflow for automated releases
Docker images published to ghcr.io/budecosystem/scaler
Helm charts published to oci://ghcr.io/budecosystem/charts/scaler
Added CI workflow for PR validation (lint, test, build, helm lint)
Installation

Helm (OCI Registry):
helm install scaler oci://ghcr.io/budecosystem/charts/scaler
--version 0.2.0
--namespace scaler-system
--create-namespace

Docker:
docker pull ghcr.io/budecosystem/scaler:0.2.0

Breaking Changes

None. The new predictionMetrics and seasonalMetrics fields are optional and default to the first metric in metricsSources for backward compatibility.

Upgrade Notes

No action required. Existing configurations will continue to work. To take advantage of the new generic prediction metrics, add the predictionMetrics and seasonalMetrics fields to your predictionConfig.