Pygithub

Latest version: v2.6.1

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 17

2.1.1

-----------------------------------

Bug Fixes
^^^^^^^^^

* Require urllib 1.26.0 or greater (`2774 <https://github.com/PyGithub/PyGithub/pull/2774>`_) (`001c0852 <https://github.com/PyGithub/PyGithub/commit/001c0852>`_)

Maintenance
^^^^^^^^^^^

* Fix pypi-release workflow, allow for manual run (`2771 <https://github.com/PyGithub/PyGithub/pull/2771>`_) (`035c88f1 <https://github.com/PyGithub/PyGithub/commit/035c88f1>`_)

2.1.0

-----------------------------------

Important
^^^^^^^^^

**Request throttling**

This release introduces a default throttling mechanism to mitigate secondary rate limit errors and comply with Github's best practices:
https://docs.github.com/en/rest/guides/best-practices-for-integrators?apiVersion=2022-11-28#dealing-with-secondary-rate-limits

The default throttling of 1 second between writes and 0.25 second between any requests can be configured
for ``github.Github`` and ``github.GithubIntegration``:

.. code-block:: python

g = github.Github(seconds_between_requests=0.25, seconds_between_writes=1)

Set these parameters to ``None`` to disable throttling and restore earlier behavior.

**Request retry**

This release introduces a default retry mechanism to retry retry-able 403 responses (primary and secondary rate limit errors only) and any 5xx response.

Class ``github.GithubRetry`` implements this behavior, and can be configured via the ``retry`` argument of ``github.Github`` and ``github.GithubIntegration``.
Retry behavior is configured similar to ``urllib3.Retry``: https://urllib3.readthedocs.io/en/stable/reference/urllib3.util.html

.. code-block:: python

g = github.Github(retry=github.GithubRetry())

Set this parameter to ``None`` to disable retry mechanism and restore earlier behaviour.

Breaking Changes
^^^^^^^^^^^^^^^^

**Timestamps**

Any timestamps returned by this library are ``datetime`` with timezone information, usually UTC.
Before this release, timestamps used to be naive ``datetime`` instances without timezone.
Comparing (other than ``==``) these timestamps with naive ``datetime`` instances used to work but will now break.
Add a timezone information to your ``datetime`` instances before comparison:

.. code-block:: python

if g.get_repo("PyGithub/PyGithub").created_at < datetime(2012, 2, 26, tzinfo=timezone.utc):
...

**Netrc authentication**

A Netrc file (e.g. ``~/.netrc``) does not override PyGithub authentication, anymore.
If you require authentication through Netrc, then this is a breaking change.
Use a ``github.Auth.NetrcAuth`` instance to use Netrc credentials:

.. code-block:: python

>>> auth = Auth.NetrcAuth()
>>> g = Github(auth=auth)
>>> g.get_user().login
'login'

**Repository.create_pull**

Merged overloaded ``create_pull`` methods

.. code-block:: python

def create_pull(self, issue, base, head)
def create_pull(self, title, body, base, head, maintainer_can_modify=NotSet, draft=False)

into

.. code-block:: python

def create_pull(self, base, head, *, title=NotSet, body=NotSet, maintainer_can_modify=NotSet, draft=NotSet, issue=NotSet)

Please update your usage of ``Repository.create_pull`` accordingly.

New features
^^^^^^^^^^^^

* Throttle requests to mitigate RateLimitExceededExceptions (`2145 <https://github.com/PyGithub/PyGithub/pull/2145>`_) (`99155806 <https://github.com/PyGithub/PyGithub/commit/99155806>`_)
* Retry retryable 403 (rate limit) (`2387 <https://github.com/PyGithub/PyGithub/pull/2387>`_) (`0bb72ca0 <https://github.com/PyGithub/PyGithub/commit/0bb72ca0>`_)
* Close connections after use (`2724 <https://github.com/PyGithub/PyGithub/pull/2724>`_) (`73236e23 <https://github.com/PyGithub/PyGithub/commit/73236e23>`_)

Improvements
^^^^^^^^^^^^

