|
|
|
|
Changelog for python311-ruff-0.3.4-lp156.1.1.x86_64.rpm :
* Fri Mar 22 2024 Ondřej Súkup - update ruff to 0.3.4 * Preview features * [flake8-simplify] Detect implicit else cases in needless-bool (SIM103) * [pylint] Implement nan-comparison (PLW0117) * [pylint] Implement nonlocal-and-global (E115) * [pylint] Implement singledispatchmethod-function (PLE5120) * [refurb] Implement list-reverse-copy (FURB187) * Rule changes * [flake8-pytest-style] Add automatic fix for pytest-parametrize-values-wrong-type (PT007) * [pycodestyle] Allow SPDX license headers to exceed the line length (E501) * Formatter * Fix unstable formatting for trailing subscript end-of-line comment * Bug fixes * Avoid code comment detection in PEP 723 script tags * Avoid incorrect tuple transformation in single-element case (C409) * Bug fix: Prevent fully defined links name from being reformatted * Consider raw source code for W605 * Docs: Link inline settings when not part of options section * Don\'t treat annotations as redefinitions in .pyi files * Fix E231 bug: Inconsistent catch compared to pycodestyle, such as when dict nested in list * Fix pylint upstream categories not showing in docs * Add missing Options references to blank line docs * \'Revert \"F821: Fix false negatives in .py files when from __future__ import annotations is active \"\' * Apply NFKC normalization to unicode identifiers in the lexer * Avoid failures due to non-deterministic binding ordering * [flake8-bugbear] Allow tuples of exceptions (B030) * [flake8-quotes] Avoid syntax errors due to invalid quotes (Q000, Q002) * Mon Mar 18 2024 Ondřej Súkup - update to 0.3.3 * Preview features * [flake8-bandit]: Implement S610 rule * [pycodestyle] Implement blank-line-at-end-of-file (W391) * [pycodestyle] Implement redundant-backslash (E502) * [pylint] - implement redeclared-assigned-name (W0128) * Rule changes * [flake8_comprehensions] Handled special case for C400 which also matches C416 * [flake8-bandit] Implement upstream updates for S311, S324 and S605 * [pyflakes] Remove F401 fix for __init__ imports by default and allow opt-in to unsafe fix * [pylint] Implement invalid-bool-return-type (E304) * [pylint] Include builtin warnings in useless-exception-statement (PLW0133) * CLI * Add message on success to ruff check * Bug fixes * [PIE970] Allow trailing ellipsis in typing.TYPE_CHECKING * Avoid TRIO115 if the argument is a variable * [F811] Avoid removing shadowed imports that point to different symbols * Fix F821 and F822 false positives in .pyi files * Fix F821 false negatives in .py files when from __future__ import annotations is active * Fix case where Indexer fails to identify continuation preceded by newline #10351 * Sort hash maps in Settings display * Track conditional deletions in the semantic model * [C413] Wrap expressions in parentheses when negating * [pycodestyle] Do not ignore lines before the first logical line in blank lines rules. * [pycodestyle] Do not trigger E225 and E275 when the next token is a \')\' * [pylint] Avoid false-positive slot non-assignment for __dict__ (PLE0237) * Gate f-string struct size test for Rustc < 1.76 * Documentation * Use ruff.toml format in README * [RUF008] Make it clearer that a mutable default in a dataclass is only valid if it is typed as a ClassVar * [pylint] Extend docs and test in invalid-str-return-type (E307) * Remove . from check and format commands * Mon Mar 11 2024 Ondřej Súkup - update to 0.3.2 * Preview features * Improve single-with item formatting for Python 3.8 or older * Rule changes * [pyupgrade] Allow fixes for f-string rule regardless of line length (UP032) * [pycodestyle] Include actual conditions in E712 diagnostics * Bug fixes * Fix trailing kwargs end of line comment after slash * Fix unstable with items formatting * Avoid repeating function calls in f-string conversions * Fix E203 false positive for slices in format strings * Fix incorrect Parameter range for *args and * *kwargs * Treat typing.Annotated subscripts as type definitions * 0.3.1 * Preview features * [pycodestyle] Fix E301 not triggering on decorated methods. * [pycodestyle] Respect isort settings in blank line rules (E3 *) * [pycodestyle] Make blank lines in typing stub files optional (E3 *) * [pylint] Implement singledispatch-method (E1519) * [pylint] Implement useless-exception-statement (W0133) * Rule changes * [flake8-debugger] Check for use of debugpy and ptvsd debug modules * [pyupgrade] Generate diagnostic for all valid f-string conversions regardless of line length (UP032) * [pep8_naming] Add fixes for N804 and N805 * CLI * Colorize the output of ruff format --diff * Make --config and --isolated global flags * Correctly expand tildes and environment variables in paths passed to --config * Configuration * Accept a PEP 440 version specifier for required-version * Implement isort\'s default-section setting * Bug fixes * Remove trailing space from CapWords message * Respect external codes in file-level exemptions * [flake8-raise] Avoid false-positives for parens-on-raise with future.exception() (RSE102) * [pylint] Add fix for unary expressions in PLC2801 * [ruff] Fix RUF028 not allowing # fmt: skip on match cases * Fri Mar 08 2024 Matej Cepl - Remove limitations on building (do not exclude any arch beforehand). * Wed Mar 06 2024 Ondřej Súkup - update to 0.3.0 * Preview features * [flake8-bandit] Remove suspicious-lxml-import (S410) * [pycodestyle] Allow os.environ modifications between imports (E402) * [pycodestyle] Don\'t warn about a single whitespace character before a comma in a tuple (E203) * Rule changes * [eradicate] Detect commented out case statements (ERA001) * [eradicate] Detect single-line code for try:, except:, etc. (ERA001) * [flake8-boolean-trap] Allow boolean positionals in __post_init__ * [flake8-copyright] Allow © in copyright notices * [isort]: Use one blank line after imports in typing stub files * [pylint] New Rule dict-iter-missing-items (PLE1141) * [pylint] Ignore sys.version and sys.platform (PLR1714) * [pyupgrade] Detect literals with unary operators (UP018) * [ruff] Expand rule for list(iterable).pop(0) idiom (RUF015) * Formatter * This release introduces the Ruff 2024.2 style, stabilizing the following changes: * Prefer splitting the assignment\'s value over the target or type annotation * Remove blank lines before class docstrings * Wrap multiple context managers in with parentheses when targeting Python 3.9 or newer * Add a blank line after nested classes with a dummy body (...) in typing stub files * Reduce vertical spacing for classes and functions with a dummy (...) body * Add a blank line after the module docstring * Parenthesize long type hints in assignments * Preserve indent for single multiline-string call-expressions * Normalize hex escape and unicode escape sequences * Format module docstrings * CLI * Explicitly disallow extend as part of a --config flag * Remove build from the default exclusion list * Deprecate ruff , ruff --explain, ruff --clean, and ruff --generate-shell-completion in favor of ruff check , ruff rule, ruff clean, and ruff generate-shell-completion * Remove the deprecated CLI option --format from ruff rule and ruff linter * Bug fixes * [flake8-bugbear] Avoid adding default initializers to stubs (B006) * [flake8-type-checking] Respect runtime-required decorators for function signatures * [pycodestyle] Mark fixes overlapping with a multiline string as unsafe (W293) * [pydocstyle] Trim whitespace when removing blank lines after section (D413) * [pylint] Delete entire statement, including semicolons (PLR0203) * [ruff] Avoid f-string false positives in gettext calls (RUF027) * Fix ruff crashing on PowerPC systems because of too small page size * Performance * Add cold attribute to less likely printer queue branches in the formatter * Skip unnecessary string normalization in the formatter * Documentation * Remove \"Beta\" Label from formatter documentation * line-length option: fix link to pycodestyle.max-line-length * Tue Mar 05 2024 Andreas Schwab - Enable build on riscv64 * Wed Feb 21 2024 Ondřej Súkup - update to 0.2.2 * Highlights include: * Initial support formatting f-strings (in --preview). * Support for overriding arbitrary configuration options via the CLI through an expanded --config argument (e.g., --config \"lint.isort.combine-as-imports=false\"). * Significant performance improvements in Ruff\'s lexer, parser, and lint rules. * Preview features * Implement minimal f-string formatting * [pycodestyle] Add blank line(s) rules (E301, E302, E303, E304, E305, E306) * [refurb] Implement readlines_in_for (FURB129) * Rule changes * [ruff] Ensure closing parentheses for multiline sequences are always on their own line (RUF022, RUF023) * [numpy] Add missing deprecation violations (NPY002) * [flake8-bandit] Detect mark_safe usages in decorators * [ruff] Expand asyncio-dangling-task (RUF006) to include new_event_loop * [flake8-pyi] Ignore \'unused\' private type dicts in class scopes * Formatter * Docstring formatting: Preserve tab indentation when using indent-style=tabs * Disable top-level docstring formatting for notebooks * Stabilize quote-style\'s preserve mode * CLI * Allow arbitrary configuration options to be overridden via the CLI * Bug fixes * Make show-settings filters directory-agnostic * Respect duplicates when rewriting type aliases * Respect tuple assignments in typing analyzer * Use atomic write when persisting cache * Use non-parenthesized range for DebugText * [flake8-simplify] Avoid false positive with async for loops (SIM113) * [flake8-trio] Respect async with in timeout-without-await * [perflint] Catch a wider range of mutations in PERF101 * [pycodestyle] Fix E30X panics on blank lines with trailing white spaces * [pydocstyle] Allow using parameters as a subsection header (D405) * [pydocstyle] Fix blank-line docstring rules for module-level docstrings * [pylint] Accept 0.0 and 1.0 as common magic values (PLR2004) * [pylint] Avoid suggesting set rewrites for non-hashable types * [ruff] Avoid false negatives with string literals inside of method calls (RUF027) * [ruff] Fix panic on with f-string detection (RUF027) * [ruff] Ignore builtins when detecting missing f-strings * Performance * Use memchr for string lexing * Use memchr for tab-indentation detection * Reduce Result size by using Box instead of String * Reduce size of Expr from 80 to 64 bytes * Improve trailing comma rule performance * Remove unnecessary string cloning from the parser * Wed Feb 07 2024 Ondřej Súkup - update to 0.2.1 * This release includes support for range formatting (i.e., the ability to format specific lines within a source file). * Preview features * [refurb] Implement missing-f-string-syntax (RUF027) * Format module-level docstrings * Formatter * Add --range option to ruff format * Don\'t trim last empty line in docstrings * Bug fixes * Skip empty lines when determining base indentation * Drop __get__ and __set__ from unnecessary-dunder-call * Respect generic Protocol in ellipsis removal * Revert \"Use publicly available Apple Silicon runners\" * Performance * Skip LibCST parsing for standard dedent adjustments * Remove CST-based fixer for C408 * Add our own ignored-names abstractions * Remove CST-based fixers for C400, C401, C410, and C418 * Use AhoCorasick to speed up quote match * Remove CST-based fixers for C405 and C409 * Add fast-path for comment detection * Invert order of checks in zero-sleep-call * Short-circuit typing matches based on imports * Run dunder method rule on methods directly * Track top-level module imports in the semantic model * Slight speed-up for lowercase and uppercase identifier checks * Remove LibCST-based fixer for C403 * Documentation * Update max-pos-args example to max-positional-args * Fixed example code in weak_cryptographic_key.rs * Fix references to deprecated ANN rules in changelog * Fix default for max-positional-args * Mon Feb 05 2024 Ondřej Súkup - update to 0.2.0 * Breaking changes * The NURSERY selector cannot be used anymore * Legacy selection of nursery rules by exact codes is no longer allowed without preview enabled * See also, the \"Remapped rules\" section which may result in disabled rules. * Deprecations * The following rules are now deprecated: * missing-type-self (ANN101) * missing-type-cls (ANN102) * The following command line options are now deprecated: * --show-source; use --output-format full instead * --no-show-source; use --output-format concise instead * --output-format text; use full or concise instead * The following settings have moved and the previous name is deprecated: * ruff.allowed-confusables → ruff.lint.allowed-confusables * ruff.dummy-variable-rgx → ruff.lint.dummy-variable-rgx * ruff.explicit-preview-rules → ruff.lint.explicit-preview-rules * ruff.extend-fixable → ruff.lint.extend-fixable * ruff.extend-ignore → ruff.lint.extend-ignore * ruff.extend-per-file-ignores → ruff.lint.extend-per-file-ignores * ruff.extend-safe-fixes → ruff.lint.extend-safe-fixes * ruff.extend-select → ruff.lint.extend-select * ruff.extend-unfixable → ruff.lint.extend-unfixable * ruff.extend-unsafe-fixes → ruff.lint.extend-unsafe-fixes * ruff.external → ruff.lint.external * ruff.fixable → ruff.lint.fixable * ruff.flake8-annotations → ruff.lint.flake8-annotations * ruff.flake8-bandit → ruff.lint.flake8-bandit * ruff.flake8-bugbear → ruff.lint.flake8-bugbear * ruff.flake8-builtins → ruff.lint.flake8-builtins * ruff.flake8-comprehensions → ruff.lint.flake8-comprehensions * ruff.flake8-copyright → ruff.lint.flake8-copyright * ruff.flake8-errmsg → ruff.lint.flake8-errmsg * ruff.flake8-gettext → ruff.lint.flake8-gettext * ruff.flake8-implicit-str-concat → ruff.lint.flake8-implicit-str-concat * ruff.flake8-import-conventions → ruff.lint.flake8-import-conventions * ruff.flake8-pytest-style → ruff.lint.flake8-pytest-style * ruff.flake8-quotes → ruff.lint.flake8-quotes * ruff.flake8-self → ruff.lint.flake8-self * ruff.flake8-tidy-imports → ruff.lint.flake8-tidy-imports * ruff.flake8-type-checking → ruff.lint.flake8-type-checking * ruff.flake8-unused-arguments → ruff.lint.flake8-unused-arguments * ruff.ignore → ruff.lint.ignore * ruff.ignore-init-module-imports → ruff.lint.ignore-init-module-imports * ruff.isort → ruff.lint.isort * ruff.logger-objects → ruff.lint.logger-objects * ruff.mccabe → ruff.lint.mccabe * ruff.pep8-naming → ruff.lint.pep8-naming * ruff.per-file-ignores → ruff.lint.per-file-ignores * ruff.pycodestyle → ruff.lint.pycodestyle * ruff.pydocstyle → ruff.lint.pydocstyle * ruff.pyflakes → ruff.lint.pyflakes * ruff.pylint → ruff.lint.pylint * ruff.pyupgrade → ruff.lint.pyupgrade * ruff.select → ruff.lint.select * ruff.task-tags → ruff.lint.task-tags * ruff.typing-modules → ruff.lint.typing-modules * ruff.unfixable → ruff.lint.unfixable * Remapped rules * The following rules have been remapped to new codes: * raise-without-from-inside-except: TRY200 to B904 * suspicious-eval-usage: PGH001 to S307 * logging-warn: PGH002 to G010 * static-key-dict-comprehension: RUF011 to B035 * runtime-string-union: TCH006 to TCH010 * Stabilizations * The following rules have been stabilized and are no longer in preview: * trio-timeout-without-await (TRIO100) * trio-sync-call (TRIO105) * trio-async-function-with-timeout (TRIO109) * trio-unneeded-sleep (TRIO110) * trio-zero-sleep-call (TRIO115) * unnecessary-escaped-quote (Q004) * enumerate-for-loop (SIM113) * zip-dict-keys-and-values (SIM911) * timeout-error-alias (UP041) * flask-debug-true (S201) * tarfile-unsafe-members (S202) * ssl-insecure-version (S502) * ssl-with-bad-defaults (S503) * ssl-with-no-version (S504) * weak-cryptographic-key (S505) * ssh-no-host-key-verification (S507) * django-raw-sql (S611) * mako-templates (S702) * generator-return-from-iter-method (PYI058) * runtime-string-union (TCH006) * numpy2-deprecation (NPY201) * quadratic-list-summation (RUF017) * assignment-in-assert (RUF018) * unnecessary-key-check (RUF019) * never-union (RUF020) * direct-logger-instantiation (LOG001) * invalid-get-logger-argument (LOG002) * exception-without-exc-info (LOG007) * undocumented-warn (LOG009) * Fixes for the following rules have been stabilized and are now available without preview: * triple-single-quotes (D300) * non-pep604-annotation (UP007) * dict-get-with-none-default (SIM910) * in-dict-keys (SIM118) * collapsible-else-if (PLR5501) * if-with-same-arms (SIM114) * useless-else-on-loop (PLW0120) * unnecessary-literal-union (PYI030) * unnecessary-spread (PIE800) * error-instead-of-exception (TRY400) * redefined-while-unused (F811) * duplicate-value (B033) * multiple-imports-on-one-line (E401) * non-pep585-annotation (UP006) * Fixes for the following rules have been promoted from unsafe to safe: * unaliased-collections-abc-set-import (PYI025) * The following behaviors have been stabilized: * module-import-not-at-top-of-file (E402) allows sys.path modifications between imports * reimplemented-container-builtin (PIE807) includes lambdas that can be replaced with dict * unnecessary-placeholder (PIE790) applies to unnecessary ellipses (...) * if-else-block-instead-of-dict-get (SIM401) applies to if-else expressions * Preview features * [refurb] Implement metaclass_abcmeta (FURB180) * Implement blank_line_after_nested_stub_class preview style * The preview rule and-or-ternary (PLR1706) was removed * Bug fixes * [flake8-async] Take pathlib.Path into account when analyzing async functions * [flake8-return] - fix indentation syntax error (RET505) * Detect multi-statement lines in else removal * RUF022, RUF023: never add two trailing commas to the end of a sequence * RUF023: Don\'t sort __match_args__, only __slots__ * [flake8-simplify] - Fix syntax error in autofix (SIM114) * [pylint] Show verbatim constant in magic-value-comparison (PLR2004) * Removing trailing whitespace inside multiline strings is unsafe * Support IfExp with dual string arms in invalid-envvar-default * [pylint] Add __mro_entries__ to known dunder methods (PLW3201) * Documentation * Removed rules are now retained in the documentation * Deprecated rules are now indicated in the documentation * Thu Feb 01 2024 Ondřej Súkup - update to 0.1.15 * Preview features * Error when NURSERY selector is used with --preview * Preserve indentation around multiline strings in formatter * [flake8-return] Add fixes for all rules (RET505, RET506, RET507, RET508) * [flake8-simplify] Add fix for if-with-same-arms (SIM114) * [pycodestyle] Add fix for multiple-imports-on-one-line (E401) * [pylint] Add fix for collapsible-else-if (PLR5501) * [pylint] Add fix for useless-else-on-loop (PLW0120) * [pylint] Implement assigning-non-slot (E0237) * [pylint] Implement potential-index-error (PLE0643) * [pylint] Implement too-many-nested-blocks (PLR1702) * [ruff] Add rule to sort __slots__ and __match_args__ * [ruff] Detect unnecessary dict comprehensions for iterables (RUF025) * [ruff] Guard against use of default_factory as a keyword argument (RUF026) * [ruff] Implement mutable-fromkeys-value (RUF024) * CLI * Enable auto-wrapping of --help output * Bug fixes * Avoid rendering display-only rules as fixable * Detect automagic-like assignments in notebooks * Generate custom JSON schema for dynamic setting * [flake8-no-pep420] Include global --config when determining namespace packages * [flake8-pie] Omit bound tuples passed to .startswith or .endswith * [flake8-return] Avoid panic when fixing inlined else blocks * [flake8-return] Consider exception suppression in unnecessary assignment * [flake8-return] Take NoReturn annotation into account when analyzing implicit returns * [flake8-simplify] Support inverted returns in needless-bool (SIM103) * [flake8-type-checking] Add Pydantic\'s BaseConfig to default-copy list * [flake8-type-checking] Avoid marking InitVar as a typing-only annotation * [pycodestyle] Allow dtype comparisons in type-comparison * [pydocstyle] Re-implement last-line-after-section (D413) * Documentation * [flake8-pytest-style] Add fix safety documentation for duplicate-parameterize-test-cases * [pylint] Document literal-membership fix safety conditions * [isort] Fix reference to isort rule code * Sun Jan 21 2024 Ondřej Súkup - update to 0.1.14 * Preview features * [flake8-bugbear] Add fix for duplicate-value (B033) * [flake8-simplify] Implement enumerate-for-loop (SIM113) * [pygrep_hooks] Add fix for deprecated-log-warn (PGH002) * [pylint] Implement import-private-name (C2701) * [refurb] Implement regex-flag-alias with fix (FURB167) * [ruff] Add rule and fix to sort contents of __all__ (RUF022) * [tryceratops] Add fix for error-instead-of-exception (TRY400) * Rule changes * [flake8-pyi] Fix PYI047 false negatives on PEP-695 type aliases * [flake8-pyi] Fix PYI049 false negatives on call-based TypedDicts * [pylint] Exclude self and cls when counting method arguments (PLR0917) * CLI * --show-settings displays active settings in a far more readable format * Add --extension support to the formatter * Configuration * Ignore preview status for fixable and unfixable selectors * [pycodestyle] Use the configured tab size when expanding indents * Bug fixes * Recursively visit deferred AST nodes * Visit deferred lambdas before type definitions * [flake8-simplify] Avoid some more enumerate-for-loop false positives (SIM113) * [pandas-vet] Limit inplace diagnostics to methods that accept inplace * [pylint] Add the __prepare__ method to the list of recognized dunder method * [pylint] Ignore unnecessary dunder calls within dunder definitions * [refurb] Avoid bailing when reimplemented-operator is called on function (FURB118) * [ruff] Avoid treating named expressions as static keys (RUF011) * Documentation * Add instructions on using noqa with isort rules * Documentation update for URL giving \'page not found\' * Fix admonition in dark mode * Update contributing docs to use cargo bench -p ruff_benchmark * Update emacs integration section to include emacs-ruff-format * [flake8-blind-except] Document exceptions to blind-except rule * Mon Jan 15 2024 Ondřej Súkup - update to 0.1.13 * Bug fixes * Include base pyproject when initializing cache settings * [flake8-simplify] Account for possibly-empty f-string values in truthiness logic * [pylint] Add the missing period in unnecessary-dunder-call * [pylint] Fix __aenter__ message in unnecessary-dunder-call * Fri Jan 12 2024 Ondřej Súkup - update to 0.1.12: * Preview features * Formatter: Hug multiline-strings in preview style * [flake8-bandit] Add ssl-with-no-version (S504) * [flake8-bandit] Implement ssl-insecure-version (S502) * [flake8-bandit] Implement ssl-with-bad-defaults (S503) * [flake8-bandit] Implement suspicious import rules (S4XX) * [flake8-simplify] Implement zip-dict-keys-and-values (SIM911) * [pyflakes] Add a fix for redefined-while-unused (F811) * [pylint] Implement unnecessary-dunder-call (C2801) * [ruff] Add parenthesize-chained-operators (RUF021) to enforce parentheses in a or b and c * Rule changes * [flake8-boolean-trap] Allow Boolean positional arguments in setters * [flake8-builtins] Restrict builtin-attribute-shadowing (A003) to actual shadowed references * [flake8-pyi] Add fix for generator-return-from-iter-method (PYI058) * [pyflakes] Don\'t flag redefined-while-unused (F811) in if branches * [pyupgrade] Add some additional Python 3.12 typing members to deprecated-import * [ruff] Add fix for parenthesize-chained-operators (RUF021) * [ruff] Include subscripts and attributes in static key rule (RUF011) * [ruff] Support variable keys in static dictionary key rule (RUF011) * Formatter * Generate deterministic IDs when formatting notebooks * Allow # fmt: skip with interspersed same-line comments * Parenthesize breaking named expressions in match guards * Bug fixes * Add cell indexes to all diagnostics * Avoid infinite loop in constant vs. None comparisons * Handle raises with implicit alternate branches * Ignore trailing quotes for unclosed l-brace errors * Respect multi-segment submodule imports when resolving qualified names * Use DisplayParseError for stdin parser errors * Use comment_ranges for isort directive extraction * Use transformed source code for diagnostic locations * [flake8-pyi] Exclude warnings.deprecated and typing_extensions.deprecated arguments * [flake8-pyi] Fix false negative for unused-private-protocol (PYI046) with unused generic protocols * [pydocstyle] Disambiguate argument descriptors from section headers * [pylint] Homogenize PLR0914 message to match other PLR09XX rules * [ruff] Allow Hashable = None in type annotations (RUF013) * Documentation * Fix admonition hyperlink colouring * Add missing preview link * Mon Jan 08 2024 Ondřej Súkup - update to 0.1.11 * [pylint] Implement super-without-brackets (W0245) * Check path string properly in python -m ruff invocations * Documentation * Tweak relative-imports message * Add fix safety note for yield-in-for-loop * 0.1.10 * Preview features * Improve dummy_implementations preview style formatting * Normalise Hex and unicode escape sequences in strings * Parenthesize long type annotations in annotated assignments * Parenthesize multi-context managers in with statements * [flake8-pyi] Implement generator-return-from-iter-method (PYI058) * [pylint] Implement empty-comment (PLR2044) * [refurb] Implement bit-count (FURB161) * [ruff] Add never-union rule to detect redundant typing.NoReturn and typing.Never * CLI * Add paths to TOML parse errors * Add row and column numbers to formatter parse errors * Improve responsiveness when invoked via Python * Short rule messages should not end with a period * Configuration * Respect runtime-required decorators on functions * Bug fixes * Avoid asyncio-dangling-task for nonlocal and global bindings * Escape trailing placeholders in rule documentation * Fix continuation detection following multi-line strings * Fix scoping for generators in named expressions in classes * Port from obsolete wsl crate to is-wsl * Remove special pre-visit for module docstrings * Respect __str__ definitions from super classes * Respect unused-noqa via per-file-ignores * Respect attribute chains when resolving builtin call paths * Treat all typing_extensions members as typing aliases * Use Display for formatter parse errors * Wrap subscripted dicts in parens for f-string conversion * [flake8-annotations] Avoid adding return types to stub methods * [flake8-annotations] Respect mixed return and raise cases in return-type analysis * [flake8-bandit] Don\'t report violations when SafeLoader is imported from yaml.loader (S506) * [pylint] Avoid panic when comment is preceded by Unicode * [pylint] Change PLR0917 error message to match other PLR09XX messages * [refurb] Avoid false positives for math-constant (FURB152) * Documentation * Expand target name for better rule documentation * Fix typos found by codespell * [perflint] Document PERF102 fix un-safety * [pyupgrade] Document UP007 fix un-safety * Thu Dec 21 2023 Ondřej Súkup - update to 0.1.9 * Breaking changes * Add site-packages to default exclusions * Preview features * Fix: Avoid parenthesizing subscript targets and values * [pylint] Implement too-many-locals (PLR0914) * Implement reimplemented_operator (FURB118) * Add a rule to detect string members in runtime-evaluated unions * Implement no_blank_line_before_class_docstring preview style * Rule changes * CONSTANT_CASE variables are improperly flagged for yoda violation (SIM300) * [flake8-pyi] Cover ParamSpecs and TypeVarTuples (PYI018) * [flake8-bugbear] Add fix for zip-without-explicit-strict (B905) * Add fix to automatically remove print and pprint statements (T201, T203) * Prefer Never to NoReturn in auto-typing in Python >= 3.11 (ANN201) * Formatter * can_omit_optional_parentheses: Exit early for unparenthesized expressions * Fix dynamic mode with doctests so that it doesn\'t exceed configured line width * Fix can_omit_optional_parentheses for expressions with a right most fstring * Add target_version to formatter options * CLI * Update ruff format --check to display message for already formatted files * Bug fixes * Reverse order of arguments for operator.contains * Iterate over lambdas in deferred type annotations * Fix panic in D208 with multibyte indent * Add support for NoReturn in auto-return-typing * Allow removal of typing from exempt-modules * Avoid mutable-class-default violations for Pydantic subclasses * Fix dropped union expressions for piped non-types in PYI055 autofix * Enable annotation quoting for multi-line expressions * Deduplicate edits when quoting annotations * Prevent invalid utf8 indexing in cell magic detection * Avoid nested quotations in auto-quoting fix * Add base-class inheritance detection to flake8-django rules * Avoid asyncio-dangling-task violations on shadowed bindings * Documentation * Fix blog post URL in changelog * Add error suppression hint for multi-line strings * Fix typo in SemanticModel.parent_expression docstring * Document link between import sorting and formatter * Thu Dec 14 2023 Ondřej Súkup - update to 0.1.8 * Preview features * Add \"preserve\" quote-style to mimic Black\'s skip-string-normalization * Implement prefer_splitting_right_hand_side_of_assignments preview style * [pycodestyle] Add fix for unexpected-spaces-around-keyword-parameter-equals * [pycodestyle] Add fix for comment-related whitespace rules * [pycodestyle] Allow sys.path modifications between imports * [refurb] Implement hashlib-digest-hex (FURB181) * Rule changes * Allow flake8-type-checking rules to automatically quote runtime-evaluated references * Allow transparent cell magics in Jupyter Notebooks * [flake8-annotations] Avoid ANN2xx fixes for abstract methods with empty bodies * [flake8-self] Ignore underscore references in type annotations * [pep8-naming] Allow class names when apps.get_model is a non-string * [pycodestyle] Allow matplotlib.use calls to intersperse imports * [pyflakes] Support fixing unused assignments in tuples by renaming variables (F841) * [pylint] Add fix for subprocess-run-without-check (PLW1510) * Formatter * Add docstring-code-format knob to enable docstring snippet formatting * Use double quotes for all docstrings, including single-quoted docstrings * Implement \"dynamic\" line width mode for docstring code formatting * Support reformatting Markdown code blocks * add support for formatting reStructuredText code snippets * Avoid trailing comma for single-argument with positional separator * Fix handling of trailing target comment * CLI * Hide unsafe fix suggestions when explicitly disabled * Add SARIF support to --output-format * Bug fixes * Apply unnecessary index rule prior to enumerate rewrite * [flake8-err-msg] Allow EM fixes even if msg variable is defined * [flake8-pie] Prevent keyword arguments duplication * [flake8-pie] Respect trailing comma in unnecessary-dict-kwargs (PIE804) * [flake8-raise] Avoid removing parentheses on ctypes.WinError * [isort] Avoid invalid combination of force-sort-within-types and lines-between-types * [isort] Ensure that from-style imports are always ordered first in __future__ * [pycodestyle] Allow tab indentation before keyword * [pylint] Ignore AATToverrides and AATToverloads for too-many-positional * [pyupgrade] Enable printf-string-formatting fix with comments on right-hand side * [refurb] Make math-constant (FURB152) rule more targeted * [refurb] Support floating-point base in redundant-log-base (FURB163) * [ruff] Detect unused-asyncio-dangling-task (RUF006) on unused assignments * Tue Dec 05 2023 Ondřej Súkup - update to 0.1.7 * Preview features * Implement multiline dictionary and list hugging for preview style * Implement the fix_power_op_line_length preview style * Use Python version to determine typing rewrite safety * [flake8-annotations] Enable auto-return-type involving Optional and Union annotations * [flake8-bandit] Implement django-raw-sql (S611) * [flake8-bandit] Implement tarfile-unsafe-members (S202) * [flake8-pyi] Implement fix for unnecessary-literal-union (PYI030) * [flake8-simplify] Extend dict-get-with-none-default (SIM910) to non-literals * [pylint] - add unnecessary-list-index-lookup (PLR1736) + autofix * [pylint] - implement R0202 and R0203 with autofixes * [pylint] Implement repeated-keyword (PLe1132) * [pylint] Implement too-many-positional (PLR0917) * [pylint] Implement unnecessary-dict-index-lookup (PLR1733) * [refurb] Implement redundant-log-base (FURB163) * Rule changes * [flake8-boolean-trap] Allow booleans in AATToverride methods * [flake8-bugbear] Avoid B015,B018 for last expression in a cell * [flake8-pie] Allow ellipses for enum values in stub files * [flake8-pyi] Check PEP 695 type aliases for snake-case-type-alias and t-suffixed-type-alias * [flake8-pyi] Check for kwarg and vararg NoReturn type annotations * [flake8-simplify] Omit select context managers from SIM117 * [pep8-naming] Allow Django model loads in non-lowercase-variable-in-function (N806) * [pycodestyle] Avoid E703 for last expression in a cell * [pycodestyle] Update E402 to work at cell level for notebooks * [pydocstyle] Avoid D100 for Jupyter Notebooks * [pylint] Implement fix for unspecified-encoding (PLW1514) * Formatter * Avoid unstable formatting in ellipsis-only body with trailing comment * Inline trailing comments for type alias similar to assignments * Insert trailing comma when function breaks with single argument * CLI * Update ruff check and ruff format to default to the current directory * Stop at the first resolved parent configuration * Configuration * [pylint] Default max-positional-args to max-args * [pylint] Add allow-dunder-method-names setting for bad-dunder-method-name (PLW3201) * [isort] Add support for from-first setting * [isort] Add support for length-sort settings * Bug fixes * Add support for AATTfunctools.singledispatch * Avoid off-by-one error in stripping noqa following multi-byte char * Avoid off-by-one error in with-item named expressions * Avoid syntax error via invalid ur string prefix * Avoid underflow in get_model matching * Avoid unnecessary index diagnostics when value is modified * Convert over-indentation rule to use number of characters * Detect implicit returns in auto-return-types * Fix start >= end error in over-indentation * Ignore AATToverload and AATToverride methods for too-many-arguments checks * Lexer start of line is false only for Mode::Expression * Mark pydantic_settings.BaseSettings as having default copy semantics * Respect dictionary unpacking in NamedTuple assignments * Respect local subclasses in flake8-type-checking * Support type alias statements in simple statement positions * [flake8-annotations] Avoid filtering out un-representable types in return annotation * [flake8-pie] Retain extra ellipses in protocols and abstract methods * [flake8-pyi] Respect local enum subclasses in simple-defaults (PYI052) * [flake8-trio] Use correct range for TRIO115 fix * [flake8-trio] Use full arguments range for zero-sleep-call * [isort] fix: mark __main__ as first-party import * [pep8-naming] Avoid N806 errors for type alias statements * [perflint] Avoid PERF101 if there\'s an append in loop body * [pycodestyle] Allow space-before-colon after end-of-slice * [pydocstyle] Avoid non-character breaks in over-indentation (D208) * [pydocstyle] Ignore underlines when determining docstring logical lines * [pylint] Extend self-assigning-variable to multi-target assignments * [tryceratops] Avoid repeated triggers in nested tryceratops diagnostics * Documentation * Add advice for fixing RUF008 when mutability is not desired * Added the command to run ruff using pkgx to the installation.md * Document fix safety for flake8-comprehensions and some pyupgrade rules * Fix doc formatting for zero-sleep-call * Remove duplicate imports from os-stat documentation * Replace generated reference to MkDocs * Update Arch Linux package URL in installation.md * [flake8-pyi] Fix error in t-suffixed-type-alias (PYI043) example * [flake8-pyi] Improve motivation for custom-type-var-return-type (PYI019) * Sun Nov 19 2023 Ondřej Súkup - switch to libalternatives- drop cargo_config- update _service for new cargo-vendor service- update to 0.1.6 * Preview features * [flake8-boolean-trap] Extend boolean-type-hint-positional-argument (FBT001) to include booleans in unions * [flake8-pie] Extend reimplemented-list-builtin (PIE807) to dict reimplementations * [flake8-pie] Extend unnecessary-pass (PIE790) to include ellipses (...) * [flake8-pie] Implement fix for unnecessary-spread (PIE800) * [flake8-quotes] Implement unnecessary-escaped-quote (Q004) * [pycodestyle] Implement fix for multiple-spaces-after-keyword (E271) and multiple-spaces-before-keyword (E272) * [pycodestyle] Implement fix for multiple-spaces-after-operator (E222) and multiple-spaces-before-operator (E221) * [pyflakes] Extend is-literal (F632) to include comparisons against mutable initializers * [pylint] Implement redefined-argument-from-local (PLR1704) * [pylint] Implement fix for unnecessary-lambda (PLW0108) * [refurb] Implement if-expr-min-max (FURB136) * [refurb] Implement math-constant (FURB152) * Rule changes * [flake8-annotations] Add autotyping-like return type inference for annotation rules * [flake8-future-annotations] Implement fix for future-required-type-annotation (FA102) * [flake8-implicit-namespace-package] Avoid missing namespace violations in scripts with shebangs * [pydocstyle] Update over-indentation (D208) to preserve indentation offsets when fixing overindented lines * [pyupgrade] Refine timeout-error-alias (UP041) to remove false positives * Formatter * Fix instability in await formatting with fluent style * Compare formatted and unformatted ASTs during formatter tests * Preserve trailing semicolon for Notebooks * CLI * Improve debug printing for resolving origin of config settings * Write unchanged, excluded files to stdout when read via stdin * Configuration * [isort] Support disabling sections with no-sections = true * [pep8-naming] Support local and dynamic class- and static-method decorators * [pydocstyle] Allow overriding pydocstyle convention rules * Bug fixes * Avoid syntax error via importing trio.lowlevel * Omit unrolled augmented assignments in PIE794 * Slice source code instead of generating it for EM fixes * Allow whitespace around colon in slices for whitespace-before-punctuation (E203) * Use function range for no-self-use * F-strings doesn\'t contain bytes literal for PLW0129 * Improve detection of TYPE_CHECKING blocks imported from typing_extensions or _typeshed * Treat display as a builtin in IPython * Avoid FURB113 autofix if comments are present * Consider the new f-string tokens for flake8-commas * Remove erroneous bad-dunder-name reference * Avoid recommending Self usages in metaclasses * Detect runtime-evaluated base classes defined in the current file * Avoid inserting trailing commas within f-strings * Remove incorrect deprecation label for stdout and stderr * Fix unnecessary parentheses in UP007 fix * Remove repeated and erroneous scoped settings headers in docs * Trim trailing empty strings when converting to f-strings * Fix ordering for force-sort-within-sections * Run unicode prefix rule over tokens * Update UP032 to unescape curly braces in literal parts of converted strings * List all ipython builtins * Documentation * Document conventions in the FAQ * Redirect from rule codes to rule pages in docs * Fix permalink to convention setting * Mon Nov 13 2023 Ondřej Súkup - update to 0.1.5 * Preview features * [flake8-bandit] Implement mako-templates (S702) * [flake8-trio] Implement TRIO105 * [flake8-trio] Implement TRIO109 * [flake8-trio] Implement TRIO110 * [flake8-trio] Implement TRIO115 * [refurb] Implement type-none-comparison (FURB169) * Flag all comparisons against builtin types in E721 * Make SIM118 fix as safe when the expression is a known dictionary * Formatter * Fix multiline lambda expression statement formatting * CLI * Add hidden --extension to override inference of source type from file extension * Configuration * Account for selector specificity when merging extend_unsafe_fixes and override extend_safe_fixes * Add support for disabling cache with RUFF_NO_CACHE environment variable * Bug fixes * [E721] Flag comparisons to memoryview * Allow collapsed-ellipsis bodies in other statements * Avoid D301 autofix for u prefixed strings * Only flag flake8-trio rules when trio import is present * Reject more syntactically invalid Python programs * Avoid raising TRIO115 violations for trio.sleep(...) calls with non-number values * Fix F841 false negative on assignment to multiple variables * Documentation * Fix link to isort known-first-party * Add notes on fix safety to a few rules * Add missing toml config tabs * Add instructions for configuration of Emacs * Improve detail link contrast in dark mode * Fix typo in example * Added tabs for configuration files in the documentation * Recommend project.requires-python over target-version * Add singleton escape hatch to B008 documentation * Fix tab configuration docs * Tue Nov 07 2023 Ondřej Súkup - Update to 0.1.4 * Preview features * [flake8-trio] Implement timeout-without-await (TRIO001) * [numpy] Implement NumPy 2.0 migration rule (NPY200) * [pylint] Implement bad-open-mode (W1501) * [pylint] Implement import-outside-toplevel (C0415) rule * [pylint] Implement useless-with-lock (W2101) * [pyupgrade] Implement timeout-error-alias (UP041) * [refurb] Implement isinstance-type-none (FURB168) * Detect confusable Unicode-to-Unicode units in RUF001, RUF002, and RUF003 * Add newline after module docstrings in preview style * Formatter * Add a note on line-too-long to the formatter docs * Preserve trailing statement semicolons when using fmt: skip * Preserve trailing semicolons when using fmt: off * Avoid duplicating linter-formatter compatibility warnings * Avoid inserting a newline after function docstrings * Insert newline between docstring and following own line comment * Split tuples in return positions by comma first * Avoid treating byte strings as docstrings * Add --line-length option to format command * Avoid parenthesizing unsplittable because of comments * CLI * Add --output-format to ruff rule and ruff linter * Bug fixes * Respect --force-exclude in lint.exclude and format.exclude * Respect --extend-per-file-ignores on the CLI * Extend bad-dunder-method-name to permit __index__ * Fix panic with 8 in octal escape * Avoid raising D300 when both triple quote styles are present * Consider unterminated f-strings in FStringRanges * Avoid including literal shell=True for truthy, non-True diagnostics * Avoid triggering single-element test for starred expressions * Detect and ignore Jupyter automagics * Fix invalid E231 error with f-strings * Avoid triggering NamedTuple rewrite with starred annotation * Avoid un-setting bracket flag in logical lines * Place \'r\' prefix before \'f\' for raw format strings * Remove trailing periods from NumPy 2.0 code actions * Fix bug where PLE1307 was raised when formatting %c with characters * Remove unicode flag from comparable * Improve B015 message * Use fixedOverflowWidgets for playground popover * Mark byte_bounds as a non-backwards-compatible NumPy 2.0 change * Internals * Add a dedicated cache directory per Ruff version * Allow selective caching for --fix and --diff * Improve performance of comment parsing * Improve performance of string parsing * Use a dedicated sort key for isort import sorting * Fri Oct 27 2023 Ondřej Súkup - Update to 0.1.3 * Formatter * Avoid space around pow for None, True and False * Avoid sorting all paths in the format command * Insert necessary blank line between class and leading comments * Avoid introducing new parentheses in annotated assignments * Refine the warnings about incompatible linter options * Add test and basic implementation for formatter preview mode * Refine warning about incompatible isort settings * Only omit optional parentheses for starting or ending with parentheses * Use source type to determine parser mode for formatting * Don\'t warn about magic trailing comma when isort.force-single-line is true * Use SourceKind::diff for formatter * Fix fmt:off with trailing child comment * Formatter parentheses support for IpyEscapeCommand * Linter * [pylint] Add buffer methods to bad-dunder-method-name (PLW3201) exclusions * Match rule prefixes from external codes setting in unused-noqa * Use line-length setting for isort in lieu of pycodestyle.max-line-length * Update fix for unnecessary-paren-on-raise-exception to unsafe for unknown types * Correct quick fix message for W605 * Documentation * Fix typo in max-doc-length documentation * Improve documentation around linter-formatter conflicts * Fix link to error suppression documentation in unused-noqa * Add external option to unused-noqa documentation * Add title attribute to icons * Clarify unsafe case in RSE102 * Fix skipping formatting examples * docs: fix name of magic-trailing-comma option in README * Add note about scope of rule changing in versioning policy * Document: Fix default lint rules * Fix a wrong setting in configuration.md * Fix misspelled TOML headers in the tutorial * Wed Oct 25 2023 ecsos - Add %{?sle15_python_module_pythons} * Wed Oct 25 2023 Ondřej Súkup - Update to 0.1.2 * This release includes the Beta version of the Ruff formatter — an extremely fast, Black-compatible Python formatter * Preview features * [pylint] Implement non-ascii-module-import (C2403) * [pylint] implement non-ascii-name (C2401) * [pylint] Implement unnecessary-lambda (W0108) * [refurb] Implement read-whole-file (FURB101) * Add fix for E223, E224, and E242 * Add fix for E225, E226, E227, and E228 * Add fix for E252 * Add fix for E261 * Add fix for E273 and E274 * Add fix for E275 * Update SIM401 to catch ternary operations * Update E721 to allow is and is not for direct type comparisons * Rule changes * Add backports.strenum to deprecated-imports * Update SIM112 to ignore https_proxy, http_proxy, and no_proxy * Update fix for literal-membership (PLR6201) to be unsafe * Update fix for mutable-argument-defaults (B006) to be unsafe * Formatter * Change line-ending default to auto * Respect parenthesized generators in has_own_parentheses * Add caching to formatter * Remove --line-length option from format command * Add formatter to line-length documentation * Warn about incompatible formatter options * Fix range of unparenthesized tuple subject in match statement * Remove experimental formatter warning * Don\'t move type param opening parenthesis comment * Update versions in format benchmark script * Avoid loading files for cached format results * CLI * Show the ruff format command in help menus * Add ruff version command with long version display * Configuration * New pycodestyle.max-line-length option * Bug fixes * Detect sys.version_info slices in outdated-version-block * Avoid if-else simplification for TYPE_CHECKING blocks * Avoid false-positive print separator diagnostic with starred argument * Documentation * Fix message for too-many-arguments lint * Fix extend-unsafe-fixes and extend-safe-fixes example * Add links to flake8-import-conventions options * Rework the documentation to incorporate the Ruff formatter * Fix Options JSON schema description * Fix typo (pytext -> pytest) * Improve magic-value-comparison example in docs * Fri Oct 20 2023 Ondřej Súkup - update to 0.1.1 * Rule changes * Add unsafe fix for escape-sequence-in-docstring (D301) * Configuration * Respect #(deprecated) attribute in configuration options * Add [format|lint].exclude options * Respect tab-size setting in formatter * Add lint.preview * Preview features * [pylint] Implement literal-membership (PLR6201) * [pylint] Implement too-many-boolean-expressions (PLR0916) * [pylint] Implement misplaced-bare-raise (E0704) * [pylint] Implement global-at-module-level (W0604) * [pylint] Implement unspecified-encoding (PLW1514) * Add fix for triple-single-quotes (D300) * Formatter * New code style badge for ruff format * Fix comments outside expression parentheses * Add --target-version to ruff format * Skip over parentheses when detecting in keyword * Add --diff option to ruff format * Insert newline after nested function or class statements * Use pass over ellipsis in non-function/class contexts * Bug fixes * Lazily evaluate all PEP 695 type alias values * Avoid failed assertion when showing fixes from stdin * Avoid flagging HTTP and HTTPS literals in urllib-open * Avoid flagging bad-dunder-method-name for _ * Remove Python 2-only methods from URLOpen audit * Use set bracket replacement for iteration-over-set to preserve whitespace and comments * Documentation * Update tutorial to match revised Ruff defaults * Update rule B005 docs * Update GitHub actions example in docs to use --output-format * Document lint.preview and format.preview * Clarify that new rules should be added to RuleGroup::Preview. * Tue Oct 17 2023 Ondřej Súkup - update to 0.1.0 * Breaking changes + Unsafe fixes are no longer displayed or applied without opt-in + Drop formatting specific rules from the default set + The deprecated format setting has been removed + The format setting cannot be used to configure the output format, use output-format instead + The RUFF_FORMAT environment variable is ignored, use RUFF_OUTPUT_FORMAT instead + The --format option has been removed from ruff check, use --output-format instead * Rule changes + Extend reimplemented-starmap (FURB140) to catch calls with a single and starred argument + Improve cases covered by RUF015 + Update SIM15 to allow open followed by close + Respect msgspec.Struct default-copy semantics in RUF012 + Add sqlalchemy methods to `flake8-boolean-trap`` exclusion list + Add fix for PLR1714 + Add fix for PIE804 + Add fix for PLC0208 + Add fix for PYI055 + Update non-pep695-type-alias to require --unsafe-fixes outside of stub files + Improve fix message for UP018 + Update PLW3201 to support Enum sunder names * Preview features + Only show warnings for empty preview selectors when enabling rules + Add unnecessary-key-check to simplify key in dct and dct[key] to dct.get(key) + Add assignment-in-assert to prevent walrus expressions in assert statements + [refurb] Add single-item-membership-test (FURB171) + [pylint] Add and-or-ternary (R1706) + New rules are added in preview. * Configuration + Add unsafe-fixes setting + Add extend-safe-fixes and extend-unsafe-fixes for promoting and demoting fixes * CLI + Added --unsafe-fixes option for opt-in to display and apply unsafe fixes + Fix use of deprecated --format option in warning + Show changed files when running under --check + Write summary messages to stderr when fixing via stdin instead of omitting them + Update fix summary message in check --diff to include unsafe fix hints + Add notebook cell field to JSON output format + Rename applicability levels to Safe, Unsafe, and Display * Bug fixes + Fix bug where f-strings were allowed in match pattern literal + Fix SIM110 with a yield in the condition + Preserve trailing comments in C414 fixes + Check sequence type before triggering unnecessary-enumerate len suggestion + Use correct start location for class/function clause header + Fix incorrect fixes for SIM101 + Format comment before parameter default correctly + Fix E251 false positive inside f-strings + Allow bindings to be created and referenced within annotations + Show per-cell diffs when analyzing notebooks over stdin + Avoid curly brace escape in f-string format spec + Fix lexing single-quoted f-string with multi-line format spec + Consider nursery rules to be in-preview for ruff rule + Report precise location for invalid conversion flag + Visit pattern match guard as a boolean test + Respect --unfixable in ISC rules + Fix edge case with PIE804 + Show custom message in PTH118 for Path.joinpath with starred arguments + Fix false negative in outdated-version-block when using greater than comparisons + Avoid converting f-strings within Django gettext calls + Fix false positive in PLR6301 + Treat type aliases as typing-only expressions e.g. resolves false positive in TCH004 + Resolve cache-dir relative to project root + Respect subscripted base classes in type-checking rules e.g. resolves false positive in TCH003 + Fix JSON schema limit for line-length + Fix commented-out coalesce keyword * Documentation + Document reimplemented-starmap performance effects + Default to following the system dark/light mode + Add documentation for fixes + Fix typo in docs of PLR6301 + Update UP038 docs to note that it results in slower code + crlf -> cr-lf + Add an example of an unsafe fix + Fix documented examples for unnecessary-subscript-reversal + Correct error in tuple example in ruff formatter docs + Add versioning policy to documentation + Fix invalid code in FURB177 example * Formatter + Less scary ruff format message + Remove spaces from import statements + Formatter quoting for f-strings with triple quotes + Update ruff_python_formatter generate.py comment + Document one-call chaining deviation + Allow f-string modifications in line-shrinking cases + Add trailing comment deviation to README + Add trailing zero between dot and exponential + Force parentheses for power operations in unary expressions * Playground + Fix playground Quick Fix action * Fri Oct 13 2023 Ondřej Súkup - initial package
|
|
|