Use the global inference cache when inferring, even without an explicit
InferenceContext. This is a significant performance improvement given how
often methods default to None for the context argument. (Linting astroid
itself now takes ~5% less time on Python 3.12; other projects requiring more
complex inference calculations will see greater speedups.)
Following a deprecation period starting in astroid 2.7.0, the astroid.node_classes
and astroid.scoped_nodes modules have been removed in favor of astroid.nodes.node_classes
and astroid.nodes.scoped_nodes.
Return all existing arguments when calling Arguments.arguments(). This also means find_argname will now
use the whole list of arguments for its search.
Fix regression to include tests in source distribution.
3.5 (2023-11-24)
++++++++++++++++
Update to Unicode 15.1.0
String codec name is now "idna2008" as overriding the system codec
"idna" was not working.
Fix typing error for codec encoding
"setup.cfg" has been added for this release due to some downstream
lack of adherence to PEP 517. Should be removed in a future release
so please prepare accordingly.
Removed reliance on a symlink for the "idna-data" tool to comport
with PEP 517 and the Python Packaging User Guide for sdist archives.
Added security reporting protocol for project
Thanks Jon Ribbens, Diogo Teles Sant'Anna, Wu Tingfeng for contributions
to this release.
Stubgen will now include __all__ in its output if it is in the input file (PR 16356).
Mypy 1.7
We’ve just uploaded mypy 1.7 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.
Using TypedDict for **kwargs Typing
Mypy now has support for using Unpack[...] with a TypedDict type to annotate **kwargs arguments enabled by default. Example:
# Or 'from typing_extensions import ...'
from typing import TypedDict, Unpack
class Person(TypedDict):
name: str
age: int
def foo(**kwargs: Unpack[Person]) -> None:
...
foo(name="x", age=1) # Ok
foo(name=1) # Error
The definition of foo above is equivalent to the one below, with keyword-only arguments name and age:
def foo(*, name: str, age: int) -> None:
...
Refer to PEP 692 for more information. Note that unlike in the current version of the PEP, mypy always treats signatures with Unpack[SomeTypedDict] as equivalent to their expanded forms with explicit keyword arguments, and there aren't special type checking rules for TypedDict arguments.
This was contributed by Ivan Levkivskyi back in 2022 (PR 13471).
TypeVarTuple Support Enabled (Experimental)
Mypy now has support for variadic generics (TypeVarTuple) enabled by default, as an experimental feature. Refer to PEP 646 for the details.
TypeVarTuple was implemented by Jared Hance and Ivan Levkivskyi over several mypy releases, with help from Jukka Lehtosalo.
* Document calendar-based versioning scheme (:issue:`716`)
* Enforce that the entire marker string is parsed (:issue:`687`)
* Requirement parsing no longer automatically validates the URL (:issue:`120`)
* Canonicalize names for requirements comparison (:issue:`644`)
* Introduce ``metadata.Metadata`` (along with ``metadata.ExceptionGroup`` and ``metadata.InvalidMetadata``; :issue:`570`)
* Introduce the ``validate`` keyword parameter to ``utils.normalize_name()`` (:issue:`570`)
* Introduce ``utils.is_normalized_name()`` (:issue:`570`)
* Make ``utils.parse_sdist_filename()`` and ``utils.parse_wheel_filename()``
raise ``InvalidSdistFilename`` and ``InvalidWheelFilename``, respectively,
when the version component of the name is invalid
Fix regression with path installs on most recent release 2023.11.14[#6017](https://github.com/pypa/pipenv/issues/6017) <https://github.com/pypa/pipenv/issues/6017>_
2023.11.14 (2023-11-14)
Pipenv 2023.11.14 (2023-11-14)
Behavior Changes
pipenv now ignores existing venv dir when PIPENV_VENV_IN_PROJECT is false. [#6009](https://github.com/pypa/pipenv/issues/6009) <https://github.com/pypa/pipenv/issues/6009>_
Bug Fixes
Assume the vcs and direct URL installs need to be reinstalled. [#5936](https://github.com/pypa/pipenv/issues/5936) <https://github.com/pypa/pipenv/issues/5936>_
Pass through pipfile index urls when creating https session so that keyring fully works [#5994](https://github.com/pypa/pipenv/issues/5994) <https://github.com/pypa/pipenv/issues/5994>_
Fix Using dependencies from a URL fails on Windows. [#6011](https://github.com/pypa/pipenv/issues/6011) <https://github.com/pypa/pipenv/issues/6011>_
2023.10.24 (2023-10-24)
Pipenv 2023.10.24 (2023-10-24)
Features & Improvements
Officially support python 3.12 [#5987](https://github.com/pypa/pipenv/issues/5987) <https://github.com/pypa/pipenv/issues/5987>_
Bug Fixes
Additional safety check in fold_markers logic that affected some lock resolutions in prior release. [#5988](https://github.com/pypa/pipenv/issues/5988) <https://github.com/pypa/pipenv/issues/5988>
What's new in psycopg 2.9.9
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Add support for Python 3.12.
Drop support for Python 3.6.
What's new in psycopg 2.9.8
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Wheel package bundled with PostgreSQL 16 libpq in order to add support for
recent features, such as sslcertmode.
What's new in psycopg 2.9.7
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fix propagation of exceptions raised during module initialization
(:ticket:[#1598](https://github.com/psycopg/psycopg2/issues/1598)).
Fix building when pg_config returns an empty string (:ticket:[#1599](https://github.com/psycopg/psycopg2/issues/1599)).
Wheel package bundled with OpenSSL 1.1.1v.
What's new in psycopg 2.9.6
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Package manylinux 2014 for aarch64 and ppc64le platforms, in order to
include libpq 15 in the binary package (:ticket:[#1396](https://github.com/psycopg/psycopg2/issues/1396)).
Wheel package bundled with OpenSSL 1.1.1t.
What's new in psycopg 2.9.5
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Add support for Python 3.11.
Add support for rowcount in MERGE statements in binary packages
(:ticket:[#1497](https://github.com/psycopg/psycopg2/issues/1497)).
Wheel package bundled with OpenSSL 1.1.1r and PostgreSQL 15 libpq.
What's new in psycopg 2.9.4
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fix ~psycopg2.extras.register_composite(),
~psycopg2.extras.register_range() with customized :sql:search_path
(:ticket:[#1487](https://github.com/psycopg/psycopg2/issues/1487)).
Handle correctly composite types with names or in schemas requiring escape.
Bumps the python-packages group with 23 updates:
2.15.7
3.0.1
2023.7.22
2023.11.17
4.2.5
4.2.7
4.2.4
4.2.6
4.2.2
4.2.5
3.12.4
3.13.1
5.0.10
5.0.11
3.4
3.6
1.5.1
1.7.1
23.1
23.2
2023.9.8
2023.11.15
3.10.0
4.0.0
2.9.8
2.9.9
2.17.5
3.0.2
2.5.3
2.5.5
4.6.0
4.7.0
1.1.1
1.1.2
1.2.1
1.2.2
0.12.1
0.12.3
2.0.6
2.1.0
20.24.5
20.25.0
6.5.0
6.6.0
1.15.0
1.16.0
Updates
astroid
from 2.15.7 to 3.0.1Changelog
Sourced from astroid's changelog.
... (truncated)
Commits
0191f53
Bump astroid to 3.0.1, update changelog (#2322)12f3eb5
Addassigned_stmts()
to PEP 695 nodes (#2320) (#2321)1f57444
Merge pull request #2311 from pylint-dev/fix-maintenance-branch958ce1e
[doc]Fix following the release of 3.0.0a19bd7c
Revert "Bump astroid to 3.1.0-dev0, update changelog"0883b04
Merge release branch for astroid 3.0.00ea6d86
Bump astroid to 3.1.0-dev0, update changelog2891daf
Bump astroid to 3.0.0, update changelogd637bdf
Revert "Add boilerplate for documenting an upgrade guide (#1873)"5c8a248
Merge maintenance/2.15.x following 2.15.8 releaseUpdates
certifi
from 2023.7.22 to 2023.11.17Commits
515962b
Merge pull request #252 from certifi/create-pull-request/patch28b2a0d
2023.11.177ccda9f
Bump actions/checkout from 4.1.0 to 4.1.1 (#251)5e4bb9e
Bump actions/setup-python from 4.7.0 to 4.7.1 (#248)610354f
Bump actions/checkout from 4.0.0 to 4.1.0 (#247)2d98c76
Bump actions/upload-artifact from 3.1.2 to 3.1.3 (#246)7f0e639
ci: add minimal permissions to workflows bump.yml and release.yml (#245)600713d
Bump actions/checkout from 3.6.0 to 4.0.0 (#244)0435b2a
Bump actions/checkout from 3.5.3 to 3.6.0 (#242)25ea83a
Fix bashUpdates
django
from 4.2.5 to 4.2.7Commits
d254a54
[4.2.x] Bumped version for 4.2.7 release.048a9eb
[4.2.x] Fixed CVE-2023-46695 -- Fixed potential DoS in UsernameField on Windows.3fae5d9
[4.2.x] Refs #30601 -- Fixed typos in docs/topics/db/transactions.txt.a8aa940
[4.2.x] Refs #15578 -- Made cosmetic edits to fixtures docs.109f39a
[4.2.x] Fixed #34932 -- Restored varchar_pattern_ops/text_pattern_ops index c...6161299
[4.2.x] Fixed typos in docs/ref/models/expressions.txt.696fbc3
[4.2.x] Fixed #30601 -- Doc'd the need to manually revert all app state on tr...ffba631
[4.2.x] Fixed typo in docs/ref/contrib/gis/geos.txt.43a3646
[4.2.x] Fixed #15578 -- Stated the processing order of fixtures in the fixtur...0cd8b86
[4.2.x] Added stub release notes and release date for 4.2.7, 4.1.13, and 3.2.23.Updates
django-stubs
from 4.2.4 to 4.2.6Commits
a9e6f67
Version 4.2.6 release (django-stubs only) (#1794)bef529e
[pre-commit.ci] pre-commit autoupdate (#1795)c313cfd
Fix IndexError crash when using from_queryset() of custom Manager subclass (#...7c058b8
Update Django db backend base wrapper (#1791)6458248
Revert "Useparse_bool
implementation from mypy" (#1792)0ce571e
fix as manager and from queryset self types (#1788) (#1789)1334efd
django.core.management
stub update (#1787)35bd241
Fix Field.formfield(), GeometryField.formfield() methods (#1778)a9c56a9
Drop hard dependency on mypy (#1782)7815bb8
Bump mypy from 1.6.0 to 1.6.1 (#1779)Updates
django-stubs-ext
from 4.2.2 to 4.2.5Commits
c5e052b
Version 4.2.5 release (django-stubs, django-stubs-ext) (#1777)789a4f1
Fix F.resolve_expression() return type (#1659)af16f4f
Improve Field.formfield(), GeometryField.formfield() methods (#1724)323b105
Fix BaseModelForm, ErrorList, ErrorDict init(renderer=) parameter (#1690)bcf6356
Verify thatManager.from_queryset()
handles invalid argument types (#1731)44d5c13
Bump black (#1776)45d4851
Django core cache (#1774)7aa4f48
chore: Migrate from flake8 to ruff (#1718)c621edc
Updatedjango.middleware.csrf
types (#1770)69fceac
Tests: Add mypy error codes to typecheck (#1773)Updates
filelock
from 3.12.4 to 3.13.1Release notes
Sourced from filelock's releases.
Commits
141f5d8
Allow users to subclass FileLock with custom keyword arguments (#284)3e3455e
Support reentrant locking on lock file path via optional singleton instance (...16f2a93
[pre-commit.ci] pre-commit autoupdate (#281)0e72219
[pre-commit.ci] pre-commit autoupdate (#280)25a2f0d
[pre-commit.ci] pre-commit autoupdate (#278)f2885d1
[pre-commit.ci] pre-commit autoupdate (#277)Updates
icalendar
from 5.0.10 to 5.0.11Changelog
Sourced from icalendar's changelog.
Commits
2d83765
Merge pull request #576 from niccokunzmann/release23f7065
version 5.0.119ce1fa8
Merge pull request #575 from niccokunzmann/comparing7f4b213
Test equality of vDDDLists0d94ee5
Remove Mixins and create common superclass for time properties9ba4b11
remove unused variable7add097
do not copy() subcomponentsec8d604
document changesdc57266
Restore == and not != equivalenced95007b
compare vTime and add more tests for equalityUpdates
idna
from 3.4 to 3.6Changelog
Sourced from idna's changelog.
Commits
4ae74cf
Release v3.621888f3
Merge pull request #164 from mgorny/sdist-testc5ba76a
Include tests in sdist2eb16d3
Merge pull request #162 from kjd/release-3.589cd061
Release v3.59fc29cd
Merge pull request #161 from kjd/masteracb8c4a
Merge pull request #160 from cclauss/patch-1adca101
README.rst: Fix typos33a8f7b
Merge pull request #159 from diogoteles08/add-scorecard354a412
Add Scorecard GitHub ActionUpdates
mypy
from 1.5.1 to 1.7.1Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
6b3c418
Update version to 1.7.1 (without +dev)c10e173
[mypyc] Fix regression with nested functions (#16484)e6399d1
Fix polymorphic application for callback protocols (#16514)661adb7
Fix crash on strict-equality with recursive types (#16483)6c8e0cc
Ignore position if imprecise arguments are matched by name (#16471)5c354c4
Fix missing meet case exposed by len narrowing (#16470)88791ca
Exclude private attributes from override checks (#16464)4b5b316
Special-case unions in polymorphic inference (#16461)f862d3e
Fix crash on Callable self in call (#16453)fe79a59
Bump version to 1.7.1+devUpdates
packaging
from 23.1 to 23.2Release notes
Sourced from packaging's releases.
Changelog
Sourced from packaging's changelog.
Commits
b3a5d7d
Bump for released7ce40d
Fix code blocks in CHANGELOG.md (#724)524b701
parse_{sdist,wheel}_filename: don't raise InvalidVersion (#721)b509bef
Typing annotations fixed (#723)0206c39
Bump pip version to avoid known vulnerabilities (#720)7023537
fix: Update copyright date for docs (#713)39786bb
Document use of calendar-based versioning scheme (#717)c1346df
fix: Detect when a platform is 32-bit more accurately (#711)7e68d82
Correct rST syntax in CHANGELOG.rst (#709)61e6efb
Support enriched metadata inpackaging.metadata
(#686)Updates
pipenv
from 2023.9.8 to 2023.11.15Release notes
Sourced from pipenv's releases.
... (truncated)
Changelog
Sourced from pipenv's changelog.
... (truncated)
Commits
7ec8fee
Release v2023.11.1585ba107
Treat all return paths of this method as strings (#6017)acbcdcc
Bumped version.ff5cbbb
Release v2023.11.1455258f7
Assume that vcs and direct URL installs need to be reinstalled (#5936)9eb07b4
add news fragment on behalf of contributorbb0ca90
Ignore existing venv dir when PIPENV_VENV_IN_PROJECT is false (#6009)cd961a4
Fix issue-6011 direct file url path (#6012)bc668e6
Merge pull request #5994 from mungojam/fix-keyring-warnings023b6bc
Add news entryUpdates
platformdirs
from 3.10.0 to 4.0.0Release notes
Sourced from platformdirs's releases.
Changelog
Sourced from platformdirs's changelog.
... (truncated)
Commits
3935ea2
site_cache_dir: Use/var/cache
again instead of/var/tmp
on UNIX (#239)422ca8c
[pre-commit.ci] pre-commit autoupdate (#238)bac570a
[pre-commit.ci] pre-commit autoupdate (#237)d709a55
[pre-commit.ci] pre-commit autoupdate (#236)0baea96
[pre-commit.ci] pre-commit autoupdate (#234)b73228f
[pre-commit.ci] pre-commit autoupdate (#233)682cdcb
Add support for Homebrew-installed software (#232)d63b824
[pre-commit.ci] pre-commit autoupdate (#229)3c0df8f
[pre-commit.ci] pre-commit autoupdate (#228)360ab2d
Bump actions/checkout from 3 to 4 (#226)Updates
psycopg2-binary
from 2.9.8 to 2.9.9Changelog
Sourced from psycopg2-binary's changelog.
... (truncated)
Commits
ad5bee7
chore: bump version number to 2.9.937d1de1
chore: add support for Python 3.12abf2723
chore: drop support for Python 3.62da65a7
chore: drop leftover Python 2.7 import aliases from setup.py3fa60fd
chore: bump doc requirement complained by dependabot1c1484e
ci: better interaction with scaleway build server