Skip to content

Update pygithub to 2.9.1#601

Open
pyup-bot wants to merge 1 commit intomainfrom
pyup-update-pygithub-1.55-to-2.9.1
Open

Update pygithub to 2.9.1#601
pyup-bot wants to merge 1 commit intomainfrom
pyup-update-pygithub-1.55-to-2.9.1

Conversation

@pyup-bot
Copy link
Copy Markdown
Collaborator

This PR updates pygithub from 1.55 to 2.9.1.

Changelog

2.9.1

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

Bug Fixes
^^^^^^^^^
* Fix getting release by tag in lazy mode (`3469 <https://github.com/PyGithub/PyGithub/pull/3469>`_) (`7d1ba281e <https://github.com/PyGithub/PyGithub/commit/7d1ba281e>`_)

2.9.0

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

Notable changes
^^^^^^^^^^^^^^^

Lazy PyGithub objects
"""""""""""""""""""""

The notion of lazy objects has been added to some PyGithub classes in version 2.6.0.
This release now makes all ``CompletableGithubObject``\s optionally lazy (if useful).
See `3403 <https://github.com/PyGithub/PyGithub/pull/3403>`_ for a complete list.

In lazy mode, getting a PyGithub object does not send a request to the GitHub API.
Only accessing methods and properties sends the necessary requests to the GitHub API:

.. code-block:: python

  Use lazy mode
 g = Github(auth=auth, lazy=True)

  these method calls do not send requests to the GitHub API
 user = g.get_user("PyGithub")     get the user
 repo = user.get_repo("PyGithub")  get the user's repo
 pull = repo.get_pull(3403)        get a known pull request
 issue = pull.as_issue()           turn the pull request into an issue

  these method and property calls send requests to Github API
 issue.create_reaction("rocket")   create a reaction
 created = repo.created_at         get property of lazy object repo

  once a lazy object has been fetched, all properties are available (no more requests)
 licence = repo.license

All PyGithub classes that implement ``CompletableGithubObject`` support lazy mode (if useful).
This is only useful for classes that have methods creating, changing, or getting objects.

By default, PyGithub objects are not lazy.

PyGithub objects with a paginated property
""""""""""""""""""""""""""""""""""""""""""

The GitHub API has the "feature" of paginated properties.
Some objects returned by the API have a property that allows for pagination.
Fetching subsequent pages of that property means fetching the entire object (with all other properties)
and the specified page of the paginated property. Iterating over the paginated property means fetching
all other properties multiple times. Fortunately, the allowed size of each page (``per_page`` is usually 300,
in contrast to the "usual" ``per_page`` maximum of 100).

Objects with paginated properties:

- Commit.files
- Comparison.commits
- EnterpriseConsumedLicenses.users

This PR makes iterating those paginated properties use the configured ``per_page`` setting.

It further allows to specify an individual ``per_page`` when either retrieving such objects,
or fetching paginated properties.

See :ref:`Classes with paginated properties <utilities-classes-with-paginated-properties>` for details.

Drop Python 3.8 support due to End-of-Life
""""""""""""""""""""""""""""""""""""""""""

Python 3.8 reached its end-of-life September 6, 2024. Support has been removed with this release.

Deprecations
^^^^^^^^^^^^

* Method ``delete`` of ``Reaction`` is deprecated, use ``IssueComment.delete_reaction``,
``PullRequestComment.delete_reaction``, ``CommitComment.delete_reaction`` or ``Issue.delete_reaction`` instead.
* Method ``Issue.assignee`` and parameter ``Issue.edit(assignee=…)`` are deprecated,
use ``Issue.assignees`` and ``Issue.edit(assignees=…)`` instead.
* Method ``Organization.edit_hook`` is deprecated, use ``Organization.get_hook(id).edit(…)`` instead.
If you need to avoid ``Organization.get_hook(id)`` to fetch the ``Hook`` object from Github API,
use a lazy Github instance:

.. code-block:: python

   Github(…, lazy=True).get_organization(…).get_hook(id).edit(…)

* Methods ``Team.add_to_members`` and ``Team.remove_from_members`` are deprecated,
use ``Team.add_membership`` or ``Team.remove_membership`` instead.

New Features
^^^^^^^^^^^^
* Consider per-page settings when iterating paginated properties (`3377 <https://github.com/PyGithub/PyGithub/pull/3377>`_) (`b1a9b7e2a <https://github.com/PyGithub/PyGithub/commit/b1a9b7e2a>`_)
* Add Secret Scanning Alerts and Improve Code Scan Alerts (`3307 <https://github.com/PyGithub/PyGithub/pull/3307>`_) (`646190988 <https://github.com/PyGithub/PyGithub/commit/646190988>`_)

Improvements
^^^^^^^^^^^^
* Make more objects lazy (`3403 <https://github.com/PyGithub/PyGithub/pull/3403>`_) (`e79d9bc1e <https://github.com/PyGithub/PyGithub/commit/e79d9bc1e>`_)
* Allow for enterprise base url prefixed with ``api.`` (`3419 <https://github.com/PyGithub/PyGithub/pull/3419>`_) (`61dcf49d3 <https://github.com/PyGithub/PyGithub/commit/61dcf49d3>`_)
* Add ``throw`` option to ``Workflow.create_dispatch`` to raise exceptions (`2966 <https://github.com/PyGithub/PyGithub/pull/2966>`_) (`19e1c5032 <https://github.com/PyGithub/PyGithub/commit/19e1c5032>`_)
* Use ``GET`` url or ``_links.self`` as object url (`3421 <https://github.com/PyGithub/PyGithub/pull/3421>`_) (`3716bab10 <https://github.com/PyGithub/PyGithub/commit/3716bab10>`_)
* Add support for ``type`` parameter to get_issues (`3381 <https://github.com/PyGithub/PyGithub/pull/3381>`_) (`22263b72f <https://github.com/PyGithub/PyGithub/commit/22263b72f>`_)
* Align implemented paths with OpenAPI spec (`3413 <https://github.com/PyGithub/PyGithub/pull/3413>`_) (`0ede65793 <https://github.com/PyGithub/PyGithub/commit/0ede65793>`_)
* Add suggested OpenAPI schemas (`3411 <https://github.com/PyGithub/PyGithub/pull/3411>`_) (`a0a9f0172 <https://github.com/PyGithub/PyGithub/commit/a0a9f0172>`_)
* Apply OpenAPI schemas (`3412 <https://github.com/PyGithub/PyGithub/pull/3412>`_) (`c92f5552c <https://github.com/PyGithub/PyGithub/commit/c92f5552c>`_)

Bug Fixes
^^^^^^^^^
* Fix ``PaginatedList.totalCount`` returning 0 with GitHub deprecation notices (`3382 <https://github.com/PyGithub/PyGithub/pull/3382>`_) (`c4ec16a18 <https://github.com/PyGithub/PyGithub/commit/c4ec16a18>`_)
* Use default type if known type is not supported (`3365 <https://github.com/PyGithub/PyGithub/pull/3365>`_) (`f5f9756a1 <https://github.com/PyGithub/PyGithub/commit/f5f9756a1>`_)

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

* Deprecate ``Reaction.delete`` (`3435 <https://github.com/PyGithub/PyGithub/pull/3435>`_) (`f2540db50 <https://github.com/PyGithub/PyGithub/commit/f2540db50>`_)
* Deprecate ``Issue.assignee`` (`3366 <https://github.com/PyGithub/PyGithub/pull/3366>`_) (`8a0fa32de <https://github.com/PyGithub/PyGithub/commit/8a0fa32de>`_)
* Deprecate ``Organization.edit_hook`` (`3404 <https://github.com/PyGithub/PyGithub/pull/3404>`_) (`d7395df9c <https://github.com/PyGithub/PyGithub/commit/d7395df9c>`_)
* Deprecate ``Team.add_to_members`` and ``Team.remove_from_members`` (`3368 <https://github.com/PyGithub/PyGithub/pull/3368>`_) (`78050d397 <https://github.com/PyGithub/PyGithub/commit/78050d397>`_)

* Various minor OpenAPI fixes (`3375 <https://github.com/PyGithub/PyGithub/pull/3375>`_) (`7de26441c <https://github.com/PyGithub/PyGithub/commit/7de26441c>`_)

* Update test key pair (`3453 <https://github.com/PyGithub/PyGithub/pull/3453>`_) (`24305f6d6 <https://github.com/PyGithub/PyGithub/commit/24305f6d6>`_)
* Pin CI lint Python version to 3.13 (`3406 <https://github.com/PyGithub/PyGithub/pull/3406>`_) (`786c37c53 <https://github.com/PyGithub/PyGithub/commit/786c37c53>`_)
* Improve error message on replay data mismatch (`3385 <https://github.com/PyGithub/PyGithub/pull/3385>`_) (`#3386 <https://github.com/PyGithub/PyGithub/pull/3386>`_) (`8be9c5cb9 <https://github.com/PyGithub/PyGithub/commit/8be9c5cb9>`_) (`927cf227a <https://github.com/PyGithub/PyGithub/commit/927cf227a>`_)
* Disable sleeps in tests (`3383 <https://github.com/PyGithub/PyGithub/pull/3383>`_) (`4294a652e <https://github.com/PyGithub/PyGithub/commit/4294a652e>`_)

* Update autodoc defaults (`3369 <https://github.com/PyGithub/PyGithub/pull/3369>`_) (`0b4503cb6 <https://github.com/PyGithub/PyGithub/commit/0b4503cb6>`_)

* Add Python 3.14 to CI and tox (`3429 <https://github.com/PyGithub/PyGithub/pull/3429>`_) (`95648db47 <https://github.com/PyGithub/PyGithub/commit/95648db47>`_)
* Restrict PyPi release workflow permissions (`3418 <https://github.com/PyGithub/PyGithub/pull/3418>`_) (`ae23d6075 <https://github.com/PyGithub/PyGithub/commit/ae23d6075>`_)
* Fix OpenApi workflow (`3389 <https://github.com/PyGithub/PyGithub/pull/3389>`_) (`9e1c2bfe5 <https://github.com/PyGithub/PyGithub/commit/9e1c2bfe5>`_)
* Bump codecov/codecov-action from 3 to 5 (`3284 <https://github.com/PyGithub/PyGithub/pull/3284>`_) (`5752d52e7 <https://github.com/PyGithub/PyGithub/commit/5752d52e7>`_)
* Bump actions/setup-python from 5 to 6 (`3370 <https://github.com/PyGithub/PyGithub/pull/3370>`_) (`1f5f434b3 <https://github.com/PyGithub/PyGithub/commit/1f5f434b3>`_)
* Bump dawidd6/action-download-artifact from 3.0.0 to 3.1.4 (`3282 <https://github.com/PyGithub/PyGithub/pull/3282>`_) (`5db532b87 <https://github.com/PyGithub/PyGithub/commit/5db532b87>`_)
* Bump github/codeql-action from 3 to 4 (`3391 <https://github.com/PyGithub/PyGithub/pull/3391>`_) (`47478b002 <https://github.com/PyGithub/PyGithub/commit/47478b002>`_)
* Bump actions/upload-artifact from 4 to 5 (`3394 <https://github.com/PyGithub/PyGithub/pull/3394>`_) (`8b87fd1c8 <https://github.com/PyGithub/PyGithub/commit/8b87fd1c8>`_)
* Bump actions/download-artifact from 5 to 6 (`3393 <https://github.com/PyGithub/PyGithub/pull/3393>`_) (`511f3b3f4 <https://github.com/PyGithub/PyGithub/commit/511f3b3f4>`_)

* Drop Python 3.8 support due to EOL (`3191 <https://github.com/PyGithub/PyGithub/pull/3191>`_) (`3ccecbb99 <https://github.com/PyGithub/PyGithub/commit/3ccecbb99>`_)
* Merge changelog updates from v2.8 release branch (`3367 <https://github.com/PyGithub/PyGithub/pull/3367>`_) (`4a353f730 <https://github.com/PyGithub/PyGithub/commit/4a353f730>`_)

2.8.1

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

Bug Fixes
^^^^^^^^^
* Use default type if known type is not supported (`3365 <https://github.com/PyGithub/PyGithub/pull/3365>`_) (`40506415 <https://github.com/PyGithub/PyGithub/commit/40506415>`_)

2.8.0

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

New Features
^^^^^^^^^^^^
* Add self hosted runner management to Organization (`3203 <https://github.com/PyGithub/PyGithub/pull/3203>`_) (`4ea1c4e2 <https://github.com/PyGithub/PyGithub/commit/4ea1c4e2>`_)
* Add support to generate release notes (`3022 <https://github.com/PyGithub/PyGithub/pull/3022>`_) (`e359b83a <https://github.com/PyGithub/PyGithub/commit/e359b83a>`_)

Improvements
^^^^^^^^^^^^
* Fix connection pooling to improve connection performance (`3289 <https://github.com/PyGithub/PyGithub/pull/3289>`_)
* Add ``Repository.get_automated_security_fixes`` method (`3303 <https://github.com/PyGithub/PyGithub/pull/3303>`_) (`22048d83 <https://github.com/PyGithub/PyGithub/commit/22048d83>`_)
* Sync ``Issue`` class with API spec (`3338 <https://github.com/PyGithub/PyGithub/pull/3338>`_) (`62da467a <https://github.com/PyGithub/PyGithub/commit/62da467a>`_)
* Return more union classes like ``NamedUser | Organization | Enterprise`` (`3224 <https://github.com/PyGithub/PyGithub/pull/3224>`_) (`aea64148 <https://github.com/PyGithub/PyGithub/commit/aea64148>`_)
* Sync ``Enterprise`` class with API spec (`3342 <https://github.com/PyGithub/PyGithub/pull/3342>`_) (`01bb5ab1 <https://github.com/PyGithub/PyGithub/commit/01bb5ab1>`_)
* Sync ``GitReleaseAsset`` class with API spec (`3343 <https://github.com/PyGithub/PyGithub/pull/3343>`_) (`74449fed <https://github.com/PyGithub/PyGithub/commit/74449fed>`_)
* Sync many class with OpenAPI spec (`3344 <https://github.com/PyGithub/PyGithub/pull/3344>`_)
* Point deprecation warnings to the caller code rather than inner class (`3275 <https://github.com/PyGithub/PyGithub/pull/3275>`_) (`99bb5270 <https://github.com/PyGithub/PyGithub/commit/99bb5270>`_)
* Allow for repo strings in all ``Team`` repo methods (`3356 <https://github.com/PyGithub/PyGithub/pull/3356>`_) (`3234a21f <https://github.com/PyGithub/PyGithub/commit/3234a21f>`_)

Bug Fixes
^^^^^^^^^
* Fix  API path of ``Repository.get_git_ref`` (`2992 <https://github.com/PyGithub/PyGithub/pull/2992>`_) (`a6965031 <https://github.com/PyGithub/PyGithub/commit/a6965031>`_)
* Rework redirection URL allowance check (`3329 <https://github.com/PyGithub/PyGithub/pull/3329>`_) (`065b1319 <https://github.com/PyGithub/PyGithub/commit/065b1319>`_)
* Fix ``GitRelease.name``, deprecate ``GitRelease.title`` (`3346 <https://github.com/PyGithub/PyGithub/pull/3346>`_) (`fb51957f <https://github.com/PyGithub/PyGithub/commit/fb51957f>`_)
* Remove ``"COMMENT"`` as the default event for ``create_review`` (`3078 <https://github.com/PyGithub/PyGithub/pull/3078>`_) (`8494da5c <https://github.com/PyGithub/PyGithub/commit/8494da5c>`_)
* Add support for public release assets (`3339 <https://github.com/PyGithub/PyGithub/pull/3339>`_) (`abad296e <https://github.com/PyGithub/PyGithub/commit/abad296e>`_)
* Fix GitHub breaking API change of ``maintainers`` in ``Organization.create_team`` (`3291 <https://github.com/PyGithub/PyGithub/pull/3291>`_) (`17bc4df4 <https://github.com/PyGithub/PyGithub/commit/17bc4df4>`_)

Maintenance
^^^^^^^^^^^
* Minor fix to release.yml (`3201 <https://github.com/PyGithub/PyGithub/pull/3201>`_) (`f1fc6e7c <https://github.com/PyGithub/PyGithub/commit/f1fc6e7c>`_)
* Reduce test replay data (`3243 <https://github.com/PyGithub/PyGithub/pull/3243>`_) (`19426454 <https://github.com/PyGithub/PyGithub/commit/19426454>`_)
* Add check to OpenAPI script to check doc-string verbs (`3332 <https://github.com/PyGithub/PyGithub/pull/3332>`_) (`3efde77d <https://github.com/PyGithub/PyGithub/commit/3efde77d>`_)
* Improve apply OpenAPI schemas (`3333 <https://github.com/PyGithub/PyGithub/pull/3333>`_) (`ec189dd6 <https://github.com/PyGithub/PyGithub/commit/ec189dd6>`_)
* Add config to OpenAPI script to ignore schemas (`3334 <https://github.com/PyGithub/PyGithub/pull/3334>`_) (`0478d33b <https://github.com/PyGithub/PyGithub/commit/0478d33b>`_)
* Add suggest and create method feature to OpenAPI script (`3318 <https://github.com/PyGithub/PyGithub/pull/3318>`_)
* Fix CI OpenApi apply command (`3341 <https://github.com/PyGithub/PyGithub/pull/3341>`_) (`cdc10a27 <https://github.com/PyGithub/PyGithub/commit/cdc10a27>`_)
* Improve OpenAPI scripts (`3340 <https://github.com/PyGithub/PyGithub/pull/3340>`_) (`ad278c5f <https://github.com/PyGithub/PyGithub/commit/ad278c5f>`_)
* Improve OpenAPI CI (`3347 <https://github.com/PyGithub/PyGithub/pull/3347>`_) (`8165bbc9 <https://github.com/PyGithub/PyGithub/commit/8165bbc9>`_)
* Rework test framework (`3271 <https://github.com/PyGithub/PyGithub/pull/3271>`_) (`1b700187 <https://github.com/PyGithub/PyGithub/commit/1b700187>`_)
* Some minor fixes to OpenAPI scripts (`3350 <https://github.com/PyGithub/PyGithub/pull/3350>`_) (`a813a945 <https://github.com/PyGithub/PyGithub/commit/a813a945>`_)
* Add manual workflow to fix auto-fixable issues (`3351 <https://github.com/PyGithub/PyGithub/pull/3351>`_) (`0e6317d9 <https://github.com/PyGithub/PyGithub/commit/0e6317d9>`_)
* Bump actions/download-artifact from 4 to 5 (`3330 <https://github.com/PyGithub/PyGithub/pull/3330>`_) (`5206d231 <https://github.com/PyGithub/PyGithub/commit/5206d231>`_)
* Use default per-page const in ``PaginatedList`` (`3039 <https://github.com/PyGithub/PyGithub/pull/3039>`_) (`cffda3d7 <https://github.com/PyGithub/PyGithub/commit/cffda3d7>`_)
* Bump actions/setup-python from 4 to 5 (`3283 <https://github.com/PyGithub/PyGithub/pull/3283>`_) (`f742be03 <https://github.com/PyGithub/PyGithub/commit/f742be03>`_)
* Bump actions/checkout from 3 to 5 (`3348 <https://github.com/PyGithub/PyGithub/pull/3348>`_) (`2a1fd58d <https://github.com/PyGithub/PyGithub/commit/2a1fd58d>`_)
* Various minor OpenAPI scripts fixes (`3353 <https://github.com/PyGithub/PyGithub/pull/3353>`_) (`8e40043e <https://github.com/PyGithub/PyGithub/commit/8e40043e>`_)
* Add union class support to OpenAPI script (`3354 <https://github.com/PyGithub/PyGithub/pull/3354>`_) (`4a6bba93 <https://github.com/PyGithub/PyGithub/commit/4a6bba93>`_)
* Add ``github_actions`` label to Maintenance section (`3357 <https://github.com/PyGithub/PyGithub/pull/3357>`_) (`0c31f848 <https://github.com/PyGithub/PyGithub/commit/0c31f848>`_)
* Upgrade docformatter pre-commit hook (`3359 <https://github.com/PyGithub/PyGithub/pull/3359>`_) (`6ec3ca24 <https://github.com/PyGithub/PyGithub/commit/6ec3ca24>`_)
* Add warning about Checks API in doc-strings (`3229 <https://github.com/PyGithub/PyGithub/pull/3229>`_) (`12d8d10c <https://github.com/PyGithub/PyGithub/commit/12d8d10c>`_)
* Update docs on development (`3352 <https://github.com/PyGithub/PyGithub/pull/3352>`_) (`6f0d6efa <https://github.com/PyGithub/PyGithub/commit/6f0d6efa>`_)

2.7.0

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

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

* Method ``Github.get_rate_limit()`` now returns ``RateLimitOverview`` rather than ``RateLimit`` (`3205 <https://github.com/PyGithub/PyGithub/pull/3205>`_) (`56ee057a <https://github.com/PyGithub/PyGithub/commit/56ee057a>`_).

Code like

.. code-block:: python

 gh.get_rate_limit().core.remaining

should be replaced with

.. code-block:: python

 gh.get_rate_limit().resources.core.remaining

* Method ``GitTag.verification`` now returns ``GitCommitVerification`` rather than ``dict[str, Any]`` (`3226 <https://github.com/PyGithub/PyGithub/pull/3226>`_) (`850932cc <https://github.com/PyGithub/PyGithub/commit/850932cc>`_).

Code like

.. code-block:: python

 tag.verification["reason"]
 tag.verification.get("reason")

should be replaced with

.. code-block:: python

 tag.verification.reason

Deprecations
^^^^^^^^^^^^

* Methods ``dismissal_users`` and ``dismissal_teams`` of ``RequiredPullRequestReviews`` are deprecated,
use ``dismissal_restrictions.users`` and ``dismissal_restrictions.teams`` instead.

New Features
^^^^^^^^^^^^
* Add getting list of self-hosted runners of organization (`3190 <https://github.com/PyGithub/PyGithub/pull/3190>`_) (`b4092b5d <https://github.com/PyGithub/PyGithub/commit/b4092b5d>`_)
* Apply OpenAPI spec (`3317 <https://github.com/PyGithub/PyGithub/pull/3317>`_) (`858b9e5b <https://github.com/PyGithub/PyGithub/commit/858b9e5b>`_)
* Add support for Sub-Issues (`3258 <https://github.com/PyGithub/PyGithub/pull/3258>`_) (`c7858c85 <https://github.com/PyGithub/PyGithub/commit/c7858c85>`_)

Improvement
^^^^^^^^^^^
* Refactor search results into separate classes (`3204 <https://github.com/PyGithub/PyGithub/pull/3204>`_) (`938f80b1 <https://github.com/PyGithub/PyGithub/commit/938f80b1>`_)
* Add ``OrganizationInvitation`` (`3207 <https://github.com/PyGithub/PyGithub/pull/3207>`_) (`038624c2 <https://github.com/PyGithub/PyGithub/commit/038624c2>`_)
* Add and apply missing schemas (`3209 <https://github.com/PyGithub/PyGithub/pull/3209>`_) (`f4d586b4 <https://github.com/PyGithub/PyGithub/commit/f4d586b4>`_)
* Sync ``RepositoryAdvisory`` tests with OpenAPI spec (`3215 <https://github.com/PyGithub/PyGithub/pull/3215>`_) (`6b77787a <https://github.com/PyGithub/PyGithub/commit/6b77787a>`_)
* Sync ``ProjectColumn`` and ``ProjectCard`` tests with OpenAPI spec (`3216 <https://github.com/PyGithub/PyGithub/pull/3216>`_) (`e91c8379 <https://github.com/PyGithub/PyGithub/commit/e91c8379>`_)
* Sync ``CopilotSeat`` class with API spec (`3232 <https://github.com/PyGithub/PyGithub/pull/3232>`_) (`45f26a1b <https://github.com/PyGithub/PyGithub/commit/45f26a1b>`_)
* Sync ``HookDeliverySummary`` class with API spec (`3233 <https://github.com/PyGithub/PyGithub/pull/3233>`_) (`bc1c5375 <https://github.com/PyGithub/PyGithub/commit/bc1c5375>`_)
* Sync ``RequiredPullRequestReviews`` class with API spec (`3234 <https://github.com/PyGithub/PyGithub/pull/3234>`_) (`2f991c48 <https://github.com/PyGithub/PyGithub/commit/2f991c48>`_)
* Sync ``RequiredStatusChecks`` class with API spec (`3236 <https://github.com/PyGithub/PyGithub/pull/3236>`_) (`0474507f <https://github.com/PyGithub/PyGithub/commit/0474507f>`_)
* Sync ``Team`` class with API spec (`3237 <https://github.com/PyGithub/PyGithub/pull/3237>`_) (`fa8f9dfe <https://github.com/PyGithub/PyGithub/commit/fa8f9dfe>`_)
* Replace ``deprecated.deprecated()`` with ``typing_extensions.deprecated()`` (`3255 <https://github.com/PyGithub/PyGithub/pull/3255>`_) (`1ac8da70 <https://github.com/PyGithub/PyGithub/commit/1ac8da70>`_)
* fix(CodeScanAlert): add missing attributes (`3274 <https://github.com/PyGithub/PyGithub/pull/3274>`_) (`bdc58c38 <https://github.com/PyGithub/PyGithub/commit/bdc58c38>`_)
* Allow SHAs when creating PR comments (`3248 <https://github.com/PyGithub/PyGithub/pull/3248>`_) (`95a6d400 <https://github.com/PyGithub/PyGithub/commit/95a6d400>`_)
* Get collaborator role name (`3295 <https://github.com/PyGithub/PyGithub/pull/3295>`_) (`2d4785dd <https://github.com/PyGithub/PyGithub/commit/2d4785dd>`_)
* Adding ``prevent_self_review`` property to ``Repository.createEnvironment`` (`3246 <https://github.com/PyGithub/PyGithub/pull/3246>`_) (`e2a05ff2 <https://github.com/PyGithub/PyGithub/commit/e2a05ff2>`_)
* Add ``PullRequest.get_issue_timeline`` method (`3259 <https://github.com/PyGithub/PyGithub/pull/3259>`_) (`23a5bad3 <https://github.com/PyGithub/PyGithub/commit/23a5bad3>`_)
* Support built-in ``reversed()`` on ``PaginatedList`` (`3260 <https://github.com/PyGithub/PyGithub/pull/3260>`_) (`95f015c8 <https://github.com/PyGithub/PyGithub/commit/95f015c8>`_)
* Relax 404 condition in ``Requester`` exception handling (`3299 <https://github.com/PyGithub/PyGithub/pull/3299>`_) (`e7110bf4 <https://github.com/PyGithub/PyGithub/commit/e7110bf4>`_)

Bug Fixes
^^^^^^^^^
* Fix broken pickle support for ``Auth`` classes (`3211 <https://github.com/PyGithub/PyGithub/pull/3211>`_) (`a1f328df <https://github.com/PyGithub/PyGithub/commit/a1f328df>`_)
* Remove schema from ``Deployment``, remove ``message`` attribute (`3223 <https://github.com/PyGithub/PyGithub/pull/3223>`_) (`e91713e9 <https://github.com/PyGithub/PyGithub/commit/e91713e9>`_)
* Fix incorrect deprecated import (`3225 <https://github.com/PyGithub/PyGithub/pull/3225>`_) (`a2071d70 <https://github.com/PyGithub/PyGithub/commit/a2071d70>`_)
* Add ``CodeSecurityConfigRepository`` returned by ``get_repos_for_code_security_config`` (`3219 <https://github.com/PyGithub/PyGithub/pull/3219>`_) (`dbb32eed <https://github.com/PyGithub/PyGithub/commit/dbb32eed>`_)
* Fix ``Branch.get_required_status_checks`` return type (`3235 <https://github.com/PyGithub/PyGithub/pull/3235>`_) (`66a3cc1c <https://github.com/PyGithub/PyGithub/commit/66a3cc1c>`_)
* Adds ``multi_select`` and ``true_false`` options to ``CustomProperty.value_type`` (`3173 <https://github.com/PyGithub/PyGithub/pull/3173>`_) (`f51a3f48 <https://github.com/PyGithub/PyGithub/commit/f51a3f48>`_)
* Fix url encoding of strings with slashes in URLs (`3263 <https://github.com/PyGithub/PyGithub/pull/3263>`_) (`da73fc8a <https://github.com/PyGithub/PyGithub/commit/da73fc8a>`_)
* Fix side-effect when removing Authorization key from headers (`3313 <https://github.com/PyGithub/PyGithub/pull/3313>`_) (`0378ccee <https://github.com/PyGithub/PyGithub/commit/0378ccee>`_)
* Make ``TimingData.run_duration_ms`` optional (`3268 <https://github.com/PyGithub/PyGithub/pull/3268>`_) (`131949b3 <https://github.com/PyGithub/PyGithub/commit/131949b3>`_)
* Normalize App ID to String & Enhance JWT Issuer Verification (`3272 <https://github.com/PyGithub/PyGithub/pull/3272>`_) (`01196d67 <https://github.com/PyGithub/PyGithub/commit/01196d67>`_)
* Add ``delete_self_hosted_runner`` to ``Organization`` (`3306 <https://github.com/PyGithub/PyGithub/pull/3306>`_)

Dependencies
^^^^^^^^^^^^
* Bump actions/checkout from 3 to 4 (`2754 <https://github.com/PyGithub/PyGithub/pull/2754>`_) (`3657eeb9 <https://github.com/PyGithub/PyGithub/commit/3657eeb9>`_)

Maintenance
^^^^^^^^^^^
* Mention removal of ``AppAuth.private_key`` in changelog (`3212 <https://github.com/PyGithub/PyGithub/pull/3212>`_) (`fae8f25d <https://github.com/PyGithub/PyGithub/commit/fae8f25d>`_)
* Remove wrong schema from Repository (`3220 <https://github.com/PyGithub/PyGithub/pull/3220>`_) (`aee3a350 <https://github.com/PyGithub/PyGithub/commit/aee3a350>`_)
* Rename ``HookDeliveryRequest`` and ``…Response`` private headers fields (`3221 <https://github.com/PyGithub/PyGithub/pull/3221>`_) (`13236d5d <https://github.com/PyGithub/PyGithub/commit/13236d5d>`_)
* Sort classes' functions (`3231 <https://github.com/PyGithub/PyGithub/pull/3231>`_) (`bb00062d <https://github.com/PyGithub/PyGithub/commit/bb00062d>`_)
* Move all Python files to future annotations (`3241 <https://github.com/PyGithub/PyGithub/pull/3241>`_) (`3602345a <https://github.com/PyGithub/PyGithub/commit/3602345a>`_)
* Fix return type of ``PaginatedList[int]`` (`3240 <https://github.com/PyGithub/PyGithub/pull/3240>`_)
* Sync with OpenAPI spec (`3244 <https://github.com/PyGithub/PyGithub/pull/3244>`_) (`5cef2c3d <https://github.com/PyGithub/PyGithub/commit/5cef2c3d>`_)
* Make token auth default in tests (`3242 <https://github.com/PyGithub/PyGithub/pull/3242>`_) (`7a11f840 <https://github.com/PyGithub/PyGithub/commit/7a11f840>`_)
* Add ``Organization.get_repos_for_code_security_config`` test (`3239 <https://github.com/PyGithub/PyGithub/pull/3239>`_) (`4d45a4f4 <https://github.com/PyGithub/PyGithub/commit/4d45a4f4>`_)
* Add Python 3.13 to CI (`3253 <https://github.com/PyGithub/PyGithub/pull/3253>`_) (`29e8a96b <https://github.com/PyGithub/PyGithub/commit/29e8a96b>`_)
* Enhance PyGithub webhook documentation (`3267 <https://github.com/PyGithub/PyGithub/pull/3267>`_) (`63438b6a <https://github.com/PyGithub/PyGithub/commit/63438b6a>`_)
* Create codeql.yml (`3277 <https://github.com/PyGithub/PyGithub/pull/3277>`_) (`78267263 <https://github.com/PyGithub/PyGithub/commit/78267263>`_)
* Add schema to ``TimingData`` (`3206 <https://github.com/PyGithub/PyGithub/pull/3206>`_) (`20b8c477 <https://github.com/PyGithub/PyGithub/commit/20b8c477>`_)
* Remove error schemas from classes (`3202 <https://github.com/PyGithub/PyGithub/pull/3202>`_) (`6ea33845 <https://github.com/PyGithub/PyGithub/commit/6ea33845>`_)

2.6.0

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

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

* Rework ``Views`` and ``Clones`` (`3168 <https://github.com/PyGithub/PyGithub/pull/3168>`_) (`f7d52249 <https://github.com/PyGithub/PyGithub/commit/f7d52249>`_):

View and clones traffic information returned by ``Repository.get_views_traffic`` and ``Repository.get_clones_traffic``
now return proper PyGithub objects, instead of a ``dict``, with all information that used to be provided by the ``dict``:

Code like

.. code-block:: python

 repo.get_views_traffic().["views"].timestamp
 repo.get_clones_traffic().["clones"].timestamp

should be replaced with

.. code-block:: python

 repo.get_views_traffic().views.timestamp
 repo.get_clones_traffic().clones.timestamp

* Add ``GitCommitVerification`` class (`3028 <https://github.com/PyGithub/PyGithub/pull/3028>`_) (`822e6d71 <https://github.com/PyGithub/PyGithub/commit/822e6d71>`_):

Changes the return value of ``GitTag.verification`` and ``GitCommit.verification`` from ``dict`` to ``GitCommitVerification``.

Code like

.. code-block:: python

 tag.verification["reason"]
 commit.verification["reason"]

should be replaced with

.. code-block:: python

 tag.verification.reason
 commit.verification.reason

* Property ``AppAuth.private_key`` has been removed (`3065 <https://github.com/PyGithub/PyGithub/pull/3065>`_) (`36697b22 <https://github.com/PyGithub/PyGithub/commit/36697b22>`_)

* Fix typos (`3086 <https://github.com/PyGithub/PyGithub/pull/3086>`_) (`a50ae51b <https://github.com/PyGithub/PyGithub/commit/a50ae51b>`_):

Property ``OrganizationCustomProperty.respository_id`` renamed to ``OrganizationCustomProperty.repository_id``.

New Features
^^^^^^^^^^^^
* Add capability for global laziness (`2746 <https://github.com/PyGithub/PyGithub/pull/2746>`_) (`f23da453 <https://github.com/PyGithub/PyGithub/commit/f23da453>`_)
* Add Support for GitHub Copilot Seat Management in Organizations (`3082 <https://github.com/PyGithub/PyGithub/pull/3082>`_) (`b5f8f078 <https://github.com/PyGithub/PyGithub/commit/b5f8f078>`_)
* Get branches where commit is head (`3083 <https://github.com/PyGithub/PyGithub/pull/3083>`_) (`3d84a47a <https://github.com/PyGithub/PyGithub/commit/3d84a47a>`_)
* Support downloading a Release Asset (`3060 <https://github.com/PyGithub/PyGithub/pull/3060>`_) (`67cfdb21 <https://github.com/PyGithub/PyGithub/commit/67cfdb21>`_)
* Add ``Repository.merge_upstream`` method (`3175 <https://github.com/PyGithub/PyGithub/pull/3175>`_) (`2f95352e <https://github.com/PyGithub/PyGithub/commit/2f95352e>`_)
* Support updating pull request draft status (`3104 <https://github.com/PyGithub/PyGithub/pull/3104>`_) (`5ec7b775 <https://github.com/PyGithub/PyGithub/commit/5ec7b775>`_)
* Add transfer ownership method to Repository (`3091 <https://github.com/PyGithub/PyGithub/pull/3091>`_) (`b3ccd105 <https://github.com/PyGithub/PyGithub/commit/b3ccd105>`_)
* Add enable and disable a Workflow (`3088 <https://github.com/PyGithub/PyGithub/pull/3088>`_) (`7f7d2282 <https://github.com/PyGithub/PyGithub/commit/7f7d2282>`_)
* Add support for managing Code Security Configurations (`3095 <https://github.com/PyGithub/PyGithub/pull/3095>`_) (`ee5d1da3 <https://github.com/PyGithub/PyGithub/commit/ee5d1da3>`_)
* Allow for private_key / sign function in AppAuth (`3065 <https://github.com/PyGithub/PyGithub/pull/3065>`_) (`36697b22 <https://github.com/PyGithub/PyGithub/commit/36697b22>`_)
* Add ``GitCommitVerification`` class (`3028 <https://github.com/PyGithub/PyGithub/pull/3028>`_) (`822e6d71 <https://github.com/PyGithub/PyGithub/commit/822e6d71>`_)

Improvements
^^^^^^^^^^^^
* Update RateLimit object with all the new categories GitHub added. (`3096 <https://github.com/PyGithub/PyGithub/pull/3096>`_) (`152429d9 <https://github.com/PyGithub/PyGithub/commit/152429d9>`_)
* Add support for make-latest to create_git_release and create_git_tag_and_release (`3067 <https://github.com/PyGithub/PyGithub/pull/3067>`_) (`8ed5635f <https://github.com/PyGithub/PyGithub/commit/8ed5635f>`_)
* Add branch protection support for ``required_status_checks.checks`` object (`2884 <https://github.com/PyGithub/PyGithub/pull/2884>`_) (`764540d3 <https://github.com/PyGithub/PyGithub/commit/764540d3>`_)
* Use id and tree_id from simple-commit to populate GitCommit.sha and GitCommit.tree (`3167 <https://github.com/PyGithub/PyGithub/pull/3167>`_) (`04887640 <https://github.com/PyGithub/PyGithub/commit/04887640>`_)
* Use message of response in GithubException (`3185 <https://github.com/PyGithub/PyGithub/pull/3185>`_) (`bd35f7dd <https://github.com/PyGithub/PyGithub/commit/bd35f7dd>`_)
* Sync Advisory classes with API spec (`3193 <https://github.com/PyGithub/PyGithub/pull/3193>`_) (`d9d93c03 <https://github.com/PyGithub/PyGithub/commit/d9d93c03>`_)
* Sync Branch class with API spec (`3109 <https://github.com/PyGithub/PyGithub/pull/3109>`_) (`5570eba1 <https://github.com/PyGithub/PyGithub/commit/5570eba1>`_)
* Sync BranchProtection class with API spec (`3110 <https://github.com/PyGithub/PyGithub/pull/3110>`_) (`936b3ef5 <https://github.com/PyGithub/PyGithub/commit/936b3ef5>`_)
* Sync CheckRunAnnotation class with API spec (`3112 <https://github.com/PyGithub/PyGithub/pull/3112>`_) (`29eb0f58 <https://github.com/PyGithub/PyGithub/commit/29eb0f58>`_)
* Sync CheckRun class with API spec (`3111 <https://github.com/PyGithub/PyGithub/pull/3111>`_) (`3837c7df <https://github.com/PyGithub/PyGithub/commit/3837c7df>`_)
* Sync CheckSuite class with API spec (`3113 <https://github.com/PyGithub/PyGithub/pull/3113>`_) (`fa75d667 <https://github.com/PyGithub/PyGithub/commit/fa75d667>`_)
* Sync Commit class with API spec (`3116 <https://github.com/PyGithub/PyGithub/pull/3116>`_) (`b2748ed9 <https://github.com/PyGithub/PyGithub/commit/b2748ed9>`_)
* Sync CommitComment class with API spec (`3117 <https://github.com/PyGithub/PyGithub/pull/3117>`_) (`51945360 <https://github.com/PyGithub/PyGithub/commit/51945360>`_)
* Sync CommitStatus class with API spec (`3118 <https://github.com/PyGithub/PyGithub/pull/3118>`_) (`9a455056 <https://github.com/PyGithub/PyGithub/commit/9a455056>`_)
* Sync ContentFile class with API spec (`3119 <https://github.com/PyGithub/PyGithub/pull/3119>`_) (`a9aa872f <https://github.com/PyGithub/PyGithub/commit/a9aa872f>`_)
* Sync DependabotAlert class with API spec (`3120 <https://github.com/PyGithub/PyGithub/pull/3120>`_) (`79b4fc7c <https://github.com/PyGithub/PyGithub/commit/79b4fc7c>`_)
* Sync Deployment class with API spec (`3121 <https://github.com/PyGithub/PyGithub/pull/3121>`_) (`c2d3b5e2 <https://github.com/PyGithub/PyGithub/commit/c2d3b5e2>`_)
* Sync DeploymentStatus class with API spec (`3122 <https://github.com/PyGithub/PyGithub/pull/3122>`_) (`b3a06f07 <https://github.com/PyGithub/PyGithub/commit/b3a06f07>`_)
* Sync Gist class with API spec (`3123 <https://github.com/PyGithub/PyGithub/pull/3123>`_) (`6764017b <https://github.com/PyGithub/PyGithub/commit/6764017b>`_)
* Sync GistComment class with API spec (`3124 <https://github.com/PyGithub/PyGithub/pull/3124>`_) (`eb6019a4 <https://github.com/PyGithub/PyGithub/commit/eb6019a4>`_)
* Sync GitBlob class with API spec (`3125 <https://github.com/PyGithub/PyGithub/pull/3125>`_) (`876ff10d <https://github.com/PyGithub/PyGithub/commit/876ff10d>`_)
* Sync GitCommit class with API spec (`3126 <https://github.com/PyGithub/PyGithub/pull/3126>`_) (`6276e20f <https://github.com/PyGithub/PyGithub/commit/6276e20f>`_)
* Sync GithubApp class with API spec (`3127 <https://github.com/PyGithub/PyGithub/pull/3127>`_) (`5327617e <https://github.com/PyGithub/PyGithub/commit/5327617e>`_)
* Sync GitRef class with API spec (`3128 <https://github.com/PyGithub/PyGithub/pull/3128>`_) (`a69f1d6f <https://github.com/PyGithub/PyGithub/commit/a69f1d6f>`_)
* Sync GitReleaseAsset class with API spec (`3130 <https://github.com/PyGithub/PyGithub/pull/3130>`_) (`c5ab18f1 <https://github.com/PyGithub/PyGithub/commit/c5ab18f1>`_)
* Sync GitRelease class with API spec (`3129 <https://github.com/PyGithub/PyGithub/pull/3129>`_) (`ebf3fe8e <https://github.com/PyGithub/PyGithub/commit/ebf3fe8e>`_)
* Sync GitTag class with API spec (`3131 <https://github.com/PyGithub/PyGithub/pull/3131>`_) (`58f26d85 <https://github.com/PyGithub/PyGithub/commit/58f26d85>`_)
* Sync GitTree class with API spec (`3132 <https://github.com/PyGithub/PyGithub/pull/3132>`_) (`a38cb5ad <https://github.com/PyGithub/PyGithub/commit/a38cb5ad>`_)
* Sync Hook class with API spec (`3133 <https://github.com/PyGithub/PyGithub/pull/3133>`_) (`2e477f8c <https://github.com/PyGithub/PyGithub/commit/2e477f8c>`_)
* Sync HookDelivery class with API spec (`3134 <https://github.com/PyGithub/PyGithub/pull/3134>`_) (`15d57595 <https://github.com/PyGithub/PyGithub/commit/15d57595>`_)
* Sync InstallationAuthorization class with API spec (`3136 <https://github.com/PyGithub/PyGithub/pull/3136>`_) (`649de20b <https://github.com/PyGithub/PyGithub/commit/649de20b>`_)
* Sync Installation class with API spec (`3135 <https://github.com/PyGithub/PyGithub/pull/3135>`_) (`3e4185d8 <https://github.com/PyGithub/PyGithub/commit/3e4185d8>`_)
* Sync Invitation class with API spec (`3139 <https://github.com/PyGithub/PyGithub/pull/3139>`_) (`0df2e394 <https://github.com/PyGithub/PyGithub/commit/0df2e394>`_)
* Sync Issue class with API spec (`3140 <https://github.com/PyGithub/PyGithub/pull/3140>`_) (`769c6967 <https://github.com/PyGithub/PyGithub/commit/769c6967>`_)
* Sync IssueComment class with API spec (`3141 <https://github.com/PyGithub/PyGithub/pull/3141>`_) (`bb3353b4 <https://github.com/PyGithub/PyGithub/commit/bb3353b4>`_)
* Sync IssueEvent class with API spec (`3142 <https://github.com/PyGithub/PyGithub/pull/3142>`_) (`be44bb58 <https://github.com/PyGithub/PyGithub/commit/be44bb58>`_)
* Sync IssuePullRequest class with API spec (`3143 <https://github.com/PyGithub/PyGithub/pull/3143>`_) (`1836b073 <https://github.com/PyGithub/PyGithub/commit/1836b073>`_)
* Sync Label class with API spec (`3144 <https://github.com/PyGithub/PyGithub/pull/3144>`_) (`4535b9e1 <https://github.com/PyGithub/PyGithub/commit/4535b9e1>`_)
* Sync License class with API spec (`3145 <https://github.com/PyGithub/PyGithub/pull/3145>`_) (`dda13366 <https://github.com/PyGithub/PyGithub/commit/dda13366>`_)
* Sync Membership class with API spec (`3146 <https://github.com/PyGithub/PyGithub/pull/3146>`_) (`bc643cc8 <https://github.com/PyGithub/PyGithub/commit/bc643cc8>`_)
* Sync Migration class with API spec (`3147 <https://github.com/PyGithub/PyGithub/pull/3147>`_) (`dabc1fb2 <https://github.com/PyGithub/PyGithub/commit/dabc1fb2>`_)
* Sync Milestone class with API spec (`3148 <https://github.com/PyGithub/PyGithub/pull/3148>`_) (`12aee396 <https://github.com/PyGithub/PyGithub/commit/12aee396>`_)
* Sync NamedUser class with API spec (`3149 <https://github.com/PyGithub/PyGithub/pull/3149>`_) (`b481fab0 <https://github.com/PyGithub/PyGithub/commit/b481fab0>`_)
* Sync Organization class with API spec (`3150 <https://github.com/PyGithub/PyGithub/pull/3150>`_) (`5b36bc40 <https://github.com/PyGithub/PyGithub/commit/5b36bc40>`_)
* Sync OrganizationCustomProperty class with API spec (`3151 <https://github.com/PyGithub/PyGithub/pull/3151>`_) (`519b61b0 <https://github.com/PyGithub/PyGithub/commit/519b61b0>`_)
* Sync Project class with API spec (`3194 <https://github.com/PyGithub/PyGithub/pull/3194>`_) (`6ed83964 <https://github.com/PyGithub/PyGithub/commit/6ed83964>`_)
* Sync PublicKey class with API spec (`3152 <https://github.com/PyGithub/PyGithub/pull/3152>`_) (`26c284bc <https://github.com/PyGithub/PyGithub/commit/26c284bc>`_)
* Sync PullRequest class with API spec (`3153 <https://github.com/PyGithub/PyGithub/pull/3153>`_) (`563bdbb4 <https://github.com/PyGithub/PyGithub/commit/563bdbb4>`_)
* Sync PullRequestComment class with API spec (`3154 <https://github.com/PyGithub/PyGithub/pull/3154>`_) (`e262c2ee <https://github.com/PyGithub/PyGithub/commit/e262c2ee>`_)
* Sync RateLimit class with API spec (`3155 <https://github.com/PyGithub/PyGithub/pull/3155>`_) (`db1e8797 <https://github.com/PyGithub/PyGithub/commit/db1e8797>`_)
* Sync Repository class with API spec (`3156 <https://github.com/PyGithub/PyGithub/pull/3156>`_) (`f03b3163 <https://github.com/PyGithub/PyGithub/commit/f03b3163>`_)
* Sync RepositoryKey class with API spec (`3157 <https://github.com/PyGithub/PyGithub/pull/3157>`_) (`365f9899 <https://github.com/PyGithub/PyGithub/commit/365f9899>`_)
* Sync SecurityAndAnalysis class with API spec (`3158 <https://github.com/PyGithub/PyGithub/pull/3158>`_) (`65546abd <https://github.com/PyGithub/PyGithub/commit/65546abd>`_)
* Sync SelfHostedActionsRunner class with API spec (`3159 <https://github.com/PyGithub/PyGithub/pull/3159>`_) (`ea4a8d1d <https://github.com/PyGithub/PyGithub/commit/ea4a8d1d>`_)
* Sync SourceImport class with API spec (`3160 <https://github.com/PyGithub/PyGithub/pull/3160>`_) (`4d989733 <https://github.com/PyGithub/PyGithub/commit/4d989733>`_)
* Sync Tag class with API spec (`3161 <https://github.com/PyGithub/PyGithub/pull/3161>`_) (`a0a25bce <https://github.com/PyGithub/PyGithub/commit/a0a25bce>`_)
* Sync Team class with API spec (`3162 <https://github.com/PyGithub/PyGithub/pull/3162>`_) (`a1e68550 <https://github.com/PyGithub/PyGithub/commit/a1e68550>`_)
* Sync Topic class with API spec (`3163 <https://github.com/PyGithub/PyGithub/pull/3163>`_) (`67eced78 <https://github.com/PyGithub/PyGithub/commit/67eced78>`_)
* Sync UserKey class with API spec (`3164 <https://github.com/PyGithub/PyGithub/pull/3164>`_) (`9d04305a <https://github.com/PyGithub/PyGithub/commit/9d04305a>`_)
* Sync Workflow class with API spec (`3165 <https://github.com/PyGithub/PyGithub/pull/3165>`_) (`b656a311 <https://github.com/PyGithub/PyGithub/commit/b656a311>`_)
* Sync WorkflowRun class with API spec (`3166 <https://github.com/PyGithub/PyGithub/pull/3166>`_) (`468fa1b3 <https://github.com/PyGithub/PyGithub/commit/468fa1b3>`_)

Bug Fixes
^^^^^^^^^
* Patch httpretty socket for latest urllib3 release (`3102 <https://github.com/PyGithub/PyGithub/pull/3102>`_) (`81f8f05b <https://github.com/PyGithub/PyGithub/commit/81f8f05b>`_)
* Fix API break when contents not found (`3181 <https://github.com/PyGithub/PyGithub/pull/3181>`_) (`d90323fa <https://github.com/PyGithub/PyGithub/commit/d90323fa>`_)
* Change ``start_side`` argument of ``PullRequest.create_review_comment`` from ``int`` to ``str`` (`3170 <https://github.com/PyGithub/PyGithub/pull/3170>`_) (`f814de7d <https://github.com/PyGithub/PyGithub/commit/f814de7d>`_)
* Create Review Request - transform string params to a list (`3099 <https://github.com/PyGithub/PyGithub/pull/3099>`_) (`8aef11c0 <https://github.com/PyGithub/PyGithub/commit/8aef11c0>`_)
* Fix ``Repository.get_contents`` redirection (`3183 <https://github.com/PyGithub/PyGithub/pull/3183>`_) (`193f6991 <https://github.com/PyGithub/PyGithub/commit/193f6991>`_)

Others
^^^^^^
* Fix typos (`3086 <https://github.com/PyGithub/PyGithub/pull/3086>`_) (`a50ae51b <https://github.com/PyGithub/PyGithub/commit/a50ae51b>`_)
* Make ``conclusion`` nullable in ``WorkflowJob.py`` (`3171 <https://github.com/PyGithub/PyGithub/pull/3171>`_) (`8d8eb06d <https://github.com/PyGithub/PyGithub/commit/8d8eb06d>`_)
* Rename ``Github.get_organization`` argument ``login`` to ``org`` (`3187 <https://github.com/PyGithub/PyGithub/pull/3187>`_) (`9e3cf209 <https://github.com/PyGithub/PyGithub/commit/9e3cf209>`_)
* Make ``NotSet`` an ``Attribute[Any]`` (`3057 <https://github.com/PyGithub/PyGithub/pull/3057>`_)

Maintenance
^^^^^^^^^^^
* Sort attributes and properties in GitHub classes (`3105 <https://github.com/PyGithub/PyGithub/pull/3105>`_) (`f3986b57 <https://github.com/PyGithub/PyGithub/commit/f3986b57>`_)
* Preparations for maintaining Github classes by code (`3106 <https://github.com/PyGithub/PyGithub/pull/3106>`_) (`842a1b02 <https://github.com/PyGithub/PyGithub/commit/842a1b02>`_)
* Annotate Github classes with API schemas (`3107 <https://github.com/PyGithub/PyGithub/pull/3107>`_) (`d092f478 <https://github.com/PyGithub/PyGithub/commit/d092f478>`_)
* Make Pickle test use recorded data (`3137 <https://github.com/PyGithub/PyGithub/pull/3137>`_) (`1990eb92 <https://github.com/PyGithub/PyGithub/commit/1990eb92>`_)
* Add tests for file and stream downloads (`3182 <https://github.com/PyGithub/PyGithub/pull/3182>`_) (`d483fe25 <https://github.com/PyGithub/PyGithub/commit/d483fe25>`_)
* Use ``responses`` instead of ``httpretty`` in tests (`3087 <https://github.com/PyGithub/PyGithub/pull/3087>`_) (`9b293d44 <https://github.com/PyGithub/PyGithub/commit/9b293d44>`_)
* [CI] Publish test results (`3195 <https://github.com/PyGithub/PyGithub/pull/3195>`_)
* Link Commit to correct upstream documentation (`2936 <https://github.com/PyGithub/PyGithub/pull/2936>`_) (`4d307a7c <https://github.com/PyGithub/PyGithub/commit/4d307a7c>`_)
* Replace release drafter with Github release note generation (`3196 <https://github.com/PyGithub/PyGithub/pull/3196>`_) (`6f9a2983 <https://github.com/PyGithub/PyGithub/commit/6f9a2983>`_)
* Add maintenance label to release.yml (`3197 <https://github.com/PyGithub/PyGithub/pull/3197>`_) (`cab8d078 <https://github.com/PyGithub/PyGithub/commit/cab8d078>`_)

2.5.0

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

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

* Parameters of method ``github.Requester.Requester.graphql_named_mutation`` have been renamed:

* Parameter ``variables`` renamed to ``mutation_input``
* Parameter ``output`` renamed to ``output_schema``
* Default value of parameter ``output`` has been removed

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

* Rework GraphQL mutations (`3046 <https://github.com/PyGithub/PyGithub/pull/3046>`_) (`27222251 <https://github.com/PyGithub/PyGithub/commit/27222251>`_)
* Make pagination work with GraphQL response data (`3047 <https://github.com/PyGithub/PyGithub/pull/3047>`_) (`cd30e379 <https://github.com/PyGithub/PyGithub/commit/cd30e379>`_)
* Add `RepositoryDiscussion` powered by GraphQL API (`3048 <https://github.com/PyGithub/PyGithub/pull/3048>`_) (`29359f3c <https://github.com/PyGithub/PyGithub/commit/29359f3c>`_)
* Add `Repository.get_discussion()` to get a single Discussion (`3072 <https://github.com/PyGithub/PyGithub/pull/3072>`_) (`44120b1e <https://github.com/PyGithub/PyGithub/commit/44120b1e>`_)

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

* Adds List organization memberships for the authenticated user (`3040 <https://github.com/PyGithub/PyGithub/pull/3040>`_) (`cf443955 <https://github.com/PyGithub/PyGithub/commit/cf443955>`_)
* Add `actor` property to WorkflowRun (`2764 <https://github.com/PyGithub/PyGithub/pull/2764>`_) (`612ba68e <https://github.com/PyGithub/PyGithub/commit/612ba68e>`_)
* Make requester a public attribute (`3056 <https://github.com/PyGithub/PyGithub/pull/3056>`_) (`c44ec523 <https://github.com/PyGithub/PyGithub/commit/c44ec523>`_)

Bug Fixes
^^^^^^^^^

* Fix requesting urls containing parameters with parameters dict (`2929 <https://github.com/PyGithub/PyGithub/pull/2929>`_) (`e1d67ada <https://github.com/PyGithub/PyGithub/commit/e1d67ada>`_)
* PullRequest.delete_branch: fix the remaining pull requests check (`3063 <https://github.com/PyGithub/PyGithub/pull/3063>`_) (`72fa6278 <https://github.com/PyGithub/PyGithub/commit/72fa6278>`_)

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

* Remove stale bot (`510c1402 <https://github.com/PyGithub/PyGithub/commit/510c1402>`_)
* Upgrade Github actions (`3075 <https://github.com/PyGithub/PyGithub/pull/3075>`_) (`323e2828 <https://github.com/PyGithub/PyGithub/commit/323e2828>`_)
* Add top issues dashboard action (`3049 <https://github.com/PyGithub/PyGithub/pull/3049>`_) (`c91f26a7 <https://github.com/PyGithub/PyGithub/commit/c91f26a7>`_)
* Make tests pass some more years (`3045 <https://github.com/PyGithub/PyGithub/pull/3045>`_) (`352c55aa <https://github.com/PyGithub/PyGithub/commit/352c55aa>`_)
* Run top issues workflow only in PyGithub repo (`0d395d4e <https://github.com/PyGithub/PyGithub/commit/0d395d4e>`_)
* Replace pre-commit Github action in order to pin pre-commit version (`3059 <https://github.com/PyGithub/PyGithub/pull/3059>`_) (`1a05b43d <https://github.com/PyGithub/PyGithub/commit/1a05b43d>`_)

2.4.0

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

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

* The ``github.Commit.Commit`` class provides a ``files`` property that used to return a ``list[github.File.File]``,
which has now been changed to ``PaginatedList[github.File.File]``. This breaks user code that assumes a ``list``:

.. code-block:: python

 files = repo.get_commit("7266e812ed2976ea36a4303edecfe5d75522343f").files
 no_of_files = len(files)

This will raise a ``TypeError: object of type 'PaginatedList' has no len()``, as the returned ``PaginatedList``
does not support the ``len()`` method. Use the ``totalCount`` property instead:

.. code-block:: python

 files = repo.get_commit("7266e812ed2976ea36a4303edecfe5d75522343f").files
 no_of_files = files.totalCount

* Removed support for Python 3.7.

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

* Allow custom authentication (`2987 <https://github.com/PyGithub/PyGithub/pull/2987>`_) (`32b826fd <https://github.com/PyGithub/PyGithub/commit/32b826fd>`_)

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

* Add `has_discussions` to `AuthenticatedUser` and `Repository` classes (`3020 <https://github.com/PyGithub/PyGithub/pull/3020>`_) (`75224167 <https://github.com/PyGithub/PyGithub/commit/75224167>`_)
* Update more `SecurityAndAnalysis` attributes (`3025 <https://github.com/PyGithub/PyGithub/pull/3025>`_) (`fa168279 <https://github.com/PyGithub/PyGithub/commit/fa168279>`_)
* Implement support for re-running only failed workflow jobs. (`2983 <https://github.com/PyGithub/PyGithub/pull/2983>`_) (`23e87563 <https://github.com/PyGithub/PyGithub/commit/23e87563>`_)
* Add possibility to mark a thread/notification as done (`2985 <https://github.com/PyGithub/PyGithub/pull/2985>`_) (`5ba24379 <https://github.com/PyGithub/PyGithub/commit/5ba24379>`_)
* Add "pull_request_review_id" to PullRequestComment object (`3000 <https://github.com/PyGithub/PyGithub/pull/3000>`_) (`6a59cf82 <https://github.com/PyGithub/PyGithub/commit/6a59cf82>`_)
* Add minimize and unminimize functions for IssueComment class (`3005 <https://github.com/PyGithub/PyGithub/pull/3005>`_) (`09c4f58e <https://github.com/PyGithub/PyGithub/commit/09c4f58e>`_)
* Support Organization/Repository custom properties (`2968 <https://github.com/PyGithub/PyGithub/pull/2968>`_) (`c5e6b702 <https://github.com/PyGithub/PyGithub/commit/c5e6b702>`_)
* Add `dict` type to `add_attribute` script (`2977 <https://github.com/PyGithub/PyGithub/pull/2977>`_) (`2a04f9cc <https://github.com/PyGithub/PyGithub/commit/2a04f9cc>`_)
* Allow for deleting and restoring branch associated with PR (`1784 <https://github.com/PyGithub/PyGithub/pull/1784>`_) (`4ba1e412 <https://github.com/PyGithub/PyGithub/commit/4ba1e412>`_)
* Add "archived_at" to Organization object. (`2974 <https://github.com/PyGithub/PyGithub/pull/2974>`_) (`cc766a6f <https://github.com/PyGithub/PyGithub/commit/cc766a6f>`_)
* Adds Security & Analysis To Repository (`2960 <https://github.com/PyGithub/PyGithub/pull/2960>`_) (`f22af54d <https://github.com/PyGithub/PyGithub/commit/f22af54d>`_)
* Add added_by and last_used attributes to RepositoryKey (`2952 <https://github.com/PyGithub/PyGithub/pull/2952>`_) (`5dffa64d <https://github.com/PyGithub/PyGithub/commit/5dffa64d>`_)
* Add `make_latest` to `GitRelease.update_release` (`2888 <https://github.com/PyGithub/PyGithub/pull/2888>`_) (`60136105 <https://github.com/PyGithub/PyGithub/commit/60136105>`_)
* Make Commit.files return PaginatedList (`2939 <https://github.com/PyGithub/PyGithub/pull/2939>`_) (`fa885f00 <https://github.com/PyGithub/PyGithub/commit/fa885f00>`_)

Bug Fixes
^^^^^^^^^

* Fix GraphQL Queries with Variables (`3002 <https://github.com/PyGithub/PyGithub/pull/3002>`_) (`4324a3d9 <https://github.com/PyGithub/PyGithub/commit/4324a3d9>`_)

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

* Remove support for Python 3.7 (2975, 3008) (d0e05072, 6d60b754)
* docs: add missing code-block (`2982 <https://github.com/PyGithub/PyGithub/pull/2982>`_) (`c93e73e2 <https://github.com/PyGithub/PyGithub/commit/c93e73e2>`_)
* Update README.md (`2961 <https://github.com/PyGithub/PyGithub/pull/2961>`_) (`5d9f90d2 <https://github.com/PyGithub/PyGithub/commit/5d9f90d2>`_)
* CI: Fix test success job (`3010 <https://github.com/PyGithub/PyGithub/pull/3010>`_) (`61d37dce <https://github.com/PyGithub/PyGithub/commit/61d37dce>`_)

2.3.0

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

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

* Support OAuth for enterprise (`2780 <https://github.com/PyGithub/PyGithub/pull/2780>`_) (`e4106e00 <https://github.com/PyGithub/PyGithub/commit/e4106e00>`_)
* Support creation of Dependabot Organization and Repository Secrets (`2874 <https://github.com/PyGithub/PyGithub/pull/2874>`_) (`0784f835 <https://github.com/PyGithub/PyGithub/commit/0784f835>`_)

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

* Create release with optional name and message when generate_release_notes is true (`2868 <https://github.com/PyGithub/PyGithub/pull/2868>`_) (`d65fc30d <https://github.com/PyGithub/PyGithub/commit/d65fc30d>`_)
* Add missing attributes to WorkflowJob (`2921 <https://github.com/PyGithub/PyGithub/pull/2921>`_) (`9e092458 <https://github.com/PyGithub/PyGithub/commit/9e092458>`_)
* Add `created` and `check_suite_id` filter for Repository WorkflowRuns (`2891 <https://github.com/PyGithub/PyGithub/pull/2891>`_) (`c788985c <https://github.com/PyGithub/PyGithub/commit/c788985c>`_)
* Assert requester argument type in Auth (`2912 <https://github.com/PyGithub/PyGithub/pull/2912>`_) (`0b8435fc <https://github.com/PyGithub/PyGithub/commit/0b8435fc>`_)

Bug Fixes
^^^^^^^^^

* Revert having allowed values for add_to_collaborators (`2905 <https://github.com/PyGithub/PyGithub/pull/2905>`_) (`b542438e <https://github.com/PyGithub/PyGithub/commit/b542438e>`_)

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

* Fix imports in authentication docs (`2923 <https://github.com/PyGithub/PyGithub/pull/2923>`_) (`e3d36535 <https://github.com/PyGithub/PyGithub/commit/e3d36535>`_)
* CI: add docformatter to precommit (`2614 <https://github.com/PyGithub/PyGithub/pull/2614>`_) (`96ad19ae <https://github.com/PyGithub/PyGithub/commit/96ad19ae>`_)
* Add .swp files to gitignore (`2903 <https://github.com/PyGithub/PyGithub/pull/2903>`_) (`af529abe <https://github.com/PyGithub/PyGithub/commit/af529abe>`_)
* Fix instructions building docs in CONTRIBUTING.md (`2900 <https://github.com/PyGithub/PyGithub/pull/2900>`_) (`cd8e528d <https://github.com/PyGithub/PyGithub/commit/cd8e528d>`_)
* Explicitly name the modules built in pyproject.toml (`2894 <https://github.com/PyGithub/PyGithub/pull/2894>`_) (`4d461734 <https://github.com/PyGithub/PyGithub/commit/4d461734>`_)

2.2.0

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

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

* The ``github.Comparison.Comparison`` instance returned by ``Repository.compare`` provides a ``commits``
property that used to return a ``list[github.Commit.Commit]``, which has now been changed
to ``PaginatedList[github.Commit.Commit]``. This breaks user code that assumes a ``list``:

.. code-block:: python

 commits = repo.compare("v0.6", "v0.7").commits
 no_of_commits = len(commits)

This will raise a ``TypeError: object of type 'PaginatedList' has no len()``, as the returned ``PaginatedList``
does not support the ``len()`` method. Use the ``totalCount`` property instead:

.. code-block:: python

 commits = repo.compare("v0.6", "v0.7").commits
 no_of_commits = commits.totalCount


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

* Add support to call GraphQL API

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

* Add parent_team_id, maintainers and notification_setting for creating and updating teams. (`2863 <https://github.com/PyGithub/PyGithub/pull/2863>`_) (`49d07d16 <https://github.com/PyGithub/PyGithub/commit/49d07d16>`_)
* Add support for issue reactions summary (`2866 <https://github.com/PyGithub/PyGithub/pull/2866>`_) (`cc4c5269 <https://github.com/PyGithub/PyGithub/commit/cc4c5269>`_)
* Support for DependabotAlert APIs (`2879 <https://github.com/PyGithub/PyGithub/pull/2879>`_) (`14af7051 <https://github.com/PyGithub/PyGithub/commit/14af7051>`_)
* Derive GraphQL URL from base_url (`2880 <https://github.com/PyGithub/PyGithub/pull/2880>`_) (`d0caa3c3 <https://github.com/PyGithub/PyGithub/commit/d0caa3c3>`_)
* Make ``Repository.compare().commits`` return paginated list (`2882 <https://github.com/PyGithub/PyGithub/pull/2882>`_) (`2d284d1e <https://github.com/PyGithub/PyGithub/commit/2d284d1e>`_)
* Add missing branch protection fields (`2873 <https://github.com/PyGithub/PyGithub/pull/2873>`_) (`e47c153b <https://github.com/PyGithub/PyGithub/commit/e47c153b>`_)
* Add ``include_all_branches`` to ``create_repo_from_template`` of ``AuthenticatedUser`` and ``Organization`` (`2871 <https://github.com/PyGithub/PyGithub/pull/2871>`_) (`34c4642e <https://github.com/PyGithub/PyGithub/commit/34c4642e>`_)
* Add and update organisation dependabot secrets (`2316 <https://github.com/PyGithub/PyGithub/pull/2316>`_) (`603896f4 <https://github.com/PyGithub/PyGithub/commit/603896f4>`_)
* Add missing params to ``Organization.create_repo`` (`2700 <https://github.com/PyGithub/PyGithub/pull/2700>`_) (`9c61a2a4 <https://github.com/PyGithub/PyGithub/commit/9c61a2a4>`_)
* Update allowed values for ``Repository`` collaborator permissions (`1996 <https://github.com/PyGithub/PyGithub/pull/1996>`_) (`b5b66da8 <https://github.com/PyGithub/PyGithub/commit/b5b66da8>`_)
* Support editing PullRequestReview (`2851 <https://github.com/PyGithub/PyGithub/pull/2851>`_) (`b1c4c561 <https://github.com/PyGithub/PyGithub/commit/b1c4c561>`_)
* Update attributes after calling ``PullRequestReview.dismiss`` (`2854 <https://github.com/PyGithub/PyGithub/pull/2854>`_) (`6f3d714c <https://github.com/PyGithub/PyGithub/commit/6f3d714c>`_)
* Add ``request_cve`` on ``RepositoryAdvisories`` (`2855 <https://github.com/PyGithub/PyGithub/pull/2855>`_) (`41b617b7 <https://github.com/PyGithub/PyGithub/commit/41b617b7>`_)
* Filter collaborators of a repository by permissions (`2792 <https://github.com/PyGithub/PyGithub/pull/2792>`_) (`702c127a <https://github.com/PyGithub/PyGithub/commit/702c127a>`_)
* Set pull request to auto merge via GraphQL API (`2816 <https://github.com/PyGithub/PyGithub/pull/2816>`_) (`232df79a <https://github.com/PyGithub/PyGithub/commit/232df79a>`_)
* Support Environment Variables and Secrets (`2848 <https://github.com/PyGithub/PyGithub/pull/2848>`_) (`7df97398 <https://github.com/PyGithub/PyGithub/commit/7df97398>`_)
* Update workflow.get_runs & pullrequest.add_to_assignees function signature (`2799 <https://github.com/PyGithub/PyGithub/pull/2799>`_) (`26eedbb0 <https://github.com/PyGithub/PyGithub/commit/26eedbb0>`_)
* Add ``GithubObject.last_modified_datetime`` to have ``last_modified`` as a ``datetime`` (`2772 <https://github.com/PyGithub/PyGithub/pull/2772>`_) (`e7ce8189 <https://github.com/PyGithub/PyGithub/commit/e7ce8189>`_)
* Add support for global advisories and unify some shared logic with repository advisories (`2702 <https://github.com/PyGithub/PyGithub/pull/2702>`_) (`c8b4fcbe <https://github.com/PyGithub/PyGithub/commit/c8b4fcbe>`_)
* Add internal as valid Repository visibility value (`2806 <https://github.com/PyGithub/PyGithub/pull/2806>`_) (`d4a5a40f <https://github.com/PyGithub/PyGithub/commit/d4a5a40f>`_)
* Add support for issue comments reactions summary (`2813 <https://github.com/PyGithub/PyGithub/pull/2813>`_) (`67397491 <https://github.com/PyGithub/PyGithub/commit/67397491>`_)

Bug Fixes
^^^^^^^^^

* Add a bunch of missing urllib.parse.quote calls (`1976 <https://github.com/PyGithub/PyGithub/pull/1976>`_) (`13194be2 <https://github.com/PyGithub/PyGithub/commit/13194be2>`_)
* Fix Variable and Secret URL (`2835 <https://github.com/PyGithub/PyGithub/pull/2835>`_) (`aa763431 <https://github.com/PyGithub/PyGithub/commit/aa763431>`_)

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

* Update the class name for NetrcAuth in the examples (`2860 <https://github.com/PyGithub/PyGithub/pull/2860>`_) (`2f44b2e8 <https://github.com/PyGithub/PyGithub/commit/2f44b2e8>`_)
* Move build to PEP517 (`2800 <https://github.com/PyGithub/PyGithub/pull/2800>`_) (`c589bf9e <https://github.com/PyGithub/PyGithub/commit/c589bf9e>`_)
* Use new type assert functions in ``Repository`` (`2798 <https://github.com/PyGithub/PyGithub/pull/2798>`_) (`2783e671 <https://github.com/PyGithub/PyGithub/commit/2783e671>`_)
* PyTest: Move config to pyproject.toml (`2859 <https://github.com/PyGithub/PyGithub/pull/2859>`_) (`61fb728b <https://github.com/PyGithub/PyGithub/commit/61fb728b>`_)
* codespell: ignore-words-list (`2858 <https://github.com/PyGithub/PyGithub/pull/2858>`_) (`dcf6d8a1 <https://github.com/PyGithub/PyGithub/commit/dcf6d8a1>`_)
* Improve fix-headers.py script (`2728 <https://github.com/PyGithub/PyGithub/pull/2728>`_) (`a48c37fa <https://github.com/PyGithub/PyGithub/commit/a48c37fa>`_)
* Remove dependency on python-dateutil (`2804 <https://github.com/PyGithub/PyGithub/pull/2804>`_) (`ab131a2f <https://github.com/PyGithub/PyGithub/commit/ab131a2f>`_)
* CI: update precommit & apply (`2600 <https://github.com/PyGithub/PyGithub/pull/2600>`_) (`d92cfba2 <https://github.com/PyGithub/PyGithub/commit/d92cfba2>`_)
* Fix parameter order according to Version 2.1.0 (`2786 <https://github.com/PyGithub/PyGithub/pull/2786>`_) (`dc37d5c1 <https://github.com/PyGithub/PyGithub/commit/dc37d5c1>`_)
* Add missing GitHub classes to docs (`2783 <https://github.com/PyGithub/PyGithub/pull/2783>`_) (`9af9b6e5 <https://github.com/PyGithub/PyGithub/commit/9af9b6e5>`_)
* Fix mypy error with urllib3>=2.0.0a1 by ignoring (`2779 <https://github.com/PyGithub/PyGithub/pull/2779>`_) (`64b1cdea <https://github.com/PyGithub/PyGithub/commit/64b1cdea>`_)

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#dealin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant