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

ruff 0.9.0 #203745

Merged
merged 2 commits into from
Jan 9, 2025
Merged

ruff 0.9.0 #203745

merged 2 commits into from
Jan 9, 2025

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
## Release Notes

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)

Contributors

Install ruff 0.9.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.9.0/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/astral-sh/ruff/releases/download/0.9.0/ruff-installer.ps1 | iex"

Download ruff 0.9.0

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ruff-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ruff-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ruff-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ruff-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ruff-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ruff-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

@github-actions github-actions bot added rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Jan 9, 2025
Copy link
Contributor

github-actions bot commented Jan 9, 2025

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jan 9, 2025
@BrewTestBot BrewTestBot enabled auto-merge January 9, 2025 19:55
@BrewTestBot BrewTestBot added this pull request to the merge queue Jan 9, 2025
Merged via the queue into master with commit 0f8fcd2 Jan 9, 2025
15 checks passed
@BrewTestBot BrewTestBot deleted the bump-ruff-0.9.0 branch January 9, 2025 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants