Conversation
a6f60a8 to
1d9706c
Compare
maxdymond
approved these changes
Jul 4, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.12.0->0.12.2Release Notes
astral-sh/ruff (ruff)
v0.12.2Compare Source
Preview features
flake8-pyi] ExpandOptional[A]toA | None(PYI016) (#18572)pyupgrade] MarkUP008fix safe if no comments are in range (#18683)Bug fixes
flake8-comprehensions] FixC420to prepend whitespace when needed (#18616)perflint] FixPERF403panic on attribute or subscription loop variable (#19042)pydocstyle] FixD413infinite loop for parenthesized docstring (#18930)pylint] FixPLW0108autofix introducing a syntax error when the lambda's body contains an assignment expression (#18678)refurb] Fix false positive on empty tuples (FURB168) (#19058)ruff] Allow morefieldcalls fromattrs(RUF009) (#19021)ruff] Fix syntax error introduced for an empty string followed by a u-prefixed string (UP025) (#18899)Rule changes
flake8-executable] Allowuvxin shebang line (EXE003) (#18967)pandas] Avoid flaggingPD002ifpandasis not imported (#18963)pyupgrade] Avoid PEP-604 unions withtyping.NamedTuple(UP007,UP045) (#18682)Documentation
import-outside-top-level (PLC0415)andlint.flake8-tidy-imports.banned-module-level-imports(#18733)format.skip-magic-trailing-commaexample (#19095)airflow] MakeAIR302example error out-of-the-box (#18988)airflow] MakeAIR312example error out-of-the-box (#18989)flake8-annotations] MakeANN401example error out-of-the-box (#18974)flake8-async] MakeASYNC100example error out-of-the-box (#18993)flake8-async] MakeASYNC105example error out-of-the-box (#19002)flake8-async] MakeASYNC110example error out-of-the-box (#18975)flake8-async] MakeASYNC210example error out-of-the-box (#18977)flake8-async] MakeASYNC220,ASYNC221, andASYNC222examples error out-of-the-box (#18978)flake8-async] MakeASYNC251example error out-of-the-box (#18990)flake8-bandit] MakeS201example error out-of-the-box (#19017)flake8-bandit] MakeS604andS609examples error out-of-the-box (#19049)flake8-bugbear] MakeB028example error out-of-the-box (#19054)flake8-bugbear] MakeB911example error out-of-the-box (#19051)flake8-datetimez] MakeDTZ011example error out-of-the-box (#19055)flake8-datetimez] MakeDTZ901example error out-of-the-box (#19056)flake8-pyi] MakePYI032example error out-of-the-box (#19061)flake8-pyi] Make example error out-of-the-box (PYI014,PYI015) (#19097)flake8-pyi] Make example error out-of-the-box (PYI042) (#19101)flake8-pyi] Make example error out-of-the-box (PYI059) (#19080)flake8-pyi] Make example error out-of-the-box (PYI062) (#19079)flake8-pytest-style] Make example error out-of-the-box (PT023) (#19104)flake8-pytest-style] Make example error out-of-the-box (PT030) (#19105)flake8-quotes] Make example error out-of-the-box (Q003) (#19106)flake8-simplify] Make example error out-of-the-box (SIM110) (#19113)flake8-simplify] Make example error out-of-the-box (SIM113) (#19109)flake8-simplify] Make example error out-of-the-box (SIM401) (#19110)pyflakes] Fix backslash in docs (F621) (#19098)pylint] FixPLC0415example (#18970)v0.12.1Compare Source
Preview features
flake8-errmsg] ExtendEM101to support byte strings (#18867)flake8-use-pathlib] Add autofix forPTH202(#18763)pygrep-hooks] AddAsyncMockmethods toinvalid-mock-access(PGH005) (#18547)pylint] Ignore__init__.pyfiles in (PLC0414) (#18400)ruff] TriggerRUF037for empty string and byte strings (#18862).pyifiles (#18888)Bug fixes
remove_argument(#18805)flake8-logging] Avoid false positive forexc_info=Trueoutsidelogger.exception(LOG014) (#18737)flake8-pytest-style] Enforcepytestimport for decorators (#18779)flake8-pytest-style] Mark autofix forPT001andPT023as unsafe if there's comments in the decorator (#18792)flake8-pytest-style]PT001/PT023fix makes syntax error on parenthesized decorator (#18782)flake8-raise] Make fix unsafe if it deletes comments (RSE102) (#18788)flake8-simplify] FixSIM911autofix creating a syntax error (#18793)flake8-simplify] Fix false negatives for shadowed bindings (SIM910,SIM911) (#18794)flake8-simplify] Preserve original behavior forexcept ()and bareexcept(SIM105) (#18213)flake8-pyi] FixPYI041's fix causingTypeErrorwithNone | None | ...(#18637)perflint] FixPERF101autofix creating a syntax error and mark autofix as unsafe if there are comments in thelistcall expr (#18803)perflint] Fix false negative inPERF401(#18866)pylint] Avoid flattening nestedmin/maxwhen outer call has single argument (PLW3301) (#16885)pylint] FixPLC2801autofix creating a syntax error (#18857)pylint] MarkPLE0241autofix as unsafe if there's comments in the base classes (#18832)pylint] SuppressPLE2510/PLE2512/PLE2513/PLE2514/PLE2515autofix if the text contains an odd number of backslashes (#18856)refurb] Detect more exotic float literals inFURB164(#18925)refurb] FixFURB163autofix creating a syntax error foryieldexpressions (#18756)refurb] MarkFURB129autofix as unsafe if there's comments in thereadlinescall (#18858)ruff] Fix false positives and negatives inRUF010(#18690)analyze.directionvariant names (#18892)Rule changes
flake8-return] MarkRET501fix unsafe if comments are inside (#18780)flake8-async] Fix detection for large integer sleep durations inASYNC116rule (#18767)flake8-async] Mark autofix forASYNC115as unsafe if the call expression contains comments (#18753)flake8-bugbear] Mark autofix forB004as unsafe if thehasattrcall expr contains comments (#18755)flake8-comprehension] Mark autofix forC420as unsafe if there's comments inside the dict comprehension (#18768)flake8-comprehensions] Handle template strings for comprehension fixes (#18710)flake8-future-annotations] Add autofix (FA100) (#18903)pyflakes] MarkF504/F522/F523autofix as unsafe if there's a call with side effect (#18839)pylint] Allow fix with comments and document performance implications (PLW3301) (#18936)pylint] Detect more exoticNaNliterals inPLW0177(#18630)pylint] FixPLC1802autofix creating a syntax error and mark autofix as unsafe if there's comments in thelencall (#18836)pyupgrade] Extend version detection to includesys.version_info.major(UP036) (#18633)ruff] Add lint ruleRUF064for callingchmodwith non-octal integers (#18541)ruff] Addedcls.__dict__.get('__annotations__')check (RUF063) (#18233)ruff] Frozendataclassdefault should be valid (RUF009) (#18735)Server
Documentation
perflint] Small docs improvement toPERF401(#18786)pyupgrade]: Usesuper(), not__super__in error messages (UP008) (#18743)flake8-pie] Small docs fix toPIE794(#18829)flake8-pyi] Correctcollections-named-tupleexample to use PascalCase assignment (#16884)flake8-pie] Add note on type checking benefits tounnecessary-dict-kwargs(PIE804) (#18666)pycodestyle] Clarify PEP 8 relationship towhitespace-around-operatorrules (#18870)Other changes
flake8-logging] Add fix safety section toLOG002(#18840)pyupgrade] Add fix safety section toUP010(#18838)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.
This PR was generated by Mend Renovate. View the repository job log.