Bump the python-minor-patch group across 1 directory with 28 updates
Bumps the python-minor-patch group with 28 updates in the / directory:
| Package | From | To |
|---|---|---|
| anyio | 4.14.2 | 4.15.1 |
| certifi | 2026.10.19 | 2026.10.23 |
| typing-extensions | 4.15.0 | 4.16.0 |
| pytest | 9.0.3 | 9.1.1 |
| pytest-asyncio | 1.3.0 | 1.4.0 |
| pytest-cov | 7.0.0 | 7.1.0 |
| respx | 0.22.0 | 0.23.1 |
| ruff | 0.14.10 | 0.17.2 |
| python-dotenv | 1.2.2 | 1.2.4 |
| fhirpy | 2.2.0 | 2.3.1 |
| aiohttp | 3.14.4 | 3.14.5 |
| fhir-resources | 8.2.0 | 8.3.0 |
| aiohappyeyeballs | 2.6.2 | 2.7.1 |
| annotated-types | 0.7.0 | 0.8.0 |
| charset-normalizer | 3.4.7 | 3.5.2 |
| coverage | 7.13.1 | 7.16.2 |
| fhir-core | 1.1.8 | 1.1.12 |
| idna | 3.15 | 3.20 |
| iniconfig | 2.3.0 | 2.3.1 |
| librt | 0.7.7 | 0.16.0 |
| pluggy | 1.6.0 | 1.7.0 |
| propcache | 0.5.2 | 0.5.4 |
| pydantic | 2.13.4 | 2.14.1 |
| pydantic-core | 2.46.4 | 2.50.1 |
| pygments | 2.20.0 | 2.21.0 |
| pytz | 2026.2 | 2026.5 |
| tomli | 2.3.0 | 2.5.0 |
| typing-inspection | 0.4.2 | 0.4.4 |
Updates anyio from 4.14.2 to 4.15.1
Release notes
Sourced from anyio's releases.
4.15.1
- Implemented a compatibility fix for supporting direct access of
anyio.*submodules from the main package even when those submodules were not directly imported first (#1311 <agronholm/anyio#1311)4.15.0
Added support for the newer keyword-only arguments on
anyio.Pathmethods to match the standard librarypathlib.Path:
follow_symlinksonexists()(Python 3.12+)follow_symlinksonis_dir()(Python 3.13+)follow_symlinksonis_file()(Python 3.13+)follow_symlinksonowner()(Python 3.13+)follow_symlinksongroup()(Python 3.13+)newlineonread_text()(Python 3.13+)(#1286, #1293; PR by
@jaideeppyne)Added
amap,gather, andas_completedutility functions to simplify common patterns (#1173; PR by@Graeme22)Added
--anyio-modecommand-line option as an alternative to theanyio_modeini setting, and fix the pytest plugin's auto mode detection to recognize the mode when set via either mechanism(e.g:pytest_asyncio). (#1242; PR by@EmmanuelNiyonshuti)Added the
anyio.Futuresynchronization primitive which behaves similar toasyncio.Future, allowing tasks to wait for a value (or exception) from another task (#1146; PR by@Vizonex)Added guidance for managing multiple memory object stream producers and consumers with cloned streams (#330; PR by
@nightcityblade)Added
StapledObjectStream.send_nowait()that delegates to the underlyingObjectSendStream, if it implements it (#1241; PR by@davidbrochart)Added the
move_on_at()andfail_at()functions to complementmove_on_after()andfail_after()Changed the default name for a task spawned with
TaskGroup.create_task(func())to match the default task name for the analogous task spawned withTaskGroup.start_soon(func)orTaskGroup.start(func)in more situations. Previously, the default name of aTaskGroup.create_tasktask never included the module name. (The default name for a task spawned withTaskGroup.start_soonorTaskGroup.starttypically includes the module name.) (#1234; PR by@gschaffner)Changed the
anyioandanyio.abcmodules to lazily (much like810) import the necessary submodules. This is done by parsing the AST of the module and building a lookup table from theif TYPE_CHECKING:block. A fallback mode has been provided for installations where the source code is unavailable (e.g. PyInstaller). (#1169)Fixed free-threading compatibility issues arising from the fact that on Python 3.14 free-threading builds, newly created threads inherit the current context by default, causing AnyIO to behave erroneously in relation to
start_blocking_portal()andanyio.to_thread.run_sync()(#1224; PR by@EmmanuelNiyonshuti)Fixed
SpooledTemporaryFile.readinto()andreadinto1()reading twice before rollover, so the destination buffer was overwritten by the second read and the file position advanced twice, silently losing data (#1215; PR by@c-tonneslan)Added a
reasonparameter tofail_after(and the newfail_at) allowing for added exception context when raisingTimeoutError(#1227; PR by@Graeme22)Fixed the default
TaskHandle.namemissing part of the task name for tasks started withTaskGroup.starton Trio (#1231; PR by@gschaffner)Fixed
anyio.runleaking, or at least, delaying collection of loop and root_task due to the root task being cached in aRunVar. (#1203; PR by@tapetersen)Fixed
anyio.Path.with_stem()silently producing a wrong path (e.g.Path(".txt")) instead of raisingValueErrorwhen given an empty stem on a path with a non-empty suffix, unlikepathlib.PurePath.with_stem(#1200; PR by@Sanjays2402)Fixed
UNIXSocketStream.aclose()raisingasyncio.InvalidStateErrorwhen a concurrent receive or send operation had just been cancelled on the asyncio backend (#1267; PR by@alloutflo)Fixed the pytest plugin importing the deprecated
_pytest.python.CallSpec2alias, which triggersPytestRemovedIn10Warningonpytest>=9.2and crashes pytest at startup whenfilterwarnings = erroris configured (#1271; PR by@matthewfeickert)Fixed an asyncio worker thread race that could raise
RuntimeErrorwhen the event loop closed between checking its state and scheduling the worker result (#1265; PR by@hansu650)Fixed
CapacityLimiteron the asyncio backend over-granting tokens whentotal_tokenswas raised while the limiter was over-subscribed (#1223; PR by@zelinewang)
... (truncated)
Commits
ffcd154Bumped up the version0ecf5edAdded a workaround for third party code accessing unimported submodules (#1309)9283662Bumped up the versiond137692Improved the instructions for AI agents033fc52Shield TemporaryDirectory cleanup from cancellation (#1304)942e9a6[pre-commit.ci] pre-commit autoupdate (#1305)b825c3bFixed pyproject.toml changes not triggering the test suite9727dc5Fixed start inconsistencies between trio and asyncio (#1198)b05fe6dFixed wrong type in move_on_after (#1297)44d0c93Fixed asyncio task group coroutine cleanup (#1275)- Additional commits viewable in compare view
Updates certifi from 2026.10.19 to 2026.10.23
Commits
b60466c2026.10.23 (#445)- See full diff in compare view
Updates typing-extensions from 4.15.0 to 4.16.0
Release notes
Sourced from typing-extensions's releases.
4.16.0
No changes since 4.16.0rc2.
Changes since 4.15.0:
- Make
typing_extensions.TypeAliasType's__module__attribute writable. Backport of CPython PR #149172.- Fix setting of
__required_keys__and__optional_keys__when inheriting keys with the same name.- Add support for
AsyncIterator,io.Reader,io.Writerandos.PathLikeprotocols as bases for other protocols.- Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant that calling
isinstancewithtyping_extensions.Concatenate[...]ortyping_extensions.Unpack[...]as the first argument could have a different result in some situations depending on whether or not a profiling function had been set usingsys.setprofile. This affected both CPython and PyPy implementations. Patch by Brian Schubert.- Fix
__init_subclass__()behavior in the presence of multiple inheritance involving an@deprecated-decorated base class. Backport of CPython PR #138210 by Brian Schubert.- Raise
TypeErrorwhen attempting to subclasstyping_extensions.ParamSpecon Python 3.9. Thetypingimplementation has always raised an error, and thetyping_extensionsimplementation has raised an error on Python 3.10+ sincetyping_extensionsv4.6.0. Patch by Brian Schubert.- Add the
bound,covariant,contravariant, andinfer_varianceparameters toTypeVarTuple.- Officially support the
bound,covariant,contravariantandinfer_varianceparameters toParamSpec. Improve the validation of these parameters at runtime.- Rename
typing_extensions.Sentineltotyping_extensions.sentinel, following the name that has been adopted forbuiltins.sentinelon Python 3.15.typing_extensions.Sentinelis retained as a soft-deprecated alias for backwards compatibility.- Add support for pickling sentinels.
- Sentinels now preserve their identity when copied or deep-copied.
- Deprecate passing
nameas a keyword argument orrepras a positional argument to thesentinelconstructor.- The default repr of a sentinel
X = sentinel("X")is nowXrather than<X>.- Deprecate arbitrary attribute assignments to sentinels.
- Deprecate subclassing sentinels.
- Add support for Python 3.15.
- Avoid a
DeprecationWarningwhendeprecatedis applied to a coroutine function on Python 3.14.0.4.16.0rc2
Changes since 4.16.0rc1:
- Avoid a
DeprecationWarningwhendeprecatedis applied to a coroutine function on Python 3.14.0.Changes since 4.15.0:
- Make
typing_extensions.TypeAliasType's__module__attribute writable. Backport of CPython PR #149172.- Fix setting of
__required_keys__and__optional_keys__when inheriting keys with the same name.- Add support for
AsyncIterator,io.Reader,io.Writerandos.PathLikeprotocols as bases for other protocols.- Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant that calling
isinstancewithtyping_extensions.Concatenate[...]ortyping_extensions.Unpack[...]as the first argument could have a different result in some situations depending on whether or not a profiling function had been set usingsys.setprofile. This affected both CPython and PyPy implementations. Patch by Brian Schubert.- Fix
__init_subclass__()behavior in the presence of multiple inheritance involving an@deprecated-decorated base class. Backport of CPython PR #138210 by Brian Schubert.- Raise
TypeErrorwhen attempting to subclasstyping_extensions.ParamSpecon Python 3.9. Thetypingimplementation has always raised an error, and thetyping_extensionsimplementation has raised an error on Python 3.10+ sincetyping_extensionsv4.6.0. Patch by Brian Schubert.- Add the
bound,covariant,contravariant, andinfer_varianceparameters toTypeVarTuple.- Officially support the
bound,covariant,contravariantandinfer_varianceparameters toParamSpec. Improve the validation of these parameters at runtime.- Rename
typing_extensions.Sentineltotyping_extensions.sentinel, following the name that has been adopted forbuiltins.sentinelon Python 3.15.typing_extensions.Sentinelis retained as a soft-deprecated alias for backwards compatibility.- Add support for pickling sentinels.
- Sentinels now preserve their identity when copied or deep-copied.
- Deprecate passing
nameas a keyword argument orrepras a positional argument to thesentinelconstructor.- The default repr of a sentinel
X = sentinel("X")is nowXrather than<X>.- Deprecate arbitrary attribute assignments to sentinels.
- Deprecate subclassing sentinels.
- Add support for Python 3.15.
4.16.0rc1
- Make
typing_extensions.TypeAliasType's__module__attribute writable. Backport of CPython PR #149172.- Fix setting of
__required_keys__and__optional_keys__when inheriting keys with the same name.
... (truncated)
Changelog
Sourced from typing-extensions's changelog.
Release 4.16.0 (July 2, 2026)
No user-facing changes since 4.16.0rc2.
Release 4.16.0rc2 (June 25, 2026)
- Avoid a
DeprecationWarningwhendeprecatedis applied to a coroutine function on Python 3.14.0.Release 4.16.0rc1 (June 24, 2026)
- Make
typing_extensions.TypeAliasType's__module__attribute writable. Backport of CPython PR #149172.- Fix setting of
__required_keys__and__optional_keys__when inheriting keys with the same name.- Add support for
AsyncIterator,io.Reader,io.Writerandos.PathLikeprotocols as bases for other protocols.- Fix incorrect behaviour on Python 3.9 and Python 3.10 that meant that calling
isinstancewithtyping_extensions.Concatenate[...]ortyping_extensions.Unpack[...]as the first argument could have a different result in some situations depending on whether or not a profiling function had been set usingsys.setprofile. This affected both CPython and PyPy implementations. Patch by Brian Schubert.- Fix
__init_subclass__()behavior in the presence of multiple inheritance involving an@deprecated-decorated base class. Backport of CPython PR #138210 by Brian Schubert.- Raise
TypeErrorwhen attempting to subclasstyping_extensions.ParamSpecon Python 3.9. Thetypingimplementation has always raised an error, and thetyping_extensionsimplementation has raised an error on Python 3.10+ sincetyping_extensionsv4.6.0. Patch by Brian Schubert.- Add the
bound,covariant,contravariant, andinfer_varianceparameters toTypeVarTuple.- Officially support the
bound,covariant,contravariantandinfer_varianceparameters toParamSpec. Improve the validation of these parameters at runtime.- Rename
typing_extensions.Sentineltotyping_extensions.sentinel, following the name that has been adopted forbuiltins.sentinelon Python 3.15.typing_extensions.Sentinelis retained as a soft-deprecated alias for backwards compatibility.- Add support for pickling sentinels.
- Sentinels now preserve their identity when copied or deep-copied.
- Deprecate passing
nameas a keyword argument orrepras a positional argument to thesentinelconstructor.- The default repr of a sentinel
X = sentinel("X")is nowXrather than<X>.- Deprecate arbitrary attribute assignments to sentinels.
- Deprecate subclassing sentinels.
- Add support for Python 3.15.
Commits
f29cd28Prepare relase 4.16.0 (#774)4317461Bump version to 4.16.0rc2.dev (#772)4f71098Prepare release 4.16.0rc2 (#771)37ed08aRemove use ofasyncio.coroutines.iscoroutinefunction()(#769)8dcc559ImproveTypedDictdocumentation (#770)224f8d5Post-release followups for 3.16.0rc1 (#767)777de3ePrepare release 4.16.0rc1 (#766)890be90Type variable tuple variance (#741)0e05458Pin SQLAlchemy third-party tests to pytest==9.0.3 (#765)d277746docs: add version compatibility table (#733)- Additional commits viewable in compare view
Updates pytest from 9.0.3 to 9.1.1
Release notes
Sourced from pytest's releases.
9.1.1
pytest 9.1.1 (2026-06-19)
Bug fixes
- #14220: Fixed a logic bug in
pytest.RaisesGroupwhich would might cause it to display incorrect "It matches FooError() which was paired with BarError" messages.- #14591: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect
@pytest.mark.parametrize to fail with "duplicate parametrization of '<fixture name>'".- #14606: Fixed
list-itemtyping errors from mypy in@pytest.mark.parametrize <pytest.mark.parametrize ref>argvaluesparameter.- #14608: Fixed a regression in pytest 9.1.0 where
conftest.pyfiles located in<invocation dir>/test*were no longer loaded as initial conftests when invoked without arguments. This could cause certain hooks (likepytest_addoption) in these files to not fire.9.1.0
pytest 9.1.0 (2026-06-13)
Removals and backward incompatible breaking changes
#14533: When using
--doctest-modules, autouse fixtures withmodule,packageorsessionscope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.If this is undesirable, move the fixture definition to a
conftest.pyfile if possible.Technical explanation for those interested: When using --doctest-modules, pytest possibly collects Python modules twice, once as
pytest.Moduleand once as aDoctestModule(depending on the configuration). Due to improvements in pytest's fixture implementation, if e.g. theDoctestModulecollects a fixture, it is now visible to it only, and not to theModule. This means that both need to register the fixtures independently.Deprecations (removal in next major release)
#10819: Added a deprecation warning for class-scoped fixtures defined as instance methods (without
@classmethod). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use@classmethoddecorator instead -- byyastcher.See
10819and14011.#12882: Calling
request.getfixturevalue() <pytest.FixtureRequest.getfixturevalue>during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.See
dynamic-fixture-request-during-teardownfor details.#13409: Using non-
~collections.abc.Collectioniterables (such as generators, iterators, or custom iterable objects) for theargvaluesparameter in@pytest.mark.parametrize <pytest.mark.parametrize ref>andmetafunc.parametrize <pytest.Metafunc.parametrize>is now deprecated.These iterables get exhausted after the first iteration, leading to tests getting unexpectedly skipped in cases such as running
pytest.main()multiple times, using class-level parametrize decorators, or collecting tests multiple times.See
parametrize-iteratorsfor details and suggestions.#13946: The private
config.inicfgattribute is now deprecated. Useconfig.getini() <pytest.Config.getini>to access configuration values instead.See
config-inicfgfor more details.#14004: Passing
baseidto~pytest.FixtureDefornodeidstrings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.
... (truncated)
Commits
cf470ecPrepare release version 9.1.1e0c8ce6Merge pull request #14625 from pytest-dev/patchback/backports/9.1.x/a07c31a97...1b82d16Merge pull request #14624 from pytest-dev/patchback/backports/9.1.x/b375b79ec...501c4bcMerge pull request #14596 from bluetech/doc-classmethodb61f588Merge pull request #14622 from chrisburr/fix-14608-initial-conftest-test-subdir9a567e0[automated] Update plugin list (#14617) (#14618)ef8b299Merge pull request #14620 from pytest-dev/patchback/backports/9.1.x/680f9f3ed...66abd07Merge pull request #14220 from bysiber/fix-stale-iexp-raisesgroup79fbf93Merge pull request #14612 from pytest-dev/patchback/backports/9.1.x/974ed48b6...0d312ebMerge pull request #14611 from bluetech/parametrize-argvalues-typing- Additional commits viewable in compare view
Updates pytest-asyncio from 1.3.0 to 1.4.0
Release notes
Sourced from pytest-asyncio's releases.
pytest-asyncio v1.4.0
1.4.0 - 2026-05-26
Deprecated
- Overriding the event_loop_policy fixture is deprecated. Use the
pytest_asyncio_loop_factorieshook instead. (#1419)Added
Added the
pytest_asyncio_loop_factorieshook to parametrize asyncio tests with custom event loop factories.The hook returns a mapping of factory names to loop factories, and
pytest.mark.asyncio(loop_factories=[...])selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.Synchronous
@pytest_asyncio.fixturefunctions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., viaasyncio.run()orasyncio.set_event_loop(None)). (#1164)Changed
- Improved the readability of the warning message that is displayed when
asyncio_default_fixture_loop_scopeis unset (#1298)- Only import
asyncio.AbstractEventLoopPolicyfor type checking to avoid raising a DeprecationWarning. (#1394)- Updated minimum supported pytest version to v8.4.0. (#1397)
Fixed
- Fixed a
ResourceWarning: unclosed event loopwarning that could occur when a synchronous test calledasyncio.run()or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (#724)Notes for Downstream Packagers
- Added dependency on
sphinx-tabs >= 3.5to organize documentation examples into tabs. (#1395)pytest-asyncio v1.4.0a2
1.4.0a2 - 2026-05-02
Deprecated
- Overriding the event_loop_policy fixture is deprecated. Use the
pytest_asyncio_loop_factorieshook instead. (#1419)Added
Added the
pytest_asyncio_loop_factorieshook to parametrize asyncio tests with custom event loop factories.The hook returns a mapping of factory names to loop factories, and
pytest.mark.asyncio(loop_factories=[...])selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.Synchronous
@pytest_asyncio.fixturefunctions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., viaasyncio.run()orasyncio.set_event_loop(None)). (#1164)Changed
... (truncated)
Commits
6e14cd2chore: Prepare release of v1.4.0.4b900fbBuild(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1ab9f632Build(deps): Bump zipp from 3.23.1 to 4.1.0a56fc77Build(deps): Bump hypothesis from 6.152.6 to 6.152.8e8bae9bBuild(deps): Bump requests from 2.34.0 to 2.34.2fc43340Build(deps): Bump idna from 3.14 to 3.15762eaf5Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0b62e222Build(deps): Bump click from 8.3.3 to 8.4.09190447Build(deps): Bump pydantic from 2.13.3 to 2.13.482a393cci: Remove unnecessary debug output.- Additional commits viewable in compare view
Updates pytest-cov from 7.0.0 to 7.1.0
Changelog
Sourced from pytest-cov's changelog.
7.1.0 (2026-03-21)
Fixed total coverage computation to always be consistent, regardless of reporting settings. Previously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on reporting options. See
[#641](https://github.com/pytest-dev/pytest-cov/issues/641) <https://github.com/pytest-dev/pytest-cov/issues/641>_.Improve handling of ResourceWarning from sqlite3.
The plugin adds warning filter for sqlite3
ResourceWarningunclosed database (since 6.2.0). It checks if there is already existing plugin for this message by comparing filter regular expression. When filter is specified on command line the message is escaped and does not match an expected message. A check for an escaped regular expression is added to handle this case.With this fix one can suppress
ResourceWarningfrom sqlite3 from command line::pytest -W "ignore:unclosed database in <sqlite3.Connection object at:ResourceWarning" ...
Various improvements to documentation. Contributed by Art Pelling in
[#718](https://github.com/pytest-dev/pytest-cov/issues/718) <https://github.com/pytest-dev/pytest-cov/pull/718>_ and "vivodi" in[#738](https://github.com/pytest-dev/pytest-cov/issues/738) <https://github.com/pytest-dev/pytest-cov/pull/738>. Also closed[#736](https://github.com/pytest-dev/pytest-cov/issues/736) <https://github.com/pytest-dev/pytest-cov/issues/736>.Fixed some assertions in tests. Contributed by in Markéta Machová in
[#722](https://github.com/pytest-dev/pytest-cov/issues/722) <https://github.com/pytest-dev/pytest-cov/pull/722>_.Removed unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).
Commits
66c8a52Bump version: 7.0.0 → 7.1.0f707662Make the examples use pypy 3.11.6049a78Make context test use the old ctracer (seems the new sysmon tracer behaves di...8ebf20bUpdate changelog.861d30eRemove the backup context manager - shouldn't be needed since coverage 5.0, ...fd4c956Pass the precision on the nulled total (seems that there's some caching goion...78c9c4eOnly run the 3.9 on older deps.4849a92Punctuation.197c35eUpdate changelog and hopefully I don't forget to publish release again :))14dc1c9Update examples to use 3.11 and make the adhoc layout example look a bit more...- Additional commits viewable in compare view
Updates respx from 0.22.0 to 0.23.1
Release notes
Sourced from respx's releases.
Version 0.23.1
0.23.1 (8th April 2026)
Fixed
- Fix regression causing
paramspattern to stop working under some conditions, by doing a strict detection ofANYin multi items patterns (#313)CI
- Update workflows actions (#310)
Version 0.23.0
0.23.0 (7th April 2026)
Fixed
- Fix
datapattern with list value (#264)- Fix and enhance incorrect documentations about iterable side effects (#287)
- Fix documentation typo, thanks
@markhobson(#298)- Fix support for multiple slashes
//in URL path by not usingurljoinwhen prepending path, thanks@lewiscollardand@Skeen(#302)- Type Route.respond json as
Anyto align with HTTPX, thanks@JacobHayes(#284)- Properly handle
ANYinMuitiItemspatterns (#289)CI
- Fix test warnings (#267)
- Add Python 3.14 to test matrix, thanks
@carlosdorneles-mb(#300)- Update nix flake, mypy target and workflows (#306, #282)
Changelog
Sourced from respx's changelog.
[0.23.1] - 2026-04-08
Fixed
- Fix regression causing
paramspattern to stop working under some conditions, by doing a strict detection ofANYin multi items patterns (#313)CI
- Update workflows actions (#310)
[0.23.0] - 2026-04-07
Fixed
- Fix
datapattern with list value (#264)- Fix and enhance incorrect documentations about iterable side effects (#287)
- Fix documentation typo, thanks
@markhobson(#298)- Fix support for multiple slashes
//in URL path by not usingurljoinwhen prepending path, thanks@lewiscollardand@Skeen(#302)- Type Route.respond json as
Anyto align with HTTPX, thanks@JacobHayes(#284)- Properly handle
ANYinMuitiItemspatterns (#289)CI
- Fix test warnings (#267)
- Add Python 3.14 to test matrix, thanks
@carlosdorneles-mb(#300)- Update nix flake, mypy target and workflows (#306, #282)
Commits
fc8b43bRelease0.23.11da5d2fStrict detection ofANYin multi items patterns (#313)6f1bf70Bump checkout and python actions (#310)62aaeabRelease0.23.0d8edf3dAdjust badgesb3a193dAdd downloads badge to docs9961e9bHandle multiple routes usingMuitiItemspattern withANY(#289)e51c2a6Update Route.respond json type hint to Any to match HTTPX (#284)a499260Bump less-action/reusables from 8 to 10 (#282)7b44b51Update nix flake and mypy target (#306)- Additional commits viewable in compare view
Updates ruff from 0.14.10 to 0.17.2
Release notes
Sourced from ruff's releases.
0.17.2
Release Notes
Released on 2026-10-22.
Preview features
- [
complexity] Addunnecessary-regular-expression-compile(#25533)Bug fixes
- Avoid syntax errors for type variables with starred constraints (
UP040,UP046,UP047,RUF053) (#28362)- [
pydocstyle] Treat backslash-escaped*argsand**kwargsas documented (D417) (#29536)- [
pylint] Avoid false positive on starred elements (PLE0643) (#29483)- [
pylint] Mark fixes unsafe when deleting comments (PLR5501,PLW0120) (#29414)- [
pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)Performance
- Avoid intermediate names in lint name resolution (#29506)
- Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
- Share postfix parsing and reduce expression copies (#29480)
Configuration
- [
pylint] Add a configurable allowlist formagic-value-comparison(PLR2004) (#18961)Documentation
- Clarify documentation and correct stale guidance (#29374)
- [
pyupgrade] Remove mentions of variance related to fix safety (UP040,UP047) (#29592)Contributors
@fixfon@MichaReiser@zaniebot@FrancescoPezzella@anishgirianish@rajveer3x@charliermarsh@LckyLike@DaniBodorInstall ruff 0.17.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.2/ruff-installer.sh | sh </tr></table>
... (truncated)
Changelog
Sourced from ruff's changelog.
0.17.2
Released on 2026-10-22.
Preview features
- [
complexity] Addunnecessary-regular-expression-compile(#25533)Bug fixes
- Avoid syntax errors for type variables with starred constraints (
UP040,UP046,UP047,RUF053) (#28362)- [
pydocstyle] Treat backslash-escaped*argsand**kwargsas documented (D417) (#29536)- [
pylint] Avoid false positive on starred elements (PLE0643) (#29483)- [
pylint] Mark fixes unsafe when deleting comments (PLR5501,PLW0120) (#29414)- [
pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)Performance
- Avoid intermediate names in lint name resolution (#29506)
- Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
- Share postfix parsing and reduce expression copies (#29480)
Configuration
- [
pylint] Add a configurable allowlist formagic-value-comparison(PLR2004) (#18961)Documentation
- Clarify documentation and correct stale guidance (#29374)
- [
pyupgrade] Remove mentions of variance related to fix safety (UP040,UP047) (#29592)Contributors
@fixfon@MichaReiser@zaniebot@FrancescoPezzella@anishgirianish@rajveer3x@charliermarsh@LckyLike@DaniBodor0.17.1
Released on 2026-10-15.
Preview features
- [
pycodestyle] Don't treatNone,True, orFalseas keywords (E271-E274) (#29322)
... (truncated)
Commits
30516b4Bump version to 0.17.2 (#29637)59a9e85[ty] Generalize nested types in inferred return types (#29488)0d562aa[ty] Check inherited attribute conflicts (#28559)48dcdd0[ty] Restrict range implications from gradual equivalence (#29577)734d75a[ty] Check for unsatisfiable bodies before existentially quantifying (#29504)b0f9526[ty] Preserve checks for recursive descriptor setter types (#29148)32869b4Avoid creating deployments for automation jobs (#29626)ec891baLink the commit in pull request report footers (#29621)8958748[ty] Publish ecosystem reports from GitHub Actions (#29609)01f5394[ty] Publish typing conformance reports from GitHub Actions (#29608)- Additional commits viewable in compare view
Updates python-dotenv from 1.2.2 to 1.2.4
Release notes
Sourced from python-dotenv's releases.
v1.2.4
Fixed
dotenv getno longer exits with code 1 for empty string values (KEY=) by [@ShamikOfficial] in #700- An unquoted empty value followed by an inline comment (e.g.
KEY= # comment) is now parsed as an empty string instead of the comment text by [@Noethix55555] in #663dotenv run --no-overridenow expands variable references with the same precedence asload_dotenv(override=False), so a value like${BASE}/suffixuses the existingBASEfrom the environment instead of the one from the.envfile by [@ROTl24] in #698v1.2.3
Fixed
- Strip a leading UTF-8 BOM from
.envfile 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 [@h1whelan] in #640set_keynow 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 [@dchaudhari7177] in #680dotenv runnow prints a friendly error instead of a traceback when no command is given by [@bbc2] in #606- Cache the parsed result for empty
.envfiles so repeateddotenv_values/load_dotenvcalls no longer re-read the file by [@ReinerBRO] in #638
Changelog
Sourced from python-dotenv's changelog.
[1.2.4] - 2026-10-01
Fixed
dotenv getno longer exits with code 1 for empty string...Description has been truncated
Summary by cubic
Bumps 28 Python dependencies in the
python-minor-patchgroup, updating onlyuv.lockwith no source code changes.Review notes
pytest9.1 deprecates class-scoped instance-method fixtures and non-collection iterables inparametrize, and changes autouse fixture behavior under--doctest-modules.pytest-asyncio1.4.0 deprecates overriding theevent_loop_policyfixture.ruffjumps from 0.14 to 0.17, which may surface new lint rules or behavior changes onmake lint.