Skip to content

Add max_rate_limit_wait to GithubRetry to cap rate limit backoff - #3540

Merged
EnricoMi merged 4 commits into
PyGithub:mainfrom
tanistheta:max-rate-limit-wait
Aug 18, 2026
Merged

Add max_rate_limit_wait to GithubRetry to cap rate limit backoff#3540
EnricoMi merged 4 commits into
PyGithub:mainfrom
tanistheta:max-rate-limit-wait

Conversation

@tanistheta

Copy link
Copy Markdown
Contributor

Problem

GithubRetry currently waits until X-RateLimit-Reset (primary rate limit) or
secondary_rate_wait (secondary rate limit) before retrying, with no way to cap
that wait. If GitHub reports a reset far in the future, callers with hard
timeouts (e.g. Celery tasks) end up blocked well past their own deadline.

Approach

Adds an optional max_rate_limit_wait parameter to GithubRetry.__init__.
When the computed backoff for either a primary or secondary rate limit error
would exceed this cap, GithubRetry.increment() raises a new
RateLimitExceededExceedsMaxWait exception (subclass of
RateLimitExceededException) instead of waiting. The exception exposes
.wait (the backoff that would have been required) and the usual
.status / .data / .headers from GithubException, so callers can
inspect the raw rate-limit response and decide how to handle it themselves.

Defaults to None (no cap), so existing behavior is unchanged unless a
caller opts in.

Tests

Added three tests in tests/GithubRetry.py:

  • test_primary_rate_error_exceeds_max_wait — primary rate limit backoff
    exceeding the cap raises with the correct .wait/.status/.data
  • test_primary_rate_error_within_max_wait — backoff under the cap still
    retries normally
  • test_secondary_rate_error_exceeds_max_wait — same cap behavior on the
    secondary rate limit path

Fixes #3473

Adds an optional max_rate_limit_wait parameter to GithubRetry. When the backoff required to respect a primary or secondary rate limit would exceed this cap, GithubRetry.increment() raises a new RateLimitExceededExceedsMaxWait exception instead of waiting, so callers with hard timeouts can fail fast and handle the rate limit themselves.

Fixes PyGithub#3473

@EnricoMi EnricoMi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for raising this, I think this is very useful given retry-after headers can be an hour in the future. Minor documentation comment.

Comment thread github/GithubRetry.py
:param max_rate_limit_wait: maximum seconds to wait for a primary or secondary rate limit reset;
if the required backoff would exceed this, raises
:class:`~github.GithubException.RateLimitExceededExceedsMaxWait` instead of waiting.
``None`` (the default) means no cap is applied.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be explicit here that if max_rate_limit_wait < secondary_rate_wait, any secondary rate limit error will raise an exception and never wait.

@codecov

codecov Bot commented Aug 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.01%. Comparing base (7de2644) to head (df2fcd6).
⚠️ Report is 56 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3540      +/-   ##
==========================================
+ Coverage   97.00%   97.01%   +0.01%     
==========================================
  Files         172      176       +4     
  Lines       18934    19915     +981     
==========================================
+ Hits        18366    19321     +955     
- Misses        568      594      +26     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown

Test Results

     9 files  ± 0       9 suites  ±0   5m 54s ⏱️ +3s
 1 151 tests + 3   1 151 ✅ + 3  0 💤 ±0  0 ❌ ±0 
14 225 runs  +24  14 224 ✅ +24  1 💤 ±0  0 ❌ ±0 

Results for commit df2fcd6. ± Comparison against base commit 6754682.

♻️ This comment has been updated with latest results.

@EnricoMi EnricoMi changed the title Add max_rate_limit_wait to GithubRetry to cap rate limit backoff Aug 18, 2026
Comment thread github/GithubRetry.py

@EnricoMi EnricoMi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@EnricoMi
EnricoMi added this pull request to the merge queue Aug 18, 2026
Merged via the queue into PyGithub:main with commit 8b50a09 Aug 18, 2026
25 of 26 checks passed
@djsigmann

Copy link
Copy Markdown

Thanks for merging this :), when might we see a new release with these changes?

