[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
Fix error reporting on cached run after uninstallation of third party library (Shantanu, PR 17420)
Acknowledgements
Thanks to all mypy contributors who contributed to this release:
Alex Waygood
Ali Hamdan
Edward Paget
Evgeniy Slobodkin
Hashem
hesam
Hugo van Kemenade
Ihor
James Braza
Jelle Zijlstra
jhance
Jukka Lehtosalo
Loïc Simon
Marc Mueller
Matthieu Devlin
Michael R. Crusoe
Nikita Sobolev
Oskari Lehto
Riccardo Di Maio
Richard Si
roberfi
Roman Solomatin
Sam Xifaras
Shantanu
Spencer Brown
Srinivas Lade
Tamir Duberstein
youkaichao
I’d also like to thank my employer, Dropbox, for supporting mypy development.
Mypy 1.9
We’ve just uploaded mypy 1.9 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Breaking Changes
Because the version of typeshed we use in mypy 1.9 doesn't support 3.7, neither does mypy 1.9. (Jared Hance, PR 16883)
... (truncated)
Commits
c28b525 [1.10 backport] Fix error reporting on cached run after uninstallation of thi...
#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.
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_.
2109_: maxfile and maxpath fields were removed from the namedtuple
returned by disk_partitions()_. Reason: on network filesystems (NFS) this
can potentially take a very long time to complete.
2366_, [Windows]: log debug message when using slower process APIs.
2375_, [macOS]: provide arm64 wheels. (patch by Matthieu Darbois)
2396_: process_iter()_ no longer pre-emptively checks whether PIDs have
been reused. This makes process_iter()_ around 20x times faster.
2396_: a new psutil.process_iter.cache_clear() API can be used the clear
process_iter()_ internal cache.
2401_, Support building with free-threaded CPython 3.13. (patch by Sam Gross)
2407_: Process.connections()_ was renamed to Process.net_connections()_.
The old name is still available, but it's deprecated (triggers a
DeprecationWarning) and will be removed in the future.
2425_: [Linux]: provide aarch64 wheels. (patch by Matthieu Darbois / Ben Raz)
Bug fixes
2250_, [NetBSD]: Process.cmdline()_ sometimes fail with EBUSY. It usually
happens for long cmdlines with lots of arguments. In this case retry getting
the cmdline for up to 50 times, and return an empty list as last resort.
2254_, [Linux]: offline cpus raise NotImplementedError in cpu_freq() (patch
by Shade Gladden)
2272_: Add pickle support to psutil Exceptions.
2359_, [Windows], [CRITICAL]: pid_exists()_ disagrees with Process_ on
whether a pid exists when ERROR_ACCESS_DENIED.
2360_, [macOS]: can't compile on macOS < 10.13. (patch by Ryan Schmidt)
2362_, [macOS]: can't compile on macOS 10.11. (patch by Ryan Schmidt)
2365_, [macOS]: can't compile on macOS < 10.9. (patch by Ryan Schmidt)
2395_, [OpenBSD]: pid_exists()_ erroneously return True if the argument is
a thread ID (TID) instead of a PID (process ID).
2412_, [macOS]: can't compile on macOS 10.4 PowerPC due to missing MNT_
constants.
Porting notes
Version 6.0.0 introduces some changes which affect backward compatibility:
2109_: the namedtuple returned by disk_partitions()_' no longer has
maxfile and maxpath fields.
2396_: process_iter()_ no longer pre-emptively checks whether PIDs have
been reused. If you want to check for PID reusage you are supposed to use
Process.is_running()_ against the yielded Process_ instances. That will
also automatically remove reused PIDs from process_iter()_ internal cache.
Fix regression in v4.12.0 where specialization of certain generics with an overridden __eq__ method would raise errors. Patch by Jelle Zijlstra.
Fix tests so they pass on 3.13.0b2
4.12.1
Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
Fix regression in v4.12.0 where nested Annotated types would cause
TypeError to be raised if the nested Annotated type had unhashable
metadata. Patch by Alex Waygood.
Fix regression in v4.12.0 where specialization of certain
generics with an overridden __eq__ method would raise errors.
Patch by Jelle Zijlstra.
Fix tests so they pass on 3.13.0b2
Release 4.12.1 (June 1, 2024)
Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
Fix regression in v4.12.0 where nested Annotated types would cause
TypeError to be raised if the nested Annotated type had unhashable
metadata. Patch by Alex Waygood.
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 commands and options
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 9 updates:
2.0.30
2.0.31
1.10.0
1.10.1
0.26.1
0.27.0
8.2.1
8.2.2
0.4.7
0.5.0
7.5.3
7.5.4
24.0
24.1
5.9.8
6.0.0
4.12.0
4.12.2
Updates
sqlalchemy
from 2.0.30 to 2.0.31Release notes
Sourced from sqlalchemy's releases.
... (truncated)
Commits
Updates
mypy
from 1.10.0 to 1.10.1Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
c28b525
[1.10 backport] Fix error reporting on cached run after uninstallation of thi...Updates
poethepoet
from 0.26.1 to 0.27.0Release notes
Sourced from poethepoet's releases.
Commits
32689ca
Bump version to 0.27.0efcbea0
Fix ordered substitution of templated variables in env vars config (#227)f863aa8
Fix handling of comments in multiline cmd tasks (#225)0b023b8
Add support for POE_GIT_DIR and POE_GIT_ROOT variables in config (#229)7b0fa64
Fix typos (#228)Updates
pytest
from 8.2.1 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.7 to 0.5.0Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
244b923
Add necessary permissions for cargo-dist Docker build (#12072)a8b48fc
Release v0.5.0 (#12068)04c8597
[flake8-simplify
] Stabilize detection of Yoda conditions for "constant" col...4029a25
[Ruff v0.5] Stabilise 15 pylint rules (#12051)0917ce1
Update documentation to mentionetcetera
crate instead ofdirs
for user c...22cebdf
Add server config to filter out syntax error diagnostics (#12059)72b6c26
SimplifyLinterResult
, avoid cloningParseError
(#11903)73851e7
Avoid displaying syntax error as log message (#11902)e7b4969
RemoveE999
as a rule, disallow any disablement methods for syntax error (#...c98d8a0
[pyflakes
] Stabilize detection of is comparisons to lists, etc. (F632
) (#...Updates
coverage
from 7.5.3 to 7.5.4Changelog
Sourced from coverage's changelog.
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
packaging
from 24.0 to 24.1Release notes
Sourced from packaging's releases.
Changelog
Sourced from packaging's changelog.
Commits
85442b8
Bump for release3e67fc7
Work aroundplatform.python_version()
returning non PEP 440 compliant versi...32deafe
Bump the github-actions group with 3 updates (#789)e0dda88
Documentmarkers.default_environment()
(#753)cc938f9
Modernise type annotations using FA rules from ruff (#785)757f559
Fix typo in_parser
docstring (#784)ec9f203
Bump the github-actions group with 4 updates (#782)5cbe1e4
Add support for Python 3.13 and drop EOL 3.7 (#783)cb8fd38
pyupgrade/black/isort/flake8 → ruff (#769)e8002b1
Bump for developmentUpdates
psutil
from 5.9.8 to 6.0.0Changelog
Sourced from psutil's changelog.
... (truncated)
Commits
3d5522a
release5b30ef4
Add aarch64 manylinux wheels (#2425)1d092e7
test subprocesses: sleep() with an interval of 0.1 to make the test process m...5f80c12
Fix #2412, [macOS]: can't compile on macOS 10.4 PowerPC due to missingMNT_
...89b6096
process_iter(): use another global var to keep track of reused PIDs9421bf8
openbsd: skip test if cmdline() returns [] due to EBUSY4b1a054
Fix #2250 / NetBSD / cmdline: retry on EBUSY. (#2421)20be5ae
ruff: enable and fix 'unused variable' rule5530985
chore(ci): update actions (#2417)1c7cb0a
Don't build with limited API for 3.13 free-threaded build (#2402)Updates
typing-extensions
from 4.12.0 to 4.12.2Release notes
Sourced from typing-extensions's releases.
Changelog
Sourced from typing-extensions's changelog.
Commits
e1250ff
Prepare release 4.12.2 (#426)53bcdde
Avoid error if origin has a buggy eq (#422)7269638
Prepare release 4.12.1 (#418)8dfcf3c
FixTypeError
on nestedAnnotated
types where the inner type has unhashab...d76f591
Switch from flake8 to ruff (#414)920d60d
Support my PEP 649 branch (#412)e792bce
Ignore fewer flake8 rules when linting tests (#413)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 commands and options
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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show