Revisions of python-ruff

Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1172165 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 27)
- update to 0.4.3 
 * Enhancements
   * Add support for PEP 696 syntax 
 * Preview features
   * [refurb] Use function range for reimplemented-operator diagnostics 
   * [refurb] Ignore methods in reimplemented-operator (FURB118) 
   * [refurb] Implement fstring-number-format (FURB116) 
   * [ruff] Implement redirected-noqa (RUF101) 
   * [pyflakes] Distinguish between first-party and third-party imports for fix suggestions 
 * Rule changes
   * [flake8-bugbear] Ignore non-abstract class attributes when enforcing B024 
   * [flake8-logging] Include inline instantiations when detecting loggers 
   * [pylint] Also emit PLR0206 for properties with variadic parameters 
   * [ruff] Detect duplicate codes as part of unused-noqa (RUF100) 
   * [flake8-pyi] Allow for overloaded __exit__ and __aexit__ definitions (PYI036) 
   * [pyupgrade] Catch usages of "%s" % var and provide an unsafe fix (UP031) 
   * [refurb] Implement new rule that suggests min/max over sorted() (FURB192) 
 * Formatter
   * Avoid multiline expression if format specifier is present 
 * LSP
   * Write ruff server setup guide for Helix 
   * ruff server no longer hangs after shutdown 
   * ruff server reads from a configuration TOML file in the user configuration directory if no local configuration exists 
   * ruff server respects per-file-ignores configuration 
   * ruff server: Support a custom TOML configuration file 
   * ruff server: Support setting to prioritize project configuration over editor configuration 
   * Fix an issue with missing diagnostics for Neovim and Helix 
   * Implement hover documentation for noqa codes 
   * Introduce common Ruff configuration options with new server settings 
 * Bug fixes
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1169832 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 26)
- update to 0.4.1
 * A new, hand-written parser
 * A new language server in Rust
 * ruff server is only in alpha, but it has a lot of features that you can try out today:
   * Lints Python files automatically and shows quick-fixes when available
   * Formats Python files, with support for range formatting
   * Comes with commands for quickly performing actions: ruff.applyAutofix, ruff.applyFormat, and ruff.applyOrganizeImports
   * Supports source.fixAll and source.organizeImports source actions
   * Automatically reloads your project configuration when you change it
   * To setup ruff server with your editor, refer to the README.md.
 * Preview features
   * [pylint] Implement invalid-hash-returned (PLE0309) 
   * [pylint] Implement invalid-index-returned (PLE0305) 
   * [pycodestyle] Do not trigger E3 rules on defs following a function/method with a dummy body 
   * [pylint] Implement invalid-bytes-returned (E0308) 
   * [pylint] Implement invalid-length-returned (E0303) 
   * [pylint] Implement self-cls-assignment (W0642) 
   * [pylint] Omit stubs from invalid-bool and invalid-str-return-type 
   * [ruff] New rule unused-async (RUF029) to detect unneeded async keywords on functions 
 * Rule changes
   * [flake8-bandit] Allow urllib.request.urlopen calls with static Request argument (S310) 
   * [flake8-bugbear] Treat raise NotImplemented-only bodies as stub functions (B006) 
   * [flake8-slots] Respect same-file Enum subclasses (SLOT000) 
   * [pylint] Support inverted comparisons (PLR1730) 
 * Linter
   * Improve handling of builtin symbols in linter rules 
   * Improve display of rules in --show-settings 
   * Improve inference capabilities of the BuiltinTypeChecker 
   * Resolve classes and functions relative to script name 
   * Improve performance of RuleTable::any_enabled
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1167007 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 25)
- update to 0.3.7
 * Preview features
   * [flake8-bugbear] Implement loop-iterator-mutation (B909) 
   * [pylint] Implement rule to prefer augmented assignment (PLR6104) 
   * [pylint] Implement bad-staticmethod-argument (PLW0211) 
   * [pylint] Implement if-stmt-min-max (PLR1730, PLR1731) 
   * [pyupgrade] Replace str,Enum multiple inheritance with StrEnum UP042 
   * [refurb] Implement if-expr-instead-of-or-operator (FURB110) 
   * [refurb] Implement int-on-sliced-str (FURB166) 
   * [refurb] Implement write-whole-file (FURB103) 
   * [refurb] Support itemgetter in reimplemented-operator (FURB118) 
   * [flake8_comprehensions] Add sum/min/max to unnecessary comprehension check (C419) 
 * Rule changes
   * [pydocstyle] Require capitalizing docstrings where the first sentence is a single word (D403) 
   * [pycodestyle] Ignore annotated lambdas in class scopes (E731) 
   * [flake8-pyi] Various improvements to PYI034 
   * [flake8-slots] Flag subclasses of call-based typing.NamedTuples as well as subclasses of collections.namedtuple() (SLOT002) 
   * [pyflakes] Allow forward references in class bases in stub files (F821) 
   * [pygrep-hooks] Improve blanket-noqa error message (PGH004) 
 * CLI
   * Support FORCE_COLOR env var 
 * Configuration
   * Support negated patterns in [extend-]per-file-ignores 
 * Bug fixes
   * Avoid TOCTOU errors in cache initialization 
   * [pylint] Recode nan-comparison rule to W0177 
   * [pylint] Reverse min-max logic in if-stmt-min-max 
   * [flake8-import-conventions] Accept non-aliased (but correct) import in unconventional-import-alias (ICN001) 
   * [flake8-quotes] Add semantic model flag when inside f-string replacement field 
   * [pep8-naming] Recursively resolve TypeDicts for N815 violations
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1166515 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 24)
- update to 0.3.5
 * Preview features
   * [pylint] Implement modified-iterating-set (E4703) 
   * [refurb] Implement for-loop-set-mutations (FURB142) 
   * [refurb] Implement unnecessary-from-float (FURB164) 
   * [refurb] Implement verbose-decimal-constructor (FURB157) 
 * Rule changes
   * [flake8-comprehensions] Handled special case for C401 which also matches C416 
   * [flake8-pyi] Mark unaliased-collections-abc-set-import fix as "safe" for more cases in stub files (PYI025) 
   * [numpy] Add row_stack to NumPy 2.0 migration rule 
   * [pycodestyle] Allow cell magics before an import (E402) 
   * [pycodestyle] Avoid blank line rules for the first logical line in cell 
 * Configuration
   * Respected nested namespace packages 
   * [flake8-boolean-trap] Add setting for user defined allowed boolean trap 
 * Bug fixes
   * Correctly handle references in __all__ definitions when renaming symbols in autofixes 
   * Track ranges of names inside __all__ definitions 
   * [flake8-bugbear] Avoid false positive for usage after continue (B031) 
   * [flake8-copyright] Accept commas in default copyright pattern 
   * [flake8-datetimez] Allow f-strings with %z for DTZ007 
   * [flake8-pytest-style] Fix PT014 autofix for last item in list 
   * [flake8-quotes] Ignore Q000, Q001 when string is inside forward ref 
   * [isort] Always place non-relative imports after relative imports 
   * [isort] Respect Unicode characters in import sorting 
   * [pyflakes] Fix F821 false negatives when from __future__ import annotations is active (attempt 2) 
   * [pyflakes] Make unnecessary-lambda an always-unsafe fix 
   * [pylint] Fixed false-positive on the rule PLW1641 (eq-without-hash) 
   * [ruff] Fix panic in unused # noqa removal with multi-byte space (RUF100) 
 * Documentation
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1160627 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 23)
- 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)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1159022 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 22)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1156882 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 21)
- 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
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1155592 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 20)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1152491 from Benjamin Greiner's avatar Benjamin Greiner (bnavigator) (revision 19)
Forgot to forward?

- 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<Tok, LexicalError> size by using Box<str> instead of String 
   * Reduce size of Expr from 80 to 64 bytes 
   * Improve trailing comma rule performance 
   * Remove unnecessary string cloning from the parser 
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1144921 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 18)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1144159 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 17)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1143460 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 16)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1140308 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 15)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1138846 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 14)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1138312 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 13)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1137528 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 12)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1134560 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 11)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1133053 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 10)
- 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1132059 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 9)
- 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 @override 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
Ana Guerrero's avatar Ana Guerrero (anag+factory) accepted request 1127488 from Ondřej Súkup's avatar Ondřej Súkup (mimi_vx) (revision 8)
- 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
Displaying revisions 1 - 20 of 27
openSUSE Build Service is sponsored by