lettuce-bot Bot added a commit to lettuce-financial/github-bot-signed-commit that referenced this pull request Aug 21, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [PyGithub](https://redirect.github.com/pygithub/pygithub) | `==2.9.1`
→ `==2.10.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/pygithub/2.10.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pygithub/2.9.1/2.10.0?slim=true)
|
| [pygithub](https://redirect.github.com/pygithub/pygithub) | `==2.9.1`
→ `==2.10.0` |
![age](https://developer.mend.io/api/mc/badges/age/pypi/pygithub/2.10.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pygithub/2.9.1/2.10.0?slim=true)
|

---

### Release Notes

<details>
<summary>pygithub/pygithub (PyGithub)</summary>

###
[`v2.10.0`](https://redirect.github.com/PyGithub/PyGithub/releases/tag/v2.10.0):
2.10.0

[Compare
Source](https://redirect.github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0)

##### Notable changes

##### Drop Python 3.9 support due to End-of-Life

Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.

##### New Features

- Allow to specify the Github API version by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3480](https://redirect.github.com/PyGithub/PyGithub/pull/3480)
- Add issue dependency endpoints by
[@&#8203;james-geiger](https://redirect.github.com/james-geiger) in
[PyGithub/PyGithub#3477](https://redirect.github.com/PyGithub/PyGithub/pull/3477)

##### Improvements

- Add `incomplete_results` property to `PaginatedList` by
[@&#8203;Felixoid](https://redirect.github.com/Felixoid) in
[PyGithub/PyGithub#3396](https://redirect.github.com/PyGithub/PyGithub/pull/3396)
- Add `WorkflowRun.get_attempt` and `Repository.get_workflow_job`
functions by [@&#8203;cecheta](https://redirect.github.com/cecheta) in
[PyGithub/PyGithub#3401](https://redirect.github.com/PyGithub/PyGithub/pull/3401)
- Add support for `head_repo` when creating pull request by
[@&#8203;shannon](https://redirect.github.com/shannon) in
[PyGithub/PyGithub#3479](https://redirect.github.com/PyGithub/PyGithub/pull/3479)
- Add `max_rate_limit_wait` to `GithubRetry` to cap rate limit backoff
by [@&#8203;tanistheta](https://redirect.github.com/tanistheta) in
[PyGithub/PyGithub#3540](https://redirect.github.com/PyGithub/PyGithub/pull/3540)
- Add `return_run_details` parameter to `Workflow.create_dispatch` by
[@&#8203;SebastienSyd](https://redirect.github.com/SebastienSyd) in
[PyGithub/PyGithub#3471](https://redirect.github.com/PyGithub/PyGithub/pull/3471)
- Update `SecurityAndAnalysis` by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3503](https://redirect.github.com/PyGithub/PyGithub/pull/3503)

##### Bug Fixes

- Fix duplicated URL in `OrganizationVariable.edit()` and
`OrganizationSecret.edit()` by
[@&#8203;Krishnachaitanyakc](https://redirect.github.com/Krishnachaitanyakc)
in
[PyGithub/PyGithub#3472](https://redirect.github.com/PyGithub/PyGithub/pull/3472)
- Fix `GithubException.__str__` decoding bytes data by
[@&#8203;SAY-5](https://redirect.github.com/SAY-5) in
[PyGithub/PyGithub#3494](https://redirect.github.com/PyGithub/PyGithub/pull/3494)
- Fixing `OrganizationVariable.value` by properly using base class by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3507](https://redirect.github.com/PyGithub/PyGithub/pull/3507)
- Parse only the query string for `PaginatedList.totalCount` by
[@&#8203;Noethix55555](https://redirect.github.com/Noethix55555) in
[PyGithub/PyGithub#3518](https://redirect.github.com/PyGithub/PyGithub/pull/3518)
- Encode boolean query parameters as lowercase by
[@&#8203;Noethix55555](https://redirect.github.com/Noethix55555) in
[PyGithub/PyGithub#3516](https://redirect.github.com/PyGithub/PyGithub/pull/3516)
- Fix doubled slash in request path for `base_url` with trailing slash
by [@&#8203;Noethix55555](https://redirect.github.com/Noethix55555) in
[PyGithub/PyGithub#3537](https://redirect.github.com/PyGithub/PyGithub/pull/3537)
- Fix `WorkflowRun` schema suggestion by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3559](https://redirect.github.com/PyGithub/PyGithub/pull/3559)
- Fix OAuth2 authorization `state` / `code_verifier` parameters by
[@&#8203;TheoGoudout](https://redirect.github.com/TheoGoudout) in
[PyGithub/PyGithub#3440](https://redirect.github.com/PyGithub/PyGithub/pull/3440)
- Allow creating custom property with `values_editable_by` param by
[@&#8203;chawlajay9](https://redirect.github.com/chawlajay9) in
[PyGithub/PyGithub#3548](https://redirect.github.com/PyGithub/PyGithub/pull/3548)
- Fix `OrganizationSecret.edit()` to seal the value and use `PUT` by
[@&#8203;Noethix55555](https://redirect.github.com/Noethix55555) in
[PyGithub/PyGithub#3529](https://redirect.github.com/PyGithub/PyGithub/pull/3529)
- Fix lazy retrieval of latest tag name by
[@&#8203;sathieu](https://redirect.github.com/sathieu) in
[PyGithub/PyGithub#3487](https://redirect.github.com/PyGithub/PyGithub/pull/3487)
- Fix typing and typos by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3485](https://redirect.github.com/PyGithub/PyGithub/pull/3485)

##### Maintenance

- Add support for Python 3.15 and drop EOL 3.9 by
[@&#8203;hugovk](https://redirect.github.com/hugovk) in
[PyGithub/PyGithub#3551](https://redirect.github.com/PyGithub/PyGithub/pull/3551)
- Move self-link awareness into `CompletableGithubObject` by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3432](https://redirect.github.com/PyGithub/PyGithub/pull/3432)
- Add documentation for agents, add Claude skills by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3509](https://redirect.github.com/PyGithub/PyGithub/pull/3509)
- Add `sphinx-copybutton` for code blocks by
[@&#8203;DivyanshiGautam31](https://redirect.github.com/DivyanshiGautam31)
in
[PyGithub/PyGithub#3493](https://redirect.github.com/PyGithub/PyGithub/pull/3493)
- Add support to OpenAPI script for applying schema to methods by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3374](https://redirect.github.com/PyGithub/PyGithub/pull/3374)
- Improve OpenAPI apply properties and methods by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3495](https://redirect.github.com/PyGithub/PyGithub/pull/3495)
- Fix OpenAPI method verb detection by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3496](https://redirect.github.com/PyGithub/PyGithub/pull/3496)
- Add OpenAPI script tests by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3489](https://redirect.github.com/PyGithub/PyGithub/pull/3489)
- Fix OpenAPI apply method by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3498](https://redirect.github.com/PyGithub/PyGithub/pull/3498)
- Reordering OpenAPI test sequence by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3500](https://redirect.github.com/PyGithub/PyGithub/pull/3500)
- Apply typing convention by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3504](https://redirect.github.com/PyGithub/PyGithub/pull/3504)
- Bump `mypy` Python version to 3.12 by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3505](https://redirect.github.com/PyGithub/PyGithub/pull/3505)
- Use `@overload` to type `get_user` by
[@&#8203;xmo-odoo](https://redirect.github.com/xmo-odoo) in
[PyGithub/PyGithub#3502](https://redirect.github.com/PyGithub/PyGithub/pull/3502)
- Add overload type annotations by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3506](https://redirect.github.com/PyGithub/PyGithub/pull/3506)
- Simplify `OrganizationVariable` by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3508](https://redirect.github.com/PyGithub/PyGithub/pull/3508)
- Add OpenAPI script filename option to create class by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3512](https://redirect.github.com/PyGithub/PyGithub/pull/3512)
- OpenAPI script improvements by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3511](https://redirect.github.com/PyGithub/PyGithub/pull/3511)
- Make OpenAPI index file deterministic by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3514](https://redirect.github.com/PyGithub/PyGithub/pull/3514)
- Add more OpenAPI script tests by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3501](https://redirect.github.com/PyGithub/PyGithub/pull/3501)
- Make unified diffs of run path by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) in
[PyGithub/PyGithub#3515](https://redirect.github.com/PyGithub/PyGithub/pull/3515)
- CI: Upgrade Github actions, pin to commit SHAs by
[@&#8203;EnricoMi](https://redirect.github.com/EnricoMi) with
[@&#8203;Copilot](https://redirect.github.com/Copilot) in
[PyGithub/PyGithub#3552](https://redirect.github.com/PyGithub/PyGithub/pull/3552)
- Use simple str contains instead of re in requester 401 OTP check by
[@&#8203;scop](https://redirect.github.com/scop) in
[PyGithub/PyGithub#3541](https://redirect.github.com/PyGithub/PyGithub/pull/3541)
- Remove deprecated usage of `lazy` argument in `get_repo` test calls by
[@&#8203;comNayaK](https://redirect.github.com/comNayaK) in
[PyGithub/PyGithub#3555](https://redirect.github.com/PyGithub/PyGithub/pull/3555)
- docs: add exception handling example by
[@&#8203;zain-asif-dev](https://redirect.github.com/zain-asif-dev) in
[PyGithub/PyGithub#3543](https://redirect.github.com/PyGithub/PyGithub/pull/3543)
- docs: add example for uploading multiple files in a single commit by
[@&#8203;laurazimrn](https://redirect.github.com/laurazimrn) in
[PyGithub/PyGithub#3545](https://redirect.github.com/PyGithub/PyGithub/pull/3545)

**Full Changelog**:
<PyGithub/PyGithub@v2.9.1...v2.10.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/lettuce-financial/github-bot-signed-commit).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zNS40IiwidXBkYXRlZEluVmVyIjoiNDQuMzUuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
lyne7-sc pushed a commit to lyne7-sc/datafusion that referenced this pull request Aug 25, 2026
…oup (apache#24650)

Bumps the all-uv-deps group with 1 update:
[pygithub](https://github.com/pygithub/pygithub).

Updates `pygithub` from 2.9.1 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[apache#3480](PyGithub/PyGithub#3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[apache#3477](PyGithub/PyGithub#3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[apache#3396](PyGithub/PyGithub#3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[apache#3401](PyGithub/PyGithub#3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[apache#3479](PyGithub/PyGithub#3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[apache#3540](PyGithub/PyGithub#3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[apache#3471](PyGithub/PyGithub#3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[apache#3503](PyGithub/PyGithub#3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[apache#3472](PyGithub/PyGithub#3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[apache#3494](PyGithub/PyGithub#3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[apache#3507](PyGithub/PyGithub#3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[apache#3518](PyGithub/PyGithub#3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[apache#3516](PyGithub/PyGithub#3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[apache#3537](PyGithub/PyGithub#3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[apache#3559](PyGithub/PyGithub#3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[apache#3440](PyGithub/PyGithub#3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[apache#3548](PyGithub/PyGithub#3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[apache#3529](PyGithub/PyGithub#3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[apache#3487](PyGithub/PyGithub#3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[apache#3485](PyGithub/PyGithub#3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[apache#3551](PyGithub/PyGithub#3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[apache#3432](PyGithub/PyGithub#3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[apache#3509](PyGithub/PyGithub#3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[apache#3493](PyGithub/PyGithub#3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[apache#3374](PyGithub/PyGithub#3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[apache#3495](PyGithub/PyGithub#3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[apache#3496](PyGithub/PyGithub#3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[apache#3489](PyGithub/PyGithub#3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[apache#3498](PyGithub/PyGithub#3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pygithub&package-manager=uv&previous-version=2.9.1&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
mircea-cosbuc pushed a commit to mongodb/mongodb-kubernetes that referenced this pull request Aug 25, 2026
Bumps the pip-deps group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [botocore](https://github.com/boto/botocore) | `1.43.72` | `1.43.78` |
| [boto3](https://github.com/boto/boto3) | `1.43.72` | `1.43.78` |
| [pygithub](https://github.com/pygithub/pygithub) | `2.9.1` | `2.10.0`
|
| [mypy](https://github.com/python/mypy) | `2.3.0` | `2.3.1` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260724`
| `6.0.12.20260815` |
| [pytest-socket](https://github.com/miketheman/pytest-socket) | `0.8.0`
| `0.8.1` |
|
[pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures)
| `16.5` | `16.6` |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.2`
| `1.2.3` |

Updates `botocore` from 1.43.72 to 1.43.78
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/boto/botocore/commit/29afe8d458ef8d40847ecdd71046577611de725d"><code>29afe8d</code></a>
Merge branch 'release-1.43.78'</li>
<li><a
href="https://github.com/boto/botocore/commit/a0fafbb5e58dc4b315cab0335fd5674cbc67e93d"><code>a0fafbb</code></a>
Bumping version to 1.43.78</li>
<li><a
href="https://github.com/boto/botocore/commit/d94c9037de9431a29236921ea8fbb33e523dd95d"><code>d94c903</code></a>
Update to latest models</li>
<li><a
href="https://github.com/boto/botocore/commit/1be1047c099a589a8269b6b344ab29af2b25893c"><code>1be1047</code></a>
Merge branch 'release-1.43.77'</li>
<li><a
href="https://github.com/boto/botocore/commit/36c34f15391da01cd717c73c0fffa747c9889768"><code>36c34f1</code></a>
Merge branch 'release-1.43.77' into develop</li>
<li><a
href="https://github.com/boto/botocore/commit/72bbe1b20cb6d7c2221439045d76e9e5942d33a1"><code>72bbe1b</code></a>
Bumping version to 1.43.77</li>
<li><a
href="https://github.com/boto/botocore/commit/07801089e7041f6d3af329838fc6632db66e275d"><code>0780108</code></a>
fix: Restore response_class on every request to prevent status leak (<a
href="https://redirect.github.com/boto/botocore/issues/3784">#3784</a>)</li>
<li><a
href="https://github.com/boto/botocore/commit/648ecf41e2472bac42182756b9768a10b3a4add8"><code>648ecf4</code></a>
Merge branch 'release-1.43.76'</li>
<li><a
href="https://github.com/boto/botocore/commit/8432c860885823ad0f7216763f0636ee9f22c563"><code>8432c86</code></a>
Merge branch 'release-1.43.76' into develop</li>
<li><a
href="https://github.com/boto/botocore/commit/85934485289eb30c6706ba2f3d2c1c1d26e873ba"><code>8593448</code></a>
Bumping version to 1.43.76</li>
<li>Additional commits viewable in <a
href="https://github.com/boto/botocore/compare/1.43.72...1.43.78">compare
view</a></li>
</ul>
</details>
<br />

Updates `boto3` from 1.43.72 to 1.43.78
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/boto/boto3/commit/bf8d3436bee5177a2a8316194ea1218e1c95d687"><code>bf8d343</code></a>
Merge branch 'release-1.43.78'</li>
<li><a
href="https://github.com/boto/boto3/commit/4830df416c199d6f389dda1b7fbe592902c39e9e"><code>4830df4</code></a>
Bumping version to 1.43.78</li>
<li><a
href="https://github.com/boto/boto3/commit/921bb1043eb1972aee2f8cb757df974a704ee098"><code>921bb10</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/cca5d6f5a2b4abc7a3cb20d37ebb29475909406c"><code>cca5d6f</code></a>
Merge branch 'release-1.43.77'</li>
<li><a
href="https://github.com/boto/boto3/commit/2ff832b06e51a939a44c671b1e57ecfb55895370"><code>2ff832b</code></a>
Merge branch 'release-1.43.77' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/8c3a6f714d47954df7a291f36b6c065f3cf121ac"><code>8c3a6f7</code></a>
Bumping version to 1.43.77</li>
<li><a
href="https://github.com/boto/boto3/commit/ce5785b2b57ec682661520ecfceb70b8cc9001b5"><code>ce5785b</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/8a88b26bcdfc66d06a404bb191a3405fb6869071"><code>8a88b26</code></a>
Merge branch 'release-1.43.76'</li>
<li><a
href="https://github.com/boto/boto3/commit/ced31bb7a8b5f576e9092483e345eefaab198536"><code>ced31bb</code></a>
Merge branch 'release-1.43.76' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/a1cecc39f4d6be07ad06889b4078050202393fde"><code>a1cecc3</code></a>
Bumping version to 1.43.76</li>
<li>Additional commits viewable in <a
href="https://github.com/boto/boto3/compare/1.43.72...1.43.78">compare
view</a></li>
</ul>
</details>
<br />

Updates `pygithub` from 2.9.1 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[#3480](https://github.com/pygithub/pygithub/issues/3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[#3477](https://github.com/pygithub/pygithub/issues/3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[#3396](https://github.com/pygithub/pygithub/issues/3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[#3401](https://github.com/pygithub/pygithub/issues/3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[#3479](https://github.com/pygithub/pygithub/issues/3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[#3540](https://github.com/pygithub/pygithub/issues/3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[#3471](https://github.com/pygithub/pygithub/issues/3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[#3503](https://github.com/pygithub/pygithub/issues/3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[#3472](https://github.com/pygithub/pygithub/issues/3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[#3494](https://github.com/pygithub/pygithub/issues/3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[#3507](https://github.com/pygithub/pygithub/issues/3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[#3518](https://github.com/pygithub/pygithub/issues/3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[#3516](https://github.com/pygithub/pygithub/issues/3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[#3537](https://github.com/pygithub/pygithub/issues/3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[#3559](https://github.com/pygithub/pygithub/issues/3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[#3440](https://github.com/pygithub/pygithub/issues/3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[#3548](https://github.com/pygithub/pygithub/issues/3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[#3529](https://github.com/pygithub/pygithub/issues/3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[#3487](https://github.com/pygithub/pygithub/issues/3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[#3485](https://github.com/pygithub/pygithub/issues/3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[#3551](https://github.com/pygithub/pygithub/issues/3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[#3432](https://github.com/pygithub/pygithub/issues/3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[#3509](https://github.com/pygithub/pygithub/issues/3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[#3493](https://github.com/pygithub/pygithub/issues/3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[#3374](https://github.com/pygithub/pygithub/issues/3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[#3495](https://github.com/pygithub/pygithub/issues/3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[#3496](https://github.com/pygithub/pygithub/issues/3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[#3489](https://github.com/pygithub/pygithub/issues/3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[#3498](https://github.com/pygithub/pygithub/issues/3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `mypy` from 2.3.0 to 2.3.1
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's
changelog</a>.</em></p>
<blockquote>
<h3>Mypy 2.3.1</h3>
<ul>
<li>Fix mypyc crash on double yielding Iterators (Daniël van Noord, PR
<a
href="https://redirect.github.com/python/mypy/pull/21826">21826</a>)</li>
<li>Fix mypyc <code>default_factory</code> for inherited dataclass
(Daniël van Noord, PR <a
href="https://redirect.github.com/python/mypy/pull/21785">21785</a>)</li>
<li>Clear mypyc coroutine env on coroutine completion (Piotr Sawicki, PR
<a
href="https://redirect.github.com/python/mypy/pull/21734">21734</a>)</li>
<li>Fix crash when unpacking return value from overload (Shantanu, PR <a
href="https://redirect.github.com/python/mypy/pull/21830">21830</a>)</li>
</ul>
<h3>Acknowledgements</h3>
<p>Thanks to all mypy contributors who contributed to this release:</p>
<ul>
<li>Agriya Khetarpal</li>
<li>Ethan Sarp</li>
<li>Ivan Levkivskyi</li>
<li>Jingchen Ye</li>
<li>Jukka Lehtosalo</li>
<li>Piotr Sawicki</li>
<li>Shantanu</li>
<li>Tom Bannink</li>
<li>Viktor Szépe</li>
<li>ygale</li>
</ul>
<p>I'd also like to thank my employer, Dropbox, for supporting mypy
development.</p>
<h2>Mypy 2.2</h2>
<p>We've just uploaded mypy 2.2.0 to the Python Package Index (<a
href="https://pypi.org/project/mypy/">PyPI</a>).
Mypy is a static type checker for Python. This release includes new
features, performance
improvements and bug fixes. You can install it as follows:</p>
<pre><code>python3 -m pip install -U mypy
</code></pre>
<p>You can read the full documentation for this release on <a
href="http://mypy.readthedocs.io">Read the Docs</a>.</p>
<h3>Support for Closed TypedDicts (PEP 728)</h3>
<p>Mypy now supports closed TypedDicts as specified in PEP 728. A closed
TypedDict cannot have extra
keys beyond those explicitly defined. This allows the type checker to
determine that certain
operations are safe when they otherwise wouldn't be due to the potential
presence of unknown keys.</p>
<p>You can use the <code>closed</code> keyword argument with
<code>TypedDict</code>:</p>
<pre lang="python"><code>HasName = TypedDict(&quot;HasName&quot;,
{&quot;name&quot;: str})
HasOnlyName = TypedDict(&quot;HasOnlyName&quot;, {&quot;name&quot;:
str}, closed=True)
Movie = TypedDict(&quot;Movie&quot;, {&quot;name&quot;: str,
&quot;year&quot;: int})
<p>movie: Movie = {&quot;name&quot;: &quot;Nimona&quot;,
&quot;year&quot;: 2023}
has_name: HasName = movie  # OK: HasName is open (default)
has_only_name: HasOnlyName = movie # Error: HasOnlyName is closed and
Movie has extra &quot;year&quot; key
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/mypy/commit/d642c4478e9e3acbe9233edbe17ffc569a1a778c"><code>d642c44</code></a>
Bump version to 2.3.1</li>
<li><a
href="https://github.com/python/mypy/commit/a39242983d3c2cb85886a1eb6d5869180672784c"><code>a392429</code></a>
[mypyc] Fix crash on double yielding Iterators (<a
href="https://redirect.github.com/python/mypy/issues/21826">#21826</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/4843e7773e7dc8fe3f1fd1319277d6d11cd6cdb3"><code>4843e77</code></a>
[mypyc] Fix <code>default_factory</code> for inherited dataclass (<a
href="https://redirect.github.com/python/mypy/issues/21785">#21785</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/14f5df93ed8d1be4f4cc9c447eb2e6e619362e05"><code>14f5df9</code></a>
[mypyc] Clear coroutine env on coroutine completion (<a
href="https://redirect.github.com/python/mypy/issues/21734">#21734</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/6dfa06dda6e34912279e498d35a43ba6dc30bfee"><code>6dfa06d</code></a>
Fix crash when unpacking return value from overload (<a
href="https://redirect.github.com/python/mypy/issues/21830">#21830</a>)</li>
<li><a
href="https://github.com/python/mypy/commit/a3857467da126d28b55724e8bb682019df9a503e"><code>a385746</code></a>
Bump version to 2.3.1+dev</li>
<li>See full diff in <a
href="https://github.com/python/mypy/compare/v2.3.0...v2.3.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `types-pyyaml` from 6.0.12.20260724 to 6.0.12.20260815
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/python/typeshed/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `pytest-socket` from 0.8.0 to 0.8.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/miketheman/pytest-socket/releases">pytest-socket's
releases</a>.</em></p>
<blockquote>
<h2>0.8.1</h2>
<h2>What's Changed</h2>
<p>Fixes:</p>
<ul>
<li>Close the socket before raising on a blocked connect, fixing a file
descriptor leak <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/496">#496</a></li>
<li>Make <code>SocketConnectBlockedError</code> pickleable so it
survives multiprocessing
test runners such as <code>pytest-xdist</code> and Django's
<code>--parallel</code> <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/501">#501</a></li>
</ul>
<p>Changes:</p>
<ul>
<li>Added mutation testing via <code>make mutmut</code> <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/500">#500</a></li>
<li>Added CodSpeed performance benchmarks <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/486">#486</a></li>
<li>Dependency, CI, and development updates</li>
</ul>
<h3>Full commit log</h3>
<ul>
<li>chore(ci): remove upload from release by <a
href="https://github.com/miketheman"><code>@​miketheman</code></a> in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/485">miketheman/pytest-socket#485</a></li>
<li>Add CodSpeed performance benchmarks by <a
href="https://github.com/codspeed-hq"><code>@​codspeed-hq</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/486">miketheman/pytest-socket#486</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/487">miketheman/pytest-socket#487</a></li>
<li>chore(deps-dev): bump pytest-codspeed from 5.0.2 to 5.0.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/489">miketheman/pytest-socket#489</a></li>
<li>chore(deps-dev): bump starlette from 1.0.0 to 1.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/488">miketheman/pytest-socket#488</a></li>
<li>chore(deps): bump CodSpeedHQ/action from 4.15.1 to 4.17.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/490">miketheman/pytest-socket#490</a></li>
<li>chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/491">miketheman/pytest-socket#491</a></li>
<li>chore(deps-dev): bump starlette from 1.1.0 to 1.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/492">miketheman/pytest-socket#492</a></li>
<li>chore(deps-dev): bump starlette from 1.2.1 to 1.3.1 in the uv group
across 1 directory by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/495">miketheman/pytest-socket#495</a></li>
<li>chore(deps): bump pytest from 9.0.3 to 9.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/498">miketheman/pytest-socket#498</a></li>
<li>chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/494">miketheman/pytest-socket#494</a></li>
<li>chore(deps): bump CodSpeedHQ/action from 4.17.0 to 4.17.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/497">miketheman/pytest-socket#497</a></li>
<li>fix: close socket on raise by <a
href="https://github.com/miketheman"><code>@​miketheman</code></a> in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/499">miketheman/pytest-socket#499</a></li>
<li>test: add remaining coverage by <a
href="https://github.com/miketheman"><code>@​miketheman</code></a> in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/500">miketheman/pytest-socket#500</a></li>
<li>chore(deps): bump pytest from 9.1.0 to 9.1.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/505">miketheman/pytest-socket#505</a></li>
<li>chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/503">miketheman/pytest-socket#503</a></li>
<li>chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/504">miketheman/pytest-socket#504</a></li>
<li>chore(deps): bump CodSpeedHQ/action from 4.17.5 to 4.17.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/502">miketheman/pytest-socket#502</a></li>
<li>fix: make SocketConnectBlockedError pickleable by <a
href="https://github.com/miketheman"><code>@​miketheman</code></a> in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/501">miketheman/pytest-socket#501</a></li>
<li>chore(deps): bump CodSpeedHQ/action from 4.17.6 to 4.18.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/506">miketheman/pytest-socket#506</a></li>
<li>[pre-commit.ci] pre-commit autoupdate by <a
href="https://github.com/pre-commit-ci"><code>@​pre-commit-ci</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/507">miketheman/pytest-socket#507</a></li>
<li>chore(deps): bump CodSpeedHQ/action from 4.18.1 to 4.18.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/508">miketheman/pytest-socket#508</a></li>
<li>chore(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/509">miketheman/pytest-socket#509</a></li>
<li>chore(deps): bump astral-sh/setup-uv from 8.3.1 to 8.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/510">miketheman/pytest-socket#510</a></li>
<li>chore(deps): bump actions/stale from 10.3.0 to 10.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/511">miketheman/pytest-socket#511</a></li>
<li>chore(deps): bump CodSpeedHQ/action from 4.18.2 to 4.18.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/512">miketheman/pytest-socket#512</a></li>
<li>chore(deps-dev): bump mypy from 2.1.0 to 2.3.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/513">miketheman/pytest-socket#513</a></li>
<li>chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/514">miketheman/pytest-socket#514</a></li>
<li>chore(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/516">miketheman/pytest-socket#516</a></li>
<li>chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1
by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/517">miketheman/pytest-socket#517</a></li>
<li>chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/miketheman/pytest-socket/pull/515">miketheman/pytest-socket#515</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/miketheman/pytest-socket/blob/main/CHANGELOG.md">pytest-socket's
changelog</a>.</em></p>
<blockquote>
<h2>[0.8.1][] (2026-08-19)</h2>
<p>Fixes:</p>
<ul>
<li>Close the socket before raising on a blocked connect, fixing a file
descriptor leak <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/496">#496</a></li>
<li>Make <code>SocketConnectBlockedError</code> pickleable so it
survives multiprocessing
test runners such as <code>pytest-xdist</code> and Django's
<code>--parallel</code> <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/501">#501</a></li>
</ul>
<p>Changes:</p>
<ul>
<li>Added mutation testing via <code>make mutmut</code> <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/500">#500</a></li>
<li>Added CodSpeed performance benchmarks <a
href="https://redirect.github.com/miketheman/pytest-socket/issues/486">#486</a></li>
<li>Dependency, CI, and development updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/816436086d868d59cd9f79522fc0b1b623d5c43e"><code>8164360</code></a>
pytest-socket, 0.8.1 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/531">#531</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/622b8243030e38ef6ed9f283eb5c467559e54290"><code>622b824</code></a>
chore(deps-dev): update uv-build requirement from &lt;0.12.0,&gt;=0.7.20
to &gt;=0.7.2...</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/e37b0c1ae11dc838cf8e98de3d95e38349602524"><code>e37b0c1</code></a>
chore(deps-dev): bump starlette from 1.3.1 to 1.6.0 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/530">#530</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/a2f55f8ab114725f965183dab7439dc8d0461b4f"><code>a2f55f8</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/529">#529</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/e2119312d732ad8b439e964193937a584ca0e010"><code>e211931</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/523">#523</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/17d288fbfa942d409b6813228d1e5ce0a6f5c7cd"><code>17d288f</code></a>
chore(deps): bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/525">#525</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/2fc57f1a6c4dae7b06b9e691ae7d98f950419c46"><code>2fc57f1</code></a>
chore(deps): bump CodSpeedHQ/action from 4.19.1 to 5.0.2 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/526">#526</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/717ef46e9667055f8e8e354ccd0f558f445f7bc3"><code>717ef46</code></a>
chore(deps): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/524">#524</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/c198dfa57bf1b17c460e1c6cb30e3d50cc33b477"><code>c198dfa</code></a>
chore(deps): bump CodSpeedHQ/action from 4.18.5 to 4.19.1 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/520">#520</a>)</li>
<li><a
href="https://github.com/miketheman/pytest-socket/commit/fc7f23835c6336df23e08d18120965c23ef0825a"><code>fc7f238</code></a>
chore(deps): bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1 (<a
href="https://redirect.github.com/miketheman/pytest-socket/issues/522">#522</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/miketheman/pytest-socket/compare/0.8.0...0.8.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-rerunfailures` from 16.5 to 16.6
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst">pytest-rerunfailures's
changelog</a>.</em></p>
<blockquote>
<h2>16.6 (2026-08-17)</h2>
<p>Features
++++++++</p>
<ul>
<li>Add a repeatable <code>--rerun-exclude-path</code> option to exclude
test files or
directories from reruns.
(<code>[#232](https://github.com/pytest-dev/pytest-rerunfailures/issues/232)
&lt;https://github.com/pytest-dev/pytest-rerunfailures/issues/232&gt;</code>_)</li>
</ul>
<p>Bug Fixes
+++++++++</p>
<ul>
<li>Fix a regression in version 16.5 which made <code>--pdb</code>
unusable even when no
reruns were configured.
(<code>[#342](https://github.com/pytest-dev/pytest-rerunfailures/issues/342)
&lt;https://github.com/pytest-dev/pytest-rerunfailures/issues/342&gt;</code>_)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest-rerunfailures/commit/257d92ac76bef31af72766dc743543cf76d2dd4b"><code>257d92a</code></a>
Preparing release 16.6</li>
<li><a
href="https://github.com/pytest-dev/pytest-rerunfailures/commit/44cc38579dc79c2e38a72ea2cf649e435747ff6c"><code>44cc385</code></a>
Fix regression making --pdb unusable without configured reruns (<a
href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/343">#343</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest-rerunfailures/commit/bb86346c70f28c7b8be9d5b8ee43c1a4ad1f6670"><code>bb86346</code></a>
Add path exclusion for reruns (<a
href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/344">#344</a>)</li>
<li><a
href="https://github.com/pytest-dev/pytest-rerunfailures/commit/d428dee3f0b6fd1bf237ab6af65058c8fdf300a6"><code>d428dee</code></a>
Back to development: 16.6</li>
<li>See full diff in <a
href="https://github.com/pytest-dev/pytest-rerunfailures/compare/16.5...16.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `python-dotenv` from 1.2.2 to 1.2.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/releases">python-dotenv's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.3</h2>
<h3>Fixed</h3>
<ul>
<li>Strip a leading UTF-8 BOM from <code>.env</code> file contents so
the first variable is no longer silently lost when the file is saved
with BOM (e.g. by some JetBrains IDEs on Windows) by [<a
href="https://github.com/h1whelan"><code>@​h1whelan</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/640">#640</a></li>
<li><code>set_key</code> now escapes backslashes, so values containing
them (Windows paths, regular expressions) survive a write/read
round-trip. Quoted values ending in an escaped backslash are no longer
mis-parsed as an escaped quote, which used to swallow the following
lines by [<a
href="https://github.com/dchaudhari7177"><code>@​dchaudhari7177</code></a>]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/680">#680</a></li>
<li><code>dotenv run</code> now prints a friendly error instead of a
traceback when no command is given by [<a
href="https://github.com/bbc2"><code>@​bbc2</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/606">#606</a></li>
<li>Cache the parsed result for empty <code>.env</code> files so
repeated <code>dotenv_values</code>/<code>load_dotenv</code> calls no
longer re-read the file by [<a
href="https://github.com/ReinerBRO"><code>@​ReinerBRO</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/638">#638</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md">python-dotenv's
changelog</a>.</em></p>
<blockquote>
<h2>[1.2.3] - 2026-08-16</h2>
<h3>Fixed</h3>
<ul>
<li>Strip a leading UTF-8 BOM from <code>.env</code> file contents so
the first variable is no longer silently lost when the file is saved
with BOM (e.g. by some JetBrains IDEs on Windows) by [<a
href="https://github.com/h1whelan"><code>@​h1whelan</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/640">#640</a></li>
<li><code>set_key</code> now escapes backslashes, so values containing
them (Windows paths, regular expressions) survive a write/read
round-trip. Quoted values ending in an escaped backslash are no longer
mis-parsed as an escaped quote, which used to swallow the following
lines by [<a
href="https://github.com/dchaudhari7177"><code>@​dchaudhari7177</code></a>]
in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/680">#680</a></li>
<li><code>dotenv run</code> now prints a friendly error instead of a
traceback when no command is given by [<a
href="https://github.com/bbc2"><code>@​bbc2</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/606">#606</a></li>
<li>Cache the parsed result for empty <code>.env</code> files so
repeated <code>dotenv_values</code>/<code>load_dotenv</code> calls no
longer re-read the file by [<a
href="https://github.com/ReinerBRO"><code>@​ReinerBRO</code></a>] in <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/638">#638</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/49515afee2d50c33cad9419b3800b3a0dc93fc59"><code>49515af</code></a>
Bump version: 1.2.2 → 1.2.3</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/8ac846ff2760b65470e769d7eed33e540f0934e1"><code>8ac846f</code></a>
chore: add release runbook (RELEASING.md) and make release target</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/bb31c944fb4b40e8dea59587f525840c38326166"><code>bb31c94</code></a>
docs: add 1.2.3 release notes (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/606">#606</a>,
<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/638">#638</a>,
<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/680">#680</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/f7b18d9c72d1abcc2ad4023424b84f5bee30d266"><code>f7b18d9</code></a>
fix: round-trip backslashes through set_key (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/680">#680</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/751f8c148222e58aa173c83c4e5e6cfccb2cc124"><code>751f8c1</code></a>
ci(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the
github-actions gro...</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/f1937b68f338d7ebd7754da377ca08b2f0df8dbb"><code>f1937b6</code></a>
chore(deps): update mkdocs-include-markdown-plugin requirement from
&gt;=6.0.0 t...</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/45b93720dd5e9e127d0be3971a04855d34e464d8"><code>45b9372</code></a>
chore(deps): update pytest requirement from &gt;=3.9 to &gt;=9.0.3 (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/653">#653</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/72896e9244d2a1ff8d5e1934d3df8a35c813799a"><code>72896e9</code></a>
docs: fix broken mkdocs link in CONTRIBUTING.md (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/636">#636</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/72754a16a4743e4c92edf87ce59ba0e4ff78758d"><code>72754a1</code></a>
ci(deps): bump peaceiris/actions-gh-pages from 4.0.0 to 4.1.0 in the
github-a...</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/078325e92558330e9addc661b789c7b6123fa73c"><code>078325e</code></a>
ci(security): harden CI/CD supply chain with SHA pinning and
least-privilege ...</li>
<li>Additional commits viewable in <a
href="https://github.com/theskumar/python-dotenv/compare/v1.2.2...v1.2.3">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
vjousse pushed a commit to MTES-MCT/ecobalyse that referenced this pull request Aug 25, 2026
…ates (#2738)

Bumps the minor-patch group with 4 updates in the / directory:
[pygithub](https://github.com/pygithub/pygithub),
[ruff](https://github.com/astral-sh/ruff),
[ty](https://github.com/astral-sh/ty) and
[boto3](https://github.com/boto/boto3).

Updates `pygithub` from 2.9.1 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[#3480](PyGithub/PyGithub#3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[#3477](PyGithub/PyGithub#3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[#3396](PyGithub/PyGithub#3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[#3401](PyGithub/PyGithub#3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[#3479](PyGithub/PyGithub#3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[#3540](PyGithub/PyGithub#3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[#3471](PyGithub/PyGithub#3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[#3503](PyGithub/PyGithub#3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[#3472](PyGithub/PyGithub#3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[#3494](PyGithub/PyGithub#3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[#3507](PyGithub/PyGithub#3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[#3518](PyGithub/PyGithub#3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[#3516](PyGithub/PyGithub#3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[#3537](PyGithub/PyGithub#3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[#3559](PyGithub/PyGithub#3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[#3440](PyGithub/PyGithub#3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[#3548](PyGithub/PyGithub#3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[#3529](PyGithub/PyGithub#3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[#3487](PyGithub/PyGithub#3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[#3485](PyGithub/PyGithub#3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[#3551](PyGithub/PyGithub#3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[#3432](PyGithub/PyGithub#3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[#3509](PyGithub/PyGithub#3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[#3493](PyGithub/PyGithub#3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[#3374](PyGithub/PyGithub#3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[#3495](PyGithub/PyGithub#3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[#3496](PyGithub/PyGithub#3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[#3489](PyGithub/PyGithub#3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[#3498](PyGithub/PyGithub#3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.16.3 to 0.16.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.16.4</h2>
<h2>Release Notes</h2>
<p>Released on 2026-08-20.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-use-pathlib</code>] Add autofix for
<code>PTH116</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26460">#26460</a>)</li>
<li>[<code>refurb</code>] Restrict <code>delete-full-slice</code> to
lists (<code>FURB131</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27711">#27711</a>)</li>
<li>[<code>refurb</code>] Skip <code>FURB101</code> and
<code>FURB103</code> when the <code>open</code> argument is a file
descriptor (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27643">#27643</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix <code>InvalidInstruction</code> on Windows CPUs that do not
support <code>POPCNT</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27803">#27803</a>)</li>
<li>[<code>pyflakes</code>] Emit semantic syntax errors in string type
definitions as <code>F722</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27835">#27835</a>)</li>
<li>[<code>pylint</code>] Allow <code>os._exit</code> imports in
<code>import-private-name</code> (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27738">#27738</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[syntax-errors] Align mixed t-string/bytes error message with
CPython 3.14 (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27766">#27766</a>)</li>
<li>[<code>ruff</code>] Add <code>ctypes.LittleEndianStructure</code>
and related types to existing exception (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27753">#27753</a>)</li>
<li>[syntax-errors] Detect duplicate keyword arguments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/17804">#17804</a>)</li>
<li>[syntax-errors] Detect parameters declared <code>nonlocal</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27628">#27628</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Offer display-only fixes and mark safe fixes preferred (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27807">#27807</a>)</li>
<li>Support pull diagnostics for notebook cells (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27779">#27779</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add default indicator to rules table (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27724">#27724</a>)</li>
<li>Fix broken link to Python docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27757">#27757</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Fix s390x stacker assembly in release builds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27776">#27776</a>)</li>
<li>Guarantee minimum stack size when parsing a module, standalone
expression, and suites (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25464">#25464</a>)</li>
<li>Reduce configuration deserialization code size (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27924">#27924</a>)</li>
<li>Check packed AST index bounds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27849">#27849</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/AbhinavMir"><code>@​AbhinavMir</code></a></li>
<li><a
href="https://github.com/eduardorittner"><code>@​eduardorittner</code></a></li>
<li><a href="https://github.com/royb3"><code>@​royb3</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/rosstitmarsh"><code>@​rosstitmarsh</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.16.4</h2>
<p>Released on 2026-08-20.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-use-pathlib</code>] Add autofix for
<code>PTH116</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26460">#26460</a>)</li>
<li>[<code>refurb</code>] Restrict <code>delete-full-slice</code> to
lists (<code>FURB131</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27711">#27711</a>)</li>
<li>[<code>refurb</code>] Skip <code>FURB101</code> and
<code>FURB103</code> when the <code>open</code> argument is a file
descriptor (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27643">#27643</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix <code>InvalidInstruction</code> on Windows CPUs that do not
support <code>POPCNT</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27803">#27803</a>)</li>
<li>[<code>pyflakes</code>] Emit semantic syntax errors in string type
definitions as <code>F722</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27835">#27835</a>)</li>
<li>[<code>pylint</code>] Allow <code>os._exit</code> imports in
<code>import-private-name</code> (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27738">#27738</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[syntax-errors] Align mixed t-string/bytes error message with
CPython 3.14 (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27766">#27766</a>)</li>
<li>[<code>ruff</code>] Add <code>ctypes.LittleEndianStructure</code>
and related types to existing exception (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27753">#27753</a>)</li>
<li>[syntax-errors] Detect duplicate keyword arguments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/17804">#17804</a>)</li>
<li>[syntax-errors] Detect parameters declared <code>nonlocal</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27628">#27628</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Offer display-only fixes and mark safe fixes preferred (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27807">#27807</a>)</li>
<li>Support pull diagnostics for notebook cells (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27779">#27779</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add default indicator to rules table (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27724">#27724</a>)</li>
<li>Fix broken link to Python docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27757">#27757</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Fix s390x stacker assembly in release builds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27776">#27776</a>)</li>
<li>Guarantee minimum stack size when parsing a module, standalone
expression, and suites (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25464">#25464</a>)</li>
<li>Reduce configuration deserialization code size (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27924">#27924</a>)</li>
<li>Check packed AST index bounds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27849">#27849</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/AbhinavMir"><code>@​AbhinavMir</code></a></li>
<li><a
href="https://github.com/eduardorittner"><code>@​eduardorittner</code></a></li>
<li><a href="https://github.com/royb3"><code>@​royb3</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/rosstitmarsh"><code>@​rosstitmarsh</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/zaniebot"><code>@​zaniebot</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/11c76bf48fdac06b2f240cba502eda96da4dce77"><code>11c76bf</code></a>
Bump 0.16.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27937">#27937</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d53c8c58662ca0576ddd502aa1a2979acf03832f"><code>d53c8c5</code></a>
Isolate playground builds from deployment credentials (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27839">#27839</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/cab001e5dec22f55653021f1f7be449e47c7d81e"><code>cab001e</code></a>
Disable uv preview for releases and pre-commit hooks (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27939">#27939</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/f8d575fedc97e75ea62c679d77afb14246afa88e"><code>f8d575f</code></a>
[ty] Clarify writing guidance for human readers (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27912">#27912</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/ca45faebb1750a213df19ed7f686ee5cf9277f93"><code>ca45fae</code></a>
Set <code>--preview</code> and <code>--default-index</code> for the
<code>uv-lock</code> hook (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27935">#27935</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4827bf7cb449055e46fbfaf4b26e5125883a0569"><code>4827bf7</code></a>
Export <code>UV_DEFAULT_INDEX</code> in <code>release.sh</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27934">#27934</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d1087a4b9e03d253a88703f34e0869ee4b805456"><code>d1087a4</code></a>
[ty] Handle assignment expressions in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27921">#27921</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/680cce48b6d89ab5b1566e4b797bd4847d861815"><code>680cce4</code></a>
[ty] Optimize inherited recursive protocol comparisons (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27922">#27922</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/974d3cbc04520c112843d6b92577844587402e04"><code>974d3cb</code></a>
Upgrade ecosystem-analyzer and mypy_primer to the latest upstream pins
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/27932">#27932</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b169b402356d0676451f4a7bc6903da2644b31eb"><code>b169b40</code></a>
Install cargo tools locked (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27929">#27929</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.16.3...0.16.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `ty` from 0.0.72 to 0.0.74
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ty/releases">ty's
releases</a>.</em></p>
<blockquote>
<h2>0.0.74</h2>
<h2>Release Notes</h2>
<p>Released on 2026-08-22.</p>
<h3>Bug fixes</h3>
<ul>
<li>Avoid duplicate bindings in multi-target assignments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27938">#27938</a>)</li>
<li>Avoid panic on unpacked kwargs in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27963">#27963</a>)</li>
<li>Fix stack overflow in recursive <code>TypedDict</code> dictionary
compatibility (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27951">#27951</a>)</li>
<li>Handle assignment expressions in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27921">#27921</a>)</li>
<li>Handle dynamic classes in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27883">#27883</a>)</li>
<li>Preserve string annotation context in lambda defaults and
<code>TypedDict</code> types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27914">#27914</a>)</li>
<li>Skip invalid subscript arguments in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27917">#27917</a>)</li>
<li>Skip invalid subscript operands in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27882">#27882</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add <code>untrustedWorkspace</code> option to the LSP (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27828">#27828</a>)</li>
<li>Add executable discovery to the server command (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27806">#27806</a>)</li>
<li>Handle file-valued workspace folders from Zed (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27836">#27836</a>)</li>
<li>Skip scripts with an invalid PEP 723 configuration (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27505">#27505</a>)</li>
<li>Support pull diagnostics for notebook cells (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27778">#27778</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update mypy/pyright comparison table (<a
href="https://redirect.github.com/astral-sh/ty/pull/4165">#4165</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add an opt-in <code>unsound-assignment</code> rule for variables (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27874">#27874</a>)</li>
<li>Fix variadic signature display (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27869">#27869</a>)</li>
<li>Highlight declarations in invalid-assignment diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27872">#27872</a>)</li>
<li>Improve <code>LiteralString</code> suggestions in string annotations
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/27931">#27931</a>)</li>
<li>Use <code>invalid-type-form</code> for non-generic class annotations
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/27889">#27889</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Add bounded constraint solution projections (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27949">#27949</a>)</li>
<li>Fix invariant gradual tuple materialization ranges (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27946">#27946</a>)</li>
<li>Guard recursive constructor bindings by receiver (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27958">#27958</a>)</li>
<li>Preserve all alternatives in bounded intersections (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27898">#27898</a>)</li>
<li>Preserve keyword safety for unpacked callables (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27517">#27517</a>)</li>
<li>Preserve source protocol members and classify finite aliases (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27772">#27772</a>)</li>
<li>Preserve type-variable order when reloading constraints (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27904">#27904</a>)</li>
<li>Propagate narrowing through statically known branches (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27752">#27752</a>)</li>
<li>Recognize ABC metaclass methods on protocols (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27897">#27897</a>)</li>
<li>Support <code>__slots__</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27730">#27730</a>)</li>
</ul>
<h3>Performance</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ty/blob/main/CHANGELOG.md">ty's
changelog</a>.</em></p>
<blockquote>
<h2>0.0.74</h2>
<p>Released on 2026-08-22.</p>
<h3>Bug fixes</h3>
<ul>
<li>Avoid duplicate bindings in multi-target assignments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27938">#27938</a>)</li>
<li>Avoid panic on unpacked kwargs in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27963">#27963</a>)</li>
<li>Fix stack overflow in recursive <code>TypedDict</code> dictionary
compatibility (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27951">#27951</a>)</li>
<li>Handle assignment expressions in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27921">#27921</a>)</li>
<li>Handle dynamic classes in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27883">#27883</a>)</li>
<li>Preserve string annotation context in lambda defaults and
<code>TypedDict</code> types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27914">#27914</a>)</li>
<li>Skip invalid subscript arguments in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27917">#27917</a>)</li>
<li>Skip invalid subscript operands in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27882">#27882</a>)</li>
</ul>
<h3>LSP server</h3>
<ul>
<li>Add <code>untrustedWorkspace</code> option to the LSP (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27828">#27828</a>)</li>
<li>Add executable discovery to the server command (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27806">#27806</a>)</li>
<li>Handle file-valued workspace folders from Zed (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27836">#27836</a>)</li>
<li>Skip scripts with an invalid PEP 723 configuration (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27505">#27505</a>)</li>
<li>Support pull diagnostics for notebook cells (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27778">#27778</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update mypy/pyright comparison table (<a
href="https://redirect.github.com/astral-sh/ty/pull/4165">#4165</a>)</li>
</ul>
<h3>Diagnostics</h3>
<ul>
<li>Add an opt-in <code>unsound-assignment</code> rule for variables (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27874">#27874</a>)</li>
<li>Fix variadic signature display (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27869">#27869</a>)</li>
<li>Highlight declarations in invalid-assignment diagnostics (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27872">#27872</a>)</li>
<li>Improve <code>LiteralString</code> suggestions in string annotations
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/27931">#27931</a>)</li>
<li>Use <code>invalid-type-form</code> for non-generic class annotations
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/27889">#27889</a>)</li>
</ul>
<h3>Core type checking</h3>
<ul>
<li>Add bounded constraint solution projections (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27949">#27949</a>)</li>
<li>Fix invariant gradual tuple materialization ranges (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27946">#27946</a>)</li>
<li>Guard recursive constructor bindings by receiver (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27958">#27958</a>)</li>
<li>Preserve all alternatives in bounded intersections (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27898">#27898</a>)</li>
<li>Preserve keyword safety for unpacked callables (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27517">#27517</a>)</li>
<li>Preserve source protocol members and classify finite aliases (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27772">#27772</a>)</li>
<li>Preserve type-variable order when reloading constraints (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27904">#27904</a>)</li>
<li>Propagate narrowing through statically known branches (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27752">#27752</a>)</li>
<li>Recognize ABC metaclass methods on protocols (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27897">#27897</a>)</li>
<li>Support <code>__slots__</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27730">#27730</a>)</li>
</ul>
<h3>Performance</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ty/commit/00199f0aaa6a8cd264fea08eae4f3c3fe4451c17"><code>00199f0</code></a>
Bump version to 0.0.74 (<a
href="https://redirect.github.com/astral-sh/ty/issues/4351">#4351</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/5769062fa10db84f6c03145bdf42d0b8da9aeb63"><code>5769062</code></a>
Update mypy/pyright comparison table (<a
href="https://redirect.github.com/astral-sh/ty/issues/4165">#4165</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/4fcb06010f2219b80adf3e688964abd9b0d72866"><code>4fcb060</code></a>
Remove Zulip from the PGO training (<a
href="https://redirect.github.com/astral-sh/ty/issues/4336">#4336</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/a7a706442a710db4a93c1a79779dff5ec5824cf6"><code>a7a7064</code></a>
Use the versions bot's ruleset bypass when merging (<a
href="https://redirect.github.com/astral-sh/ty/issues/4333">#4333</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/01b0fab0093c64535a401bc2731f80d7f5b6a7a8"><code>01b0fab</code></a>
Update prek dependencies (<a
href="https://redirect.github.com/astral-sh/ty/issues/4325">#4325</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/deef42f517bfbacb2ffe673046bef1e206c6b8ab"><code>deef42f</code></a>
Update dependency python to 3.14 (<a
href="https://redirect.github.com/astral-sh/ty/issues/4326">#4326</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/6d35edf08fcb46a737590068e946e54d4046fa75"><code>6d35edf</code></a>
Update astral-sh/setup-uv action to v10 (<a
href="https://redirect.github.com/astral-sh/ty/issues/4327">#4327</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/4bd2833c4f59f729fa1f5d1a4e136e686cd01221"><code>4bd2833</code></a>
Bump version to 0.0.73 (<a
href="https://redirect.github.com/astral-sh/ty/issues/4322">#4322</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/93d0d4fc702c6d983f3d1237998a91caf086d898"><code>93d0d4f</code></a>
Disable known GitHub cache clients in release workflows (<a
href="https://redirect.github.com/astral-sh/ty/issues/4317">#4317</a>)</li>
<li><a
href="https://github.com/astral-sh/ty/commit/ec4806b4866229677fdebe867e3095476b236f05"><code>ec4806b</code></a>
Harden release workflow permissions and shell inputs (<a
href="https://redirect.github.com/astral-sh/ty/issues/4319">#4319</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ty/compare/0.0.72...0.0.74">compare
view</a></li>
</ul>
</details>
<br />

Updates `boto3` from 1.43.73 to 1.43.78
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/boto/boto3/commit/bf8d3436bee5177a2a8316194ea1218e1c95d687"><code>bf8d343</code></a>
Merge branch 'release-1.43.78'</li>
<li><a
href="https://github.com/boto/boto3/commit/4830df416c199d6f389dda1b7fbe592902c39e9e"><code>4830df4</code></a>
Bumping version to 1.43.78</li>
<li><a
href="https://github.com/boto/boto3/commit/921bb1043eb1972aee2f8cb757df974a704ee098"><code>921bb10</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/cca5d6f5a2b4abc7a3cb20d37ebb29475909406c"><code>cca5d6f</code></a>
Merge branch 'release-1.43.77'</li>
<li><a
href="https://github.com/boto/boto3/commit/2ff832b06e51a939a44c671b1e57ecfb55895370"><code>2ff832b</code></a>
Merge branch 'release-1.43.77' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/8c3a6f714d47954df7a291f36b6c065f3cf121ac"><code>8c3a6f7</code></a>
Bumping version to 1.43.77</li>
<li><a
href="https://github.com/boto/boto3/commit/ce5785b2b57ec682661520ecfceb70b8cc9001b5"><code>ce5785b</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/8a88b26bcdfc66d06a404bb191a3405fb6869071"><code>8a88b26</code></a>
Merge branch 'release-1.43.76'</li>
<li><a
href="https://github.com/boto/boto3/commit/ced31bb7a8b5f576e9092483e345eefaab198536"><code>ced31bb</code></a>
Merge branch 'release-1.43.76' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/a1cecc39f4d6be07ad06889b4078050202393fde"><code>a1cecc3</code></a>
Bumping version to 1.43.76</li>
<li>Additional commits viewable in <a
href="https://github.com/boto/boto3/compare/1.43.73...1.43.78">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions Bot pushed a commit to jmertic/lfx-landscape-tools that referenced this pull request Aug 28, 2026
Bumps the all group with 1 update:
[pygithub](https://github.com/pygithub/pygithub).

Updates `pygithub` from 2.9.1 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[#3480](PyGithub/PyGithub#3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[#3477](PyGithub/PyGithub#3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[#3396](PyGithub/PyGithub#3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[#3401](PyGithub/PyGithub#3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[#3479](PyGithub/PyGithub#3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[#3540](PyGithub/PyGithub#3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[#3471](PyGithub/PyGithub#3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[#3503](PyGithub/PyGithub#3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[#3472](PyGithub/PyGithub#3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[#3494](PyGithub/PyGithub#3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[#3507](PyGithub/PyGithub#3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[#3518](PyGithub/PyGithub#3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[#3516](PyGithub/PyGithub#3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[#3537](PyGithub/PyGithub#3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[#3559](PyGithub/PyGithub#3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[#3440](PyGithub/PyGithub#3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[#3548](PyGithub/PyGithub#3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[#3529](PyGithub/PyGithub#3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[#3487](PyGithub/PyGithub#3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[#3485](PyGithub/PyGithub#3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[#3551](PyGithub/PyGithub#3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[#3432](PyGithub/PyGithub#3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[#3509](PyGithub/PyGithub#3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[#3493](PyGithub/PyGithub#3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[#3374](PyGithub/PyGithub#3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[#3495](PyGithub/PyGithub#3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[#3496](PyGithub/PyGithub#3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[#3489](PyGithub/PyGithub#3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[#3498](PyGithub/PyGithub#3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pygithub&package-manager=pip&previous-version=2.9.1&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-actions Bot pushed a commit to jmertic/contrib_check that referenced this pull request Aug 28, 2026
Bumps the all group with 1 update:
[pygithub](https://github.com/pygithub/pygithub).

Updates `pygithub` from 2.9.1 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[#3480](PyGithub/PyGithub#3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[#3477](PyGithub/PyGithub#3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[#3396](PyGithub/PyGithub#3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[#3401](PyGithub/PyGithub#3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[#3479](PyGithub/PyGithub#3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[#3540](PyGithub/PyGithub#3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[#3471](PyGithub/PyGithub#3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[#3503](PyGithub/PyGithub#3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[#3472](PyGithub/PyGithub#3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[#3494](PyGithub/PyGithub#3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[#3507](PyGithub/PyGithub#3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[#3518](PyGithub/PyGithub#3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[#3516](PyGithub/PyGithub#3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[#3537](PyGithub/PyGithub#3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[#3559](PyGithub/PyGithub#3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[#3440](PyGithub/PyGithub#3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[#3548](PyGithub/PyGithub#3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[#3529](PyGithub/PyGithub#3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[#3487](PyGithub/PyGithub#3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[#3485](PyGithub/PyGithub#3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[#3551](PyGithub/PyGithub#3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[#3432](PyGithub/PyGithub#3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[#3509](PyGithub/PyGithub#3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[#3493](PyGithub/PyGithub#3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[#3374](PyGithub/PyGithub#3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[#3495](PyGithub/PyGithub#3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[#3496](PyGithub/PyGithub#3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[#3489](PyGithub/PyGithub#3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[#3498](PyGithub/PyGithub#3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pygithub&package-manager=pip&previous-version=2.9.1&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
LionelColaso pushed a commit to LionelColaso/RimSort that referenced this pull request Aug 29, 2026
Bumps [pygithub](https://github.com/pygithub/pygithub) from 2.9.1 to
2.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[#3480](PyGithub/PyGithub#3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[#3477](PyGithub/PyGithub#3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[#3396](PyGithub/PyGithub#3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[#3401](PyGithub/PyGithub#3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[#3479](PyGithub/PyGithub#3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[#3540](PyGithub/PyGithub#3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[#3471](PyGithub/PyGithub#3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[#3503](PyGithub/PyGithub#3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[#3472](PyGithub/PyGithub#3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[#3494](PyGithub/PyGithub#3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[#3507](PyGithub/PyGithub#3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[#3518](PyGithub/PyGithub#3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[#3516](PyGithub/PyGithub#3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[#3537](PyGithub/PyGithub#3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[#3559](PyGithub/PyGithub#3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[#3440](PyGithub/PyGithub#3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[#3548](PyGithub/PyGithub#3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[#3529](PyGithub/PyGithub#3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[#3487](PyGithub/PyGithub#3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[#3485](PyGithub/PyGithub#3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[#3551](PyGithub/PyGithub#3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[#3432](PyGithub/PyGithub#3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[#3509](PyGithub/PyGithub#3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[#3493](PyGithub/PyGithub#3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[#3374](PyGithub/PyGithub#3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[#3495](PyGithub/PyGithub#3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[#3496](PyGithub/PyGithub#3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[#3489](PyGithub/PyGithub#3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[#3498](PyGithub/PyGithub#3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pygithub&package-manager=uv&previous-version=2.9.1&new-version=2.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
gadomski pushed a commit to developmentseed/contributor-network that referenced this pull request Aug 31, 2026
Bumps the uv group with 2 updates:
[pygithub](https://github.com/pygithub/pygithub) and
[ruff](https://github.com/astral-sh/ruff).

Updates `pygithub` from 2.9.1 to 2.10.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pygithub/pygithub/releases">pygithub's
releases</a>.</em></p>
<blockquote>
<h2>2.10.0</h2>
<h3>Notable changes</h3>
<h4>Drop Python 3.9 support due to End-of-Life</h4>
<p>Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<h3>New Features</h3>
<ul>
<li>Allow to specify the Github API version by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3480">PyGithub/PyGithub#3480</a></li>
<li>Add issue dependency endpoints by <a
href="https://github.com/james-geiger"><code>@​james-geiger</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3477">PyGithub/PyGithub#3477</a></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code> by <a
href="https://github.com/Felixoid"><code>@​Felixoid</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3396">PyGithub/PyGithub#3396</a></li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions by <a
href="https://github.com/cecheta"><code>@​cecheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3401">PyGithub/PyGithub#3401</a></li>
<li>Add support for <code>head_repo</code> when creating pull request by
<a href="https://github.com/shannon"><code>@​shannon</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3479">PyGithub/PyGithub#3479</a></li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff by <a
href="https://github.com/tanistheta"><code>@​tanistheta</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3540">PyGithub/PyGithub#3540</a></li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> by <a
href="https://github.com/SebastienSyd"><code>@​SebastienSyd</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3471">PyGithub/PyGithub#3471</a></li>
<li>Update <code>SecurityAndAnalysis</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3503">PyGithub/PyGithub#3503</a></li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code> by <a
href="https://github.com/Krishnachaitanyakc"><code>@​Krishnachaitanyakc</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3472">PyGithub/PyGithub#3472</a></li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data by <a
href="https://github.com/SAY-5"><code>@​SAY-5</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3494">PyGithub/PyGithub#3494</a></li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3507">PyGithub/PyGithub#3507</a></li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3518">PyGithub/PyGithub#3518</a></li>
<li>Encode boolean query parameters as lowercase by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3516">PyGithub/PyGithub#3516</a></li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3537">PyGithub/PyGithub#3537</a></li>
<li>Fix <code>WorkflowRun</code> schema suggestion by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3559">PyGithub/PyGithub#3559</a></li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters by <a
href="https://github.com/TheoGoudout"><code>@​TheoGoudout</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3440">PyGithub/PyGithub#3440</a></li>
<li>Allow creating custom property with <code>values_editable_by</code>
param by <a
href="https://github.com/chawlajay9"><code>@​chawlajay9</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3548">PyGithub/PyGithub#3548</a></li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code> by <a
href="https://github.com/Noethix55555"><code>@​Noethix55555</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3529">PyGithub/PyGithub#3529</a></li>
<li>Fix lazy retrieval of latest tag name by <a
href="https://github.com/sathieu"><code>@​sathieu</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3487">PyGithub/PyGithub#3487</a></li>
<li>Fix typing and typos by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3485">PyGithub/PyGithub#3485</a></li>
</ul>
<h3>Maintenance</h3>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9 by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3551">PyGithub/PyGithub#3551</a></li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
by <a href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in
<a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3432">PyGithub/PyGithub#3432</a></li>
<li>Add documentation for agents, add Claude skills by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3509">PyGithub/PyGithub#3509</a></li>
<li>Add <code>sphinx-copybutton</code> for code blocks by <a
href="https://github.com/DivyanshiGautam31"><code>@​DivyanshiGautam31</code></a>
in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3493">PyGithub/PyGithub#3493</a></li>
<li>Add support to OpenAPI script for applying schema to methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3374">PyGithub/PyGithub#3374</a></li>
<li>Improve OpenAPI apply properties and methods by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3495">PyGithub/PyGithub#3495</a></li>
<li>Fix OpenAPI method verb detection by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3496">PyGithub/PyGithub#3496</a></li>
<li>Add OpenAPI script tests by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3489">PyGithub/PyGithub#3489</a></li>
<li>Fix OpenAPI apply method by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3498">PyGithub/PyGithub#3498</a></li>
<li>Reordering OpenAPI test sequence by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3500">PyGithub/PyGithub#3500</a></li>
<li>Apply typing convention by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3504">PyGithub/PyGithub#3504</a></li>
<li>Bump <code>mypy</code> Python version to 3.12 by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3505">PyGithub/PyGithub#3505</a></li>
<li>Use <code>@overload</code> to type <code>get_user</code> by <a
href="https://github.com/xmo-odoo"><code>@​xmo-odoo</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3502">PyGithub/PyGithub#3502</a></li>
<li>Add overload type annotations by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3506">PyGithub/PyGithub#3506</a></li>
<li>Simplify <code>OrganizationVariable</code> by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3508">PyGithub/PyGithub#3508</a></li>
<li>Add OpenAPI script filename option to create class by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3512">PyGithub/PyGithub#3512</a></li>
<li>OpenAPI script improvements by <a
href="https://github.com/EnricoMi"><code>@​EnricoMi</code></a> in <a
href="https://redirect.github.com/PyGithub/PyGithub/pull/3511">PyGithub/PyGithub#3511</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/PyGithub/PyGithub/blob/main/doc/changes.rst">pygithub's
changelog</a>.</em></p>
<blockquote>
<h2>Version 2.10.0 (August 20, 2026)</h2>
<p>Notable changes
^^^^^^^^^^^^^^^</p>
<p>Drop Python 3.9 support due to End-of-Life

&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
Python 3.9 reached its end-of-life October 31, 2025. Support has been
removed with this release.</p>
<p>New Features
^^^^^^^^^^^^</p>
<ul>
<li>Allow to specify the Github API version
(<code>[#3480](PyGithub/PyGithub#3480)
&lt;https://github.com/PyGithub/PyGithub/pull/3480&gt;</code><em>)
(<code>546b0ee7e
&lt;https://github.com/PyGithub/PyGithub/commit/546b0ee7e&gt;</code></em>)</li>
<li>Add issue dependency endpoints
(<code>[#3477](PyGithub/PyGithub#3477)
&lt;https://github.com/PyGithub/PyGithub/pull/3477&gt;</code><em>)
(<code>b0ee6e0c7
&lt;https://github.com/PyGithub/PyGithub/commit/b0ee6e0c7&gt;</code></em>)</li>
</ul>
<p>Improvements
^^^^^^^^^^^^</p>
<ul>
<li>Add <code>incomplete_results</code> property to
<code>PaginatedList</code>
(<code>[#3396](PyGithub/PyGithub#3396)
&lt;https://github.com/PyGithub/PyGithub/pull/3396&gt;</code><em>)
(<code>7806e7dcc
&lt;https://github.com/PyGithub/PyGithub/commit/7806e7dcc&gt;</code></em>)</li>
<li>Add <code>WorkflowRun.get_attempt</code> and
<code>Repository.get_workflow_job</code> functions
(<code>[#3401](PyGithub/PyGithub#3401)
&lt;https://github.com/PyGithub/PyGithub/pull/3401&gt;</code><em>)
(<code>fdf9ed869
&lt;https://github.com/PyGithub/PyGithub/commit/fdf9ed869&gt;</code></em>)</li>
<li>Add support for <code>head_repo</code> when creating pull request
(<code>[#3479](PyGithub/PyGithub#3479)
&lt;https://github.com/PyGithub/PyGithub/pull/3479&gt;</code><em>)
(<code>8ddfd6b11
&lt;https://github.com/PyGithub/PyGithub/commit/8ddfd6b11&gt;</code></em>)</li>
<li>Add <code>max_rate_limit_wait</code> to <code>GithubRetry</code> to
cap rate limit backoff
(<code>[#3540](PyGithub/PyGithub#3540)
&lt;https://github.com/PyGithub/PyGithub/pull/3540&gt;</code><em>)
(<code>8b50a098f
&lt;https://github.com/PyGithub/PyGithub/commit/8b50a098f&gt;</code></em>)</li>
<li>Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code>
(<code>[#3471](PyGithub/PyGithub#3471)
&lt;https://github.com/PyGithub/PyGithub/pull/3471&gt;</code><em>)
(<code>162ce9d0e
&lt;https://github.com/PyGithub/PyGithub/commit/162ce9d0e&gt;</code></em>)</li>
<li>Update <code>SecurityAndAnalysis</code>
(<code>[#3503](PyGithub/PyGithub#3503)
&lt;https://github.com/PyGithub/PyGithub/pull/3503&gt;</code><em>)
(<code>9674c5799
&lt;https://github.com/PyGithub/PyGithub/commit/9674c5799&gt;</code></em>)</li>
</ul>
<p>Bug Fixes
^^^^^^^^^</p>
<ul>
<li>Fix duplicated URL in <code>OrganizationVariable.edit()</code> and
<code>OrganizationSecret.edit()</code>
(<code>[#3472](PyGithub/PyGithub#3472)
&lt;https://github.com/PyGithub/PyGithub/pull/3472&gt;</code><em>)
(<code>a2e76eb8e
&lt;https://github.com/PyGithub/PyGithub/commit/a2e76eb8e&gt;</code></em>)</li>
<li>Fix <code>GithubException.__str__</code> decoding bytes data
(<code>[#3494](PyGithub/PyGithub#3494)
&lt;https://github.com/PyGithub/PyGithub/pull/3494&gt;</code><em>)
(<code>7a3b22ed6
&lt;https://github.com/PyGithub/PyGithub/commit/7a3b22ed6&gt;</code></em>)</li>
<li>Fixing <code>OrganizationVariable.value</code> by properly using
base class
(<code>[#3507](PyGithub/PyGithub#3507)
&lt;https://github.com/PyGithub/PyGithub/pull/3507&gt;</code><em>)
(<code>39a7464ff
&lt;https://github.com/PyGithub/PyGithub/commit/39a7464ff&gt;</code></em>)</li>
<li>Parse only the query string for
<code>PaginatedList.totalCount</code>
(<code>[#3518](PyGithub/PyGithub#3518)
&lt;https://github.com/PyGithub/PyGithub/pull/3518&gt;</code><em>)
(<code>645d2a2e8
&lt;https://github.com/PyGithub/PyGithub/commit/645d2a2e8&gt;</code></em>)</li>
<li>Encode boolean query parameters as lowercase
(<code>[#3516](PyGithub/PyGithub#3516)
&lt;https://github.com/PyGithub/PyGithub/pull/3516&gt;</code><em>)
(<code>f4e29299e
&lt;https://github.com/PyGithub/PyGithub/commit/f4e29299e&gt;</code></em>)</li>
<li>Fix doubled slash in request path for <code>base_url</code> with
trailing slash
(<code>[#3537](PyGithub/PyGithub#3537)
&lt;https://github.com/PyGithub/PyGithub/pull/3537&gt;</code><em>)
(<code>c15572f23
&lt;https://github.com/PyGithub/PyGithub/commit/c15572f23&gt;</code></em>)</li>
<li>Fix <code>WorkflowRun</code> schema suggestion
(<code>[#3559](PyGithub/PyGithub#3559)
&lt;https://github.com/PyGithub/PyGithub/pull/3559&gt;</code><em>)
(<code>5f707d64b
&lt;https://github.com/PyGithub/PyGithub/commit/5f707d64b&gt;</code></em>)</li>
<li>Fix OAuth2 authorization <code>state</code> /
<code>code_verifier</code> parameters
(<code>[#3440](PyGithub/PyGithub#3440)
&lt;https://github.com/PyGithub/PyGithub/pull/3440&gt;</code><em>)
(<code>4785224bc
&lt;https://github.com/PyGithub/PyGithub/commit/4785224bc&gt;</code></em>)</li>
<li>Allow creating custom property with <code>values_editable_by</code>
param (<code>[#3548](PyGithub/PyGithub#3548)
&lt;https://github.com/PyGithub/PyGithub/pull/3548&gt;</code><em>)
(<code>134f38a63
&lt;https://github.com/PyGithub/PyGithub/commit/134f38a63&gt;</code></em>)</li>
<li>Fix <code>OrganizationSecret.edit()</code> to seal the value and use
<code>PUT</code>
(<code>[#3529](PyGithub/PyGithub#3529)
&lt;https://github.com/PyGithub/PyGithub/pull/3529&gt;</code><em>)
(<code>4f8674b72
&lt;https://github.com/PyGithub/PyGithub/commit/4f8674b72&gt;</code></em>)</li>
<li>Fix lazy retrieval of latest tag name
(<code>[#3487](PyGithub/PyGithub#3487)
&lt;https://github.com/PyGithub/PyGithub/pull/3487&gt;</code><em>)
(<code>33071b35d
&lt;https://github.com/PyGithub/PyGithub/commit/33071b35d&gt;</code></em>)</li>
<li>Fix typing and typos
(<code>[#3485](PyGithub/PyGithub#3485)
&lt;https://github.com/PyGithub/PyGithub/pull/3485&gt;</code><em>)
(<code>fd7abf6a7
&lt;https://github.com/PyGithub/PyGithub/commit/fd7abf6a7&gt;</code></em>)</li>
</ul>
<p>Maintenance
^^^^^^^^^^^</p>
<ul>
<li>Add support for Python 3.15 and drop EOL 3.9
(<code>[#3551](PyGithub/PyGithub#3551)
&lt;https://github.com/PyGithub/PyGithub/pull/3551&gt;</code><em>)
(<code>5e2de3144
&lt;https://github.com/PyGithub/PyGithub/commit/5e2de3144&gt;</code></em>)</li>
<li>Move self-link awareness into <code>CompletableGithubObject</code>
(<code>[#3432](PyGithub/PyGithub#3432)
&lt;https://github.com/PyGithub/PyGithub/pull/3432&gt;</code><em>)
(<code>92ec3fab0
&lt;https://github.com/PyGithub/PyGithub/commit/92ec3fab0&gt;</code></em>)</li>
<li>Add documentation for agents, add Claude skills
(<code>[#3509](PyGithub/PyGithub#3509)
&lt;https://github.com/PyGithub/PyGithub/pull/3509&gt;</code><em>)
(<code>28f140d10
&lt;https://github.com/PyGithub/PyGithub/commit/28f140d10&gt;</code></em>)</li>
<li>Add <code>sphinx-copybutton</code> for code blocks
(<code>[#3493](PyGithub/PyGithub#3493)
&lt;https://github.com/PyGithub/PyGithub/pull/3493&gt;</code>_)</li>
<li>Add support to OpenAPI script for applying schema to methods
(<code>[#3374](PyGithub/PyGithub#3374)
&lt;https://github.com/PyGithub/PyGithub/pull/3374&gt;</code><em>)
(<code>b7a6d2324
&lt;https://github.com/PyGithub/PyGithub/commit/b7a6d2324&gt;</code></em>)</li>
<li>Improve OpenAPI apply properties and methods
(<code>[#3495](PyGithub/PyGithub#3495)
&lt;https://github.com/PyGithub/PyGithub/pull/3495&gt;</code>_)</li>
<li>Fix OpenAPI method verb detection
(<code>[#3496](PyGithub/PyGithub#3496)
&lt;https://github.com/PyGithub/PyGithub/pull/3496&gt;</code>_)</li>
<li>Add OpenAPI script tests
(<code>[#3489](PyGithub/PyGithub#3489)
&lt;https://github.com/PyGithub/PyGithub/pull/3489&gt;</code><em>)
(<code>09242d9b0
&lt;https://github.com/PyGithub/PyGithub/commit/09242d9b0&gt;</code></em>)</li>
<li>Fix OpenAPI apply method
(<code>[#3498](PyGithub/PyGithub#3498)
&lt;https://github.com/PyGithub/PyGithub/pull/3498&gt;</code><em>)
(<code>8f8697235
&lt;https://github.com/PyGithub/PyGithub/commit/8f8697235&gt;</code></em>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5cdf6ab395c52efb652d0bc1f28fdf2e452b1b41"><code>5cdf6ab</code></a>
Release 2.10.0 (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3560">#3560</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/33071b35d01033f5c059c7db02806710a7819330"><code>33071b3</code></a>
Fix lazy retrieval of latest tag name (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3487">#3487</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4f8674b724f9c0bbeac36a78cbf5f7fc577b9bf2"><code>4f8674b</code></a>
Fix OrganizationSecret.edit() to seal the value and use PUT (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c63d09e261b627b3f8ce6777038ed818a86d73b4"><code>c63d09e</code></a>
docs: add example for uploading multiple files in a single commit (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/4785224bc5089d0fd7933367d7f9fc0171d2d8d8"><code>4785224</code></a>
Fix OAuth2 authorization <code>state</code> / <code>code_verifier</code>
parameters (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3440">#3440</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/134f38a63dbcf0161ecd7df30e398f24f14e9fad"><code>134f38a</code></a>
Allow creating custom property with values_editable_by param (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/5f707d64b86d63b66820ed3941785fa803476625"><code>5f707d6</code></a>
Fix <code>WorkflowRun</code> schema suggestion (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/82809291e065be02354a9673750a8ae35d363bdd"><code>8280929</code></a>
docs: add exception handling example (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3543">#3543</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/c15572f23aa4743efe4b1f88bd26ddfb0c46acf8"><code>c15572f</code></a>
Fix doubled slash in request path for <code>base_url</code> with
trailing slash (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3537">#3537</a>)</li>
<li><a
href="https://github.com/PyGithub/PyGithub/commit/162ce9d0ed69b9e4950c92e1896ab3539a9cba1a"><code>162ce9d</code></a>
Add <code>return_run_details</code> parameter to
<code>Workflow.create_dispatch</code> (<a
href="https://redirect.github.com/pygithub/pygithub/issues/3471">#3471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pygithub/pygithub/compare/v2.9.1...v2.10.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.16.3 to 0.16.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.16.4</h2>
<h2>Release Notes</h2>
<p>Released on 2026-08-20.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-use-pathlib</code>] Add autofix for
<code>PTH116</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26460">#26460</a>)</li>
<li>[<code>refurb</code>] Restrict <code>delete-full-slice</code> to
lists (<code>FURB131</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27711">#27711</a>)</li>
<li>[<code>refurb</code>] Skip <code>FURB101</code> and
<code>FURB103</code> when the <code>open</code> argument is a file
descriptor (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27643">#27643</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix <code>InvalidInstruction</code> on Windows CPUs that do not
support <code>POPCNT</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27803">#27803</a>)</li>
<li>[<code>pyflakes</code>] Emit semantic syntax errors in string type
definitions as <code>F722</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27835">#27835</a>)</li>
<li>[<code>pylint</code>] Allow <code>os._exit</code> imports in
<code>import-private-name</code> (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27738">#27738</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[syntax-errors] Align mixed t-string/bytes error message with
CPython 3.14 (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27766">#27766</a>)</li>
<li>[<code>ruff</code>] Add <code>ctypes.LittleEndianStructure</code>
and related types to existing exception (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27753">#27753</a>)</li>
<li>[syntax-errors] Detect duplicate keyword arguments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/17804">#17804</a>)</li>
<li>[syntax-errors] Detect parameters declared <code>nonlocal</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27628">#27628</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Offer display-only fixes and mark safe fixes preferred (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27807">#27807</a>)</li>
<li>Support pull diagnostics for notebook cells (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27779">#27779</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add default indicator to rules table (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27724">#27724</a>)</li>
<li>Fix broken link to Python docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27757">#27757</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Fix s390x stacker assembly in release builds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27776">#27776</a>)</li>
<li>Guarantee minimum stack size when parsing a module, standalone
expression, and suites (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25464">#25464</a>)</li>
<li>Reduce configuration deserialization code size (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27924">#27924</a>)</li>
<li>Check packed AST index bounds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27849">#27849</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/AbhinavMir"><code>@​AbhinavMir</code></a></li>
<li><a
href="https://github.com/eduardorittner"><code>@​eduardorittner</code></a></li>
<li><a href="https://github.com/royb3"><code>@​royb3</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/rosstitmarsh"><code>@​rosstitmarsh</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.16.4</h2>
<p>Released on 2026-08-20.</p>
<h3>Preview features</h3>
<ul>
<li>[<code>flake8-use-pathlib</code>] Add autofix for
<code>PTH116</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/26460">#26460</a>)</li>
<li>[<code>refurb</code>] Restrict <code>delete-full-slice</code> to
lists (<code>FURB131</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27711">#27711</a>)</li>
<li>[<code>refurb</code>] Skip <code>FURB101</code> and
<code>FURB103</code> when the <code>open</code> argument is a file
descriptor (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27643">#27643</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fix <code>InvalidInstruction</code> on Windows CPUs that do not
support <code>POPCNT</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27803">#27803</a>)</li>
<li>[<code>pyflakes</code>] Emit semantic syntax errors in string type
definitions as <code>F722</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27835">#27835</a>)</li>
<li>[<code>pylint</code>] Allow <code>os._exit</code> imports in
<code>import-private-name</code> (<code>PLC2701</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27738">#27738</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[syntax-errors] Align mixed t-string/bytes error message with
CPython 3.14 (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27766">#27766</a>)</li>
<li>[<code>ruff</code>] Add <code>ctypes.LittleEndianStructure</code>
and related types to existing exception (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27753">#27753</a>)</li>
<li>[syntax-errors] Detect duplicate keyword arguments (<a
href="https://redirect.github.com/astral-sh/ruff/pull/17804">#17804</a>)</li>
<li>[syntax-errors] Detect parameters declared <code>nonlocal</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27628">#27628</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Offer display-only fixes and mark safe fixes preferred (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27807">#27807</a>)</li>
<li>Support pull diagnostics for notebook cells (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27779">#27779</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add default indicator to rules table (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27724">#27724</a>)</li>
<li>Fix broken link to Python docs (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27757">#27757</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Fix s390x stacker assembly in release builds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27776">#27776</a>)</li>
<li>Guarantee minimum stack size when parsing a module, standalone
expression, and suites (<a
href="https://redirect.github.com/astral-sh/ruff/pull/25464">#25464</a>)</li>
<li>Reduce configuration deserialization code size (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27924">#27924</a>)</li>
<li>Check packed AST index bounds (<a
href="https://redirect.github.com/astral-sh/ruff/pull/27849">#27849</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a
href="https://github.com/AbhinavMir"><code>@​AbhinavMir</code></a></li>
<li><a
href="https://github.com/eduardorittner"><code>@​eduardorittner</code></a></li>
<li><a href="https://github.com/royb3"><code>@​royb3</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/carljm"><code>@​carljm</code></a></li>
<li><a
href="https://github.com/rosstitmarsh"><code>@​rosstitmarsh</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a
href="https://github.com/zaniebot"><code>@​zaniebot</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/11c76bf48fdac06b2f240cba502eda96da4dce77"><code>11c76bf</code></a>
Bump 0.16.4 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27937">#27937</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d53c8c58662ca0576ddd502aa1a2979acf03832f"><code>d53c8c5</code></a>
Isolate playground builds from deployment credentials (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27839">#27839</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/cab001e5dec22f55653021f1f7be449e47c7d81e"><code>cab001e</code></a>
Disable uv preview for releases and pre-commit hooks (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27939">#27939</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/f8d575fedc97e75ea62c679d77afb14246afa88e"><code>f8d575f</code></a>
[ty] Clarify writing guidance for human readers (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27912">#27912</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/ca45faebb1750a213df19ed7f686ee5cf9277f93"><code>ca45fae</code></a>
Set <code>--preview</code> and <code>--default-index</code> for the
<code>uv-lock</code> hook (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27935">#27935</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4827bf7cb449055e46fbfaf4b26e5125883a0569"><code>4827bf7</code></a>
Export <code>UV_DEFAULT_INDEX</code> in <code>release.sh</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27934">#27934</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d1087a4b9e03d253a88703f34e0869ee4b805456"><code>d1087a4</code></a>
[ty] Handle assignment expressions in string annotations (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27921">#27921</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/680cce48b6d89ab5b1566e4b797bd4847d861815"><code>680cce4</code></a>
[ty] Optimize inherited recursive protocol comparisons (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27922">#27922</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/974d3cbc04520c112843d6b92577844587402e04"><code>974d3cb</code></a>
Upgrade ecosystem-analyzer and mypy_primer to the latest upstream pins
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/27932">#27932</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/b169b402356d0676451f4a7bc6903da2644b31eb"><code>b169b40</code></a>
Install cargo tools locked (<a
href="https://redirect.github.com/astral-sh/ruff/issues/27929">#27929</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.16.3...0.16.4">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants