Weekly GitHub Report for Kubernetes: March 30, 2026 - April 06, 2026 (18:24:43)
Weekly GitHub Report for Kubernetes
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v1.32.3
1.2 Version Information:
The Kubernetes version released on March 11, 2025, introduces key updates detailed in the official CHANGELOG, with additional binary downloads available. For comprehensive information on new features and changes, users are encouraged to refer to the Kubernetes announce forum and the linked CHANGELOG.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[SIG/NETWORK] [SIG/NODE] [SIG/AUTH] [HELP WANTED] [GOOD FIRST ISSUE] [TRIAGE/ACCEPTED] [WG/DEVICE-MANAGEMENT] Migrate DRA components to support granular authorization on status updates: This issue addresses the migration of Device Resource Allocation (DRA) components in Kubernetes to support a new granular authorization model for status updates introduced in version 1.36. It provides a detailed migration guide outlining the additional RBAC permissions required for various component types such as node-local drivers, control-plane drivers, schedulers, and operators, along with a comprehensive list of downstream projects that need to update their RBAC rules accordingly.
- The comment section shows multiple contributors volunteering to update RBAC rules across various downstream projects, submitting pull requests, clarifying scope and exceptions, coordinating efforts to avoid duplication, and sharing progress updates, demonstrating active collaboration to implement the migration.
- Number of comments this week: 26
-
[KIND/BUG] [NEEDS-SIG] [NEEDS-TRIAGE] kube-apiserver regularly calls conversion webhook for objects even at stable state: This issue reports that the kube-apiserver continues to call conversion webhooks for custom resource objects at regular intervals even when the system is stable and no changes occur, leading to unnecessary webhook invocations during scale tests. The problem is linked to the apiserver's internal watch cache performing periodic relists every five minutes, which forces conversion webhook calls due to the presence of a non-storage API version, and a proposed fix involves optimizing how object consistency is checked by avoiding full object decoding.
- The comments explain that the periodic webhook calls stem from the apiserver's consistency checker fetching and decoding all objects every five minutes, and suggest a fix to calculate object hashes using only metadata from etcd rather than full object decoding. Further discussion includes implementation details for the fix, such as extending the storage interface and parsing keys, and a debate on whether to classify the issue as a bug or a feature improvement.
- Number of comments this week: 7
-
[KIND/BUG] [SIG/API-MACHINERY] [TRIAGE/ACCEPTED] Validate resource name length before admission: This issue addresses the problem of users being able to submit excessively long resource names, which can cause metrics like
RecordRequestTerminationto have many dimensions with very large labels, potentially increasing memory usage permanently. The proposal is to validate and reject requests with overly long resource names at admission time by introducing a new filter in the handler chain to prevent such requests from populating metrics and consuming excessive memory.- The comments show agreement on the validity of the issue and its importance for control plane memory usage, with the issue being triaged as accepted and assigned to a contributor who expressed interest in fixing it; there is also a question raised about what the maximum allowed length or size for the resource name should be.
- Number of comments this week: 7
-
[KIND/BUG] [SIG/SCHEDULING] [SIG/APPS] [SIG/ARCHITECTURE] [NEEDS-TRIAGE] Unhelpful feature gate name
EnableWorkloadWithJob: This issue addresses the naming convention of a feature gate calledEnableWorkloadWithJob, highlighting that including "Enable" or "Disable" in feature gate names is discouraged because feature gates are inherently toggled on or off. The reporter is concerned that this naming slipped through the usual conventions and wonders if it can still be changed before the v1.36 release.- The comments discuss the awkwardness of the current name, suggest alternative names like
WorkloadWithJob, reference related enhancement discussions, and note that a pull request to address the issue is ready for review. - Number of comments this week: 7
- The comments discuss the awkwardness of the current name, suggest alternative names like
-
[KIND/BUG] [SIG/NODE] [TRIAGE/ACCEPTED] NodeDeclaredFeatures are not dynamically updated when container runtime features change: This issue addresses a problem where the kubelet only discovers container runtime features once at startup, causing stale node declared features if the runtime's capabilities change dynamically after kubelet has started. This limitation affects scheduling decisions and pod admission validation, particularly for the alpha-stage feature
UserNamespacesHostNetwork, and the discussion explores the trade-offs between requiring kubelet restarts versus implementing dynamic updates through mechanisms like an explicit CRI API.- The comments discuss that the current design of kubelet discovering runtime features only at startup is intentional to avoid API server load and race conditions, but others argue that dynamic updates are necessary for better user experience since container runtimes can change independently. They consider implementing periodic updates via CRI and acknowledge the complexity of testing live updates, while also noting ongoing efforts to reduce kubelet restarts due to their associated issues.
- Number of comments this week: 6
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 23
Summarized Issues:
- Declarative Validation Enhancements: Several issues propose adding new declarative validation tags to Kubernetes API objects to improve validation consistency and replace handwritten validations. These include tags for numeric multiples, minimum and maximum map properties, CIDR and IP address formats, and regex pattern validation, aiming to align Kubernetes validation with OpenAPI/JSON Schema standards and improve code generation and runtime validation.
- issues/138110, issues/138111, issues/138112, issues/138113, issues/138116, issues/138118
- Kubelet and Container Runtime Issues: Multiple issues describe problems related to kubelet behavior and container lifecycle management. These include stale NodeDeclaredFeatures due to lack of dynamic updates, sequential container kills causing delays in restarts, and preloaded image credential mismatches causing unnecessary pulls and failures.
- issues/138099, issues/138146, issues/138175
- API Server and Watcher Performance Problems: Issues highlight inefficiencies and bugs in the kube-apiserver and watcher mechanisms, such as unnecessary conversion webhook calls during stable states, premature termination of watch requests, and unbounded growth of watcherStream buffers under high load, all impacting performance and observability.
- issues/138101, issues/138194, issues/138217
- Resource and Quota Management Concerns: Some issues focus on resource management, including the need to reject excessively long resource names to prevent memory bloat in metrics, adding resource quota scopes to exclude terminated pods, and migrating Device Resource Allocation components to support new granular authorization requirements for status updates.
- issues/138140, issues/138148, issues/138149
- Code Generation and Testing Failures: Problems related to code generation and testing include a CRD generation failure caused by missing JSON tags on embedded types and flaky integration test failures due to context deadline exceeded errors when updating CRDs, affecting development and CI reliability.
- issues/138133, issues/138218
- API Machinery and Data Representation Bugs: There is a bug in the apimachinery where the Quantity.String() method does not canonicalize certain decimal inputs correctly, leading to inconsistent string representations of quantities.
- issues/138165
- Pod Initialization and Namespace Deletion Issues: Issues include conflicts in init container naming caused by kubelet restarts and clock rollbacks, and incorrect namespace deletion reporting where pods with finalizers remain despite claims of successful cleanup.
- issues/138174, issues/138208
- Feature Gate Naming and KubeDB Service Problems: One issue addresses the unhelpful and inconsistent naming of a feature gate, questioning if it can be renamed before release. Another describes a KubeDB ClickHouse service that continuously flushes without creating pods, indicating a service reconciliation problem.
- issues/138204, issues/138215
- Kubelet Test Goroutine Leak: A long-standing goroutine leak in kubelet configuration file tests is caused by missing context-based termination, leading to improper cleanup during test execution and potential resource exhaustion.
- issues/138134
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 13
Summarized Issues:
- Test Flakiness and Failures in Integration Tests: Several issues report flaky or intermittent test failures in Kubernetes integration tests, including
TestCRD/RaceandTestPodSubresourceAuth. These failures cause unexpected timeouts and permission denials during test execution, with some reproducible locally using stress tools, indicating instability in test environments. - [issues/138114, issues/138124, issues/138125]
- Declarative Validation Tags for API Fields: Multiple issues propose adding new declarative validation tags such as
+k8s:exclusiveMinimum,+k8s:exclusiveMaximum, and various+k8s:formatvalues likek8s-uri,k8s-date-time,k8s-date, andk8s-duration. These enhancements aim to align Kubernetes API validation with OpenAPI/JSON Schema standards, enabling stricter and more expressive validation rules declaratively rather than through handwritten code. - [issues/138115, issues/138117, issues/138119, issues/138120, issues/138121, issues/138122, issues/138123]
- Resource Management and Configuration Bugs: One issue describes a failure in CPU Manager tests caused by inconsistent overriding of PodLevelResources without updating related vertical scaling resources, leading to a panic during KubeletConfiguration defaulting. Another issue details a bug in the VolumeRestrictions plugin where RemovePod incorrectly assumes prefilter state existence, causing failures during preemption simulation.
- [issues/138039, issues/138144]
- Client Compatibility and Watch Protocol Issues: An incompatibility between
client-goversions v1.32/v1.33 and Kubernetes API server v1.34 causes WatchList client protocol failures due to removal of an annotation from synthetic bookmark events. This results in reflector errors and fallback to less efficient LIST/WATCH semantics, impacting client-server communication efficiency. - [issues/138167]
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 79
Key Open Pull Requests
1. [WIP] deferred validation: This pull request introduces deferred validation by updating the validation API to accept non-pointer options, refactoring the validation code generator to use a thread-safe DeferredGen approach for cross-field validation accumulation, simplifying context handling, and updating generated validation code and tests accordingly.
- URL: pull/138205
2. kubelet: perf/optimize kubelet http probe.: This pull request optimizes the kubelet HTTP probe by reusing request objects to reduce heap allocations and memory pressure during high-frequency probing, resulting in a 14% reduction in allocations per operation and a 17% decrease in bytes allocated per operation.
- URL: pull/138220
3. [WIP] apiserver: allow clients to opt out of managedFields in watch responses: This pull request introduces an alpha feature gate called WatchManagedFieldsOptOut that allows clients to opt out of receiving metadata.managedFields in watch API responses by specifying a drop parameter in the Accept header, improving watch serialization performance and flexibility.
- URL: pull/138105
Other Open Pull Requests
- API Definition Testing and Utilities: This topic covers pull requests that add API definition testing to ensure proper management of metadata.generation and introduce test utilities for API definitions. It also includes reorganization of existing tests to utilize these new utilities for better maintainability and coverage.
- Comprehensive Kubernetes Documentation: These pull requests introduce a detailed, source-oriented documentation set for the Kubernetes repository, initially in English and later including a Chinese edition. The documentation covers repository navigation, architecture, control-plane flows, scheduler mathematics, and reconciliation processes, enhanced with diagrams and code anchors.
- Go Version and Toolchain Updates: This group includes updates to the Kubernetes release-1.33 branch to use Go 1.25.8 with necessary compatibility changes and dependency bumps, as well as setting the GOTOOLCHAIN environment variable to auto for end-to-end tests to prevent toolchain installation failures.
- Scheduler Enhancements and Metrics Stability: These pull requests introduce the PreQueueingHint function to optimize pod evaluation and event processing in the scheduler, graduate scheduler metrics from ALPHA to BETA stability, and fix a scheduler bug by adding a Requeue method to improve pod retry handling during preemption.
- Metrics and Performance Fixes: This topic includes fixes for storage list metrics pollution by recording only genuine recursive list operations and optimizing resource version queries to reduce memory usage and improve performance.
- Pause Image Version and SemVer Validation: These pull requests update the pause image to version 3.10.2 and enforce full Semantic Versioning validation, including patch level, for pause image dependencies and related validation scripts.
- CIDR Format Validation Enhancements: This pull request adds three new CIDR-related format values to the Kubernetes declarative validation tag, implementing sloppy CIDR parsing consistent with existing behavior and including runtime validation and integration tests.
- Namespace Deletion Status Fix: This pull request fixes incorrect reporting of namespace deletion status conditions by ensuring that conditions do not falsely indicate all content removal when pods with finalizers remain during ordered namespace deletion.
- Feature Gate Renaming: This pull request renames the feature gate from
EnableWorkloadWithJobtoWorkloadWithJobto remove redundancy and improve clarity in naming conventions.
- HorizontalPodAutoscaler Sync Period Customization: This pull request introduces an optional
syncPeriodSecondsfield to the HPA spec, allowing per-HPA override of the global sync period with a per-item interval rate limiter that defaults to the global setting when unset.
- Mount-utils Logging Bug Fix: This pull request fixes duplicated mount arguments in log output by replacing a
strings.Joincall with direct string concatenation and adds test cases to prevent regressions.
- Kubelet NodeDeclaredFeatures Dynamic Refresh: This pull request updates the kubelet to dynamically refresh
NodeDeclaredFeatureswhen the container runtime reports feature changes, removing the previous limitation of setting features only once at startup.
- Master Lease Reconciler IP Validation: This pull request adds robust IP validation to prevent misconfigured apiserver addresses such as loopback or link-local IPs from being persisted, avoiding service endpoint reconciliation failures.
- Events API Annotation Support: This pull request adds an
AnnotatedEventfmethod to the EventRecorder interfaces, enabling callers to attach custom annotations to events at creation time by updating implementations and threading annotations through event creation.
- Code Generation Tooling Update: This pull request adds the
validation-gentool to the pinned tools to ensurekube_codegen.shfunctions correctly after recent code-generator updates.
- Typo Fixes in Logs and Regex: These pull requests fix a typo in regex group names and variable names from "indention" to "indentation" and correct misleading strings in the statefulset controller and service account token cleaner to improve clarity and prevent runtime panics.
- Kubelet Log Noise Reduction: This pull request reduces the frequency of "Fast watcher, slow processing." log messages and enhances them with additional data to aid diagnosis while maintaining queue identification.
- Kubelet Eviction Signal Hugepages Awareness: This pull request adjusts the kubelet's eviction signal to account for hugepage reservations by subtracting them from available memory, preventing delayed evictions and out-of-memory kills.
- API Lifecycle Metadata Restriction: This pull request limits automatic prerelease lifecycle metadata addition to beta APIs and requires explicit lifecycle metadata for alpha APIs, aligning with approved changes and addressing issue #127249.
- Pod Readiness State Persistence Tests: This pull request adds end-to-end tests verifying that Pods marked NotReady before a kubelet restart remain NotReady after restart until readiness probes update the status.
- Kubeletplugin CDI Spec Update: This pull request updates the kubeletplugin to use CDI spec version 0.5.0 for metadata device IDs, fixing validation failures with runtimes using CDI v0.8.0 and adding regression tests without changing device naming semantics.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 16
Key Closed Pull Requests
1. V1beta1: This pull request removes the v1beta1 REST storage registration and related implementations from the resource API group in the Kubernetes project, including eliminating the resource/v1beta1 import and the v1beta1Storage() function from NewRESTStorage().
- URL: pull/138031
2. fix: validate apiserver endpoints in master lease reconciler: This pull request improves the master lease reconciler by adding robust validation and filtering of apiserver IP endpoints to prevent invalid addresses such as loopback, link-local, or unspecified IPs from being persisted or poisoning the master lease pool, thereby ensuring reliable Kubernetes Service endpoint reconciliation and preventing misconfigured apiservers from blocking healthy ones.
- URL: pull/137383
3. Fix typo: rename sucessObj to successObj in RealFIFO test: This pull request fixes minor typos by renaming variables from "sucessObj" to "successObj" in the RealFIFO unit test and correcting a user-facing typo in a Windows powershell-helper Dockerfile error message, thereby improving code readability, consistency, and log clarity without altering any functionality.
- URL: pull/138007
Other Closed Pull Requests
- Bug fixes in kubelet and kube-proxy components: Multiple pull requests address critical bugs in core Kubernetes components. One fixes a goroutine leak in the kubelet static pod file watcher test suite by improving timeout handling and adding leak verification, while another preserves UDP conntrack entries in kube-proxy for non-terminating endpoints to allow graceful connection completion during readiness probe failures.
- [pull/138161, pull/137986]
- Persistent volume scheduling and resource claim status preservation: Changes ensure correct scheduling of pods with persistent volumes using nodeAffinity when node hostname and nodename differ, and fix kubelet status updates to preserve NodeAllocatableResourceClaimStatuses, maintaining native resource allocations with DRANodeAllocatableResources.
- [pull/138164, pull/138030]
- Test flake fixes and timeout improvements in CRD and authorization tests: Several pull requests improve test reliability by addressing flakes and timeouts. These include deleting CRDs before cleanup to prevent APIService teardown deadlocks, waiting for effective permissions in TestPodSubresourceAuth, fixing APIService cleanup polling issues due to UID differences, and propagating context with standard timeouts in CRD test fixtures.
- [pull/138128, pull/138131, pull/138178, pull/138106]
- Version and security updates for dependencies: Updates include upgrading CNI plugins to version 1.9.1 to fix CVE-2025-67499 and upgrading SELinux to version 1.13, as well as bumping the CDI specification to 0.5.0 to resolve container runtime version mismatches preventing pods from running.
- [pull/137991, pull/138035]
- Documentation improvements: A pull request corrects multiple typographical errors in godoc comments for exported API types and server options, enhancing the accuracy and professionalism of Kubernetes documentation on pkg.go.dev and in generated API references.
- [pull/138108]
- Experimental and unspecified changes: One pull request proposes an initial step to convert Kubernetes codebase to Rust for safety and Linux Kernel integration but was not merged, while another contains unspecified changes with no detailed description.
- [pull/138147, pull/138160]
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| aaron-prindle | 17 | 0 | 14 | 12 |
| Jefftree | 25 | 4 | 0 | 4 |
| pacoxu | 28 | 1 | 2 | 1 |
| liggitt | 6 | 5 | 0 | 21 |
| jpbetz | 10 | 2 | 1 | 9 |
| Lidang-Jiang | 18 | 3 | 0 | 0 |
| pohly | 17 | 1 | 0 | 1 |
| luxas | 18 | 0 | 0 | 0 |
| tallclair | 14 | 1 | 1 | 0 |
| praveen0raj | 0 | 0 | 0 | 16 |
Access Last Week's Newsletter: