Commit Graph

  • f29e73d544 - update to 0.11.4 * Preview features * [ruff] Implement invalid-rule-code as RUF102 * [syntax-errors] Detect duplicate keys in match mapping patterns * [syntax-errors] Detect duplicate attributes in match class patterns * [syntax-errors] Detect invalid syntax in annotations * [airflow] Add more autofixes for AIR302 * [airflow] Move AIR301 to AIR002 * [airflow] Move AIR302 to AIR301 and AIR303 to AIR302 * [flake8-bandit] Mark str and list[str] literals as trusted input (S603) * [ruff] Support slices in RUF005 * [syntax-errors] Start detecting compile-time syntax errors * [syntax-errors] Duplicate type parameter names * [syntax-errors] Irrefutable case pattern before final case * [syntax-errors] Multiple assignments in case pattern * [syntax-errors] Single starred assignment target * [syntax-errors] Starred expressions in return, yield, and for * [syntax-errors] Store to or delete __debug__ * Bug fixes * [syntax-errors] Fix multiple assignment error for class fields in match patterns * Don't skip visiting non-tuple slice in typing.Annotated subscripts * Error instead of panic! when running Ruff from a deleted directory * [syntax-errors] Fix false positive for parenthesized tuple index * CLI * Check pyproject.toml correctly when it is passed via stdin * Configuration * [flake8-import-conventions] Add import numpy.typing as npt to default flake8-import-conventions.aliases * Documentation * [refurb] Document why UserDict, UserList, and UserString are preferred over dict, list, and str (FURB189) Ondřej Súkup 2025-04-06 19:01:15 +00:00
  • 4e7e433589 Accepting request 1255264 from devel:languages:python Ana Guerrero 2025-03-25 21:07:23 +00:00
  • fff3879d3b Accepting request 1255264 from devel:languages:python Ana Guerrero 2025-03-25 21:07:23 +00:00
  • f4037431cf - update to 0.11.2 * Preview features * [syntax-errors] Fix false-positive syntax errors emitted for annotations on variadic parameters before Python 3.11 * [airflow] Add chain, chain_linear and cross_downstream for AIR302 * [syntax-errors] Improve error message and range for pre-PEP-614 decorator syntax errors * [syntax-errors] PEP 701 f-strings before Python 3.12 * [syntax-errors] Parenthesized context managers before Python 3.9 * [syntax-errors] Star annotations before Python 3.11 * [syntax-errors] Star expression in index before Python 3.11 * [syntax-errors] Unparenthesized assignment expressions in sets and indexes * Bug fixes * Server: Allow FixAll action in presence of version-specific syntax errors * [flake8-bandit] Allow raw strings in suspicious-mark-safe-usage (S308) * [refurb] Avoid panicking unwrap in verbose-decimal-constructor (FURB157) * [refurb] Fix starred expressions fix (FURB161) * Fix --statistics reporting for unsafe fixes * Rule changes * [flake8-executables] Allow uv run in shebang line for shebang-missing-python (EXE003) * CLI * Add --exit-non-zero-on-format * Documentation * Update Ruff tutorial to avoid non-existent fix in __init__.py * [flake8-gettext] Swap format- and printf-in-get-text-func-call examples (INT002, INT003) Ondřej Súkup 2025-03-22 14:30:24 +00:00
  • 70ff739cfd - update to 0.11.2 * Preview features * [syntax-errors] Fix false-positive syntax errors emitted for annotations on variadic parameters before Python 3.11 * [airflow] Add chain, chain_linear and cross_downstream for AIR302 * [syntax-errors] Improve error message and range for pre-PEP-614 decorator syntax errors * [syntax-errors] PEP 701 f-strings before Python 3.12 * [syntax-errors] Parenthesized context managers before Python 3.9 * [syntax-errors] Star annotations before Python 3.11 * [syntax-errors] Star expression in index before Python 3.11 * [syntax-errors] Unparenthesized assignment expressions in sets and indexes * Bug fixes * Server: Allow FixAll action in presence of version-specific syntax errors * [flake8-bandit] Allow raw strings in suspicious-mark-safe-usage (S308) * [refurb] Avoid panicking unwrap in verbose-decimal-constructor (FURB157) * [refurb] Fix starred expressions fix (FURB161) * Fix --statistics reporting for unsafe fixes * Rule changes * [flake8-executables] Allow uv run in shebang line for shebang-missing-python (EXE003) * CLI * Add --exit-non-zero-on-format * Documentation * Update Ruff tutorial to avoid non-existent fix in __init__.py * [flake8-gettext] Swap format- and printf-in-get-text-func-call examples (INT002, INT003) Ondřej Súkup 2025-03-22 14:30:24 +00:00
  • e5371f95b4 Accepting request 1253416 from devel:languages:python Ana Guerrero 2025-03-17 21:14:57 +00:00
  • 37b60ade5e Accepting request 1253416 from devel:languages:python Ana Guerrero 2025-03-17 21:14:57 +00:00
  • 0116b6c39b - update to 0.11.0 - This is a follow-up to release 0.10.0. Because of a mistake in the release process, the requires-python inference changes were not included in that release. Ruff 0.11.0 now includes this change as well as the stabilization of the preview behavior for PGH004. Ondřej Súkup 2025-03-15 22:52:29 +00:00
  • 7cae7bc3ae - update to 0.11.0 - This is a follow-up to release 0.10.0. Because of a mistake in the release process, the requires-python inference changes were not included in that release. Ruff 0.11.0 now includes this change as well as the stabilization of the preview behavior for PGH004. Ondřej Súkup 2025-03-15 22:52:29 +00:00
  • 17683329e8 Accepting request 1253038 from devel:languages:python Dominique Leuenberger 2025-03-15 15:15:59 +00:00
  • e9931555ff Accepting request 1253038 from devel:languages:python Dominique Leuenberger 2025-03-15 15:15:59 +00:00
  • 66fdcfc207 - update to 0.10.0 - check out https://astral.sh/blog/ruff-v0.10.0 for migration info - pretty long changelog please see * https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md * https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md Ondřej Súkup 2025-03-14 10:53:51 +00:00
  • e9b5597053 - update to 0.10.0 - check out https://astral.sh/blog/ruff-v0.10.0 for migration info - pretty long changelog please see * https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md * https://github.com/astral-sh/ruff/blob/main/BREAKING_CHANGES.md Ondřej Súkup 2025-03-14 10:53:51 +00:00
  • c74f86fc81 Accepting request 1251746 from devel:languages:python Ana Guerrero 2025-03-11 19:43:54 +00:00
  • 52036ea5f8 Accepting request 1251746 from devel:languages:python Ana Guerrero 2025-03-11 19:43:54 +00:00
  • 4d0dc08d14 fix ? Ondřej Súkup 2025-03-10 10:22:47 +00:00
  • fec1557035 fix ? Ondřej Súkup 2025-03-10 10:22:47 +00:00
  • 3cb75413e0 - update to 0.9.10 * Preview features * [ruff] Add new rule RUF059: Unused unpacked assignment * [syntax-errors] Detect assignment expressions before Python 3.8 * [syntax-errors] Named expressions in decorators before Python 3.9 * [syntax-errors] Parenthesized keyword argument names after Python 3.8 * [syntax-errors] Positional-only parameters before Python 3.8 * [syntax-errors] Tuple unpacking in return and yield before Python 3.8 * [syntax-errors] Type parameter defaults before Python 3.13 * [syntax-errors] Type parameter lists before Python 3.12 * [syntax-errors] except* before Python 3.11 * [syntax-errors] type statements before Python 3.12 * Bug fixes * Escape template filenames in glob patterns in configuration * [flake8-simplify] Exempt unittest context methods for SIM115 rule * Formatter: Fix syntax error location in notebooks * [pyupgrade] Do not offer fix when at least one target is global/nonlocal (UP028) * [flake8-builtins] Ignore variables matching module attribute names (A001) * [pylint] Convert code keyword argument to a positional argument in fix for (PLR1722) * CLI * Move rule code from description to check_name in GitLab output serializer * Documentation * [pydocstyle] Clarify that D417 only checks docstrings with an arguments section Ondřej Súkup 2025-03-10 10:21:38 +00:00
  • 25a59587ae - update to 0.9.10 * Preview features * [ruff] Add new rule RUF059: Unused unpacked assignment * [syntax-errors] Detect assignment expressions before Python 3.8 * [syntax-errors] Named expressions in decorators before Python 3.9 * [syntax-errors] Parenthesized keyword argument names after Python 3.8 * [syntax-errors] Positional-only parameters before Python 3.8 * [syntax-errors] Tuple unpacking in return and yield before Python 3.8 * [syntax-errors] Type parameter defaults before Python 3.13 * [syntax-errors] Type parameter lists before Python 3.12 * [syntax-errors] except* before Python 3.11 * [syntax-errors] type statements before Python 3.12 * Bug fixes * Escape template filenames in glob patterns in configuration * [flake8-simplify] Exempt unittest context methods for SIM115 rule * Formatter: Fix syntax error location in notebooks * [pyupgrade] Do not offer fix when at least one target is global/nonlocal (UP028) * [flake8-builtins] Ignore variables matching module attribute names (A001) * [pylint] Convert code keyword argument to a positional argument in fix for (PLR1722) * CLI * Move rule code from description to check_name in GitLab output serializer * Documentation * [pydocstyle] Clarify that D417 only checks docstrings with an arguments section Ondřej Súkup 2025-03-10 10:21:38 +00:00
  • 3cba15ea19 - update to 0.9.7 * Preview features * Consider __new__ methods as special function type for enforcing class method or static method rules * [airflow] Improve the internal logic to differentiate deprecated symbols (AIR303) * [refurb] Manual timezone monkeypatching (FURB162) * [ruff] Implicit class variable in dataclass (RUF045) * [ruff] Skip singleton starred expressions for incorrectly-parenthesized-tuple-in-subscript (RUF031) * [refurb] Check for subclasses includes subscript expressions (FURB189) * Rule changes * [flake8-debugger] Also flag sys.breakpointhook and sys.__breakpointhook__ (T100) * [pycodestyle] Exempt site.addsitedir(...) calls (E402) * Formatter * Fix unstable formatting of trailing end-of-line comments of parenthesized attribute values * Server * Fix handling of requests received after shutdown message * Ignore source.organizeImports.ruff and source.fixAll.ruff code actions for a notebook cell * Include document specific debug info for ruff.printDebugInformation * Update server to return the debug info as string with ruff.printDebugInformation * CLI * Warn on invalid noqa even when there are no diagnostics * Better error messages while loading configuration extends * Bug fixes * [flake8-comprehensions] Handle trailing comma in C403 fix * [flake8-pyi] Avoid flagging custom-typevar-for-self on metaclass methods (PYI019) * [pydocstyle] Handle arguments with the same names as sections (D417) * [pylint] Correct ordering of arguments in fix for if-stmt-min-max (PLR1730) * [pylint] Do not offer fix for raw strings (PLE251) * [pyupgrade] Do not upgrade functional TypedDicts with private field names to the class-based syntax (UP013) * [pyupgrade] Handle micro version numbers correctly (UP036) * [pyupgrade] Unwrap unary expressions correctly (UP018) Ondřej Súkup 2025-03-04 13:47:29 +00:00
  • bf9fb0186b - update to 0.9.7 * Preview features * Consider __new__ methods as special function type for enforcing class method or static method rules * [airflow] Improve the internal logic to differentiate deprecated symbols (AIR303) * [refurb] Manual timezone monkeypatching (FURB162) * [ruff] Implicit class variable in dataclass (RUF045) * [ruff] Skip singleton starred expressions for incorrectly-parenthesized-tuple-in-subscript (RUF031) * [refurb] Check for subclasses includes subscript expressions (FURB189) * Rule changes * [flake8-debugger] Also flag sys.breakpointhook and sys.__breakpointhook__ (T100) * [pycodestyle] Exempt site.addsitedir(...) calls (E402) * Formatter * Fix unstable formatting of trailing end-of-line comments of parenthesized attribute values * Server * Fix handling of requests received after shutdown message * Ignore source.organizeImports.ruff and source.fixAll.ruff code actions for a notebook cell * Include document specific debug info for ruff.printDebugInformation * Update server to return the debug info as string with ruff.printDebugInformation * CLI * Warn on invalid noqa even when there are no diagnostics * Better error messages while loading configuration extends * Bug fixes * [flake8-comprehensions] Handle trailing comma in C403 fix * [flake8-pyi] Avoid flagging custom-typevar-for-self on metaclass methods (PYI019) * [pydocstyle] Handle arguments with the same names as sections (D417) * [pylint] Correct ordering of arguments in fix for if-stmt-min-max (PLR1730) * [pylint] Do not offer fix for raw strings (PLE251) * [pyupgrade] Do not upgrade functional TypedDicts with private field names to the class-based syntax (UP013) * [pyupgrade] Handle micro version numbers correctly (UP036) * [pyupgrade] Unwrap unary expressions correctly (UP018) Ondřej Súkup 2025-03-04 13:47:29 +00:00
  • 6833036aae Accepting request 1248763 from devel:languages:python Dominique Leuenberger 2025-02-27 13:50:21 +00:00
  • cd20e7bcdb Accepting request 1248763 from devel:languages:python Dominique Leuenberger 2025-02-27 13:50:21 +00:00
  • e35796caee - Update to 0.9.7 * Consider __new__ methods as special function type for enforcing class method or static method rules (#13305) * [airflow] Improve the internal logic to differentiate deprecated symbols (AIR303) (#16013) * [refurb] Manual timezone monkeypatching (FURB162) (#16113) * [ruff] Implicit class variable in dataclass (RUF045) (#14349) * [ruff] Skip singleton starred expressions for incorrectly-\ parenthesized-tuple-in-subscript (RUF031) (#16083) * [refurb] Check for subclasses includes subscript expressions (FURB189) (#16155) * [flake8-debugger] Also flag sys.breakpointhook and sys.__breakpointhook__ (T100) (#16191) * [pycodestyle] Exempt site.addsitedir(...) calls (E402) (#16251) * Fix unstable formatting of trailing end-of-line comments of parenthesized attribute values (#16187) * Fix handling of requests received after shutdown message (#16262) * Ignore source.organizeImports.ruff and source.fixAll.ruff code actions for a notebook cell (#16154) * Include document specific debug info for ruff.printDebugInformation (#16215) * Update server to return the debug info as string with ruff.printDebugInformation (#16214) * Warn on invalid noqa even when there are no diagnostics (#16178) * Better error messages while loading configuration extends (#15658) * [flake8-comprehensions] Handle trailing comma in C403 fix (#16110) * [flake8-pyi] Avoid flagging custom-typevar-for-self on metaclass methods (PYI019) (#16141) * [pydocstyle] Handle arguments with the same names as sections (D417) (#16011) * [pylint] Correct ordering of arguments in fix for if-stmt-min-max (PLR1730) (#16080) * [pylint] Do not offer fix for raw strings (PLE251) (#16132) * [pyupgrade] Do not upgrade functional TypedDicts with private field Markéta Machová 2025-02-26 16:17:12 +00:00
  • aa0d6dbfce Accepting request 1248710 from home:glaubitz:branches:devel:languages:python Markéta Machová 2025-02-26 16:17:12 +00:00
  • d8cd5c9e4d Accepting request 1244821 from devel:languages:python Ana Guerrero 2025-02-11 20:21:15 +00:00
  • b29b167a76 Accepting request 1244821 from devel:languages:python Ana Guerrero 2025-02-11 20:21:15 +00:00
  • ed27560117 - update to 0.9.6 * Preview features * [airflow] Add external_task.{ExternalTaskMarker, ExternalTaskSensor} for AIR302 * [flake8-builtins] Make strict module name comparison optional (A005) * [flake8-pyi] Extend fix to Python <= 3.9 for redundant-none-literal (PYI061) * [pylint] Also report when the object isn't a literal (PLE1310) * [ruff] Implement indented-form-feed (RUF054) * [ruff] Skip type definitions for missing-f-string-syntax (RUF027) * Rule changes * [flake8-annotations] Correct syntax for typing.Union in suggested return type fixes for ANN20x rules * [flake8-builtins] Match upstream module name comparison (A005) * [flake8-comprehensions] Detect overshadowed list/set/dict, ignore variadics and named expressions (C417) * [flake8-pie] Remove following comma correctly when the unpacked dictionary is empty (PIE800) * [flake8-simplify] Only trigger SIM401 on known dictionaries * [pylint] Do not report calls when object type and argument type mismatch, remove custom escape handling logic (PLE1310) * [pyupgrade] Comments within parenthesized value ranges should not affect applicability (UP040) * [pyupgrade] Don't introduce invalid syntax when upgrading old-style type aliases with parenthesized multiline values (UP040) * [pyupgrade] Ensure we do not rename two type parameters to the same name (UP049) * [pyupgrade] [ruff] Don't apply renamings if the new name is shadowed in a scope of one of the references to the binding (UP049, RUF052) * [ruff] Update RUF009 to behave similar to B008 and ignore attributes with immutable types * Server * Root exclusions in the server to project root * Bug fixes * [flake8-datetime] Ignore .replace() calls while looking for .astimezone * [flake8-type-checking] Avoid TC004 false positive where the runtime definition is provided by __getattr__ * Documentation * Improve ruff-lsp migration document * Undeprecate ruff.nativeServer Ondřej Súkup 2025-02-10 17:09:06 +00:00
  • 781bd7c925 - update to 0.9.6 * Preview features * [airflow] Add external_task.{ExternalTaskMarker, ExternalTaskSensor} for AIR302 * [flake8-builtins] Make strict module name comparison optional (A005) * [flake8-pyi] Extend fix to Python <= 3.9 for redundant-none-literal (PYI061) * [pylint] Also report when the object isn't a literal (PLE1310) * [ruff] Implement indented-form-feed (RUF054) * [ruff] Skip type definitions for missing-f-string-syntax (RUF027) * Rule changes * [flake8-annotations] Correct syntax for typing.Union in suggested return type fixes for ANN20x rules * [flake8-builtins] Match upstream module name comparison (A005) * [flake8-comprehensions] Detect overshadowed list/set/dict, ignore variadics and named expressions (C417) * [flake8-pie] Remove following comma correctly when the unpacked dictionary is empty (PIE800) * [flake8-simplify] Only trigger SIM401 on known dictionaries * [pylint] Do not report calls when object type and argument type mismatch, remove custom escape handling logic (PLE1310) * [pyupgrade] Comments within parenthesized value ranges should not affect applicability (UP040) * [pyupgrade] Don't introduce invalid syntax when upgrading old-style type aliases with parenthesized multiline values (UP040) * [pyupgrade] Ensure we do not rename two type parameters to the same name (UP049) * [pyupgrade] [ruff] Don't apply renamings if the new name is shadowed in a scope of one of the references to the binding (UP049, RUF052) * [ruff] Update RUF009 to behave similar to B008 and ignore attributes with immutable types * Server * Root exclusions in the server to project root * Bug fixes * [flake8-datetime] Ignore .replace() calls while looking for .astimezone * [flake8-type-checking] Avoid TC004 false positive where the runtime definition is provided by __getattr__ * Documentation * Improve ruff-lsp migration document * Undeprecate ruff.nativeServer Ondřej Súkup 2025-02-10 17:09:06 +00:00
  • 16f022c319 Accepting request 1244445 from devel:languages:python Ana Guerrero 2025-02-10 16:23:03 +00:00
  • e81981825e Accepting request 1244445 from devel:languages:python Ana Guerrero 2025-02-10 16:23:03 +00:00
  • 861dc03542 - update to 0.9.5 * Preview features * Recognize all symbols named TYPE_CHECKING for in_type_checking_block * [flake8-comprehensions] Handle builtins at top of file correctly for unnecessary-dict-comprehension-for-iterable (C420) * [flake8-logging] .exception() and exc_info= outside exception handlers (LOG004, LOG014) * [flake8-pyi] Fix incorrect behaviour of custom-typevar-return-type preview-mode autofix if typing was already imported (PYI019) * [flake8-pyi] Fix more complex cases (PYI019) * [flake8-pyi] Make PYI019 autofixable for .py files in preview mode as well as stubs * [flake8-pyi] Remove type parameter correctly when it is the last (PYI019) * [pylint] Fix missing parens in unsafe fix for unnecessary-dunder-call (PLC2801) * [pyupgrade] Better messages and diagnostic range (UP015) * [pyupgrade] Rename private type parameters in PEP 695 generics (UP049) * [refurb] Also report non-name expressions (FURB169) * [refurb] Mark fix as unsafe if there are comments (FURB171) * [ruff] Classes with mixed type variable style (RUF053) * [airflow] BashOperator has been moved to airflow.providers.standard.operators.bash.BashOperator (AIR302) * [flake8-pyi] Add autofix for unused-private-type-var (PYI018) * [flake8-pyi] Significantly improve accuracy of PYI019 if preview mode is enabled * Rule changes * Preserve triple quotes and prefixes for strings * [flake8-comprehensions] Skip when TypeError present from too many (kw)args for C410,C411, and C418 * [flake8-pyi] Rename PYI019 and improve its diagnostic message * [pep8-naming] Ignore @override methods (N803) * [pyupgrade] Reuse replacement logic from UP046 and UP047 to preserve more comments (UP040) * [ruff] Analyze deferred annotations before enforcing mutable-(data)class-default and function-call-in-dataclass-default-argument (RUF008,RUF009,RUF012) * [pycodestyle] Exempt sys.path += ... calls (E402) * Configuration * Config error only when flake8-import-conventions alias conflicts with isort.required-imports bound name * Workaround Even Better TOML crash related to allOf * Bug fixes Ondřej Súkup 2025-02-09 01:50:41 +00:00
  • 74c5be8905 - update to 0.9.5 * Preview features * Recognize all symbols named TYPE_CHECKING for in_type_checking_block * [flake8-comprehensions] Handle builtins at top of file correctly for unnecessary-dict-comprehension-for-iterable (C420) * [flake8-logging] .exception() and exc_info= outside exception handlers (LOG004, LOG014) * [flake8-pyi] Fix incorrect behaviour of custom-typevar-return-type preview-mode autofix if typing was already imported (PYI019) * [flake8-pyi] Fix more complex cases (PYI019) * [flake8-pyi] Make PYI019 autofixable for .py files in preview mode as well as stubs * [flake8-pyi] Remove type parameter correctly when it is the last (PYI019) * [pylint] Fix missing parens in unsafe fix for unnecessary-dunder-call (PLC2801) * [pyupgrade] Better messages and diagnostic range (UP015) * [pyupgrade] Rename private type parameters in PEP 695 generics (UP049) * [refurb] Also report non-name expressions (FURB169) * [refurb] Mark fix as unsafe if there are comments (FURB171) * [ruff] Classes with mixed type variable style (RUF053) * [airflow] BashOperator has been moved to airflow.providers.standard.operators.bash.BashOperator (AIR302) * [flake8-pyi] Add autofix for unused-private-type-var (PYI018) * [flake8-pyi] Significantly improve accuracy of PYI019 if preview mode is enabled * Rule changes * Preserve triple quotes and prefixes for strings * [flake8-comprehensions] Skip when TypeError present from too many (kw)args for C410,C411, and C418 * [flake8-pyi] Rename PYI019 and improve its diagnostic message * [pep8-naming] Ignore @override methods (N803) * [pyupgrade] Reuse replacement logic from UP046 and UP047 to preserve more comments (UP040) * [ruff] Analyze deferred annotations before enforcing mutable-(data)class-default and function-call-in-dataclass-default-argument (RUF008,RUF009,RUF012) * [pycodestyle] Exempt sys.path += ... calls (E402) * Configuration * Config error only when flake8-import-conventions alias conflicts with isort.required-imports bound name * Workaround Even Better TOML crash related to allOf * Bug fixes Ondřej Súkup 2025-02-09 01:50:41 +00:00
  • b656af0850 Accepting request 1243319 from devel:languages:python Ana Guerrero 2025-02-07 21:56:51 +00:00
  • 71df9dec53 Accepting request 1243319 from devel:languages:python Ana Guerrero 2025-02-07 21:56:51 +00:00
  • 2a3dd0bc9d - Update to 0.9.4 * Preview features - [airflow] Extend airflow context parameter check for BaseOperator.execute (AIR302) (#15713) - [airflow] Update AIR302 to check for deprecated context keys (#15144) - [flake8-bandit] Permit suspicious imports within stub files (S4) (#15822) - [pylint] Do not trigger PLR6201 on empty collections (#15732) - [refurb] Do not emit diagnostic when loop variables are used outside loop body (FURB122) (#15757) - [ruff] Add support for more re patterns (RUF055) (#15764) - [ruff] Check for shadowed map before suggesting fix (RUF058) (#15790) - [ruff] Do not emit diagnostic when all arguments to zip() are variadic (RUF058) (#15744) - [ruff] Parenthesize fix when argument spans multiple lines for unnecessary-round (RUF057) (#15703) * Rule changes - Preserve quote style in generated code (#15726, #15778, #15794) - [flake8-bugbear] Exempt NewType calls where the original type is immutable (B008) (#15765) - [pylint] Honor banned top-level imports by TID253 in PLC0415. (#15628) - [pyupgrade] Ignore is_typeddict and TypedDict for deprecated-import (UP035) (#15800) * CLI - Fix formatter warning message for flake8-quotes option (#15788) - Implement tab autocomplete for ruff config (#15603) * Bug fixes - [flake8-comprehensions] Do not emit unnecessary-map diagnostic when lambda has different arity (C417) (#15802) - [flake8-comprehensions] Parenthesize sorted when needed for unnecessary-call-around-sorted (C413) (#15825) - [pyupgrade] Handle end-of-line comments for quoted-annotation (UP037) (#15824) * Documentation - Add missing config docstrings (#15803) - Add references to trio.run_process and anyio.run_process (#15761) - Use uv init --lib in tutorial (#15718) Markéta Machová 2025-02-05 11:19:56 +00:00
  • a939096f4d Accepting request 1243299 from home:glaubitz:branches:devel:languages:python Markéta Machová 2025-02-05 11:19:56 +00:00
  • 3de1ae453e Accepting request 1240140 from devel:languages:python Dominique Leuenberger 2025-01-25 18:10:06 +00:00
  • 679349dcd3 Accepting request 1240140 from devel:languages:python Dominique Leuenberger 2025-01-25 18:10:06 +00:00
  • b69f8075ef - Upade to 0.9.3 * Preview features * [airflow] Argument fail_stop in DAG has been renamed as fail_fast (AIR302) * [airflow] Extend AIR303 with more symbols * [flake8-bandit] Report all references to suspicious functions (S3) * [flake8-pytest-style] Do not emit diagnostics for empty for loops (PT012, PT031) * [flake8-simplify] Avoid double negations (SIM103) * [pyflakes] Fix infinite loop with unused local import in __init__.py (F401) * [pylint] Do not report methods with only one EM101-compatible raise (PLR6301) * [pylint] Implement redefined-slots-in-subclass (W0244) * [pyupgrade] Add rules to use PEP 695 generics in classes and functions (UP046, UP047) * [refurb] Implement for-loop-writes (FURB122) * [ruff] Implement needless-else clause (RUF047) * [ruff] Implement starmap-zip (RUF058) * Rule changes * [flake8-bugbear] Do not raise error if keyword argument is present and target-python version is less or equals than 3.9 (B903) * [flake8-comprehensions] strip parentheses around generators in unnecessary-generator-set (C401) * [flake8-pytest-style] Rewrite references to .exception (PT027) * [flake8-simplify] Mark fixes as unsafe (SIM201, SIM202) * [flake8-type-checking] Fix some safe fixes being labeled unsafe (TC006,TC008) * [isort] Omit trailing whitespace in unsorted-imports (I001) * [pydoclint] Allow ignoring one line docstrings for DOC rules * [pyflakes] Apply redefinition fixes by source code order (F811) * [pyflakes] Avoid removing too many imports in redefined-while-unused (F811) * [pyflakes] Group redefinition fixes by source statement (F811) * [pylint] Include name of base class in message for redefined-slots-in-subclass (W0244) * [ruff] Update fix for RUF055 to use var == value * Formatter * Fix bracket spacing for single-element tuples in f-string expressions * Fix unstable f-string formatting for expressions containing a trailing comma Ondřej Súkup 2025-01-24 10:46:35 +00:00
  • bfdc1813eb - Upade to 0.9.3 * Preview features * [airflow] Argument fail_stop in DAG has been renamed as fail_fast (AIR302) * [airflow] Extend AIR303 with more symbols * [flake8-bandit] Report all references to suspicious functions (S3) * [flake8-pytest-style] Do not emit diagnostics for empty for loops (PT012, PT031) * [flake8-simplify] Avoid double negations (SIM103) * [pyflakes] Fix infinite loop with unused local import in __init__.py (F401) * [pylint] Do not report methods with only one EM101-compatible raise (PLR6301) * [pylint] Implement redefined-slots-in-subclass (W0244) * [pyupgrade] Add rules to use PEP 695 generics in classes and functions (UP046, UP047) * [refurb] Implement for-loop-writes (FURB122) * [ruff] Implement needless-else clause (RUF047) * [ruff] Implement starmap-zip (RUF058) * Rule changes * [flake8-bugbear] Do not raise error if keyword argument is present and target-python version is less or equals than 3.9 (B903) * [flake8-comprehensions] strip parentheses around generators in unnecessary-generator-set (C401) * [flake8-pytest-style] Rewrite references to .exception (PT027) * [flake8-simplify] Mark fixes as unsafe (SIM201, SIM202) * [flake8-type-checking] Fix some safe fixes being labeled unsafe (TC006,TC008) * [isort] Omit trailing whitespace in unsorted-imports (I001) * [pydoclint] Allow ignoring one line docstrings for DOC rules * [pyflakes] Apply redefinition fixes by source code order (F811) * [pyflakes] Avoid removing too many imports in redefined-while-unused (F811) * [pyflakes] Group redefinition fixes by source statement (F811) * [pylint] Include name of base class in message for redefined-slots-in-subclass (W0244) * [ruff] Update fix for RUF055 to use var == value * Formatter * Fix bracket spacing for single-element tuples in f-string expressions * Fix unstable f-string formatting for expressions containing a trailing comma Ondřej Súkup 2025-01-24 10:46:35 +00:00
  • ce6766c0af Accepting request 1238688 from devel:languages:python Ana Guerrero 2025-01-20 16:14:09 +00:00
  • 65064eb01b Accepting request 1238688 from devel:languages:python Ana Guerrero 2025-01-20 16:14:09 +00:00
  • 794a8f3c19 - Update to 0.9.2 * Preview features * [airflow] Fix typo "security_managr" to "security_manager" (AIR303) * [airflow] extend and fix AIR302 rules * [fastapi] Handle parameters with Depends correctly (FAST003) * [flake8-pytest-style] Implement pytest.warns diagnostics (PT029, PT030, PT031) * [flake8-pytest-style] Test function parameters with default arguments (PT028) * [flake8-type-checking] Avoid false positives for | in TC008 * Rule changes * [flake8-todos] Allow VSCode GitHub PR extension style links in missing-todo-link (TD003) * [pyflakes] Show syntax error message for F722 * Formatter * Fix curly bracket spacing around f-string expressions containing curly braces * Fix joining of f-strings with different quotes when using quote style Preserve * Server * Avoid indexing the same workspace multiple times * Display context for ruff.configuration errors * Configuration * Remove flatten to improve deserialization error messages * Bug fixes * Parse triple-quoted string annotations as if parenthesized * [fastapi] Update Annotated fixes (FAST002) * [flake8-bandit] Check for builtins instead of builtin (S102, PTH123) * [flake8-pathlib] Fix --select for os-path-dirname (PTH120) * [ruff] Fix false positive on global keyword (RUF052) Ondřej Súkup 2025-01-18 13:09:00 +00:00
  • 537eb2d07c - Update to 0.9.2 * Preview features * [airflow] Fix typo "security_managr" to "security_manager" (AIR303) * [airflow] extend and fix AIR302 rules * [fastapi] Handle parameters with Depends correctly (FAST003) * [flake8-pytest-style] Implement pytest.warns diagnostics (PT029, PT030, PT031) * [flake8-pytest-style] Test function parameters with default arguments (PT028) * [flake8-type-checking] Avoid false positives for | in TC008 * Rule changes * [flake8-todos] Allow VSCode GitHub PR extension style links in missing-todo-link (TD003) * [pyflakes] Show syntax error message for F722 * Formatter * Fix curly bracket spacing around f-string expressions containing curly braces * Fix joining of f-strings with different quotes when using quote style Preserve * Server * Avoid indexing the same workspace multiple times * Display context for ruff.configuration errors * Configuration * Remove flatten to improve deserialization error messages * Bug fixes * Parse triple-quoted string annotations as if parenthesized * [fastapi] Update Annotated fixes (FAST002) * [flake8-bandit] Check for builtins instead of builtin (S102, PTH123) * [flake8-pathlib] Fix --select for os-path-dirname (PTH120) * [ruff] Fix false positive on global keyword (RUF052) Ondřej Súkup 2025-01-18 13:09:00 +00:00
  • 1b273a6992 Accepting request 1237200 from devel:languages:python Ana Guerrero 2025-01-14 15:21:17 +00:00
  • d8cf0bfec8 Accepting request 1237200 from devel:languages:python Ana Guerrero 2025-01-14 15:21:17 +00:00
  • c84eba1029 - update to 0.9.1 * Preview features * [pycodestyle] Run too-many-newlines-at-end-of-file on each cell in notebooks (W391) * [ruff] Omit diagnostic for shadowed private function parameters in used-dummy-variable (RUF052) * Rule changes * [flake8-bugbear] Improve assert-raises-exception message (B017) * Formatter * Preserve trailing end-of line comments for the last string literal in implicitly concatenated strings * Server * Fix a bug where the server and client notebooks were out of sync after reordering cells * Bug fixes * [flake8-pie] Correctly remove wrapping parentheses (PIE800) * [pyupgrade] Handle comments and multiline expressions correctly (UP037) Ondřej Súkup 2025-01-12 22:09:20 +00:00
  • 9acbf6ed2f - update to 0.9.1 * Preview features * [pycodestyle] Run too-many-newlines-at-end-of-file on each cell in notebooks (W391) * [ruff] Omit diagnostic for shadowed private function parameters in used-dummy-variable (RUF052) * Rule changes * [flake8-bugbear] Improve assert-raises-exception message (B017) * Formatter * Preserve trailing end-of line comments for the last string literal in implicitly concatenated strings * Server * Fix a bug where the server and client notebooks were out of sync after reordering cells * Bug fixes * [flake8-pie] Correctly remove wrapping parentheses (PIE800) * [pyupgrade] Handle comments and multiline expressions correctly (UP037) Ondřej Súkup 2025-01-12 22:09:20 +00:00
  • 091bedcd6d Accepting request 1236832 from devel:languages:python Ana Guerrero 2025-01-12 10:08:44 +00:00
  • a06337f9b5 Accepting request 1236832 from devel:languages:python Ana Guerrero 2025-01-12 10:08:44 +00:00
  • 2153bcc2c8 - update to 0.9.0: * This release introduces the new 2025 stable style (#13371), stabilizing the following changes: * Format expressions in f-string elements * Alternate quotes for strings inside f-strings * Preserve the casing of hex codes in f-string debug expressions * Choose the quote style for each string literal in an implicitly concatenated f-string rather than for the entire string * Automatically join an implicitly concatenated string into a single string literal if it fits on a single line * Remove the ISC001 incompatibility warning * Prefer parenthesizing the assert message over breaking the assertion expression * Automatically parenthesize over-long if guards in match case clauses * More consistent formatting for match case patterns * Avoid unnecessary parentheses around return type annotations * Keep the opening parentheses on the same line as the if keyword for comprehensions where the condition has a leading comment * More consistent formatting for with statements with a single context manager for Python 3.8 or older * Correctly calculate the line-width for code blocks in docstrings when using max-doc-code-line-length = "dynamic" - update to 0.8.6 * Preview features * [format]: Preserve multiline implicit concatenated strings in docstring positions * [ruff] Add rule to detect empty literal in deque call (RUF025) Dirk Mueller 2025-01-10 10:48:55 +00:00
  • e8a7710951 - update to 0.9.0: * This release introduces the new 2025 stable style (#13371), stabilizing the following changes: * Format expressions in f-string elements * Alternate quotes for strings inside f-strings * Preserve the casing of hex codes in f-string debug expressions * Choose the quote style for each string literal in an implicitly concatenated f-string rather than for the entire string * Automatically join an implicitly concatenated string into a single string literal if it fits on a single line * Remove the ISC001 incompatibility warning * Prefer parenthesizing the assert message over breaking the assertion expression * Automatically parenthesize over-long if guards in match case clauses * More consistent formatting for match case patterns * Avoid unnecessary parentheses around return type annotations * Keep the opening parentheses on the same line as the if keyword for comprehensions where the condition has a leading comment * More consistent formatting for with statements with a single context manager for Python 3.8 or older * Correctly calculate the line-width for code blocks in docstrings when using max-doc-code-line-length = "dynamic" - update to 0.8.6 * Preview features * [format]: Preserve multiline implicit concatenated strings in docstring positions * [ruff] Add rule to detect empty literal in deque call (RUF025) Dirk Mueller 2025-01-10 10:48:55 +00:00
  • e77ad89db4 Accepting request 1235139 from devel:languages:python Ana Guerrero 2025-01-07 19:49:57 +00:00
  • 7f2e0abd4a Accepting request 1235139 from devel:languages:python Ana Guerrero 2025-01-07 19:49:57 +00:00
  • 4ef6714a26 - update to 0.8.6 * Preview features * [format]: Preserve multiline implicit concatenated strings in docstring positions * [ruff] Add rule to detect empty literal in deque call (RUF025) * [ruff] Avoid reporting when ndigits is possibly negative (RUF057) * Rule changes * [flake8-todos] remove issue code length restriction (TD003) * [pyflakes] Ignore errors in @no_type_check string annotations (F722, F821) * CLI * Show errors for attempted fixes only when passed --verbose * Bug fixes * [ruff] Avoid syntax error when removing int over multiple lines (RUF046) * [pyupgrade] Revert "Add all PEP-585 names to UP006 rule" 0.8.5 * Preview features * [airflow] Extend names moved from core to provider (AIR303) * [airflow] Extend rule to check class attributes, methods, arguments (AIR302) * [fastapi] Update FAST002 to check keyword-only arguments * [flake8-type-checking] Disable TC006 and TC007 in stub files * [pylint] Detect nested methods correctly (PLW1641) * [ruff] Detect more strict-integer expressions (RUF046) * [ruff] Implement falsy-dict-get-fallback (RUF056) * [ruff] Implement unnecessary-round (RUF057) * Rule changes * Visit PEP 764 inline TypedDict keys as non-type-expressions * [flake8-comprehensions] Skip C416 if comprehension contains unpacking * [flake8-pie] Allow cast(SomeType, ...) (PIE796) * [flake8-simplify] More precise inference for dictionaries (SIM300) * [flake8-use-pathlib] Catch redundant joins in PTH201 and avoid syntax errors * [pycodestyle] Preserve original value format (E731) Ondřej Súkup 2025-01-06 10:04:56 +00:00
  • dd54e3bc31 - update to 0.8.6 * Preview features * [format]: Preserve multiline implicit concatenated strings in docstring positions * [ruff] Add rule to detect empty literal in deque call (RUF025) * [ruff] Avoid reporting when ndigits is possibly negative (RUF057) * Rule changes * [flake8-todos] remove issue code length restriction (TD003) * [pyflakes] Ignore errors in @no_type_check string annotations (F722, F821) * CLI * Show errors for attempted fixes only when passed --verbose * Bug fixes * [ruff] Avoid syntax error when removing int over multiple lines (RUF046) * [pyupgrade] Revert "Add all PEP-585 names to UP006 rule" 0.8.5 * Preview features * [airflow] Extend names moved from core to provider (AIR303) * [airflow] Extend rule to check class attributes, methods, arguments (AIR302) * [fastapi] Update FAST002 to check keyword-only arguments * [flake8-type-checking] Disable TC006 and TC007 in stub files * [pylint] Detect nested methods correctly (PLW1641) * [ruff] Detect more strict-integer expressions (RUF046) * [ruff] Implement falsy-dict-get-fallback (RUF056) * [ruff] Implement unnecessary-round (RUF057) * Rule changes * Visit PEP 764 inline TypedDict keys as non-type-expressions * [flake8-comprehensions] Skip C416 if comprehension contains unpacking * [flake8-pie] Allow cast(SomeType, ...) (PIE796) * [flake8-simplify] More precise inference for dictionaries (SIM300) * [flake8-use-pathlib] Catch redundant joins in PTH201 and avoid syntax errors * [pycodestyle] Preserve original value format (E731) Ondřej Súkup 2025-01-06 10:04:56 +00:00
  • 22c773fbe0 Accepting request 1231367 from devel:languages:python Ana Guerrero 2024-12-17 18:22:20 +00:00
  • 07f22550f8 Accepting request 1231367 from devel:languages:python Ana Guerrero 2024-12-17 18:22:20 +00:00
  • fd74ce92bb - update to 0.8.3 * Preview features * Fix fstring formatting removing overlong implicit concatenated string in expression part * [airflow] Add fix to remove deprecated keyword arguments (AIR302) * [airflow]: Extend rule to include deprecated names for Airflow 3.0 (AIR302) * [flake8-bugbear] Improve error messages for except* (B025, B029, B030, B904) * [flake8-bugbear] itertools.batched() without explicit strict (B911) * [flake8-use-pathlib] Dotless suffix passed to Path.with_suffix() (PTH210) * [pylint] Include parentheses and multiple comparators in check for boolean-chained-comparison (PLR1716) * [ruff] Do not simplify round() calls (RUF046) * [ruff] Don't emit used-dummy-variable on function parameters (RUF052) * [ruff] Implement if-key-in-dict-del (RUF051) * [ruff] Mark autofix for RUF052 as always unsafe * [ruff] Teach autofix for used-dummy-variable about TypeVars etc. (RUF052) * Rule changes * [flake8-bugbear] Offer unsafe autofix for no-explicit-stacklevel (B028) * [flake8-pyi] Skip all type definitions in string-or-bytes-too-long (PYI053) * [pyupgrade] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (UP009) * [pyupgrade] Mark fixes for convert-typed-dict-functional-to-class and convert-named-tuple-functional-to-class as unsafe if they will remove comments (UP013, UP014) * Bug fixes * Raise syntax error for mixing except and except* * [flake8-bugbear] Fix B028 to allow stacklevel to be explicitly assigned as a positional argument * [flake8-bugbear] Skip B028 if warnings.warn is called with *args or **kwargs * [flake8-comprehensions] Skip iterables with named expressions in unnecessary-map (C417) * [flake8-pyi] Also remove self and cls's annotation (PYI034) * [flake8-pytest-style] Fix pytest-parametrize-names-wrong-type (PT006) to edit both argnames and argvalues if both of them are single-element tuples/lists * [perflint] Improve autofix for PERF401 * [pylint] Fix PLW1508 false positive for default string created via a mult operation Ondřej Súkup 2024-12-16 10:24:23 +00:00
  • 12204954c1 - update to 0.8.3 * Preview features * Fix fstring formatting removing overlong implicit concatenated string in expression part * [airflow] Add fix to remove deprecated keyword arguments (AIR302) * [airflow]: Extend rule to include deprecated names for Airflow 3.0 (AIR302) * [flake8-bugbear] Improve error messages for except* (B025, B029, B030, B904) * [flake8-bugbear] itertools.batched() without explicit strict (B911) * [flake8-use-pathlib] Dotless suffix passed to Path.with_suffix() (PTH210) * [pylint] Include parentheses and multiple comparators in check for boolean-chained-comparison (PLR1716) * [ruff] Do not simplify round() calls (RUF046) * [ruff] Don't emit used-dummy-variable on function parameters (RUF052) * [ruff] Implement if-key-in-dict-del (RUF051) * [ruff] Mark autofix for RUF052 as always unsafe * [ruff] Teach autofix for used-dummy-variable about TypeVars etc. (RUF052) * Rule changes * [flake8-bugbear] Offer unsafe autofix for no-explicit-stacklevel (B028) * [flake8-pyi] Skip all type definitions in string-or-bytes-too-long (PYI053) * [pyupgrade] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (UP009) * [pyupgrade] Mark fixes for convert-typed-dict-functional-to-class and convert-named-tuple-functional-to-class as unsafe if they will remove comments (UP013, UP014) * Bug fixes * Raise syntax error for mixing except and except* * [flake8-bugbear] Fix B028 to allow stacklevel to be explicitly assigned as a positional argument * [flake8-bugbear] Skip B028 if warnings.warn is called with *args or **kwargs * [flake8-comprehensions] Skip iterables with named expressions in unnecessary-map (C417) * [flake8-pyi] Also remove self and cls's annotation (PYI034) * [flake8-pytest-style] Fix pytest-parametrize-names-wrong-type (PT006) to edit both argnames and argvalues if both of them are single-element tuples/lists * [perflint] Improve autofix for PERF401 * [pylint] Fix PLW1508 false positive for default string created via a mult operation Ondřej Súkup 2024-12-16 10:24:23 +00:00
  • c5a9a34047 Accepting request 1228749 from devel:languages:python Ana Guerrero 2024-12-08 10:36:25 +00:00
  • 2a58decc25 Accepting request 1228749 from devel:languages:python Ana Guerrero 2024-12-08 10:36:25 +00:00
  • 735b7eab27 - update to 0.8.2 * Preview features * [airflow] Avoid deprecated values (AIR302) * [airflow] Extend removed names for AIR302 * [ruff] Extend unnecessary-regular-expression to non-literal strings (RUF055) * [ruff] Implement used-dummy-variable (RUF052) * [ruff] Implement unnecessary-cast-to-int (RUF046) * Rule changes * [airflow] Check AIR001 from builtin or providers operators module * [flake8-pytest-style] Remove @ in pytest.mark.parametrize rule messages * [pandas-vet] Skip rules if the panda module hasn't been seen * [pylint] Fix false negatives for ascii and sorted in len-as-condition (PLC1802) * [refurb] Guard hashlib imports and mark hashlib-digest-hex fix as safe (FURB181) * Configuration * [flake8-import-conventions] Improve syntax check for aliases supplied in configuration for unconventional-import-alias (ICN001) * Bug fixes * Revert: [pyflakes] Avoid false positives in @no_type_check contexts (F821, F722) * [pep8-naming] Avoid false positive for class Bar(type(foo)) (N804) * [pycodestyle] Handle f-strings properly for invalid-escape-sequence (W605) * [pylint] Ignore @overload in PLR0904 * [refurb] Handle non-finite decimals in verbose-decimal-constructor (FURB157) * [ruff] Avoid emitting assignment-in-assert when all references to the assigned variable are themselves inside asserts (RUF018) * Documentation * Improve docs for flake8-use-pathlib rules * Improve error messages and docs for flake8-comprehensions rules * [flake8-type-checking] Expands TC006 docs to better explain itself Ondřej Súkup 2024-12-06 11:37:15 +00:00
  • 4ebfd337ed - update to 0.8.2 * Preview features * [airflow] Avoid deprecated values (AIR302) * [airflow] Extend removed names for AIR302 * [ruff] Extend unnecessary-regular-expression to non-literal strings (RUF055) * [ruff] Implement used-dummy-variable (RUF052) * [ruff] Implement unnecessary-cast-to-int (RUF046) * Rule changes * [airflow] Check AIR001 from builtin or providers operators module * [flake8-pytest-style] Remove @ in pytest.mark.parametrize rule messages * [pandas-vet] Skip rules if the panda module hasn't been seen * [pylint] Fix false negatives for ascii and sorted in len-as-condition (PLC1802) * [refurb] Guard hashlib imports and mark hashlib-digest-hex fix as safe (FURB181) * Configuration * [flake8-import-conventions] Improve syntax check for aliases supplied in configuration for unconventional-import-alias (ICN001) * Bug fixes * Revert: [pyflakes] Avoid false positives in @no_type_check contexts (F821, F722) * [pep8-naming] Avoid false positive for class Bar(type(foo)) (N804) * [pycodestyle] Handle f-strings properly for invalid-escape-sequence (W605) * [pylint] Ignore @overload in PLR0904 * [refurb] Handle non-finite decimals in verbose-decimal-constructor (FURB157) * [ruff] Avoid emitting assignment-in-assert when all references to the assigned variable are themselves inside asserts (RUF018) * Documentation * Improve docs for flake8-use-pathlib rules * Improve error messages and docs for flake8-comprehensions rules * [flake8-type-checking] Expands TC006 docs to better explain itself Ondřej Súkup 2024-12-06 11:37:15 +00:00
  • 6320a607c8 Accepting request 1227743 from devel:languages:python Ana Guerrero 2024-12-03 19:45:39 +00:00
  • 652675fef7 Accepting request 1227743 from devel:languages:python Ana Guerrero 2024-12-03 19:45:39 +00:00
  • 48cd084f0f - update to 0.8.1 * Preview features * Formatter: Avoid invalid syntax for format-spec with quotes for all Python versions * Formatter: Consider quotes inside format-specs when choosing the quotes for an f-string * Formatter: Do not consider f-strings with escaped newlines as multiline * Formatter: Fix f-string formatting in assignment statement * Formatter: Fix unnecessary space around power operator (**) in overlong f-string expressions * [airflow] Avoid implicit schedule argument to DAG and @dag (AIR301) * [flake8-builtins] Exempt private built-in modules (A005) * [flake8-pytest-style] Fix pytest.mark.parametrize rules to check calls instead of decorators * [flake8-type-checking] Implement runtime-cast-value (TC006) * [flake8-type-checking] Implement unquoted-type-alias (TC007) and quoted-type-alias (TC008) * [flake8-use-pathlib] Recommend Path.iterdir() over os.listdir() (PTH208) * [pylint] Extend invalid-envvar-default to detect os.environ.get (PLW1508) * [pylint] Implement len-test (PLC1802) * [refurb] Fix bug where methods defined using lambdas were flagged by FURB118 * [ruff] Auto-add r prefix when string has no backslashes for unraw-re-pattern (RUF039) * [ruff] Implement invalid-assert-message-literal-argument (RUF040) * [ruff] Implement unnecessary-nested-literal (RUF041) * [ruff] Implement unnecessary-regular-expression (RUF055) * Rule changes * Ignore more rules for stub files * [pep8-naming] Eliminate false positives for single-letter names (N811, N814) * [pyflakes] Avoid false positives in @no_type_check contexts (F821, F722) * [ruff] Detect redirected-noqa in file-level comments (RUF101) * [ruff] Mark fixes for unsorted-dunder-all and unsorted-dunder-slots as unsafe when there are complex comments in the sequence (RUF022, RUF023) * Bug fixes * Avoid fixing code to None | None for redundant-none-literal (PYI061) and never-union (RUF020) (#14583, #14589) * [flake8-bugbear] Fix mutable-contextvar-default to resolve annotated function calls properly (B039) * [flake8-pyi, ruff] Fix traversal of nested literals and unions (PYI016, PYI051, PYI055, PYI062, RUF041) Ondřej Súkup 2024-12-02 11:29:19 +00:00
  • 2663a45ddd - update to 0.8.1 * Preview features * Formatter: Avoid invalid syntax for format-spec with quotes for all Python versions * Formatter: Consider quotes inside format-specs when choosing the quotes for an f-string * Formatter: Do not consider f-strings with escaped newlines as multiline * Formatter: Fix f-string formatting in assignment statement * Formatter: Fix unnecessary space around power operator (**) in overlong f-string expressions * [airflow] Avoid implicit schedule argument to DAG and @dag (AIR301) * [flake8-builtins] Exempt private built-in modules (A005) * [flake8-pytest-style] Fix pytest.mark.parametrize rules to check calls instead of decorators * [flake8-type-checking] Implement runtime-cast-value (TC006) * [flake8-type-checking] Implement unquoted-type-alias (TC007) and quoted-type-alias (TC008) * [flake8-use-pathlib] Recommend Path.iterdir() over os.listdir() (PTH208) * [pylint] Extend invalid-envvar-default to detect os.environ.get (PLW1508) * [pylint] Implement len-test (PLC1802) * [refurb] Fix bug where methods defined using lambdas were flagged by FURB118 * [ruff] Auto-add r prefix when string has no backslashes for unraw-re-pattern (RUF039) * [ruff] Implement invalid-assert-message-literal-argument (RUF040) * [ruff] Implement unnecessary-nested-literal (RUF041) * [ruff] Implement unnecessary-regular-expression (RUF055) * Rule changes * Ignore more rules for stub files * [pep8-naming] Eliminate false positives for single-letter names (N811, N814) * [pyflakes] Avoid false positives in @no_type_check contexts (F821, F722) * [ruff] Detect redirected-noqa in file-level comments (RUF101) * [ruff] Mark fixes for unsorted-dunder-all and unsorted-dunder-slots as unsafe when there are complex comments in the sequence (RUF022, RUF023) * Bug fixes * Avoid fixing code to None | None for redundant-none-literal (PYI061) and never-union (RUF020) (#14583, #14589) * [flake8-bugbear] Fix mutable-contextvar-default to resolve annotated function calls properly (B039) * [flake8-pyi, ruff] Fix traversal of nested literals and unions (PYI016, PYI051, PYI055, PYI062, RUF041) Ondřej Súkup 2024-12-02 11:29:19 +00:00
  • 3065de8967 Accepting request 1224610 from devel:languages:python Ana Guerrero 2024-11-18 18:57:06 +00:00
  • 160bd7854f Accepting request 1224610 from devel:languages:python Ana Guerrero 2024-11-18 18:57:06 +00:00
  • b0b437d243 - update to 0.7.4 * Preview features * [flake8-datetimez] Detect usages of datetime.max/datetime.min (DTZ901) * [flake8-logging] Implement root-logger-calls (LOG015) * [flake8-no-pep420] Detect empty implicit namespace packages (INP001) * [flake8-pyi] Add "replace with Self" fix (PYI019) * [perflint] Implement quick-fix for manual-list-comprehension (PERF401) * [pylint] Implement shallow-copy-environ (W1507) * [ruff] Implement none-not-at-end-of-union (RUF036) * [ruff] Implementation unsafe-markup-call from flake8-markupsafe plugin (RUF035) * [ruff] Report problems for attrs dataclasses (RUF008, RUF009) * Rule changes * [flake8-boolean-trap] Exclude dunder methods that define operators (FBT001) * [flake8-pyi] Add "replace with Self" fix (PYI034) * [flake8-pyi] Always autofix duplicate-union-members (PYI016) * [flake8-pyi] Improve autofix for nested and mixed type unions for unnecessary-type-union (PYI055) * [flake8-pyi] Mark fix as unsafe when type annotation contains comments for duplicate-literal-member (PYI062) * Server * Use the current working directory to resolve settings from ruff.configuration * Bug fixes * Avoid conflicts between PLC014 (useless-import-alias) and I002 (missing-required-import) by considering lint.isort.required-imports for PLC014 * [flake8-type-checking] Skip quoting annotation if it becomes invalid syntax (TCH001) * [flake8-pyi] Avoid using typing.Self in stub files pre-Python 3.11 (PYI034) * [flake8-pytest-style] Flag pytest.raises call with keyword argument expected_exception (PT011) * [flake8-simplify] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222) * [flake8-type-checking] Fix false positives for typing.Annotated (TCH001) * [pylint] Allow await at the top-level scope of a notebook (PLE1142) * [pylint] Fix miscellaneous issues in await-outside-async detection (PLE1142) * [pyupgrade Avoid applying PEP 646 rewrites in invalid contexts ()UP044) * [pyupgrade] Detect permutations in redundant open modes (UP015) Ondřej Súkup 2024-11-17 01:37:16 +00:00
  • dcd5add1e2 - update to 0.7.4 * Preview features * [flake8-datetimez] Detect usages of datetime.max/datetime.min (DTZ901) * [flake8-logging] Implement root-logger-calls (LOG015) * [flake8-no-pep420] Detect empty implicit namespace packages (INP001) * [flake8-pyi] Add "replace with Self" fix (PYI019) * [perflint] Implement quick-fix for manual-list-comprehension (PERF401) * [pylint] Implement shallow-copy-environ (W1507) * [ruff] Implement none-not-at-end-of-union (RUF036) * [ruff] Implementation unsafe-markup-call from flake8-markupsafe plugin (RUF035) * [ruff] Report problems for attrs dataclasses (RUF008, RUF009) * Rule changes * [flake8-boolean-trap] Exclude dunder methods that define operators (FBT001) * [flake8-pyi] Add "replace with Self" fix (PYI034) * [flake8-pyi] Always autofix duplicate-union-members (PYI016) * [flake8-pyi] Improve autofix for nested and mixed type unions for unnecessary-type-union (PYI055) * [flake8-pyi] Mark fix as unsafe when type annotation contains comments for duplicate-literal-member (PYI062) * Server * Use the current working directory to resolve settings from ruff.configuration * Bug fixes * Avoid conflicts between PLC014 (useless-import-alias) and I002 (missing-required-import) by considering lint.isort.required-imports for PLC014 * [flake8-type-checking] Skip quoting annotation if it becomes invalid syntax (TCH001) * [flake8-pyi] Avoid using typing.Self in stub files pre-Python 3.11 (PYI034) * [flake8-pytest-style] Flag pytest.raises call with keyword argument expected_exception (PT011) * [flake8-simplify] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222) * [flake8-type-checking] Fix false positives for typing.Annotated (TCH001) * [pylint] Allow await at the top-level scope of a notebook (PLE1142) * [pylint] Fix miscellaneous issues in await-outside-async detection (PLE1142) * [pyupgrade Avoid applying PEP 646 rewrites in invalid contexts ()UP044) * [pyupgrade] Detect permutations in redundant open modes (UP015) Ondřej Súkup 2024-11-17 01:37:16 +00:00
  • c5c04be959 Accepting request 1223378 from devel:languages:python Ana Guerrero 2024-11-12 18:19:49 +00:00
  • fd07d630af Accepting request 1223378 from devel:languages:python Ana Guerrero 2024-11-12 18:19:49 +00:00
  • 54f06f736d - update to 0.7.3 * Preview features * Formatter: Disallow single-line implicit concatenated strings * [flake8-pyi] Include all Python file types for PYI006 and PYI066 * [flake8-simplify] Implement split-of-static-string (SIM905) * [refurb] Implement subclass-builtin (FURB189) * [ruff] Improve diagnostic messages and docs (RUF031, RUF032, RUF034) * Rule changes * Detect items that hash to same value in duplicate sets (B033, PLC0208) * [eradicate] Better detection of IntelliJ language injection comments (ERA001) * [flake8-pyi] Add autofix for docstring-in-stub (PYI021) * [flake8-pyi] Update duplicate-literal-member (PYI062) to alawys provide an autofix * [pyflakes] Detect items that hash to same value in duplicate dictionaries (F601) * [ruff] Fix false positive for decorators (RUF028) * Bug fixes * Avoid parsing joint rule codes as distinct codes in # noqa * [eradicate] ignore # language= in commented-out-code rule (ERA001) * [flake8-bugbear] - do not run mutable-argument-default on stubs (B006) * [flake8-builtins] Skip lambda expressions in builtin-argument-shadowing (A002) * [flake8-comprehension] Also remove trailing comma while fixing C409 and C419 * [flake8-simplify] Allow open without context manager in return statement (SIM115) * [pylint] Respect hash-equivalent literals in iteration-over-set (PLC0208) * [pylint] Update known dunder methods for Python 3.13 (PLW3201) * [pyupgrade] - ignore kwarg unpacking for UP044 * [refurb] Parse more exotic decimal strings in verbose-decimal-constructor (FURB157) * Documentation * Add links to missing related options within rule documentations * Add rule short code to mkdocs tags to allow searching via rule codes Ondřej Súkup 2024-11-11 14:16:41 +00:00
  • d672b2f291 - update to 0.7.3 * Preview features * Formatter: Disallow single-line implicit concatenated strings * [flake8-pyi] Include all Python file types for PYI006 and PYI066 * [flake8-simplify] Implement split-of-static-string (SIM905) * [refurb] Implement subclass-builtin (FURB189) * [ruff] Improve diagnostic messages and docs (RUF031, RUF032, RUF034) * Rule changes * Detect items that hash to same value in duplicate sets (B033, PLC0208) * [eradicate] Better detection of IntelliJ language injection comments (ERA001) * [flake8-pyi] Add autofix for docstring-in-stub (PYI021) * [flake8-pyi] Update duplicate-literal-member (PYI062) to alawys provide an autofix * [pyflakes] Detect items that hash to same value in duplicate dictionaries (F601) * [ruff] Fix false positive for decorators (RUF028) * Bug fixes * Avoid parsing joint rule codes as distinct codes in # noqa * [eradicate] ignore # language= in commented-out-code rule (ERA001) * [flake8-bugbear] - do not run mutable-argument-default on stubs (B006) * [flake8-builtins] Skip lambda expressions in builtin-argument-shadowing (A002) * [flake8-comprehension] Also remove trailing comma while fixing C409 and C419 * [flake8-simplify] Allow open without context manager in return statement (SIM115) * [pylint] Respect hash-equivalent literals in iteration-over-set (PLC0208) * [pylint] Update known dunder methods for Python 3.13 (PLW3201) * [pyupgrade] - ignore kwarg unpacking for UP044 * [refurb] Parse more exotic decimal strings in verbose-decimal-constructor (FURB157) * Documentation * Add links to missing related options within rule documentations * Add rule short code to mkdocs tags to allow searching via rule codes Ondřej Súkup 2024-11-11 14:16:41 +00:00
  • cf4fd6a126 Accepting request 1220121 from devel:languages:python Dominique Leuenberger 2024-11-03 06:17:06 +00:00
  • 69551899bd Accepting request 1220121 from devel:languages:python Dominique Leuenberger 2024-11-03 06:17:06 +00:00
  • 94c6daabfb fix Ondřej Súkup 2024-11-01 23:07:04 +00:00
  • 0eee2d41b8 fix Ondřej Súkup 2024-11-01 23:07:04 +00:00
  • 1fd039d528 - update to 0.7.2 * Preview features * Fix formatting of single with-item with trailing comment * [pyupgrade] Add PEP 646 Unpack conversion to * with fix (UP044) * Rule changes * Regenerate known_stdlibs.rs with stdlibs 2024.10.25 * [flake8-no-pep420] Skip namespace package enforcement for PEP 723 scripts (INP001) * Server * Fix server panic when undoing an edit * Bug fixes * Fix issues in discovering ruff in pip build environments * [flake8-type-checking] Fix false positive for singledispatchmethod (TCH003) * [flake8-type-checking] Treat return type of singledispatch as runtime-required (TCH003) * Documentation * [flake8-simplify] Include caveats of enabling if-else-block-instead-of-if-exp (SIM108) Ondřej Súkup 2024-11-01 23:06:50 +00:00
  • 00baa620c4 - update to 0.7.2 * Preview features * Fix formatting of single with-item with trailing comment * [pyupgrade] Add PEP 646 Unpack conversion to * with fix (UP044) * Rule changes * Regenerate known_stdlibs.rs with stdlibs 2024.10.25 * [flake8-no-pep420] Skip namespace package enforcement for PEP 723 scripts (INP001) * Server * Fix server panic when undoing an edit * Bug fixes * Fix issues in discovering ruff in pip build environments * [flake8-type-checking] Fix false positive for singledispatchmethod (TCH003) * [flake8-type-checking] Treat return type of singledispatch as runtime-required (TCH003) * Documentation * [flake8-simplify] Include caveats of enabling if-else-block-instead-of-if-exp (SIM108) Ondřej Súkup 2024-11-01 23:06:50 +00:00
  • 3521b16751 Accepting request 1218438 from devel:languages:python Ana Guerrero 2024-10-27 10:24:17 +00:00
  • 4f854e5421 Accepting request 1218438 from devel:languages:python Ana Guerrero 2024-10-27 10:24:17 +00:00
  • cd82d8943b fix .... Ondřej Súkup 2024-10-25 20:11:27 +00:00
  • f36a7395cd fix .... Ondřej Súkup 2024-10-25 20:11:27 +00:00
  • 8bdc6b8224 fix typo Ondřej Súkup 2024-10-25 20:01:22 +00:00
  • 35cc846735 fix typo Ondřej Súkup 2024-10-25 20:01:22 +00:00
  • b187c8528c - update to 0.7.1 * Preview features * Fix E221 and E222 to flag missing or extra whitespace around == operator * Formatter: Alternate quotes for strings inside f-strings in preview * Formatter: Join implicit concatenated strings when they fit on a line * [pylint] Restrict iteration-over-set to only work on sets of literals (PLC0208) * Rule changes * [flake8-type-checking] Support auto-quoting when annotations contain quotes * Server * Avoid indexing the workspace for single-file mode * Bug fixes * Make ARG002 compatible with EM101 when raising NotImplementedError Ondřej Súkup 2024-10-25 19:58:57 +00:00
  • 686b16cd89 - update to 0.7.1 * Preview features * Fix E221 and E222 to flag missing or extra whitespace around == operator * Formatter: Alternate quotes for strings inside f-strings in preview * Formatter: Join implicit concatenated strings when they fit on a line * [pylint] Restrict iteration-over-set to only work on sets of literals (PLC0208) * Rule changes * [flake8-type-checking] Support auto-quoting when annotations contain quotes * Server * Avoid indexing the workspace for single-file mode * Bug fixes * Make ARG002 compatible with EM101 when raising NotImplementedError Ondřej Súkup 2024-10-25 19:58:57 +00:00
  • 330d33f249 Accepting request 1216817 from devel:languages:python Ana Guerrero 2024-10-22 12:51:01 +00:00
  • 164c7d42ea Accepting request 1216817 from devel:languages:python Ana Guerrero 2024-10-22 12:51:01 +00:00
  • c3b9eb71e6 - add Provides: ruff-%{version} Ondřej Súkup 2024-10-21 19:20:16 +00:00
  • e649ce7245 - add Provides: ruff-%{version} Ondřej Súkup 2024-10-21 19:20:16 +00:00
  • 5289a4dc9f Accepting request 1208873 from devel:languages:python Ana Guerrero 2024-10-20 08:08:59 +00:00
  • 5c3621236f Accepting request 1208873 from devel:languages:python Ana Guerrero 2024-10-20 08:08:59 +00:00
  • 708c9dacc9 - update to 0.7.0 * Breaking changes * The pytest rules PT001 and PT023 now default to omitting the decorator parentheses when there are no arguments. This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part. See the blog post for more details. * The useless-try-except rule (in our tryceratops category) has been recoded from TRY302 to TRY203 . This ensures Ruff's code is consistent with the same rule in the tryceratops linter. * The lint.allow-unused-imports setting has been removed . Use lint.pyflakes.allow-unused-imports instead. * Formatter preview style * Normalize implicit concatenated f-string quotes per part * Preview linter features * [refurb] implement hardcoded-string-charset (FURB156) * [refurb] Count codepoints not bytes for slice-to-remove-prefix-or-suffix (FURB188) * Rule changes * [pylint] Mark PLE1141 fix as unsafe * [flake8-async] Consider async generators to be "checkpoints" for cancel-scope-no-checkpoint (ASYNC100) * [flake8-bugbear] Do not suggest setting parameter strict= to False in B905 diagnostic message * [flake8-todos] Only flag the word "TODO", not words starting with "todo" (TD006) * [pycodestyle] Fix whitespace-related false positives and false negatives inside type-parameter lists (E231, E251) * [flake8-simplify] Stabilize preview behavior for SIM115 so that the rule can detect files being opened from a wider range of standard-library functions . * CLI * Add explanation of fixable in --statistics command * Bug fixes * [pyflakes] Allow ipytest cell magic (F401) * [flake8-use-pathlib] Fix PTH123 false positive when open is passed a file descriptor * [flake8-bandit] Detect patterns from multi line SQL statements (S608) * [flake8-pyi] - Fix dropped expressions in PYI030 autofix Ondřej Súkup 2024-10-18 13:01:04 +00:00
  • d844375c0d - update to 0.7.0 * Breaking changes * The pytest rules PT001 and PT023 now default to omitting the decorator parentheses when there are no arguments. This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part. See the blog post for more details. * The useless-try-except rule (in our tryceratops category) has been recoded from TRY302 to TRY203 . This ensures Ruff's code is consistent with the same rule in the tryceratops linter. * The lint.allow-unused-imports setting has been removed . Use lint.pyflakes.allow-unused-imports instead. * Formatter preview style * Normalize implicit concatenated f-string quotes per part * Preview linter features * [refurb] implement hardcoded-string-charset (FURB156) * [refurb] Count codepoints not bytes for slice-to-remove-prefix-or-suffix (FURB188) * Rule changes * [pylint] Mark PLE1141 fix as unsafe * [flake8-async] Consider async generators to be "checkpoints" for cancel-scope-no-checkpoint (ASYNC100) * [flake8-bugbear] Do not suggest setting parameter strict= to False in B905 diagnostic message * [flake8-todos] Only flag the word "TODO", not words starting with "todo" (TD006) * [pycodestyle] Fix whitespace-related false positives and false negatives inside type-parameter lists (E231, E251) * [flake8-simplify] Stabilize preview behavior for SIM115 so that the rule can detect files being opened from a wider range of standard-library functions . * CLI * Add explanation of fixable in --statistics command * Bug fixes * [pyflakes] Allow ipytest cell magic (F401) * [flake8-use-pathlib] Fix PTH123 false positive when open is passed a file descriptor * [flake8-bandit] Detect patterns from multi line SQL statements (S608) * [flake8-pyi] - Fix dropped expressions in PYI030 autofix Ondřej Súkup 2024-10-18 13:01:04 +00:00
  • 5b7ac9f325 Accepting request 1206146 from devel:languages:python Ana Guerrero 2024-10-08 15:16:37 +00:00