Release 1.59.0 (#2563)

This commit is contained in:
Enrico Minack
2023-06-22 19:41:10 +02:00
committed by GitHub
parent ff3b80f8f1
commit 14ae2cad4c
5 changed files with 108 additions and 11 deletions
+101 -6
View File
@@ -4,12 +4,107 @@ Change log
Stable versions
~~~~~~~~~~~~~~~
Version 1.59.0 (June 22, 2023)
-----------------------------------
**Important**
This release introduces new way of authentication. All authentication-related arguments ``github.Github(login_or_token=…, password=…, jwt=…, app_auth=…)``
and ``github.GithubIntegration(integration_id=…, private_key=…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)`` are replaced by a single ``auth=…`` argument.
Module ``github.Auth`` provides classes for all supported ways of authentication: ``Login``, ``Token``, ``AppAuth``, ``AppAuthToken``, ``AppInstallationAuth``, ``AppUserAuth``.
Old arguments are deprecated but continue to work. They are scheduled for removal for version 2.0 release.
This project has decided to move all typing information from ``.pyi`` files into the respective ``.py`` source files.
This will happen gradually over time.
**Breaking Changes**
* The ``position`` argument in ``github.PullRequest.create_review_comment(position=…)`` has been renamed to ``line``.
This breaks user code that calls ``create_review_comment`` with keyword argument ``position``. Call with ``line=…`` instead.
Calling this method with positional arguments is not breaking.
* The ``jwt_expiry``, ``jwt_issued_at`` and ``jwt_algorithm`` arguments in ``github.GithubIntegration()`` have changed their position.
User code calling ``github.GithubIntegration(…)`` with these arguments as positional arguments breaks.
Please use keyword arguments: ``github.GithubIntegration(…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)``.
* The ``since`` argument in ``github.PullRequest.get_review_comments(…)`` has changed position.``
User code calling ``github.PullRequest.get_review_comments(…)`` with this argument as positional argument breaks.
Please use keyword argument: ``github.PullRequest.get_review_comments(since=…)``.
**Deprecations**
* The use of ``github.Github(login_or_token=…)`` is deprecated, use ``github.Github(auth=github.Auth.Login(…))`` or ``github.Github(auth=github.Auth.Token(…))`` instead.
* The use of ``github.Github(password=…)`` is deprecated, use ``github.Github(auth=github.Auth.Login(…))`` instead.
* The use of ``github.Github(jwt=…)`` is deprecated, use ``github.Github(auth=github.AppAuth(…))`` or ``github.Github(auth=github.AppAuthToken(…))`` instead.
* The use of ``github.Github(app_auth=…)`` is deprecated, use ``github.Github(auth=github.Auth.AppInstallationAuth(…))`` instead.
* The use of ``github.GithubIntegration(integration_id=…, private_key=…, jwt_expiry=…, jwt_issued_at=…, jwt_algorithm=…)`` is deprecated, use ``github.GithubIntegration(auth=github.Auth.AppAuth(…))`` instead.
* The use of ``github.GithubIntegration.create_jwt`` is deprecated, use ``github.Github(auth=github.Auth.AppAuth)``, ``github.Auth.AppAuth.token`` or ``github.Auth.AppAuth.create_jwt(expiration)`` instead.
* The use of ``AppAuthentication`` is deprecated, use ``github.Auth.AppInstallationAuth`` instead.
* The use of ``github.Github.get_app()`` without providing argument ``slug`` is deprecated, use ``github.GithubIntegration(auth=github.Auth.AppAuth(…)).get_app()``.
**Bug Fixes**
* Test and fix UTC issue with AppInstallationAuth (#2561) (ff3b80f8)
* Make Requester.__createException robust against missing message and body (#2159) (7be3f763)
* Fix auth issues with `Installation.get_repos` (#2547) (64075120)
* Fix broken urls in docstrings (#2393) (f82ad61c)
* Raise error on unsupported redirects, log supported redirects (#2524) (17cd0b79)
* Fix GithubIntegration that uses expiring jwt (#2460) (5011548c)
* Add expiration argument back to GithubIntegration.create_jwt (#2439) (822fc05c)
* Add crypto extras to pyjwt, which pulls in cryptogaphy package (#2443) (554b2b28)
* Remove RLock from Requester (#2446) (45f3d723)
* Move CI to Python 3.11 release and 3.12 dev (#2434) (e414c322)
* Pass Requester base URL to integration (#2420) (bdceae2f)
**Improvements**
* Add Webhook Deliveries (#2508) (517ad336)
* Add support for workflow jobs and steps (#1951) (804c3107)
* Add support for get_app() with App authentication (#2549) (6d4b6d14)
* Allow multiline comments in PullRequest (#2540) (6a21761e)
* Implement `AppUserAuth` for Github App user tokens (#2546) (f291a368)
* Add support for environments (#2223) (0384e2fd)
* Add support for new RepositoryAdvisories API :tada: (#2483) (daf62bd4)
* Make `MainClass.get_app` return completed `GithubApp` when slug is given (#2543) (84912a67)
* Add authentication classes, move auth logic there (#2528) (fc2d0e15)
* Add sort order and direction for getting comments (#2544) (a8e7c423)
* Add `name` filter to `Repository.get_artifacts()` (#2459) (9f52e948)
* Add `name`, `display_title` and `path` attributes to `WorkflowRun` (#2397) (10816389)
* Add new `create_fork` arguments (#2493) (b94a83cb)
* add `ref` to Deployment (#2489) (e8075c41)
* Add query `check_suite_id` integer to `Workflow.get_runs` (#2466) (a4854519)
* Add `generate_release_notes` parameter to `create_git_release` and `create_git_tag_and_release` (#2417) (49b3ae16)
* Add example for Pull Request comments to documentation (#2390) (c2f12bdc)
* Add allow_auto_merge support to Repository (#2477) (8c4b9465)
* Add `artifact_id` argument to `Repository.get_artifact()` (#2458) (4fa0a5f3)
* Add missing attributes to Branch (#2512) (e296dbdb)
* Add allow_update_branch option to Organization (#2465) (bab4180f)
* Add support for Issue.state_reason #2370 (#2392) (5aa544a1)
* Add parameters to Repository.get_workflow_runs (#2408) (4198dbfb)
**Maintenance**
* Add type stub for MainClass.get_project_column (#2502) (d514222c)
* Sync GithubIntegration __init__ arguments with github.Github (#2556) (ea45237d)
* Update MAINTAINERS (#2545) (f4e9dcb3)
* Link to stable docs, update introduction in package used by pypi, move auth arg front (#2557) (006766f9)
* Merge PaginatedList.pyi back to source (#2555) (cb50dec5)
* Merge GithubObject.pyi/Requester.pyi stubs back to source (#2463) (b6258f4b)
* [CI] Moving linting into separate workflow (#2522) (52fc1077)
* Merging 1.58.x patch release notes into master (#2525) (217d4241)
* Merge AppAuthentication.pyi to source (#2519) (8e8cfb30)
* Merge GithubException.pyi stubs back to source (#2464) (03a2f696)
* Add missing fields from `GithubCredentials.py` to CONTRIBUTING.md (#2482) (297317ba)
* Update docstring and typing for allow_forking and allow_update_branch (Repository) (#2529) (600217f0)
* Bump actions/checkout from 2 to 3.1.0 (#2327) (300c5015)
* RTD: install current project (def5223c)
* Add current dir sys.path as well (9c96faa7)
* Use use_scm_version to get current version from git tag (#2429) (3ea91a3a)
Version 1.58.2 (May 09, 2023)
-----------------------------------
**Bug Fixes**
- Fix GithubIntegration that uses expiring jwt (#2460) (5011548c)
* Fix GithubIntegration that uses expiring jwt (#2460) (5011548c)
Version 1.58.1 (March 18, 2023)
-----------------------------------
@@ -30,11 +125,11 @@ Version 1.58.0 (February 19, 2023)
**Bug Fixes & Improvements**
- Add unarchiving support @Tsuesun (#2391)
- Support full GitHub app authentication @dblanchette (#1986)
- Continue the PR #1899 @Felixoid (#2386)
- feat: add allow\_forking to Repository @IbrahimAH (#2380)
- Add code scanning alerts @eric-nieuwland (#2227)
* Add unarchiving support @Tsuesun (#2391)
* Support full GitHub app authentication @dblanchette (#1986)
* Continue the PR #1899 @Felixoid (#2386)
* feat: add allow\_forking to Repository @IbrahimAH (#2380)
* Add code scanning alerts @eric-nieuwland (#2227)
Version 1.57 (November 05, 2022)
-----------------------------------
+1 -1
View File
@@ -28,7 +28,7 @@ import deprecated
from github.Auth import AppAuth, AppInstallationAuth
@deprecated.deprecated("Use app.Auth.AppInstallationAuth instead")
@deprecated.deprecated("Use github.Auth.AppInstallationAuth instead")
class AppAuthentication(AppInstallationAuth):
def __init__(
self,
+4 -2
View File
@@ -22,13 +22,15 @@ class GithubIntegration:
# keep non-deprecated arguments in-sync with Requester
# v2: remove integration_id, private_key, jwt_expiry, jwt_issued_at and jwt_algorithm
# v2: move auth to the front of arguments
# v2: add * before first argument so all arguments must be named,
# v2: move * before first argument so all arguments must be named,
# allows to reorder / add new arguments / remove deprecated arguments without breaking user code
# added here to force named parameters because new parameters have been added
def __init__(
self,
integration_id=None,
private_key=None,
base_url=Consts.DEFAULT_BASE_URL,
*,
timeout=Consts.DEFAULT_TIMEOUT,
user_agent=Consts.DEFAULT_USER_AGENT,
per_page=Consts.DEFAULT_PER_PAGE,
@@ -151,7 +153,7 @@ class GithubIntegration:
)
@deprecated.deprecated(
"Use github.Auth.AppAuth.token or github.Auth.AppAuth.create_jwt(expiration) instead"
"Use github.Github(auth=github.Auth.AppAuth), github.Auth.AppAuth.token or github.Auth.AppAuth.create_jwt(expiration) instead"
)
def create_jwt(self, expiration=None):
"""
+1 -1
View File
@@ -106,7 +106,7 @@ class Github:
"""
:param login_or_token: string deprecated, use auth=github.Auth.Login(...) or auth=github.Auth.Token(...) instead
:param password: string deprecated, use auth=github.Auth.Login(...) instead
:param jwt: string deprecated, use auth=github.Auth.AppAuthToken(...) instead
:param jwt: string deprecated, use auth=github.Auth.AppAuth(...) or auth=github.Auth.AppAuthToken(...) instead
:param app_auth: github.AppAuthentication deprecated, use auth=github.Auth.AppInstallationAuth(...) instead
:param base_url: string
:param timeout: integer
+1 -1
View File
@@ -80,7 +80,7 @@ class Authentication(Framework.BasicTestCase):
self.assertEqual(g.get_user("ammarmallik").name, "Ammar Akbar")
self.assertWarnings(
warning,
"Call to deprecated class AppAuthentication. (Use app.Auth.AppInstallationAuth instead)",
"Call to deprecated class AppAuthentication. (Use github.Auth.AppInstallationAuth instead)",
"Argument app_auth is deprecated, please use auth=github.Auth.AppInstallationAuth(...) instead",
)