Keycloak incubating

Keycloak is an open-source identity and access management solution for modern applications and services, built on top of industry security standard protocols.

nightly

Fix virtual thread check

Virtual threads are enabled by default, but they must not be enabled when CPU count is less than 4

Closes #48792

Signed-off-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>
Co-authored-by: Pedro Ruivo <1492066+pruivo@users.noreply.github.com>

Harbor graduated

Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. Can be installed on any Kubernetes environment or on a system with Docker support.

v2.14.4-rc1

What's Changed

Component updates ⬆️

  • [CHERRY_PICK] fix(session): fix SessionRegenerate save args and lifetime by @chlins in #22882
  • [CHERRY-PICK] feat(session): prevent background polling from renewing session TTL by @chlins in #23098
  • (cherry-pick) Fix issue related to scanner API by @stonezdj in #23109
  • (cherry-pick) Call /v2/auth/token api to get bearer token for dockerhub adapter by @stonezdj in #23208
  • bump Go to 1.25.9 and use goharbor/photon:5.0 base images by @stonezdj in #23204
  • Bump up the go.opentelemetry.io/otel/sdk and github.com/go-jose/go-jose package by @stonezdj in #23215
  • (cherry-pick) Fix the issue distribution instance edit without creden… by @chlins in #23220

Full Changelog: v2.14.3...v2.14.4-rc1

LoxiLB sandbox

eBPF based cloud-native load-balancer. Powering Kubernetes|Edge|5G|IoT|XaaS Apps.

vlatest

Merge pull request #874 from TrekkieCoder/main

gh-868 Generate packages runnable with systemd

hami sandbox

Heterogeneous AI Computing Virtualization Middleware

v2.9.0

Core Features:

  • feat: add HAMi-core mode for Ascend devices
  • feat: Optimize HAMi-core performance
  • feat: HAMi-DRA(NVIDIA) is ready for use
  • feat: Volcano-vgpu-device-plugin sync with version 0.19, and support CDI
  • feat: HAMi-skills for debugging and developing
  • Document: Add latest benchmark to value the performance of HAMi-core
  • Fix: Initialization error when using tp on vllm > 0.18

Details

✨ New Features

🐛 Bug Fixes

📚 Documentation

🔨 Other Changes

New Contributors

Full Changelog: v2.8.0...v2.9.0

hami sandbox

Heterogeneous AI Computing Virtualization Middleware

v2.8.3

What's Changed

🐛 Bug Fixes

  • fix: handle GetMemoryInfo NOT_SUPPORTED for unified memory GPUs (cherry-pick #1637 to release-v2.8) by @saiyam1814 in #1841
  • Some vllm can only be launched with 'enforce-eager' mode
Open Cluster Management sandbox

v1.3.0

Open Cluster Management v1.3.0

changes since v1.2.0

✨ New Features

  • Apply resource in manifestwork ordered by kind (#1500) @qiujian16

  • split debug controller as standalone service with proper validation (#1461) @haoqing0110

  • feature: Add new ignore field options in SSA updateStrategy (#1405) @ncr38

  • Add e2e test for token-based authentication with template addons (#1368) @zhujian7

🐛 Bug Fixes

  • Fix concurrency bugs in executor cache (#1512) @zhujian7

  • tls-server-name field of external-managed-kubeconfig is missing (#1502) @rokej

  • Fix flaky clustermanager integration test (#1493) @qiujian16

  • Match the exact cluster name for csr renewal (#1476) @qiujian16

  • disable leader election for grpc server (#1468) @skeeey

  • fix the addon flaky e2e (#1467) @skeeey

  • fix renew the spoke agent cert request in grpc mode (#1463) @skeeey

  • Fix Progressing condition stuck at True for overlapping placements (#1456) @zhiweiyin318

  • fix cma Progressing status addon counting error (#1454) @zhiweiyin318

  • Fix flaky e2e test: addon CSR cleanup race condition (#1449) @zhujian7

  • fix: Propagate UserInfo.Extra field in ManifestWork webhook SAR (#1427) @zhujian7

  • set tokenrequest UID to empty to avoid conflict with the ServiceAccount UID validation (#1423) @zhiweiyin318

  • Use generate name for manfiestwork generated by manifestworkreplicaset (#1421) @qiujian16

  • Align PR title verifier prefixes with pull_request_template.md (#1417) @zhiweiyin318

  • fix: remove flaky time.Sleep from hub timeout controller test (#1388) @zhujian7

  • fix: handle ComponentNamespace in CI test environment (#1387) @zhujian7

  • fix: correct variable usage and error messages in ManifestWorkReplicaSet e2e tests (#1386) @zhujian7

  • replace broken kubebuilder-tools download with setup-envtest (#1383) @haoqing0110

  • avoid timeout failures in e2e (#1378) @skeeey

  • improve event recording logic and test maintainbility (#1376) @haoqing0110

📖 Documentation

🌱 Infra & Such

  • Bump google.golang.org/grpc from 1.80.0 to 1.81.0 (#1516) @dependabot[bot]

  • Register hub as local-cluster in local dev setup (#1515) @kahirokunn

  • update olm manifests (#1514) @zhiweiyin318

  • Move addon manager's API to v1beta1 (#1511) @qiujian16

  • Bump the github-actions group with 2 updates (#1508) @dependabot[bot]

  • Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.2 (#1503) @dependabot[bot]

  • Bump open-cluster-management.io/api from 1.2.1-0.20260420020752-a40dfdc05b05 to 1.3.0 in the open-cluster-management-io group (#1501) @dependabot[bot]

  • chore: Bump open-cluster-management.io/api to pick up the omitzero tag on ClusterDecision.Score in PlacementDecision (#1492) @mikeshng

  • Bump the github-actions group with 2 updates (#1490) @dependabot[bot]

  • Bump the k8s-io group with 8 updates (#1489) @dependabot[bot]

  • Bump the github-actions group with 4 updates (#1488) @dependabot[bot]

  • Bump helm.sh/helm/v3 from 3.20.1 to 3.20.2 (#1487) @dependabot[bot]

  • Bump github.com/google/cel-go from 0.27.0 to 0.28.0 (#1483) @dependabot[bot]

  • Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.81.2 to 1.82.0 in the aws group across 1 directory (#1482) @dependabot[bot]

  • Bump sigs.k8s.io/cluster-inventory-api from 0.0.0-20251124125836-445319b6307a to 0.1.0 in the k8s-io group (#1481) @dependabot[bot]

  • Copy TLS ConfigMap to addon namespaces in klusterlet operator (#1480) @zhujian7

  • Bump step-security/harden-runner from 2.16.0 to 2.16.1 in the github-actions group (#1475) @dependabot[bot]

  • Bump the aws group with 2 updates (#1474) @dependabot[bot]

  • refactor cluster kubeapiserver health check with failure threshold (#1473) @zhiweiyin318

  • Bump github.com/itchyny/gojq from 0.12.18 to 0.12.19 (#1472) @dependabot[bot]

  • Add TLS profile compliance for gRPC server (#1471) @zhujian7

  • Bump google.golang.org/grpc from 1.79.3 to 1.80.0 (#1470) @dependabot[bot]

  • Bump the github-actions group with 3 updates (#1466) @dependabot[bot]

  • Bump the aws group with 4 updates (#1464) @dependabot[bot]

  • Enable e2e testing on macOS with docker/podman (#1458) @qiujian16

  • Bump github/codeql-action from 4.33.0 to 4.34.1 in the github-actions group (#1457) @dependabot[bot]

  • Bump the k8s-io group with 8 updates (#1455) @dependabot[bot]

  • Add TLS ConfigMap watch and restart for cluster-manager operator (#1452) @zhujian7

  • Bump google.golang.org/grpc from 1.79.2 to 1.79.3 (#1451) @dependabot[bot]

  • Remove unsupported addon webhook hosted mode config (#1450) @bhperry

  • Bump the aws group with 4 updates (#1441) @dependabot[bot]

  • Bump the github-actions group with 2 updates (#1440) @dependabot[bot]

  • Move addon api to beta in registration (#1438) @qiujian16

  • Bump helm.sh/helm/v3 from 3.19.5 to 3.20.1 (#1433) @dependabot[bot]

  • Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.80.2 to 1.81.0 in the aws group (#1432) @dependabot[bot]

  • remove work ce mqtt integration test (#1426) @skeeey

  • Bump github.com/aws/aws-sdk-go-v2/service/iam from 1.53.4 to 1.53.5 in the aws group (#1424) @dependabot[bot]

  • upgrade sdk-go (#1422) @skeeey

  • addon webhook config (#1420) @bhperry

  • Bump the github-actions group with 3 updates (#1419) @dependabot[bot]

  • Bump the k8s-io group across 1 directory with 3 updates (#1418) @dependabot[bot]

  • Replace deprecated kubebuilder-release-tools PR verifier with inline scripts (#1416) @zhiweiyin318

  • Bump google.golang.org/grpc from 1.79.1 to 1.79.2 (#1415) @dependabot[bot]

  • Bump kubernetes lib to 1.35 (#1414) @qiujian16

  • Bump the aws group across 1 directory with 5 updates (#1411) @dependabot[bot]

  • support install hosted addon via installStrategy (#1410) @zhiweiyin318

  • Replace legacy envtest setup with sdk-go shared script (#1409) @xuezhaojun

  • Bump the github-actions group with 5 updates (#1407) @dependabot[bot]

  • Adopt shared golangci-lint scripts from sdk-go (#1401) @xuezhaojun

  • Bump the aws group with 5 updates (#1399) @dependabot[bot]

  • Bump the github-actions group across 1 directory with 2 updates (#1395) @dependabot[bot]

  • Bump google.golang.org/grpc from 1.78.0 to 1.79.1 (#1392) @dependabot[bot]

  • Change image tag validation to fail only for tag format mismatches (#1385) @zhujian7

  • Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.78.0 to 1.79.0 in the aws group (#1382) @dependabot[bot]

  • Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.77.1 to 1.78.0 in the aws group (#1379) @dependabot[bot]

  • Bump the github-actions group with 2 updates (#1377) @dependabot[bot]

  • Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.77.0 to 1.77.1 in the aws group (#1374) @dependabot[bot]

  • Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 (#1372) @dependabot[bot]

  • Bump github/codeql-action from 4.31.11 to 4.32.0 in the github-actions group (#1370) @dependabot[bot]

  • Bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 (#1369) @dependabot[bot]

  • Bump github.com/google/cel-go from 0.26.1 to 0.27.0 (#1366) @dependabot[bot]

Thanks to all our contributors!*

What's Changed

  • 🌱 Bump github.com/google/cel-go from 0.26.1 to 0.27.0 by @dependabot[bot] in #1366
  • 🌱 Bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 by @dependabot[bot] in #1369
  • ✨ Add e2e test for token-based authentication with template addons by @zhujian7 in #1368
  • 🌱 Bump github/codeql-action from 4.31.11 to 4.32.0 in the github-actions group by @dependabot[bot] in #1370
  • 🌱 Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 by @dependabot[bot] in #1372
  • 🌱 Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.77.0 to 1.77.1 in the aws group by @dependabot[bot] in #1374
  • 🐛 avoid timeout failures in e2e by @skeeey in #1378
  • 🌱 Bump the github-actions group with 2 updates by @dependabot[bot] in #1377
  • 🌱 Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.77.1 to 1.78.0 in the aws group by @dependabot[bot] in #1379
  • 🐛 replace broken kubebuilder-tools download with setup-envtest by @haoqing0110 in #1383
  • 🐛 fix: correct variable usage and error messages in ManifestWorkReplicaSet e2e tests by @zhujian7 in #1386
  • 🌱 Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.78.0 to 1.79.0 in the aws group by @dependabot[bot] in #1382
  • 🐛 fix: handle ComponentNamespace in CI test environment by @zhujian7 in #1387
  • 🌱 Change image tag validation to fail only for tag format mismatches by @zhujian7 in #1385
  • 🐛 improve event recording logic and test maintainbility by @haoqing0110 in #1376
  • 🐛 fix: remove flaky time.Sleep from hub timeout controller test by @zhujian7 in #1388
  • 🌱 Bump the github-actions group across 1 directory with 2 updates by @dependabot[bot] in #1395
  • 🌱 Bump google.golang.org/grpc from 1.78.0 to 1.79.1 by @dependabot[bot] in #1392
  • 🌱 Adopt shared golangci-lint scripts from sdk-go by @xuezhaojun in #1401
  • 🌱 Bump the aws group with 5 updates by @dependabot[bot] in #1399
  • ✨ Support default mode webhook networking configuration by @bhperry in #1035
  • 🌱 Bump the github-actions group with 5 updates by @dependabot[bot] in #1407
  • 📖 docs: add Flower federated learning addon to Ecosystem by @yanmxa in #1408
  • 🌱 Bump the aws group across 1 directory with 5 updates by @dependabot[bot] in #1411
  • 🌱 Replace legacy envtest setup with sdk-go shared script by @xuezhaojun in #1409
  • 🌱 Bump kubernetes lib to 1.35 by @qiujian16 in #1414
  • 🌱 Replace deprecated kubebuilder-release-tools PR verifier with inline scripts by @zhiweiyin318 in #1416
  • 🐛 Align PR title verifier prefixes with pull_request_template.md by @zhiweiyin318 in #1417
  • 🌱 Bump the k8s-io group across 1 directory with 3 updates by @dependabot[bot] in #1418
  • 🌱 Bump the github-actions group with 3 updates by @dependabot[bot] in #1419
  • ✨ feature: Add new ignore field options in SSA updateStrategy by @ncr38 in #1405
  • 🌱 upgrade sdk-go by @skeeey in #1422
  • 🌱 Bump github.com/aws/aws-sdk-go-v2/service/iam from 1.53.4 to 1.53.5 in the aws group by @dependabot[bot] in #1424
  • 🐛 set tokenrequest UID to empty to avoid conflict with the ServiceAccount UID validation by @zhiweiyin318 in #1423
  • 🐛 fix: Propagate UserInfo.Extra field in ManifestWork webhook SAR by @zhujian7 in #1427
  • 🌱 remove work ce mqtt integration test by @skeeey in #1426
  • 🌱 Bump helm.sh/helm/v3 from 3.19.5 to 3.20.1 by @dependabot[bot] in #1433
  • 🌱 support install hosted addon via installStrategy by @zhiweiyin318 in #1410
  • 🌱 Bump google.golang.org/grpc from 1.79.1 to 1.79.2 by @dependabot[bot] in #1415
  • 🌱 Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.80.2 to 1.81.0 in the aws group by @dependabot[bot] in #1432
  • 🌱 Bump the aws group with 4 updates by @dependabot[bot] in #1441
  • 🌱 Bump the github-actions group with 2 updates by @dependabot[bot] in #1440
  • 🌱 addon webhook config by @bhperry in #1420
  • 🐛 Fix flaky e2e test: addon CSR cleanup race condition by @zhujian7 in #1449
  • 🌱 Bump google.golang.org/grpc from 1.79.2 to 1.79.3 by @dependabot[bot] in #1451
  • 🐛 Use generate name for manfiestwork generated by manifestworkreplicaset by @qiujian16 in #1421
  • 🌱 Bump the k8s-io group with 8 updates by @dependabot[bot] in #1455
  • 🌱 Remove unsupported addon webhook hosted mode config by @bhperry in #1450
  • 🌱 Move addon api to beta in registration by @qiujian16 in #1438
  • 🌱 Bump github/codeql-action from 4.33.0 to 4.34.1 in the github-actions group by @dependabot[bot] in #1457
  • 🌱 Enable e2e testing on macOS with docker/podman by @qiujian16 in #1458
  • 🐛 fix cma Progressing status addon counting error by @zhiweiyin318 in #1454
  • 🌱 Bump the github-actions group with 3 updates by @dependabot[bot] in #1466
  • 🐛 Fix Progressing condition stuck at True for overlapping placements by @zhiweiyin318 in #1456
  • 🌱 Bump the aws group with 4 updates by @dependabot[bot] in #1464
  • 🌱 Add TLS ConfigMap watch and restart for cluster-manager operator by @zhujian7 in #1452
  • 🌱 Bump google.golang.org/grpc from 1.79.3 to 1.80.0 by @dependabot[bot] in #1470
  • 🐛 fix the addon flaky e2e by @skeeey in #1467
  • 🐛 fix renew the spoke agent cert request in grpc mode by @skeeey in #1463
  • 🐛 disable leader election for grpc server by @skeeey in #1468
  • ✨ split debug controller as standalone service with proper validation by @haoqing0110 in #1461
  • 🌱 Bump the aws group with 2 updates by @dependabot[bot] in #1474
  • 🌱 Add TLS profile compliance for gRPC server by @zhujian7 in #1471
  • 🌱 Bump step-security/harden-runner from 2.16.0 to 2.16.1 in the github-actions group by @dependabot[bot] in #1475
  • 🐛 Match the exact cluster name for csr renewal by @qiujian16 in #1476
  • 🌱 Bump sigs.k8s.io/cluster-inventory-api from 0.0.0-20251124125836-445319b6307a to 0.1.0 in the k8s-io group by @dependabot[bot] in #1481
  • 📖 Add KubeStellar Console to ADOPTERS.md by @clubanderson in #1484
  • 🌱 Bump github.com/aws/aws-sdk-go-v2/service/eks from 1.81.2 to 1.82.0 in the aws group across 1 directory by @dependabot[bot] in #1482
  • 🌱 Copy TLS ConfigMap to addon namespaces in klusterlet operator by @zhujian7 in #1480
  • 🌱 Bump the github-actions group with 4 updates by @dependabot[bot] in #1488
  • 🌱 Bump github.com/google/cel-go from 0.27.0 to 0.28.0 by @dependabot[bot] in #1483
  • 🌱 Bump github.com/itchyny/gojq from 0.12.18 to 0.12.19 by @dependabot[bot] in #1472
  • 🌱 Bump helm.sh/helm/v3 from 3.20.1 to 3.20.2 by @dependabot[bot] in #1487
  • 🌱 refactor cluster kubeapiserver health check with failure threshold by @zhiweiyin318 in #1473
  • 🌱 Bump the github-actions group with 2 updates by @dependabot[bot] in #1490
  • 🌱 Bump the k8s-io group with 8 updates by @dependabot[bot] in #1489
  • 🌱 chore: Bump open-cluster-management.io/api to pick up the omitzero tag on ClusterDecision.Score in PlacementDecision by @mikeshng in #1492
  • 🐛 Fix flaky clustermanager integration test by @qiujian16 in #1493
  • 🌱 Bump open-cluster-management.io/api from 1.2.1-0.20260420020752-a40dfdc05b05 to 1.3.0 in the open-cluster-management-io group by @dependabot[bot] in #1501
  • 🐛 tls-server-name field of external-managed-kubeconfig is missing by @rokej in #1502
  • ✨ Apply resource in manifestwork ordered by kind by @qiujian16 in #1500
  • 🌱 Bump the github-actions group with 2 updates by @dependabot[bot] in #1508
  • 🌱 Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.2 by @dependabot[bot] in #1503
  • 🌱 Move addon manager's API to v1beta1 by @qiujian16 in #1511
  • 🐛 Fix concurrency bugs in executor cache by @zhujian7 in #1512
  • 🌱 Register hub as local-cluster in local dev setup by @kahirokunn in #1515
  • 🌱 update olm manifests by @zhiweiyin318 in #1514
  • 🌱 Bump google.golang.org/grpc from 1.80.0 to 1.81.0 by @dependabot[bot] in #1516

New Contributors

Full Changelog: v1.2.0...v1.3.0

Volcano incubating

v1.12.4

Important:
This release addresses a security vulnerability and multiple bug fixes. We strongly advise all users to upgrade immediately to protect your systems and data.

Security Fixes

CVE-2026-44247: Webhook Server OOM via unbounded HTTP request body size

A security vulnerability has been discovered in the Volcano webhook server that could allow a pod with network access to the webhook endpoint to cause a denial of service by sending an arbitrarily large HTTP request body, leading to the webhook server being killed by OOM.

Affected Versions:

  • volcano <= v1.14.1
  • volcano <= v1.13.2
  • volcano <= v1.12.3

Fixed Versions:

  • volcano v1.14.2
  • volcano v1.13.3
  • volcano v1.12.4

This vulnerability was reported by @bugbunny-research and mitigated by @JesseStutler.

CVSS Rating: Moderate (6.8) CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

Bug Fixes

  • wait event handler completed before start scheduling (#5201 @qi-min)
  • fix(scheduler): prevent preemptorTasks overwrite in multi-queue preemption and honor QueueOrderFn (#5270 @hajnalmt)

Full Changelog: v1.12.3...v1.12.4

Volcano incubating

v1.13.3

Important:
This release addresses a security vulnerability and multiple bug fixes. We strongly advise all users to upgrade immediately to protect your systems and data.

Security Fixes

CVE-2026-44247: Webhook Server OOM via unbounded HTTP request body size

A security vulnerability has been discovered in the Volcano webhook server that could allow a pod with network access to the webhook endpoint to cause a denial of service by sending an arbitrarily large HTTP request body, leading to the webhook server being killed by OOM.

Affected Versions:

  • volcano <= v1.14.1
  • volcano <= v1.13.2
  • volcano <= v1.12.3

Fixed Versions:

  • volcano v1.14.2
  • volcano v1.13.3
  • volcano v1.12.4

This vulnerability was reported by @bugbunny-research and mitigated by @JesseStutler.

CVSS Rating: Moderate (6.8) CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

Bug Fixes

  • Rollback unnecessary deepcopy in snapshot (#5186 @zhifei92)
  • wait event handler completed before start scheduling (#5200 @qi-min)
  • fix(scheduler): prevent preemptorTasks overwrite in multi-queue preemption (#5265 @hajnalmt)
  • enhancement(scheduler): honor QueueOrderFn in preempt action (#5269 @hajnalmt)

Full Changelog: v1.13.2...v1.13.3

Volcano incubating

v1.14.2

Important:
This release addresses a security vulnerability and multiple bug fixes. We strongly advise all users to upgrade immediately to protect your systems and data.

Security Fixes

CVE-2026-44247: Webhook Server OOM via unbounded HTTP request body size

A security vulnerability has been discovered in the Volcano webhook server that could allow a pod with network access to the webhook endpoint to cause a denial of service by sending an arbitrarily large HTTP request body, leading to the webhook server being killed by OOM.

Affected Versions:

  • volcano <= v1.14.1
  • volcano <= v1.13.2
  • volcano <= v1.12.3

Fixed Versions:

  • volcano v1.14.2
  • volcano v1.13.3
  • volcano v1.12.4

This vulnerability was reported by @bugbunny-research and mitigated by @JesseStutler.

CVSS Rating: Moderate (6.8) CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

Bug Fixes

  • fix: remove duplicated session close call (#5056 @qi-min)
  • Update KUBE_VERSION to 1.34.1 in webhook-manager Dockerfile (#5063 @hajnalmt)
  • Update root queue capability and enhance queue validation logic (#5080 @guoqinwill)
  • Fix shared mutable objects in scheduler snapshot clones (#5092 @zhifei92)
  • fix: panic and restart of volcano scheduler pods on install (#5144 @Tau721)
  • Fix Agent Scheduler multi worker optimistic parallel scheduling concurrently conflict error (#5162 @JesseStutler)
  • Fix inaccurate E2E duration metric in agent-scheduler (#5165 @Copilot)
  • fix: process panic caused by concurrent map writes (#5182 @zhifei92)
  • wait event handler completed before start scheduling (#5183 @qi-min)
  • Rollback unnecessary deepcopy in snapshot (#5185 @zhifei92)
  • fix event handlers cache (#5188 @qi-min)
  • fix: highestTierName in partitionPolicy or subGroupPolicy fails to restrict scheduling to specified HyperNode tiers (#5203 @Tau721)
  • fix(capacity): avoid false exceeds on missing parent scalar keys (#5218 @hajnalmt)
  • reduce node priority if nodes wait to be checked in binder (#5260 @qi-min)
  • fix(scheduler): prevent preemptorTasks overwrite in multi-queue preemption (#5263 @hajnalmt)
  • enhancement(scheduler): honor QueueOrderFn in preempt action (#5268 @hajnalmt)
  • Fix: Stabilize predicates plugin execution order and rollback semantics (#5286 @wangyang0616)

Full Changelog: v1.14.1...v1.14.2

Dapr graduated

The Distributed Application Runtime (Dapr) provides APIs that simplify microservice architecture development and increases developer productivity. Whether your communication pattern is service-to-service invocation or pub/sub messaging, Dapr helps you write resilient and secured microservices....

Dapr Runtime v1.17.7-rc.1

This is the release candidate 1.17.7-rc.1

Dapr 1.17.7

This update contains the following bug fixes:

Workflow GetWorkItems gRPC stream torn down when the history payload exceeds the max body size

Problem

When the proto-encoded WorkItem that the orchestrator sends to a connected SDK worker on the GetWorkItems gRPC stream grew larger than the dapr API gRPC server's MaxSendMsgSize (which is the same as --max-body-size, default 4 MiB), the underlying stream.Send returned ResourceExhausted and the entire stream was cancelled.
Every other workflow that happened to be pending on the same stream was cancelled along with it, and the SDK reconnected only to repeat the same failure on the same offending workflow.

Impact

Any long-running workflow whose accumulated history (PastEvents + NewEvents + propagated history) crossed the configured --max-body-size could trigger a stream tear-down loop.
Visible symptoms included:

  • The offending workflow appeared frozen with no diagnostic in its history.
  • Other workflows that shared the worker's stream were repeatedly cancelled mid-execution and replayed.
  • The SDK logged repeated reconnects to the dapr sidecar.
  • An activity dispatched with a very large PropagatedHistory could exhibit the same tear-down on the activity work-item path.

Root Cause

Neither the orchestrator nor the durabletask gRPC executor measured the size of the WorkItem proto before pushing it onto the stream.
Once the message reached stream.Send, gRPC enforced MaxSendMsgSize and aborted the entire GetWorkItems server stream with ResourceExhausted.
Because the failure was at the transport layer, the runtime had no place to record a structured signal back to the user, and there was no terminal state for an orchestration that could not legally be dispatched.

Solution

The orchestrator now precomputes the proto size of the WorkItem it is about to dispatch and compares it to a 95% safety threshold of --max-body-size (the headroom covers the engine's WorkflowStarted event injection plus gRPC framing overhead).
If the threshold would be crossed:

  • For a workflow dispatch, runWorkflow short-circuits before the work item is handed to the durabletask scheduler.
  • For an activity dispatch, callActivity short-circuits before the activity actor is invoked, and the parent workflow is stalled.

Either path appends an ExecutionStalled event to the workflow's history with the new StalledReason value PAYLOAD_SIZE_EXCEEDED and transitions the workflow into the existing STALLED state.
The orchestrator's stallable lock is held until the actor is deactivated, so the next activation re-evaluates: if the operator has purged or terminated the workflow, or restarted daprd with a larger --max-body-size, the workflow resumes; otherwise it re-stalls without disturbing other instances on the stream.

Workflows orphaned or not purged after scheduler pod restart under load

Problem

When a scheduler pod is killed during workflow execution under load, some workflows become orphaned: they remain in RUNNING state with no further execution, or they reach a terminal state but are never purged despite a configured retention policy.
dapr workflow history shows nothing abnormal, execution simply stops.
dapr workflow list reports the affected completed workflows as much older than the configured retention window.

Impact

Any deployment running workflows with a multi-replica scheduler is affected when scheduler pods restart during load.
This is most visible during routine operations such as Kubernetes rolling updates, node drains, or OOM-driven scheduler restarts.

Root Cause

The actor state-store transaction that persists workflow state was not coordinated with the gRPC call that registers the corresponding wake-up reminder in the scheduler service.
These are two independent operations against two different systems with no atomic boundary between them.

When a scheduler pod was killed mid-RPC, the state save had typically completed and the reminder Create was lost.
The reminder failure policy retries an already-persisted reminder forever; it cannot recover a reminder whose Create RPC never reached durable storage.

For completed workflows, the retention path was particularly fragile: the workflow's firing reminder was deleted before the retention reminder was created.
If the retention Create then failed, no reminder remained to drive a retry, leaving the workflow terminal-but-not-purged.

Solution

Three changes close the loss windows:

  1. In-process retry on reminder creation.
    Every reminder Create now retries with bounded exponential backoff (up to 60 seconds total) before returning to the caller.
    Retries reuse the same reminder Name; the scheduler's overwrite-by-name semantics keep them idempotent.
    A typical scheduler-pod failover completes in seconds, so the retry transparently heals the failure without surfacing it to the workflow.

  2. Retention reminder created before deletion.
    In the completion path, the retention reminder is now registered before the workflow's own reminders are deleted.
    If the retention Create still fails after the in-process retry, the firing reminder remains alive and its failure-policy retry brings execution back to the completion path.

  3. Idempotent retention recovery on re-fire.
    When a reminder fires for a workflow whose state is already terminal but whose inbox is empty, the runtime now re-issues the retention reminder Create.
    The retention reminder name is deterministic, so this is a safe overwrite rather than a duplicate.
    This recovers workflows whose completion was persisted in a prior run but whose retention reminder Create was lost.

The retention reminder's due time is now anchored to the workflow's actual completion time rather than the moment of the Create call, so retries converge on a single reminder at a stable due time instead of pushing retention back on every retry.

Workflow inbox accumulates duplicate completion events under pod migration, driving an SDK spin loop

Problem

When the workflow actor on one pod was cancelled mid-flight (typically during a rolling deployment) after dispatching an activity but before its state save committed, the activity actor still completed normally and posted its TaskCompleted event back to the workflow actor's inbox.
On the next workflow activation, the orchestrator re-yielded the same ScheduleTask because its replay state did not yet reflect the dispatch, so the activity actor ran a second time and posted a second TaskCompleted for the same taskScheduledId.
The same shape applied to TaskFailed, TimerFired, and child-workflow completions delivered through the inbox.

The language SDK's process_event handlers for these event kinds silently return when no matching pending task is found, producing zero new actions, so dapr re-fired the wake-up reminder against the same un-cleared inbox and the cycle repeated.

Impact

Any deployment running workflows whose hosting pods are restarted during load is affected.
This is most visible during routine operations such as Kubernetes rolling updates or node drains.

Visible symptoms include:

  • A workflow appears stuck in RUNNING while its persisted history grows steadily with full activity payloads.
  • Sidecar logs show repeated dropping duplicate event: executionStarted warnings on the dapr side, paired with thousands of Ignoring unexpected taskCompleted event with ID = N warnings on the SDK side for the same instance.
  • An activity executes more times than the workflow function calls it, because the activity actor re-runs each time the orchestrator re-yields the schedule.

Root Cause

Two layers were missing safeguards.

First, the workflow actor's addWorkflowEvent (the inbox-write boundary called by the activity actor and by sub-workflow completion delivery) did not deduplicate task-resolution events.
A redelivered completion was appended to the inbox, persisted, and a new wake-up reminder was created, even when the same resolution was already committed to history or queued in the inbox from an earlier delivery.

Second, the orchestrator's callActivities did not check whether the activity it was about to dispatch had already resolved.
When the orchestrator re-yielded a ScheduleTask because its replay state was missing the corresponding TaskScheduled (e.g. after a partial save was lost on cancellation), the activity actor was invoked again, ran the activity body again, and posted yet another TaskCompleted to the inbox.
The two layers compounded: the inbox grew because the dispatch produced new completions, the orchestrator re-ran because the inbox grew, and the SDK silently spun on the unmatched events.

Solution

Two complementary checks were added in the workflow actor, both backed by a shared dedup helper:

  1. Inbox-write dedup in addWorkflowEvent.
    A TaskCompleted / TaskFailed / TimerFired / ChildWorkflowInstance{Completed,Failed} whose correlator (taskScheduledId or timerId) already appears in either state.History or state.Inbox is dropped before it reaches state.AddToInbox, the transactional save, and the new-event reminder.
    EventRaised and ExecutionTerminated are intentionally excluded: EventRaised is a user signal that may legitimately repeat, and ExecutionTerminated is idempotent.

  2. Dispatch-skip in callActivities.
    Before invoking the activity actor for a TaskScheduled, the workflow actor checks whether a matching TaskCompleted or TaskFailed for the same taskScheduledId is already in state.History or state.Inbox.
    If it is, the dispatch is suppressed; the orchestrator's stale re-yield no longer triggers a second activity run.

The underlying engine in durabletask-go was hardened in lockstep: runtimestate.AddEvent now also rejects a resolution event whose correlator is already present, providing defence in depth for any caller that bypasses the actor's inbox-write path.
The Stalled-clear logic runs only on a successful add, so a duplicate-rejection error preserves a prior stalled state.

After upgrading, persisted histories from older daprd versions that already accumulated duplicates are silently truncated on next workflow load (the duplicate entries are not re-added to the in-memory OldEvents), so the upgrade is one-way for that state.

Sentry fails to start with "unsupported key type" when the issuer key is Ed25519 or RSA

Problem

Operators who downgraded a control plane from 1.18 back to 1.17 saw dapr-sentry crash on startup with:

fatal: error creating CA: failed to get CA bundle: failed to verify CA bundle: unsupported key type ed25519.PrivateKey

The same failure mode also rejected RSA-keyed issuer bundles. The crash is hit before sentry serves any traffic, so every sidecar that depends on sentry for its identity certificate stops being able to obtain or rotate one.

Impact

Any 1.17 control plane whose dapr-trust-bundle secret was generated by, or migrated through, a newer Dapr release that issues Ed25519 (or RSA) issuer keys is affected. In practice this includes:

  • Downgrade from Dapr 1.18 to 1.17 against the same cluster.
  • Existing 1.17 deployments where the issuer key was rotated or replaced with an Ed25519 / RSA key by the operator.

Sentry crash-loops, no new mTLS identities are issued, and existing certificates are not rotated. Sidecars whose certs have not yet expired keep working; sidecars that come up fresh, restart, or hit cert expiry start failing to obtain identities.

Root Cause

dapr/kit's crypto/pem.EncodePrivateKey (used by sentry to re-encode the issuer key it just decoded from the trust bundle) only matched *ecdsa.PrivateKey and *ed25519.PrivateKey in its type switch. ed25519.PrivateKey is itself a []byte alias rather than a struct, so the *ed25519.PrivateKey case never matched a real Ed25519 key. RSA private keys were never listed at all.

When sentry called EncodePrivateKey on an Ed25519 or RSA issuer key it fell through to the default branch and returned unsupported key type %T, which the CA initialiser surfaced as a fatal error.

Solution

dapr/kit's EncodePrivateKey now matches ed25519.PrivateKey (value form) and *rsa.PrivateKey alongside *ecdsa.PrivateKey. All three round-trip through PKCS#8 unchanged. Dapr 1.17.7 picks up this fix by bumping github.com/dapr/kit to v0.17.1, which also includes table-driven roundtrip tests for ECDSA P-256, RSA-2048, and Ed25519 to guard the regression.

No operator action is required beyond upgrading sentry to 1.17.7. Existing trust bundles are read as-is; the issuer key is not regenerated.

Kafka in-flight pub/sub messages abandoned during graceful shutdown

Problem

When a sidecar received SIGTERM, Kafka pub/sub subscriptions tore down their consumer group session before the messages already fetched from the broker had been delivered to the application.
The contrib retry loop observed context canceled, the runtime logged Too many failed attempts at processing Kafka message ... Error: context canceled, and the broker handed the same offsets to whichever consumer won the rebalance.

Impact

Any deployment running Kafka pub/sub through a multi-replica subscriber was affected on rolling restarts, node drains, or any other graceful-shutdown event.
Visible symptoms included:

  • Repeated Too many failed attempts at processing Kafka message and kafka: tried to use a consumer group that was closed errors during shutdown.
  • The application processed the same message twice across pods (once via a partial in-flight call that got cancelled, again after rebalance).
  • Latency-sensitive workloads (e.g. financial transactions) experienced retry-driven tail latency on every pod restart.

Root Cause

The runtime's Subscription.Stop() set its closed flag immediately on entry, which caused the handler closure to reject any further deliveries from contrib with errors.New("subscription is closed").
Contrib treated that as an error and retried inside an already-closing session, eventually giving up and surrendering the partition to the rebalance.

The "in-flight" definition was also too narrow: only handlers already inside the closure counted, while messages that contrib had pulled from the broker but not yet handed to the handler were considered absent and got the rejection path.

Solution

A new pubsub.PausableSubscriber capability lets the runtime ask a component to stop fetching from the broker without tearing down the consumer group session.
On graceful shutdown the runtime now:

  1. Pauses the underlying component (Kafka's implementation calls Sarama's PauseAll, which stops broker fetches while keeping the session and partition assignments alive).
  2. Leaves closed=false during a bounded drain window so handlers continue delivering buffered messages to the application via postman.
  3. Polls an inflight counter with a stable-quiet predicate (100 ms of consecutive zero readings on the paused path) so the drain does not seal in the sub-millisecond gap between handler return and the next claim-buffer read.
  4. Caps the drain at 30 seconds so a misbehaving application that keeps returning RETRY cannot block StopAllSubscriptionsForever and prevent the block-shutdown timer from starting.
  5. On ceiling hit, force-cancels the subscription context so stuck handlers' HTTP/gRPC calls error out via context propagation rather than running indefinitely.
  6. Falls back to the previous close-first behavior for non-pausable components and non-graceful Stop calls.

The components-contrib Kafka component additionally gates consumerGroup.Close() on the last subscription exiting (so multi-topic pubsubs no longer race a sibling subscription's reload into a closed group) and demotes the Too many failed attempts log to debug when the cause is shutdown rather than real retry exhaustion.

Kafka bulk subscriber partial batches flushed early after a count-based flush

Problem

When a Kafka bulk subscriber's buffer filled to maxMessagesCount and was flushed before its maxAwaitDurationMs window had elapsed, the await ticker continued firing on its original schedule.
Any subsequent partial batch was then flushed within (often well under) one period of the count-based flush instead of waiting for a fresh maxAwaitDurationMs window from the moment the buffer was last drained.

Impact

Any deployment using Kafka bulk pub/sub subscriptions with both maxMessagesCount and maxAwaitDurationMs configured was affected.
Visible symptoms included:

  • Partial batches delivered to the application much sooner than the configured maxAwaitDurationMs after a count-based flush.
  • Effective batch sizes lower than expected during steady-state traffic, because the await window was shortened by however much of the original window had already elapsed before the count threshold was hit.
  • Workloads tuned to amortize per-batch overhead (large bulk handlers, batched downstream writes) seeing more invocations than the configuration implied.

Root Cause

In ConsumeClaim, the bulk path used a single time.Ticker constructed from maxAwaitDurationMs to trigger time-based flushes.
When the count threshold (len(messages) >= maxMessagesCount) was reached and flushBulkMessages was called, the ticker was not reset.
The next tick still fired at its original wall-clock schedule, so a partial batch arriving just after a count-flush was eligible for flush after only the residual portion of the original ticker period rather than a full maxAwaitDurationMs.

Solution

After a count-based flush in ConsumeClaim, the await ticker is now reset to a fresh maxAwaitDurationMs window via ticker.Reset, anchoring the next time-based flush to the moment of the count-flush.
Go 1.23+ guarantees that Ticker.Reset discards any tick that was queued before the call, so no stale tick can fire immediately after the reset and short-circuit the new window.
Partial batches now consistently wait a full maxAwaitDurationMs after the most recent flush, regardless of whether that flush was triggered by the count threshold or the timer.

Meshery sandbox

As a self-service engineering platform, Meshery enables collaborative design and operation of cloud and cloud native infrastructure.

Meshery v1.0.20

What's New

🔤 General

⌨️ Meshery CLI

  • [mesheryctl] model init: fix misleading logs for connections and credentials @Joyboy48 (#19066)

🖥 Meshery UI

  • chore(ui): bump @sistent/sistent to v0.21.9 @leecalcote (#19191)
  • fix(ui): drop CSV/fileName fields from import-model schema subset @leecalcote (#19164)
  • chore(deps): bump @meshery/schemas to v1.2.14 (enumNames in import-mo… @leecalcote (#19148)
  • [UI] Replace direct MUI imports in root UI primitives and utility surfaces @rishiraj38 (#19126)
  • fix(ui): unblock e2e Import Model + Delete Connections tests @leecalcote (#19146)

🧰 Maintenance

  • [CI] Broaden first-time contributor check to include NONE association @Junnygram (#19156)
  • [CI] Fix docs-noob-tester: remove invalid property and recompile lock file @rishiraj38 (#19159)
  • chore(deps): bump @meshery/schemas to v1.2.14 (enumNames in import-mo… @leecalcote (#19148)
  • fix(ui): unblock e2e Import Model + Delete Connections tests @leecalcote (#19146)

📖 Documentation

👨🏽‍💻 Contributors

Thank you to our contributors for making this release possible:
@Copilot, @Joyboy48, @Junnygram, @Maanvi212006, @Mooosiee, @PragalvaXFREZ, @YASHMAHAKAL, @alexquincy, @aprv10, @chaitanyamedidar, @fitzergerald, @hebypaul, @hortison, @jahnavigajjala-3, @l5io, @leecalcote, @marryamabid, @meshery-ci, @miacycle, @pontusringblom, @rishiraj38, @ritzorama, @suzy-g38, @winkletinkle and @yi-nuo426

SOPS sandbox

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP.

v3.13.0

Installation

To install sops, download one of the pre-built binaries provided for your platform from the artifacts attached to this release.

For instance, if you are using Linux on an AMD64 architecture:

Move the binary in to your PATH

mv sops-v3.13.0.linux.amd64 /usr/local/bin/sops

Make the binary executable

chmod +x /usr/local/bin/sops">

# Download the binary
curl -LO https://github.com/getsops/sops/releases/download/v3.13.0/sops-v3.13.0.linux.amd64

# Move the binary in to your PATH
mv sops-v3.13.0.linux.amd64 /usr/local/bin/sops

# Make the binary executable
chmod +x /usr/local/bin/sops

Verify checksums file signature

The checksums file provided within the artifacts attached to this release is signed using Cosign with GitHub OIDC. To validate the signature of this file, run the following commands:

Verify the checksums file

cosign verify-blob sops-v3.13.0.checksums.txt
--bundle sops-v3.13.0.checksums.sigstore.json
--certificate-identity-regexp=https://github.com/getsops
--certificate-oidc-issuer=https://token.actions.githubusercontent.com">

# Download the checksums file, certificate and signature
curl -LO https://github.com/getsops/sops/releases/download/v3.13.0/sops-v3.13.0.checksums.txt
curl -LO https://github.com/getsops/sops/releases/download/v3.13.0/sops-v3.13.0.checksums.sigstore.json

# Verify the checksums file
cosign verify-blob sops-v3.13.0.checksums.txt
--bundle sops-v3.13.0.checksums.sigstore.json
--certificate-identity-regexp=https://github.com/getsops
--certificate-oidc-issuer=https://token.actions.githubusercontent.com

Verify binary integrity

To verify the integrity of the downloaded binary, you can utilize the checksums file after having validated its signature:

# Verify the binary using the checksums file
sha256sum -c sops-v3.13.0.checksums.txt --ignore-missing

Verify artifact provenance

The SLSA provenance of the binaries, packages, and SBOMs can be found within the artifacts associated with this release. It is presented through an in-toto link metadata file named sops-v3.13.0.intoto.jsonl. To verify the provenance of an artifact, you can utilize the slsa-verifier tool:

Verify the provenance of the artifact

slsa-verifier verify-artifact <artifact>
--provenance-path sops-v3.13.0.intoto.jsonl
--source-uri github.com/getsops/sops
--source-tag v3.13.0">

# Download the metadata file
curl -LO https://github.com/getsops/sops/releases/download/v3.13.0/sops-v3.13.0.intoto.jsonl

# Verify the provenance of the artifact
slsa-verifier verify-artifact <artifact>
--provenance-path sops-v3.13.0.intoto.jsonl
--source-uri github.com/getsops/sops
--source-tag v3.13.0

Container Images

The sops binaries are also available as container images, based on Debian (slim) and Alpine Linux. The Debian-based container images include any dependencies which may be required to make use of certain key services, such as GnuPG, AWS KMS, Azure Key Vault, and Google Cloud KMS. The Alpine-based container images are smaller in size, but do not include these dependencies.

These container images are available for the following architectures: linux/amd64 and linux/arm64.

GitHub Container Registry

  • ghcr.io/getsops/sops:v3.13.0
  • ghcr.io/getsops/sops:v3.13.0-alpine

Quay.io

  • quay.io/getsops/sops:v3.13.0
  • quay.io/getsops/sops:v3.13.0-alpine

Verify container image signature

The container images are signed using Cosign with GitHub OIDC. To validate the signature of an image, run the following command:

cosign verify ghcr.io/getsops/sops:v3.13.0 \
  --certificate-identity-regexp=https://github.com/getsops \
  --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
  -o text

Verify container image provenance

The container images include SLSA provenance attestations. For more information around the verification of this, please refer to the slsa-verifier documentation.

Software Bill of Materials

The Software Bill of Materials (SBOM) for each binary is accessible within the artifacts enclosed with this release. It is presented as an SPDX JSON file, formatted as <binary>.spdx.sbom.json.

What's Changed

  • build(deps): Bump google.golang.org/grpc from 1.79.1 to 1.79.3 by @dependabot[bot] in #2110
  • build(deps): Bump the ci group with 3 updates by @dependabot[bot] in #2117
  • build(deps): Bump the ci group with 3 updates by @dependabot[bot] in #2126
  • build(deps): Bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 by @dependabot[bot] in #2133
  • build(deps): Bump docker/login-action from 4.0.0 to 4.1.0 in the ci group by @dependabot[bot] in #2139
  • Improve error message for top-level arrays by @kushal9897 in #2138
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.96.0 to 1.97.3 by @dependabot[bot] in #2142
  • docs: add get key permission requirement for Azure Key Vault when version is omitted by @Hanashiko in #2122
  • build(deps): Bump actions/upload-artifact from 7.0.0 to 7.0.1 in the ci group by @dependabot[bot] in #2149
  • Use prefixed and truncated key hash instead of location as GPG agent cache key by @felixfontein in #2145
  • Drop support for Go 1.24 by @felixfontein in #2141
  • build(deps): Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #2146
  • build(deps): Bump the go group across 1 directory with 21 updates by @dependabot[bot] in #2144
  • Add SOPS_GCP_KMS_ENDPOINT and SOPS_GCP_KMS_UNIVERSE_DOMAIN env vars by @DnR-iData in #2114
  • Preserve YAML inline comments through encrypt/edit roundtrip by @knowald in #2131
  • Update release for cosign v3 by @sabre1041 in #2082
  • build(deps): Bump the ci group with 3 updates by @dependabot[bot] in #2151
  • build(deps): Bump the go group with 12 updates by @dependabot[bot] in #2152
  • Update broken link in README by @manute in #2153
  • sops exec-file: make sure to set GID to correct value instead of UID by @felixfontein in #2154
  • sops exec-file: improve error handling, reject non-local paths in --filename by @felixfontein in #2155
  • Obtain --indent global flag value and pass it to store configs by @skirino in #2156
  • build(deps): Bump the go group with 3 updates by @dependabot[bot] in #2159
  • build(deps): Bump goreleaser/goreleaser-action from 7.1.0 to 7.2.1 in the ci group by @dependabot[bot] in #2158
  • Update all Go dependencies with 'go get -t -u ./...' by @felixfontein in #2165
  • Allow to have space-separated keys in SOPS_AGE_KEY by @felixfontein in #2086
  • HC Vault: add allowlist support for acceptable HC Vault URLs by @felixfontein in #2164
  • build(deps): Bump the go group with 5 updates by @dependabot[bot] in #2171
  • build(deps): Bump github/codeql-action from 4.35.2 to 4.35.3 in the ci group by @dependabot[bot] in #2173
  • Use mapstructure to (de-)serialize internal metadata; move metadata processing from specific stores to general place by @felixfontein in #2120
  • Release 3.13.0 by @felixfontein in #2176

New Contributors

Full Changelog: v3.12.2...v3.13.0

Linkerd graduated

Ultra light, ultra simple, ultra powerful. Linkerd adds security, observability, and reliability to Kubernetes, without the complexity.

edge-26.5.1

RECOMMENDED

Overall status: RECOMMENDED

Cautions

The minimum supported Kubernetes version for this and future releases is 1.31.

Changes

This release significantly reduces the amount of memory used by the destination controller on busy systems. It also allows setting the node port for the health check of a Linkerd multicluster gateway (fixing issue #15172 – thanks, Aldo Fuster Turpin!), cleans up some CI permissions (fixing issue #15182 – thanks, Gagan H R!), and correctly handles mirroring headless Services with the same name in different namespaces (fixing issue #15200 – thanks, Cody Bond!). Finally, it corrects the instructions about how to install the Gateway API CRDs when linkerd install --crds detects that they are missing, and bumps the minimum supported Kubernetes version to 1.31.

What's Changed

New Contributors

Full Changelog: edge-26.4.4...edge-26.5.1

Linkerd graduated

Ultra light, ultra simple, ultra powerful. Linkerd adds security, observability, and reliability to Kubernetes, without the complexity.

edge-26.4.4

RECOMMENDED

Overall status: RECOMMENDED

Cautions

N/A

Changes

This release improves support for newer Gateway API versions by allowing the policy validator to correctly function when new Gateway API resources are created with stanzas it doesn't understand, fixing issue #14986. It also improves the logic around using annotations to name metrics (fixing issue #15175 – thanks, Simon Dickhoven!), and correctly supports linkerd upgrade when using an external CA (fixing issue #15025).

What's Changed

  • Chore(deps): upgrade to go 1.25.9 by @arichardet in #15178
  • build(deps): bump github.com/moby/spdystream from 0.5.0 to 0.5.1 by @dependabot[bot] in #15179
  • build(deps): bump rustls-webpki from 0.103.11 to 0.103.12 by @dependabot[bot] in #15180
  • build(deps): bump tj-actions/changed-files from 47.0.5 to 47.0.6 by @dependabot[bot] in #15186
  • build(deps-dev): bump webpack from 5.106.0 to 5.106.2 in /web/app by @dependabot[bot] in #15185
  • build(deps-dev): bump html-webpack-plugin from 5.6.6 to 5.6.7 in /web/app by @dependabot[bot] in #15184
  • build(deps): bump the kube group across 1 directory with 7 updates by @dependabot[bot] in #15177
  • build(deps): bump openssl-sys from 0.9.112 to 0.9.113 by @dependabot[bot] in #15169
  • build(deps): bump openssl from 0.10.76 to 0.10.77 by @dependabot[bot] in #15170
  • build(deps): bump follow-redirects from 1.15.6 to 1.16.0 in /web/app by @dependabot[bot] in #15168
  • build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #15163
  • build(deps): bump softprops/action-gh-release from 2.6.1 to 3.0.0 by @dependabot[bot] in #15164
  • build(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 by @dependabot[bot] in #15165
  • build(deps-dev): bump sinon from 21.0.3 to 21.1.2 in /web/app by @dependabot[bot] in #15158
  • fix(policy): skip admission validation for Gateway routes with unsupported fields by @alpeb in #15118
  • build(deps): bump libc from 0.2.184 to 0.2.185 by @dependabot[bot] in #15171
  • build(deps): bump indexmap from 2.13.1 to 2.14.0 by @dependabot[bot] in #15155
  • fix(inject): use more robust logic to convert annotation to metric label by @sdickhoven in #15176
  • Update proxy-init to v2.4.8 & cni-plugin to v1.6.7 by @arichardet in #15190
  • Apply overrides to chart values on install #15025 by @raykroeker in #15181
  • build(deps): bump openssl from 0.10.77 to 0.10.78 by @dependabot[bot] in #15202
  • build(deps): bump typenum from 1.19.0 to 1.20.0 by @dependabot[bot] in #15192
  • fix(policy): minor correctness fixes in outbound index by @unleashed in #15157
  • build(deps): bump bitflags from 2.11.0 to 2.11.1 by @dependabot[bot] in #15193
  • proxy: v2.350.0 by @l5d-bot in #15198

New Contributors

Full Changelog: edge-26.4.3...edge-26.4.4

Kubescape incubating

Kubescape is an open source security and compliance platform that scans clusters, Kubernetes manifest files (YAML files, and Helm charts), code repositories, container registries and images. It detects misconfigurations according to frameworks such as the NSA-CISA, MITRE ATT&CK® and CIS, as well as software vulnerabilities, and calculates risk scores.

v4.0.8

Changelog

  • 610154a Coderabbit findings
  • a70db61 Fix: back-propagate connector URLs to configObj in initializeCloudAPI
  • 70f095f Initial plan
  • fb367e8 Merge pull request #2021 from manmathbh/feat/vap-timeout
  • 48c40f2 Merge pull request #2056 from Ridhi-03Kumari/docs/fix-getting-started-output-formats
  • 963ec34 Merge pull request #2060 from yugal07/issue-2059
  • d7539c2 Merge pull request #2064 from kubescape/copilot/fix-scan-results-submission
  • c8b067c feat(vap): add --timeout flag to deploy-library command
  • cfa9161 fix(vap): build MatchLabels from parsed requirements, not raw split
  • 00ea5ff fix(vap): create parent directories in writeOutput
  • aad2c83 fix(vap): fix K8s name and label selector validation
  • 8419ea8 fix(vap): reject DoubleEquals, downstream split on = would break
  • dc23f92 fix(vap): restrict label validation to equality selectors only
  • 1a618b7 fix(vap): use DNS label validation for namespace names
  • cd7ee69 fix(vap): use K8s upstream validation helpers for names and namespaces
  • 27fe1fe fix(vap): use k8s labels.Parse for label selector validation
  • cfa37ee suppress spurious interrupt signal log on graceful exit

Released by GoReleaser.

WasmEdge Runtime sandbox

WasmEdge provides a high-performance, lightweight, secure, and extensible WebAssembly runtime for cloud-native applications. It is an OCI compliant container that is integrated into Docker, containerd, crun and many Kubernetes projects....

WasmEdge 0.16.3

0.16.3 (2026-05-04)

This is the bug fix for the 0.16.x versions.

Fixed issues:

  • fix(validator): use matchType for active element segment reftype (#4814)
  • fix(loader): reject non-canonical multi-byte SLEB128 blocktype (#4817)

CI:

  • fix(ci): bump Fedora IWYU toolchain to llvm19 + IWYU 0.23 (#4827)
  • Bumped CI dependencies

Thank all the contributors who made this release possible!

harukiki97, hydai, Yi-Ying He

If you want to build from source, please use WasmEdge-0.16.3-src.tar.gz instead of the zip or tarball provided by GitHub directly.

KubeStellar sandbox

v0.30.0-rc.1

Changelog

  • dc2f68d Merge pull request #3774 from MikeSpreitzer/prep4-0300rc1
  • 6f3306d Update self-references for release 0.30.0-rc.1
  • 4194934 Merge pull request #3765 from AkashKumar7902/harden-workflow-permissions-2626
  • 4468f62 Merge pull request #3757 from kubestellar/dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.43.0
  • b91ead8 Bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.43.0
  • b54a7d0 Merge pull request #3773 from kubestellar/dependabot/go_modules/go.opentelemetry.io/otel-1.41.0
  • cc5e193 Bump go.opentelemetry.io/otel from 1.39.0 to 1.41.0
  • 028968b Bump google.golang.org/grpc from 1.65.0 to 1.79.3 (#3743)
  • 293fe08 Merge pull request #3770 from kubestellar/dependabot/github_actions/goreleaser/goreleaser-action-7.2.1
  • 91739c9 Merge pull request #3754 from kubestellar/dependabot/github_actions/docker/login-action-4.1.0
  • 7f88bb6 Merge pull request #3749 from kubestellar/dependabot/github_actions/actions/setup-go-6.4.0
  • e7b9b27 Merge pull request #3769 from MikeSpreitzer/build-with-go-126
  • 30d65bc Bump goreleaser/goreleaser-action from 7.0.0 to 7.2.1
  • bb6df48 Merge pull request #3748 from kubestellar/dependabot/github_actions/azure/setup-kubectl-5.0.0
  • 4cb28f9 Merge pull request #3747 from kubestellar/dependabot/github_actions/azure/setup-helm-5.0.0
  • 17d15e3 Bump actions/setup-go from 6.3.0 to 6.4.0
  • faafcc9 Merge pull request #3745 from kubestellar/dependabot/github_actions/anchore/sbom-action-0.24.0
  • 37155e7 Build using Go version 1.26
  • f77003f Merge pull request #3762 from kubestellar/dependabot/go_modules/github.com/moby/spdystream-0.5.1
  • 81ba8ed Bump azure/setup-kubectl from 4.0.1 to 5.1.0
  • 26f8cf8 Bump azure/setup-helm from 4.3.1 to 5.0.0
  • cb1d9bd Bump anchore/sbom-action from 0.21.1 to 0.24.0
  • 2cc3f29 Bump docker/login-action from 4.0.0 to 4.1.0
  • 068e834 Merge pull request #3767 from MikeSpreitzer/retire-gha-reversemap
  • 63b69d3 Retire .gha-reversemap.yml and associated tooling
  • bd6f4f7 Merge pull request #3734 from kubestellar/add-console-link
  • 8b3c4a3 Merge pull request #3760 from tushar743-ui/fix/crd-apply-error-handling
  • 6a8cfe6 Bump github.com/moby/spdystream from 0.5.0 to 0.5.1
  • 565b649 Merge pull request #3744 from Sanchit2662/fix/cluster-selector-or-semantics
  • e2ffecb Merge pull request #3726 from shivansh-source/bump3_1.32
  • 8eb5734 Pin to 2022 edition of verify_boilerplate.py
  • 1d6aacc Upgrade to Kubernetes 1.32.13, kubeflex v0.9.3, and ocm-status-addon v0.2.0-rc17
  • 940ee7a Security: Scope workflow write permissions by job #2626
  • 5ab0651 Security: Restrict workflow token permissions #2626
  • 8203372 fix(crd): handle ReadDir error, fix structured log call, and distinguish permanent errors in waitForCRDAccepted
  • 1328052 Merge pull request #3756 from tushar743-ui/doc_fix
  • 50e40cd Merge pull request #3755 from aashu2006/fix/code-comments
  • aad13a9 changed the link of roadmap to the correct link in docs
  • bed6fd8 fixed broken link for roadmap.md
  • 6af9154 docs: fix typos in code comments
  • 1d230dc Merge pull request #3746 from kubestellar/bump-trivy-action-0.35.0
  • c80eacd 🌱 Bump aquasecurity/trivy-action to v0.35.0
  • bf02313 fix(binding): use OR semantics in SelectorsMatchLabels for clusterSelectors
  • 6fccc68 Merge pull request #3742 from MikeSpreitzer/bump-docker-login-action-v4
  • 522e758 Merge pull request #3735 from Sanchit2662/fix/managedclusters-metrics-typo
  • 0164133 Merge pull request #3741 from MikeSpreitzer/bump-setup-go-v6.3.0
  • 68f0daf Bump docker/login-action from v3.7.0 to v4.0.0
  • efcd4cf Bump actions/setup-go from v6.2.0 to v6.3.0
  • d93b034 Merge pull request #3740 from MikeSpreitzer/bump-goreleaser-action-v7
  • dbd3d1f Bump goreleaser/goreleaser-action from v6.4.0 to v7.0.0
  • c70b891 fix: correct ManagedCluster resource name typo in metrics GVR
  • 0b2f522 📖 Add Console section to README with link to console.kubestellar.io
  • 4c15c68 Merge pull request #3713 from AritraDey-Dev/pr/aritra/object-identifier-string-method
  • bd22b4c util: add unit tests for ObjectIdentifier.String()
  • a642448 util: add String() method to ObjectIdentifier for readable logs
  • 3104d72 Merge pull request #3715 from xonas1101/bug-check-ginkgo-prereq
  • d2ddaae changes minimum required version
  • cfd71c5 Merge pull request #3717 from AritraDey-Dev/pr/aritra/fix-status-resolution-wrong-map-lookup
  • 2daf70e Added specific release for ginkgo, minimum required version
  • 9502ed3 Merge pull request #3708 from MikeSpreitzer/bumps-60210
  • 312a222 Bump three workflow dependencies
  • ea37eb0 Merge pull request #3718 from xonas1101/bug-tolerate-failing-pods
  • bedd379 added tolerance for failing pods
  • 2a97b8c fix: correct wrong map lookups in workstatus change detection
  • a2750b0 addressed requested changes
  • 5a3aadc Merge pull request #3702 from waltforme/main
  • 405479e addressed changes requested
  • cc0d5e5 Added ginkgo prereq test only when --test-type=ginkgo
  • c08c689 Merge pull request #3714 from AritraDey-Dev/pr/aritra/add-negative-test-isapigroupallowed
  • 24eadaa util: add missing test cases for IsAPIGroupAllowed
  • 604cfe8 Merge pull request #3710 from AritraDey-Dev/pr/aritra/replace-slice-helpers-with-stdlib
  • a846a91 Merge pull request #3709 from AritraDey-Dev/pr/aritra/replace-slicecontains-with-stdlib
  • 33426f0 Better organize images currently in the root of the repo
  • 41883e9 abstract: replace SliceEqual and SliceCopy with stdlib equivalents
  • 5f8376a abstract: remove unused SliceHas and SliceFilter
  • 048e0bd binding: replace custom SliceContains with slices.Contains from stdlib
  • 670fa97 Merge pull request #3706 from AritraDey-Dev/fix-typos-and-manifests
  • 3d71173 chore: regenerate manifests
  • 4f4c0e2 chore: fix typos in comments
  • e330f61 🌱 Sync workflows from kubestellar/infra (#3705)
  • edaf265 Recover the overview graphic in the root README.md
  • 4d82a04 Merge pull request #3701 from MikeSpreitzer/kind-load-redux2
  • bd3c813 Improve scripts that flatten container images
  • 08f8151 Merge pull request #3592 from francostellari/fix-kind-load
  • 1a13e93 Address comments
  • 6ff5775 Undo Makefile changes
  • 21e1907 Merge pull request #3695 from xonas1101/bug-handle-evaluation-errors-in-combined-status-resolution
  • d9a7fc6 Changes as per review
  • 7d4c56e Log CEL evaluation errors during CombinedStatus Resolution
  • b46c7c9 📖 Add console documentation with screenshots (#3691)
  • 89fbd94 Merge pull request #3680 from kubestellar/copilot/bump-repository-dispatch-version
  • db79cef 🌱 Restore Copilot DCO GHA workaround (#3689)
  • 5662704 🌱 Temporarily remove Copilot DCO GHA for testing (#3686)
  • 096582e 🌱 Add Copilot DCO override workflow (#3685)
  • 1b0f120 Bump peter-evans/repository-dispatch from 3.0.0 to 4.0.1
  • 33ae51e Initial plan
  • 2296fdd Fix kind image loading in Makefile
  • 69af834 Fix kind image loading in create-kind-cluster script
  • 9d8fe8a Remove trap connflict
  • b5a7fa1 📖 Update docs Readme, move the mkdocs source files into a to-be-deleted folder, disable mkdocs workflows (#3678)
  • 069cd79 Merge pull request #3491 from francostellari/wsl-fedora
  • fccd298 Restore original get-started.md
  • d1d64bd Speed up docker build process by providing an empty context folder
  • d7f1652 Fix typo
  • 87ef8d9 Merge pull request #3584 from xonas1101/qualify-excluded-resources-by-group
  • f217cb6 Minor tweaks, added another apiGroup for events
  • 0e95262 Merge pull request #3669 from MikeSpreitzer/more-debug-combined
  • e4988e4 Increase debug logging wrt combined status
  • 604a9ef Merge pull request #3673 from xonas1101/fix-use-slices-sort
  • 7ed8342 Use slices.Sort([]string) instead of sort.Sort(a sort.StringSlice)
  • d81f47a 🌱 Sync workflows from kubestellar/infra (#3670)
  • 18fcd42 Merge pull request #3664 from kubestellar/fix/setup-go-v6.2.0-combined
  • c3d9b96 fix import ordering
  • 2f90d4a Merge pull request #3618 from AresPhoenix345/doc-condition-aggregation-note
  • 135ce38 Merge pull request #3595 from AresPhoenix345/fix-broken-links-redirect
  • 64a6daf Merge pull request #3612 from AresPhoenix345/doc-fix-its
  • 1a5d8be 🐛 Consolidate docs trigger into release workflow (#3666)
  • cf44878 🌱 Update actions/setup-go to v6.2.0
  • d626b44 Add workflow_dispatch to docs-release workflow
  • 662aedc Merge pull request #3660 from kubestellar/add-docs-release-workflow
  • f1e8920 ci: add docs release automation trigger
  • 2a479ce Merge pull request #3609 from aaradhychinche-alt/test/argocd-integration
  • 18004af 🌱 Sync workflows from kubestellar/infra (#3659)
  • 234f4a9 Merge pull request #3611 from shivansh-gohem/fix-lfx-release-docs
  • 0bf9672 merge upstream/main and keep Argo CD integration test
  • a512e83 Merge pull request #3655 from kubestellar/fix-gha-docs-url
  • 9afecc7 Fix GitHub Actions docs URL to point to new docs site
  • 9579e46 Merge pull request #3613 from aaradhychinche-alt/docs/release-security-disclosure
  • d3b9179 Revert "Bump k8s.io/kubernetes from 1.30.14 to 1.32.10 (#3575)" (#3653)
  • 289a72b 🐛 fix: update reversemap for anchore/sbom-action v0.21.1 (#3652)
  • d8e6236 Bump k8s.io/kubernetes from 1.30.14 to 1.32.10 (#3575)
  • 2566935 Bump anchore/sbom-action from 0.21.0 to 0.21.1 (#3597)
  • ba5647c 🌱 Sync workflows from kubestellar/infra (#3648)
  • bbda371 🌱 Use reusable image scanning workflow from infra (#3649)
  • a580d41 Delete test/integration/argocd/argocd_test.go
  • 94eba11 🌱 Sync workflows from kubestellar/.github (#3643)
  • 002f874 🔄 Sync workflows from kubestellar/.github (#3641)
  • 38183cc 🌱 Use org-wide workflows from .github repo (#3640)
  • f6bde14 Fix import ordering in argocd integration test
  • df4e883 🌱 test: fix header formatting and sign off Argo CD integration test
  • c6d617f 🌱 test: add boilerplate header to Argo CD integration test
  • fead0d2 🌱 test: validate Argo CD cluster Secret creation via ManagedCluster
  • 58566f3 Merge pull request #3635 from kubestellar/fix/revert-scorecard-permissions
  • 47bb71f Fix scorecard.yml: remove permissions block
  • 12269ce Merge pull request #3633 from kubestellar/fix/all-workflow-permissions
  • e20df90 Fix all caller workflow permissions
  • 4884640 Merge pull request #3632 from kubestellar/fix/greetings-workflow-permissions
  • e5e4ec9 Fix Greetings workflow permissions
  • 68d53ca Merge pull request #3630 from kubestellar/cleanup/workflow-fixes
  • e2bb397 Clean up workflows and fix feedback permissions
  • 4f72d1c Merge pull request #3629 from kubestellar/update-assignment-helper
  • 62183c3 Update assignment-helper to use shared workflow
  • 2a07176 Merge pull request #3628 from kubestellar/remove-stale-workflow
  • 966e3e8 chore: remove stale workflow in favor of Prow
  • 6e3d8ee Merge pull request #3625 from kubestellar/update-owners
  • 4166316 Replace ezrasilvera with KPRoche in OWNERS
  • 66739af ✨ Fixed the z-index of announcement bar and implemented the functionality to hide it when user scrolls past (#3389)
  • e348b3f chore: add logger inside client.go (#3420)
  • 2d079a0 ✨ removed .helmignore (#3562)
  • a446356 🐛 fix: Add options/ directory to core.Dockerfile for build to succeed (#3619)
  • 112018c docs: Add implementation note for condition aggregation
  • bd64c29 refactor: use centralized spellcheck workflow and remove add-to-project (#3617)
  • 8e2bc3d refactor: use centralized pr-verify-title workflow from infra (#3616)
  • d003b28 refactor: use centralized reusable workflows from infra (#3615)
  • d820548 fix: skip dependabot/renovate PRs in pr-verify-title workflow (#3614)
  • 4ab8343 docs: remove unnecessary release notes change
  • 556e42b fix: improve ITS documentation formatting and content
  • f85dd90 📖 docs: add RELEASE.md to resolve LFX Insight OSPS-BR-01.01
  • 764edcd 📖 docs: add REPOSITORIES.md for LFX compliance (#3610)
  • 107ba29 🌱: add Argo CD integration test (gated)
  • af072d2 fix: update core.Dockerfile to use Go 1.24 (#3607)
  • d24fee5 fix: resolve CI failures in scorecard and image-scanning workflows (#3606)
  • 0598634 chore: add OpenSSF Scorecard and Trivy image scanning workflows (#3605)
  • 1e0b08f Merge pull request #3604 from kubestellar/standardize-workflows
  • f075f76 ci: standardize workflow naming and add common workflows
  • 5b143b7 Merge pull request #3603 from kubestellar/fix-pr-verifier-dependabot
  • da04bdf ci: skip pr-verifier for dependabot PRs
  • c172559 fix: broken link redirects for deleted knownissue file Enable mkdocs-redirects plugin and add redirects from old knownissue-wsl-ghcr-helm.md URLs to knownissue-helm-ghcr.md. The file knownissue-wsl-ghcr-helm.md was deleted in commit 7154722 and its content was merged into knownissue-helm-ghcr.md. However, the broken links crawler was still discovering the old URLs through site navigation, causing CI failures. Changes: - Added mkdocs-redirects>=1.2.0,<2.0 to docs/requirements.txt - Enabled redirects plugin in docs/mkdocs.yml - Added redirect mappings for both old URL paths: * direct/get-started/knownissue-wsl-ghcr-helm.md -> direct/knownissue-helm-ghcr.md * direct/knownissue-wsl-ghcr-helm.md -> direct/knownissue-helm-ghcr.md
  • ae7dbfa Merge pull request #3591 from MikeSpreitzer/bumps-60107
  • 8b8e12e Fix kind image loading problem when using a recent version of Docker
  • 974b8c4 Merge pull request #3580 from xonas1101/doc-alt-text
  • b518e17 Bump anchore/sbom-action/download-syft, rojopolis/spellcheck-github-actions, actions/upload-artifact
  • c99e08f Fixed indentation
  • b2dff24 Merge pull request #3588 from shivansh-gohem/fix-lfx-artifacts
  • c36e47c fix: update .gitignore to exclude test binaries and artifacts
  • 5004d9e Requested changes performed
  • 2fd08b7 Requested changes performed
  • 4876b66 Requested changes performed
  • 1936425 Qualify excluded resources using GroupResource
  • cf72520 Requested changes performed
  • 7cd4015 addressed review feedback
  • d9d8edd doc: address accessibility review feedback
  • 1e3220b docs: improve alt text across documentation for accessibility closes #3512
  • 44d0bdf Merge pull request #3577 from MikeSpreitzer/bump-sbom-to-02011
  • 7a9eefd Merge pull request #3576 from MikeSpreitzer/update-preview-referral
  • d113386 Bump anchore/sbom-action from 0.20.10 to 0.20.11
  • 7b7f865 Switch URLs in error message about missing preview
  • 9062484 Merge pull request #3572 from MikeSpreitzer/bump-broken-links-to-332
  • 74d996e Merge pull request #3534 from AbhaBarge/main
  • 8c969e4 Merge pull request #3442 from francostellari/transport-pch-its
  • f71e0b2 Bump ScholliYT/Broken-Links-Crawler-Action from 3.3.1 to 3.3.2
  • 7f7f0e0 Merge pull request #3571 from MikeSpreitzer/bump-stale-to-1011
  • b25195e Merge pull request #3570 from MikeSpreitzer/bump-checkout-to-601
  • 97472cc Bump actions/stale from 10.1.0 to 10.1.1
  • 88f74db Bump actions/checkout from 6.0.0 to 6.0.1
  • 663527f Merge pull request #3519 from gaurab-khanal/fix/clearmultiwecstatus
  • ce0556a Merge pull request #3549 from MikeSpreitzer/fix-nofind-in-reversemap
  • 4b252d8 Merge pull request #3550 from rahulshendre/main
  • 8f065c5 fix: Add correct logic for removing labels
  • 4b9d140 fix failing test case
  • 873e390 fix: Modify updateObjectStatus func to remove both singleton and multi-WEC labels when status == nil
  • 990dc71 fix: Add status clearing for multiwec
  • 0644107 Fix handling of absence from reversemap
  • b23eba9 Merge pull request #3548 from MikeSpreitzer/bump-spellcheck-to-0550
  • a420b23 Merge pull request #3547 from MikeSpreitzer/bump-setup-python-to-610
  • 3a51494 Bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0
  • f8baf06 Bump actions/setup-python from 6.0.0 to 6.1.0
  • 5032bf1 Merge pull request #3541 from MikeSpreitzer/test-demo-on-github
  • 11e1589 Add missing wait for ns customization-properties
  • 0ef1f34 Add more debugging
  • 05ca618 Add k3d
  • 5950908 Add debugging
  • e0f520d Move testing of demo env creation from Prow to GHA
  • 312a123 Add overlooked test prep to test/e2e/ci/test-demo-env.sh
  • a4a8b49 Update .prow.yaml
  • 6936c3a Merge pull request #3515 from gaurab-khanal/aggDaemonsetReplicaset
  • 0e8963a Add MacOS user note
  • 31eeda5 Merge pull request #3533 from rishi-jat/refactor/rename-reported-state-callback
  • 4a1cac5 fix: Add singleton label in multiwec function when no of WEC equals to one
  • 99bd610 Remove rishi changes
  • 06cfa9b Aggregation for replicaset and daemonset
  • 5cef829 update the comment
  • 66581ce fix the failed tests
  • 5408b5d SingletonReportedStateRequestChanged to ReportedStateRequestChanged
  • 43abd2e Merge pull request #3505 from kubestellar/dependabot/go_modules/golang.org/x/crypto-0.45.0
  • 8151ea6 Merge pull request #3532 from MikeSpreitzer/bumps-51201
  • e032058 Bump sbom-action, checkout, setup-go to latest
  • 94d0749 docs: fix dark mode visibility for images (#3516)
  • 24cfe95 Merge pull request #3517 from rishi-jat/fix/multiwec-status-flag-update
  • 30ebb6b fix the function name
  • 6ecc39c made the suggested changes
  • e9b1c2a fix: handle wantMultiWECReportedState flag updates Notify status controller when wantMultiWECReportedState changes in existing BindingPolicies
  • 4c4b4e8 Merge pull request #3513 from MikeSpreitzer/bump-comment-action-to-500
  • 7eb5256 Bump peter-evans/create-or-update-comment from 3.1.0 to 5.0.0
  • 8a997c1 Merge pull request #3423 from rishi-jat/doc-desgin-multi-wec-aggregated-status
  • 87b3ebb Merge pull request #3502 from MikeSpreitzer/clarify-multiwec-api
  • dadb7a5 Merge pull request #3509 from gaurab-khanal/aggregateDeployment
  • 31ecf51 Fix reference to github icon
  • 5298cf2 Fix typo
  • 5a5c8dd Add header to file
  • bedb4d3 Update comment
  • f897e4d Resolve merge conflict, handle label for multi wec
  • d8bc55c Bump golang.org/x/crypto from 0.40.0 to 0.45.0
  • f9a17f9 Merge pull request #3504 from MikeSpreitzer/bump-spellcheck-0540
  • 78693f3 Bump rojopolis/spellcheck-github-actions from 0.53.0 to 0.54.0
  • cd7a23d Merge pull request #3503 from rishi-jat/followup-3470
  • 4d4ccd1 Made suggested changes as requested by Franco & gaurab
  • 1495b2b Simplify nested if statements to single condition
  • d5c68ea Fix: did all the suggested changes Unify loops, remove redundant check, fix multi-WEC comments, improve log
  • f90050b make all-generated
  • 909622e Complete the status return API definition
  • e766569 Merge pull request #3470 from gaurab-khanal/queryMulti
  • a07a72b Improve comments
  • ae4a9fe Merge pull request #3498 from rishi-jat/fix/issue-3497
  • 9568aca Add ArgoCD nginx sample app to hack/argo with required labels
  • 572f73c Merge pull request #3464 from rishi-jat/upgrade-argo-cd-version
  • 5ac6e04 Add implemtation approach when both isMultiWECRequested && isSingletonRequested are true
  • 3d981ed Changes according to reviews
  • 6b72f6e Merge pull request #3381 from antedotee/doc-github-icon-fix
  • fdc57e2 Resolve merge conflict
  • b6e92ee fixed the docs run error
  • 0f8e5a0 changed png to svg
  • 9cf3518 changed the github logo
  • e6f8e60 Script to setup WSL Fedora for Windows
  • 182541d Merge pull request #3484 from antedotee/checkbox-assign-issue
  • 5d7a4d9 Merge pull request #3481 from gaurab-khanal/fix-singleton
  • 0cc1b3c chore: Update feedback survey link in GitHub Actions workflow
  • 58ae1be chore: Update GitHub Actions workflow to grant write permissions for issues
  • fe2bdf4 added the same for issue template
  • ecca77d created a seperate worklow for assignment instructions
  • c0941e3 Merge pull request #3488 from KPRoche/doc-fixsign
  • 8e39bb4 Merge pull request #3483 from Arpit529Srivastava/patch-1
  • 6af2cff Merge pull request #3486 from antedotee/assignment-help-feature
  • ad6303e add note about using clip.exe instead of clip for WSL in setting up SSH keys
  • 566500a fixed the verify action hashes problem
  • ca25c62 Update .gha-reversemap.yml to include new dependency for create-or-update-comment action
  • 3258c80 added a dedicated workflow to solve the issue
  • 508295b fixed the example env
  • 961a52a docs: add Multi-WEC Aggregated Status user guide and proposal
  • 6c746f4 fixed the minus line
  • b4a2dac Add feedback request workflow for merged PRs
  • e37375a removed the unnecessary checkbox
  • ad21a70 add deployment aggregation
  • 04039f5 Combine GetSingleton and GetMultiWEC function
  • e764e49 Fix: Add proper logging
  • 644af71 Use util.K8sSet4Log for logging qualifiedWECs
  • 29ac564 re-run CI
  • 6a88255 rename nWECs to qualifiedWECs
  • 43da3fc Merge branch 'fix-singleton' of https://github.com/gaurab-khanal/kubestellar into fix-singleton
  • 6a9a031 Merge pull request #3 from MikeSpreitzer/test-wec-qualification
  • f4382ee Made changes to use qualifiedWECs for determing length as well
  • cb17661 Add missing return for sets
  • 2379dbd Made changes according to reviews
  • 8d2cd3a fix: Get only qualified WEC for singleton status
  • beeb4c1 Merge pull request #3472 from shivansh-gohem/fix-3185-lengthen-timeouts
  • 5630840 Merge pull request #3476 from thc1006/fix/3475-minimal-rbac
  • a28e952 feat(e2e): Lengthen ITS setup timeouts
  • 4b9933a Clarify ControlPlane id args to kflex-get-kubeconfig
  • 6dffbed fix: address review feedback from @MikeSpreitzer
  • 9baa6ac Test whether singleton status return respects WEC qualification
  • 8e2ff85 fix: remove unused controlplanes/status write permissions
  • be00ddd Use kflex-get-kubeconfig
  • aa1b251 Pass nWECsMulti to handleMultiWEC function instead of nWECs
  • 87ab63b Update execution logic for handleSingleton and handleMultiWEC function
  • 48db7e8 Add meaningful comment
  • 453895e Remove unwanted code
  • bbbf5bd Resolve merge conflict
  • 95a2454 Merge pull request #3444 from gaurab-khanal/syncworkobject
  • 491efc4 Trim unnecessary RBAC permission
  • 51cd24b Use emptyDir instead of secret for ITS
  • 3298b4b Rename ITS/WDSkubeconfig
  • f897005 Move back ITSname variable
  • 1225525 Do not use dictionary for cluster ITS name
  • 9711e10 Rework its kuneconfig retrieval in transport-controller PCH
  • d7fe10a rebase and cleanup
  • 02dc175 Merge pull request #3468 from MikeSpreitzer/add-secret-fetch
  • f2c660b Merge pull request #3433 from shivansh-gohem/fix-3182-job-diagnostics
  • b1488e2 feat(e2e): Dump Job YAML and Events in E2E workflow
  • a52d699 Add: add a note in the file
  • 216a9e3 Add a query mechanism for multiwec flag
  • d4a29a9 Merge pull request #3441 from gaurab-khanal/crdextend
  • 4541b79 Update comments after review
  • 59e17e2 Merge pull request #3461 from rishi-jat/rename-ITSkubeconfig-to-ITSSecretKey
  • e862ad4 Merge pull request #3457 from rishi-jat/cleanup/remove-unused-configmap-postcreatehook
  • a2938df Add missing clarification
  • 0f0f237 doc: Add more clarification on WantMultiWECReportedState behaviour
  • 35491e2 Merge pull request #3467 from gaurab-khanal/configmap-remove
  • 8185f73 Add utility for fetching the kubeconfig for a ControlPlane
  • 5e90d66 chore: Remove unecessary configmaps role
  • 79735bf Upgrade Argo CD dependency to 9.1.0 in core-chart/Chart.yaml
  • 9df541a Rename ITSkubeconfig to ITSSecretKey in CP YAML and ITS PCHs
  • 52ac3ac cleanup: remove unused kubestellar-config ConfigMap from postcreatehooks
  • 1a2790f Made some changes in goal section
  • 84f02ea Changes according to satisfy review
  • 8fadf96 add multiwec doc to menu
  • 1973711 Fix all the suggested and requested changes
  • 30d7bdd chore: write meaningful todo message
  • 56ad56f Simplify if conditions
  • 69199de fix: fix lint err
  • ab9e555 feat: Divide syncworkloadobject function to support both singleton and multiwec status
  • e2b51c5 Made changes as suggested by the gaurab
  • a16115b docs: update multi-WEC aggregated status doc per maintainer review
  • b959217 Use meaningful name for wantMultiReportedState
  • a1e7ffb revise Status Aggregation Rules section to align with Gaurab’s proposal and ArgoCD-based workload kind evaluation
  • 43bb91b rewrite project proposal
  • 519b4f7 feat: Extend CRD with wantMultiReportedState
  • 66b6830 Remove some point while discussion with guarab
  • c1413e4 docs: add Multi-WEC Status Aggregation design proposal
  • 56310c2 fixed the icon and text
CloudNativePG sandbox

CloudNativePG is a comprehensive platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments, covering the entire operational lifecycle from initial deployment to ongoing maintenance

v1.29.1

Release date: May 8, 2026

Security and Supply Chain

  • CVE-2026-44477 / GHSA-423p-g724-fr39: metrics exporter privilege escalation: the metrics exporter no longer authenticates as the postgres superuser. It now uses a dedicated cnpg_metrics_exporter role with pg_monitor privileges only, closing a chain that let a low-privilege database user gain PostgreSQL superuser. (GHSA-423p-g724-fr39)

    Upgrade impact: custom monitoring queries that read user-owned tables, or use target_databases: '*' against databases where PUBLIC CONNECT has been revoked, need explicit GRANT statements to cnpg_metrics_exporter. See "Custom query privileges and safety" and "Manually creating the metrics exporter role" in the monitoring documentation.

    For replica clusters, upgrade the source primary cluster before any replica clusters that consume from it. The cnpg_metrics_exporter role is created on the source primary and replicates downstream; a replica cluster upgraded first will scrape against a missing role until the source primary upgrades. The manual-recovery section linked above also covers replica clusters.

  • Schema-qualified catalog references in default monitoring queries: hardened the shipped monitoring configuration and documentation samples by qualifying every pg_catalog object explicitly. Unqualified references resolve through search_path, which a database user can manipulate to shadow built-in objects. (#10576)

  • Discoverable SBOM and provenance attestations: SBOM and SLSA provenance attached to operator container images now follow the OCI 1.1 Referrers spec, so standard registry tooling and supply-chain scanners can discover them automatically. (#10601)

  • CVE remediation in github.com/jackc/pgx/v5: bumped to v5.9.2 to pick up upstream fixes for CVE-2026-33816 (memory-safety in pgproto3) and GHSA-j88v-2chj-qfwx (SQL injection via simple-protocol dollar-quoted string handling). (#10437, #10499)

  • CVE remediation in the Go runtime: built with Go 1.26.3 to pick up upstream fixes in crypto/x509, crypto/tls, net/http, and net (CVE-2026-32280, CVE-2026-32281, CVE-2026-33810, CVE-2026-33814, CVE-2026-33811, CVE-2026-39825). (#10463, #10647)

  • Build pipeline hardening: the Go 1.26.3 bump also addresses CVE-2026-42501 (cmd/go module-checksum validation), reducing supply-chain exposure during release builds. The affected code paths are not reachable from the running operator. (#10647)

Changes

  • Switched TLS peer verification from VerifyPeerCertificate to VerifyConnection, which runs on every completed handshake (the former is skipped on resumed TLS 1.3 sessions). Session resumption is not enabled in CloudNativePG today, so this has no observable effect, but it future-proofs verification if session caching is introduced later. (#10478)

Fixes

  • Fixed a failover window where the former primary kept its primary label. If it returned during failover (for example, after a transient network partition), the -rw service kept routing to it, replicas could reconnect, and committed writes were lost to pg_rewind. The old primary is now labeled unhealthy to isolate it from service traffic during failover. (#10409)

  • Fixed failover not being triggered when the node hosting the primary becomes unreachable. The operator now reads the pod's Ready condition (flipped to False by the node controller when the kubelet stops reporting) instead of ContainersReady, which stays stale as True in that scenario. Combined with the spurious-failover guard (#10445), failover triggers only when Kubernetes itself marks the pod not Ready. (#10448)

  • Fixed spurious failovers caused by transient failures on the primary's HTTP status endpoint. (#10445)

  • Fixed escaping of backslashes and control characters in PostgreSQL configuration values. Previously, such characters in parameters like log_line_prefix could corrupt the configuration file or be silently stripped at runtime. (#10515)

  • Fixed restore_command construction to shell-quote each argument. Values such as a destinationPath containing whitespace (for example, s3://my bucket/wal) were word-split by the POSIX shell and passed to the WAL restore tool as separate arguments. (#10518)

  • Tightened recoveryTarget validation in the admission webhook: targetXID must now be a non-negative 32-bit integer, and targetName must be shorter than 64 bytes and free of ASCII control characters. Malformed values are rejected at admission instead of failing later during PostgreSQL recovery. (#10565)

  • Fixed snapshot restores failing when leftover pgsql_tmp* directories were present in the data directory. (#10447)

  • Fixed a deadlock occurring when PVC storage size and resource requests are changed simultaneously. (#10427)

CloudNativePG sandbox

CloudNativePG is a comprehensive platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments, covering the entire operational lifecycle from initial deployment to ongoing maintenance

v1.28.3

Release date: May 8, 2026

Security and Supply Chain

  • CVE-2026-44477 / GHSA-423p-g724-fr39: metrics exporter privilege escalation: the metrics exporter no longer authenticates as the postgres superuser. It now uses a dedicated cnpg_metrics_exporter role with pg_monitor privileges only, closing a chain that let a low-privilege database user gain PostgreSQL superuser. (GHSA-423p-g724-fr39)

    Upgrade impact: custom monitoring queries that read user-owned tables, or use target_databases: '*' against databases where PUBLIC CONNECT has been revoked, need explicit GRANT statements to cnpg_metrics_exporter. See "Custom query privileges and safety" and "Manually creating the metrics exporter role" in the monitoring documentation.

    For replica clusters, upgrade the source primary cluster before any replica clusters that consume from it. The cnpg_metrics_exporter role is created on the source primary and replicates downstream; a replica cluster upgraded first will scrape against a missing role until the source primary upgrades. The manual-recovery section linked above also covers replica clusters.

  • Schema-qualified catalog references in default monitoring queries: hardened the shipped monitoring configuration and documentation samples by qualifying every pg_catalog object explicitly. Unqualified references resolve through search_path, which a database user can manipulate to shadow built-in objects. (#10576)

  • Discoverable SBOM and provenance attestations: SBOM and SLSA provenance attached to operator container images now follow the OCI 1.1 Referrers spec, so standard registry tooling and supply-chain scanners can discover them automatically. (#10601)

  • CVE remediation in github.com/jackc/pgx/v5: bumped to v5.9.2 to pick up upstream fixes for CVE-2026-33816 (memory-safety in pgproto3) and GHSA-j88v-2chj-qfwx (SQL injection via simple-protocol dollar-quoted string handling). (#10436, #10498)

  • CVE remediation in the Go runtime: built with Go 1.26.3 to pick up upstream fixes in crypto/x509, crypto/tls, net/http, and net (CVE-2026-32280, CVE-2026-32281, CVE-2026-33810, CVE-2026-33814, CVE-2026-33811, CVE-2026-39825). (#10462, #10647)

  • Build pipeline hardening: the Go 1.26.3 bump also addresses CVE-2026-42501 (cmd/go module-checksum validation), reducing supply-chain exposure during release builds. The affected code paths are not reachable from the running operator. (#10647)

Changes

  • Switched TLS peer verification from VerifyPeerCertificate to VerifyConnection, which runs on every completed handshake (the former is skipped on resumed TLS 1.3 sessions). Session resumption is not enabled in CloudNativePG today, so this has no observable effect, but it future-proofs verification if session caching is introduced later. (#10478)

Fixes

  • Fixed a failover window where the former primary kept its primary label. If it returned during failover (for example, after a transient network partition), the -rw service kept routing to it, replicas could reconnect, and committed writes were lost to pg_rewind. The old primary is now labeled unhealthy to isolate it from service traffic during failover. (#10409)

  • Fixed failover not being triggered when the node hosting the primary becomes unreachable. The operator now reads the pod's Ready condition (flipped to False by the node controller when the kubelet stops reporting) instead of ContainersReady, which stays stale as True in that scenario. Combined with the spurious-failover guard (#10445), failover triggers only when Kubernetes itself marks the pod not Ready. (#10448)

  • Fixed spurious failovers caused by transient failures on the primary's HTTP status endpoint. (#10445)

  • Fixed escaping of backslashes and control characters in PostgreSQL configuration values. Previously, such characters in parameters like log_line_prefix could corrupt the configuration file or be silently stripped at runtime. (#10515)

  • Fixed restore_command construction to shell-quote each argument. Values such as a destinationPath containing whitespace (for example, s3://my bucket/wal) were word-split by the POSIX shell and passed to the WAL restore tool as separate arguments. (#10518)

  • Tightened recoveryTarget validation in the admission webhook: targetXID must now be a non-negative 32-bit integer, and targetName must be shorter than 64 bytes and free of ASCII control characters. Malformed values are rejected at admission instead of failing later during PostgreSQL recovery. (#10565)

  • Fixed snapshot restores failing when leftover pgsql_tmp* directories were present in the data directory. (#10447)

  • Fixed a deadlock occurring when PVC storage size and resource requests are changed simultaneously. (#10427)

BFE sandbox

Open-source layer 7 load balancer derived from proprietary Baidu FrontEnd

BFE v1.8.2

Added

Kubescape incubating

Kubescape is an open source security and compliance platform that scans clusters, Kubernetes manifest files (YAML files, and Helm charts), code repositories, container registries and images. It detects misconfigurations according to frameworks such as the NSA-CISA, MITRE ATT&CK® and CIS, as well as software vulnerabilities, and calculates risk scores.

v4.0.7

Changelog

  • e2a8b62 Merge pull request #1960 from kubescape/service-disco
  • 4895194 Merge pull request #2018 from sahitya-chandra/fix/portforwarder-trimleft-host
  • 3e29e64 Merge pull request #2019 from manmathbh/master
  • 7bc1aac Merge pull request #2023 from manmathbh/feat/exception-expiration-filter
  • 39b4599 Merge pull request #2029 from Kayd-06/feat/tls-env-vars
  • b5977c0 Merge pull request #2031 from Shreya2005-2005/fix/severity-threshold-early-validation
  • 6874473 Merge pull request #2032 from Kayd-06/fix/add-warnings-dropped-workloads
  • ecaceb5 Merge pull request #2034 from Varadraj75/fix/yaml-parse-fail-open
  • 1b65a16 Merge pull request #2036 from sakshar2303/fix/openssf-badge-warnings
  • febf84a Merge pull request #2038 from Varadraj75/fix/remove-result-dirs-no-op
  • 39746f2 Merge pull request #2040 from Shreya2005-2005/fix/threshold-validation-scan-workload
  • 783a9e2 Merge pull request #2042 from manmathbh/feat/control-input-crd
  • 336c373 Merge pull request #2044 from Shreya2005-2005/fix/validate-empty-format-flag
  • 541abf5 Merge pull request #2046 from Shreya2005-2005/docs/fix-scan-command-long-description
  • d3c2638 Merge pull request #2048 from Shreya2005-2005/docs/fix-scan-long-description-targets
  • dcc02a5 Merge pull request #2050 from Shreya2005-2005/fix/fix-cmd-directory-error
  • 5edaf9c Merge pull request #2054 from Varadraj75/test/opaprocessor-compliance-baseline
  • 3b9a221 Merge pull request #2058 from Shreya2005-2005/fix/download-empty-name-validation
  • ae3911b feat(httphandler): support TLS key configuration via env vars
  • 3925a3e feat(opaprocessor): filter expired exceptions before applying results
  • 67b24e9 feat: add ControlInput CRD for in-cluster control configuration
  • 50ac127 fix initializeSaaSEnv: restore file fallback, add timeout, degrade gracefully on network errors
  • f6708e1 fix(cautils): preserve base path when K8SConfig.Host is a full URL
  • 2cc7d0d fix(cautils): use TrimPrefix to strip URL scheme in CreatePortForwarder
  • 6db6a8d fix(core): add warning logs for dropped workloads in local file scans
  • 292b175 fix(core): reword warning logs for unknown objects and include IDs
  • 5d327a7 fix(crdcontrolinputs): remove protobuf content type, probe CRD before selecting
  • ebbb4d2 fix(httphandler): add error on partial TLS configuration
  • c859dd1 fix(initutils): gate CRD control inputs to live cluster scans only
  • 1508f02 fix(scan): gate CRD to live cluster scan mode only
  • e82fa81 fix: add early severity-threshold validation in control and framework subcommands
  • 23aa401 fix: add early severity-threshold validation in scan workload command
  • 19373ba fix: address code review - preserve scanInfo.View and use threshold-only validator
  • f5d75ad fix: address error handling warnings for OpenSSF compliance
  • 4798644 fix: address review comments on YAML document splitting
  • 16676e2 fix: atomically check idle state and delete results under mutex
  • ef60fc6 fix: guard delete-all against concurrent scans
  • cb98c5e fix: log errors from os.RemoveAll in removeResultDirs
  • 8187dd5 fix: only reject empty format when flag is explicitly set
  • 2f688ca fix: raise scanner buffer limit and surface scanner errors
  • 7ef532e fix: remove out-of-scope ReportID check from fixhandler
  • f7ea167 fix: replace byte-split with line scanner for YAML document separation
  • fec3f8e fix: replace os.ReadDir with os.RemoveAll in removeResultDirs
  • 49fddbb fix: return clear error when directory passed to fix command
  • 672dc1a fix: return clear error when wrong JSON structure passed to kubescape fix
  • 22c5fec fix: return error when empty name passed to download framework or control
  • 96f3195 fix: scope empty-name guard to framework and control targets only
  • 28d5512 fix: surface YAML parse errors instead of silently dropping documents
  • fd9eae8 fix: use ReportID as sentinel to detect invalid report JSON
  • f767270 fix: validate compliance-threshold and fail-threshold in scan and scan workload subcommands
  • 621f411 fix: validate empty format flag before running scan subcommands
  • d346350 fix: validate severity-threshold flag before running scan
  • 9e33b0a get services from API, removing sidecar requirement
  • 4d3152a refactor(vap): drop --output flag, test real command paths
  • 108fa28 test(vap): add comprehensive test coverage for VAP commands including HTTP mocking, YAML marshalling, and flag validation
  • e98201d test(vap): add tests for --output flag file writing and writeOutput helper

Released by GoReleaser.

TiKV graduated

A distributed transactional key-value database. Based on the design of Google Spanner and HBase, but simpler to manage and without dependencies on any distributed filesystem

v8.5.6-fts.dev: build: bump tikv pkg version to 8.5.6 (#19591)

ref #15990\n\nbump tikv pkg version to 8.5.6 for feature/fts\n\nSigned-off-by: okjiang 819421878@qq.com\nSigned-off-by: timzxz xiaozhou.zhu@pingcap.com\n\nCo-authored-by: okJiang 819421878@qq.com\nCo-authored-by: timzxz xiaozhou.zhu@pingcap.com

metal3-io incubating

Provision bare metal hardware via k8s-native APIs, including integration with the Cluster API.

v0.13.0

Changes since v0.12.0

⚠️ Breaking Changes

  • Uplifts CAPI to v1.13.0-rc.1, k8s group to v0.35.4 and controller-runtime to v0.23.3 (#3173)
  • Remove the iRMC driver, deprecate BMH.Spec.Firmware (#3034)

✨ New Features

  • Allow forced detachment of a host from Ironic (#2955)
  • Accept per-host pull secrets for external OCI registries (#2745)
  • Add libvirt network creation and deletion to vbmctl (#3136)
  • Adds Associate logic for HostClaim (#2996)
  • Add multi-architecture PXE boot support (#2966)
  • Add Healthy condition based on BMC health rollup (#3013)
  • Add PCI Address field to HardwareData NIC (#2895)
  • Restructure VBMCTL into separate package and CLI (#2953)
  • Conditions implementation for BareMetalHosts (#2945)
  • HostClaim custom resources (#2856)
  • Allow enabling ExternallyProvisioned for available hosts (#2774)

🐛 Bug Fixes

  • Add missing context to PreprovisioningImageFormats func (#3165)
  • Fix Healthy condition staying Unknown despite Ironic reporting health status (#3133)
  • Add webhook readiness check before starting manager (#3162)
  • Remove unused RBAC permissions from controller ClusterRole (#3113)
  • Fix HFC controller error loop on deleted resource (#3124)
  • Add handling of paused annotation to the HFS controller (#3074)
  • Fix return values of the HFC controller in case of provisioner errors (#3073)
  • Do not check power failure when not applicable (#3069)
  • Enable BMO to abort servicing to back out of failures (#3000)
  • Do not log firmware components on each BMH reconciliation (#2963)
  • Correctly handle resource generations for HFC and HFS (#2964)
  • Make architecture tests portable across x86_64 and aarch64 (#2942)
  • Fix deletion hang when aborting inspection during power-off (#2928)
  • Allow setting force_persistent_boot_device: <value> for deploy_interface: direct (#2614)
  • Fix errors.As usage for NoDataInSecretError (#2890)
  • Sync automated_clean before deprovisioning (#2881)
  • Require PreprovisioningImage for deprovisioning when cleaning is enabled (#2859)

📖 Documentation

  • Add release 0.13 test triggers to README (#3219)
  • add OpenSSF OSPS baseline level 1 badge (#3114)
  • Add release 0.12 test triggers to README (#2892)
  • Add explanation to run verify-release.sh script in releasing.md (#2773)

🌱 Others

  • Bump Go version to 1.25.10 (#3224)
  • Bump CAPI to v1.13.1 (#3212)
  • Bump github.com/moby/moby/client from 0.4.0 to 0.4.1 in /test (#3188)
  • Bump CAPI to v1.13.0 (#3187)
  • Simplify e2e fixture test configuration (#3167)
  • Set manager TLS default back to unset (#3153)
  • Bump github.com/cert-manager/cert-manager from 1.20.1 to 1.20.2 in /test (#3170)
  • Bump the kubernetes group to v0.34.7 (#3169)
  • fix help target alignment and numeric target names (#3168)
  • Add image server management commands to vbmctl (#3121)
  • Create ironic.yaml for the e2e tests from a template file (#3095)
  • Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /test (#3158)
  • Bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1 (#3156)
  • Bump github.com/gophercloud/gophercloud/v2 from 2.11.1 to 2.12.0 (#3155)
  • Bump golang.org/x/crypto from 0.49.0 to 0.50.0 in /hack/tools (#3157)
  • Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 (#3148)
  • Add scheduled github worklow job for Fuzzing (#3122)
  • Bump libvirt.org/go/libvirt from 1.12001.0 to 1.12002.0 in /test (#3140)
  • Bump go.etcd.io/etcd/client/pkg/v3 from 3.6.9 to 3.6.10 (#3139)
  • Bump go version used for building to 1.25.9 (#3145)
  • Add maketarget for ensuring docker is present for testing (#2699)
  • Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.0 to 0.8.1 (#3125)
  • Bump github.com/metal3-io/ironic-standalone-operator/api from 0.8.0 to 0.8.1 in /test (#3127)
  • Remove legacy vbmctl entrypoint and update E2E VM config (#3120)
  • remove unneeded vbmctl template datatypes (#3123)
  • vbmctl: support multiple volume sizes via repeatable --volume-size flag (#3112)
  • Bump sigs.k8s.io/controller-runtime from 0.23.1 to 0.23.3 in /test (#3106)
  • Include vbmctl unit tests in unit workflow (#3117)
  • Bump google.golang.org/grpc from 1.72.1 to 1.79.3 (#3096)
  • remove docker push stuff from Makefile (#3092)
  • Fix linter issues in main (#3094)
  • Avoid meaningless logging when a secret is owned by another controller (#2972)
  • Bump github.com/spf13/cobra from 1.10.1 to 1.10.2 in /test (#3058)
  • Bump actions/setup-go from 6.2.0 to 6.3.0 in the github-actions group (#3059)
  • Bump golang.org/x/oauth2 from 0.34.0 to 0.36.0 in /hack/tools (#3079)
  • bump x/net to v0.49.0 (#3082)
  • Add first fuzzing test for bmc address parsing (#3002)
  • e2e: check that all namespaces are added to WATCH_NAMESPACE (#3068)
  • Tests: avoid duplicated test names (#3065)
  • E2E: Remove libvirt DHCP reservation from VMs (#3033)
  • Update vbmctlapi package name to fix lint error (#3054)
  • add zizmor scanner (#3053)
  • Adds overlays for release v0.12 (#2872)
  • Exclude revive var-naming check for test/vbmctl/pkg/api (#3052)
  • harden github actions workflows (#3045)
  • E2E: Increase inotify limits (#3047)
  • move security-insights.yml to .github/ and use upstream validator (#3044)
  • Bump tj-actions/changed-files from 47.0.1 to 47.0.4 in the github-actions group (#3035)
  • Parameterize container tool in Makefile (#2999)
  • Bump sigs.k8s.io/kustomize/kustomize/v5 from 5.8.0 to 5.8.1 in /hack/tools (#3037)
  • Bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /hack/tools (#3004)
  • E2E serial logs per test (#2911)
  • bump osv-scanner in hack/verify-release.sh (#3028)
  • Bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 in /test (#3021)
  • add SECURITY_INSIGHTS.yml (#3015)
  • Bump golang to v1.25 (#2998)
  • add Sunnatillo as reviewer (#3023)
  • e2e: workaround for docker 29 issues (#3014)
  • E2E: Use per-test cluster for upgrades (#2947)
  • add smoshiur1237 as reviewer (#3012)
  • Bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /test (#3007)
  • enforce ol-prefix 'one' style for ordered lists (#2979)
  • fix reapprover workflow (#2977)
  • Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 in /test (#2958)
  • bump cert-manager to v1.18.5 (#2976)
  • bump github actions to new major versions (#2965)
  • Improve error handling in E2E artifact dump helpers (#2951)
  • Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 (#2956)
  • E2E: Log collection improvements (#2905)
  • E2E: Cleanup old hardwaredata (#2925)
  • E2E: Avoid BMO < 0.11 and Ironic > 30 together (#2910)
  • Refactor: move HardwareDetails type to HardwareData (#2889)
  • Log when cannot detach immediately (#2902)
  • E2E: Use UEFI (#2770)
  • Bump sigs.k8s.io/kind from 0.30.0 to 0.31.0 in /test (#2884)
  • Improve behavior on deletion of BMH with unreachable BMC in verifying state (#2879)
  • Add periodic test for release-0.12 (#2875)
  • Bump the github-actions group with 2 updates (#2863)
  • update dependabot config for release-0.12 (#2857)
  • add unit tests to SecretManager (#2812)

♻️ Superseded or Reverted

The image for this release is: v0.13.0

Thanks to all our contributors! 😊

WasmEdge Runtime sandbox

WasmEdge provides a high-performance, lightweight, secure, and extensible WebAssembly runtime for cloud-native applications. It is an OCI compliant container that is integrated into Docker, containerd, crun and many Kubernetes projects....

WasmEdge 0.16.2-alpha.1

0.16.2-alpha.1 (2026-04-14)

This is the hot fix for 0.16.x versions.

Fixed issues:

  • fix: refactor Poller context handling to use pointer instead of wrapper (#4509)
  • fix(validator): wrong jump end offset of try_table
  • fix(api): guard WasmEdge_StringCopy against null Buf (#4686)
  • fix(cli): handle invalid numeric arguments gracefully (#4602)
  • fix(compiler): error on LLVM-22 (#4696)
  • fix(executor): ref type for uninit values in table (#4764)
  • fix(executor): normalize null ref types for locals and AOT (#4772)
  • fix(test): disable LTO in tensorflow plugin tests of manylinux (#4766)
  • fix(test): split poll socket tests to isolate flaky cycle 2 (#4747)

Tests:

  • test: add C-API boundary test for empty strings

CI:

  • fix(ci): fix riscv CI fail
  • fix(ci): dependency installation on riscv (#4722)
  • fix(ci): cache lld pre-built on macOS workflow (#4753)
  • fix(ci): new content for wasi-testsuite (#4751)
  • refactor(ci): optimize workflows (#4544)
  • Bumped CI dependencies

Thank all the contributors who made this release possible!

Divyansh Khatri, Karan Lokchandani, Meet Jain, SANCHIT KUMAR, SriramB, Vishal Malyan, Wang-Yang Li, Yi-Ying He, hydai, piyush kumar

If you want to build from source, please use WasmEdge-0.16.2-alpha.1-src.tar.gz instead of the zip or tarball provided by GitHub directly.

Kubean sandbox

Product ready cluster lifecycle management toolchains based on kubespray and other cluster LCM engine.

v0.34.2

What's Changed

🔨 Other Changes

Full Changelog: v0.34.1...v0.34.2

Default Kubernetes Version Supported Kubernetes Version Range
1.34.7 '1.35.4'   '1.35.3'   '1.35.2'   '1.35.1'   '1.35.0'   '1.34.7'   '1.34.6'   '1.34.5'   '1.34.4'   '1.34.3'   '1.34.2'   '1.34.1'   '1.34.0'   '1.33.11'   '1.33.10'   '1.33.9'   '1.33.8'   '1.33.7'   '1.33.6'   '1.33.5'   '1.33.4'   '1.33.3'   '1.33.2'   '1.33.1'   '1.33.0'
KubeArmor sandbox

Runtime protection for Kubernetes & other cloud Workloads. Kubearmor provides a observability and policy enforcement system to restrict any unwanted, malicious behaviour of cloud-native workloads at runtime.

v1.7.0

Changelog

Volcano incubating

v1.15.0-alpha.0

Release Volcano v1.15.0-alpha.0 version

Kgateway sandbox

An Envoy-powered, Kubernetes-native API Gateway that integrates Kubernetes Gateway API with a control plane for API connectivity in any cloud environment.

v2.3.0-rc.2

🎉 Welcome to the v2.3.0-rc.2 release of the kgateway project!

Release Notes

Changes since v2.3.0-rc.1

New Features

  • Added http2ProtocolOptions support to ListenerPolicy and HTTPListenerPolicy for configuring downstream HTTP/2 settings on Envoy listeners. (#13991)
  • Added http2ProtocolOptions support to ListenerPolicy and HTTPListenerPolicy for configuring downstream HTTP/2 settings on Envoy listeners. Added downstream TCP keepalive configuration to ListenerPolicy. (#13995)

Bug Fixes

  • Fixes strict validation on delegating routes (#14000)
  • Fixes strict validation on delegating routes (#14002)

Contributors

Thanks to all the contributors who made this release possible:

@davidjumani @puertomontt

Installation

The kgateway project is available as a Helm chart and docker images.

Helm Charts

The Helm charts are available at:

Docker Images

The docker images are available at:

  • cr.kgateway.dev/kgateway-dev/kgateway:v2.3.0-rc.2
  • cr.kgateway.dev/kgateway-dev/sds:v2.3.0-rc.2
  • cr.kgateway.dev/kgateway-dev/envoy-wrapper:v2.3.0-rc.2

Quickstart

Try installing this release:

helm install kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds --version v2.3.0-rc.2 --namespace kgateway-system --create-namespace
helm install kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway --version v2.3.0-rc.2 --namespace kgateway-system --create-namespace

For detailed installation instructions and next steps, please visit our quickstart guide.

k3s sandbox

Lightweight Kubernetes

v1.36.0+k3s1

This release updates Kubernetes to v1.36.0, and fixes a number of issues.

For more details on what's new, see the Kubernetes release notes.

Changes since v1.35.0+k3s1:

  • Add firewall section to check-config.sh (#13234)
  • Update golangci-lint and re-enable CI linting step (#13343)
  • Enable secret encryption on existing clusters (#13370)
  • Use Get, not Head for channel page (#13402)
  • Replace temporary etcd server with raw mvcc store access (#13368)
  • Remove flannel external-ip annotations when disabled (#13431)
  • Bump local path provisioner to v0.0.34 (#13430)
  • Publish GA images to staging registry (#13438)
  • Fix atomic write in WriteSubnetFile (#13380)
  • Bump expr-lang/expr (#13440)
  • Bump spegel to v0.6.0 (#13198)
  • Update longhorn version in integration test from v1.4.0 to v1.10.1 (#13443)
  • Remove download/generate from vulncheck (#13445)
  • Add Momentum Coach AI to K3S adopters list (#13467)
    • NONE
  • Move to rootlesskit v2 (#13486)
  • Fix CVE-2025-54410: Update docker/docker to v25.0.13 (#13473)
  • Bump etcd to v3.6.7 (#13495)
  • Add Percona and Solanica to k3s adopters (#13510)
  • Fix restart of control-plane-only nodes attempting to reconcile from local datastore (#13534)
  • Fix spegel filter for wildcards (#13527)
  • Add IPv6 loopback to kubelet-serving cert (#13532)
  • Fix handling of empty token file (#13529)
  • Use channel.yaml instead of curling for stable for kubectl install (#13531)
  • Fix VPN node IP not being applied to kubelet (#13457)
  • Bump scorecard checkout to match all other versions (#13568)
  • Explicitly close mvcc backend to fix high CPU on initial etcd server after restart (#13569)
  • Support commit builds via GHA artifacts (#13559)
  • Bump metrics-server to v0.8.1 (#13594)
  • Add registry prefix to image-list file (#13603)
  • Fix removal of init node via annotation (#13624)
  • Make artifact URL prefix configurable (#13367)
    • Added INSTALL_K3S_ARTIFACT_URL to donwload K3s binary from a different URL
  • Install binutils-gold only for arm64 builds (#13654)
  • Rootlesskit Revert + Test Fixes (#13681)
  • Improve resilience of datastore bootstrap reconcile from etcd (#13677)
  • Assign github.event to env first (#13715)
  • Config: Add default imports to containerd base templates (#13680)
    • Containerd config generated by k3s now includes imports pointing at versioned drop-in directories: config.toml.d for v2 config and config-v3.toml.d for v3 (e.g. /var/lib/rancher/k3s/agent/etc/containerd/config.toml.d/*.toml and .../config-v3.toml.d/*.toml). Additional .toml files in the matching directory are automatically loaded by containerd. Use these directories for drop-in config (e.g. proxy plugins, custom runtimes, or debug settings) without modifying the main config or custom templates.
  • Add nix-snapshotter support to the embedded containerd (#13676)
    • Add nix-snapshotter plugin to the embedded containerd to enable rootless k3s + nix-snapshotter
  • Do not create etcd name file if etcd is not in use (#13727)
  • Bump rancher/mirrored-coredns-coredns image version (#13743)
  • Update packages to remove unmaintained dependencies (#13724)
  • Save cluster state before reencyrpting secrets with newly created key (#13764)
  • Bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 (#13713)
  • Bump github.com/docker/cli from 28.3.2+incompatible to 29.2.0+incompatible (#13730)
  • Build(deps): bump github.com/pion/dtls/v3 from 3.0.6 to 3.0.11 (#13645)
  • Use etcd-snapshot-retention as default for s3 if etcd-s3-retention is not set (#13770)
  • Install.sh: Simplify handling for fedora rpm-ostree based distributions (#13712)
  • Bump cni plugins to v1.9.1 (#13817)
  • Simplify snapshot compress/decompress logic (#13826)
  • Fix typo: overriden -> overridden in snapshot_handler.go (#13847)
  • Fix: typo in etcd membership error message (#13848)
  • Bump helm-controller for job race fix (#13853)
  • Add context to controller event recorders (#13856)
  • Dapper is kill (#13860)
  • Add sipgate to the list of adopters (#13881)
  • Add Rocket Technologies to the list of adopters (#13890)
  • Pin govulncheck GHA version (#13887)
  • Verify sha256sum for kubelet, vagrant zip and go binary (#13889)
  • Check the k3s-root sha256sum (#13888)
  • Build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 (#13891)
  • Fix reproducibility of embedded data tarball (#13875)
  • Build(deps): bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 (#13837)
  • Build(deps): bump github.com/nats-io/nats-server/v2 from 2.12.2 to 2.12.6 (#13852)
  • Fix S3 test to account for change to s3mock (#13906)
  • Bump runc/spegel/helm-controller/kine (#13909)
    • Bump runc to v1.4.2
    • Bump spegel to v0.6.0-k3s2
    • Bump helm-controller to v0.17.1
    • Bump kine to v0.14.16
  • Fix embedded executor VPN config injection (#13920)
  • Bump containerd to v2.2.3 (#13931)
  • Bump flannel to v0.28.4 (#13937)
  • Immutable release changes (#13902)
  • Bump Traefik to 3.6.13 (#13969)
  • Switch from draft to pre-release (#13951)
  • Fix SANs added from comma-separated node-external-ip list (#13989)
  • Fix docker dualstack test (#13994)
  • Bump klipper-helm image for revision check fix (#13995)
  • Bump upstream to v1.36 (#13986)
  • Fix kubectl exec when using docker (#14021)

Embedded Component Versions

Component Version
Kubernetes v1.36.0
Kine v0.14.16
SQLite 3.51.3
Etcd v3.6.7-k3s1
Containerd v2.2.3-k3s1
Runc v1.4.2
Flannel v0.28.4
Metrics-server v0.8.1
Traefik v3.6.13
CoreDNS v1.14.2
Helm-controller v0.17.1
Local-path-provisioner v0.0.35

Helpful Links

As always, we welcome and appreciate feedback from our community of users. Please feel free to:

Podman Container Tools sandbox

A set of tools providing full management of container lifecycle, including Podman, Buildah, and Skopeo, which manage containers and images without requiring a daemon or root privileges.

v5.8.2

Security

  • This release addresses CVE-2026-33414, where the podman machine init --image command when run on Windows using the Hyper-V backend can run PowerShell-escaped commands from the user-specified image path on in a PowerShell session on the host (GHSA-hc8w-h2mf-hp59).

Bugfixes

  • Fixed a bug where containers with the unless-stopped restart policy would not restart after a reboot when podman-restart.service was enabled (#28152).
  • Fixed a bug where setting Entrypoint="" in a Quadlet .container file did not clear the container's entrypoint (#28213).
  • Fixed a bug where setting a HealthCmd in a Quadlet .container file to a command that included double-quotes (") would result in a nonfunctional healthcheck due to a parsing issue (#28409).
  • Fixed a bug where FreeBSD systems could panic when inspecting containers created with the host network mode (#28289).

API

  • Fixed a bug where the Libpod System Check endpoint could perform operations with bad data after returning a 400 error (#28350).
  • Fixed a bug where the remote attach API for containers (Libpod & Compat) could panic due to a rare race condition (#28277).
  • Fixed a bug where the Secret Create API could not create functional secrets using the shell driver due to options from the default driver being improperly added.

Misc

  • Updated Buildah to v1.43.1
  • Updated the containers/common library to v0.67.1
  • Updated the containers/image library to v5.39.2