mirror of
https://github.com/astral-sh/ruff
synced 2026-01-20 21:10:48 -05:00
8.9 KiB
8.9 KiB
Changelog
This is the first release which uses the CHANGELOG file. See GitHub Releases for prior changelog entries.
Read Ruff's new versioning policy.
0.1.0
Breaking changes
- Unsafe fixes are no longer displayed or applied without opt-in (#7769)
- Drop formatting specific rules from the default set (#7900)
- The deprecated
formatsetting has been removed (#7984)- The
formatsetting cannot be used to configure the output format, useoutput-formatinstead - The
RUFF_FORMATenvironment variable is ignored, useRUFF_OUTPUT_FORMATinstead - The
--formatoption has been removed fromruff check, use--output-formatinstead
- The
Rule changes
- Extend
reimplemented-starmap(FURB140) to catch calls with a single and starred argument (#7768) - Improve cases covered by
RUF015(#7848) - Update
SIM15to allowopenfollowed byclose(#7916) - Respect
msgspec.Structdefault-copy semantics inRUF012(#7786) - Add
sqlalchemymethods to `flake8-boolean-trap`` exclusion list (#7874) - Add fix for
PLR1714(#7910) - Add fix for
PIE804(#7884) - Add fix for
PLC0208(#7887) - Add fix for
PYI055(#7886) - Update
non-pep695-type-aliasto require--unsafe-fixesoutside of stub files (#7836) - Improve fix message for
UP018(#7913) - Update
PLW3201to supportEnumsunder names (#7987)
Preview features
- Only show warnings for empty preview selectors when enabling rules (#7842)
- Add
unnecessary-key-checkto simplifykey in dct and dct[key]todct.get(key)(#7895) - Add
assignment-in-assertto prevent walrus expressions in assert statements (#7856) - [
refurb] Addsingle-item-membership-test(FURB171) (#7815) - [
pylint] Addand-or-ternary(R1706) (#7811)
New rules are added in preview.
Configuration
- Add
unsafe-fixessetting (#7769) - Add
extend-safe-fixesandextend-unsafe-fixesfor promoting and demoting fixes (#7841)
CLI
- Added
--unsafe-fixesoption for opt-in to display and apply unsafe fixes (#7769) - Fix use of deprecated
--formatoption in warning (#7837) - Show changed files when running under
--check(#7788) - Write summary messages to stderr when fixing via stdin instead of omitting them (#7838)
- Update fix summary message in
check --diffto include unsafe fix hints (#7790) - Add notebook
cellfield to JSON output format (#7664) - Rename applicability levels to
Safe,Unsafe, andDisplay(#7843)
Bug fixes
- Fix bug where f-strings were allowed in match pattern literal (#7857)
- Fix
SIM110with a yield in the condition (#7801) - Preserve trailing comments in
C414fixes (#7775) - Check sequence type before triggering
unnecessary-enumeratelensuggestion (#7781) - Use correct start location for class/function clause header (#7802)
- Fix incorrect fixes for
SIM101(#7798) - Format comment before parameter default correctly (#7870)
- Fix
E251false positive inside f-strings (#7894) - Allow bindings to be created and referenced within annotations (#7885)
- Show per-cell diffs when analyzing notebooks over
stdin(#7789) - Avoid curly brace escape in f-string format spec (#7780)
- Fix lexing single-quoted f-string with multi-line format spec (#7787)
- Consider nursery rules to be in-preview for
ruff rule(#7812) - Report precise location for invalid conversion flag (#7809)
- Visit pattern match guard as a boolean test (#7911)
- Respect
--unfixableinISCrules (#7917) - Fix edge case with
PIE804(#7922) - Show custom message in
PTH118forPath.joinpathwith starred arguments (#7852) - Fix false negative in
outdated-version-blockwhen using greater than comparisons (#7920) - Avoid converting f-strings within Django
gettextcalls (#7898) - Fix false positive in
PLR6301(#7933) - Treat type aliases as typing-only expressions e.g. resolves false positive in
TCH004(#7968) - Resolve
cache-dirrelative to project root (#7962) - Respect subscripted base classes in type-checking rules e.g. resolves false positive in
TCH003(#7954) - Fix JSON schema limit for
line-length(#7883) - Fix commented-out
coalescekeyword (#7876)
Documentation
- Document
reimplemented-starmapperformance effects (#7846) - Default to following the system dark/light mode (#7888)
- Add documentation for fixes (#7901)
- Fix typo in docs of
PLR6301(#7831) - Update
UP038docs to note that it results in slower code (#7872) - crlf -> cr-lf (#7766)
- Add an example of an unsafe fix (#7924)
- Fix documented examples for
unnecessary-subscript-reversal(#7774) - Correct error in tuple example in ruff formatter docs (#7822)
- Add versioning policy to documentation (#7923)
- Fix invalid code in
FURB177example (#7832)
Formatter
- Less scary
ruff formatmessage (#7867) - Remove spaces from import statements (#7859)
- Formatter quoting for f-strings with triple quotes (#7826)
- Update
ruff_python_formattergenerate.py comment (#7850) - Document one-call chaining deviation (#7767)
- Allow f-string modifications in line-shrinking cases (#7818)
- Add trailing comment deviation to README (#7827)
- Add trailing zero between dot and exponential (#7956)
- Force parentheses for power operations in unary expressions (#7955)
Playground
- Fix playground
Quick Fixaction (#7824)