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 commaOndřej Súkup2025-01-24 10:46:35 +00:00
4b70d470c8- 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 commaOndřej Súkup2025-01-24 10:46:35 +00:00
ce6766c0afAccepting request 1238688 from devel:languages:pythonAna Guerrero2025-01-20 16:14:09 +00:00
5d068cf4ecAccepting request 1238688 from devel:languages:pythonAna Guerrero2025-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úkup2025-01-18 13:09:00 +00:00
7402960a96- 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úkup2025-01-18 13:09:00 +00:00
1b273a6992Accepting request 1237200 from devel:languages:pythonAna Guerrero2025-01-14 15:21:17 +00:00
f3c0420afcAccepting request 1237200 from devel:languages:pythonAna Guerrero2025-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úkup2025-01-12 22:09:20 +00:00
0b493349e2- 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úkup2025-01-12 22:09:20 +00:00
091bedcd6dAccepting request 1236832 from devel:languages:pythonAna Guerrero2025-01-12 10:08:44 +00:00
e5d1acc7feAccepting request 1236832 from devel:languages:pythonAna Guerrero2025-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 matchcase clauses * More consistent formatting for matchcase 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 Mueller2025-01-10 10:48:55 +00:00
b3b0698561- 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 matchcase clauses * More consistent formatting for matchcase 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 Mueller2025-01-10 10:48:55 +00:00
e77ad89db4Accepting request 1235139 from devel:languages:pythonAna Guerrero2025-01-07 19:49:57 +00:00
be39351ecbAccepting request 1235139 from devel:languages:pythonAna Guerrero2025-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úkup2025-01-06 10:04:56 +00:00
7a5f114528- 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úkup2025-01-06 10:04:56 +00:00
22c773fbe0Accepting request 1231367 from devel:languages:pythonAna Guerrero2024-12-17 18:22:20 +00:00
bbd34f3f90Accepting request 1231367 from devel:languages:pythonAna Guerrero2024-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 operationOndřej Súkup2024-12-16 10:24:23 +00:00
19ae6d77a9- 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 operationOndřej Súkup2024-12-16 10:24:23 +00:00
c5a9a34047Accepting request 1228749 from devel:languages:pythonAna Guerrero2024-12-08 10:36:25 +00:00
4fbf4829dfAccepting request 1228749 from devel:languages:pythonAna Guerrero2024-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 itselfOndřej Súkup2024-12-06 11:37:15 +00:00
d39e8cfefd- 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 itselfOndřej Súkup2024-12-06 11:37:15 +00:00
6320a607c8Accepting request 1227743 from devel:languages:pythonAna Guerrero2024-12-03 19:45:39 +00:00
3a1cbe7e75Accepting request 1227743 from devel:languages:pythonAna Guerrero2024-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úkup2024-12-02 11:29:19 +00:00
b1b8f0db27- 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úkup2024-12-02 11:29:19 +00:00
3065de8967Accepting request 1224610 from devel:languages:pythonAna Guerrero2024-11-18 18:57:06 +00:00
373742b5c9Accepting request 1224610 from devel:languages:pythonAna Guerrero2024-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úkup2024-11-17 01:37:16 +00:00
58e814bd5b- 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úkup2024-11-17 01:37:16 +00:00
c5c04be959Accepting request 1223378 from devel:languages:pythonAna Guerrero2024-11-12 18:19:49 +00:00
acf2c43ed9Accepting request 1223378 from devel:languages:pythonAna Guerrero2024-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 codesOndřej Súkup2024-11-11 14:16:41 +00:00
3f31d9d487- 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 codesOndřej Súkup2024-11-11 14:16:41 +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úkup2024-11-01 23:06:50 +00:00
a36a140005- 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úkup2024-11-01 23:06:50 +00:00
3521b16751Accepting request 1218438 from devel:languages:pythonAna Guerrero2024-10-27 10:24:17 +00:00
be7d0e2029Accepting request 1218438 from devel:languages:pythonAna Guerrero2024-10-27 10:24:17 +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 NotImplementedErrorOndřej Súkup2024-10-25 19:58:57 +00:00
1be6a1260e- 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 NotImplementedErrorOndřej Súkup2024-10-25 19:58:57 +00:00
330d33f249Accepting request 1216817 from devel:languages:pythonAna Guerrero2024-10-22 12:51:01 +00:00
7af47b106bAccepting request 1216817 from devel:languages:pythonAna Guerrero2024-10-22 12:51:01 +00:00
5289a4dc9fAccepting request 1208873 from devel:languages:pythonAna Guerrero2024-10-20 08:08:59 +00:00
a581e230a3Accepting request 1208873 from devel:languages:pythonAna Guerrero2024-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 autofixOndřej Súkup2024-10-18 13:01:04 +00:00
093a5dcb12- 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 autofixOndřej Súkup2024-10-18 13:01:04 +00:00
5b7ac9f325Accepting request 1206146 from devel:languages:pythonAna Guerrero2024-10-08 15:16:37 +00:00
1abd370428Accepting request 1206146 from devel:languages:pythonAna Guerrero2024-10-08 15:16:37 +00:00
dd17e5b1cc- update to 0.6.9 * Preview features * Fix codeblock dynamic line length calculation for indented docstring examples * [refurb] Mark FURB118 fix as unsafe * Rule changes * [pydocstyle] Don't raise D208 when last line is non-empty * [pylint] Preserve trivia (i.e. comments) in PLR5501 autofix * Configuration * [pyflakes] Add allow-unused-imports setting for unused-import rule (F401) * Bug fixes * Support ruff discovery in pip build environments * [flake8-bugbear] Avoid short circuiting B017 for multiple context managers * [pylint] Do not offer an invalid fix for PLR1716 when the comparisons contain parenthesis * [pyupgrade] Fix UP043 to apply to collections.abc.Generator and collections.abc.AsyncGenerator * [refurb] Fix handling of slices in tuples for FURB118, e.g., x[:, 1]Ondřej Súkup2024-10-07 16:58:51 +00:00
02a0c1a348- update to 0.6.9 * Preview features * Fix codeblock dynamic line length calculation for indented docstring examples * [refurb] Mark FURB118 fix as unsafe * Rule changes * [pydocstyle] Don't raise D208 when last line is non-empty * [pylint] Preserve trivia (i.e. comments) in PLR5501 autofix * Configuration * [pyflakes] Add allow-unused-imports setting for unused-import rule (F401) * Bug fixes * Support ruff discovery in pip build environments * [flake8-bugbear] Avoid short circuiting B017 for multiple context managers * [pylint] Do not offer an invalid fix for PLR1716 when the comparisons contain parenthesis * [pyupgrade] Fix UP043 to apply to collections.abc.Generator and collections.abc.AsyncGenerator * [refurb] Fix handling of slices in tuples for FURB118, e.g., x[:, 1]Ondřej Súkup2024-10-07 16:58:51 +00:00
a9c5f883e7Accepting request 1203894 from devel:languages:pythonAna Guerrero2024-09-29 16:09:07 +00:00
4e9569264eAccepting request 1203894 from devel:languages:pythonAna Guerrero2024-09-29 16:09:07 +00:00
a2aba31431- update to 0.6.8: * Preview features * Remove unnecessary parentheses around match case clauses * Parenthesize overlong if guards in match..case clauses * Detect basic wildcard imports in ruff analyze graph * [pylint] Implement boolean-chained-comparison (R1716) * Rule changes * [lake8-simplify] Detect SIM910 when using variadic keyword arguments, i.e., **kwargs * [pyupgrade] Avoid false negatives with non-reference shadowed bindings of loop variables (UP028) * Bug fixes * Detect tuples bound to variadic positional arguments i.e. *args * Exit gracefully on broken pipe errors * Avoid panic when analyze graph hits broken pipe * Performance * Reuse BTreeSets in module resolver * Skip traversal for non-compound statementsOndřej Súkup2024-09-26 13:39:56 +00:00
9ef56fd327- update to 0.6.8: * Preview features * Remove unnecessary parentheses around match case clauses * Parenthesize overlong if guards in match..case clauses * Detect basic wildcard imports in ruff analyze graph * [pylint] Implement boolean-chained-comparison (R1716) * Rule changes * [lake8-simplify] Detect SIM910 when using variadic keyword arguments, i.e., **kwargs * [pyupgrade] Avoid false negatives with non-reference shadowed bindings of loop variables (UP028) * Bug fixes * Detect tuples bound to variadic positional arguments i.e. *args * Exit gracefully on broken pipe errors * Avoid panic when analyze graph hits broken pipe * Performance * Reuse BTreeSets in module resolver * Skip traversal for non-compound statementsOndřej Súkup2024-09-26 13:39:56 +00:00
45a26cc8b9Accepting request 1202630 from devel:languages:pythonAna Guerrero2024-09-24 15:31:22 +00:00
f6aaa3e8b0Accepting request 1202630 from devel:languages:pythonAna Guerrero2024-09-24 15:31:22 +00:00
6379086470- update to 0.6.7: * Add Python version support to ruff analyze CLI * Add exclude support to ruff analyze * Fix parentheses around return type annotations * \[pycodestyle\] Fix: Don't autofix if the first line ends in a question mark? (D400) * Respect lint.exclude in ruff check --add-noqa * Avoid tracking module resolver files in Salsa - update to 0.6.6: * \[refurb\] Skip slice-to-remove-prefix-or-suffix (FURB188) when non-trivial slice steps are present * Add a subcommand to generate dependency graphs * Fix placement of inline parameter comments * Fix off-by one error in the LineIndex::offset calculation * \[fastapi\] Respect FastAPI aliases in route definitions * \[pydocstyle\] Respect word boundaries when detecting function signature in docs * [pydoclint] Ignore DOC201 when function name is "new" * [refurb] Implement slice-to-remove-prefix-or-suffix (FURB188) * Rule changes * [eradicate] Ignore script-comments with multiple end-tags (ERA001) was added in a newer version than specified in Ruff config (F821) * Add support for extensionless Python files for server * Fix configuration inheritance for configurations specified in the LSP settings * Bug fixes * [ruff] Handle unary operators in decimal-from-float-literal (RUF032) * CLI * Only include rules with diagnostics in SARIF metadata * Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" * Fix errors not shown for restored snippet on page loadDirk Mueller2024-09-23 12:02:23 +00:00
7f8b6e2985- update to 0.6.7: * Add Python version support to ruff analyze CLI * Add exclude support to ruff analyze * Fix parentheses around return type annotations * \[pycodestyle\] Fix: Don't autofix if the first line ends in a question mark? (D400) * Respect lint.exclude in ruff check --add-noqa * Avoid tracking module resolver files in Salsa - update to 0.6.6: * \[refurb\] Skip slice-to-remove-prefix-or-suffix (FURB188) when non-trivial slice steps are present * Add a subcommand to generate dependency graphs * Fix placement of inline parameter comments * Fix off-by one error in the LineIndex::offset calculation * \[fastapi\] Respect FastAPI aliases in route definitions * \[pydocstyle\] Respect word boundaries when detecting function signature in docs * [pydoclint] Ignore DOC201 when function name is "new" * [refurb] Implement slice-to-remove-prefix-or-suffix (FURB188) * Rule changes * [eradicate] Ignore script-comments with multiple end-tags (ERA001) was added in a newer version than specified in Ruff config (F821) * Add support for extensionless Python files for server * Fix configuration inheritance for configurations specified in the LSP settings * Bug fixes * [ruff] Handle unary operators in decimal-from-float-literal (RUF032) * CLI * Only include rules with diagnostics in SARIF metadata * Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" * Fix errors not shown for restored snippet on page loadDirk Mueller2024-09-23 12:02:23 +00:00
17069d5b87Accepting request 1201802 from devel:languages:pythonAna Guerrero2024-09-19 19:16:49 +00:00
18158c1cbaAccepting request 1201802 from devel:languages:pythonAna Guerrero2024-09-19 19:16:49 +00:00
d873b4dbee- update to 0.6.5: * Preview features * [pydoclint] Ignore DOC201 when function name is "new" * [refurb] Implement slice-to-remove-prefix-or-suffix (FURB188) * Rule changes * [eradicate] Ignore script-comments with multiple end-tags (ERA001) * [pyflakes] Improve error message for UndefinedName when a builtin was added in a newer version than specified in Ruff config (F821) * Server * Add support for extensionless Python files for server * Fix configuration inheritance for configurations specified in the LSP settings * Bug fixes * [ruff] Handle unary operators in decimal-from-float-literal (RUF032) * CLI * Only include rules with diagnostics in SARIF metadata * Playground * Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" * Fix errors not shown for restored snippet on page loadOndřej Súkup2024-09-18 13:43:52 +00:00
016e790a14- update to 0.6.5: * Preview features * [pydoclint] Ignore DOC201 when function name is "new" * [refurb] Implement slice-to-remove-prefix-or-suffix (FURB188) * Rule changes * [eradicate] Ignore script-comments with multiple end-tags (ERA001) * [pyflakes] Improve error message for UndefinedName when a builtin was added in a newer version than specified in Ruff config (F821) * Server * Add support for extensionless Python files for server * Fix configuration inheritance for configurations specified in the LSP settings * Bug fixes * [ruff] Handle unary operators in decimal-from-float-literal (RUF032) * CLI * Only include rules with diagnostics in SARIF metadata * Playground * Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML" * Fix errors not shown for restored snippet on page loadOndřej Súkup2024-09-18 13:43:52 +00:00
ee581a7a22Accepting request 1199612 from devel:languages:pythonAna Guerrero2024-09-10 19:12:18 +00:00
3738e5f553Accepting request 1199612 from devel:languages:pythonAna Guerrero2024-09-10 19:12:18 +00:00
f38da4e07e- update to 0.6.4: * \[flake8-builtins\] Use dynamic builtins list based on Python version * \[pydoclint\] Permit yielding None in DOC402 and DOC403 * \[pylint\] Update diagnostic message for PLW3201 * \[ruff\] Implement post-init-default (RUF033) * \[ruff\] Implement useless if-else (RUF034) * \[flake8-pyi\] Respect pep8_naming.classmethod-decorators settings when determining if a method is a classmethod in custom-type-var-return-type (PYI019) * \[flake8-pyi\] Teach various rules that annotations might be stringized * \[pylint\] Avoid no-self-use for attrs-style validators * \[pylint\] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733, PLR1736) * \[pyupgrade\] Detect aiofiles.open calls in UP015 * \[pyupgrade\] Mark sys.version_info[0] < 3 and similar comparisons as outdated (UP036) * [flake8-simplify] Extend open-file-with-context-handler to work with other standard-library IO modules (SIM115) * [ruff] Avoid unused-async for functions with FastAPI route decorator (RUF029) * [ruff] Ignore fstring-missing-syntax (RUF027) for fastAPI paths * [ruff] Implement check for Decimal called with a float literal (RUF032) * [flake8-simplify] Extend open-file-with-context-handler to work with dbm.sqlite3 (SIM115) * [pycodestyle] Disable E741 in stub files (.pyi) * [pydoclint] Avoid DOC201 on explicit returns in functions that only return None * Rule changes * [flake8-bugbear] Update diagnostic message when expression is at the end of function (B015) * [flake8-pyi] Skip type annotations in string-or-bytes-too-long (PYI053) * [flake8-type-checking] Always recognise relative imports as first-partyDirk Mueller2024-09-09 08:15:34 +00:00
fcb34b1f46- update to 0.6.4: * \[flake8-builtins\] Use dynamic builtins list based on Python version * \[pydoclint\] Permit yielding None in DOC402 and DOC403 * \[pylint\] Update diagnostic message for PLW3201 * \[ruff\] Implement post-init-default (RUF033) * \[ruff\] Implement useless if-else (RUF034) * \[flake8-pyi\] Respect pep8_naming.classmethod-decorators settings when determining if a method is a classmethod in custom-type-var-return-type (PYI019) * \[flake8-pyi\] Teach various rules that annotations might be stringized * \[pylint\] Avoid no-self-use for attrs-style validators * \[pylint\] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733, PLR1736) * \[pyupgrade\] Detect aiofiles.open calls in UP015 * \[pyupgrade\] Mark sys.version_info[0] < 3 and similar comparisons as outdated (UP036) * [flake8-simplify] Extend open-file-with-context-handler to work with other standard-library IO modules (SIM115) * [ruff] Avoid unused-async for functions with FastAPI route decorator (RUF029) * [ruff] Ignore fstring-missing-syntax (RUF027) for fastAPI paths * [ruff] Implement check for Decimal called with a float literal (RUF032) * [flake8-simplify] Extend open-file-with-context-handler to work with dbm.sqlite3 (SIM115) * [pycodestyle] Disable E741 in stub files (.pyi) * [pydoclint] Avoid DOC201 on explicit returns in functions that only return None * Rule changes * [flake8-bugbear] Update diagnostic message when expression is at the end of function (B015) * [flake8-pyi] Skip type annotations in string-or-bytes-too-long (PYI053) * [flake8-type-checking] Always recognise relative imports as first-partyDirk Mueller2024-09-09 08:15:34 +00:00
d6d8efee62- update to 0.6.3: * Preview features * [flake8-simplify] Extend open-file-with-context-handler to work with other standard-library IO modules (SIM115) * [ruff] Avoid unused-async for functions with FastAPI route decorator (RUF029) * [ruff] Ignore fstring-missing-syntax (RUF027) for fastAPI paths * [ruff] Implement check for Decimal called with a float literal (RUF032) * [flake8-simplify] Extend open-file-with-context-handler to work with dbm.sqlite3 (SIM115) * [pycodestyle] Disable E741 in stub files (.pyi) * [pydoclint] Avoid DOC201 on explicit returns in functions that only return None * Rule changes * [flake8-bugbear] Update diagnostic message when expression is at the end of function (B015) * [flake8-pyi] Skip type annotations in string-or-bytes-too-long (PYI053) * [flake8-type-checking] Always recognise relative imports as first-party * [flake8-unused-arguments] Ignore unused arguments on stub functions (ARG001) * [pylint] Ignore augmented assignment for self-cls-assignment (PLW0642) * [flake8-async] Disable check for asyncio before Python 3.11 (ASYNC109) * Bug fixes * [pep8-naming] Don't flag from imports following conventional import names (N817) * [pylint] - Allow __new__ methods to have cls as their first argument even if decorated with @staticmethod for bad-staticmethod-argument (PLW0211) * [FastAPI] Avoid introducing invalid syntax in fix for fast-api-non-annotated-dependency (FAST002) * [flake8-implicit-str-concat] Normalize octals before merging concatenated strings in single-line-implicit-string-concatenation (ISC001) * [flake8-pytest-style] Improve help message for pytest-incorrect-mark-parentheses-style (PT023) * [pylint] Avoid autofix for calls that aren't min or max as starred expression (PLW3301) * [ruff] Add datetime.time, datetime.tzinfo, and datetime.timezone as immutable function calls (RUF009) * [ruff] Extend comment deletion for RUF100 to include trailing text from noqa directives while preserving any following comments on the same line, if any * Fix dark theme on initial page load for the Ruff playground * Server * Show full context in error log messages * Documentation * Add hyperfine installation instructions; update hyperfine code samplesOndřej Súkup2024-09-02 09:12:13 +00:00
ec9231da9c- update to 0.6.3: * Preview features * [flake8-simplify] Extend open-file-with-context-handler to work with other standard-library IO modules (SIM115) * [ruff] Avoid unused-async for functions with FastAPI route decorator (RUF029) * [ruff] Ignore fstring-missing-syntax (RUF027) for fastAPI paths * [ruff] Implement check for Decimal called with a float literal (RUF032) * [flake8-simplify] Extend open-file-with-context-handler to work with dbm.sqlite3 (SIM115) * [pycodestyle] Disable E741 in stub files (.pyi) * [pydoclint] Avoid DOC201 on explicit returns in functions that only return None * Rule changes * [flake8-bugbear] Update diagnostic message when expression is at the end of function (B015) * [flake8-pyi] Skip type annotations in string-or-bytes-too-long (PYI053) * [flake8-type-checking] Always recognise relative imports as first-party * [flake8-unused-arguments] Ignore unused arguments on stub functions (ARG001) * [pylint] Ignore augmented assignment for self-cls-assignment (PLW0642) * [flake8-async] Disable check for asyncio before Python 3.11 (ASYNC109) * Bug fixes * [pep8-naming] Don't flag from imports following conventional import names (N817) * [pylint] - Allow __new__ methods to have cls as their first argument even if decorated with @staticmethod for bad-staticmethod-argument (PLW0211) * [FastAPI] Avoid introducing invalid syntax in fix for fast-api-non-annotated-dependency (FAST002) * [flake8-implicit-str-concat] Normalize octals before merging concatenated strings in single-line-implicit-string-concatenation (ISC001) * [flake8-pytest-style] Improve help message for pytest-incorrect-mark-parentheses-style (PT023) * [pylint] Avoid autofix for calls that aren't min or max as starred expression (PLW3301) * [ruff] Add datetime.time, datetime.tzinfo, and datetime.timezone as immutable function calls (RUF009) * [ruff] Extend comment deletion for RUF100 to include trailing text from noqa directives while preserving any following comments on the same line, if any * Fix dark theme on initial page load for the Ruff playground * Server * Show full context in error log messages * Documentation * Add hyperfine installation instructions; update hyperfine code samplesOndřej Súkup2024-09-02 09:12:13 +00:00
4bbf80e561Accepting request 1194751 from devel:languages:pythonAna Guerrero2024-08-20 14:13:10 +00:00
5132975523Accepting request 1194751 from devel:languages:pythonAna Guerrero2024-08-20 14:13:10 +00:00
ea958188bf- update to 0.6.1: * Detect imports in src layouts by default for isort rules * The pytest rules PT001 and PT023 now default to omitting the decorator parentheses when there are no arguments . * Lint and format Jupyter Notebook by default . * big list of changes: https://github.com/astral-sh/ruff/blob/main/CHANGELOG.mdOndřej Súkup2024-08-19 17:42:38 +00:00
71577d5bdb- update to 0.6.1: * Detect imports in src layouts by default for isort rules * The pytest rules PT001 and PT023 now default to omitting the decorator parentheses when there are no arguments . * Lint and format Jupyter Notebook by default . * big list of changes: https://github.com/astral-sh/ruff/blob/main/CHANGELOG.mdOndřej Súkup2024-08-19 17:42:38 +00:00
eac981d0c6- update to 0.5.6: * Ruff 0.5.6 automatically enables linting and formatting of notebooks in preview mode. * Enable notebooks by default in preview mode * [flake8-builtins] Implement import, lambda, and module shadowing * [pydoclint] Add docstring-missing-returns (DOC201) and docstring-extraneous-returns (DOC202) * [flake8-return] Exempt cached properties and other property-like decorators from explicit return rule (RET501) * Make server panic hook more error resilient * Use $/logTrace for server trace logs in Zed and VS Code * Keep track of deleted cells for reorder change request * [flake8-implicit-str-concat] Always allow explicit multi-line concatenations when implicit concatenations are banned * [flake8-async] Avoid flagging asyncio.timeouts as unused when the context manager includes asyncio.TaskGroup * [flake8-slots] Avoid recommending __slots__ for classes that inherit from more than namedtuple * [isort] Avoid marking required imports as unused * [isort] Preserve trailing inline comments on import-from statements * [pycodestyle] Add newlines before comments (E305) * [pycodestyle] Don't attach comments with mismatched indents * [pyflakes] Fix preview-mode bugs in F401 when attempting to autofix unused first-party submodule imports in an __init__.py file * [pylint] Respect start index in unnecessary-list-index-lookup * [pyupgrade] Avoid recommending no-argument super in slots=True dataclasses * [pyupgrade] Use colon rather than dot formatting for integer-only types * Fix NFKC normalization bug when removing unused imports * Consider more stdlib decorators to be property-like * Improve handling of metaclasses in various linter rules * Improve consistency between linter rules in determining whether a function is propertyOndřej Súkup2024-08-09 10:52:07 +00:00
788df658f7Accepting request 1191718 from home:uncomfyhalomacro:branches:devel:languages:pythonOndřej Súkup2024-08-09 10:52:07 +00:00
83994768e7Accepting request 1186130 from devel:languages:pythonAna Guerrero2024-07-08 17:07:13 +00:00
0ef824944cAccepting request 1186130 from devel:languages:pythonAna Guerrero2024-07-08 17:07:13 +00:00
f6fca5b7dc- update to 0.5.1: * Enable token-based rules on source with syntax errors * \[flake8-bandit\] Detect httpx for S113 * \[numpy\] Update NPY201 to include exception deprecations * \[pylint\] Generate autofix for duplicate-bases (PLE0241) * Avoid syntax error notification for source code actions * Consider the content of the new cells during notebook sync * Fix replacement edit range computation * Disable auto-fix when source has syntax errors * Fix cache key collisions for paths with separators * Make requires-python inference robust to == * Use char-wise width instead of str-width * \[pycodestyle\] Avoid E275 if keyword followed by comma * \[pycodestyle\] Avoid E275 if keyword is followed by a semicolon * \[pylint\] Skip dummy variables for PLR1704Dirk Mueller2024-07-08 09:49:30 +00:00
5c268e42b9- update to 0.5.1: * Enable token-based rules on source with syntax errors * \[flake8-bandit\] Detect httpx for S113 * \[numpy\] Update NPY201 to include exception deprecations * \[pylint\] Generate autofix for duplicate-bases (PLE0241) * Avoid syntax error notification for source code actions * Consider the content of the new cells during notebook sync * Fix replacement edit range computation * Disable auto-fix when source has syntax errors * Fix cache key collisions for paths with separators * Make requires-python inference robust to == * Use char-wise width instead of str-width * \[pycodestyle\] Avoid E275 if keyword followed by comma * \[pycodestyle\] Avoid E275 if keyword is followed by a semicolon * \[pylint\] Skip dummy variables for PLR1704Dirk Mueller2024-07-08 09:49:30 +00:00