Weekly GitHub Report for Kubernetes: July 07, 2025 - July 14, 2025 (12:04:23)
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 version release on March 11, 2025, introduces key updates and changes to Kubernetes, as detailed in the linked changelog, with additional binary downloads available for users. Notable highlights or trends from this release can be found in the Kubernetes announcement forum and the comprehensive changelog documentation.
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.
-
chore: Cleanup replace helper functions which does the same as ptr.To(): This issue involves cleaning up and replacing redundant helper functions in a GitHub project with the
ptr.To()
function from theptr
package, following the resolution of Issue #132086. The task is expected to be ongoing, as it requires identifying and replacing various helper functions across the codebase, such asstrPtr
,uint64Ptr
, andboolPtr
, with the more efficientptr.To()
implementation.- The comments discuss task assignments and coordination among contributors for replacing specific helper functions. Contributors express willingness to tackle different parts of the task, with updates to the issue description for better tracking. There is also a discussion about a specific function that may not be replaced, and new contributors are encouraged to participate by starting with simpler tasks.
- Number of comments this week: 12
-
Kube-proxy doesn't restart on config change: This issue discusses a problem with the kube-proxy component in a Kubernetes setup, where it fails to restart upon configuration changes due to the file system events being different from what is expected. The user reports that instead of the anticipated
fsnotify.Rename
event, they observefsnotify.Remove
andfsnotify.Chmod
events, which prevents the kube-proxy from restarting as intended.- The comments explore potential causes and solutions, including the behavior of configmap-based volumes and the possibility of a container-in-container filesystem quirk. Suggestions include modifying the event handler to account for
fsnotify.Remove
events and checking for valid configurations upon file deletion. There is also a reference to a known issue withfsnotify
and discussions about similar behaviors in other Kubernetes components. - Number of comments this week: 11
- The comments explore potential causes and solutions, including the behavior of configmap-based volumes and the possibility of a container-in-container filesystem quirk. Suggestions include modifying the event handler to account for
-
Incomplete error log "updates to statefulset spec for fields other than ... are forbidden": This issue is about an error encountered during automated tests when attempting to update a Kubernetes StatefulSet with changes to fields that are not allowed, resulting in a vague error message that does not specify which fields were incorrectly modified. The user suggests that the error message should be more informative by indicating the specific fields that were attempted to be changed, which would aid in debugging and support.
- A user asked for guidance on where the StatefulSet validation logic is located to improve error message clarity. Another user provided the file path for the validation logic. Subsequently, a contributor submitted a pull request to enhance the error message by listing the exact forbidden fields that were attempted to be changed and later inquired about feedback on the submitted pull request.
- Number of comments this week: 5
-
Starup probe only starting after periodSeconds when initialDelaySeconds is lower than periodSeconds: This issue describes a problem with the startup probe in Kubernetes, where the first probe call is delayed until after the periodSeconds has passed, despite the initialDelaySeconds being set to a lower value. The user expected the startup probe to initiate immediately after the initialDelaySeconds, but it only started after the periodSeconds elapsed, causing a delay in the startup process.
- The comments clarify that the observed behavior is expected and documented, explaining that if periodSeconds is greater than initialDelaySeconds, the latter is ignored. A suggestion is made to adjust the timeoutSeconds and periodSeconds to optimize the probe settings, especially for startup calls that take 2 to 5 minutes, to avoid multiple hits on the startup probe.
- Number of comments this week: 4
-
Proposal: Official Support for RISC-V Architecture and RVA23 Advancements in Kubernetes Releases: This issue proposes the official support for the RISC-V architecture and RVA23 advancements in Kubernetes releases, highlighting the benefits of RISC-V's open and modular design, which is already supported by major operating systems and toolchains. The proposal emphasizes the alignment of RISC-V with Kubernetes in terms of cost reduction, performance improvement, and enhanced security, while also addressing the current challenge of the absence of official RISC-V artifacts from Kubernetes, which limits ecosystem growth and user experience.
- The comments discuss whether this issue is a duplicate of another and argue for its importance in supporting a specific architecture. Concerns are raised about the lack of RISC-V servers for testing, the high cost of cross-compiling, and the need for consistent policy. There are also questions about the maturity of RISC-V virtualization support and the availability of third-party releases.
- Number of comments this week: 4
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.
- apimachinery resource.Quantity primitive values should be public for recursive hashing: This issue addresses the need for the primitive values within the
apimachinery resource.Quantity
struct to be made public to facilitate recursive hashing by libraries such ashashstructure
, which is currently hindered by the private nature of these variables. The lack of public access to these values complicates the detection of changes in Custom Resource Definitions (CRDs) for projects likekubernetes-sigs/karpenter
, which rely on hash comparisons to identify specification drifts, impacting resource allocation and necessitating cumbersome workarounds. - APF borrowing by exempt does not match KEP: This issue highlights a discrepancy between the Kubernetes Enhancement Proposal (KEP) and its implementation regarding how the exempt priority level borrows from other levels in the Kubernetes API Priority and Fairness (APF) system. Specifically, the KEP outlines a distinct formula for calculating the minimum concurrency limit for exempt levels, which is not reflected in the current implementation, leading to potential inconsistencies in resource allocation.
- Zone-aware down scaling behavior: This issue describes a problem with zone-aware downscaling behavior in Kubernetes, where during scale-in operations, there is an imbalance in pod distribution across zones despite using a topology spread constraint with
maxSkew: 1
. The user reports that during nighttime scale-ins, the system sometimes ends up with only one pod in a zone while the workload spans three zones, leading to high CPU usage for that single pod, which contradicts the expected behavior of maintaining a balanced distribution of pods across zones. - apimachinery's unstructured converter panics if the destination struct contains private fields: This issue describes a problem with the
DefaultUnstructuredConverter
in the Kubernetesapimachinery
package, where it panics when attempting to convert an unstructured object to a structured object if the destination struct contains private fields. The panic occurs because the converter tries to set values on these non-exported fields, which is not allowed, and the user expects the converter to ignore such private fields to prevent the panic. - Jsonpath impl does not support left match regex: This issue is about the lack of support for the
=~
operator in jsonpath filter expressions within a GitHub project, which prevents users from performing left match regex operations. The user is requesting this feature to simplify the process of locating resources by allowing matches based on Golang regular expressions, and they have expressed willingness to contribute to the implementation.
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: 20
Summarized Issues:
- Redundant Type Conversions in Kubernetes: This issue involves identifying and potentially removing redundant type conversions in the file
pkg/apis/batch/fuzzer/fuzzer.go
within the Kubernetes project. It suggests checking for additional instances of such redundancies before proceeding with a pull request.
- Startup Probe Timing Issues: The startup probe in a Kubernetes configuration is not initiating immediately after the specified
initialDelaySeconds
as expected. Instead, it only starts after theperiodSeconds
has elapsed, causing confusion about the correct probe settings to avoid multiple hits on the startup probe.
- Kubernetes ReplicaSet Backoff Mechanism: The backoff mechanism for a Kubernetes ReplicaSet controller grows superexponentially due to spurious triggers caused by network issues. This leads to premature reconciliations and an escalation to the maximum backoff period, suggesting a need to adjust the backoff formula.
- Flaky Tests in Kubernetes: A flaky test in the Kubernetes e2e suite related to the GCP cloud provider has been failing intermittently since June 2025. The test involves rebooting each node in an unclean manner and ensuring they function upon restart, but at least one node does not reboot within the expected time frame.
- Kubernetes Pod Startup Race Condition: A bug in Kubernetes causes the main container to fail to start when the pod's restart policy is set to "Never" and a sidecar container with a startup probe fails on its first attempt. This leads to a race condition where the startup probe does not run again, causing the kubelet to incorrectly assume the init container never initialized successfully.
- Insufficient Error Logging in Kubernetes: There is a problem with insufficient error logging when attempting to update a StatefulSet with forbidden field changes. The error message should specify which exact fields were attempted to be changed to improve debugging and support processes.
- RISC-V Architecture Support in Kubernetes: This issue proposes the official support for the RISC-V architecture and its RVA23 advancements in Kubernetes releases. It highlights the benefits of RISC-V's open and extensible ISA and the challenges related to infrastructure, resources, and community support that need to be addressed.
- Kubernetes Scheduler Integration Tests: The async preemption feature gate is not properly disabled during Kubernetes scheduler integration tests. This results in test cases that are supposed to evaluate both enabled and disabled states of the feature not interacting with the feature gate as intended.
- Windows Pods Memory Support in Kubernetes: Adding support for
emptyDir.medium: Memory
to Windows pods in Kubernetes is necessary as the current workaround using a manually added Ramdisk and hostPath poses security risks. Microsoft would need to provide a native configuration method to optimize performance for legacy applications.
- PodResizeInProgress Race Condition: A race condition in the Kubernetes project related to the PodResizeInProgress condition may cause a pod undergoing syncing to incorrectly have the condition re-added. This occurs due to a new resize allocation occurring between checks, leading to temporary and minor consequences.
- Kubelet Efficiency Improvements: Improving the efficiency of the Kubelet by caching the
schedulerframework.NodeInfo
is necessary to avoid the heavy operation of reconstructing it on every admission request. Updates to the cache are needed when a pod is added, resized, becomes inactive, or when its status resources change.
- PVC Capacity Discrepancies: A change in the behavior of
PVC::status.capacity
when expanding a PersistentVolumeClaim (PVC) in Kubernetes leads to discrepancies. Previously, it stored the actual capacity returned by the CSI driver, but now it copies the value fromPVC::spec.resources
, which is not documented in the Kubernetes Enhancement Proposal (KEP).
- Kubelet Drain Orphaned Pod Volumes: Running a
kubelet drain
without recreating the operating system leads to orphaned pod volume entries. The new pod, created after the old one is deleted, locks the log files, preventing the kubelet from removing the old pod volumes as both the old and new pod volumes point to the same location.
- OpenAPI MinProperties Validation Messages: Enhancing the clarity and accuracy of error messages generated by the OpenAPI MinProperties validation in Kubernetes is necessary. Improvements such as changing "should have at least 1 properties" to "must have at least 1 field set" are suggested.
- Kube-proxy Configuration Reload Issues: The kube-proxy does not restart as expected upon configuration changes in a local kind setup. This is due to the file system watcher not detecting the correct events, preventing the proxy from reloading the updated configuration embedded in a config map and mounted as a volume in the pod.
- Kubelet Credential Plugins Integration Tests: Adding integration tests for kubelet credential plugins is suggested to ensure comprehensive testing and validation within the Kubernetes project. This would be similar to the tests already in place for client-go credential plugins.
- Conversion-gen Tool Bug: A bug in the
conversion-gen
tool generates incorrect conversion code, leading to panics when accessing certain fields after conversion. This is due to improper handling of pointer conversions between different API versions of theJSONSchemaProps
struct.
- TestProgressNotify Test Failure: The
TestProgressNotify
test fails due to errors related to the embedded etcd server setup when the etcd version is upgraded to 3.6.2. This causes closed network connections and server closure errors, and it is suspected that recent changes in etcd might be responsible for breaking the unit tests.
- Consistent Test Failures in Kubernetes: The
ci-kubernetes-e2e-gce-node-containerd
test is consistently failing during the execution of thee2e-up.sh
script. This results in an exit status 2 error, as documented in multiple recent test runs.
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: 9
Summarized Issues:
- Enhancing Test Job Efficiency: This topic focuses on improving the efficiency of Kubernetes test jobs by implementing strategies such as adding
t.Parallel()
to unit tests and reducing delays fromtime.Sleep()
orcontext.WithTimeout()
. These changes aim to speed up the tests without introducing flakiness.
- kubectl SuccessCriteriaMet Status: The Kubernetes command-line tool, kubectl, currently does not display the SuccessCriteriaMet status for jobs, despite the SuccessPolicy feature being available. This necessitates an update to the status field to accurately reflect when a job's success criteria have been met.
- Token Manager Cache Bug: A bug in the Kubernetes token manager cache causes it to return outdated tokens when service accounts are recreated with the same name. Improvements such as incorporating service account UID awareness are suggested to ensure token regeneration and smarter cache invalidation.
- kubectl Apply Command Error: The
kubectl apply
command incorrectly treats a temporary directory as a file due to a period in the directory name. This results in an error when attempting to apply configurations, as the directory is mistakenly interpreted as having an unrecognized file extension.
- Apiserver Aggregation Service Error: Accessing the aggregation service through the apiserver results in an error due to the apiserver shutting down, as indicated by client-go logs. However, direct access to the aggregation service remains unaffected.
- GKE Kubelet Node Bootstrap Failure: Google Kubernetes Engine (GKE) fails to bootstrap kubelet nodes on e2-micro VMs due to a container image import timeout. This issue is likely exacerbated by CPU starvation and can be resolved by increasing the image loading timeout.
- Failing Kubernetes Tests: Several tests in the Kubernetes project are failing, including the
kubetest.Up
test due to a node size change and the "TestPodResourceAllocationReset" on Windows due to resource allocation discrepancies. These issues require configuration adjustments and potential fixes identified in related pull requests.
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: 65
Key Open Pull Requests
1. [WIP] Enable image pull credential verification with service account–based credential providers: This pull request aims to enhance Kubernetes by enabling image pull credential verification through service account–based credential providers, introducing a new CacheType field in the ServiceAccountTokenAttributes API to allow for varying levels of credential caching granularity, and integrating these service account credentials into the image pull manager.
- URL: pull/132771
- Merged: No
2. [KEP-5365] Implement Image Volume with Digest: This pull request introduces the "ImageVolumeWithDigest" feature to Kubernetes, which adds the digest of image volumes to the container's status, enhancing the system's ability to track and verify image integrity as part of the Kubernetes Enhancement Proposal (KEP-5365).
- URL: pull/132807
- Merged: No
3. DRA: refactor claim allocator: This pull request refactors the claim allocator in the Kubernetes project to maintain different versions of allocator logic, addressing previous issues where adding an alpha feature caused regressions even when disabled, and opens the possibility for implementing alternative allocation strategies.
- URL: pull/132870
- Merged: No
Other Open Pull Requests
- In-place Pod Resizing Metrics: This topic covers the introduction of new metrics for in-place pod resizing in Kubernetes, including the recording of various metrics such as 'kubelet_pod_resize_duration_milliseconds'. The pull requests also change the unit of the resize duration metric from seconds to milliseconds to improve monitoring and instrumentation.
- Kubernetes Scheduler Refactoring: The refactoring of the framework tests in the Kubernetes scheduler to use mock objects instead of real metrics is a key focus. This includes introducing a
FakeMetricAsyncRecorder
to simplify test implementation and avoid limitations associated with real metrics.
- StructuredAuthenticationConfigurationEgressSelector: This feature introduces the
StructuredAuthenticationConfigurationEgressSelector
beta feature to the JWT authenticator in Kubernetes. It allows each authenticator to optionally specify an egress selector type to enhance network security.
- MutatingAdmissionPolicy Promotion: The promotion of the MutatingAdmissionPolicy feature to Beta status in Kubernetes is a significant update. This ensures it meets the necessary beta graduation criteria, although the feature will be off by default.
- CEL Validation Rule Enhancements: Enhancements to the user experience by improving messages returned when CEL validation rules fail are addressed. This includes adding simple values in error messages to address issue #132528.
- Watchlist Table Format Support: A new feature enables the watchlist to support sending resources in a Table format. This includes changes to endpoints and handlers, along with tests to ensure server compatibility.
- User Namespace and VolumeDevices Validation: A bug fix implements validation to return an error when user namespaces are used with volumeDevices. This combination is not supported, and updates align with existing validation practices.
- Kube-Controller-Manager Metrics: New metrics are introduced to the Kubernetes project, specifically adding gauge metrics to the kube-controller-manager. These track the number of ResourceClaims with AdminAccess as part of an update to the Kubernetes Enhancement Proposal (KEP) for DRAAdminAccess.
- Kubelet Image Pull Metrics: New metrics are introduced to the Kubernetes kubelet, focusing on tracking the size of the image pull records cache. This includes the total number of MustAttemptImagePull invocations and their outcomes.
- Kubeproxy Metrics Enhancement: Enhancements to kubeproxy metrics include extending the metrics bucket range for various latency metrics. A new histogram metric called
NetworkProgrammingQueueLatency
is introduced to track queue wait times.
- Kubectl Namespace Error Message Fix: A bug in the
kubectl get
command is addressed by correcting the error message for non-existent namespaces. This change enhances user clarity by providing a more accurate error message.
- Dependency Updates: The Kubernetes project is updated by bumping the
k8s.io/kube-openapi
dependency and changing thesigs.k8s.io/structured-merge-diff
version. This is part of a cleanup effort to incorporate recent updates.
- Pod Status Update Migration: A new feature migrates pod status updates, binding, and preemption API calls to a system routed through a scheduling queue or cache. This is outlined in Kubernetes Enhancement Proposal (KEP) 5229.
- DRAPrioritizedList Feature Promotion: The DRAPrioritizedList feature is promoted to Beta, enabling it by default. This allows for a prioritized list of subrequests in a ResourceClaim as part of the Kubernetes enhancements project KEP-4816.
- Kubectl Set Selector Command Fix: A bug fix in the Kubernetes project corrects the example in the help documentation for the
kubectl set selector
command. This ensures it works correctly by adding the necessary--image
flag.
- Kubelet Plugin Manager Cleanup: The Kubernetes codebase is cleaned up by converting the kubelet plugin manager from using deprecated gogo protocol definitions to standard Google Protocol Buffers. This addresses issue #96564.
- Named Port for Probes in Static Pod Manifests: A named port, 'probe-port', is introduced for all probes in the static pod manifests of control plane components. Users must update their patches to include the named port.
- Client-go Event Label Support: Label support is proposed for events in the client-go library of the Kubernetes project. This addition is detailed in the commit with SHA c23e1f7f7aee3432bccb44f64004963ba6943067.
- Batch Fuzzer Component Cleanup: A cleanup task removes redundant type conversions within the
apis/batch/fuzzer
component. This addresses issue #132790 without introducing user-facing changes.
- CPUManager Test Suite Updates: Updates address remaining gaps in replacing the old legacy cpumanager test suite. This includes fixing CPU quota non-regression tests to verify previous behavior using integer quotas.
- Kubelet PSI Metrics Promotion: The Kubelet Pressure Stall Information (PSI) metrics feature is promoted to beta status. This includes extending end-to-end test coverage and conducting performance testing.
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: 64
Key Closed Pull Requests
1. chore: removing redundant type conversion within batch/fuzzer.go: This pull request involves a cleanup task that removes redundant type conversions in the batch/fuzzer.go
file of the Kubernetes project, addressing issue #132790, and includes various commits related to code refactoring, unit tests, and enhancements across different parts of the codebase.
- URL: pull/132808
- Merged: No
- Associated Commits: 70419, d6f66, 569b1, 3219d, 9aefc, c0848, ff390, e7537, 2a372, b0af4, 5cf52, e9bf2, 39c37, 3470e, 54b76, 9daf9, 654df, 5eeb5, 775fa, 988c8, 11880, 9e2bb, 027a9, fcdb4, 90eda
2. local-up-cluster: cleanup, support automated upgrade/downgrade testing: This pull request focuses on cleaning up the local-up-cluster.sh
script to support automated upgrade and downgrade testing by introducing a "dry run" mode for command execution, simplifying the script by removing outdated components, and making various improvements such as configuring ports, managing container runtimes, and storing logs for better debugging and CI integration.
- URL: pull/132867
- Merged: Yes
3. Avoid manually writing resize patches for pod resize E2Es: This pull request introduces a utility to automatically generate resize patches from the differences between two []ResizeableContainerInfo
specifications, thereby streamlining the code for pod resize end-to-end tests by eliminating the need for manually written patch strings and enhancing code readability and maintainability.
- URL: pull/132795
- Merged: Yes
Other Closed Pull Requests
- Kubelet Token Cache UID-awareness: This pull request addresses a bug in the Kubernetes project by making the kubelet token cache UID-aware. It introduces a new
TokenRequestServiceAccountUIDValidation
feature gate to ensure token requests validate the service account UID, resolving the issue of expired tokens being returned for newly recreated service accounts.
- Swap Eviction Test Improvement: This pull request focuses on improving the swap eviction test by addressing non-blocking comments from a previous pull request. It adds a context argument to the
prePodCreationModificationFunc()
and refactors the code to usegetLocalNode()
to reduce code duplication.
- Kubernetes Enum Validator: This pull request introduces a new feature by adding a Kubernetes enum validator to the validation-gen tool. It supports the 1.34 migration of validation for the
CertificateSigningRequest
and has been reviewed and merged into the development branch.
- ValidatingAdmissionPolicy Flake Issue: This pull request addresses a flake issue in the ValidatingAdmissionPolicy (VAP) integration tests by implementing per-policy marker names. It ensures that each test case accurately detects when its specific policy is active, preventing test failures caused by incorrect assumptions.
- Kubelet Component Cleanup: This pull request involves a cleanup task where an unused package in the kubelet component was removed. Its exported functions were only utilized in a single test file, which has now been replaced with simplified code to achieve the same functionality.
- Replacement of Deprecated Package 'k8s.io/utils/pointer': Multiple pull requests involve replacing the deprecated package 'k8s.io/utils/pointer' with 'k8s.io/utils/ptr' across various files in the Kubernetes project. This cleanup effort addresses issue #132086 and ensures the codebase remains up-to-date with current package standards.
- Linter Configuration Update: This pull request addresses the issue of linter hints appearing in all pull requests that modify the API. It excludes the naming convention check for swagger documentation in the golangci-lint configuration, as this convention is not desired for generated code.
- Go Version Reversion for Compatibility Testing: This pull request is an experimental cleanup effort aimed at testing the release 1.33 by reverting a previous update that bumped Go to version 1.24.4. The compatibility tests were failing, potentially due to this recent Go version change.
- Conversion to Standard Protobuf: This pull request involves converting the
externaljwt
package from using the deprecated gogo protocol definitions to the standardprotoc
provided bygoogle.golang.org/protobuf
. It is part of a cleanup effort related to issue #96564 in the Kubernetes project.
- README.md Update: This pull request involves an update to the README.md file in the Kubernetes project. However, it was not merged into the main codebase.
- Duplicate Set Implementation Replacement: This pull request involves replacing a duplicate set implementation with the
sets.Set
from the apimachinery library. This change is intended to streamline the codebase and improve maintainability.
- Removal of Deprecated Utility Usage: This pull request involves the removal of deprecated utility usage, specifically the 'utilpointer', from the 'staging/src/k8s.io/cli-runtime/pkg/genericclioptions/config_flags' directory. It is part of a cleanup effort related to the Kubernetes project, although it was not merged.
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 |
---|---|---|---|---|
PatrickLaabs | 37 | 26 | 4 | 28 |
pohly | 43 | 10 | 6 | 29 |
ylink-lfs | 26 | 21 | 6 | 25 |
serathius | 20 | 11 | 0 | 34 |
macsko | 8 | 4 | 13 | 28 |
yongruilin | 24 | 4 | 3 | 16 |
liggitt | 1 | 0 | 2 | 37 |
BenTheElder | 6 | 1 | 0 | 31 |
dims | 13 | 4 | 5 | 10 |
sanposhiho | 2 | 1 | 8 | 19 |