Sourced from ruff's\r\nreleases.
\r\n\r\n\r\nv0.4.6
\r\nChanges
\r\nBreaking changes
\r\n\r\n
\r\n- Use project-relative paths when calculating GitLab fingerprints (#11532)
\r\nPreview features
\r\n\r\n
\r\n- [
\r\nflake8-async
] Sleep with >24 hour interval should\r\nusually sleep forever (ASYNC116
) (#11498)Rule changes
\r\n\r\n
\r\n- [
\r\nnumpy
] Add missing functions to NumPy 2.0 migration\r\nrule (#11528)- [
\r\nmccabe
] Consider irrefutable pattern similar to\r\nif .. else
forC901
(#11565)- Consider
\r\nmatch
-case
statements for\r\nC901
,PLR0912
, andPLR0915
(#11521)- Remove empty strings when converting to f-string\r\n(
\r\nUP032
) (#11524)- [
\r\nflake8-bandit
]request-without-timeout
\r\nshould warn forrequests.request
(#11548)- [
\r\nflake8-self
] Ignore sunder accesses in\r\nflake8-self
rules (#11546)- [
\r\npyupgrade
] Lint forTypeAliasType
usages\r\n(UP040
) (#11530)Server
\r\n\r\n
\r\n- Respect excludes in
\r\nruff server
configuration discovery\r\n(#11551)- Use default settings if initialization options is empty or not\r\nprovided (#11566)
\r\n- \r\n
ruff server
correctly treats.pyi
files as\r\nstub files (#11535)- \r\n
ruff server
searches for configuration in parent\r\ndirectories (#11537)- \r\n
ruff server
: An empty code action filter no longer\r\nreturns notebook source actions (#11526)Bug fixes
\r\n\r\n
\r\n- [
\r\nflake8-logging-format
] Fix autofix title in\r\nlogging-warn
(G010
) (#11514)- [
\r\nrefurb
] Avoid recommending\r\noperator.itemgetter
with dependence on lambda arguments (#11574)- [
\r\nflake8-simplify
] Avoid recommending context manager in\r\n__enter__
implementations (#11575)- Create intermediary directories for
\r\n--output-file
(#11550)- Propagate reads on global variables (#11584)
\r\n- Treat all
\r\nsingledispatch
arguments as runtime-required\r\n(#11523)Contributors
\r\n\r\n
\r\n\r\n- \r\n
@AlexWaygood
- \r\n
@Amar1729
- \r\n
@MichaReiser
- \r\n
@akshetpandey
- \r\n
@alex-700
- \r\n
@blueraft
- \r\n
@chadell
- \r\n
@charliermarsh
- \r\n
@dhruvmanila
- \r\n
@ekohilas
... (truncated)
\r\nSourced from ruff's\r\nchangelog.
\r\n\r\n\r\n0.4.6
\r\nBreaking changes
\r\n\r\n
\r\n- Use project-relative paths when calculating GitLab fingerprints (#11532)
\r\nPreview features
\r\n\r\n
\r\n- [
\r\nflake8-async
] Sleep with >24 hour interval should\r\nusually sleep forever (ASYNC116
) (#11498)Rule changes
\r\n\r\n
\r\n- [
\r\nnumpy
] Add missing functions to NumPy 2.0 migration\r\nrule (#11528)- [
\r\nmccabe
] Consider irrefutable pattern similar to\r\nif .. else
forC901
(#11565)- Consider
\r\nmatch
-case
statements for\r\nC901
,PLR0912
, andPLR0915
(#11521)- Remove empty strings when converting to f-string\r\n(
\r\nUP032
) (#11524)- [
\r\nflake8-bandit
]request-without-timeout
\r\nshould warn forrequests.request
(#11548)- [
\r\nflake8-self
] Ignore sunder accesses in\r\nflake8-self
rules (#11546)- [
\r\npyupgrade
] Lint forTypeAliasType
usages\r\n(UP040
) (#11530)Server
\r\n\r\n
\r\n- Respect excludes in
\r\nruff server
configuration discovery\r\n(#11551)- Use default settings if initialization options is empty or not\r\nprovided (#11566)
\r\n- \r\n
ruff server
correctly treats.pyi
files as\r\nstub files (#11535)- \r\n
ruff server
searches for configuration in parent\r\ndirectories (#11537)- \r\n
ruff server
: An empty code action filter no longer\r\nreturns notebook source actions (#11526)Bug fixes
\r\n\r\n
\r\n- [
\r\nflake8-logging-format
] Fix autofix title in\r\nlogging-warn
(G010
) (#11514)- [
\r\nrefurb
] Avoid recommending\r\noperator.itemgetter
with dependence on lambda arguments (#11574)- [
\r\nflake8-simplify
] Avoid recommending context manager in\r\n__enter__
implementations (#11575)- Create intermediary directories for
\r\n--output-file
(#11550)- Propagate reads on global variables (#11584)
\r\n- Treat all
\r\nsingledispatch
arguments as runtime-required\r\n(#11523)
49a5a9c
\r\nBump version to v0.4.6 (#11585)69d9212
\r\nPropagate reads on global variables (#11584)4a30558
\r\n[flake8-bandit
] request-without-timeout
should\r\nwarn for `requests.request...16acd49
\r\nRemove some unused pub
functions (#11576)3989cb8
\r\nMake ruff_notebook
a workspace dependency in\r\nruff_server
(#11572)a38c05b
\r\nAvoid recommending context manager in __enter__
\r\nimplementations (#11575)ab107ef
\r\nAvoid recomending operator.itemgetter with dependence on lambda arg (#11574)b36c713
\r\nConsider irrefutable pattern similar to if .. else
for\r\nC901
(#11565)34a5063
\r\nRespect excludes in ruff server
configuration discovery (#11551)adc0a5d
\r\nRename document module to text_document (#11571)Sourced from ruff's\r\nreleases.
\r\n\r\n\r\nv0.4.5
\r\nChanges
\r\nRuff's language server is now in Beta
\r\n\r\n
v0.4.5
marks the official Beta release ofruff\r\nserver
, an integrated language server built into Ruff.ruff\r\nserver
supports the same feature set asruff-lsp
,\r\npowering linting, formatting, and code fixes in Ruff's editor\r\nintegrations -- but with superior performance and no installation\r\nrequired. We'd love your feedback!You can enable
\r\nruff server
in the VS\r\nCode extension today.To read more about this exciting milestone, check out our blog post!
\r\nRule changes
\r\n\r\n
\r\n- [
\r\nflake8-future-annotations
] Reword\r\nfuture-rewritable-type-annotation
(FA100
)\r\nmessage (#11381)- [
\r\npycodestyle
] Consider soft keywords for\r\nE27
rules (#11446)- [
\r\npyflakes
] Recommend adding unused import bindings to\r\n__all__
(#11314)- [
\r\npyflakes
] Update documentation and deprecate\r\nignore_init_module_imports
(#11436)- [
\r\npyupgrade
] Mark quotes as unnecessary for\r\nnon-evaluated annotations (#11485)Formatter
\r\n\r\n
\r\n- Avoid multiline quotes warning with
\r\nquote-style =\r\npreserve
(#11490)Server
\r\n\r\n
\r\n- Support Jupyter Notebook files (#11206)
\r\n- Support
\r\nnoqa
comment code actions (#11276)- Fix automatic configuration reloading (#11492)
\r\n- Fix several issues with configuration in Neovim and Helix (#11497)
\r\nCLI
\r\n\r\n
\r\n- Add
\r\n--output-format
as a CLI option forruff\r\nconfig
(#11438)Bug fixes
\r\n\r\n
\r\n- Avoid
\r\nPLE0237
for property with setter (#11377)- Avoid
\r\nTCH005
forif
stmt with\r\nelif
/else
block (#11376)- Avoid flagging
\r\n__future__
annotations as required for\r\nnon-evaluated type annotations (#11414)- Check for ruff executable in 'bin' directory as installed by 'pip\r\ninstall --target'. (#11450)
\r\n- Sort edits prior to deduplicating in quotation fix (#11452)
\r\n- Treat escaped newline as valid sequence (#11465)
\r\n- [
\r\nflake8-pie
] Preserve parentheses in\r\nunnecessary-dict-kwargs
(#11372)- [
\r\npylint
] Ignore__slots__
with dynamic\r\nvalues (#11488)- [
\r\npylint
] Removetry
body from branch\r\ncounting (#11487)- [
\r\nrefurb
] Respect operator precedence in\r\nFURB110
(#11464)Documentation
\r\n\r\n
\r\n\r\n- Add
\r\n--preview
to the README (#11395)
... (truncated)
\r\nSourced from ruff's\r\nchangelog.
\r\n\r\n\r\n0.4.5
\r\nRuff's language server is now in Beta
\r\n\r\n
v0.4.5
marks the official Beta release ofruff\r\nserver
, an integrated language server built into Ruff.\r\nruff server
supports the same feature set as\r\nruff-lsp
, powering linting, formatting, and\r\ncode fixes in Ruff's editor integrations -- but with superior\r\nperformance and\r\nno installation required. We'd love your feedback!You can enable
\r\nruff server
in the VS\r\nCode extension today.To read more about this exciting milestone, check out our blog post!
\r\nRule changes
\r\n\r\n
\r\n- [
\r\nflake8-future-annotations
] Reword\r\nfuture-rewritable-type-annotation
(FA100
)\r\nmessage (#11381)- [
\r\npycodestyle
] Consider soft keywords for\r\nE27
rules (#11446)- [
\r\npyflakes
] Recommend adding unused import bindings to\r\n__all__
(#11314)- [
\r\npyflakes
] Update documentation and deprecate\r\nignore_init_module_imports
(#11436)- [
\r\npyupgrade
] Mark quotes as unnecessary for\r\nnon-evaluated annotations (#11485)Formatter
\r\n\r\n
\r\n- Avoid multiline quotes warning with
\r\nquote-style =\r\npreserve
(#11490)Server
\r\n\r\n
\r\n- Support Jupyter Notebook files (#11206)
\r\n- Support
\r\nnoqa
comment code actions (#11276)- Fix automatic configuration reloading (#11492)
\r\n- Fix several issues with configuration in Neovim and Helix (#11497)
\r\nCLI
\r\n\r\n
\r\n- Add
\r\n--output-format
as a CLI option forruff\r\nconfig
(#11438)Bug fixes
\r\n\r\n
\r\n- Avoid
\r\nPLE0237
for property with setter (#11377)- Avoid
\r\nTCH005
forif
stmt with\r\nelif
/else
block (#11376)- Avoid flagging
\r\n__future__
annotations as required for\r\nnon-evaluated type annotations (#11414)- Check for ruff executable in 'bin' directory as installed by 'pip\r\ninstall --target'. (#11450)
\r\n- Sort edits prior to deduplicating in quotation fix (#11452)
\r\n- Treat escaped newline as valid sequence (#11465)
\r\n- [
\r\nflake8-pie
] Preserve parentheses in\r\nunnecessary-dict-kwargs
(#11372)- [
\r\npylint
] Ignore__slots__
with dynamic\r\nvalues (#11488)- [
\r\npylint
] Removetry
body from branch\r\ncounting (#11487)- [
\r\nrefurb
] Respect operator precedence in\r\nFURB110
(#11464)Documentation
\r\n\r\n
... (truncated)
\r\n550aa87
\r\nBump version to v0.4.5
(#11502)3c22a3b
\r\nMinor edits to ruff server
docs (#11500)6263923
\r\nUpdate documentation for ruff server
with new migration\r\nguide (#11499)94abea4
\r\nruff server
: Fix multiple issues with Neovim and Helix (#11497)519a650
\r\nMark quotes as unnecessary for non-evaluated annotations (#11485)573facd
\r\nFix automatic configuration reloading for text and notebook documents\r\n(#11492)3cb2e67
\r\nruff.applyFormat
now formats an entire notebook document\r\n(#11493)f0046ab
\r\nMove has_comments
to CommentRanges
(#11495)5bb9720
\r\nAvoid multiline quotes warning with quote-style = preserve
\r\n(#11490)9ff18bf
\r\nSimplify Neovim docs for the LSP setup (#11489)Sourced from requests's\r\nreleases.
\r\n\r\n\r\nv2.32.2
\r\n2.32.2 (2024-05-21)
\r\nDeprecations
\r\n\r\n
\r\n- \r\n
\r\nTo provide a more stable migration for custom HTTPAdapters impacted\r\nby the CVE changes in 2.32.0, we've renamed
\r\n_get_connection
\r\nto\r\na new public API,get_connection_with_tls_context
. Existing\r\ncustom\r\nHTTPAdapters will need to migrate their code to use this new API.\r\nget_connection
is considered deprecated in all versions of\r\nRequests>=2.32.0.A minimal (2-line) example has been provided in the linked PR to ease\r\nmigration, but we strongly urge users to evaluate if their custom\r\nadapter\r\nis subject to the same issue described in CVE-2024-35195. (#6710)
\r\nv2.32.1
\r\n2.32.1 (2024-05-20)
\r\nBugfixes
\r\n\r\n
\r\n- Add missing test certs to the sdist distributed on PyPI.
\r\nv2.32.0
\r\n2.32.0 (2024-05-20)
\r\n🐍 PYCON US 2024 EDITION 🐍
\r\nSecurity
\r\n\r\n
\r\n- Fixed an issue where setting
\r\nverify=False
on the first\r\nrequest from a\r\nSession will cause subsequent requests to the same origin to\r\nalso ignore\r\ncert verification, regardless of the value ofverify
.\r\n(https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56)Improvements
\r\n\r\n
\r\n- \r\n
verify=True
now reuses a global SSLContext which should\r\nimprove\r\nrequest time variance between first and subsequent requests. It should\r\nalso minimize certificate load time on Windows systems when using a\r\nPython\r\nversion built with OpenSSL 3.x. (#6667)- Requests now supports optional use of character detection\r\n(
\r\nchardet
orcharset_normalizer
) when\r\nrepackaged or vendored.\r\nThis enablespip
and other projects to minimize their\r\nvendoring\r\nsurface area. TheResponse.text()
and\r\napparent_encoding
APIs\r\nwill default toutf-8
if neither library is present. (#6702)Bugfixes
\r\n\r\n
\r\n\r\n- Fixed bug in length detection where emoji length was incorrectly\r\ncalculated in the request content-length. (#6589)
\r\n- Fixed deserialization bug in JSONDecodeError. (#6629)
\r\n- Fixed bug where an extra leading
\r\n/
(path separator)\r\ncould lead\r\nurllib3 to unnecessarily reparse the request URI. (#6644)
... (truncated)
\r\nSourced from requests's\r\nchangelog.
\r\n\r\n\r\n2.32.2 (2024-05-21)
\r\nDeprecations
\r\n\r\n
\r\n- \r\n
\r\nTo provide a more stable migration for custom HTTPAdapters impacted\r\nby the CVE changes in 2.32.0, we've renamed
\r\n_get_connection
\r\nto\r\na new public API,get_connection_with_tls_context
. Existing\r\ncustom\r\nHTTPAdapters will need to migrate their code to use this new API.\r\nget_connection
is considered deprecated in all versions of\r\nRequests>=2.32.0.A minimal (2-line) example has been provided in the linked PR to ease\r\nmigration, but we strongly urge users to evaluate if their custom\r\nadapter\r\nis subject to the same issue described in CVE-2024-35195. (#6710)
\r\n2.32.1 (2024-05-20)
\r\nBugfixes
\r\n\r\n
\r\n- Add missing test certs to the sdist distributed on PyPI.
\r\n2.32.0 (2024-05-20)
\r\nSecurity
\r\n\r\n
\r\n- Fixed an issue where setting
\r\nverify=False
on the first\r\nrequest from a\r\nSession will cause subsequent requests to the same origin to\r\nalso ignore\r\ncert verification, regardless of the value ofverify
.\r\n(https://github.com/psf/requests/security/advisories/GHSA-9wx4-h78v-vm56)Improvements
\r\n\r\n
\r\n- \r\n
verify=True
now reuses a global SSLContext which should\r\nimprove\r\nrequest time variance between first and subsequent requests. It should\r\nalso minimize certificate load time on Windows systems when using a\r\nPython\r\nversion built with OpenSSL 3.x. (#6667)- Requests now supports optional use of character detection\r\n(
\r\nchardet
orcharset_normalizer
) when\r\nrepackaged or vendored.\r\nThis enablespip
and other projects to minimize their\r\nvendoring\r\nsurface area. TheResponse.text()
and\r\napparent_encoding
APIs\r\nwill default toutf-8
if neither library is present. (#6702)Bugfixes
\r\n\r\n
\r\n- Fixed bug in length detection where emoji length was incorrectly\r\ncalculated in the request content-length. (#6589)
\r\n- Fixed deserialization bug in JSONDecodeError. (#6629)
\r\n- Fixed bug where an extra leading
\r\n/
(path separator)\r\ncould lead\r\nurllib3 to unnecessarily reparse the request URI. (#6644)Deprecations
\r\n\r\n
... (truncated)
\r\n88dce9d
\r\nv2.32.2c98e4d1
\r\nMerge pull request #6710\r\nfrom nateprewitt/api_rename92075b3
\r\nAdd deprecation warningaa1461b
\r\nMove _get_connection to get_connection_with_tls_context970e8ce
\r\nv2.32.1d6ebc4a
\r\nv2.32.09a40d12
\r\nAvoid reloading root certificates to improve concurrent performance (#6667)0c030f7
\r\nMerge pull request #6702\r\nfrom nateprewitt/no_char_detection555b870
\r\nAllow character detection dependencies to be optional in post-packaging\r\nstepsd6dded3
\r\nMerge pull request #6700\r\nfrom franekmagiera/update-redirect-to-invalid-uri-testSourced from pytest's\r\nreleases.
\r\n\r\n\r\n8.2.1
\r\npytest 8.2.1 (2024-05-19)
\r\nImprovements
\r\n\r\n
\r\n- #12334:\r\nSupport for Python 3.13 (beta1 at the time of writing).
\r\nBug Fixes
\r\n\r\n
\r\n- #12120:\r\nFix [PermissionError]{.title-ref} crashes arising from directories which\r\nare not selected on the command-line.
\r\n- #12191:\r\nKeyboard interrupts and system exits are now properly handled during the\r\ntest collection.
\r\n- #12300:\r\nFixed handling of 'Function not implemented' error under squashfuse_ll,\r\nwhich is a different way to say that the mountpoint is read-only.
\r\n- #12308:\r\nFix a regression in pytest 8.2.0 where the permissions of\r\nautomatically-created
\r\n.pytest_cache
directories became\r\nrwx------
instead of the expected\r\nrwxr-xr-x
.Trivial/Internal Changes
\r\n\r\n
\r\n- #12333:\r\npytest releases are now attested using the recent Artifact\r\nAttestation support from GitHub, allowing users to verify the\r\nprovenance of pytest's sdist and wheel artifacts.
\r\n
66ff8df
\r\nPrepare release version 8.2.13ffcfd1
\r\nMerge pull request #12340\r\nfrom pytest-dev/backport-12334-to-8.2.x0b28313
\r\n[8.2.x] Add Python 3.13 (beta) supportf3dd93a
\r\n[8.2.x] Attest package provenance (#12335)bb5a125
\r\n[8.2.x] Spelling (#12331)f179bf2
\r\nMerge pull request #12327\r\nfrom pytest-dev/backport-12325-to-8.2.x2b671b5
\r\n[8.2.x] cacheprovider: fix .pytest_cache
not being\r\nworld-readable65ab7cb
\r\nMerge pull request #12324\r\nfrom pytest-dev/backport-12320-to-8.2.x4d5fb7d
\r\nMerge pull request #12319\r\nfrom pytest-dev/backport-12311-to-8.2.xcbe5996
\r\n[8.2.x] changelog: document unittest 8.2 change as breaking