Fix an issue when inner types of a discriminated union with a callable discriminator were not correctly identified as complex. by @jenskeiner in pydantic/pydantic-settings#285
Performance improvements for combining data files, especially when measuring
line coverage. A few different quadratic behaviors were eliminated. In one
extreme case of combining 700+ data files, the time dropped from more than
three hours to seven minutes. Thanks for Kraken Tech for funding the fix.
Performance improvements for generating HTML reports, with a side benefit of
reducing memory use, closing issue 1791_. Thanks to Daniel Diniz for
helping to diagnose the problem.
Fix: nested matches of exclude patterns could exclude too much code, as
reported in issue 1779_. This is now fixed.
Changed: previously, coverage.py would consider a module docstring to be an
executable statement if it appeared after line 1 in the file, but not
executable if it was the first line. Now module docstrings are never counted
as executable statements. This can change coverage.py's count of the number
of statements in a file, which can slightly change the coverage percentage
reported.
In the HTML report, the filter term and "hide covered" checkbox settings are
remembered between viewings, thanks to Daniel Diniz <pull 1776_>_.
Python 3.13.0b1 is supported.
Fix: parsing error handling is improved to ensure bizarre source files are
handled gracefully, and to unblock oss-fuzz fuzzing, thanks to Liam DeVoe <pull 1788_>. Closes issue 1787.
#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.
Trivial/Internal Changes
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
Added the BlockingPortalProvider class to aid with constructing synchronous counterparts to asynchronous interfaces that would otherwise require multiple blocking portals
Added __slots__ to AsyncResource so that child classes can use __slots__ (#733; PR by Justin Su)
Added the TaskInfo.has_pending_cancellation() method
Fixed erroneous RuntimeError: called 'started' twice on the same task status when cancelling a task in a TaskGroup created with the start() method before the first checkpoint is reached after calling task_status.started() (#706; PR by Dominik Schwabe)
Fixed two bugs with TaskGroup.start() on asyncio:
Fixed erroneous RuntimeError: called 'started' twice on the same task status when cancelling a task in a TaskGroup created with the start() method before the first checkpoint is reached after calling task_status.started() (#706; PR by Dominik Schwabe)
Fixed the entire task group being cancelled if a TaskGroup.start() call gets cancelled (#685, #710)
Fixed a race condition that caused crashes when multiple event loops of the same backend were running in separate threads and simultaneously attempted to use AnyIO for their first time (#425; PR by David Jiricek and Ganden Schaffner)
Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's cancellation counter when cascading a cancel operation to a child scope, thus failing to uncancel the host task (#716)
Fixed erroneous TypedAttributeLookupError if a typed attribute getter raises KeyError
Fixed the asyncio backend not respecting the PYTHONASYNCIODEBUG environment variable when setting the debug flag in anyio.run()
Fixed SocketStream.receive() not detecting EOF on asyncio if there is also data in the read buffer (#701)
Fixed MemoryObjectStream dropping an item if the item is delivered to a recipient that is waiting to receive an item but has a cancellation pending (#728)
Emit a ResourceWarning for MemoryObjectReceiveStream and MemoryObjectSendStream that were garbage collected without being closed (PR by Andrey Kazantcev)
Fixed MemoryObjectSendStream.send() not raising BrokenResourceError when the last corresponding MemoryObjectReceiveStream is closed while waiting to send a falsey item (#731; PR by Ganden Schaffner)
This library adheres to Semantic Versioning 2.0 <http://semver.org/>_.
UNRELEASED
Added support for the from_uri(), full_match(), parser methods/properties
in anyio.Path, newly added in Python 3.13
4.4.0
Added the BlockingPortalProvider class to aid with constructing synchronous
counterparts to asynchronous interfaces that would otherwise require multiple blocking
portals
Added __slots__ to AsyncResource so that child classes can use __slots__
([#733](https://github.com/agronholm/anyio/issues/733) <https://github.com/agronholm/anyio/pull/733>_; PR by Justin Su)
Added the TaskInfo.has_pending_cancellation() method
Fixed erroneous RuntimeError: called 'started' twice on the same task status
when cancelling a task in a TaskGroup created with the start() method before
the first checkpoint is reached after calling task_status.started()
([#706](https://github.com/agronholm/anyio/issues/706) <https://github.com/agronholm/anyio/issues/706>_; PR by Dominik Schwabe)
Fixed two bugs with TaskGroup.start() on asyncio:
Fixed erroneous RuntimeError: called 'started' twice on the same task status
when cancelling a task in a TaskGroup created with the start() method before
the first checkpoint is reached after calling task_status.started()
([#706](https://github.com/agronholm/anyio/issues/706) <https://github.com/agronholm/anyio/issues/706>_; PR by Dominik Schwabe)
Fixed the entire task group being cancelled if a TaskGroup.start() call gets
cancelled ([#685](https://github.com/agronholm/anyio/issues/685) <https://github.com/agronholm/anyio/issues/685>,
[#710](https://github.com/agronholm/anyio/issues/710) <https://github.com/agronholm/anyio/issues/710>)
Fixed a race condition that caused crashes when multiple event loops of the same
backend were running in separate threads and simultaneously attempted to use AnyIO for
their first time ([#425](https://github.com/agronholm/anyio/issues/425) <https://github.com/agronholm/anyio/issues/425>_; PR by David
Jiricek and Ganden Schaffner)
Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's
cancellation counter when cascading a cancel operation to a child scope, thus failing
to uncancel the host task ([#716](https://github.com/agronholm/anyio/issues/716) <https://github.com/agronholm/anyio/issues/716>_)
Fixed erroneous TypedAttributeLookupError if a typed attribute getter raises
KeyError
Fixed the asyncio backend not respecting the PYTHONASYNCIODEBUG environment
variable when setting the debug flag in anyio.run()
Fixed SocketStream.receive() not detecting EOF on asyncio if there is also data in
the read buffer ([#701](https://github.com/agronholm/anyio/issues/701) <https://github.com/agronholm/anyio/issues/701>_)
Fixed MemoryObjectStream dropping an item if the item is delivered to a recipient
that is waiting to receive an item but has a cancellation pending
([#728](https://github.com/agronholm/anyio/issues/728) <https://github.com/agronholm/anyio/issues/728>_)
Emit a ResourceWarning for MemoryObjectReceiveStream and
MemoryObjectSendStream that were garbage collected without being closed (PR by
Andrey Kazantcev)
Bumps the all-dependencies group with 21 updates in the / directory:
2.7.1
2.7.3
2.2.1
2.3.0
7.5.1
7.5.3
1.5.0
1.5.1
3.7.0
3.7.1
8.2.0
8.2.1
0.4.3
0.4.7
0.29.0
0.30.1
0.6.0
0.7.0
4.3.0
4.4.0
2024.2.2
2024.6.2
0.0.2
0.0.4
1.3.3
1.3.5
1.8.0
1.9.0
4.2.1
4.2.2
69.5.1
70.0.0
4.11.0
4.12.1
5.9.0
5.10.0
20.26.1
20.26.2
0.21.0
0.22.0
6.3
6.4.post2
Updates
pydantic
from 2.7.1 to 2.7.3Release notes
Sourced from pydantic's releases.
Changelog
Sourced from pydantic's changelog.
Commits
9f48fc2
prep for 2.7.3 release (#9551)1f8c7d7
Bumppydantic-core
tov2.18.4
(#9550)70ac7a0
fix version08d6ed2
Merge branch '2.7' of https://github.com/pydantic/pydantic into 2.742f544a
fix versiona20da21
2.7.2 prep (#9515)f42ae9b
Logfire annoucement (#9362)451f780
Replace__spec__.parent
with__package__
(#9331)Updates
pydantic-settings
from 2.2.1 to 2.3.0Release notes
Sourced from pydantic-settings's releases.
Commits
bcbfd17
Prepare release 2.3.0 (#297)4169814
Add CLI Settings Source (#214)e066774
Fix a bug when we have case insentive field in nested model (#294)6d25cee
Fixtest_nested_env_delimiter_aliases
to useBaseModel
in sub model (#286)8c5a45e
Fix an issue when inner types of a discriminated union with a callable discri...09d1009
Add python versions and downloads badges to readme (#283)1ffbd95
fix: a second level of environment nesting expected a dict (#281)2d2f94f
fix: superfluous deep env conflicts with non-dict model leaf (#276)a4aadfd
Use macos-13 for Python 3.8 and 3.9 (#280)a7b0978
Update dependancies (#274)Updates
coverage
from 7.5.1 to 7.5.3Changelog
Sourced from coverage's changelog.
Commits
f310d7e
docs: sample HTML for 7.5.3a51d52f
docs: prep for 7.5.3b666f3a
perf: it's faster in all versions if we don't cache tokenize #1791a2b4929
docs: changelog entry forcombine
performance improvementsb9aff50
perf: don't read full line_bits table each timec45ebac
perf: cache alias mapping390cb97
perf: avoid quadratic behavior when combining line coveraged3caf53
docs(build): tweaks to howto909e887
build: bump version242adea
build: don't claim pre-alpha-1 in classifiersUpdates
freezegun
from 1.5.0 to 1.5.1Changelog
Sourced from freezegun's changelog.
Commits
3f9fac4
Increase version numbere0f2c3c
CHANGELOG for 1.5.1ea054a3
Merge pull request #546 from robsdedude/patch-1df263dc
Extend type checkingaecc78a
Keepnumbers
for runtime type checks, usefloat
for type hints023c7a3
Revert runtime type-check tonumbers.Real
be779f4
Add test for manually ticking StepTickTimeFactoryd2872d0
Fix instance checksc963608
Fixtick
delta type handlingUpdates
pre-commit
from 3.7.0 to 3.7.1Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
Commits
9ee0768
v3.7.1eeac061
Merge pull request #3201 from pre-commit/rust-default-language-version296f592
determine rust default language version independent of rust-toolchain.toml1602328
Merge pull request #3193 from pre-commit/pre-commit-ci-update-config0142f45
[pre-commit.ci] pre-commit autoupdated7e21cd
Merge pull request #3194 from pre-commit/handle-readonly-3-125c3d006
use a simpler gem for testing additional_dependencies0d4c6da
adjust _handle_readonly for typeshed updates85fe182
Merge pull request #3176 from pre-commit/pre-commit-ci-update-config74d05b4
[pre-commit.ci] pre-commit autoupdateUpdates
pytest
from 8.2.0 to 8.2.1Release notes
Sourced from pytest's releases.
Commits
66ff8df
Prepare release version 8.2.13ffcfd1
Merge pull request #12340 from pytest-dev/backport-12334-to-8.2.x0b28313
[8.2.x] Add Python 3.13 (beta) supportf3dd93a
[8.2.x] Attest package provenance (#12335)bb5a125
[8.2.x] Spelling (#12331)f179bf2
Merge pull request #12327 from pytest-dev/backport-12325-to-8.2.x2b671b5
[8.2.x] cacheprovider: fix.pytest_cache
not being world-readable65ab7cb
Merge pull request #12324 from pytest-dev/backport-12320-to-8.2.x4d5fb7d
Merge pull request #12319 from pytest-dev/backport-12311-to-8.2.xcbe5996
[8.2.x] changelog: document unittest 8.2 change as breakingUpdates
ruff
from 0.4.3 to 0.4.7Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
1ad5f9c
Bump version to v0.4.7 (#11646)e914bc3
F401 sort bindings before adding to all (#11648)27f6f04
[red-knot] initial (very incomplete) flow graph (#11624)d62a617
red-knot: Don't refer toModule
instances as IDs (#11649)16a926d
[red-knot] infer int literal types (#11623)05566c6
UpdateWho's Using Ruff?
section to includeGodot
(#11647)7ce17b7
Add Vim and Kate setup guide forruff server
(#11615)f9a6450
Use char index rather than position for indent slice (#11645)8a25531
red-knot: improve internal documentation inmodule.rs
(#11638)9b6d2ce
Fix incorect placement of trailing stub function comments (#11632)Updates
uvicorn
from 0.29.0 to 0.30.1Release notes
Sourced from uvicorn's releases.
Changelog
Sourced from uvicorn's changelog.
Commits
44a3071
Version 0.30.1 (#2349)6d666d9
Allow horizontal tabs\t
in response header values (#2345)9a6b3a8
Version 0.30.0 (#2348)53fa273
New multiprocess manager (#2183)22873a9
Suppress side-effects of signal propagation (#2317)14ffba8
Simplify CHANGELOG (#2337)5c78192
Add favicon and logo to the documentation (#2336)b9c03a8
Improve type hints on WebSockets implementations (#2335)14bdf04
Usepytestmark
to simplify test suite (#2334)0efd383
Sendcontent-length
header on 5xx (#2304)Updates
annotated-types
from 0.6.0 to 0.7.0Release notes
Sourced from annotated-types's releases.
Commits
0735cd3
Prepare for 0.7.0 release (#70)0757d41
Improve handling of GroupedMetadata (First try) (#69)99dbac8
AddUnit
type (#65)89e3d2e
Fix IsDigit -> IsDigits (#63)59a50d1
Correct misstatement in README (#62)6693037
suggested fix on typo (#60)195e340
add URLs topyproject.toml
(#58)657ded9
Allowtzinfo
objects forTimezone
(#56)Updates
anyio
from 4.3.0 to 4.4.0Release notes
Sourced from anyio's releases.
Changelog
Sourced from anyio's changelog.
... (truncated)
Commits
053e8f0
Bumped up the versione7f750b
Fixed memory object stream sometimes dropping sent items (#735)9f5f14b
Fixed task group getting cancelled if start() gets cancelled (#717)8b648bc
Adjusted the pull request template3ff5e9a
Rearranged changelog items541d1f8
[pre-commit.ci] pre-commit autoupdate (#734)8a07690
FixMemoryObjectSendStream.send(falsey)
not raisingBrokenResourceError
w...4b3de97
Adjust the headings in the PR templatedfc44cf
Added__slots__
toAsyncResource
(#733)96920b0
Fix typo in PR template (#730)Updates
certifi
from 2024.2.2 to 2024.6.2Commits
124f4ad
2024.06.02 (#291)c2196ce
--- (#290)fefdeec
Bump actions/checkout from 4.1.4 to 4.1.5 (#289)3c5fb15
Bump actions/download-artifact from 4.1.6 to 4.1.7 (#286)4a9569a
Bump actions/checkout from 4.1.2 to 4.1.4 (#287)1fc8086
Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 (#288)ad52dce
Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 (#283)651904f
Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#284)84fcfba
Bump actions/download-artifact from 4.1.4 to 4.1.6 (#285)46b8057
Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 (#282)Updates
fastapi-cli
from 0.0.2 to 0.0.4Release notes
Sourced from fastapi-cli's releases.