* Make datetime objects timezone-aware (`2565 <https://github.com/PyGithub/PyGithub/pull/2565>`_) (`0177f7c5 <https://github.com/PyGithub/PyGithub/commit/0177f7c5>`_)
* Make ``Branch.edit_*`` functions return objects (`2748 <https://github.com/PyGithub/PyGithub/pull/2748>`_) (`8dee53a8 <https://github.com/PyGithub/PyGithub/commit/8dee53a8>`_)
* Add ``license`` attribute to ``Repository`` (`2721 <https://github.com/PyGithub/PyGithub/pull/2721>`_) (`26d353e7 <https://github.com/PyGithub/PyGithub/commit/26d353e7>`_)
* Add missing attributes to ``Repository`` (`2742 <https://github.com/PyGithub/PyGithub/pull/2742>`_) (`65cfeb1b <https://github.com/PyGithub/PyGithub/commit/65cfeb1b>`_)
* Add ``is_alphanumeric`` attribute to ``Autolink`` and ``Repository.create_autolink`` (`2630 <https://github.com/PyGithub/PyGithub/pull/2630>`_) (`b6a28a26 <https://github.com/PyGithub/PyGithub/commit/b6a28a26>`_)
* Suppress ``requests`` fallback to netrc, provide ``github.Auth.NetrcAuth`` (`2739 <https://github.com/PyGithub/PyGithub/pull/2739>`_) (`ac36f6a9 <https://github.com/PyGithub/PyGithub/commit/ac36f6a9>`_)
* Pass Requester arguments to ``AppInstallationAuth.__integration`` (`2695 <https://github.com/PyGithub/PyGithub/pull/2695>`_) (`8bf542ae <https://github.com/PyGithub/PyGithub/commit/8bf542ae>`_)
* Adding feature for enterprise consumed license (`2626 <https://github.com/PyGithub/PyGithub/pull/2626>`_) (`a7bfdf2d <https://github.com/PyGithub/PyGithub/commit/a7bfdf2d>`_)
* Search Workflows by Name (`2711 <https://github.com/PyGithub/PyGithub/pull/2711>`_) (`eadc241e <https://github.com/PyGithub/PyGithub/commit/eadc241e>`_)
* Add ``Secret`` and ``Variable`` classes (`2623 <https://github.com/PyGithub/PyGithub/pull/2623>`_) (`bcca758d <https://github.com/PyGithub/PyGithub/commit/bcca758d>`_)
* Add Autolink API link (`2632 <https://github.com/PyGithub/PyGithub/pull/2632>`_) (`aedfa0b9 <https://github.com/PyGithub/PyGithub/commit/aedfa0b9>`_)
* Add ``required_linear_history`` attribute to ``BranchProtection`` (`2643 <https://github.com/PyGithub/PyGithub/pull/2643>`_) (`7a80fad9 <https://github.com/PyGithub/PyGithub/commit/7a80fad9>`_)
* Add retry issue to ``GithubException``, don't log it (`2611 <https://github.com/PyGithub/PyGithub/pull/2611>`_) (`de80ff4b <https://github.com/PyGithub/PyGithub/commit/de80ff4b>`_)
* Add ``message`` property to ``GithubException`` (`2591 <https://github.com/PyGithub/PyGithub/pull/2591>`_) (`f087cad3 <https://github.com/PyGithub/PyGithub/commit/f087cad3>`_)
* Add support for repo and org level actions variables (`2580 <https://github.com/PyGithub/PyGithub/pull/2580>`_) (`91b3f40f <https://github.com/PyGithub/PyGithub/commit/91b3f40f>`_)
* Add missing arguments to ``Workflow.get_runs()`` (`2346 <https://github.com/PyGithub/PyGithub/pull/2346>`_) (`766df993 <https://github.com/PyGithub/PyGithub/commit/766df993>`_)
* Add ``github.Rate.used`` field (`2531 <https://github.com/PyGithub/PyGithub/pull/2531>`_) (`c4c2e527 <https://github.com/PyGithub/PyGithub/commit/c4c2e527>`_)

Bug Fixes
^^^^^^^^^

* Fix ``Branch.bypass_pull_request_allowances`` failing with "nil is not an object" (`2535 <https://github.com/PyGithub/PyGithub/pull/2535>`_) (`c5542a6a <https://github.com/PyGithub/PyGithub/commit/c5542a6a>`_)
* Fix ``required_conversation_resolution`` assertion (`2715 <https://github.com/PyGithub/PyGithub/pull/2715>`_) (`54f22267 <https://github.com/PyGithub/PyGithub/commit/54f22267>`_)
* Fix assertion creating pull request review comment (`2641 <https://github.com/PyGithub/PyGithub/pull/2641>`_) (`2fa568b6 <https://github.com/PyGithub/PyGithub/commit/2fa568b6>`_)
* Safely coerce ``responseHeaders`` to ``int`` (`2697 <https://github.com/PyGithub/PyGithub/pull/2697>`_) (`adbfce92 <https://github.com/PyGithub/PyGithub/commit/adbfce92>`_)
* Fix assertion for ``subject_type`` in creating pull request review comment (`2642 <https://github.com/PyGithub/PyGithub/pull/2642>`_) (`4933459e <https://github.com/PyGithub/PyGithub/commit/4933459e>`_)
* Use timezone-aware reset datetime in ``GithubRetry.py`` (`2610 <https://github.com/PyGithub/PyGithub/pull/2610>`_) (`950a6949 <https://github.com/PyGithub/PyGithub/commit/950a6949>`_)
* Fix ``Branch.bypass_pull_request_allowances`` failing with "nil is not an object" (`2535 <https://github.com/PyGithub/PyGithub/pull/2535>`_) (`c5542a6a <https://github.com/PyGithub/PyGithub/commit/c5542a6a>`_)

Maintenance
^^^^^^^^^^^

* Epic mass-merge ``.pyi`` type stubs back to ``.py`` sources (`2636 <https://github.com/PyGithub/PyGithub/pull/2636>`_)
* Move to main default branch (`2566 <https://github.com/PyGithub/PyGithub/pull/2566>`_) (`e66c163a <https://github.com/PyGithub/PyGithub/commit/e66c163a>`_)
* Force Unix EOL (`2573 <https://github.com/PyGithub/PyGithub/pull/2573>`_) (`094538e1 <https://github.com/PyGithub/PyGithub/commit/094538e1>`_)
* Close replay test data file silently when test is failing already (`2747 <https://github.com/PyGithub/PyGithub/pull/2747>`_) (`6d871d56 <https://github.com/PyGithub/PyGithub/commit/6d871d56>`_)
* CI: Make CI support merge queue (`2644 <https://github.com/PyGithub/PyGithub/pull/2644>`_) (`a91debf1 <https://github.com/PyGithub/PyGithub/commit/a91debf1>`_)
* CI: Run CI on release branches (`2708 <https://github.com/PyGithub/PyGithub/pull/2708>`_) (`9a88b6b1 <https://github.com/PyGithub/PyGithub/commit/9a88b6b1>`_)
* CI: remove conflict label workflow (`2669 <https://github.com/PyGithub/PyGithub/pull/2669>`_) (`95d8b83c <https://github.com/PyGithub/PyGithub/commit/95d8b83c>`_)
* Fix pip install command in README.md (`2731 <https://github.com/PyGithub/PyGithub/pull/2731>`_) (`2cc1ba2c <https://github.com/PyGithub/PyGithub/commit/2cc1ba2c>`_)
* Update ``add_attribute.py`` to latest conding style (`2631 <https://github.com/PyGithub/PyGithub/pull/2631>`_) (`e735972e <https://github.com/PyGithub/PyGithub/commit/e735972e>`_)
* CI: Improve ruff DX (`2667 <https://github.com/PyGithub/PyGithub/pull/2667>`_) (`48d2009c <https://github.com/PyGithub/PyGithub/commit/48d2009c>`_)
* CI: Increase wait and retries of labels action (`2670 <https://github.com/PyGithub/PyGithub/pull/2670>`_) (`ff0f31c2 <https://github.com/PyGithub/PyGithub/commit/ff0f31c2>`_)
* Replace ``flake8`` with ``ruff`` (`2617 <https://github.com/PyGithub/PyGithub/pull/2617>`_) (`42c3b47c <https://github.com/PyGithub/PyGithub/commit/42c3b47c>`_)
* CI: update labels action name and version (`2654 <https://github.com/PyGithub/PyGithub/pull/2654>`_) (`c5c83eb5 <https://github.com/PyGithub/PyGithub/commit/c5c83eb5>`_)
* CI: label PRs that have conflicts (`2622 <https://github.com/PyGithub/PyGithub/pull/2622>`_) (`1d637e4b <https://github.com/PyGithub/PyGithub/commit/1d637e4b>`_)
* Unify requirements files location & source in setup.py (`2598 <https://github.com/PyGithub/PyGithub/pull/2598>`_) (`2edc0f8f <https://github.com/PyGithub/PyGithub/commit/2edc0f8f>`_)
* Enable mypy ``disallow_untyped_defs`` (`2609 <https://github.com/PyGithub/PyGithub/pull/2609>`_) (`294c0cc9 <https://github.com/PyGithub/PyGithub/commit/294c0cc9>`_)
* Enable mypy ``check_untyped_defs`` (`2607 <https://github.com/PyGithub/PyGithub/pull/2607>`_) (`8816889a <https://github.com/PyGithub/PyGithub/commit/8816889a>`_)
* Set line length to 120 characters (`2599 <https://github.com/PyGithub/PyGithub/pull/2599>`_) (`13e178a3 <https://github.com/PyGithub/PyGithub/commit/13e178a3>`_)
* CI: Build and check package before release (`2593 <https://github.com/PyGithub/PyGithub/pull/2593>`_) (`3c880e76 <https://github.com/PyGithub/PyGithub/commit/3c880e76>`_)
* Use ``typing_extensions`` for ``TypedDict`` (`2592 <https://github.com/PyGithub/PyGithub/pull/2592>`_) (`5fcb0c7d <https://github.com/PyGithub/PyGithub/commit/5fcb0c7d>`_)
* CI: Update action actions/setup-python (`2382 <https://github.com/PyGithub/PyGithub/pull/2382>`_) (`2e5cd31e <https://github.com/PyGithub/PyGithub/commit/2e5cd31e>`_)
* Add more methods and attributes to Repository.pyi (`2581 <https://github.com/PyGithub/PyGithub/pull/2581>`_) (`72840de4 <https://github.com/PyGithub/PyGithub/commit/72840de4>`_)
* CI: Make pytest color logs (`2597 <https://github.com/PyGithub/PyGithub/pull/2597>`_) (`73241102 <https://github.com/PyGithub/PyGithub/commit/73241102>`_)
* precommit: move ``flake8`` as last (`2595 <https://github.com/PyGithub/PyGithub/pull/2595>`_) (`11bb6bd7 <https://github.com/PyGithub/PyGithub/commit/11bb6bd7>`_)
* Test on Windows and macOS, don't fail fast (`2590 <https://github.com/PyGithub/PyGithub/pull/2590>`_) (`5c600894 <https://github.com/PyGithub/PyGithub/commit/5c600894>`_)
* Remove symlinks from test data (`2588 <https://github.com/PyGithub/PyGithub/pull/2588>`_) (`8d3b9057 <https://github.com/PyGithub/PyGithub/commit/8d3b9057>`_)

1.59.1

-----------------------------------

Bug Fixes
^^^^^^^^^

* Safely coerce responseHeaders to int (`2697 <https://github.com/PyGithub/PyGithub/pull/2697>`_) (`adbfce92 <https://github.com/PyGithub/PyGithub/commit/adbfce92>`_)

1.59.0

-----------------------------------

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=…)``.

Deprecation
^^^^^^^^^^^

* 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 <https://github.com/PyGithub/PyGithub/pull/2561>`_) (`ff3b80f8 <https://github.com/PyGithub/PyGithub/commit/ff3b80f8>`_)
* Make Requester.__createException robust against missing message and body (`2159 <https://github.com/PyGithub/PyGithub/pull/2159>`_) (`7be3f763 <https://github.com/PyGithub/PyGithub/commit/7be3f763>`_)
* Fix auth issues with `Installation.get_repos` (`2547 <https://github.com/PyGithub/PyGithub/pull/2547>`_) (`64075120 <https://github.com/PyGithub/PyGithub/commit/64075120>`_)
* Fix broken urls in docstrings (`2393 <https://github.com/PyGithub/PyGithub/pull/2393>`_) (`f82ad61c <https://github.com/PyGithub/PyGithub/commit/f82ad61c>`_)
* Raise error on unsupported redirects, log supported redirects (`2524 <https://github.com/PyGithub/PyGithub/pull/2524>`_) (`17cd0b79 <https://github.com/PyGithub/PyGithub/commit/17cd0b79>`_)
* Fix GithubIntegration that uses expiring jwt (`2460 <https://github.com/PyGithub/PyGithub/pull/2460>`_) (`5011548c <https://github.com/PyGithub/PyGithub/commit/5011548c>`_)
* Add expiration argument back to GithubIntegration.create_jwt (`2439 <https://github.com/PyGithub/PyGithub/pull/2439>`_) (`822fc05c <https://github.com/PyGithub/PyGithub/commit/822fc05c>`_)
* Add crypto extras to pyjwt, which pulls in cryptogaphy package (`2443 <https://github.com/PyGithub/PyGithub/pull/2443>`_) (`554b2b28 <https://github.com/PyGithub/PyGithub/commit/554b2b28>`_)
* Remove RLock from Requester (`2446 <https://github.com/PyGithub/PyGithub/pull/2446>`_) (`45f3d723 <https://github.com/PyGithub/PyGithub/commit/45f3d723>`_)
* Move CI to Python 3.11 release and 3.12 dev (`2434 <https://github.com/PyGithub/PyGithub/pull/2434>`_) (`e414c322 <https://github.com/PyGithub/PyGithub/commit/e414c322>`_)
* Pass Requester base URL to integration (`2420 <https://github.com/PyGithub/PyGithub/pull/2420>`_) (`bdceae2f <https://github.com/PyGithub/PyGithub/commit/bdceae2f>`_)

Improvements
^^^^^^^^^^^^

