github.com-google-go-github
all · 4 devs · built 2026-06-08
Repository snapshot
Monthly reports
Highlights
- Introduced robust *client API version support* via [65d79c66 · Steve Hipwell], enabling better compatibility management.
- Added comprehensive support for *GitHub Copilot cloud agent configuration* ([4eb6c2cf · Shivam Kumar]) and *typed Copilot metrics download helpers* ([f96883e3 · kyungseopk1m]), significantly expanding Copilot integration capabilities.
- Implemented a major architectural refactoring of the *GitHub client constructor* to an *options pattern* ([d9f99978 · Steve Hipwell]), enhancing flexibility and extensibility.
- Refactored multiple API methods to introduce *pagination iterators* for `ListConsumedLicenses` ([b0245f17 · Glenn Lewis]), `ListAllRepositoryRulesets` ([4a6d2a98 · Glenn Lewis]), and `ListRulesForBranch` ([aeea0d20 · Glenn Lewis]), improving handling of large datasets.
- Enhanced *code security configuration* with new fields for *Dependabot* and *Secret Scanning* ([95624307 · BananenBär], [3ad46654 · Jam Balaya]).
- Improved *issue management* by adding support for *issue field values* ([6b805b3d · Iulia Bejan]) and `GetParentIssue` for *sub-issues* ([452f2668 · Svyatoslav Pidgorny]).
Observations
- Total output increased by 125% (11 current vs 5 2-month average), grow score by 109% (4 current vs 2 2-month average), and maintenance score by 223% (7 current vs 2 2-month average) compared to the 2-month average, indicating a highly productive period focused on both new features and significant refactoring.
- Waste score decreased by 66% (0 current vs 1 2-month average), demonstrating improved code quality and efficiency.
- A consistent pattern of *API client refactoring* was observed, including renaming methods for clarity and introducing *pagination iterators* ([b0245f17 · Glenn Lewis], [4a6d2a98 · Glenn Lewis], [aeea0d20 · Glenn Lewis]), and a significant architectural shift to an *options pattern* for the client constructor ([d9f99978 · Steve Hipwell]).
- Regular *dependency updates* for `go-github` ([e1d2bd09 · Glenn Lewis], [07663569 · Glenn Lewis], [d9fc4c0f · Glenn Lewis], [da2e1bfe · Glenn Lewis], [144172e2 · Glenn Lewis], [c6609ad6 · Glenn Lewis]) and *linter tools* ([c207b276 · Glenn Lewis], [79d8b330 · Oleksandr Redko]) indicate a strong focus on maintaining a current and robust development environment.
- Multiple commits focused on *testing improvements* and *robustness*, such as adding marshal tests for *secret scanning* ([7cafc9ad · Kirtikumar Anandrao Ramchandani]), fixing `httptest` server flakiness ([953382f6 · Glenn Lewis]), and standardizing JSON body assertions with a new helper ([0a16e22e · Dhananjay Mishra]).
- Several *breaking changes* were introduced through refactoring, notably the client constructor ([d9f99978 · Steve Hipwell]), app installation method renaming ([c7788f92 · Glenn Lewis]), and issue field value schema alignment ([a5eca738 · Iulia Bejan]), indicating a commitment to improving the API's design and consistency.
Performance over time
ETV stacked by Growth, Maintenance and Fixes — 90-day moving average, normalized to ETV / month.
Average performance per developer
ETV per active developer per month — 30-day moving average.
Active developers over time
Unique developers committing each day — 90-day moving average.
Knowledge concentration
How dependent is this repo on a small number of contributors? Higher top-1 share = higher key-person risk.
Oleksandr Redko owns 40.5 % of commits.
Top contributors
Most impactful commits
Top 20 by ETV in the all-time window.
- 2.0ETVfeat!: Refactor client constructor to use options pattern (#4201) BREAKING CHANGE: Clients are now constructed with a nicer builder pattern. See docs for details.Steve Hipwell · d9f99978 · 2026-05-14
- 1.3ETVrefactor: Use `testJSONBody` helper for request body assertions in tests (#4183)Dhananjay Mishra · 0a16e22e · 2026-05-01
- 1.3ETVfeat: Add support for remaining Codespaces APIs (#3886)Dhananjay Mishra · 2c83bd6b · 2025-12-19
- 1.2ETVfix: Add validation for nil inputs in various services (#3636)Oleksandr Redko · d88d5295 · 2025-07-24
- 1.1ETVfeat: Add iterators for methods with `After` (#4007)Oleksandr Redko · 4d2c2a52 · 2026-02-13
- 1.0ETVPrefer `%v` over `%d`,`%s` and add `fmtpercentv` custom linter (#3756)Glenn Lewis · 45057719 · 2025-10-06
- 0.9ETVfeat!: Add support for enterprise rulesets (#3417) BREAKING CHANGE: `Create*Ruleset` and `Update*Ruleset` now pass `ruleset` parameter by-value instead of by-reference. Fixes: #3416.Steve Hipwell · a61e9cfe · 2025-01-09
- 0.9ETVchore: Improve `testJSONMarshal` (#4042)Oleksandr Redko · 5158bb8e · 2026-02-27
- 0.7ETVchore: Use `any` instead of `interface{}` (#3584)Oleksandr Redko · 3c5408e7 · 2025-06-03
- 0.6ETVAdd support for new custom properties for orgs APIs (#3804)Dhananjay Mishra · 9c16433c · 2025-11-10
- 0.6ETVfix: Fix data race on Windows (#4051)Glenn Lewis · ca13c0cd · 2026-02-28
- 0.5ETVrefactor: Remove redundant `github.Ptr` calls (#4145)Oleksandr Redko · 7d06267e · 2026-04-10
- 0.5ETVrefactor: fix revive.unused-parameter lint issues (#3603)Oleksandr Redko · 94932781 · 2025-06-25
- 0.5ETVfix!: `CreateHostedRunnerRequest`, `UpdateHostedRunnerRequest` instead of `HostedRunnerRequest` (#3973) BREAKING CHANGE: `ActionsService.CreateHostedRunner` and `EnterpriseService.CreateHostedRunner` now accept `CreateHostedRunnerRequest`; `ActionsService.UpdateHostedRunner` and `EnterpriseService.UpdateHostedRunner` now accept `UpdateHostedRunnerRequest`.Oleksandr Redko · 521b62a0 · 2026-02-06
- 0.4ETVfeat: Add client API version support (#4246)Steve Hipwell · 65d79c66 · 2026-05-27
- 0.4ETVrefactor: Fix `gocritic.paramTypeCombine` lint issues (#3655)Oleksandr Redko · a81b973f · 2025-07-28
- 0.4ETVAdd custom `structfield` linter to check struct field names and tags (#3843)Oleksandr Redko · 3afe183d · 2025-11-26
- 0.4ETVfeat: Add support for Enterprise Team APIs (#3861)Dhananjay Mishra · bd1caa09 · 2025-12-08
- 0.4ETVAdd support for organization Immutable Releases API (#3774)Dhananjay Mishra · 18ac81b5 · 2025-10-12
- 0.4ETVfix!: Pass `url` struct tags by value instead of by reference (#3991) BREAKING CHANGE: Many `*Options` structs now pass `omitempty` URL struct fields by value instead of by reference.Glenn Lewis · 71958fb2 · 2026-02-11