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
[general] [bug] Set up full Python 3.13 support to the extent currently possible, repairing
issues within internal language helpers as well as the serializer extension
module.
[orm] [bug] Fixed issue where a MetaData collection would not be
serializable, if an Enum or Boolean datatype were
present which had been adapted. This specific scenario in turn could occur
when using the Enum or Boolean within ORM Annotated
Declarative form where type objects frequently get copied.
[orm] [bug] Fixed issue where the _orm.selectinload() and
_orm.subqueryload() loader options would fail to take effect when
made against an inherited subclass that itself included a subclass-specific
_orm.Mapper.with_polymorphic setting.
[orm] [bug] Fixed very old issue involving the _orm.joinedload.innerjoin
parameter where making use of this parameter mixed into a query that also
included joined eager loads along a self-referential or other cyclical
relationship, along with complicating factors like inner joins added for
secondary tables and such, would have the chance of splicing a particular
inner join to the wrong part of the query. Additional state has been added
to the internal method that does this splice to make a better decision as
to where splicing should proceed.
[orm] [bug] [regression] Fixed bug in ORM Declarative where the __table__ directive could not be
declared as a class function with _orm.declared_attr() on a
superclass, including an __abstract__ class as well as coming from the
If you attempt to combine statement coverage data with branch coverage data,
coverage.py used to fail with the message "Can't combine arc data with line
data" or its reverse, "Can't combine line data with arc data." These
messages used internal terminology, making it hard for people to understand
the problem. They are now changed to mention "branch coverage data" and
"statement coverage data."
Fixed a minor branch coverage problem with wildcard match/case cases using
names or guard clauses.
Started testing on 3.13 free-threading (nogil) builds of Python. I'm not
claiming full support yet. Closes issue 1799_.
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.
#12355: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.
#12367: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
#12381: Fix possible "Directory not empty" crashes arising from concurent cache dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
Improved Documentation
#12290: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.
#12356: Added a subsection to the documentation for debugging flaky tests to mention
lack of thread safety in pytest as a possible source of flakyness.
#12363: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
8.2.1
pytest 8.2.1 (2024-05-19)
Improvements
#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
([#737](https://github.com/agronholm/anyio/issues/737) <https://github.com/agronholm/anyio/issues/737>_)
Changed the ResourceWarning from an unclosed memory object stream to include its
address for easier identification
Fixed to_process.run_sync() failing to initialize if __main__.__file__ pointed
to a file in a nonexistent directory
([#696](https://github.com/agronholm/anyio/issues/696) <https://github.com/agronholm/anyio/issues/696>_)
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 'sta...
_Description has been truncated_
Bumps the all-dependencies group with 26 updates in the / directory:
2.7.1
2.7.4
2.2.1
2.3.4
2.0.30
2.0.31
7.5.1
7.5.4
1.5.0
1.5.1
3.7.0
3.7.1
8.2.0
8.2.2
0.4.3
0.4.10
0.29.0
0.30.1
0.6.0
0.7.0
4.3.0
4.4.0
2024.2.2
2024.6.2
2.1.1
2.2.0
0.0.2
0.0.4
3.14.0
3.15.4
1.3.3
1.3.5
1.8.0
1.9.1
3.10.3
3.10.5
24.0
24.1
4.2.1
4.2.2
69.5.1
70.1.0
4.11.0
4.12.2
5.9.0
5.10.0
20.26.1
20.26.3
0.21.0
0.22.0
6.3
6.4.post2
Updates
pydantic
from 2.7.1 to 2.7.4Release notes
Sourced from pydantic's releases.
Changelog
Sourced from pydantic's changelog.
Commits
1ab655a
Prep for v2.7.4 release (#9642)2e3650e
V1 bump to v1.10.16 (#9639)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.4Release notes
Sourced from pydantic-settings's releases.
... (truncated)
Commits
fe1f950
Prepare release 2.3.4 (#322)674ebd9
Remove leftover docstring causing warning onpydantic
docs build (#321)7ede0ec
Nested pydantic dataclasses and doc fixes. (#317)c2d44a7
add in-place reloading in docs (#316)f1b82d8
Prepare release 2.3.3 (#314)bd294a4
Add CliSettingsSource alias handling for AliasChoices and AliasPath. (#313)abe7cc5
Fix an intriduced bug in parsing json field with discriminated union (#312)b5d4534
Prepare release 2.3.2 (#310)b2e84c2
Fix issue with nested model uppercase field name in case insensitive mode (#309)0a9faca
Fix command line help fromargparse
formatting problem (#307)Updates
sqlalchemy
from 2.0.30 to 2.0.31Release notes
Sourced from sqlalchemy's releases.
... (truncated)
Commits
Updates
coverage
from 7.5.1 to 7.5.4Changelog
Sourced from coverage's changelog.
... (truncated)
Commits
22c09c6
docs: sample HTML for 7.5.49e16381
docs: prep for 7.5.4fba9b9e
docs: link issue 1799 from the changelogf124de8
build: no longer download kits to upload them9516cf6
build: hash-pin all actionsc6e0985
build: finish up the publish action4a49458
build: get the latest dist run id for publishingfb15efa
build: pin hashes for publishing actionsc20af95
build: use the correct item: github.event.actionccbab15
build: dump all the github actions dataUpdates
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.2Release notes
Sourced from pytest's releases.
Commits
329d371
Prepare release version 8.2.2214d098
Merge pull request #12414 from bluetech/backport-12409153a436
[8.2.x] fixtures: fix catastrophic performance problem inreorder_items
b41d5a5
Merge pull request #12412 from pytest-dev/backport-12408-to-8.2.x9bb73d7
[8.2.x] cacheprovider: fix "Directory not empty" crash from cache directory c...4569a01
[8.2.x] doc: Update trainings/events (#12402)1d103e5
[8.2.x] Clarify pytest_ignore_collect docs (#12386)240a252
[8.2.x] Add html_baseurl to sphinx conf.py (#12372)a5ee3c4
Merge pull request #12370 from pytest-dev/backport-12368-to-8.2.xf7358ae
[8.2.x] unittest: fix class instances no longer released on test teardown sin...Updates
ruff
from 0.4.3 to 0.4.10Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
b54922f
Bump version to v0.4.10 (#11953)3f884b4
Avoid running logical line rule logic if not enabled (#11951)b456051
[red-knot] Add tracing to Salsa queries (#11949)2dfbf11
[red-knot] Extractred_knot_python_semantic
crate (#11926)ed948ea
Avoid moving back the lexer for triple-quoted fstring (#11939)22733cb
red-knot(Salsa): Types without refinements (#11899)a26bd01
Avoid depth counting when detecting indentation (#11947)b617d90
UpdateE999
to show all syntax errors (#11900)cdc7c71
Avoid consuming trailing whitespace during re-lexing (#11933)ff3bf58
ruff server
: Add tracing setup guide to Neovim documentation (#11884)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.