* Add Webhook Deliveries (`2508 <https://github.com/PyGithub/PyGithub/pull/2508>`_) (`517ad336 <https://github.com/PyGithub/PyGithub/commit/517ad336>`_)
* Add support for workflow jobs and steps (`1951 <https://github.com/PyGithub/PyGithub/pull/1951>`_) (`804c3107 <https://github.com/PyGithub/PyGithub/commit/804c3107>`_)
* Add support for get_app() with App authentication (`2549 <https://github.com/PyGithub/PyGithub/pull/2549>`_) (`6d4b6d14 <https://github.com/PyGithub/PyGithub/commit/6d4b6d14>`_)
* Allow multiline comments in PullRequest (`2540 <https://github.com/PyGithub/PyGithub/pull/2540>`_) (`6a21761e <https://github.com/PyGithub/PyGithub/commit/6a21761e>`_)
* Implement `AppUserAuth` for Github App user tokens (`2546 <https://github.com/PyGithub/PyGithub/pull/2546>`_) (`f291a368 <https://github.com/PyGithub/PyGithub/commit/f291a368>`_)
* Add support for environments (`2223 <https://github.com/PyGithub/PyGithub/pull/2223>`_) (`0384e2fd <https://github.com/PyGithub/PyGithub/commit/0384e2fd>`_)
* Add support for new RepositoryAdvisories API :tada: (`2483 <https://github.com/PyGithub/PyGithub/pull/2483>`_) (`daf62bd4 <https://github.com/PyGithub/PyGithub/commit/daf62bd4>`_)
* Make `MainClass.get_app` return completed `GithubApp` when slug is given (`2543 <https://github.com/PyGithub/PyGithub/pull/2543>`_) (`84912a67 <https://github.com/PyGithub/PyGithub/commit/84912a67>`_)
* Add authentication classes, move auth logic there (`2528 <https://github.com/PyGithub/PyGithub/pull/2528>`_) (`fc2d0e15 <https://github.com/PyGithub/PyGithub/commit/fc2d0e15>`_)
* Add sort order and direction for getting comments (`2544 <https://github.com/PyGithub/PyGithub/pull/2544>`_) (`a8e7c423 <https://github.com/PyGithub/PyGithub/commit/a8e7c423>`_)
* Add `name` filter to `Repository.get_artifacts()` (`2459 <https://github.com/PyGithub/PyGithub/pull/2459>`_) (`9f52e948 <https://github.com/PyGithub/PyGithub/commit/9f52e948>`_)
* Add `name`, `display_title` and `path` attributes to `WorkflowRun` (`2397 <https://github.com/PyGithub/PyGithub/pull/2397>`_) (`10816389 <https://github.com/PyGithub/PyGithub/commit/10816389>`_)
* Add new `create_fork` arguments (`2493 <https://github.com/PyGithub/PyGithub/pull/2493>`_) (`b94a83cb <https://github.com/PyGithub/PyGithub/commit/b94a83cb>`_)
* add `ref` to Deployment (`2489 <https://github.com/PyGithub/PyGithub/pull/2489>`_) (`e8075c41 <https://github.com/PyGithub/PyGithub/commit/e8075c41>`_)
* Add query `check_suite_id` integer to `Workflow.get_runs` (`2466 <https://github.com/PyGithub/PyGithub/pull/2466>`_) (`a4854519 <https://github.com/PyGithub/PyGithub/commit/a4854519>`_)
* Add `generate_release_notes` parameter to `create_git_release` and `create_git_tag_and_release` (`2417 <https://github.com/PyGithub/PyGithub/pull/2417>`_) (`49b3ae16 <https://github.com/PyGithub/PyGithub/commit/49b3ae16>`_)
* Add example for Pull Request comments to documentation (`2390 <https://github.com/PyGithub/PyGithub/pull/2390>`_) (`c2f12bdc <https://github.com/PyGithub/PyGithub/commit/c2f12bdc>`_)
* Add allow_auto_merge support to Repository (`2477 <https://github.com/PyGithub/PyGithub/pull/2477>`_) (`8c4b9465 <https://github.com/PyGithub/PyGithub/commit/8c4b9465>`_)
* Add `artifact_id` argument to `Repository.get_artifact()` (`2458 <https://github.com/PyGithub/PyGithub/pull/2458>`_) (`4fa0a5f3 <https://github.com/PyGithub/PyGithub/commit/4fa0a5f3>`_)
* Add missing attributes to Branch (`2512 <https://github.com/PyGithub/PyGithub/pull/2512>`_) (`e296dbdb <https://github.com/PyGithub/PyGithub/commit/e296dbdb>`_)
* Add allow_update_branch option to Organization (`2465 <https://github.com/PyGithub/PyGithub/pull/2465>`_) (`bab4180f <https://github.com/PyGithub/PyGithub/commit/bab4180f>`_)
* Add support for Issue.state_reason 2370 (`2392 <https://github.com/PyGithub/PyGithub/pull/2392>`_) (`5aa544a1 <https://github.com/PyGithub/PyGithub/commit/5aa544a1>`_)
* Add parameters to Repository.get_workflow_runs (`2408 <https://github.com/PyGithub/PyGithub/pull/2408>`_) (`4198dbfb <https://github.com/PyGithub/PyGithub/commit/4198dbfb>`_)

Maintenance
^^^^^^^^^^^

* Add type stub for MainClass.get_project_column (`2502 <https://github.com/PyGithub/PyGithub/pull/2502>`_) (`d514222c <https://github.com/PyGithub/PyGithub/commit/d514222c>`_)
* Sync GithubIntegration __init__ arguments with github.Github (`2556 <https://github.com/PyGithub/PyGithub/pull/2556>`_) (`ea45237d <https://github.com/PyGithub/PyGithub/commit/ea45237d>`_)
* Update MAINTAINERS (`2545 <https://github.com/PyGithub/PyGithub/pull/2545>`_) (`f4e9dcb3 <https://github.com/PyGithub/PyGithub/commit/f4e9dcb3>`_)
* Link to stable docs, update introduction in package used by pypi, move auth arg front (`2557 <https://github.com/PyGithub/PyGithub/pull/2557>`_) (`006766f9 <https://github.com/PyGithub/PyGithub/commit/006766f9>`_)
* Merge PaginatedList.pyi back to source (`2555 <https://github.com/PyGithub/PyGithub/pull/2555>`_) (`cb50dec5 <https://github.com/PyGithub/PyGithub/commit/cb50dec5>`_)
* Merge GithubObject.pyi/Requester.pyi stubs back to source (`2463 <https://github.com/PyGithub/PyGithub/pull/2463>`_) (`b6258f4b <https://github.com/PyGithub/PyGithub/commit/b6258f4b>`_)
* [CI] Moving linting into separate workflow (`2522 <https://github.com/PyGithub/PyGithub/pull/2522>`_) (`52fc1077 <https://github.com/PyGithub/PyGithub/commit/52fc1077>`_)
* Merging 1.58.x patch release notes into master (`2525 <https://github.com/PyGithub/PyGithub/pull/2525>`_) (`217d4241 <https://github.com/PyGithub/PyGithub/commit/217d4241>`_)
* Merge AppAuthentication.pyi to source (`2519 <https://github.com/PyGithub/PyGithub/pull/2519>`_) (`8e8cfb30 <https://github.com/PyGithub/PyGithub/commit/8e8cfb30>`_)
* Merge GithubException.pyi stubs back to source (`2464 <https://github.com/PyGithub/PyGithub/pull/2464>`_) (`03a2f696 <https://github.com/PyGithub/PyGithub/commit/03a2f696>`_)
* Add missing fields from `GithubCredentials.py` to CONTRIBUTING.md (`2482 <https://github.com/PyGithub/PyGithub/pull/2482>`_) (`297317ba <https://github.com/PyGithub/PyGithub/commit/297317ba>`_)
* Update docstring and typing for allow_forking and allow_update_branch (Repository) (`2529 <https://github.com/PyGithub/PyGithub/pull/2529>`_) (`600217f0 <https://github.com/PyGithub/PyGithub/commit/600217f0>`_)
* Bump actions/checkout from 2 to 3.1.0 (`2327 <https://github.com/PyGithub/PyGithub/pull/2327>`_) (`300c5015 <https://github.com/PyGithub/PyGithub/commit/300c5015>`_)
* RTD: install current project (`def5223c <https://github.com/PyGithub/PyGithub/commit/def5223c>`_)
* Add current dir sys.path as well (`9c96faa7 <https://github.com/PyGithub/PyGithub/commit/9c96faa7>`_)
* Use use_scm_version to get current version from git tag (`2429 <https://github.com/PyGithub/PyGithub/pull/2429>`_) (`3ea91a3a <https://github.com/PyGithub/PyGithub/commit/3ea91a3a>`_)

1.58.2

-----------------------------------

Bug Fixes
^^^^^^^^^

* Fix GithubIntegration that uses expiring jwt (`2460 <https://github.com/PyGithub/PyGithub/pull/2460>`_) (`5011548c <https://github.com/PyGithub/PyGithub/commit/5011548c>`_)

1.58.1

-----------------------------------

Bug Fixes
^^^^^^^^^

* Add expiration argument back to GithubIntegration.create_jwt (`2439 <https://github.com/PyGithub/PyGithub/pull/2439>`_) (`822fc05c <https://github.com/PyGithub/PyGithub/commit/822fc05c>`_)
* Add crypto extras to pyjwt, which pulls in cryptogaphy package (`2443 <https://github.com/PyGithub/PyGithub/pull/2443>`_) (`554b2b28 <https://github.com/PyGithub/PyGithub/commit/554b2b28>`_)
* Remove RLock from Requester (`2446 <https://github.com/PyGithub/PyGithub/pull/2446>`_) (`45f3d723 <https://github.com/PyGithub/PyGithub/commit/45f3d723>`_)
* Move CI to Python 3.11 release and 3.12 dev (`2434 <https://github.com/PyGithub/PyGithub/pull/2434>`_) (`e414c322 <https://github.com/PyGithub/PyGithub/commit/e414c322>`_)
* pass requester base URL to integration (`2420 <https://github.com/PyGithub/PyGithub/pull/2420>`_) (`bdceae2f <https://github.com/PyGithub/PyGithub/commit/bdceae2f>`_)
* RTD: install current project (`def5223c <https://github.com/PyGithub/PyGithub/commit/def5223c>`_)
* Add current dir sys.path as well (`9c96faa7 <https://github.com/PyGithub/PyGithub/commit/9c96faa7>`_)
* Use use_scm_version to get current version from git tag (`2429 <https://github.com/PyGithub/PyGithub/pull/2429>`_) (`3ea91a3a <https://github.com/PyGithub/PyGithub/commit/3ea91a3a>`_)

Page 2 of 17

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.