Update dependency ruff to v0.9.9 #14
Open
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.9.3->0.9.9Release Notes
astral-sh/ruff (ruff)
v0.9.9Compare Source
Preview features
Bug fixes
v0.9.8Compare Source
Preview features
Rule changes
pylint] Mark fix unsafe (PLW1507) (#16343)pylint] Catchcase np.nan/case math.naninmatchstatements (PLW0177) (#16378)ruff] Add more Pydantic models variants to the list of default copy semantics (RUF012) (#16291)Server
configurationPreferenceiseditorOnly(#16381)ruff.configurationto allow inline config (#16296)Configuration
per-file-target-versionoption (#16257)Bug fixes
refurb] Do not consider docstring(s) (FURB156) (#16391)flake8-self] Ignore attribute accesses on instance-like variables (SLF001) (#16149)pylint] Fix false positives, add missing methods, and support positional-only parameters (PLE0302) (#16263)flake8-pyi] MarkPYI030fix unsafe when comments are deleted (#16322)Documentation
S611(#16316)v0.9.7Compare Source
Preview features
__new__methods as special function type for enforcing class method or static method rules (#13305)airflow] Improve the internal logic to differentiate deprecated symbols (AIR303) (#16013)refurb] Manual timezone monkeypatching (FURB162) (#16113)ruff] Implicit class variable in dataclass (RUF045) (#14349)ruff] Skip singleton starred expressions forincorrectly-parenthesized-tuple-in-subscript(RUF031) (#16083)refurb] Check for subclasses includes subscript expressions (FURB189) (#16155)Rule changes
flake8-debugger] Also flagsys.breakpointhookandsys.__breakpointhook__(T100) (#16191)pycodestyle] Exemptsite.addsitedir(...)calls (E402) (#16251)Formatter
Server
source.organizeImports.ruffandsource.fixAll.ruffcode actions for a notebook cell (#16154)ruff.printDebugInformation(#16215)ruff.printDebugInformation(#16214)CLI
noqaeven when there are no diagnostics (#16178)extends (#15658)Bug fixes
flake8-comprehensions] Handle trailing comma inC403fix (#16110)flake8-pyi] Avoid flaggingcustom-typevar-for-selfon metaclass methods (PYI019) (#16141)pydocstyle] Handle arguments with the same names as sections (D417) (#16011)pylint] Correct ordering of arguments in fix forif-stmt-min-max(PLR1730) (#16080)pylint] Do not offer fix for raw strings (PLE251) (#16132)pyupgrade] Do not upgrade functionalTypedDictswith private field names to the class-based syntax (UP013) (#16219)pyupgrade] Handle micro version numbers correctly (UP036) (#16091)pyupgrade] Unwrap unary expressions correctly (UP018) (#15919)refurb] Correctly handle lengths of literal strings inslice-to-remove-prefix-or-suffix(FURB188) (#16237)ruff] SkipRUF001diagnostics when visiting string type definitions (#16122)Documentation
source.*code actions in Notebook (#16212)SECURITY.md(#16224)v0.9.6Compare Source
Preview features
airflow] Addexternal_task.{ExternalTaskMarker, ExternalTaskSensor}forAIR302(#16014)flake8-builtins] Make strict module name comparison optional (A005) (#15951)flake8-pyi] Extend fix to Python <= 3.9 forredundant-none-literal(PYI061) (#16044)pylint] Also report when the object isn't a literal (PLE1310) (#15985)ruff] Implementindented-form-feed(RUF054) (#16049)ruff] Skip type definitions formissing-f-string-syntax(RUF027) (#16054)Rule changes
flake8-annotations] Correct syntax fortyping.Unionin suggested return type fixes forANN20xrules (#16025)flake8-builtins] Match upstream module name comparison (A005) (#16006)flake8-comprehensions] Detect overshadowedlist/set/dict, ignore variadics and named expressions (C417) (#15955)flake8-pie] Remove following comma correctly when the unpacked dictionary is empty (PIE800) (#16008)flake8-simplify] Only triggerSIM401on known dictionaries (#15995)pylint] Do not report calls when object type and argument type mismatch, remove custom escape handling logic (PLE1310) (#15984)pyupgrade] Comments within parenthesized value ranges should not affect applicability (UP040) (#16027)pyupgrade] Don't introduce invalid syntax when upgrading old-style type aliases with parenthesized multiline values (UP040) (#16026)pyupgrade] Ensure we do not rename two type parameters to the same name (UP049) (#16038)pyupgrade] [ruff] Don't apply renamings if the new name is shadowed in a scope of one of the references to the binding (UP049,RUF052) (#16032)ruff] UpdateRUF009to behave similar toB008and ignore attributes with immutable types (#16048)Server
Bug fixes
flake8-datetime] Ignore.replace()calls while looking for.astimezone(#16050)flake8-type-checking] AvoidTC004false positive where the runtime definition is provided by__getattr__(#16052)Documentation
ruff-lspmigration document (#16072)ruff.nativeServer(#16039)v0.9.5Compare Source
Preview features
TYPE_CHECKINGforin_type_checking_block(#15719)flake8-comprehensions] Handle builtins at top of file correctly forunnecessary-dict-comprehension-for-iterable(C420) (#15837)flake8-logging].exception()andexc_info=outside exception handlers (LOG004,LOG014) (#15799)flake8-pyi] Fix incorrect behaviour ofcustom-typevar-return-typepreview-mode autofix iftypingwas already imported (PYI019) (#15853)flake8-pyi] Fix more complex cases (PYI019) (#15821)flake8-pyi] MakePYI019autofixable for.pyfiles in preview mode as well as stubs (#15889)flake8-pyi] Remove type parameter correctly when it is the last (PYI019) (#15854)pylint] Fix missing parens in unsafe fix forunnecessary-dunder-call(PLC2801) (#15762)pyupgrade] Better messages and diagnostic range (UP015) (#15872)pyupgrade] Rename private type parameters in PEP 695 generics (UP049) (#15862)refurb] Also report non-name expressions (FURB169) (#15905)refurb] Mark fix as unsafe if there are comments (FURB171) (#15832)ruff] Classes with mixed type variable style (RUF053) (#15841)airflow]BashOperatorhas been moved toairflow.providers.standard.operators.bash.BashOperator(AIR302) (#15922)flake8-pyi] Add autofix for unused-private-type-var (PYI018) (#15999)flake8-pyi] Significantly improve accuracy ofPYI019if preview mode is enabled (#15888)Rule changes
flake8-comprehensions] Skip whenTypeErrorpresent from too many (kw)args forC410,C411, andC418(#15838)flake8-pyi] RenamePYI019and improve its diagnostic message (#15885)pep8-naming] Ignore@overridemethods (N803) (#15954)pyupgrade] Reuse replacement logic fromUP046andUP047to preserve more comments (UP040) (#15840)ruff] Analyze deferred annotations before enforcingmutable-(data)class-defaultandfunction-call-in-dataclass-default-argument(RUF008,RUF009,RUF012) (#15921)pycodestyle] Exemptsys.path += ...calls (E402) (#15980)Configuration
flake8-import-conventionsalias conflicts withisort.required-importsbound name (#15918)allOf(#15992)Bug fixes
flake8-comprehensions] Unnecessarylistcomprehension (rewrite as asetcomprehension) (C403) - Handle extraneous parentheses around list comprehension (#15877)flake8-comprehensions] Handle trailing comma in fixes forunnecessary-generator-list/set(C400,C401) (#15929)flake8-pyi] Fix several correctness issues withcustom-type-var-return-type(PYI019) (#15851)pep8-naming] Consider any number of leading underscore forN801(#15988)pyflakes] Visit forward annotations inTypeAliasTypeas types (F401) (#15829)pylint] Correct min/max auto-fix and suggestion for (PL1730) (#15930)refurb] Handle unparenthesized tuples correctly (FURB122,FURB142) (#15953)refurb] AvoidNone | Noneas well as better detection and fix (FURB168) (#15779)Documentation
ruff-lsprelated settings (#15850)linter.md): clarify that Python files are always searched for in subdirectories (#15882)non_pep695_generic_class.rs(#15946)lint.extendIgnoreeditor setting (#15844)UP049inUP046andUP047, addSee alsosection toUP040(#15956)RUF012(#15982)ignoreandselectconfig (#15883)v0.9.4Compare Source
Preview features
airflow] Extend airflow context parameter check forBaseOperator.execute(AIR302) (#15713)airflow] UpdateAIR302to check for deprecated context keys (#15144)flake8-bandit] Permit suspicious imports within stub files (S4) (#15822)pylint] Do not triggerPLR6201on empty collections (#15732)refurb] Do not emit diagnostic when loop variables are used outside loop body (FURB122) (#15757)ruff] Add support for morerepatterns (RUF055) (#15764)ruff] Check for shadowedmapbefore suggesting fix (RUF058) (#15790)ruff] Do not emit diagnostic when all arguments tozip()are variadic (RUF058) (#15744)ruff] Parenthesize fix when argument spans multiple lines forunnecessary-round(RUF057) (#15703)Rule changes
flake8-bugbear] ExemptNewTypecalls where the original type is immutable (B008) (#15765)pylint] Honor banned top-level imports byTID253inPLC0415. (#15628)pyupgrade] Ignoreis_typeddictandTypedDictfordeprecated-import(UP035) (#15800)CLI
flake8-quotesoption (#15788)ruff config(#15603)Bug fixes
flake8-comprehensions] Do not emitunnecessary-mapdiagnostic when lambda has different arity (C417) (#15802)flake8-comprehensions] Parenthesizesortedwhen needed forunnecessary-call-around-sorted(C413) (#15825)pyupgrade] Handle end-of-line comments forquoted-annotation(UP037) (#15824)Documentation
trio.run_processandanyio.run_process(#15761)uv init --libin tutorial (#15718)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.