Sourced from ruff's releases.
0.9.4
Release Notes
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
- Preserve quote style in generated code (#15726, #15778, #15794)
- [
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
- Fix formatter warning message for
flake8-quotesoption (#15788)- Implement tab autocomplete for
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
- Add missing config docstrings (#15803)
- Add references to
trio.run_processandanyio.run_process(#15761)- Use
uv init --libin tutorial (#15718)Contributors
... (truncated)
Sourced from ruff's changelog.
0.9.4
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
- Preserve quote style in generated code (#15726, #15778, #15794)
- [
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
- Fix formatter warning message for
flake8-quotesoption (#15788)- Implement tab autocomplete for
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
854ab03
Bump version to 0.9.4 (#15831)b0b8b06
Remove semicolon after TypeScript interface definition (#15827)451f251
[red-knot] Clarify behavior when redeclaring base class attributes (#15826)13cf3e6
[flake8-comprehensions] Parenthesize sorted
when needed for `unnecessary-...56f956a
[pyupgrade] Handle end-of-line comments for
quoted-annotation (UP037) (...7a10a40
[flake8-bandit] Permit suspicious imports within stub files
(S4) (#15822)3125332
[red-knot] Format mdtest snippets with the latest version of black (#15819)15d886a
[red-knot] Consider all definitions after terminal statements
unreachable (#1...e1c9d10
[flake8-comprehensions] Do not emit
unnecessary-map diagnostic when lambd...23c9884
Preserve quotes in generated f-strings (#15794)