14
0
forked from pool/python-ruff

Commit Graph

  • 7e0c65b2d4 Accepting request 1302462 from devel:languages:python main Ana Guerrero 2025-09-03 19:07:09 +00:00
  • 7e143d5691 - Update vendor tarball to fix CVE-2025-58160 (bsc#1249011) Markéta Machová 2025-09-02 15:30:54 +00:00
  • 2ca40c744a Accepting request 1301841 from devel:languages:python Ana Guerrero 2025-08-29 16:34:47 +00:00
  • 6bb29c1154 - update to 0.12.11 * Preview features * [airflow] Extend AIR311 and AIR312 rules * [airflow] Replace wrong path airflow.io.storage with airflow.io.store (AIR311) * [flake8-async] Implement blocking-http-call-httpx-in-async-function (ASYNC212) * [flake8-logging-format] Add auto-fix for f-string logging calls (G004) * [flake8-use-pathlib] Add autofix for PTH211 * [flake8-use-pathlib] Make PTH100 fix unsafe because it can change behavior * Bug fixes * [pyflakes, pylint] Fix false positives caused by __class__ cell handling (F841, PLE0117) * [pyflakes] Fix allowed-unused-imports matching for top-level modules (F401) * [ruff] Fix false positive for t-strings in default-factory-kwarg (RUF026) * [ruff] Preserve relative whitespace in multi-line expressions (RUF033) * Rule changes * [ruff] Handle empty t-strings in unnecessary-empty-iterable-within-deque-call (RUF037) * Documentation * Fix incorrect D413 links in docstrings convention FAQ * [flake8-use-pathlib] Update links to the table showing the correspondence between os and pathlib Ondřej Súkup 2025-08-28 22:03:24 +00:00
  • 02e57ba8fd Accepting request 1300962 from devel:languages:python Ana Guerrero 2025-08-25 18:36:09 +00:00
  • 669e9d4a4c - update to 0.12.10 * Preview features * [flake8-simplify] Implement fix for maxsplit without separator (SIM905) * [flake8-use-pathlib] Add fixes for PTH102 and PTH103 * Bug fixes * [isort] Handle multiple continuation lines after module docstring (I002) * [pyupgrade] Avoid reporting __future__ features as unnecessary when they are used (UP010) * [pyupgrade] Handle nested Optionals (UP045) * Rule changes * [pycodestyle] Make E731 fix unsafe instead of display-only for class assignments * [pyflakes] Add secondary annotation showing previous definition (F811) * Documentation * Fix description of global config file discovery strategy * Update outdated links to https://typing.python.org/en/latest/source/stubs.html * [flake8-annotations] Remove unused import in example (ANN401) Ondřej Súkup 2025-08-22 11:11:20 +00:00
  • 2713f5c277 Accepting request 1299828 from devel:languages:python Ana Guerrero 2025-08-18 14:07:32 +00:00
  • 2a7c4255b3 - update to 0.12.9: * \[airflow\] Add check for airflow.secrets.cache.SecretCache (AIR301) * \[ruff\] Offer a safe fix for multi-digit zeros (RUF064) * \[flake8-blind-except\] Fix BLE001 false-positive on raise ... from None * \[flake8-comprehensions\] Fix false positive for C420 with attribute, subscript, or slice assignment targets * \[flake8-simplify\] Fix handling of U+001C..U+001F whitespace (SIM905) * \[pylint\] Use lowercase hex characters to match the formatter (PLE2513) * [flake8-use-pathlib] Expand PTH201 to check all PurePath subclasses * Bug fixes * [flake8-blind-except] Change BLE001 to correctly parse exception tuples * [flake8-errmsg] Exclude typing.cast from EM101 * [flake8-simplify] Fix raw string handling in SIM905 for embedded quotes * [flake8-import-conventions] Avoid false positives for NFKC-normalized __debug__ import aliases in ICN001 * [isort] Fix syntax error after docstring ending with backslash (I002) * [pylint] Mark PLC0207 fixes as unsafe when *args unpacking is present * [pyupgrade] Prevent infinite loop with I002 (UP010, UP035) * [ruff] Parenthesize generator expressions in f-strings (RUF010) * Rule changes * [eradicate] Don't flag pyrefly pragmas as unused code (ERA001) * Documentation * Replace "associative" with "commutative" in docs for RUF036 * Fix copy and line separator colors in dark mode * Fix link to typing documentation * Include column numbers in GitLab output format * Always expand tabs to four spaces in diagnostics Dirk Mueller 2025-08-15 12:57:39 +00:00
  • 295ba9afbc Accepting request 1298595 from devel:languages:python Dominique Leuenberger 2025-08-09 17:59:15 +00:00
  • cd52ffd036 - update to 0.12.8 * Preview features * [flake8-use-pathlib] Expand PTH201 to check all PurePath subclasses * Bug fixes * [flake8-blind-except] Change BLE001 to correctly parse exception tuples * [flake8-errmsg] Exclude typing.cast from EM101 * [flake8-simplify] Fix raw string handling in SIM905 for embedded quotes * [flake8-import-conventions] Avoid false positives for NFKC-normalized __debug__ import aliases in ICN001 * [isort] Fix syntax error after docstring ending with backslash (I002) * [pylint] Mark PLC0207 fixes as unsafe when *args unpacking is present * [pyupgrade] Prevent infinite loop with I002 (UP010, UP035) * [ruff] Parenthesize generator expressions in f-strings (RUF010) * Rule changes * [eradicate] Don't flag pyrefly pragmas as unused code (ERA001) * Documentation * Replace "associative" with "commutative" in docs for RUF036 * Fix copy and line separator colors in dark mode * Fix link to typing documentation * [refurb] Make more examples error out-of-the-box * Other changes * Include column numbers in GitLab output format * Always expand tabs to four spaces in diagnostics * Update pre-commit's ruff id Ondřej Súkup 2025-08-09 10:29:08 +00:00
  • c25978c8b7 Accepting request 1296552 from devel:languages:python Dominique Leuenberger 2025-07-31 15:45:01 +00:00
  • 4d72b68454 - update to 0.12.7: * \[flake8-commas\] Add support for trailing comma checks in type parameter lists (COM812, COM819) * \[pylint\] Implement auto-fix for missing-maxsplit-arg (PLC0207) * \[ruff\] Offer fixes for RUF039 in more cases * Support .pyi files in ruff analyze graph * \[flake8-pyi\] Preserve inline comment in ellipsis removal (PYI013) * \[perflint\] Ignore rule if target is global or nonlocal (PERF401) * \[pyupgrade\] Fix UP030 to avoid modifying double curly braces in format strings * \[refurb\] Ignore decorated functions for FURB118 * \[refurb\] Mark int and bool cases for Decimal.from_float as safe fixes (FURB164) * \[ruff\] Fix RUF033 for named default expressions Dirk Mueller 2025-07-30 11:51:57 +00:00
  • a4067b9410 Accepting request 1295811 from devel:languages:python Dominique Leuenberger 2025-07-27 14:26:12 +00:00
  • c1219bd5b9 - update to 0.12.5: * \[flake8-use-pathlib\] Add autofix for PTH101, PTH104, PTH105, PTH121 * \[ruff\] Support byte strings (RUF055) * Fix unreachable panic in parser * \[flake8-pyi\] Skip fix if all Union members are None (PYI016) * \[perflint\] Parenthesize generator expressions (PERF401) * \[pylint\] Handle empty comments after line continuation (PLR2044) allow new fixes (TC001, TC002, TC003, UP037, RUF013) * [flake8-use-pathlib] Add autofix for PTH109 * [pylint] Detect indirect pathlib.Path usages for unspecified-encoding (PLW1514) * Bug fixes * [flake8-bugbear] Fix B017 false negatives for keyword exception arguments * [flake8-use-pathlib] Fix false negative on direct Path() instantiation (PTH210) * [flake8-django] Fix DJ008 false positive for abstract models with type-annotated abstract field * [isort] Fix I002 import insertion after docstring with multiple string statements * [isort] Treat form feed as valid whitespace before a semicolon * [pydoclint] Fix SyntaxError from fixes with line continuations (D201, D202) * [refurb] FURB164 fix should validate arguments and should usually be marked unsafe * Rule changes * [flake8-use-pathlib] Skip single dots for invalid-pathlib-with-suffix (PTH210) on versions >= 3.14 * [pep8_naming] Avoid false positives on standard library functions with uppercase names (N802) * [pycodestyle] Handle brace escapes for t-strings in logical lines * [pylint] Extend invalid string character rules to include t-strings * [ruff] Allow strict kwarg when checking for starmap-zip (RUF058) in Python 3.14+ * Documentation * [flake8-type-checking] Make TC010 docs example more realistic * [flake8-bugbear] Support non-context-manager calls in B017 Dirk Mueller 2025-07-25 15:53:18 +00:00
  • f359f09967 Accepting request 1294441 from devel:languages:python Ana Guerrero 2025-07-21 17:58:40 +00:00
  • d69eda7a4a - update to 0.12.4 * Preview features * [flake8-type-checking, pyupgrade, ruff] Add from __future__ import annotations when it would allow new fixes (TC001, TC002, TC003, UP037, RUF013) * [flake8-use-pathlib] Add autofix for PTH109 * [pylint] Detect indirect pathlib.Path usages for unspecified-encoding (PLW1514) * Bug fixes * [flake8-bugbear] Fix B017 false negatives for keyword exception arguments * [flake8-use-pathlib] Fix false negative on direct Path() instantiation (PTH210) * [flake8-django] Fix DJ008 false positive for abstract models with type-annotated abstract field * [isort] Fix I002 import insertion after docstring with multiple string statements * [isort] Treat form feed as valid whitespace before a semicolon * [pydoclint] Fix SyntaxError from fixes with line continuations (D201, D202) * [refurb] FURB164 fix should validate arguments and should usually be marked unsafe * Rule changes * [flake8-use-pathlib] Skip single dots for invalid-pathlib-with-suffix (PTH210) on versions >= 3.14 * [pep8_naming] Avoid false positives on standard library functions with uppercase names (N802) * [pycodestyle] Handle brace escapes for t-strings in logical lines * [pylint] Extend invalid string character rules to include t-strings * [ruff] Allow strict kwarg when checking for starmap-zip (RUF058) in Python 3.14+ * Documentation * [flake8-type-checking] Make TC010 docs example more realistic * Make more documentation examples error out-of-the-box Ondřej Súkup 2025-07-18 18:47:43 +00:00
  • 2ebd39a8e0 Accepting request 1292499 from devel:languages:python Ana Guerrero 2025-07-15 14:43:00 +00:00
  • 4a7b695072 - update to 0.12.3: * Preview features * [flake8-bugbear] Support non-context-manager calls in B017 * [flake8-use-pathlib] Add autofixes for PTH100, PTH106, PTH107, PTH108, PTH110, PTH111, PTH112, PTH113, PTH114, PTH115, PTH117, PTH119, PTH120 * [flake8-use-pathlib] Add autofixes for PTH203, PTH204, PTH205 * Bug fixes * [flake8-return] Fix false-positive for variables used inside nested functions in RET504 * Treat form feed as valid whitespace before a line continuation * [flake8-type-checking] Fix syntax error introduced by fix (TC008) * [pyupgrade] Keyword arguments in super should suppress the UP008 fix * Documentation * [flake8-pyi] Make example error out-of-the-box (PYI007, PYI008) * [flake8-simplify] Make example error out-of-the-box (SIM116) * [flake8-type-checking] Make example error out-of-the-box (TC001) * [flake8-use-pathlib] Make example error out-of-the-box (PTH210) * [pycodestyle] Make example error out-of-the-box (E272) * [pycodestyle] Make example not raise unnecessary SyntaxError (E114) * [pydoclint] Make example error out-of-the-box (DOC501) * [pylint, pyupgrade] Fix syntax errors in examples (PLW1501, UP028) * [pylint] Update missing-maxsplit-arg docs and error to suggest proper usage (PLC0207) * [flake8-bandit] Make example error out-of-the-box (S412) Ondřej Súkup 2025-07-13 12:39:18 +00:00
  • ed0d8ac7d0 Accepting request 1290670 from devel:languages:python Ana Guerrero 2025-07-06 15:03:57 +00:00
  • f3831ee85e - update to 0.12.2: * [flake8-pyi] Expand Optional[A] to A | None (PYI016) * [pyupgrade] Mark UP008 fix safe if no comments are in range * [flake8-comprehensions] Fix C420 to prepend whitespace when needed * [perflint] Fix PERF403 panic on attribute or subscription loop variable * [pydocstyle] Fix D413 infinite loop for parenthesized docstring * [pylint] Fix PLW0108 autofix introducing a syntax error when the lambda's body contains an assignment expression * [refurb] Fix false positive on empty tuples (FURB168) * [ruff] Allow more field calls from attrs (RUF009) * [ruff] Fix syntax error introduced for an empty string followed by a u-prefixed string (UP025) * [flake8-errmsg] Extend EM101 to support byte strings * [flake8-use-pathlib] Add autofix for PTH202 * [pygrep-hooks] Add AsyncMock methods to invalid-mock-access (PGH005) * [pylint] Ignore __init__.py files in (PLC0414) * [ruff] Trigger RUF037 for empty string and byte strings * [formatter] Fix missing blank lines before decorated classes in .pyi files * Bug fixes * Avoid generating diagnostics with per-file ignores * Handle parenthesized arguments in remove_argument * [flake8-logging] Avoid false positive for exc_info=True outside logger.exception (LOG014) * [flake8-pytest-style] Enforce pytest import for decorators * [flake8-pytest-style] Mark autofix for PT001 and PT023 as unsafe if there's comments in the decorator * [flake8-pytest-style] PT001/PT023 fix makes syntax error on parenthesized decorator Dirk Mueller 2025-07-04 11:37:53 +00:00
  • d88716744a Accepting request 1288970 from devel:languages:python Ana Guerrero 2025-06-30 11:04:08 +00:00
  • 67edae790f - update to 0.12.1 * Preview features * [flake8-errmsg] Extend EM101 to support byte strings * [flake8-use-pathlib] Add autofix for PTH202 * [pygrep-hooks] Add AsyncMock methods to invalid-mock-access (PGH005) * [pylint] Ignore __init__.py files in (PLC0414) * [ruff] Trigger RUF037 for empty string and byte strings * [formatter] Fix missing blank lines before decorated classes in .pyi files * Bug fixes * Avoid generating diagnostics with per-file ignores * Handle parenthesized arguments in remove_argument * [flake8-logging] Avoid false positive for exc_info=True outside logger.exception (LOG014) * [flake8-pytest-style] Enforce pytest import for decorators * [flake8-pytest-style] Mark autofix for PT001 and PT023 as unsafe if there's comments in the decorator * [flake8-pytest-style] PT001/PT023 fix makes syntax error on parenthesized decorator * [flake8-raise] Make fix unsafe if it deletes comments (RSE102) * [flake8-simplify] Fix SIM911 autofix creating a syntax error * [flake8-simplify] Fix false negatives for shadowed bindings (SIM910, SIM911) * [flake8-simplify] Preserve original behavior for except () and bare except (SIM105) * [flake8-pyi] Fix PYI041's fix causing TypeError with None | None | ... * [perflint] Fix PERF101 autofix creating a syntax error and mark autofix as unsafe if there are comments in the list call expr * [perflint] Fix false negative in PERF401 * [pylint] Avoid flattening nested min/max when outer call has single argument (PLW3301) * [pylint] Fix PLC2801 autofix creating a syntax error * [pylint] Mark PLE0241 autofix as unsafe if there's comments in the base classes * [pylint] Suppress PLE2510/PLE2512/PLE2513/PLE2514/PLE2515 autofix if the text contains an odd number of backslashes * [refurb] Detect more exotic float literals in FURB164 * [refurb] Fix FURB163 autofix creating a syntax error for yield expressions * [refurb] Mark FURB129 autofix as unsafe if there's comments in the readlines call * [ruff] Fix false positives and negatives in RUF010 Ondřej Súkup 2025-06-28 16:33:02 +00:00
  • c8a7702a7a Accepting request 1286470 from devel:languages:python Ana Guerrero 2025-06-18 20:28:35 +00:00
  • 8b7c6fb605 - update to 0.12.0 * Breaking changes * Detection of more syntax errors * New default Python version handling for syntax errors * Updated f-string formatting * rust-toolchain.toml is no longer included in source distributions * Removed Rules * suspicious-xmle-tree-usage (S320) * Deprecated Rules * pandas-df-variable-name * Stabilization * for-loop-writes (FURB122) * check-and-remove-from-set (FURB132) * verbose-decimal-constructor (FURB157) * fromisoformat-replace-z (FURB162) * int-on-sliced-str (FURB166) * exc-info-outside-except-handler (LOG014) * import-outside-top-level (PLC0415) * unnecessary-dict-index-lookup (PLR1733) * nan-comparison (PLW0177) * eq-without-hash (PLW1641) * pytest-parameter-with-default-argument (PT028) * pytest-warns-too-broad (PT030) * pytest-warns-with-multiple-statements (PT031) * invalid-formatter-suppression-comment (RUF028) * dataclass-enum (RUF049) * class-with-mixed-type-vars (RUF053) * unnecessary-round (RUF057) * starmap-zip (RUF058) * non-pep604-annotation-optional (UP045) Ondřej Súkup 2025-06-17 22:42:56 +00:00
  • ec13e4b26a Accepting request 1284538 from devel:languages:python slfo-main slfo-1.2 Ana Guerrero 2025-06-11 14:18:49 +00:00
  • 84cc3146d7 Accepting request 1284538 from devel:languages:python Ana Guerrero 2025-06-11 14:18:49 +00:00
  • f8c6ca74d0 - update to 0.11.13: * \[airflow\] Add unsafe fix for module moved cases (AIR301,AIR311,AIR312,AIR302) * \[refurb\] Add coverage of set and frozenset calls (FURB171) * \[refurb\] Mark FURB180 fix unsafe when class has bases * \[fastapi\] Avoid false positive for class dependencies (FAST003) * Support Python 3.14 template strings (t-strings) in formatter and parser * [airflow] Revise fix titles (AIR3) * [pylint] Implement missing-maxsplit-arg (PLC0207) * [pyupgrade] New rule UP050 (useless-class-metaclass-type) * [flake8-use-pathlib] Replace os.symlink with Path.symlink_to (PTH211) * Bug fixes * [flake8-bugbear] Ignore __debug__ attribute in B010 * [flake8-async] Fix anyio.sleep argument name (ASYNC115, ASYNC116) * [refurb] Fix FURB129 autofix generating invalid syntax * Rule changes * [flake8-implicit-str-concat] Add autofix for ISC003 * [pycodestyle] Improve the diagnostic message for E712 * [flake8-2020] Fix diagnostic message for != comparisons (YTT201) * [pyupgrade] Make fix unsafe if it deletes comments (UP010) * Documentation * Simplify rules table to improve readability * Update editor integrations link in README * [flake8-bugbear] Add fix safety section (B006) * [airflow] Add autofixes for AIR302 and AIR312 * [airflow] Move rules from AIR312 to AIR302 * [airflow] Update AIR301 and AIR311 with the latest Airflow implementations Dirk Mueller 2025-06-10 11:18:51 +00:00
  • 45b57e2553 - update to 0.11.13: * \[airflow\] Add unsafe fix for module moved cases (AIR301,AIR311,AIR312,AIR302) * \[refurb\] Add coverage of set and frozenset calls (FURB171) * \[refurb\] Mark FURB180 fix unsafe when class has bases * \[fastapi\] Avoid false positive for class dependencies (FAST003) * Support Python 3.14 template strings (t-strings) in formatter and parser * [airflow] Revise fix titles (AIR3) * [pylint] Implement missing-maxsplit-arg (PLC0207) * [pyupgrade] New rule UP050 (useless-class-metaclass-type) * [flake8-use-pathlib] Replace os.symlink with Path.symlink_to (PTH211) * Bug fixes * [flake8-bugbear] Ignore __debug__ attribute in B010 * [flake8-async] Fix anyio.sleep argument name (ASYNC115, ASYNC116) * [refurb] Fix FURB129 autofix generating invalid syntax * Rule changes * [flake8-implicit-str-concat] Add autofix for ISC003 * [pycodestyle] Improve the diagnostic message for E712 * [flake8-2020] Fix diagnostic message for != comparisons (YTT201) * [pyupgrade] Make fix unsafe if it deletes comments (UP010) * Documentation * Simplify rules table to improve readability * Update editor integrations link in README * [flake8-bugbear] Add fix safety section (B006) * [airflow] Add autofixes for AIR302 and AIR312 * [airflow] Move rules from AIR312 to AIR302 * [airflow] Update AIR301 and AIR311 with the latest Airflow implementations Dirk Mueller 2025-06-10 11:18:51 +00:00
  • 2c39ccf498 Accepting request 1281460 from devel:languages:python Ana Guerrero 2025-06-02 19:59:02 +00:00
  • 1667f0d72a Accepting request 1281460 from devel:languages:python Ana Guerrero 2025-06-02 19:59:02 +00:00
  • bf80e846ab - update to 0.11.12: * Preview features * [airflow] Revise fix titles (AIR3) * [pylint] Implement missing-maxsplit-arg (PLC0207) * [pyupgrade] New rule UP050 (useless-class-metaclass-type) * [flake8-use-pathlib] Replace os.symlink with Path.symlink_to (PTH211) * Bug fixes * [flake8-bugbear] Ignore __debug__ attribute in B010 * [flake8-async] Fix anyio.sleep argument name (ASYNC115, ASYNC116) * [refurb] Fix FURB129 autofix generating invalid syntax * Rule changes * [flake8-implicit-str-concat] Add autofix for ISC003 * [pycodestyle] Improve the diagnostic message for E712 * [flake8-2020] Fix diagnostic message for != comparisons (YTT201) * [pyupgrade] Make fix unsafe if it deletes comments (UP010) * Documentation * Simplify rules table to improve readability * Update editor integrations link in README * [flake8-bugbear] Add fix safety section (B006) Ondřej Súkup 2025-05-30 15:20:09 +00:00
  • f442262119 - update to 0.11.12: * Preview features * [airflow] Revise fix titles (AIR3) * [pylint] Implement missing-maxsplit-arg (PLC0207) * [pyupgrade] New rule UP050 (useless-class-metaclass-type) * [flake8-use-pathlib] Replace os.symlink with Path.symlink_to (PTH211) * Bug fixes * [flake8-bugbear] Ignore __debug__ attribute in B010 * [flake8-async] Fix anyio.sleep argument name (ASYNC115, ASYNC116) * [refurb] Fix FURB129 autofix generating invalid syntax * Rule changes * [flake8-implicit-str-concat] Add autofix for ISC003 * [pycodestyle] Improve the diagnostic message for E712 * [flake8-2020] Fix diagnostic message for != comparisons (YTT201) * [pyupgrade] Make fix unsafe if it deletes comments (UP010) * Documentation * Simplify rules table to improve readability * Update editor integrations link in README * [flake8-bugbear] Add fix safety section (B006) Ondřej Súkup 2025-05-30 15:20:09 +00:00
  • 5f1c99cb71 Accepting request 1279586 from devel:languages:python Ana Guerrero 2025-05-26 16:32:10 +00:00
  • e3d2e02146 Accepting request 1279586 from devel:languages:python Ana Guerrero 2025-05-26 16:32:10 +00:00
  • a2f3a23b2f - update to 0.11.11: * Preview features * [airflow] Add autofixes for AIR302 and AIR312 * [airflow] Move rules from AIR312 to AIR302 * [airflow] Update AIR301 and AIR311 with the latest Airflow implementations * [flake8-simplify] Enable fix in preview mode (SIM117) * Bug fixes * Fix inconsistent formatting of match-case on [] and _ * [pylint] Fix PLW1514 not recognizing the encoding positional argument of codecs.open * CLI * Add full option name in formatter warning * Documentation * Fix rendering of admonition in docs * [flake8-print] Improve print/pprint docs for T201 and T203 * [flake8-simplify] Add fix safety section (SIM110,SIM210) * [pylint] Fix docs example that produced different output (PLW0603) Ondřej Súkup 2025-05-23 15:38:54 +00:00
  • 656e16e921 - update to 0.11.11: * Preview features * [airflow] Add autofixes for AIR302 and AIR312 * [airflow] Move rules from AIR312 to AIR302 * [airflow] Update AIR301 and AIR311 with the latest Airflow implementations * [flake8-simplify] Enable fix in preview mode (SIM117) * Bug fixes * Fix inconsistent formatting of match-case on [] and _ * [pylint] Fix PLW1514 not recognizing the encoding positional argument of codecs.open * CLI * Add full option name in formatter warning * Documentation * Fix rendering of admonition in docs * [flake8-print] Improve print/pprint docs for T201 and T203 * [flake8-simplify] Add fix safety section (SIM110,SIM210) * [pylint] Fix docs example that produced different output (PLW0603) Ondřej Súkup 2025-05-23 15:38:54 +00:00
  • dc1e94bdc5 Accepting request 1278416 from devel:languages:python Ana Guerrero 2025-05-23 12:27:28 +00:00
  • bedc7b2d16 Accepting request 1278416 from devel:languages:python Ana Guerrero 2025-05-23 12:27:28 +00:00
  • 631bceea45 - update 0.11.10: * Preview features * [ruff] Implement a recursive check for RUF060 * [airflow] Enable autofixes for AIR301 and AIR311 * [airflow] Apply try catch guard to all AIR3 rules * [airflow] Extend AIR311 rules * Bug fixes * [flake8-bugbear] Ignore B028 if skip_file_prefixes is present * [flake8-pie] Mark autofix for PIE804 as unsafe if the dictionary contains comments * [flake8-simplify] Correct behavior for str.split/rsplit with maxsplit=0 (SIM905) * [flake8-simplify] Fix SIM905 autofix for rsplit creating a reversed list literal * [flake8-use-pathlib] Suppress diagnostics for all os.* functions that have the dir_fd parameter (PTH) * [refurb] Mark autofix as safe only for number literals (FURB116) * Rule changes * [flake8-bandit] Skip S608 for expressionless f-strings * [flake8-pytest-style] Don't recommend usefixtures for parametrize values (PT019) * [pyupgrade] Add resource.error as deprecated alias of OSError (UP024) * CLI * Disable jemalloc on Android * Documentation * Update Neovim setup docs * [flake8-simplify] Add fix safety section (SIM103) * [flake8-simplify] Add fix safety section (SIM112) * [pylint] Add fix safety section (PLC0414) * [pylint] Add fix safety section (PLE4703) * [pylint] Add fix safety section (PLW1514) * [pylint] Add fix safety section (PLW3301) * [ruff] Add fix safety section (RUF007) * [ruff] Add fix safety section (RUF033) Ondřej Súkup 2025-05-19 14:20:27 +00:00
  • 06155d72b0 - update 0.11.10: * Preview features * [ruff] Implement a recursive check for RUF060 * [airflow] Enable autofixes for AIR301 and AIR311 * [airflow] Apply try catch guard to all AIR3 rules * [airflow] Extend AIR311 rules * Bug fixes * [flake8-bugbear] Ignore B028 if skip_file_prefixes is present * [flake8-pie] Mark autofix for PIE804 as unsafe if the dictionary contains comments * [flake8-simplify] Correct behavior for str.split/rsplit with maxsplit=0 (SIM905) * [flake8-simplify] Fix SIM905 autofix for rsplit creating a reversed list literal * [flake8-use-pathlib] Suppress diagnostics for all os.* functions that have the dir_fd parameter (PTH) * [refurb] Mark autofix as safe only for number literals (FURB116) * Rule changes * [flake8-bandit] Skip S608 for expressionless f-strings * [flake8-pytest-style] Don't recommend usefixtures for parametrize values (PT019) * [pyupgrade] Add resource.error as deprecated alias of OSError (UP024) * CLI * Disable jemalloc on Android * Documentation * Update Neovim setup docs * [flake8-simplify] Add fix safety section (SIM103) * [flake8-simplify] Add fix safety section (SIM112) * [pylint] Add fix safety section (PLC0414) * [pylint] Add fix safety section (PLE4703) * [pylint] Add fix safety section (PLW1514) * [pylint] Add fix safety section (PLW3301) * [ruff] Add fix safety section (RUF007) * [ruff] Add fix safety section (RUF033) Ondřej Súkup 2025-05-19 14:20:27 +00:00
  • 41aebfdb1b - update to 0.11.9: * Preview features * Default to latest supported Python version for version-related syntax errors * Implement deferred annotations for Python 3.14 * [airflow] Fix SQLTableCheckOperator typo (AIR302) * [airflow] Remove airflow.utils.dag_parsing_context.get_parsing_context (AIR301) * [airflow] Skip attribute check in try catch block (AIR301) * [flake8-bandit] Mark tuples of string literals as trusted input in S603 * [isort] Check full module path against project root(s) when categorizing first-party imports * [ruff] Add new rule in-empty-collection (RUF060) * Bug fixes * Fix missing combine call for lint.typing-extensions setting * [flake8-async] Fix module name in ASYNC110, ASYNC115, and ASYNC116 fixes * [pyupgrade] Add spaces between tokens as necessary to avoid syntax errors in UP018 autofix * [refurb] Fix false positive for float and complex numbers in FURB116 * [parser] Flag single unparenthesized generator expr with trailing comma in arguments. * Documentation * Add instructions on how to upgrade to a newer Rust version * Update code of conduct email address * Add fix safety sections to PLC2801, PLR1722, and RUF013 * Add link to check-typed-exception from S110 and S112 * Other changes * Allow passing a virtual environment to ruff analyze graph Ondřej Súkup 2025-05-13 06:44:07 +00:00
  • a4f855053b - update to 0.11.9: * Preview features * Default to latest supported Python version for version-related syntax errors * Implement deferred annotations for Python 3.14 * [airflow] Fix SQLTableCheckOperator typo (AIR302) * [airflow] Remove airflow.utils.dag_parsing_context.get_parsing_context (AIR301) * [airflow] Skip attribute check in try catch block (AIR301) * [flake8-bandit] Mark tuples of string literals as trusted input in S603 * [isort] Check full module path against project root(s) when categorizing first-party imports * [ruff] Add new rule in-empty-collection (RUF060) * Bug fixes * Fix missing combine call for lint.typing-extensions setting * [flake8-async] Fix module name in ASYNC110, ASYNC115, and ASYNC116 fixes * [pyupgrade] Add spaces between tokens as necessary to avoid syntax errors in UP018 autofix * [refurb] Fix false positive for float and complex numbers in FURB116 * [parser] Flag single unparenthesized generator expr with trailing comma in arguments. * Documentation * Add instructions on how to upgrade to a newer Rust version * Update code of conduct email address * Add fix safety sections to PLC2801, PLR1722, and RUF013 * Add link to check-typed-exception from S110 and S112 * Other changes * Allow passing a virtual environment to ruff analyze graph Ondřej Súkup 2025-05-13 06:44:07 +00:00
  • b9b3cdb0c2 Accepting request 1274047 from devel:languages:python Dominique Leuenberger 2025-05-07 17:14:37 +00:00
  • 980e9422c8 Accepting request 1274047 from devel:languages:python Dominique Leuenberger 2025-05-07 17:14:37 +00:00
  • d9baf5f7d0 - update to 0.11.8 * Preview features * \[airflow\] Apply auto fixes to cases where the names have changed in Airflow 3 (AIR302, AIR311) * \[airflow\] Extend AIR301 rule * \[airflow\] Update existing AIR302 rules with better suggestions * \[refurb\] Mark fix as safe for readlines-in-for (FURB129) * [syntax-errors] nonlocal declaration at module level * [syntax-errors] Detect single starred expression assignment x = *y * Bug fixes * \[flake8-pyi\] Ensure Literal[None,] | Literal[None,] is not autofixed to None | None (PYI061) * \[flake8-use-pathlib\] Avoid suggesting Path.iterdir() for os.listdir with file descriptor (PTH208) * \[flake8-use-pathlib\] Fix PTH104 false positive when rename is passed a file descriptor * \[flake8-use-pathlib\] Fix PTH116 false positive when stat is passed a file descriptor * \[flake8-use-pathlib\] Fix PTH123 false positive when open is passed a file descriptor from a function call * \[pycodestyle\] Fix duplicated diagnostic in E712 * \[pylint\] Detect global declarations in module scope (PLE0118) * [syntax-errors] Make async-comprehension-in-sync-comprehension more specific * Configuration * Add option to disable typing_extensions imports * Documentation * Fix example syntax for the lint.pydocstyle.ignore-var-parameters option * Add fix safety sections (ASYNC116, FLY002, D200, RUF005, RUF017, RUF027, RUF028, RUF057) * Other changes * Add Python 3.14 to configuration options * Make syntax error for unparenthesized except tuples version specific to before 3.14 Ondřej Súkup 2025-05-02 15:34:54 +00:00
  • 4b6b9a3654 - update to 0.11.8 * Preview features * \[airflow\] Apply auto fixes to cases where the names have changed in Airflow 3 (AIR302, AIR311) * \[airflow\] Extend AIR301 rule * \[airflow\] Update existing AIR302 rules with better suggestions * \[refurb\] Mark fix as safe for readlines-in-for (FURB129) * [syntax-errors] nonlocal declaration at module level * [syntax-errors] Detect single starred expression assignment x = *y * Bug fixes * \[flake8-pyi\] Ensure Literal[None,] | Literal[None,] is not autofixed to None | None (PYI061) * \[flake8-use-pathlib\] Avoid suggesting Path.iterdir() for os.listdir with file descriptor (PTH208) * \[flake8-use-pathlib\] Fix PTH104 false positive when rename is passed a file descriptor * \[flake8-use-pathlib\] Fix PTH116 false positive when stat is passed a file descriptor * \[flake8-use-pathlib\] Fix PTH123 false positive when open is passed a file descriptor from a function call * \[pycodestyle\] Fix duplicated diagnostic in E712 * \[pylint\] Detect global declarations in module scope (PLE0118) * [syntax-errors] Make async-comprehension-in-sync-comprehension more specific * Configuration * Add option to disable typing_extensions imports * Documentation * Fix example syntax for the lint.pydocstyle.ignore-var-parameters option * Add fix safety sections (ASYNC116, FLY002, D200, RUF005, RUF017, RUF027, RUF028, RUF057) * Other changes * Add Python 3.14 to configuration options * Make syntax error for unparenthesized except tuples version specific to before 3.14 Ondřej Súkup 2025-05-02 15:34:54 +00:00
  • eddb95d3a1 Accepting request 1272955 from devel:languages:python Dominique Leuenberger 2025-04-29 14:39:31 +00:00
  • d6577f6406 Accepting request 1272955 from devel:languages:python Dominique Leuenberger 2025-04-29 14:39:31 +00:00
  • 4521a5465e - update to 0.11.7: * \[airflow\] Apply auto fixes to cases where the names have changed in Airflow 3 (AIR301) * \[perflint\] Implement fix for manual-dict-comprehension (PERF403) * [syntax-errors] Make duplicate parameter names a semantic error * \[flake8-type-checking\] Visit keyword arguments in checks involving typing.cast/typing.NewType arguments * \[pyupgrade\] Preserve parenthesis when fixing native literals containing newlines (UP018) * \[refurb\] Mark the FURB161 fix unsafe except for integers and booleans * Avoid adding whitespace to the end of a docstring after an escaped quote * Raise syntax error when \ is at end of file * [airflow] Add missing AIR302 attribute check * [airflow] Expand module path check to individual symbols (AIR302) * [airflow] Extract AIR312 from AIR302 rules (AIR302, AIR312) * [airflow] Update oudated AIR301, AIR302 rules * [syntax-errors] Async comprehension in sync comprehension * [syntax-errors] Check annotations in annotated assignments * [syntax-errors] Extend annotation checks to await * Bug fixes * [flake8-pie] Avoid false positive for multiple assignment with auto() (PIE796) * Rule changes * [ruff] Fix RUF100 to detect unused file-level noqa directives with specific codes * [flake8-pytest-style] Avoid false positive for legacy form of pytest.raises (PT011) * Documentation * Fix formatting of "See Style Guide" link * [ruff] Implement invalid-rule-code as RUF102 Dirk Mueller 2025-04-27 14:52:54 +00:00
  • e3976588d5 - update to 0.11.7: * \[airflow\] Apply auto fixes to cases where the names have changed in Airflow 3 (AIR301) * \[perflint\] Implement fix for manual-dict-comprehension (PERF403) * [syntax-errors] Make duplicate parameter names a semantic error * \[flake8-type-checking\] Visit keyword arguments in checks involving typing.cast/typing.NewType arguments * \[pyupgrade\] Preserve parenthesis when fixing native literals containing newlines (UP018) * \[refurb\] Mark the FURB161 fix unsafe except for integers and booleans * Avoid adding whitespace to the end of a docstring after an escaped quote * Raise syntax error when \ is at end of file * [airflow] Add missing AIR302 attribute check * [airflow] Expand module path check to individual symbols (AIR302) * [airflow] Extract AIR312 from AIR302 rules (AIR302, AIR312) * [airflow] Update oudated AIR301, AIR302 rules * [syntax-errors] Async comprehension in sync comprehension * [syntax-errors] Check annotations in annotated assignments * [syntax-errors] Extend annotation checks to await * Bug fixes * [flake8-pie] Avoid false positive for multiple assignment with auto() (PIE796) * Rule changes * [ruff] Fix RUF100 to detect unused file-level noqa directives with specific codes * [flake8-pytest-style] Avoid false positive for legacy form of pytest.raises (PT011) * Documentation * Fix formatting of "See Style Guide" link * [ruff] Implement invalid-rule-code as RUF102 Dirk Mueller 2025-04-27 14:52:54 +00:00
  • 9cebc6b947 Accepting request 1271168 from devel:languages:python Ana Guerrero 2025-04-22 15:25:43 +00:00
  • 29d96ce445 Accepting request 1271168 from devel:languages:python Ana Guerrero 2025-04-22 15:25:43 +00:00
  • 04ca5345fb - update to 0.11.6 * Preview features * Avoid adding whitespace to the end of a docstring after an escaped quote * [airflow] Extract AIR311 from AIR301 rules (AIR301, AIR311) * Bug fixes * Raise syntax error when \ is at end of file Ondřej Súkup 2025-04-21 12:51:48 +00:00
  • 67f80e98db - update to 0.11.6 * Preview features * Avoid adding whitespace to the end of a docstring after an escaped quote * [airflow] Extract AIR311 from AIR301 rules (AIR301, AIR311) * Bug fixes * Raise syntax error when \ is at end of file Ondřej Súkup 2025-04-21 12:51:48 +00:00
  • 79b7886815 Accepting request 1268673 from devel:languages:python Ana Guerrero 2025-04-14 10:55:37 +00:00
  • e3042e1ef0 Accepting request 1268673 from devel:languages:python Ana Guerrero 2025-04-14 10:55:37 +00:00
  • 75b0f23e4f - update to 0.11.5 * Preview features * [airflow] Add missing AIR302 attribute check * [airflow] Expand module path check to individual symbols (AIR302) * [airflow] Extract AIR312 from AIR302 rules (AIR302, AIR312) * [airflow] Update oudated AIR301, AIR302 rules * [syntax-errors] Async comprehension in sync comprehension * [syntax-errors] Check annotations in annotated assignments * [syntax-errors] Extend annotation checks to await * Bug fixes * [flake8-pie] Avoid false positive for multiple assignment with auto() (PIE796) * Rule changes * [ruff] Fix RUF100 to detect unused file-level noqa directives with specific codes * [flake8-pytest-style] Avoid false positive for legacy form of pytest.raises (PT011) * Documentation * Fix formatting of "See Style Guide" link Ondřej Súkup 2025-04-11 17:16:44 +00:00
  • 009a28e8cf - update to 0.11.5 * Preview features * [airflow] Add missing AIR302 attribute check * [airflow] Expand module path check to individual symbols (AIR302) * [airflow] Extract AIR312 from AIR302 rules (AIR302, AIR312) * [airflow] Update oudated AIR301, AIR302 rules * [syntax-errors] Async comprehension in sync comprehension * [syntax-errors] Check annotations in annotated assignments * [syntax-errors] Extend annotation checks to await * Bug fixes * [flake8-pie] Avoid false positive for multiple assignment with auto() (PIE796) * Rule changes * [ruff] Fix RUF100 to detect unused file-level noqa directives with specific codes * [flake8-pytest-style] Avoid false positive for legacy form of pytest.raises (PT011) * Documentation * Fix formatting of "See Style Guide" link Ondřej Súkup 2025-04-11 17:16:44 +00:00
  • bd434475a8 Accepting request 1267438 from devel:languages:python Ana Guerrero 2025-04-08 15:50:06 +00:00
  • 20e0c2399d Accepting request 1267438 from devel:languages:python Ana Guerrero 2025-04-08 15:50:06 +00:00
  • 39806fad74 - 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
  • f827a1f82f - 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
  • 22fc0952c2 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
  • 831b6aa151 - 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
  • 133eb31435 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
  • cfa9e52e15 - 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
  • 92f94a38ca 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
  • e60e9e0ab0 - 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
  • df030a4e30 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
  • 36efcfe785 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
  • 9216107558 - 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
  • afeb4a3fc1 - 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
  • 710207dede 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
  • fe959729fa 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
  • b1f8c0385b 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
  • b1e4633c2a - 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
  • 3b9efc6cec 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
  • 85fd462938 - 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
  • d584d37d29 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
  • 15ae648b75 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
  • 3a2f3cda7c Accepting request 1240140 from devel:languages:python Dominique Leuenberger 2025-01-25 18:10:06 +00:00