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

fix(deps): update dependency ruff to ^0.9.0 #690

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 9, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ruff (source, changelog) ^0.8.0 -> ^0.9.0 age adoption passing confidence

Release Notes

astral-sh/ruff (ruff)

v0.9.0

Compare Source

Check out the blog post for a migration guide and overview of the changes!

Breaking changes

Ruff now formats your code according to the 2025 style guide. As a result, your code might now get formatted differently. See the formatter section for a detailed list of changes.

This release doesn’t remove or remap any existing stable rules.

Stabilization

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

The following behaviors have been stabilized:

The following fixes or improvements to fixes have been stabilized:

Formatter

This release introduces the new 2025 stable style (#​13371), stabilizing the following changes:

  • Format expressions in f-string elements (#​7594)
  • Alternate quotes for strings inside f-strings (#​13860)
  • Preserve the casing of hex codes in f-string debug expressions (#​14766)
  • Choose the quote style for each string literal in an implicitly concatenated f-string rather than for the entire string (#​13539)
  • Automatically join an implicitly concatenated string into a single string literal if it fits on a single line (#​9457)
  • Remove the ISC001 incompatibility warning (#​15123)
  • Prefer parenthesizing the assert message over breaking the assertion expression (#​9457)
  • Automatically parenthesize over-long if guards in match case clauses (#​13513)
  • More consistent formatting for match case patterns (#​6933)
  • Avoid unnecessary parentheses around return type annotations (#​13381)
  • Keep the opening parentheses on the same line as the if keyword for comprehensions where the condition has a leading comment (#​12282)
  • More consistent formatting for with statements with a single context manager for Python 3.8 or older (#​10276)
  • Correctly calculate the line-width for code blocks in docstrings when using max-doc-code-line-length = "dynamic" (#​13523)
Preview features
  • [flake8-bugbear] Implement class-as-data-structure (B903) (#​9601)
  • [flake8-type-checking] Apply quoted-type-alias more eagerly in TYPE_CHECKING blocks and ignore it in stubs (TC008) (#​15180)
  • [pylint] Ignore eq-without-hash in stub files (PLW1641) (#​15310)
  • [pyupgrade] Split UP007 into two individual rules: UP007 for Union and UP045 for Optional (UP007, UP045) (#​15313)
  • [ruff] New rule that detects classes that are both an enum and a dataclass (RUF049) (#​15299)
  • [ruff] Recode RUF025 to RUF037 (RUF037) (#​15258)
Rule changes
Server
  • Improve the observability by removing the need for the "trace" value to turn on or off logging. The server logging is solely controlled using the logLevel server setting
    which defaults to info. This addresses the issue where users were notified about an error and told to consult the log, but it didn’t contain any messages. (#​15232)
  • Ignore diagnostics from other sources for code action requests (#​15373)
CLI
  • Improve the error message for --config key=value when the key is for a table and it’s a simple value
Bug fixes
  • [eradicate] Ignore metadata blocks directly followed by normal blocks (ERA001) (#​15330)
  • [flake8-django] Recognize other magic methods (DJ012) (#​15365)
  • [pycodestyle] Avoid false positives related to type aliases (E252) (#​15356)
  • [pydocstyle] Avoid treating newline-separated sections as sub-sections (D405) (#​15311)
  • [pyflakes] Remove call when removing final argument from format (F523) (#​15309)
  • [refurb] Mark fix as unsafe when the right-hand side is a string (FURB171) (#​15273)
  • [ruff] Treat ) as a regex metacharacter (RUF043, RUF055) (#​15318)
  • [ruff] Parenthesize the int-call argument when removing the int call would change semantics (RUF046) (#​15277)

v0.8.6

Compare Source

Preview features
  • [format]: Preserve multiline implicit concatenated strings in docstring positions (#​15126)
  • [ruff] Add rule to detect empty literal in deque call (RUF025) (#​15104)
  • [ruff] Avoid reporting when ndigits is possibly negative (RUF057) (#​15234)
Rule changes
  • [flake8-todos] remove issue code length restriction (TD003) (#​15175)
  • [pyflakes] Ignore errors in @no_type_check string annotations (F722, F821) (#​15215)
CLI
  • Show errors for attempted fixes only when passed --verbose (#​15237)
Bug fixes
  • [ruff] Avoid syntax error when removing int over multiple lines (RUF046) (#​15230)
  • [pyupgrade] Revert "Add all PEP-585 names to UP006 rule" (#​15250)

v0.8.5

Compare Source

Preview features
  • [airflow] Extend names moved from core to provider (AIR303) (#​15145, #​15159, #​15196, #​15216)
  • [airflow] Extend rule to check class attributes, methods, arguments (AIR302) (#​15054, #​15083)
  • [fastapi] Update FAST002 to check keyword-only arguments (#​15119)
  • [flake8-type-checking] Disable TC006 and TC007 in stub files (#​15179)
  • [pylint] Detect nested methods correctly (PLW1641) (#​15032)
  • [ruff] Detect more strict-integer expressions (RUF046) (#​14833)
  • [ruff] Implement falsy-dict-get-fallback (RUF056) (#​15160)
  • [ruff] Implement unnecessary-round (RUF057) (#​14828)
Rule changes
  • Visit PEP 764 inline TypedDict keys as non-type-expressions (#​15073)
  • [flake8-comprehensions] Skip C416 if comprehension contains unpacking (#​14909)
  • [flake8-pie] Allow cast(SomeType, ...) (PIE796) (#​15141)
  • [flake8-simplify] More precise inference for dictionaries (SIM300) (#​15164)
  • [flake8-use-pathlib] Catch redundant joins in PTH201 and avoid syntax errors (#​15177)
  • [pycodestyle] Preserve original value format (E731) (#​15097)
  • [pydocstyle] Split on first whitespace character (D403) (#​15082)
  • [pyupgrade] Add all PEP-585 names to UP006 rule (#​5454)
Configuration
  • [flake8-type-checking] Improve flexibility of runtime-evaluated-decorators (#​15204)
  • [pydocstyle] Add setting to ignore missing documentation for *args and **kwargs parameters (D417) (#​15210)
  • [ruff] Add an allowlist for unsafe-markup-use (RUF035) (#​15076)
Bug fixes
  • Fix type subscript on older python versions (#​15090)
  • Use TypeChecker for detecting fastapi routes (#​15093)
  • [pycodestyle] Avoid false positives and negatives related to type parameter default syntax (E225, E251) (#​15214)
Documentation
  • Fix incorrect doc in shebang-not-executable (EXE001) and add git+windows solution to executable bit (#​15208)
  • Rename rules currently not conforming to naming convention (#​15102)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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 was generated by Mend Renovate. View the repository job log.

Copy link
Contributor

sourcery-ai bot commented Jan 9, 2025

Reviewer's Guide by Sourcery

This PR updates the ruff dependency from ^0.8.0 to ^0.9.0. This update introduces the new 2025 stable style and includes several breaking changes, stabilizations, preview features, rule changes, and bug fixes. Notably, the formatter now adheres to the 2025 style guide, which might lead to different formatting of existing code.

State diagram for Ruff version update changes

stateDiagram-v2
    [*] --> Ruff_0.8.0
    Ruff_0.8.0 --> Ruff_0.9.0: Version Update

    state Ruff_0.9.0 {
        [*] --> Formatter_Changes
        [*] --> Stabilized_Rules
        [*] --> Preview_Features

        state Formatter_Changes {
            2025_Style_Guide
            F_String_Formatting
            String_Concatenation
            Match_Case_Patterns
        }

        state Stabilized_Rules {
            stdlib_module_shadowing
            builtin_lambda_argument
            slice_operations
            boolean_chained_comparison
        }

        state Preview_Features {
            New_Bugbear_Rules
            Type_Checking_Updates
            Pylint_Updates
        }
    }
Loading

File-Level Changes

Change Details Files
Updated the ruff dependency
  • Changed the ruff version from ^0.8.0 to ^0.9.0 in pyproject.toml.
  • Updated the poetry.lock file to reflect the changes in dependencies.
pyproject.toml
poetry.lock

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, renovate[bot]!). We assume it knows what it's doing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants