knplabs/github-api
GitHub API v3 client
v3.16.1
18M downloads/mo
#1252 most downloaded on Packagist
KnpLabs/php-github-api
What this package is like to depend on
Last release 6 days ago
18 Aug 2026
Release timing varies
gaps range from 5 weeks to 1.8 years
Some releases are documented
notes for 36 of 88 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
93 releases · first in 2012
1 release in the last 12 months
see the full history below
Release timeline
92 releases · Jul 2012 to Aug 2026Releases
latest 60 of 93-
v3.16.118 Aug 2026Release notes
Open source →Fixed
- Fix handling of 422 responses where errors is a string (GrahamCampbell) #1164
-
v3.16.007 Nov 2024 -
v3.15.023 Sep 2024Release notes
Open source →Added
- Fix implicit nullable types to avoid PHP 8.4 warnings (eiriksm, acrobat) #1144
- Add API endpoints to interact with organization roles (glaubinix) #1143
- Copilot Usage Endpoints (anthony-webart) #1142
- Fix type error in ResultPager::fetch (nunoplopes) #1132
-
v3.14.124 Mar 2024Release notes
Open source →Fixed
- Handle case of GitHub returning 204 No Content in some scenarios (tomcorbett) #1135
-
v3.14.019 Mar 2024 -
v3.13.019 Nov 2023Release notes
Open source →Added
- Test against php 8.3 (sergiy-petrov) #1124
- feat: Secret Scanning Alerts (haridarshan) #1114
- feat: User Migration (haridarshan) #1115
Changed
Fixed
-
v3.12.030 Sep 2023Release notes
Open source →Added
- feat: Support for Organization Runners (haridarshan, renovate[bot]) #1101
- allow psr/http-message v2 (LordSimal) #1122
Changed
- Fixed branch alias (GrahamCampbell) #1109
-
v3.11.010 Mar 2023 -
v3.10.009 Mar 2023Release notes
Open source →Added
Changed
- Create authorization removed from docs (rafasashi) #1090
- Setup dependabot for github action workflows (acrobat) #1098
- Bump actions/checkout from 2 to 3 (dependabot[bot]) #1099
- Bump ramsey/composer-install from 1 to 2 (dependabot[bot]) #1100
-
v3.9.024 Oct 2022Release notes
Open source →Added
- Add the ability to download raw file, needed when size > 1MB (genintho) #1075
- Feat: Support new Team Repositories Endpoint (iBotPeaches) #1082
- App: add hook endpoints (glaubinix) #1086
- Add sync a fork branch with the upstream repository (DAGpro) #1084
Changed
- Fix return types in phpdoc for
AssigneesandReviewRequest(rob006) #1078 - Fixed several typos and grammar errors (AndrewDawes) #1088
-
v3.8.001 Aug 2022Nothing published for this version
-
v3.7.012 Jun 2022Nothing published for this version
-
v3.6.024 Mar 2022Nothing published for this version
-
v3.5.119 Feb 2022Nothing published for this version
-
v3.5.023 Jan 2022Nothing published for this version
-
v3.4.008 Dec 2021Nothing published for this version
-
v3.3.020 May 2021Nothing published for this version
-
v3.2.028 Apr 2021Nothing published for this version
-
v3.1.011 Mar 2021Nothing published for this version
-
v3.0.021 Dec 2020Nothing published for this version
-
v2.20.016 Apr 2021 -
v2.19.228 Mar 2021Release notes
Open source →Changed
- Improved bc check (acrobat) #982
- Correctly link to github actions docs and fix backlinks (acrobat) #983
- Add missing repo hooks documentation (acrobat) #987
- Fix incorrect public key documentation (acrobat) #988
- Fixed incorrect parameters in apps docs (acrobat) #989
Fixed
-
v2.19.111 Mar 2021 -
v2.19.021 Dec 2020 -
v2.18.011 Dec 2020 -
v2.17.014 Nov 2020 -
v2.16.008 Nov 2020Release notes
Open source →Added
- Add support for SSO errors coming from the API (eiriksm) #913
- Add OutsideCollaborators api (Matth--) #925
- Add support for creating a repo dispatch event (Nyholm) #931
Changed
- Fix: Wrong PHPDoc description (OskarStark) #922
- Adding GitHub authentication to GraphQL documentation (legionth) #927
Fixed
- Use RFC3986 for building URI query strings (GrahamCampbell) #908
- Fix call to test a webhook method (morrislaptop) #915
-
v2.15.011 Jul 2020Release notes
Open source →Added
- Prepare deprecation of authentication methods (acrobat) #870
- Add Support For GitData Reference Matching Methods (nickpoulos) #875
- Make invalid request error more clear (acrobat) #880
- Show user by ID (genintho) #894
- add additional check run methods (bobeagan, acrobat) #865
Changed
- Added phpstan (clxkoders) #871
- Increase phpstan to level 4 (acrobat) #874
- [Documentation] Add Missing Children to Pull Request Index (jimlind) #877
- [Documentation] Include links to Pull Request Children on Pull Request Doc. (jimlind) #878
- Fix typo in /lib/Github/Api/RateLimit.php (yoonper) #886
- Don't use deprecated auth in examples (GrahamCampbell) #892
- Removed shadow-cat (GrahamCampbell) #893
- Don't urlencode integer values (acrobat) #895
- phpstan level 6 fixes (acrobat, GrahamCampbell) #897
Fixed
- fix: use new media type for branch protections (iBotPeaches) #881
- Added missing 'machine-man-preview' accept headers (vovayatsyuk) #883
- Fix broken roave/bc-check test (acrobat) #890
- Fixed incorrect MissingArgumentException parent constructor values (acrobat) #896
- Added AUTH_ACCESS_TOKEN to allowed methods (GrahamCampbell) #899
-
v2.14.025 Apr 2020Release notes
Open source →Added
- Replace deprecated Organization\Teams api calls (lolos) #860
- Add sort and direction for fetching organizations repos (pgrimaud) #863
- Added parameters to Repo/milestones() method (dereuromark) #856
Fixed
Changed
-
2.13.016 Mar 2020Release notes
Open source →Added
- Support the new authorizations API
- Repo community profile API endpoint
- Support for draft PRs
- Missing Apps endpoints
- Test against php 7.4
Changed
- Allow create & remove to set and remove requests for teams
-
2.12.107 Nov 2019Release notes
Open source →Fixed
- Fixed bug in handling of validation errors
- Updated docs to not use deprected string parameter in issue assignee call
-
2.12.003 Nov 2019Release notes
Open source →Added
- Support for HTTPlug 2.0 and PSR-18
- Add support for GitHub Checks
- Add support for GitHub Pages
- Add support to update a Pull Request Review
- Add support to get specific revision of a gist
- Added a 4th argument
$parameterstoPullRequest::files() - Added
Acceptheaders to Github Apps
Removed
- Active support for HHVM
- Support for PHP <7.1
Changed
- Allow tags to be created without the
Taggerobject - When updating DeployKeys we will first remove existing then add a new DeployKey
Fixed
- In
Treeswe should check ifarray_key_exists('sha', $tree)instead ofissetto avoid issues withnull. (#822)
Deprecated
- Passing an integer (
$page) as 4th arugment inComments::all()is deprecated. It should be an array.
-
2.11.028 Jan 2019Release notes
Open source →Added
- Support for Miscellaneous Licenses (#744)
- Structured Limit objects for rate limiting API (#733)
- Support for getting star creation timestamps in activity/starring endpoint (#729)
Fixed
- Added missing has_projects parameter to repo create (#752)
- Proper type hinting for magic methods (#758)
- Allow symlink to files to be downloaded (#751)
Changed
- Fix of PHP version in readme (#747)
- Fix documentation to get release for a tag (#755)
- Declare all used properties in RateLimitResource class (#762)
- Set correct property and return types (#764)
- Fixed install docs broken after 2.0 release of httplug lib (#767)
-
2.10.105 Sep 2018Release notes
Open source →Fixed
- Convert the assignee parameter to array to avoid getting a 422 error on github (#738)
- Fix GraphQL test warnings when they do not assert anything (#735)
Changed
- Check for BC breaks during the travis build (#734)
-
2.10.003 Sep 2018Release notes
Open source →Added
- Support for "before" parameter on Notification API (#724)
Changed
- Allow unspecified
eventwhen creating review (#723)
Fixed
- Adjust: installationn access token endpoint (#731)
- Fixed "get single label" example and add correct example for getting issue's labels (#732)
- Add comment about
Keyconstructor argument (#722)
-
2.9.023 Jul 2018Release notes
Open source →Added
- API endpoint
Github\Api\Repo::transfer() - API endpoint
Github\Api\Notification::markThreadRead() - API endpoint
Github\Api\Search::topics()
Fixed
- Make sure to always reset the "per page" in
Github\ResultPager::fetchAll().
- API endpoint
-
2.8.023 Mar 2018Release notes
Open source →Added
- Allow our HTTP plugins to show up in the Symfony web profiler page. (#687)
- Repository documentation to current user (#671)
- Add collaborator permission call (#678)
- Add missing parameters for User/CurrentUser Repositories (#684)
- Pimp the readme with badge poser (#686)
Fixed
- Typo in assignee documentation
- Missing use statement in security example
- Fixed phpdoc typo (#695)
- Replace use of deprecated api to the correct one in the security docs (#697)
Changed
- Updated requirements in readme (#689)
-
2.7.012 Dec 2017Release notes
Open source →Added
- Phpunit 6 compatibility
Github\Api\AbstractApi::setPage()to allow you to set the page on all endpoints.- Support for query parameters and request headers on
Github\Api\User::followingandGithub\Api\User::followers - API endpoint
Github\Api\CurrentUser\Emails::allPublic() - API endpoint
Github\Api\Search::commits() - API endpoint
Github\Api\Miscellaneous\CodeOfConduct - API endpoint
Github\Api\Repo::topics() - API endpoint
Github\Api\Repo::replaceTopics()
Fixed
- Fixed bug in
PathPrependplugin where "api/vX" could be duplicated.
Changed
- Improved documentation and doc blocks
Removed
- Dropped support for php 5.5
Deprecated
The following endpoints were deprecated by Github and are also deprecated in the client:
Github\Api\Repo::find()Github\Api\User::find()Github\Api\Issue::find()
-
2.6.030 Sep 2017Release notes
Open source →Added
- Support for graphql api variables (#612)
- Added missing branch protection methods (#616)
- Helper function
fromFileto get GraphQL queries from a file (#628) - Extra parameter
paramsto collaborators api calls (#623) - Documentation for GitData API (#613)
Fixed
- Remove
bodyas a required parameter when creating an issue (#624) - Minor fixes in example code (#617)
-
2.5.026 Jun 2017Release notes
Open source →Added
- Stable support for graphql api (V4) (#593)
- Stable support for apps (previously integrations) (#592)
Repo::events()
Fixed
- Incorrect link in repository search docs (#594)
- Added the required parameter
$messageonReview::dismiss.
-
2.4.010 May 2017Release notes
Open source →Added
Integrations::configureto allow accessing early access program endpoints.- Add support for pagination and parameters in the pull request comments
- Add the ability to fetch user installations (
CurrentUser::installations) - Allow getting repo info by id (
Repo::showById) - Allow fetching repositories for a specific installation and user (
CurrentUser::repositoriesByInstallation)
Changed
PullRequest\ReviewandPullRequest\ReviewRequestis now part of the official API. No need to callconfigure.
-
2.3.018 Apr 2017Release notes
Open source →Fixed
- Issue where we serve the wrong cached response. We vary on authorization header now.
Added
PullRequest::status- Throw InvalidArgumentException on
PullRequest::mergewhen wrong merge method is used. - Added
Protection::configure
Changed
- First argument to
Integrations::listRepositories()is now optional. - Moved tests from "functional" to "integration"
-
2.2.028 Mar 2017Release notes
Open source →Added
- API support for Pull Request Review Requests.
- API support for Traffic.
- API support for issue Assignees.
- API support for Miscellaneous Gitignore and Emojis.
- Added endpoints for issue lock, unlock and issue label show.
- Added more parameters to
User::starred. - Fluid interface by allowing
configure()to return$this. configure()support for issues API.
Fixed
- Cache issue where some requests are not cached
- Issue with
User::all()creates a query with double question marks.
-
2.1.023 Mar 2017Release notes
Open source →Added
- Add support for retrieving a single notification info using his ID
- Add a function to get user organizations
- Added GraphQL support
- Add page variable to organization repo list (Organization::repositories())
- Add support for pull request review.
- Add support for adding branch protection.
Fixed
- Bug with double slashes when using enterprise URL.
- Bug when headers not being passed to request (#529)
-
2.0.113 Dec 2016Nothing published for this version
-
2.0.011 Dec 2016Release notes
Open source →Added
- Support for JWT authentication
- API for Organization\Members
- API for Integrations
- API for Repo\Cards
- API for Repo\Columns
- API for Repo\Projects
- API for User\MyRepositories
- Methods in Repo API for frequency and participation
Changed
ApiLimitExceedException::__constructhas a new second parameter for the remaining API calls.- First parameter of
Github\Clienthas changed type from\Http\Client\HttpClienttoGithub\HttpClient\Builder. A factory class was also added. To upgrade you need to change:
// Old way does not work: $github = new Github\Client($httpClient); // New way will work: $github = new Github\Client(new Github\HttpClient\Builder($httpClient)); $github = Github\Client::createWithHttpClient($httpClient);- Renamed the currentuser
DeployKeysapi class toPublicKeysto reflect to github api name.
-
2.0.0-rc408 Sep 2016 pre-releaseRelease notes
Open source →Added
- HTTPlug to decouple from Guzzle
Github\Client::getLastResponsewas added- Support for PSR-6 cache
Github\Client::addPluginandGithub\Client::removePluginGithub\Client::getApiVersionGithub\Client::removeCache
Changed
- Uses of
Github\HttpClient\HttpClientInterfaceis replaced byHttp\Client\HttpClientie the constructor ofGithub\Client. - We use PSR-7's representation of HTTP message instead of
Guzzle\Http\Message\ResponseandGuzzle\Http\Message\Request. Github\Client::addHeaderswas added instead ofGithub\Client::setHeaders- Signature of
Github\Client::useCachehas changed. First argument must be aCacheItemPoolInterface - We use PSR-4 instead of PSR-0
Removed
- Support for PHP 5.3 and 5.4
Github/HttpClient/HttpClientInterfacewas removedGithub/HttpClient/HttpClientwas removed- All classes in
Github/HttpClient/HttpClient/Listener/*were removed Github/HttpClient/CachedHttpClientwas removed- All classes in
Github/HttpClient/Cache/*were removed
-
2.0.0-rc304 Aug 2016 pre-releaseNothing published for this version
-
2.0.0-rc231 Jul 2016 pre-releaseNothing published for this version
-
2.0.0-rc129 Jul 2016 pre-releaseNothing published for this version
-
2.0.0-rc27 Jul 2016 pre-releaseNothing published for this version
-
1.7.126 Jul 2016 -
1.7.029 May 2016Nothing published for this version
-
1.6.120 May 2016Nothing published for this version
-
1.6.024 Feb 2016Nothing published for this version
-
1.5.111 Oct 2015Nothing published for this version
-
1.5.020 Aug 2015Nothing published for this version
-
1.4.15no dateNothing published for this version
-
1.4.1403 Jul 2015Nothing published for this version
-
1.4.1302 Jul 2015Nothing published for this version