Skip to content

chore(deps): bump the uv-patch-minor group in /backend with 10 updates - #25

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/uv/backend/uv-patch-minor-4c8991cda5
Jul 1, 2026
Merged

chore(deps): bump the uv-patch-minor group in /backend with 10 updates#25
github-actions[bot] merged 1 commit into
mainfrom
dependabot/uv/backend/uv-patch-minor-4c8991cda5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 1, 2026

Copy link
Copy Markdown
Contributor

Bumps the uv-patch-minor group in /backend with 10 updates:

Package From To
fastapi 0.136.3 0.139.0
granian 2.7.5 2.7.8
python-multipart 0.0.31 0.0.32
aiosmtplib 5.1.1 5.1.2
apscheduler 3.11.2 3.11.3
icalendar 7.1.2 7.2.0
slowapi 0.1.9 0.1.10
pytest 9.0.3 9.1.1
pyright 1.1.410 1.1.411
ruff 0.15.15 0.15.20

Updates fastapi from 0.136.3 to 0.139.0

Release notes

Sourced from fastapi's releases.

0.139.0

Features

  • ✨ Support dependencies in app.frontend(), e.g. for automatic cookie authentication for the frontend. PR #15908 by @​tiangolo.

Translations

Internal

0.138.1

Refactors

  • ♻️ Refactor Library Skills, make info easier to find for agents. PR #15841 by @​tiangolo.

Internal

... (truncated)

