knplabs/github-api
Lightweight, well-tested PHP wrapper for GitHub APIs v3 (REST) and v4 (GraphQL). PSR-17/PSR-18 compatible via HTTPlug, with easy setup using Guzzle, Symfony HttpClient, or other PSR clients. Supports framework integrations (Laravel via graham-campbell/github).
Github\Api\Repo::transfer()Github\Api\Notification::markThreadRead()Github\Api\Search::topics()Github\ResultPager::fetchAll().Github\Api\AbstractApi::setPage() to allow you to set the page on all endpoints.Github\Api\User::following and Github\Api\User::followersGithub\Api\CurrentUser\Emails::allPublic()Github\Api\Search::commits()Github\Api\Miscellaneous\CodeOfConductGithub\Api\Repo::topics()Github\Api\Repo::replaceTopics()PathPrepend plugin where "api/vX" could be duplicated.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()fromFile to get GraphQL queries from a file (#628)params to collaborators api calls (#623)body as a required parameter when creating an issue (#624)Repo::events()$message on Review::dismiss.Integrations::configure to allow accessing early access program endpoints.CurrentUser::installations)Repo::showById)CurrentUser::repositoriesByInstallation)PullRequest\Review and PullRequest\ReviewRequest is now part of the official API. No need to call configure.PullRequest::statusPullRequest::merge when wrong merge method is used.Protection::configureIntegrations::listRepositories() is now optional.User::starred.configure() to return $this.configure() support for issues API.User::all() creates a query with double question marks.$parameters to PullRequest::files()Accept headers to Github AppsTagger objectTrees we should check if array_key_exists('sha', $tree) instead of isset to avoid issues with null. (#822)$page) as 4th arugment in Comments::all() is deprecated. It should be an array.event when creating review (#723)Key constructor argument (#722)Github\Client::getLastResponse was addedGithub\Client::addPlugin and Github\Client::removePluginGithub\Client::getApiVersionGithub\Client::removeCacheGithub\HttpClient\HttpClientInterface is replaced by Http\Client\HttpClient ie the constructor of Github\Client.Guzzle\Http\Message\Response and Guzzle\Http\Message\Request.Github\Client::addHeaders was added instead of Github\Client::setHeadersGithub\Client::useCache has changed. First argument must be a CacheItemPoolInterfaceGithub/HttpClient/HttpClientInterface was removedGithub/HttpClient/HttpClient was removedGithub/HttpClient/HttpClient/Listener/* were removedGithub/HttpClient/CachedHttpClient was removedGithub/HttpClient/Cache/* were removedApiLimitExceedException::__construct has a new second parameter for the remaining API calls.Github\Client has changed type from \Http\Client\HttpClient to
Github\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);
DeployKeys api class to PublicKeys to reflect to github api name.No change log before this version
How can I help you explore Laravel packages today?