{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":327790960,"defaultBranch":"main","name":"reddit-get","ownerLogin":"mikelane","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-01-08T03:41:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6543713?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726800880.0","currentOid":""},"activityList":{"items":[{"before":"31fa62ad81c72d5bdcbaf249f18ee30f7412e90c","after":null,"ref":"refs/heads/dependabot/pip/tox-4.20.0","pushedAt":"2024-09-20T02:54:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"}},{"before":"20f166e69a5f9544581c7d92a18489d4d3c70020","after":"b8e897d72c632902c9d0b4b64acb130823a72881","ref":"refs/heads/main","pushedAt":"2024-09-20T02:54:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Bump tox from 4.19.0 to 4.20.0 (#416)\n\nBumps [tox](https://github.com/tox-dev/tox) from 4.19.0 to 4.20.0.\n Sourced from tox's\nchangelog. Features - 4.20.0 Sourced from pydantic's\nreleases. Full Changelog: https://github.com/pydantic/pydantic/compare/v2.9.1...v2.9.2 Sourced from pydantic's\nchangelog. Sourced from tox's\nchangelog. Features - 4.19.0 Sourced from ruff's\nreleases. ... (truncated) Sourced from ruff's\nchangelog. Sourced from pytest's\nreleases. #12446:\nAvoid calling #12659:\nFixed the issue of not displaying assertion failure differences when\nusing the parameter #12667:\nFixed a regression where type change in\n[ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to\nfail. #12744:\nFixed typing compatibility with Python 3.9 or less -- replaced\n[typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} --\nby #12745:\nFixed an issue with backslashes being incorrectly converted in nodeid\npaths on Windows, ensuring consistent path handling across\nenvironments. #6682:\nFixed bug where the verbosity levels where not being respected when\nprinting the "msg" part of failed assertion (as in\n #9422:\nFix bug where disabling the terminal plugin via -- by Sourced from pydantic's\nreleases. Full Changelog: https://github.com/pydantic/pydantic/compare/v2.9.0...v2.9.1 Sourced from tox's\nreleases. Full Changelog: https://github.com/tox-dev/tox/compare/4.18.0...4.18.1 Sourced from tox's\nchangelog. Bugfixes - 4.18.1 Improved Documentation - 4.18.1\nChangelog
\n\n
\nv4.20.0 (2024-09-18)
\n
\n- Separate the list dependencies functionality to a separate\nabstract class allowing code reuse in plugins (such as\n ``tox-uv``) - by :gaborbernat`. (:issue:`3347`)\n
Commits
\n\n
\na04cc3a
\nrelease 4.20.04d8f5fd
\nSeparate list dependencies to a separate installer class (#3347)0cb816c
\nYML to YAML
\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tox&package-manager=pip&previous-version=4.19.0&new-version=4.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show Release notes
\n\n
\nv2.9.2 (2024-09-17)
\nWhat's Changed
\nFixes
\n\n
\n@Viicos
in #10358Callable
discriminators\nby @sydney-runkle
\nin #10400PlainValidator
by @Viicos
in #10427Union
serialization warnings by @sydney-runkle
\nin pydantic/pydantic-core#1449_IncEx
type alias, only allow\nTrue
by @Viicos
in #10414ZoneInfo
validation with various invalid types by\n@sydney-runkle
\nin #10408Changelog
\n\n
\nv2.9.2 (2024-09-17)
\n\nWhat's Changed
\nFixes
\n\n
\n@Viicos
in #10358Callable
discriminators\nby @sydney-runkle
\nin #10400PlainValidator
by @Viicos
in #10427Union
serialization warnings by @sydney-runkle
\nin pydantic/pydantic-core#1449_IncEx
type alias, only allow\nTrue
by @Viicos
in #10414ZoneInfo
validation with various invalid types by\n@sydney-runkle
\nin #10408Commits
\n\n
\n7cedbfb
\nhistory updates7eab2b8
\nv bumpc0a288f
\nFix ZoneInfo
with various invalid types (#10408)ea6115d
\nFix variance issue in _IncEx
type alias, only allow\nTrue
(#10414)fbfe25a
\nFix serialization schema generation when using\nPlainValidator
(#10427)26cff3c
\nAdding notes on designing callable discriminators (#10400)8a0e7ad
\nDo not error when trying to evaluate annotations of private attributes\n(#10358)
\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic&package-manager=pip&previous-version=2.9.1&new-version=2.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show Changelog
\n\n
\nv4.19.0 (2024-09-17)
\n
\n- Support ``pypy-<major>.<minor>`` environment\nnames for PyPy environments - by :user:`gaborbernat`. (:issue:`3346`)\n
Commits
\n\n
\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tox&package-manager=pip&previous-version=4.18.1&new-version=4.19.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show Release notes
\n\n
\n0.6.5
\nRelease Notes
\nPreview features
\n\n
\npydoclint
] Ignore DOC201
when function\nname is "new" (#13300)refurb
] Implement\nslice-to-remove-prefix-or-suffix
(FURB188
) (#13256)Rule changes
\n\n
\neradicate
] Ignore script-comments with multiple\nend-tags (ERA001
) (#13283)pyflakes
] Improve error message for\nUndefinedName
when a builtin was added in a newer version\nthan specified in Ruff config (F821
) (#13293)Server
\n\n
\nBug fixes
\n\n
\nruff
] Handle unary operators in\ndecimal-from-float-literal
(RUF032
) (#13275)CLI
\n\n
\nPlayground
\n\n
\nContributors
\n\n
\n@AlexWaygood
@MichaReiser
@RussellLuo
@Slyces
@augustelalande
@calumy
@carljm
@dhruvmanila
@dizzy57
@dylwil3
@renovate
Install ruff 0.6.5
\nInstall prebuilt binaries via shell script
\n
\ncurl --proto '=https' --tlsv1.2 -LsSf\nhttps://github.com/astral-sh/ruff/releases/download/0.6.5/ruff-installer.sh\n| sh\n</tr></table> \n
Changelog
\n\n
\n0.6.5
\nPreview features
\n\n
\npydoclint
] Ignore DOC201
when function\nname is "new" (#13300)refurb
] Implement\nslice-to-remove-prefix-or-suffix
(FURB188
) (#13256)Rule changes
\n\n
\neradicate
] Ignore script-comments with multiple\nend-tags (ERA001
) (#13283)pyflakes
] Improve error message for\nUndefinedName
when a builtin was added in a newer version\nthan specified in Ruff config (F821
) (#13293)Server
\n\n
\nBug fixes
\n\n
\nruff
] Handle unary operators in\ndecimal-from-float-literal
(RUF032
) (#13275)CLI
\n\n
\nPlayground
\n\nCommits
\n\n
\n8558126
\nBump version to 0.6.5 (#13346)9bd9981
\nCreate insta snapshot for SARIF output (#13345)21bfab9
\nPlayground: Add Copy as pyproject.toml/ruff.toml and paste from TOML (#13328)43a5922
\n[red-knot] add BitSet::is_empty and BitSet::union (#13333)175d067
\n[red-knot] add initial Type::is_equivalent_to and Type::is_assignable_to\n(#13...4dc2c25
\n[red-knot] Fix type inference for except*
definitions (#13320)b72d49b
\nAdd support for extensionless Python files for server (#13326)eded78a
\n[pyupgrade
] Fix broken doc link and clarify that deprecated\naliases were re...a7b8cc0
\n[red-knot] Fix .to_instance()
for union types (#13319)b93d0ab
\n[red-knot] Add control flow for for
loops (#13318)
\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.6.4&new-version=0.6.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show Release notes
\n\n
\n8.3.3
\npytest 8.3.3 (2024-09-09)
\nBug fixes
\n\n
\n@property
(and other instance descriptors)\nduring fixture discovery -- by asottile
{.interpreted-text\nrole="user"}--import-mode=importlib
in\npytest>=8.1.Avasam
{.interpreted-text role="user"}assert condition, msg
).-p\nno:terminal
would cause crashes related to missing the\nverbose
option.GTowers1
{.interpreted-text\nrole="user"}Improved documentation
\n\n
\nMiscellaneous internal changes
\n\n
\nCommits
\n\n
\nd0f136f
\nbuild(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)972f307
\nPrepare release version 8.3.30dabdcf
\nInclude co-authors in release announcement (#12795)\n(#12797)a9910a4
\nDo not discover properties when iterating fixtures (#12781)\n(#12788)0f10b6b
\nFix issue with slashes being turned into backslashes on Windows (#12760)\n(#12...300d13d
\nMerge pull request #12785\nfrom pytest-dev/patchback/backports/8.3.x/57cccf7f4...e5d32c7
\nMerge pull request #12784\nfrom svenevs/fix/docs-example-parametrize-minor-typobc913d1
\nStreamline checks for verbose option (#12706)\n(#12778)01cfcc9
\nFix typos and introduce codespell pre-commit hook (#12769)\n(#12774)4873394
\ndoc: Remove past training (#12772)\n(#12773)
\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=pip&previous-version=8.3.2&new-version=8.3.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show Release notes
\n\n
\nv2.9.1 (2024-09-09)
\nWhat's Changed
\nFixes
\n\n
\n@sydney-runkle
\nin #10321annotated-types
bound to >=0.6.0
\nby @sydney-runkle
\nin #10327tzdata
install requirement into optional\ntimezone
dependency by @jakob-keller
\nin #10331IncExc
type alias definition by @Viicos
in #10339@Viicos
in #10337@Viicos
in #10347@sydney-runkle
\nin pydantic/pydantic-core#1442Commits
\n\n
\necc5275
\nbump2c61bfd
\nFix evaluation of stringified annotations during namespace inspection\n(#10347)3d364cb
\nUse correct types namespace when building namedtuple core schemas (#10337)2746ccb
\nFix IncEx
type alias definition (#10339)b32d410
\nTurn tzdata
install requirement into optional\ntimezone
dependency (#10331)7d857eb
\nFixing annotated-types
bound (#10327)07cbe50
\nFix Predicate
issue in v2.9.0
(#10321)
\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic&package-manager=pip&previous-version=2.9.0&new-version=2.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\nDependabot commands and options
\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show Release notes
\n\n
\n4.18.1
\n\nWhat's Changed
\n\n
\n@hroncok
in tox-dev/tox#3327@schlamar
in tox-dev/tox#3332tox_env_teardown
hook by @kemzeb
in tox-dev/tox#3333@gaborbernat
in\ntox-dev/tox#3339New Contributors
\n\n
\n@schlamar
\nmade their first contribution in tox-dev/tox#3332@kemzeb
made\ntheir first contribution in tox-dev/tox#3333Changelog
\n\n
v4.18.1 (2024-09-07)
\n- Fix and test the string spec for the ``sys.executable``\ninterpreter (introduced in :pull:`3325`)\n - by :user:`hroncok` (:issue:`3327`)\n
tox_env_teardown
docstring to explain the\nhook is called after a tox env was teared down.\n(:issue:3305
)df34192
\nrelease 4.18.19c6f835
\nAdd 3.13 to CI and bump deps (#3339)9138e15
\nBump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1 (#3338)3f004fc
\n[pre-commit.ci] pre-commit autoupdate (#3329)fab358e
\nProperly document the tox_env_teardown
hook (#3333)8d0a47c
\nFix issue link in changelog (#3332)874e9af
\nFixup the spec string for sys.executable (#3327)dde4964
\nFix docsSourced from pydantic's\nreleases.
\n\n\nv2.9.0 (2024-09-05)
\nThe code released in v2.9.0 is practically identical to that of\nv2.9.0b2.
\nCheck out our blog post\nto learn more about the release highlights!
\nWhat's Changed
\nPackaging
\n\n
\n- Bump
\nruff
tov0.5.0
and\npyright
tov1.1.369
by@sydney-runkle
\nin #9801- Bump
\npydantic-extra-types
tov2.9.0
by@sydney-runkle
\nin #9832- Support compatibility with
\npdm v2.18.1
by@Viicos
in #10138- Bump
\nv1
version stub tov1.10.18
by@sydney-runkle
\nin #10214- Bump
\npydantic-core
tov2.23.2
by@sydney-runkle
\nin #10311New Features
\n\n
\n- Add support for
\nZoneInfo
by@Youssefares
in\n#9896- Add
\nConfig.val_json_bytes
by@josh-newman
in\n#9770- Add DSN for Snowflake by
\n@aditkumar72
in\n#10128- Support
\ncomplex
number by@changhc
in #9654- Add support for
\nannotated_types.Not
by@aditkumar72
in\n#10210- Allow
\nWithJsonSchema
to inject$ref
s w/\nhttp
orhttps
links by@dAIsySHEng1
in\n#9863- Allow validators to customize validation JSON schema by
\n@Viicos
in #10094- Support parametrized
\nPathLike
types by@nix010
in #9764- Add tagged union serializer that attempts to use
\nstr
or\ncallable
discriminators to select the correct serializer by\n@sydney-runkle
\nin in pydantic/pydantic-core#1397Changes
\n\n
\n- Breaking Change: Merge
\ndict
type\njson_schema_extra
by@sydney-runkle
\nin #9792\n\n
\n- For more info (how to replicate old behavior) on this change, see here
\n- Refactor annotation injection for known (often generic) types by
\n@sydney-runkle
\nin #9979- Move annotation compatibility errors to validation phase by
\n@sydney-runkle
\nin #9999- Improve runtime errors for string constraints like\n
\npattern
for incompatible types by@sydney-runkle
\nin #10158- Remove
\n'allOf'
JSON schema workarounds by@dpeachey
in #10029- Remove
\ntyped_dict_cls
data from\nCoreMetadata
by@sydney-runkle
\nin #10180- Deprecate passing a dict to the
\nExamples
class by@Viicos
in #10181- Remove
\ninitial_metadata
from internal metadata\nconstruct by@sydney-runkle
\nin #10194- Use
\nre.Pattern.search
instead of\nre.Pattern.match
for consistency withrust
\nbehavior by@tinez
\nin pydantic/pydantic-core#1368- Show value of wrongly typed data in
\npydantic-core
\nserialization warning by@BoxyUwU
in pydantic/pydantic-core#1377- Breaking Change: in
\npydantic-core
, change\nmetadata
type hint in core schemas fromAny
\n->Dict[str, Any] | None
by@sydney-runkle
\nin pydantic/pydantic-core#1411- Raise helpful warning when
\nself
isn't returned from\nmodel validator by@sydney-runkle
\nin #10255Performance
\n\n
\n\n- Initial start at improving import times for modules, using caching\nprimarily by
\n@sydney-runkle
\nin #10009- Using cached internal import for
\nBaseModel
by@sydney-runkle
\nin #10013- Simplify internal generics logic - remove generator overhead by
\n@sydney-runkle
\nin #10059- Remove default module globals from types namespace by
\n@sydney-runkle
\nin #10123- Performance boost: skip caching parent namespaces in most cases by\n
\n@sydney-runkle
\nin #10113
... (truncated)
\nSourced from pydantic's\nchangelog.
\n\n\nv2.9.0 (2024-09-05)
\n\nThe code released in v2.9.0 is practically identical to that of\nv2.9.0b2.
\nWhat's Changed
\nPackaging
\n\n
\n- Bump
\nruff
tov0.5.0
and\npyright
tov1.1.369
by@sydney-runkle
\nin #9801- Bump
\npydantic-extra-types
tov2.9.0
by@sydney-runkle
\nin #9832- Support compatibility with
\npdm v2.18.1
by@Viicos
in #10138- Bump
\nv1
version stub tov1.10.18
by@sydney-runkle
\nin #10214- Bump
\npydantic-core
tov2.23.2
by@sydney-runkle
\nin #10311New Features
\n\n
\n- Add support for
\nZoneInfo
by@Youssefares
in\n#9896- Add
\nConfig.val_json_bytes
by@josh-newman
in\n#9770- Add DSN for Snowflake by
\n@aditkumar72
in\n#10128- Support
\ncomplex
number by@changhc
in #9654- Add support for
\nannotated_types.Not
by@aditkumar72
in\n#10210- Allow
\nWithJsonSchema
to inject$ref
s w/\nhttp
orhttps
links by@dAIsySHEng1
in\n#9863- Allow validators to customize validation JSON schema by
\n@Viicos
in #10094- Support parametrized
\nPathLike
types by@nix010
in #9764- Add tagged union serializer that attempts to use
\nstr
or\ncallable
discriminators to select the correct serializer by\n@sydney-runkle
\nin in pydantic/pydantic-core#1397Changes
\n\n
\n- Breaking Change: Merge
\ndict
type\njson_schema_extra
by@sydney-runkle
\nin #9792\n\n
\n- For more info (how to replicate old behavior) on this change, see here
\n- Refactor annotation injection for known (often generic) types by
\n@sydney-runkle
\nin #9979- Move annotation compatibility errors to validation phase by
\n@sydney-runkle
\nin #9999- Improve runtime errors for string constraints like\n
\npattern
for incompatible types by@sydney-runkle
\nin #10158- Remove
\n'allOf'
JSON schema workarounds by@dpeachey
in #10029- Remove
\ntyped_dict_cls
data from\nCoreMetadata
by@sydney-runkle
\nin #10180- Deprecate passing a dict to the
\nExamples
class by@Viicos
in #10181- Remove
\ninitial_metadata
from internal metadata\nconstruct by@sydney-runkle
\nin #10194- Use
\nre.Pattern.search
instead of\nre.Pattern.match
for consistency withrust
\nbehavior by@tinez
\nin pydantic/pydantic-core#1368- Show value of wrongly typed data in
\npydantic-core
\nserialization warning by@BoxyUwU
in pydantic/pydantic-core#1377- Breaking Change: in
\npydantic-core
, change\nmetadata
type hint in core schemas fromAny
\n->Dict[str, Any] | None
by@sydney-runkle
\nin pydantic/pydantic-core#1411- Raise helpful warning when
\nself
isn't returned from\nmodel validator by@sydney-runkle
\nin #10255Performance
\n\n
\n\n- Initial start at improving import times for modules, using caching\nprimarily by
\n@sydney-runkle
\nin #10009- Using cached internal import for
\nBaseModel
by@sydney-runkle
\nin #10013- Simplify internal generics logic - remove generator overhead by
\n@sydney-runkle
\nin #10059- Remove default module globals from types namespace by
\n@sydney-runkle
\nin #10123
... (truncated)
\ned92d0a
\nPrep for v2.9 release (#10311)eecde7b
\nFix lifecycle docs formatting (#10309)447879b
\nAdd schema generation benchmarks for models with custom serializers (#10290)91a4993
\nAdd link for complex docs (#10301)8a01cc8
\nRespect schema_generator
config value in\nTypeAdapter
(#10300)5c24abb
\nEnsure __pydantic_complete__
is set when rebuilding\ndataclasses (#10291)0a78494
\nTry fix for coverage
with hidden files (#10298)d7e8125
\nEnsure coverage data artifact is correctly uploaded (#10292)c109563
\nSupport signature for wrap validators without info
(#10277)0115f7b
\nReformat + add some benchmarks for annotated validators (#10276)Sourced from ruff's\nreleases.
\n\n\n0.6.4
\nRelease Notes
\nPreview features
\n\n
\n- [
\nflake8-builtins
] Use dynamic builtins list based on\nPython version (#13172)- [
\npydoclint
] Permit yieldingNone
in\nDOC402
andDOC403
(#13148)- [
\npylint
] Update diagnostic message for\nPLW3201
(#13194)- [
\nruff
] Implementpost-init-default
\n(RUF033
) (#13192)- [
\nruff
] Implement useless if-else (RUF034
)\n(#13218)Rule changes
\n\n
\n- [
\nflake8-pyi
] Respect\npep8_naming.classmethod-decorators
settings when\ndetermining if a method is a classmethod in\ncustom-type-var-return-type
(PYI019
) (#13162)- [
\nflake8-pyi
] Teach various rules that annotations might\nbe stringized (#12951)- [
\npylint
] Avoidno-self-use
for\nattrs
-style validators (#13166)- [
\npylint
] Recurse into subscript subexpressions when\nsearching for list/dict lookups (PLR1733
,\nPLR1736
) (#13186)- [
\npyupgrade
] Detectaiofiles.open
calls in\nUP015
(#13173)- [
\npyupgrade
] Marksys.version_info[0] <\n3
and similar comparisons as outdated (UP036
) (#13175)CLI
\n\n
\n- Enrich messages of SARIF results (#13180)
\n- Handle singular case for incompatible rules warning in
\nruff\nformat
output (#13212)Bug fixes
\n\n
\n- [
\npydocstyle
] Improve heuristics for detecting\nGoogle-style docstrings (#13142)- [
\nrefurb
] Treatsep
arguments with effects\nas unsafe removals (FURB105
) (#13165)Contributors
\n\n
\n- \n
@AlexWaygood
- \n
@Jinior
- \n
@MichaReiser
- \n
@RubenVanEldik
- \n
@RussellLuo
- \n
@Slyces
- \n
@carljm
- \n
@charliermarsh
- \n
@chriskrycho
- \n
@dhruvmanila
- \n
@dylwil3
- \n
@github-actions
- \n
@iamlucasvieira
- \n
@jamesbraza
- \n
@renovate
- \n
@tjkuson
- \n
@zhoufanjin
Install ruff 0.6.4
\n\n
... (truncated)
\nSourced from ruff's\nchangelog.
\n\n\n0.6.4
\nPreview features
\n\n
\n- [
\nflake8-builtins
] Use dynamic builtins list based on\nPython version (#13172)- [
\npydoclint
] Permit yieldingNone
in\nDOC402
andDOC403
(#13148)- [
\npylint
] Update diagnostic message for\nPLW3201
(#13194)- [
\nruff
] Implementpost-init-default
\n(RUF033
) (#13192)- [
\nruff
] Implement useless if-else (RUF034
)\n(#13218)Rule changes
\n\n
\n- [
\nflake8-pyi
] Respect\npep8_naming.classmethod-decorators
settings when\ndetermining if a method is a classmethod in\ncustom-type-var-return-type
(PYI019
) (#13162)- [
\nflake8-pyi
] Teach various rules that annotations might\nbe stringized (#12951)- [
\npylint
] Avoidno-self-use
for\nattrs
-style validators (#13166)- [
\npylint
] Recurse into subscript subexpressions when\nsearching for list/dict lookups (PLR1733
,\nPLR1736
) (#13186)- [
\npyupgrade
] Detectaiofiles.open
calls in\nUP015
(#13173)- [
\npyupgrade
] Marksys.version_info[0] <\n3
and similar comparisons as outdated (UP036
) (#13175)CLI
\n\n
\n- Enrich messages of SARIF results (#13180)
\n- Handle singular case for incompatible rules warning in
\nruff\nformat
output (#13212)Bug fixes
\n\n
65cc6ec
\nBump version to 0.6.4 (#13253)66fe226
\n[red-knot] fix lookup of nonlocal names in deferred annotations (#13236)e965f9c
\n[red-knot] Infer Unknown
for the loop var in async\nfor
loops (#13243)0512428
\n[red-knot] Emit a diagnostic if the value of a starred expression or a\n`yield...46a4573
\n[red-knot] Add type inference for basic for
loops (#13195)5728909
\nMake mypy pass on black in knot_benchmark
(#13235)9d1bd7a
\n[pylint] removed dunder methods in Python 3 (PLW3201) (#13194)e37bde4
\n[ruff] implement useless if-else (RUF034) (#13218)862bd0c
\n[red-knot] Add debug assert to check for duplicate definitions (#13214)e1e9143
\n[red-knot] Handle multiple comprehension targets (#13213)