Commits
  • cecd96d 🔖 Release version 0.139.0 (#15910)
  • aea6609 📝 Update release notes
  • 319be50 ✨ Support dependencies in app.frontend(), e.g. for automatic cookie authent...
  • 66a90f6 📝 Update release notes
  • d30a3eb 👥 Update FastAPI People - Experts (#15909)
  • 122f1b5 📝 Update release notes
  • fd6ece3 👥 Update FastAPI GitHub topic repositories (#15906)
  • ec2a6ad 📝 Update release notes
  • 9d7d7fe 🌐 Update translations for fr (update-outdated) (#15897)
  • 8dc852d 📝 Update release notes
  • Additional commits viewable in compare view

Updates granian from 2.7.5 to 2.7.8

Release notes

Sourced from granian's releases.

Granian 2.7.8

Patch release

Changes since 2.7.7:

  • Switch ASGI websockets teardown to optimistic locking to further avoid blocking Python's event-loop
  • Bump dependencies

Granian 2.7.7

Patch release

Changes since 2.7.6:

  • Fix a bug in ASGI protocol websockets teardown leading to Python's event-loop blocking
  • Fix a memory leak in async applications calls

Granian 2.7.6

Patch release

Changes since 2.7.5:

  • Fix a logical bug in workers shutdown flow leading to kill timeout not being respected
  • Add more log info during shutdown process:
    • Worker completed shutdown
    • Shutdown process completed
  • Bump dependencies
Commits

Updates python-multipart from 0.0.31 to 0.0.32

Release notes

Sourced from python-multipart's releases.

Version 0.0.32

What's Changed

Full Changelog: Kludex/python-multipart@0.0.31...0.0.32

Changelog

Sourced from python-multipart's changelog.

0.0.32 (2026-06-04)

  • Speed up partial-boundary scanning for CR/LF-dense part data #300.
Commits

Updates aiosmtplib from 5.1.1 to 5.1.2

Release notes

Sourced from aiosmtplib's releases.

v5.1.2

What's Changed

  • Security: Discard any buffered server data before the STARTTLS handshake, preventing a response-injection attack where a man-in-the-middle pre-stages plaintext that would otherwise be read as part of the encrypted session. More details: GHSA-vxj7-4xrp-5vr4
  • Bugfix: Corrected SMTPResponse __repr__ result
  • Bugfix: Calling connect() on an already-connected client now raises SMTPException instead of deadlocking on the connection lock
  • Feature: Poe command runner for dev tasks
  • Bugfix: Timeout ignored during CRAM-MD5 verification
  • Bugfix: Only parse EHLO response after validating success
  • Bugfix: return None from extract_sender when address list is empty
  • Bugfix: Enforce a maximum total response size, preventing unbounded memory use if a server streams data with no line ending or endless multiline continuation lines
  • Bugfix: Use the invalid_response status code (-1) instead of 500 when a server response line exceeds the maximum length
  • Bugfix: A read timeout now closes the connection instead of leaving it in a desynced state, where a late server response could be mispaired with a subsequent command
  • Bugfix: Correctly parse old-style AUTH= extension advertisements; all advertised methods are now kept (e.g. both PLAIN and LOGIN from AUTH=PLAIN LOGIN)
  • Bugfix: ESMTP extension lines with leading whitespace are no longer ignored

Full Changelog: cole/aiosmtplib@v5.1.1...v5.1.2

Changelog

Sourced from aiosmtplib's changelog.

5.1.2

  • Security: Discard any buffered server data before the STARTTLS handshake, preventing a response-injection attack where a man-in-the-middle pre-stages plaintext that would otherwise be read as part of the encrypted session. More details: GHSA-vxj7-4xrp-5vr4
  • Bugfix: Corrected SMTPResponse __repr__ result
  • Bugfix: Calling connect() on an already-connected client now raises SMTPException instead of deadlocking on the connection lock
  • Feature: Poe command runner for dev tasks
  • Bugfix: Timeout ignored during CRAM-MD5 verification
  • Bugfix: Only parse EHLO response after validating success
  • Bugfix: return None from extract_sender when address list is empty
  • Bugfix: Enforce a maximum total response size, preventing unbounded memory use if a server streams data with no line ending or endless multiline continuation lines
  • Bugfix: Use the invalid_response status code (-1) instead of 500 when a server response line exceeds the maximum length
  • Bugfix: A read timeout now closes the connection instead of leaving it in a desynced state, where a late server response could be mispaired with a subsequent command
  • Bugfix: Correctly parse old-style AUTH= extension advertisements; all advertised methods are now kept (e.g. both PLAIN and LOGIN from AUTH=PLAIN LOGIN)
  • Bugfix: ESMTP extension lines with leading whitespace are no longer ignored
Commits
  • bffc6d1 release: v5.1.2
  • 9fab7ba fix(security): STARTTLS injection
  • 382b3c9 ci: try codecov 6.0
  • f0087db ci: pre-commit autoupdate
  • c0be341 fix: buildcheck via poe
  • 889c24c lint: auto fixes from pre-commit hooks
  • 3e25ac4 fix: mixed old/new style auth parsing
  • 5cd299f fix: explicit close on read timeout
  • e1521d7 fix: error (don't hang) on double connect
  • e899551 fix: SMTPResponse repr
  • Additional commits viewable in compare view

Updates apscheduler from 3.11.2 to 3.11.3

Release notes

Sourced from apscheduler's releases.

3.11.3

  • Fixed sub-minute interval jobs stalling for the duration of a DST spring-forward gap when the scheduler was configured with a ZoneInfo time zone, caused by the wakeup delay being computed from the naive wall-clock difference instead of the actual UTC difference (#1103)
  • Fixed imported jobs missing their scheduler and job store links (#1119)
Commits
  • 4308ec9 Added the release version
  • ff68780 Added a note about weekday numbers in CronTrigger.from_crontab()
  • 36936e9 Updated actions
  • c0ff7e4 Fixed Pyside6 tests failing on Python 3.9 and 3.8
  • 1b782c9 Fixed fixture coreapp not found
  • dc3dde4 Test against PySide6 on all Python versions
  • 18a6f6b Fixed imported jobs missing their scheduler and job store links
  • 1693db4 Fix interval jobs stalling across DST spring-forward with ZoneInfo (#1114)
  • 0636bf4 Added Python 3.14 to the test matrix
  • 3eb3de8 Fixed bad use of pytest.raises()
  • Additional commits viewable in compare view

Updates icalendar from 7.1.2 to 7.2.0

Release notes

Sourced from icalendar's releases.

v7.2.0

To view the changes, please see the Changelog. This release can be installed from PyPI.

v7.1.3

To view the changes, please see the Changelog. This release can be installed from PyPI.

Changelog

Sourced from icalendar's changelog.

7.2.0 (2026-06-23)

Removals and deprecations


- Deprecated :func:`icalendar.parser.string.foldline` as a private function for icalendar version 8. @IoannaGiag (`Issue [#1011](https://github.com/collective/icalendar/issues/1011) <https://github.com/collective/icalendar/issues/1011>`_)
- Deprecated :func:`icalendar.parser.string.escape_char`, :func:`icalendar.parser.string.unescape_char`, :func:`icalendar.parser.string.escape_string`, and :func:`icalendar.parser.string.unescape_string` using the standard ``deprecate_for_version_8`` wrapper as per issue [#1405](https://github.com/collective/icalendar/issues/1405). (`Issue [#1405](https://github.com/collective/icalendar/issues/1405) <https://github.com/collective/icalendar/issues/1405>`_)

New features


- Created an :attr:`~icalendar.prop.recur.frequency.vFrequency.ical_value` property for the :class:`~icalendar.prop.recur.frequency.vFrequency` component, mirroring the existing pattern on :class:`~icalendar.prop.recur.weekday.vWeekday`. @mvanhorn (`Issue [#876](https://github.com/collective/icalendar/issues/876) &lt;https://github.com/collective/icalendar/issues/876&gt;`_)
- Created an :attr:`~icalendar.prop.geo.vGeo.ical_value` property for the :class:`~icalendar.prop.geo.vGeo` component. @IoannaGiag (`Issue [#876](https://github.com/collective/icalendar/issues/876) &lt;https://github.com/collective/icalendar/issues/876&gt;`_)
- Added type hints to component methods. @Priyanshu-pulak (`Issue [#938](https://github.com/collective/icalendar/issues/938) &lt;https://github.com/collective/icalendar/issues/938&gt;`_)
- Added test coverage for :func:`icalendar.compatibility.deprecate_for_version_8`. AI disclosure: I used GPT-5 Codex to help draft and refine the test and pull request text. I reviewed the output and validated the change locally. @iccccccccccccc (`Issue [#1407](https://github.com/collective/icalendar/issues/1407) &lt;https://github.com/collective/icalendar/issues/1407&gt;`_)
- The :attr:`Alarm.uid &lt;icalendar.cal.alarm.Alarm.uid&gt;` accessor now falls back to vendor-specific UID properties (the existing ``X-ALARMUID`` and the newly added ``X-EVOLUTION-ALARM-UID``) when no canonical ``UID`` is present, so alarms exported by Evolution/GNOME Calendar expose a usable identifier. ``single_string_property`` now accepts an ordered list of fallback keys so further vendor aliases can be added later. AI disclosure: I used GPT-5 Codex (via the Codex CLI) to draft and refine this change and its tests; I reviewed and validated the output locally. @mvanhorn (`Issue [#1421](https://github.com/collective/icalendar/issues/1421) &lt;https://github.com/collective/icalendar/issues/1421&gt;`_)
- The ``rdates`` and ``exdates`` properties are now writable: assigning a list replaces the ``RDATE``/``EXDATE`` values, ``del`` (or assigning an empty list or ``None``) clears them, and assigning the value the getter returns round-trips. Prepared with the assistance of an AI coding agent (Anthropic's Claude). @gaoflow (`Issue [#1442](https://github.com/collective/icalendar/issues/1442) &lt;https://github.com/collective/icalendar/issues/1442&gt;`_)

Bug fixes


- Strictly validate :class:`~icalendar.prop.dt.datetime.vDatetime` values in :meth:`~icalendar.prop.dt.datetime.vDatetime.from_ical` and reject malformed input. This also improves handling of values with a ``TZID`` prefix, per :rfc:`5545#section-3.3.5`, Form [#3](https://github.com/collective/icalendar/issues/3). @uwezkhan (`Issue [#1361](https://github.com/collective/icalendar/issues/1361) &amp;lt;https://github.com/collective/icalendar/issues/1361&amp;gt;`_)
- Preserve an explicit ``VALUE`` parameter (for example ``RDATE;VALUE=PERIOD`` or ``TRIGGER;VALUE=DATE-TIME``) when converting from jCal. Previously :meth:`Component.from_jcal &amp;lt;icalendar.cal.component.Component.from_jcal&amp;gt;` dropped the value type, which is encoded in the jCal type field rather than as a parameter. Prepared with the assistance of an AI coding agent (Anthropic's Claude Opus 4). @gaoflow @lcampanella98 (`Issue [#1426](https://github.com/collective/icalendar/issues/1426) &amp;lt;https://github.com/collective/icalendar/issues/1426&amp;gt;`_)
- For a newline-free string that the operating system can't use as a file path—for example, one containing an embedded null byte or one that is too long—treat it as calendar data, instead of propagating an :exc:`OSError` from :meth:`Component.from_ical &amp;lt;icalendar.cal.component.Component.from_ical&amp;gt;`. Such input now raises a consistent :exc:`ValueError` across platforms. The string-versus-path boundary is now covered by tests. @uwezkhan (`Issue [#1436](https://github.com/collective/icalendar/issues/1436) &amp;lt;https://github.com/collective/icalendar/issues/1436&amp;gt;`_)
- Accept the ``(dt, None)`` form that ``rdates``/``exdates`` return for a single date when adding ``RDATE`` or ``EXDATE``, so ``event.add(&amp;quot;RDATE&amp;quot;, (dt, None))`` no longer raises :exc:`TypeError` and the value round-trips. Prepared with the assistance of an AI coding agent (Anthropic's Claude Opus 4). @gaoflow @texttheater (`Issue [#1439](https://github.com/collective/icalendar/issues/1439) &amp;lt;https://github.com/collective/icalendar/issues/1439&amp;gt;`_)
- Anchored the value validation regular expressions with ``\Z`` instead of ``$`` in :class:`~icalendar.prop.recur.weekday.vWeekday`, :meth:`vDuration.from_ical &amp;lt;icalendar.prop.dt.duration.vDuration.from_ical&amp;gt;`, :class:`~icalendar.prop.dt.time.vTime` and :class:`~icalendar.prop.dt.utc_offset.vUTCOffset`. ``$`` matches just before a final ``\n``, so a value with a trailing line break was accepted; for ``vWeekday`` the newline survived in the ``str`` value and was re-emitted into RECUR output. @alhudz
- For iCalendar files that have thousands of bare line breaks, reduce the content line parse time by a quadratic order of magnitude when reading a component with :meth:`Component.from_ical &amp;lt;icalendar.cal.component.Component.from_ical&amp;gt;`. @alhudz
- Parse a ``CATEGORIES`` value that contains an unescaped colon correctly. ``TEXT`` values do not escape ``:``, so a category such as ``CATEGORIES:CONFIDENTIAL,http://example.com/tag`` was truncated to a single ``//example.com/tag`` because the value boundary was found with the last colon on the line instead of the first one outside the parameters. @alhudz
- Parse and serialize jCal iteratively so that deeply nested components no longer raise an uncaught :exc:`RecursionError`. :meth:`Component.from_jcal &amp;lt;icalendar.cal.component.Component.from_jcal&amp;gt;` and :meth:`Component.to_jcal &amp;lt;icalendar.cal.component.Component.to_jcal&amp;gt;` now handle arbitrary nesting depth, matching the iterative iCal parser and serializer. @arshsmith
- Preserve literal percent escapes in parameter values. The parameter parser used ``%2C``/``%3A``/``%3B``/``%5C`` as internal markers for backslash-escaped delimiters, so a value that already contained those sequences (e.g. ``ALTREP=&amp;quot;http://x/a%2Cb&amp;quot;``) was silently decoded to ``http://x/a,b``. The internal transport encoding now escapes ``%`` itself, leaving real percent-encoded values untouched. @alhudz
- Raise :class:`~icalendar.error.InvalidCalendar` instead of leaking :exc:`OverflowError` when a ``DURATION`` value is too large for :class:`datetime.timedelta`, for example, ``P999999999999999999W``. Parsing a whole calendar now records such a value as an error, like any other invalid property, rather than aborting the parse. @arshsmith
- Reject non-ASCII digits in :class:`~icalendar.prop.recur.month.vMonth` (``BYMONTH``). ``str.isdigit`` is ``True`` for digits like the Arabic-Indic ``١٢``, which was silently accepted and normalized to month ``12``, while characters such as ``²`` cleared the same guard and then leaked a raw ``int()`` error. :meth:`vMonth.from_ical &amp;lt;icalendar.prop.recur.month.vMonth.from_ical&amp;gt;` now rejects both. @alhudz
- Reject non-finite FLOAT values in :meth:`vFloat.from_ical() &amp;lt;icalendar.prop.float.vFloat.from_ical&amp;gt;` and :meth:`vGeo.from_ical() &amp;lt;icalendar.prop.geo.vGeo.from_ical&amp;gt;`. Inputs such as ``nan``, ``inf`` or an overflowing magnitude like ``1e999`` were silently accepted, producing ``NaN``/``Infinity`` tokens in :meth:`Component.to_json &amp;lt;icalendar.cal.component.Component.to_json&amp;gt;` output that are not valid JSON. @alhudz
- Strictly validate :class:`~icalendar.prop.dt.date.vDate` and :class:`~icalendar.prop.dt.time.vTime` values in their ``from_ical`` methods and reject malformed input, matching the strictness added to :class:`~icalendar.prop.dt.datetime.vDatetime`. Trailing data and ``int()`` quirks (underscores, whitespace, signs) are no longer silently accepted, per :rfc:`5545#section-3.3.4` and :rfc:`5545#section-3.3.12`. This change was prepared with AI assistance (Anthropic Claude, Opus model, via Claude Code) used to research the relevant RFC grammar and draft the validation and tests, all reviewed and verified locally. @alhudz


Documentation
</code></pre>
<ul>
<li>Switch :file:<code>docs/how-to/usage.rst</code> from the deprecated <code>.. code:: pycon</code> directive to <code>.. code-block:: pycon</code> for consistency with the rest of the documentation. <a href="https://github.com/mvanhorn"><code>@​mvanhorn</code></a> (<code>Issue [#626](https://github.com/collective/icalendar/issues/626) &amp;lt;https://github.com/collective/icalendar/issues/626&amp;gt;</code>_)</li>
<li>Added type hint for <code>encoding</code> parameter in :func:<code>~icalendar.parser_tools.data_encode</code>. <a href="https://github.com/cybs-joe"><code>@​cybs-joe</code></a> (<code>Issue [#938](https://github.com/collective/icalendar/issues/938) &amp;lt;https://github.com/collective/icalendar/issues/938&amp;gt;</code>_)</li>
<li>Converted docstring of :meth:<code>~icalendar.cal.component.Component.add</code> to Google style. <a href="https://github.com/mvanhorn"><code>@​mvanhorn</code></a> (<code>Issue [#1072](https://github.com/collective/icalendar/issues/1072) &amp;lt;https://github.com/collective/icalendar/issues/1072&amp;gt;</code>_)</li>
<li>Fixed broken links and removed <code>:py</code> prefix in :class:<code>icalendar.cal.calendar.Calendar</code> documentation. <a href="https://github.com/lcampanella98"><code>@​lcampanella98</code></a> (<code>Issue [#1158](https://github.com/collective/icalendar/issues/1158) &amp;lt;https://github.com/collective/icalendar/issues/1158&amp;gt;</code>_)</li>
<li>Fixed broken link and removed <code>:py</code> prefix in the :func:<code>~icalendar.parser.unescape_backslash</code> docstring. <a href="https://github.com/vincere-mori"><code>@​vincere-mori</code></a> (<code>Issue [#1158](https://github.com/collective/icalendar/issues/1158) &amp;lt;https://github.com/collective/icalendar/issues/1158&amp;gt;</code>_)</li>
<li>Fixed broken documentation links in :mod:<code>icalendar.alarms</code> and :mod:<code>icalendar.cal.alarm</code>. <a href="https://github.com/lcampanella98"><code>@​lcampanella98</code></a> (<code>Issue [#1158](https://github.com/collective/icalendar/issues/1158) &amp;lt;https://github.com/collective/icalendar/issues/1158&amp;gt;</code>_)</li>
<li>Fix unqualified cross-references in :attr:<code>Event.start &amp;lt;icalendar.cal.event.Event.start&amp;gt;</code> and :attr:<code>Event.start &amp;lt;icalendar.cal.event.Event.end&amp;gt;</code> docstrings. <a href="https://github.com/Esneider1107"><code>@​Esneider1107</code></a> (<code>Issue [#1158](https://github.com/collective/icalendar/issues/1158) &amp;lt;https://github.com/collective/icalendar/issues/1158&amp;gt;</code>_)</li>
<li>Fixed broken links in :mod:<code>icalendar.cal.free_busy</code> documentation by using fully qualified :class:<code>icalendar.cal.component.Component</code> attribute targets. <a href="https://github.com/tsai135"><code>@​tsai135</code></a> (<code>Issue [#1158](https://github.com/collective/icalendar/issues/1158) &amp;lt;https://github.com/collective/icalendar/issues/1158&amp;gt;</code>_)
&lt;/tr&gt;&lt;/table&gt;
</code></pre></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/collective/icalendar/commit/df9f30ab0f7cc4a39c5f7d12fabab462697642f7"><code>df9f30a</code></a> Merge branch 'main' into 7.x</li>
<li><a href="https://github.com/collective/icalendar/commit/fd6d5b1aadf13d88f8356c1f58d5ceff85f08a51"><code>fd6d5b1</code></a> Fix 7.2.0 changelog: restore content for 938.chore entry</li>
<li><a href="https://github.com/collective/icalendar/commit/e99b5159ec0febc3cceebe075e7f91c5cab27c7f"><code>e99b515</code></a> Fix 7.2.0 changelog: restore full release notes</li>
<li><a href="https://github.com/collective/icalendar/commit/a2ceb5538b665f24247e0cb707322a89fe0d58db"><code>a2ceb55</code></a> version 7.2.0</li>
<li><a href="https://github.com/collective/icalendar/commit/87d7ce2fb96ca5d4c539664701f32c0fc9686ba9"><code>87d7ce2</code></a> Merge pull request <a href="https://redirect.github.com/collective/icalendar/issues/1495">#1495</a> from collective/dependabot/github_actions/github-act...</li>
<li><a href="https://github.com/collective/icalendar/commit/6f7743d5bb728bb613c3a6b8dc7fff44ea0be483"><code>6f7743d</code></a> Bump actions/checkout in the github-actions group across 1 directory</li>
<li><a href="https://github.com/collective/icalendar/commit/ceae0e3d2d8bc72006554382e04a0ddc178c75b9"><code>ceae0e3</code></a> Remove <code>rtd-pr-preview.yml</code> from the workflows (<a href="https://redirect.github.com/collective/icalendar/issues/1496">#1496</a>)</li>
<li><a href="https://github.com/collective/icalendar/commit/a760432ded122e86a8be3913062d60279c5f6eee"><code>a760432</code></a> Merge pull request <a href="https://redirect.github.com/collective/icalendar/issues/1454">#1454</a> from arshsmith/fix/jcal-iterative-parsing</li>
<li><a href="https://github.com/collective/icalendar/commit/4cc90aebb2461be154df54c4367d878e09249bf1"><code>4cc90ae</code></a> Merge branch 'main' into fix/jcal-iterative-parsing</li>
<li><a href="https://github.com/collective/icalendar/commit/96ee28f8552df69b5fb82839dbf9e2b95c6e5b05"><code>96ee28f</code></a> Merge pull request <a href="https://redirect.github.com/collective/icalendar/issues/1446">#1446</a> from alhudz/strict-date-time-from-ical</li>
<li>Additional commits viewable in <a href="https://github.com/collective/icalendar/compare/v7.1.2...v7.2.0">compare view</a></li>
</ul>
</details>
<br />

Updates `slowapi` from 0.1.9 to 0.1.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/laurents/slowapi/releases">slowapi's releases</a>.</em></p>
<blockquote>
<h2>v0.1.10</h2>
<h2>What's Changed</h2>
<ul>
<li>chore: Update warn to warning py3.11 deprecation by <a href="https://github.com/kevin868"><code>@​kevin868</code></a> in <a href="https://redirect.github.com/laurentS/slowapi/pull/200">laurentS/slowapi#200</a></li>
<li>feat: allow Requests to be sent to exempt_when by <a href="https://github.com/colin99d"><code>@​colin99d</code></a> in <a href="https://redirect.github.com/laurentS/slowapi/pull/160">laurentS/slowapi#160</a></li>
<li>ci: drop python 3.7 and 3.8 from CI checks by <a href="https://github.com/laurentS"><code>@​laurentS</code></a> in <a href="https://redirect.github.com/laurentS/slowapi/pull/238">laurentS/slowapi#238</a></li>
<li>chore: prepare 0.1.10 release by <a href="https://github.com/ecly"><code>@​ecly</code></a> in <a href="https://redirect.github.com/laurentS/slowapi/pull/212">laurentS/slowapi#212</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/kevin868"><code>@​kevin868</code></a> made their first contribution in <a href="https://redirect.github.com/laurentS/slowapi/pull/200">laurentS/slowapi#200</a></li>
<li><a href="https://github.com/colin99d"><code>@​colin99d</code></a> made their first contribution in <a href="https://redirect.github.com/laurentS/slowapi/pull/160">laurentS/slowapi#160</a></li>
<li><a href="https://github.com/ecly"><code>@​ecly</code></a> made their first contribution in <a href="https://redirect.github.com/laurentS/slowapi/pull/212">laurentS/slowapi#212</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/laurentS/slowapi/compare/v0.1.9...v0.1.10">https://github.com/laurentS/slowapi/compare/v0.1.9...v0.1.10</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/laurentS/slowapi/blob/master/CHANGELOG.md">slowapi's changelog</a>.</em></p>
<blockquote>
<h2>[0.1.10] - 2026-06-13</h2>
<h3>Changed</h3>
<ul>
<li>Added: allow usage of the request object in the except_when function (thanks <a href="https://github.com/colin99d"><code>@​colin99d</code></a>)</li>
<li>Added more test exemption logic (thanks <a href="https://github.com/colin99"><code>@​colin99</code></a>)</li>
<li>Fix logger warning for Python 3.11 deprecation  (thanks <a href="https://github.com/kevin868"><code>@​kevin868</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/laurentS/slowapi/commit/75799a3ec9498af10110068190356f704f838fe3"><code>75799a3</code></a> Update changelog</li>
<li><a href="https://github.com/laurentS/slowapi/commit/6f22eabc90a793d8c8459b6a8115c6f7fbb05bc5"><code>6f22eab</code></a> Merge pull request <a href="https://redirect.github.com/laurents/slowapi/issues/212">#212</a> from ecly/release-v0.1.10</li>
<li><a href="https://github.com/laurentS/slowapi/commit/5e2b9c108f79471fc96a5152bb69774894660cd1"><code>5e2b9c1</code></a> Merge pull request <a href="https://redirect.github.com/laurents/slowapi/issues/238">#238</a> from laurentS/drop-old-python</li>
<li><a href="https://github.com/laurentS/slowapi/commit/a83ec7211ea664fcb65580a386845832c112892d"><code>a83ec72</code></a> Update README</li>
<li><a href="https://github.com/laurentS/slowapi/commit/d1a20b6a4e0ba063bdb2160379be531c385c40a3"><code>d1a20b6</code></a> Drop python 3.7 and 3.8 from CI checks</li>
<li><a href="https://github.com/laurentS/slowapi/commit/8bf8b2ec55677aa3c9e0f9bed9f1a48f0b0b8d2e"><code>8bf8b2e</code></a> Make exempt_when with request backwards compatible</li>
<li><a href="https://github.com/laurentS/slowapi/commit/eaf5ba76cd8657693bcec6dec281a35053b1164b"><code>eaf5ba7</code></a> Bump version and update changelog</li>
<li><a href="https://github.com/laurentS/slowapi/commit/a72bcc66597f620f04bf5be3676e40ed308d3a6a"><code>a72bcc6</code></a> Merge pull request <a href="https://redirect.github.com/laurents/slowapi/issues/160">#160</a> from colin99d/master</li>
<li><a href="https://github.com/laurentS/slowapi/commit/42330fcddbf5ce22d18622ca14772cff256c2e74"><code>42330fc</code></a> Merge branch 'laurentS:master' into master</li>
<li><a href="https://github.com/laurentS/slowapi/commit/91145c087d658b6c3404935cd02155e291c2682b"><code>91145c0</code></a> Fixed mypy error</li>
<li>Additional commits viewable in <a href="https://github.com/laurents/slowapi/compare/v0.1.9...v0.1.10">compare view</a></li>
</ul>
</details>
<br />

Updates `pytest` from 9.0.3 to 9.1.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/pytest-dev/pytest/releases">pytest's releases</a>.</em></p>
<blockquote>
<h2>9.1.1</h2>
<h1>pytest 9.1.1 (2026-06-19)</h1>
<h2>Bug fixes</h2>
<ul>
<li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a>: Fixed a logic bug in <code>pytest.RaisesGroup</code> which would might cause it to display incorrect &quot;It matches <!-- raw HTML omitted -->FooError()<!-- raw HTML omitted --> which was paired with <!-- raw HTML omitted -->BarError<!-- raw HTML omitted -->&quot; messages.</li>
<li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14591">#14591</a>: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect <!-- raw HTML omitted --><a href="https://github.com/pytest"><code>@​pytest</code></a>.mark.parametrize<!-- raw HTML omitted --> to fail with &quot;duplicate parametrization of '&lt;fixture name&gt;'&quot;.</li>
<li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14606">#14606</a>: Fixed <code>list-item</code> typing errors from mypy in <code>@pytest.mark.parametrize &lt;pytest.mark.parametrize ref&gt;</code> <code>argvalues</code> parameter.</li>
<li><a href="https://redirect.github.com/pytest-dev/pytest/issues/14608">#14608</a>: Fixed a regression in pytest 9.1.0 where <code>conftest.py</code> files located in <code>&lt;invocation dir&gt;/test*</code> were no longer loaded as initial conftests when invoked without arguments.
This could cause certain hooks (like <code>pytest_addoption</code>) in these files to not fire.</li>
</ul>
<h2>9.1.0</h2>
<h1>pytest 9.1.0 (2026-06-13)</h1>
<h2>Removals and backward incompatible breaking changes</h2>
<ul>
<li>
<p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14533">#14533</a>: When using <code>--doctest-modules</code>, autouse fixtures with <code>module</code>, <code>package</code> or <code>session</code> scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.</p>
<p>If this is undesirable, move the fixture definition to a <code>conftest.py</code> file if possible.</p>
<p>Technical explanation for those interested:
When using <!-- raw HTML omitted -->--doctest-modules<!-- raw HTML omitted -->, pytest possibly collects Python modules twice, once as <code>pytest.Module</code> and once as a <code>DoctestModule</code> (depending on the configuration).
Due to improvements in pytest's fixture implementation, if e.g. the <code>DoctestModule</code> collects a fixture, it is now visible to it only, and not to the <code>Module</code>.
This means that both need to register the fixtures independently.</p>
</li>
</ul>
<h2>Deprecations (removal in next major release)</h2>
<ul>
<li>
<p><a href="https://redirect.github.com/pytest-dev/pytest/issues/10819">#10819</a>: Added a deprecation warning for class-scoped fixtures defined as instance methods (without <code>@classmethod</code>). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use <code>@classmethod</code> decorator instead -- by <code>yastcher</code>.</p>
<p>See <code>10819</code> and <code>14011</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/pytest-dev/pytest/issues/12882">#12882</a>: Calling <code>request.getfixturevalue() &lt;pytest.FixtureRequest.getfixturevalue&gt;</code> during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.</p>
<p>See <code>dynamic-fixture-request-during-teardown</code> for details.</p>
</li>
<li>
<p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13409">#13409</a>: Using non-<code>~collections.abc.Collection</code> iterables (such as generators, iterators, or custom iterable objects) for the <code>argvalues</code> parameter in <code>@pytest.mark.parametrize &lt;pytest.mark.parametrize ref&gt;</code> and <code>metafunc.parametrize &lt;pytest.Metafunc.parametrize&gt;</code> is now deprecated.</p>
<p>These iterables get exhausted after the first iteration,
leading to tests getting unexpectedly skipped in cases such as running <code>pytest.main()</code> multiple times,
using class-level parametrize decorators,
or collecting tests multiple times.</p>
<p>See <code>parametrize-iterators</code> for details and suggestions.</p>
</li>
<li>
<p><a href="https://redirect.github.com/pytest-dev/pytest/issues/13946">#13946</a>: The private <code>config.inicfg</code> attribute is now deprecated.
Use <code>config.getini() &lt;pytest.Config.getini&gt;</code> to access configuration values instead.</p>
<p>See <code>config-inicfg</code> for more details.</p>
</li>
<li>
<p><a href="https://redirect.github.com/pytest-dev/pytest/issues/14004">#14004</a>: Passing <code>baseid</code> to <code>~pytest.FixtureDef</code> or <code>nodeid</code> strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pytest-dev/pytest/commit/cf470ec0bf7eb89cd97dd56df4859eae5db46447"><code>cf470ec</code></a> Prepare release version 9.1.1</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/e0c8ce6cc5db1f08363be6f152c32e6838df2690"><code>e0c8ce6</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14625">#14625</a> from pytest-dev/patchback/backports/9.1.x/a07c31a97...</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/1b82d1694fce22385ee7a4287917fbafbaf2e757"><code>1b82d16</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14624">#14624</a> from pytest-dev/patchback/backports/9.1.x/b375b79ec...</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/501c4bc784da3b08bfcaa64858eba5d15dc59e53"><code>501c4bc</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14596">#14596</a> from bluetech/doc-classmethod</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/b61f588e36e9377c3d1d3f06bece1da0fc31d9ca"><code>b61f588</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14622">#14622</a> from chrisburr/fix-14608-initial-conftest-test-subdir</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/9a567e009f4d2da3ce1721c6db3109cb5744d40a"><code>9a567e0</code></a> [automated] Update plugin list (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14617">#14617</a>) (<a href="https://redirect.github.com/pytest-dev/pytest/issues/14618">#14618</a>)</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/ef8b2993e5b48639e4a3d97d0525df9760781384"><code>ef8b299</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14620">#14620</a> from pytest-dev/patchback/backports/9.1.x/680f9f3ed...</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/66abd0784d4cb7c1ba44ab9a8896506cd4985acc"><code>66abd07</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14220">#14220</a> from bysiber/fix-stale-iexp-raisesgroup</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/79fbf93b666cac5f27c9dad047943d47b766c8d5"><code>79fbf93</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14612">#14612</a> from pytest-dev/patchback/backports/9.1.x/974ed48b6...</li>
<li><a href="https://github.com/pytest-dev/pytest/commit/0d312eb876177e9f1c04262b54060a41034ebf5c"><code>0d312eb</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest/issues/14611">#14611</a> from bluetech/parametrize-argvalues-typing</li>
<li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest/compare/9.0.3...9.1.1">compare view</a></li>
</ul>
</details>
<br />

Updates `pyright` from 1.1.410 to 1.1.411
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/RobertCraigie/pyright-python/commit/392b6ba8e54be6d603e02e9f8d601d27b7a48d12"><code>392b6ba</code></a> Pyright NPM Package update to 1.1.411 (<a href="https://redirect.github.com/RobertCraigie/pyright-python/issues/363">#363</a>)</li>
<li>See full diff in <a href="https://github.com/RobertCraigie/pyright-python/compare/v1.1.410...v1.1.411">compare view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.15.15 to 0.15.20
<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.15.20</h2>
<h2>Release Notes</h2>
<p>Released on 2026-06-25.</p>
<h3>Preview features</h3>
<ul>
<li>Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li>
<li>Emit a warning instead of an error for unknown rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li>
<li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code> comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li>
<li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add versioning sections to custom crate READMEs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li>
<li>Update <code>ruff_python_parser</code> README for crates.io (<a href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li>
<li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to any iterable (<a href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a href="https://github.com/trilamsr"><code>@​trilamsr</code></a></li>
</ul>
<h2>Install ruff 0.15.20</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.sh | sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-installer.ps1 | iex&quot;
</code></pre>
<h2>Download ruff 0.15.20</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a href="https://releases.astral.sh/github/ruff/releases/download/0.15.20/ruff-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
<!-- 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.15.20</h2>
<p>Released on 2026-06-25.</p>
<h3>Preview features</h3>
<ul>
<li>Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/25887">#25887</a>)</li>
<li>Emit a warning instead of an error for unknown rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/pull/26113">#26113</a>)</li>
<li>Match <code>noqa</code> shebang handling in <code>ruff:ignore</code> comments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26286">#26286</a>)</li>
<li>[<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26240">#26240</a>, <a href="https://redirect.github.com/astral-sh/ruff/pull/26371">#26371</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add versioning sections to custom crate READMEs (<a href="https://redirect.github.com/astral-sh/ruff/pull/26317">#26317</a>)</li>
<li>Update <code>ruff_python_parser</code> README for crates.io (<a href="https://redirect.github.com/astral-sh/ruff/pull/26315">#26315</a>)</li>
<li>[<code>perflint</code>] Clarify that <code>PERF402</code> applies to any iterable (<a href="https://redirect.github.com/astral-sh/ruff/pull/26242">#26242</a>)</li>
</ul>
<h3>Contributors</h3>
<ul>
<li><a href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
<li><a href="https://github.com/trilamsr"><code>@​trilamsr</code></a></li>
</ul>
<h2>0.15.19</h2>
<p>Released on 2026-06-23.</p>
<h3>Preview features</h3>
<ul>
<li>Support human-readable names when hovering suppression comments and in code actions (<a href="https://redirect.github.com/astral-sh/ruff/pull/26114">#26114</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Fall back to default settings when editor-only settings are invalid (<a href="https://redirect.github.com/astral-sh/ruff/pull/26244">#26244</a>)</li>
<li>Fix panic when inserting text at a notebook cell boundary (<a href="https://redirect.github.com/astral-sh/ruff/pull/26111">#26111</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>pylint</code>] Update fix suggestions for <code>__floor__</code>, <code>__trunc__</code>, <code>__length_hint__</code>, and <code>__matmul__</code> variants (<code>PLC2801</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/26239">#26239</a>)</li>
</ul>
<h3>Performance</h3>
<ul>
<li>Avoid allocating when parsing single string literals (<a href="https://redirect.github.com/astral-sh/ruff/pull/26200">#26200</a>)</li>
<li>Avoid reallocating singleton call arguments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26223">#26223</a>)</li>
<li>Lazily create source files for lint diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/26226">#26226</a>)</li>
<li>Optimize formatter text width and indentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/26236">#26236</a>)</li>
<li>Reserve capacity for builtin bindings (<a href="https://redirect.github.com/astral-sh/ruff/pull/26229">#26229</a>)</li>
<li>Skip repeated-key checks for singleton dictionaries (<a href="https://redirect.github.com/astral-sh/ruff/pull/26228">#26228</a>)</li>
<li>Use ArrayVec for qualified name segments (<a href="https://redirect.github.com/astral-sh/ruff/pull/26224">#26224</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/f82a36b6baf8c0547a17bbde6c0d927ccd45d938"><code>f82a36b</code></a> Bump 0.15.20 (<a href="https://redirect.github.com/astral-sh/ruff/issues/26376">#26376</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/af329438b55d5aa8ca28725f17abbae63b5c815d"><code>af32943</code></a> Improve the summarise-ecosystem-results skill (<a href="https://redirect.github.com/astral-sh/ruff/issues/26378">#26378</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/485ebab5de692aad34720898cd80245b6092ba86"><code>485ebab</code></a> Remove <code>RUF076</code> name from schema (<a href="https://redirect.github.com/astral-sh/ruff/issues/26371">#26371</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/ef81835ce3da615346584dc446de0fe26bfc154b"><code>ef81835</code></a> [ty] Implement rust-analyzer's &quot;Click for full compiler diagnostic&quot; feature (...</li>
<li><a href="https://github.com/astral-sh/ruff/commit/572b31e2377a701a7365f069f6ef87002962cb2b"><code>572b31e</code></a> [<code>ruff</code>] Remove <code>pytest-fixture-autouse</code> (<code>RUF076</code>) (<a href="https://redirect.github.com/astral-sh/ruff/issues/26240">#26240</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/f703f219d7fddd1a4abba9fa81e34773c185a4b9"><code>f703f21</code></a> Allow human-readable names in rule selectors (<a href="https://redirect.github.com/astral-sh/ruff/issues/25887">#25887</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/0d726b28ee35413926145ffef4ac1143cae9ea1e"><code>0d726b2</code></a> [ty] Reuse equality semantics for membership compatibility (<a href="https://redirect.github.com/astral-sh/ruff/issues/25955">#25955</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/dbe6e9848c3f78fdaf543cfc000939ebc73b5f00"><code>dbe6e98</code></a> [ty] Infer definite equality comparison results (<a href="https://redirect.github.com/astral-sh/ruff/issues/26337">#26337</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/e700ea357a2196d76b58eb89b2031ddb5ca896e0"><code>e700ea3</code></a> [ty] Prove TypedDict structural patterns exhaustive (<a href="https://redirect.github.com/astral-sh/ruff/issues/26285">#26285</a>)</li>
<li><a href="https://github.com/astral-sh/ruff/commit/6a0d2ec93959d966430b8c39d4de5c3e8a88e911"><code>6a0d2ec</code></a> [ty] Widen inferred class-valued instance attributes (<a href="https://redirect.github.com/astral-sh/ruff/issues/26338">#26338</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.15.15...0.15.20">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 De...

_Description has been truncated_

Bumps the uv-patch-minor group in /backend with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [fastapi](https://github.com/fastapi/fastapi) | `0.136.3` | `0.139.0` |
| [granian](https://github.com/emmett-framework/granian) | `2.7.5` | `2.7.8` |
| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.31` | `0.0.32` |
| [aiosmtplib](https://github.com/cole/aiosmtplib) | `5.1.1` | `5.1.2` |
| [apscheduler](https://github.com/agronholm/apscheduler) | `3.11.2` | `3.11.3` |
| [icalendar](https://github.com/collective/icalendar) | `7.1.2` | `7.2.0` |
| [slowapi](https://github.com/laurents/slowapi) | `0.1.9` | `0.1.10` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.1` |
| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.410` | `1.1.411` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.15` | `0.15.20` |


Updates `fastapi` from 0.136.3 to 0.139.0
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](fastapi/fastapi@0.136.3...0.139.0)

Updates `granian` from 2.7.5 to 2.7.8
- [Release notes](https://github.com/emmett-framework/granian/releases)
- [Commits](emmett-framework/granian@v2.7.5...v2.7.8)

Updates `python-multipart` from 0.0.31 to 0.0.32
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](Kludex/python-multipart@0.0.31...0.0.32)

Updates `aiosmtplib` from 5.1.1 to 5.1.2
- [Release notes](https://github.com/cole/aiosmtplib/releases)
- [Changelog](https://github.com/cole/aiosmtplib/blob/main/CHANGELOG.rst)
- [Commits](cole/aiosmtplib@v5.1.1...v5.1.2)

Updates `apscheduler` from 3.11.2 to 3.11.3
- [Release notes](https://github.com/agronholm/apscheduler/releases)
- [Commits](agronholm/apscheduler@3.11.2...3.11.3)

Updates `icalendar` from 7.1.2 to 7.2.0
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](collective/icalendar@v7.1.2...v7.2.0)

Updates `slowapi` from 0.1.9 to 0.1.10
- [Release notes](https://github.com/laurents/slowapi/releases)
- [Changelog](https://github.com/laurentS/slowapi/blob/master/CHANGELOG.md)
- [Commits](laurentS/slowapi@v0.1.9...v0.1.10)

Updates `pytest` from 9.0.3 to 9.1.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.3...9.1.1)

Updates `pyright` from 1.1.410 to 1.1.411
- [Release notes](https://github.com/RobertCraigie/pyright-python/releases)
- [Commits](RobertCraigie/pyright-python@v1.1.410...v1.1.411)

Updates `ruff` from 0.15.15 to 0.15.20
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.15...0.15.20)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.139.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv-patch-minor
- dependency-name: granian
  dependency-version: 2.7.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
- dependency-name: python-multipart
  dependency-version: 0.0.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
- dependency-name: aiosmtplib
  dependency-version: 5.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
- dependency-name: apscheduler
  dependency-version: 3.11.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
- dependency-name: icalendar
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv-patch-minor
- dependency-name: slowapi
  dependency-version: 0.1.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv-patch-minor
- dependency-name: pyright
  dependency-version: 1.1.411
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
- dependency-name: ruff
  dependency-version: 0.15.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: uv-patch-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: backend. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jul 1, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) July 1, 2026 19:39
@github-actions
github-actions Bot merged commit 7d5e643 into main Jul 1, 2026
10 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/backend/uv-patch-minor-4c8991cda5 branch July 1, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants