All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v4.0.0 - 2024-04-21
- BREAKING CHANGE Changed module path from
github.com/jthomperoo/k8shorizmetrics/v3
togithub.com/jthomperoo/k8shorizmetrics/v4
. - BREAKING CHANGE Types now use JSON tags which match Kubernetes convention, with naming using camel case rather
than snake case. For example the Resource Metric field
PodMetricsInfo
is now serialised aspodMetricsInfo
rather thanpod_metrics_info
. - Updated minimum Go version to
v1.22
.
v3.0.0 - 2024-03-21
- BREAKING CHANGE Changed module path from
github.com/jthomperoo/k8shorizmetrics/v2
togithub.com/jthomperoo/k8shorizmetrics/v3
. - BREAKING CHANGE Gather now returns the
GathererMultiMetricError
error type if any of the metrics fail to gather. This error is returned for partial errors, meaning some metrics gathered successfully and others did not. If this partial error occurs theGathererMultiMetricError
error will have thePartial
property set totrue
. This can be checked for usingerrors.As
. - BREAKING CHANGE Evaluate now returns the
EvaluatorMultiMetricError
error type if any of the metrics fail to evaluate. This error is returned for partial errors, meaning some metrics evaluted successfully and others did not. If this partial error occurs theEvaluatorMultiMetricError
error will have thePartial
property set totrue
. This can be checked for usingerrors.As
.
v2.0.2 - 2023-12-23
- Upgraded to Go
v1.21
. - Upgraded package dependencies.
v2.0.1 - 2023-03-07
- Upgraded to Go
v1.20
. - Upgraded package dependencies.
v2.0.0 - 2022-12-02
- BREAKING CHANGE Upgraded from Kubernetes
autoscaling/v2beta2
to the graduatedautoscaling/v2
. This drops support for Kubernetes versionsv1.22
and below. - BREAKING CHANGE Changed module path from
github.com/jthomperoo/k8shorizmetrics
togithub.com/jthomperoo/k8shorizmetrics/v2
. - Upgraded to Kubernetes client libaries
v0.25.4
to support Kubernetesv1.23+
. - Upgraded to Go
v1.19
.
v1.1.0 - 2022-12-02
- New
GatherWithOptions
andGatherSingleMetricWithOptions
methods which allow you to provide the CPU initialization and delay of initial readiness status at call time as parameters. - New
EvaluateWithOptions
andEvaluateSingleMetricWithOptions
methods which allow you to provide the tolerance at call time as a parameter. CPUInitializationPeriod
andDelayOfInitialReadinessStatus
now exposed as member variables of theGatherer
.Tolerance
now exposed as a member variable of theEvaluator
.
v1.0.0 - 2022-05-14
- Simple API, based directly on the code from the HPA, but detangled for ease of use.
- Dependent only on versioned and public Kubernetes Golang modules, allows easy install without replace directives.
- Splits the HPA into two parts, metric gathering and evaluation, only use what you need.
- Allows insights into how the HPA makes decisions.
- Supports scaling to and from 0.