Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⬆️ Update dependency ruff to v0.3.2 #542

Merged
merged 2 commits into from
Mar 12, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 30, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ruff (source, changelog) 0.1.14 -> 0.3.2 age adoption passing confidence

Release Notes

astral-sh/ruff (ruff)

v0.3.2

Compare Source

Preview features
  • Improve single-with item formatting for Python 3.8 or older (#​10276)
Rule changes
  • [pyupgrade] Allow fixes for f-string rule regardless of line length (UP032) (#​10263)
  • [pycodestyle] Include actual conditions in E712 diagnostics (#​10254)
Bug fixes
  • Fix trailing kwargs end of line comment after slash (#​10297)
  • Fix unstable with items formatting (#​10274)
  • Avoid repeating function calls in f-string conversions (#​10265)
  • Fix E203 false positive for slices in format strings (#​10280)
  • Fix incorrect Parameter range for *args and **kwargs (#​10283)
  • Treat typing.Annotated subscripts as type definitions (#​10285)

v0.3.1

Compare Source

Preview features
  • [pycodestyle] Fix E301 not triggering on decorated methods. (#​10117)
  • [pycodestyle] Respect isort settings in blank line rules (E3*) (#​10096)
  • [pycodestyle] Make blank lines in typing stub files optional (E3*) (#​10098)
  • [pylint] Implement singledispatch-method (E1519) (#​10140)
  • [pylint] Implement useless-exception-statement (W0133) (#​10176)
Rule changes
  • [flake8-debugger] Check for use of debugpy and ptvsd debug modules (#​10177) (#​10194)
  • [pyupgrade] Generate diagnostic for all valid f-string conversions regardless of line length (UP032) (#​10238)
  • [pep8_naming] Add fixes for N804 and N805 (#​10215)
CLI
  • Colorize the output of ruff format --diff (#​10110)
  • Make --config and --isolated global flags (#​10150)
  • Correctly expand tildes and environment variables in paths passed to --config (#​10219)
Configuration
  • Accept a PEP 440 version specifier for required-version (#​10216)
  • Implement isort's default-section setting (#​10149)
Bug fixes
  • Remove trailing space from CapWords message (#​10220)
  • Respect external codes in file-level exemptions (#​10203)
  • [flake8-raise] Avoid false-positives for parens-on-raise with future.exception() (RSE102) (#​10206)
  • [pylint] Add fix for unary expressions in PLC2801 (#​9587)
  • [ruff] Fix RUF028 not allowing # fmt: skip on match cases (#​10178)

v0.3.0

Compare Source

This release introduces the new Ruff formatter 2024.2 style and adds a new lint rule to
detect invalid formatter suppression comments.

Preview features
  • [flake8-bandit] Remove suspicious-lxml-import (S410) (#​10154)
  • [pycodestyle] Allow os.environ modifications between imports (E402) (#​10066)
  • [pycodestyle] Don't warn about a single whitespace character before a comma in a tuple (E203) (#​10094)
Rule changes
  • [eradicate] Detect commented out case statements (ERA001) (#​10055)
  • [eradicate] Detect single-line code for try:, except:, etc. (ERA001) (#​10057)
  • [flake8-boolean-trap] Allow boolean positionals in __post_init__ (#​10027)
  • [flake8-copyright] Allow © in copyright notices (#​10065)
  • [isort]: Use one blank line after imports in typing stub files (#​9971)
  • [pylint] New Rule dict-iter-missing-items (PLE1141) (#​9845)
  • [pylint] Ignore sys.version and sys.platform (PLR1714) (#​10054)
  • [pyupgrade] Detect literals with unary operators (UP018) (#​10060)
  • [ruff] Expand rule for list(iterable).pop(0) idiom (RUF015) (#​10148)
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 (#​8943)
  • Remove blank lines before class docstrings (#​9154)
  • Wrap multiple context managers in with parentheses when targeting Python 3.9 or newer (#​9222)
  • Add a blank line after nested classes with a dummy body (...) in typing stub files (#​9155)
  • Reduce vertical spacing for classes and functions with a dummy (...) body (#​7440, #​9240)
  • Add a blank line after the module docstring (#​8283)
  • Parenthesize long type hints in assignments (#​9210)
  • Preserve indent for single multiline-string call-expressions (#​9673)
  • Normalize hex escape and unicode escape sequences (#​9280)
  • Format module docstrings (#​9725)
CLI
  • Explicitly disallow extend as part of a --config flag (#​10135)
  • Remove build from the default exclusion list (#​10093)
  • Deprecate ruff <path>, ruff --explain, ruff --clean, and ruff --generate-shell-completion in favor of ruff check <path>, ruff rule, ruff clean, and ruff generate-shell-completion (#​10169)
  • Remove the deprecated CLI option --format from ruff rule and ruff linter (#​10170)
Bug fixes
  • [flake8-bugbear] Avoid adding default initializers to stubs (B006) (#​10152)
  • [flake8-type-checking] Respect runtime-required decorators for function signatures (#​10091)
  • [pycodestyle] Mark fixes overlapping with a multiline string as unsafe (W293) (#​10049)
  • [pydocstyle] Trim whitespace when removing blank lines after section (D413) (#​10162)
  • [pylint] Delete entire statement, including semicolons (PLR0203) (#​10074)
  • [ruff] Avoid f-string false positives in gettext calls (RUF027) (#​10118)
  • Fix ruff crashing on PowerPC systems because of too small page size (#​10080)
Performance
  • Add cold attribute to less likely printer queue branches in the formatter (#​10121)
  • Skip unnecessary string normalization in the formatter (#​10116)
Documentation
  • Remove "Beta" Label from formatter documentation (#​10144)
  • line-length option: fix link to pycodestyle.max-line-length (#​10136)

v0.2.2

Compare Source

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 (#​9642)
  • [pycodestyle] Add blank line(s) rules (E301, E302, E303, E304, E305, E306) (#​9266)
  • [refurb] Implement readlines_in_for (FURB129) (#​9880)
Rule changes
  • [ruff] Ensure closing parentheses for multiline sequences are always on their own line (RUF022, RUF023) (#​9793)
  • [numpy] Add missing deprecation violations (NPY002) (#​9862)
  • [flake8-bandit] Detect mark_safe usages in decorators (#​9887)
  • [ruff] Expand asyncio-dangling-task (RUF006) to include new_event_loop (#​9976)
  • [flake8-pyi] Ignore 'unused' private type dicts in class scopes (#​9952)
Formatter
  • Docstring formatting: Preserve tab indentation when using indent-style=tabs (#​9915)
  • Disable top-level docstring formatting for notebooks (#​9957)
  • Stabilize quote-style's preserve mode (#​9922)
CLI
  • Allow arbitrary configuration options to be overridden via the CLI (#​9599)
Bug fixes
  • Make show-settings filters directory-agnostic (#​9866)
  • Respect duplicates when rewriting type aliases (#​9905)
  • Respect tuple assignments in typing analyzer (#​9969)
  • Use atomic write when persisting cache (#​9981)
  • Use non-parenthesized range for DebugText (#​9953)
  • [flake8-simplify] Avoid false positive with async for loops (SIM113) (#​9996)
  • [flake8-trio] Respect async with in timeout-without-await (#​9859)
  • [perflint] Catch a wider range of mutations in PERF101 (#​9955)
  • [pycodestyle] Fix E30X panics on blank lines with trailing white spaces (#​9907)
  • [pydocstyle] Allow using parameters as a subsection header (D405) (#​9894)
  • [pydocstyle] Fix blank-line docstring rules for module-level docstrings (#​9878)
  • [pylint] Accept 0.0 and 1.0 as common magic values (PLR2004) (#​9964)
  • [pylint] Avoid suggesting set rewrites for non-hashable types (#​9956)
  • [ruff] Avoid false negatives with string literals inside of method calls (RUF027) (#​9865)
  • [ruff] Fix panic on with f-string detection (RUF027) (#​9990)
  • [ruff] Ignore builtins when detecting missing f-strings (#​9849)
Performance
  • Use memchr for string lexing (#​9888)
  • Use memchr for tab-indentation detection (#​9853)
  • Reduce Result<Tok, LexicalError> size by using Box<str> instead of String (#​9885)
  • Reduce size of Expr from 80 to 64 bytes (#​9900)
  • Improve trailing comma rule performance (#​9867)
  • Remove unnecessary string cloning from the parser (#​9884)

v0.2.1

Compare Source

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) (#​9728)
  • Format module-level docstrings (#​9725)
Formatter
  • Add --range option to ruff format (#​9733)
  • Don't trim last empty line in docstrings (#​9813)
Bug fixes
  • Skip empty lines when determining base indentation (#​9795)
  • Drop __get__ and __set__ from unnecessary-dunder-call (#​9791)
  • Respect generic Protocol in ellipsis removal (#​9841)
  • Revert "Use publicly available Apple Silicon runners (#​9726)" (#​9834)
Performance
  • Skip LibCST parsing for standard dedent adjustments (#​9769)
  • Remove CST-based fixer for C408 (#​9822)
  • Add our own ignored-names abstractions (#​9802)
  • Remove CST-based fixers for C400, C401, C410, and C418 (#​9819)
  • Use AhoCorasick to speed up quote match (#​9773)
  • Remove CST-based fixers for C405 and C409 (#​9821)
  • Add fast-path for comment detection (#​9808)
  • Invert order of checks in zero-sleep-call (#​9766)
  • Short-circuit typing matches based on imports (#​9800)
  • Run dunder method rule on methods directly (#​9815)
  • Track top-level module imports in the semantic model (#​9775)
  • Slight speed-up for lowercase and uppercase identifier checks (#​9798)
  • Remove LibCST-based fixer for C403 (#​9818)
Documentation
  • Update max-pos-args example to max-positional-args (#​9797)
  • Fixed example code in weak_cryptographic_key.rs (#​9774)
  • Fix references to deprecated ANN rules in changelog (#​9771)
  • Fix default for max-positional-args (#​9838)

v0.2.0

Compare Source

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:

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:

Remapped rules

The following rules have been remapped to new codes:

Stabilizations

The following rules have been stabilized and are no longer in preview:

Fixes for the following rules have been stabilized and are now available without preview:

Fixes for the following rules have been promoted from unsafe to safe:

The following behaviors have been stabilized:

Preview features
  • [refurb] Implement metaclass_abcmeta (FURB180) (#​9658)
  • Implement blank_line_after_nested_stub_class preview style (#​9155)
  • The preview rule and-or-ternary (PLR1706) was removed
Bug fixes
  • [flake8-async] Take pathlib.Path into account when analyzing async functions (#​9703)
  • [flake8-return] - fix indentation syntax error (RET505) (#​9705)
  • Detect multi-statement lines in else removal (#​9748)
  • RUF022, RUF023: never add two trailing commas to the end of a sequence (#​9698)
  • RUF023: Don't sort __match_args__, only __slots__ (#​9724)
  • [flake8-simplify] - Fix syntax error in autofix (SIM114) (#​9704)
  • [pylint] Show verbatim constant in magic-value-comparison (PLR2004) (#​9694)
  • Removing trailing whitespace inside multiline strings is unsafe (#​9744)
  • Support IfExp with dual string arms in invalid-envvar-default (#​9734)
  • [pylint] Add __mro_entries__ to known dunder methods (PLW3201) (#​9706)
Documentation
  • Removed rules are now retained in the documentation (#​9691)
  • Deprecated rules are now indicated in the documentation (#​9689)

v0.1.15

Compare Source

Preview features
  • Error when NURSERY selector is used with --preview (#​9682)
  • Preserve indentation around multiline strings in formatter (#​9637)
  • [flake8-return] Add fixes for all rules (RET505, RET506, RET507, RET508) (#​9595)
  • [flake8-simplify] Add fix for if-with-same-arms (SIM114) (#​9591)
  • [pycodestyle] Add fix for multiple-imports-on-one-line (E401) (#​9518)
  • [pylint] Add fix for collapsible-else-if (PLR5501) (#​9594)
  • [pylint] Add fix for useless-else-on-loop (PLW0120) (#​9590)
  • [pylint] Implement assigning-non-slot (E0237) (#​9623)
  • [pylint] Implement potential-index-error (PLE0643) (#​9545)
  • [pylint] Implement too-many-nested-blocks (PLR1702) (#​9172)
  • [ruff] Add rule to sort __slots__ and __match_args__ (#​9564)
  • [ruff] Detect unnecessary dict comprehensions for iterables (RUF025) (#​9613)
  • [ruff] Guard against use of default_factory as a keyword argument (RUF026) (#​9651)
  • [ruff] Implement mutable-fromkeys-value (RUF024) (#​9597)
CLI
  • Enable auto-wrapping of --help output (#​9633)
Bug fixes
  • Avoid rendering display-only rules as fixable (#​9649)
  • Detect automagic-like assignments in notebooks (#​9653)
  • Generate custom JSON schema for dynamic setting (#​9632)
  • [flake8-no-pep420] Include global --config when determining namespace packages (#​9603)
  • [flake8-pie] Omit bound tuples passed to .startswith or .endswith (#​9661)
  • [flake8-return] Avoid panic when fixing inlined else blocks (#​9657)
  • [flake8-return] Consider exception suppression in unnecessary assignment (#​9673)
  • [flake8-return] Take NoReturn annotation into account when analyzing implicit returns (#​9636)
  • [flake8-simplify] Support inverted returns in needless-bool (SIM103) (#​9619)
  • [flake8-type-checking] Add Pydantic's BaseConfig to default-copy list (#​9650)
  • [flake8-type-checking] Avoid marking InitVar as a typing-only annotation (#​9688)
  • [pycodestyle] Allow dtype comparisons in type-comparison (#​9676)
  • [pydocstyle] Re-implement last-line-after-section (D413) (#​9654)
Documentation
  • [flake8-pytest-style] Add fix safety documentation for duplicate-parameterize-test-cases (#​9678)
  • [pylint] Document literal-membership fix safety conditions (#​9677)
  • [isort] Fix reference to isort rule code (#​9598)

Configuration

📅 Schedule: Branch creation - "before 6am every weekday" in timezone Europe/Amsterdam, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added dependencies Upgrade or downgrade of project dependencies. python labels Jan 30, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from beb25ce to c19e5f8 Compare February 2, 2024 01:18
@renovate renovate bot changed the title ⬆️ Update dependency ruff to v0.1.15 ⬆️ Update dependency ruff to v0.2.0 Feb 2, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from f7e2e56 to 9f4655e Compare February 6, 2024 01:38
@renovate renovate bot changed the title ⬆️ Update dependency ruff to v0.2.0 ⬆️ Update dependency ruff to v0.2.1 Feb 6, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from a1a6c0a to 4b8c967 Compare February 12, 2024 03:02
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from cc1678b to e5fb926 Compare February 18, 2024 01:18
@renovate renovate bot changed the title ⬆️ Update dependency ruff to v0.2.1 ⬆️ Update dependency ruff to v0.2.2 Feb 18, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from 9273763 to 2b384c2 Compare February 19, 2024 07:08
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 3 times, most recently from 4bcc7b7 to 3b90f76 Compare February 29, 2024 17:04
@renovate renovate bot changed the title ⬆️ Update dependency ruff to v0.2.2 ⬆️ Update dependency ruff to v0.3.0 Feb 29, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch 2 times, most recently from ba46664 to d154408 Compare March 7, 2024 00:16
@renovate renovate bot changed the title ⬆️ Update dependency ruff to v0.3.0 ⬆️ Update dependency ruff to v0.3.1 Mar 7, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch from d154408 to e983dd6 Compare March 9, 2024 01:03
@renovate renovate bot changed the title ⬆️ Update dependency ruff to v0.3.1 ⬆️ Update dependency ruff to v0.3.2 Mar 9, 2024
@renovate renovate bot force-pushed the renovate/ruff-0.x branch from e983dd6 to 3633dd9 Compare March 11, 2024 02:07
@renovate renovate bot force-pushed the renovate/ruff-0.x branch from 3633dd9 to 4626970 Compare March 12, 2024 22:47
Copy link
Contributor Author

renovate bot commented Mar 12, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@klaasnicolaas klaasnicolaas merged commit c2444b8 into main Mar 12, 2024
11 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Apr 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Upgrade or downgrade of project dependencies. python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant