Releases: kubernetes/kube-state-metrics
v2.16.0
v2.16.0 / 2025-06-23
Note
This release builds with Golang: v1.24.4
.
This release builds with k8s.io/client-go
: v0.32.6
.
- [FEATURE] Add a
reclaim_policy
label to thekube_persistentvolume_info
metric by @SuperQ in #2615 - [FEATURE] Use dlclark/regexp2 over standard library's package to support lookarounds by @rexagod in #2616
- [BUGFIX] Report correct values in
kube_pod_status_reason
metric by @carlosmorenokm1 in #2644 - [FEATURE] Add add
pathType
tokube_ingress_path
by @rexagod in #2670 - [FEATURE] Introduce object limits by @mrueg in #2626
- [BUGFIX] Close reflectors once their corresponding CRDs are dropped by @rexagod in #2672
- [FEATURE] Incorporate
WithAuthenticationAndAuthorization
to support endpoint authn/z by @mrueg in #2686
Full Changelog
- chore: Merge release 2.15 back to main by @mrueg in #2600
- build(deps): Bump github.com/prometheus/exporter-toolkit from 0.13.2 to 0.14.0 by @dependabot in #2606
- build(deps): Bump the k8s-dependencies group with 5 updates by @dependabot in #2609
- build(deps): Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot in #2610
- build(deps): Bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 by @dependabot in #2613
- feat: Add PersistentVolume Reclaim Policy into info metric by @SuperQ in #2615
- build(deps): Bump github.com/KimMachineGun/automemlimit from 0.7.0 to 0.7.1 by @dependabot in #2617
- build(deps): Bump github.com/google/go-cmp from 0.6.0 to 0.7.0 by @dependabot in #2618
- build(deps): Bump github.com/prometheus/client_golang from 1.21.0 to 1.21.1 by @dependabot in #2624
- build(deps): Bump the k8s-dependencies group with 5 updates by @dependabot in #2628
- chore: Bump to go-1.24, use go tools by @mrueg in #2611
- build(deps): Bump github.com/spf13/viper from 1.19.0 to 1.20.0 by @dependabot in #2629
- build(deps): Bump github.com/prometheus/common from 0.62.0 to 0.63.0 by @dependabot in #2630
- feat: Use
dlclark/regexp2
over standard library's package by @rexagod in #2616 - build(deps): Bump actions/setup-go from 5.3.0 to 5.4.0 by @dependabot in #2634
- fix: bump golang.org/x/net to v0.38.0 (fixes CVE-2025-22870 & CVE-2025-22872) by @ricardbejarano in #2641
- build(deps): Bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0 by @dependabot in #2647
- chore: Migrate to golangci-lint v2 by @mrueg in #2643
- build(deps): Bump github.com/prometheus/client_golang from 1.21.1 to 1.22.0 by @dependabot in #2648
- chore: add CatherineF-dev as an approver by @dgrisonnet in #2650
- build(deps): Bump github.com/spf13/viper from 1.20.0 to 1.20.1 by @dependabot in #2639
- build(deps): Bump github.com/prometheus/client_model from 0.6.1 to 0.6.2 by @dependabot in #2652
- build(deps): Bump kubernetes-sigs/release-actions from 0.3.0 to 0.3.1 by @dependabot in #2654
- build(deps): Bump github.com/KimMachineGun/automemlimit from 0.7.1 to 0.7.2 by @dependabot in #2667
- chore: Port away from gopkg.in/yaml.v3 by @mrueg in #2656
- build(deps): Bump actions/setup-go from 5.4.0 to 5.5.0 by @dependabot in #2669
- build(deps): Bump github.com/prometheus/common from 0.63.0 to 0.64.0 by @dependabot in #2673
- fix: report correct reason in kube_pod_status_reason metric by @carlosmorenokm1 in #2644
- build(deps): Bump github.com/go-logr/logr from 1.4.2 to 1.4.3 by @dependabot in #2676
- feat: add
pathType
toingress_path
by @rexagod in #2670 - build(deps): Bump github.com/KimMachineGun/automemlimit from 0.7.2 to 0.7.3 by @dependabot in #2683
- feat: Introduce object limits by @mrueg in #2626
- chore: Bump kind by @mrueg in #2677
- fix: Fix typo in Makefile by @mrueg in #2687
- fix: Clean up CR reflectors after parent CRD deletion by @rexagod in #2672
- chore: Bump to k8s 1.32.6 by @mrueg in #2689
- build(deps): Bump github.com/prometheus/common from 0.64.0 to 0.65.0 by @dependabot in #2691
- feat: Add AuthFilter by @mrueg in #2686
- fix: Fix
examples
target by @rexagod in #2693 - chore: Prep
v2.16
release by @rexagod in #2692
New Contributors
- @ricardbejarano made their first contribution in #2641
- @carlosmorenokm1 made their first contribution in #2644
Full Changelog: v2.15.0...v2.16.0
v2.15.0 / 2025-02-03
Note
- This release builds with Golang
v1.23.5
- This release builds with
k8s.io/client-go
:v0.32.1
New changes, features and fixes
- [BUGFIX] Fix CR cache for GVK all specified case by @chelseychen in #2567
- [BUGFIX] Deduplicate tolerations before creating metric by @RiRa12621 in #2559
- [BUGFIX] Make
$VERSION
3rd-party independant by @rexagod in #2572 - [BUGFIX] Fix NoNodePod naming in jsonnet by @mrueg in #2598
- [BUGFIX] Panic in
util.GVRFromType
for structured types by @L3n41c in #2553 - [FEATURE] Add external traffic policy to kube_service_info by @jahantech in #2584
- [FEATURE] Promote kube_statefulset_ordinals_start from ALPHA -> STABLE by @pwschuurman in #2415
- [FEATURE] Add timezone to kube_cronjob_info / Make kube_cronjob_next_schedule_time timezone-aware by @mrueg in #2376
Full Changelog
- chore: Merge Release 2.14 back to main by @mrueg in #2552
- feat: Add timezone to kube_cronjob_info / Make kube_cronjob_next_schedule_time timezone-aware by @mrueg in #2376
- build(deps): Bump the k8s-dependencies group with 5 updates by @dependabot in #2561
- build(deps): Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #2562
- feat: Promote kube_statefulset_ordinals_start from ALPHA -> STABLE by @pwschuurman in #2415
- docs: Add best practices for metrics by @mrueg in #2528
- fix: Fix CR cache for GVK all specified case by @chelseychen in #2567
- build(deps): Bump github.com/prometheus/common from 0.60.1 to 0.61.0 by @dependabot in #2570
- chore: Bump versions by @mrueg in #2556
- style: fix warning during docker build by @davidxia in #2573
- build(deps): Bump actions/setup-go from 5.1.0 to 5.2.0 by @dependabot in #2574
- build(deps): Bump github.com/prometheus/exporter-toolkit from 0.13.1 to 0.13.2 by @dependabot in #2576
- docs: update links to openmetrics to reference the v1.0.0 release by @dashpole in #2577
- feat: Add External traffic policy to kube_service_info by @jahantech in #2584
- build(deps): Bump github.com/KimMachineGun/automemlimit from 0.6.1 to 0.7.0 by @dependabot in #2588
- build(deps): Bump the k8s-dependencies group across 1 directory with 4 updates by @dependabot in #2592
- build(deps): Bump github.com/prometheus/common from 0.61.0 to 0.62.0 by @dependabot in #2593
- fix(kube_pod_tolerations): deduplicate tolerations before creating metric by @RiRa12621 in #2559
- build(deps): Bump actions/setup-go from 5.2.0 to 5.3.0 by @dependabot in #2596
- docs(customresourcestate): add example to expose same metrics with different label by @clavinjune in #2580
- fix: make
$VERSION
3rd-party independant by @rexagod in #2572 - fix(jsonnet): Fix NoNodePod naming by @mrueg in #2598
- fix: panic in
util.GVRFromType
for structured types by @L3n41c in #2553 - chore: Cut v2.15.0 by @mrueg in #2599
New Contributors
- @chelseychen made their first contribution in #2567
- @dashpole made their first contribution in #2577
- @jahantech made their first contribution in #2584
- @RiRa12621 made their first contribution in #2559
- @clavinjune made their first contribution in #2580
Full Changelog: v2.14.0...v2.15.0
v2.14.0 / 2024-11-08
Note
This release builds with Golang v1.23.3
This release builds with k8s.io/client-go
: v0.31.2
This release removes kube_endpoint_address_not_ready
and kube_endpoint_address_available
which have been deprecated in 2022. Please use kube_endpoint_address
as a replacement.
New changes, features and fixes
- [BUGFIX] Use --track-unscheduled-pods to select unscheduled pods in Daemonset sharding by @CatherineF-dev in #2388
- [BUGFIX] Install tools so VERSION gets set by @mrueg in #2456
- [BUGFIX] Syntax errors in kube-state-metrics.libsonnet by @jeffmccune in #2454
- [BUGFIX] Set kube_job_status_failed metric even when there are no job.Status.Conditions present by @richabanker in #2485
- [BUGFIX] de-duplication of custom resource metrics by @bartlettc22 in #2502
- [BUGFIX] Configure sharding every time MetricsHandler.Run runs by @wallee94 in #2478
- [BUGFIX] Panic in
util.GVRFromType
for core objects by @L3n41c in #2535 - [BUGFIX] Big memory value overflow by @leiwingqueen in #2540
- [BUGFIX] Expose empty labels by @mrueg in #2539
- [BUGFIX] CustomResourceMetrics: Convert status condition Unknown to a valid value by @Haleygo in #2536
- [CHANGE] Remove deprecated endpoint address metric by @mrueg in #2527
- [FEATURE] Add new metric kube_job_status_suspended by @Indresh2410 in #2542
- [FEATURE] Move endpoint ports into address metric by @mrueg in #2503
- [ENHANCEMENT] Use concurrent map when storing metrics by @rarruda in #2510
Full Changelog
- chore: Merge release branch back to main by @mrueg in #2450
- ci: missing line break escape on sbom workflow by @ricardoapl in #2451
- fix: use --track-unscheduled-pods to select unscheduled pods in Daemonset sharding by @CatherineF-dev in #2388
- fix(Dockerfile): Install tools so VERSION gets set by @mrueg in #2456
- chore: Avoid naked return by @mrueg in #2464
- chore: Replace NewReflector with NewReflectorWithOptions func by @mrueg in #2465
- fix: syntax errors in kube-state-metrics.libsonnet by @jeffmccune in #2454
- fix: e2e test failure by @CatherineF-dev in #2467
- chore: Add unused linter by @mrueg in #2466
- build(deps): Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.0 by @dependabot in #2477
- docs: Fix outdated RegistryFactory.MetricFamilyGenerators comments by @daivitran in #2479
- build(deps): Bump github.com/prometheus/client_golang from 1.20.0 to 1.20.1 by @dependabot in #2481
- build(deps): Bump github.com/jsonnet-bundler/jsonnet-bundler from 0.5.1 to 0.6.0 in /tools by @dependabot in #2484
- chore: Bump e2e kind node to 1.30 by @mrueg in #2469
- chore: Memory align structs by @mrueg in #2470
- build(deps): Bump github.com/prometheus/client_golang from 1.20.1 to 1.20.2 by @dependabot in #2486
- build(deps): Bump github.com/prometheus/common from 0.55.0 to 0.57.0 by @dependabot in #2491
- build(deps): Bump github.com/prometheus/exporter-toolkit from 0.11.0 to 0.12.0 by @dependabot in #2494
- build(deps): Bump github.com/prometheus/client_golang from 1.20.2 to 1.20.3 by @dependabot in #2496
- build(deps): Bump github.com/prometheus/common from 0.58.0 to 0.59.1 by @dependabot in #2497
- docs: fix unformatted code blocks in README by @SamuAlfageme in #2498
- fix: set kube_job_status_failed metric even when there are no job.Status.Conditions present by @richabanker in #2485
- chore: Bump go to 1.23.1 by @mrueg in #2493
- build(deps): Bump github.com/prometheus/client_golang from 1.20.3 to 1.20.4 by @dependabot in #2505
- build(deps): Bump github.com/gobuffalo/flect from 1.0.2 to 1.0.3 by @dependabot in #2506
- chore: Migrate to slog for exporter-toolkit by @mrueg in #2508
- chore: Bump to kubernetes 1.31.0 by @mrueg in #2492
- build(deps): Bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in #2515
- chore: Fix the security issue about sirupsen/logrus by @kevinwangcn in #2509
- build(deps): Bump github.com/prometheus/common from 0.59.1 to 0.60.0 by @dependabot in #2519
- build(deps): Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in #2524
- fix: de-duplication of custom resource metrics by @bartlettc22 in #2502
- fix(discovery): configure sharding every time MetricsHandler.Run runs by @wallee94 in #2478
- fix: update govulncheck's go version to 1.23 by @mrueg in #2526
- chore: Remove deprecated endpoint address metric by @mrueg in #2527
- feat: Move endpoint ports into address metric by @mrueg in #2503
- build(deps): Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 by @dependabot in #2530
- build(deps): Bump kubernetes-sigs/release-actions from 0.2.0 to 0.3.0 by @dependabot in #2529
- build(deps): Bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot in #2532
- build(deps): Bump github.com/prometheus/common from 0.60.0 to 0.60.1 by @dependabot in #2534
- build(deps): Bump the k8s-dependencies group with 5 updates by @dependabot in #2533
- build(deps): Bump actions/setup-go from 5.0.2 to 5.1.0 by @dependabot in #2531
- fix: panic in
util.GVRFromType
for core objects by @L3n41c in #2535 - build(deps): Bump github.com/prometheus/exporter-toolkit from 0.13.0 to 0.13.1 by @dependabot in #2537
- build(deps): Bump github.com/fsnotify/fsnotify from 1.7.0 to 1.8.0 by @dependabot in #2543
- fix: big memory overflow by @leiwingqueen in #2540
- perf: use concurrent map when storing metrics by @rarruda in #2510
- fix: expose empty labels by @mrueg in #2539
- chore: Improve benchmarks by @mrueg in #2545
- chore: Fix broken CI by @mrueg in #2546
- feat: Add new metric kube_job_status_suspended by @Indresh2410 in #2542
- fix: Remove redundant factories array since it is not written after by @Henrywu573 in #2547
- chore: Bump versions by @mrueg in #2548
- fix(custom resource state metrics): correctly convert status condition
Unknown
to a valid value by @Haleygo in #2536 - chore: Cut v2.14.0 by @mrueg in #2538
New Contributors
- @jeffmccune made their first contribution in #2454
- @daivitran made their first contribution in #2479
- @SamuAlfageme made their first contribution in #2498
- @richabanker made their first contribution in https://github.co...
v2.13.0 / 2024-07-19
Note
This release builds with Golang v1.22.5.
This release builds with k8s.io/client-go: v0.30.3.
This release adds read and write timeouts for requests. The defaults might have an impact on scrapes that take a long time.
New changes and fixes
[BUGFIX] Pod autosharding: transition from labelselector to fieldselector by @pkoutsovasilis in #2347
[ENHANCEMENT] Add automatic detection of memory limits by @SuperQ in #2447
[FEATURE] Add readyz endpoint by @rexagod in #2442
[FEATURE] Add livez endpoint by @rexagod in #2418
[FEATURE] Add kube_persistentvolume_volume_mode metric by @ricardoapl in #2370
[FEATURE] Add read and write timeouts by @Pokom in #2412
Full Change log
What's Changed
- chore: Sync
release-2.12
withmain
by @rexagod in #2360 - chore: Replace VERSION file with data.yaml by @mrueg in #2361
- docs: reorganize documentation directory structure by @ovidiutirla in #2358
- chore: use string verb to format logging messages in tests by @ovidiutirla in #2363
- build(deps): Bump github.com/prometheus/client_model from 0.6.0 to 0.6.1 by @dependabot in #2364
- build(deps): Bump github.com/prometheus/common from 0.51.1 to 0.52.2 by @dependabot in #2365
- chore: Build with go 1.22 by @mrueg in #2362
- build(deps): Bump github.com/prometheus/common from 0.52.2 to 0.52.3 by @dependabot in #2369
- build(deps): Bump github.com/prometheus/common from 0.52.3 to 0.53.0 by @dependabot in #2378
- feat: add kube_persistentvolume_volume_mode metric by @ricardoapl in #2370
- feat: Support k8s 1.30 by @mrueg in #2379
- build(deps): Bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 by @dependabot in #2389
- build: bump deps to fix CVEs by @jwilder in #2385
- build(deps): Bump the k8s-dependencies group with 5 updates by @dependabot in #2394
- chore: pin dependencies in GitHub Actions by hash by @ricardoapl in #2396
- build(deps): Bump amannn/action-semantic-pull-request from 5.4.0 to 5.5.2 by @dependabot in #2401
- build(deps): Bump github.com/hairyhenderson/gomplate/v3 from 3.11.7 to 3.11.8 in /tools by @dependabot in #2409
- build(deps): Bump github.com/spf13/viper from 1.18.2 to 1.19.0 by @dependabot in #2410
- fix(pod autosharding): transition from labelselector to fieldselector by @pkoutsovasilis in #2347
- docs: add policy for consuming and upgrading dependencies by @ricardoapl in #2402
- build(deps): Bump github.com/prometheus/common from 0.53.0 to 0.54.0 by @dependabot in #2416
- ci: generate sbom on release by @ricardoapl in #2381
- ci: least privileged GITHUB_TOKEN permissions by @ricardoapl in #2395
- build(deps): Bump the k8s-dependencies group with 6 updates by @dependabot in #2422
- fix(server): Add read and write timeouts by @Pokom in #2412
- build(deps): Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in #2423
- build(deps): Bump actions/checkout from 4.1.3 to 4.1.7 by @dependabot in #2425
- build(deps): Bump kubernetes-sigs/release-actions from 0.1.4 to 0.2.0 by @dependabot in #2426
- ci: publish openvex on release by @ricardoapl in #2398
- build(deps): Bump k8s.io/klog/v2 from 2.130.0 to 2.130.1 in the k8s-dependencies group by @dependabot in #2430
- feat: add
livez
endpoint by @rexagod in #2418 - docs: Add SSF Best practices badge and community section by @mrueg in #2411
- build(deps): Bump amannn/action-semantic-pull-request from 5.5.2 to 5.5.3 by @dependabot in #2437
- build(deps): Bump github.com/prometheus/common from 0.54.0 to 0.55.0 by @dependabot in #2438
- build(deps): Bump actions/setup-go from 5.0.1 to 5.0.2 by @dependabot in #2448
- fix: add
readyz
endpoint by @rexagod in #2442 - perf: Add automatic detection of memory limits by @SuperQ in #2447
- chore: add kustomization to standard example by @sanadhis in #2444
- chore: Prep release v2.13.0 by @mrueg in #2419
New Contributors
- @ovidiutirla made their first contribution in #2358
- @ricardoapl made their first contribution in #2370
- @jwilder made their first contribution in #2385
- @pkoutsovasilis made their first contribution in #2347
- @Pokom made their first contribution in #2412
- @SuperQ made their first contribution in #2447
- @sanadhis made their first contribution in #2444
Full Changelog: v2.12.0...v2.13.0
v2.12.0 / 2024-04-02
Note
- This release addresses a critical issue where scraping the exposition data for certain types caused metrics-backends to crash: #2248.
- This release builds with
k8s.io/client-go
:v0.29.3
.
Changes
v2.11.0 / 2024-03-04
Note
This release builds with Golang v1.21.8
.
Changes
- [ENHANCEMENT] Add OpenSSF Scorecard to README by @dalehenries in #2277
- [ENHANCEMENT] Generate OpenVX data for every release by @shafeeqes in #2276
- [ENHANCEMENT] Add restartPolicy to
kube_pod_init_container_info
metric by @changhyuni in #2240 - [FEATURE] Add
kube_node_status_addresses
metric by @stonith in #2252 - [FEATURE] Add namespace label to
endpointslice
metrics by @mrueg in #2266 - [FEATURE] Add opt-in
kube_persistentvolume_csi_attributes
metric by @machadovilaca in #2133 - [FEATURE] Add new metric
kube_pod_scheduler
metric by @adinhodovic in #2222 - [FEATURE] Support filtering annotations allow-list by
*
by @xonvanetta in #2234 - [ENHANCEMENT] Support scraping pod metrics that are still in scheduling status and have no assigned nodes by @mickeyzzc in #2217
- [FEATURE] Add backend resource info for
kube_ingress_path
by @rohitphatak in #2109 - [FEATURE] Add
kube_secret_owner
by @jrcichra in #2298
v2.10.1 / 2023-10-09
Note
- This release addresses a regression introduced in #2105.
Changes
- [BUGFIX] Remove FieldSelector from non-namespaced resources by @mrueg and @dgrisonnet in #2190
- [ENHANCEMENT] Bump Go to v1.20.8
v2.10.0 / 2023-08-31
Note
- Label and annotation metrics aren't exposed by default anymore to reduce the memory usage of the default configuration of kube-state-metrics. Before this change, they used to only include the name and namespace of the objects which is not relevant to users not opting in these metrics.
Changes
- [BUGFIX] Log no _info suffix in name only once per reading the configuration for custommetrics by @chrischdi in #2157
- [BUGFIX] Don't crash on non-existent valueFrom path values by @chihshenghuang in #2140
- [BUGFIX] Index out of range in metrics_store.SanitizeHeaders by @mrueg in #2166
- [BUGFIX] Always extract the headers but only write it when we have custommetrics by @chrischdi in #2154
- [BUGFIX] Add filtering for Lease metrics by @ntoofu in #2122
- [FEATURE] Implement kube_pod_status_initialized_time by @opeco17 in #2148
- [FEATURE] Disable labels and annotations metrics when metric-annotations-… by @opeco17 in #2145
- [FEATURE] Add webhooks client config service metrics by @dgrisonnet in #2114
- [FEATURE] Support kube_persistentvolumeclaim_deletion_timestamp by @maxime1907 in #2074
- [FEATURE] Support kube_persistentvolume_deletion_timestamp by @maxime1907 in #2075
- [FEATURE] Adds new metric
kube_pod_service_account
by @swarup-stripe in #2096 - [FEATURE] Add volumemode to PVC info metric by @machadovilaca in #2134
- [FEATURE] Enable metric-annotations-allowlist and metric-labels-allowlist for ResourceQuota by @opeco17 in #2175
- [FEATURE] Allow field KV general matching by @rexagod in #2067
- [FEATURE] Support hot reload for kubeconfig by @opeco17 in #2144
- [FEATURE] Add support for endpoint topology routing hints by @MarkSRobinson in #2090
New Contributors
- @venkatbvc made their first contribution in #2089
- @ntoofu made their first contribution in #2122
- @maxime1907 made their first contribution in #2074
- @swarup-stripe made their first contribution in #2096
- @dependabot made their first contribution in #2136
- @machadovilaca made their first contribution in #2134
- @david-martin made their first contribution in #2151
- @chihshenghuang made their first contribution in #2140
- @adberger made their first contribution in #2163
- @opeco17 made their first contribution in #2148
- @dfredell made their first contribution in #1988
- @MarkSRobinson made their first contribution in #2090
Full Changelog: v2.9.2...v2.10.0
v2.9.2
What's Changed
This release does not incorporate any user-facing changes. Re-running release procedures as the process for the previous release failed. Changes are listed in v2.9.0. Also, as a side note, we are currently in the middle of revamping (and automating) the release machinery based on recent observations, and we'll try our best to not introduce anymore hiccups along the way. 🙂
Full Changelog: v2.9.1...v2.9.2