2024-11-17 10:55:01 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-ruff: update to 0.7.4.
Preview features
[flake8-datetimez] Detect usages of datetime.max/datetime.min (DTZ901) (#14288)
[flake8-logging] Implement root-logger-calls (LOG015) (#14302)
[flake8-no-pep420] Detect empty implicit namespace packages (INP001) (#14236)
[flake8-pyi] Add "replace with Self" fix (PYI019) (#14238)
[perflint] Implement quick-fix for manual-list-comprehension (PERF401) (#13919)
[pylint] Implement shallow-copy-environ (W1507) (#14241)
[ruff] Implement none-not-at-end-of-union (RUF036) (#14314)
[ruff] Implementation unsafe-markup-call from flake8-markupsafe plugin \
(RUF035) (#14224)
[ruff] Report problems for attrs dataclasses (RUF008, RUF009) (#14327)
Rule changes
[flake8-boolean-trap] Exclude dunder methods that define operators (FBT001) \
(#14203)
[flake8-pyi] Add "replace with Self" fix (PYI034) (#14217)
[flake8-pyi] Always autofix duplicate-union-members (PYI016) (#14270)
[flake8-pyi] Improve autofix for nested and mixed type unions for \
unnecessary-type-union (PYI055) (#14272)
[flake8-pyi] Mark fix as unsafe when type annotation contains comments for \
duplicate-literal-member (PYI062) (#14268)
Server
Use the current working directory to resolve settings from \
ruff.configuration (#14352)
Bug fixes
Avoid conflicts between PLC014 (useless-import-alias) and I002 \
(missing-required-import) by considering lint.isort.required-imports for PLC014 \
(#14287)
[flake8-type-checking] Skip quoting annotation if it becomes invalid syntax \
(TCH001)
[flake8-pyi] Avoid using typing.Self in stub files pre-Python 3.11 (PYI034) \
(#14230)
[flake8-pytest-style] Flag pytest.raises call with keyword argument \
expected_exception (PT011) (#14298)
[flake8-simplify] Infer "unknown" truthiness for literal iterables \
whose items are all unpacks (SIM222) (#14263)
[flake8-type-checking] Fix false positives for typing.Annotated (TCH001) (#14311)
[pylint] Allow await at the top-level scope of a notebook (PLE1142) (#14225)
[pylint] Fix miscellaneous issues in await-outside-async detection (PLE1142) \
(#14218)
[pyupgrade] Avoid applying PEP 646 rewrites in invalid contexts (UP044) (#14234)
[pyupgrade] Detect permutations in redundant open modes (UP015) (#14255)
[refurb] Avoid triggering hardcoded-string-charset for reordered sets \
(FURB156) (#14233)
[refurb] Further special cases added to verbose-decimal-constructor \
(FURB157) (#14216)
[refurb] Use UserString instead of non-existent UserStr (FURB189) (#14209)
[ruff] Avoid treating lowercase letters as # noqa codes (RUF100) (#14229)
[ruff] Do not report when Optional has no type arguments (RUF013) (#14181)
Documentation
Add "Notebook behavior" section for F704, PLE1142 (#14266)
Document comment policy around fix safety (#14300)
|
2024-11-13 14:32:26 by Jonathan Perkin | Files touched by this commit (11) |
Log message:
*: Switch to py-maturin's tool.mk
|
2024-11-11 09:03:47 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-ruff: update to 0.7.3.
Preview features
Formatter: Disallow single-line implicit concatenated strings (#13928)
[flake8-pyi] Include all Python file types for PYI006 and PYI066 (#14059)
[flake8-simplify] Implement split-of-static-string (SIM905) (#14008)
[refurb] Implement subclass-builtin (FURB189) (#14105)
[ruff] Improve diagnostic messages and docs (RUF031, RUF032, RUF034) (#14068)
Rule changes
Detect items that hash to same value in duplicate sets (B033, PLC0208) (#14064)
[eradicate] Better detection of IntelliJ language injection comments \
(ERA001) (#14094)
[flake8-pyi] Add autofix for docstring-in-stub (PYI021) (#14150)
[flake8-pyi] Update duplicate-literal-member (PYI062) to alawys provide an \
autofix (#14188)
[pyflakes] Detect items that hash to same value in duplicate dictionaries \
(F601) (#14065)
[ruff] Fix false positive for decorators (RUF028) (#14061)
Bug fixes
Avoid parsing joint rule codes as distinct codes in # noqa (#12809)
[eradicate] ignore # language= in commented-out-code rule (ERA001) (#14069)
[flake8-bugbear] - do not run mutable-argument-default on stubs (B006) (#14058)
[flake8-builtins] Skip lambda expressions in builtin-argument-shadowing \
(A002) (#14144)
[flake8-comprehension] Also remove trailing comma while fixing C409 and C419 \
(#14097)
[flake8-simplify] Allow open without context manager in return statement \
(SIM115) (#14066)
[pylint] Respect hash-equivalent literals in iteration-over-set (PLC0208) \
(#14063)
[pylint] Update known dunder methods for Python 3.13 (PLW3201) (#14146)
[pyupgrade] - ignore kwarg unpacking for UP044 (#14053)
[refurb] Parse more exotic decimal strings in verbose-decimal-constructor \
(FURB157) (#14098)
Documentation
Add links to missing related options within rule documentations (#13971)
Add rule short code to mkdocs tags to allow searching via rule codes (#14040)
|
2024-11-04 19:08:05 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-ruff: update to 0.7.2.
Preview features
Fix formatting of single with-item with trailing comment (#14005)
[pyupgrade] Add PEP 646 Unpack conversion to * with fix (UP044) (#13988)
Rule changes
Regenerate known_stdlibs.rs with stdlibs 2024.10.25 (#13963)
[flake8-no-pep420] Skip namespace package enforcement for PEP 723 scripts \
(INP001) (#13974)
Server
Fix server panic when undoing an edit (#14010)
Bug fixes
Fix issues in discovering ruff in pip build environments (#13881)
[flake8-type-checking] Fix false positive for singledispatchmethod (TCH003) \
(#13941)
[flake8-type-checking] Treat return type of singledispatch as \
runtime-required (TCH003) (#13957)
Documentation
[flake8-simplify] Include caveats of enabling \
if-else-block-instead-of-if-exp (SIM108) (#14019)
|
2024-10-24 19:45:57 by Adam Ciarcinski | Files touched by this commit (4) | |
Log message:
py-ruff: updated to 0.7.1
0.7.1
Preview features
Fix E221 and E222 to flag missing or extra whitespace around == operator
Formatter: Alternate quotes for strings inside f-strings in preview
Formatter: Join implicit concatenated strings when they fit on a line
[pylint] Restrict iteration-over-set to only work on sets of literals (PLC0208)
Rule changes
[flake8-type-checking] Support auto-quoting when annotations contain quotes
Server
Avoid indexing the workspace for single-file mode
Bug fixes
Make ARG002 compatible with EM101 when raising NotImplementedError
Other changes
Introduce more Docker tags for Ruff (similar to uv)
|
2024-10-17 21:12:27 by Adam Ciarcinski | Files touched by this commit (4) | |
Log message:
py-ruff: updated to 0.7.0
0.7.0
Breaking changes
The pytest rules PT001 and PT023 now default to omitting the decorator \
parentheses when there are no arguments
The useless-try-except rule (in our tryceratops category) has been recoded from \
TRY302 to TRY203
The lint.allow-unused-imports setting has been removed
Formatter preview style
Normalize implicit concatenated f-string quotes per part
Preview linter features
[refurb] implement hardcoded-string-charset (FURB156)
[refurb] Count codepoints not bytes for slice-to-remove-prefix-or-suffix (FURB188)
Rule changes
[pylint] Mark PLE1141 fix as unsafe
[flake8-async] Consider async generators to be "checkpoints" for \
cancel-scope-no-checkpoint (ASYNC100)
[flake8-bugbear] Do not suggest setting parameter strict= to False in B905 \
diagnostic message
[flake8-todos] Only flag the word "TODO", not words starting with \
"todo" (TD006)
[pycodestyle] Fix whitespace-related false positives and false negatives inside \
type-parameter lists (E231, E251)
[flake8-simplify] Stabilize preview behavior for SIM115 so that the rule can \
detect files being opened from a wider range of standard-library functions
CLI
Add explanation of fixable in --statistics command
Bug fixes
[pyflakes] Allow ipytest cell magic (F401)
[flake8-use-pathlib] Fix PTH123 false positive when open is passed a file descriptor
[flake8-bandit] Detect patterns from multi line SQL statements (S608)
[flake8-pyi] - Fix dropped expressions in PYI030 autofix
|
2024-10-07 16:54:24 by pin | Files touched by this commit (4) | |
Log message:
devel/py-ruff: update to 0.6.9
## 0.6.9
### Preview features
- Fix codeblock dynamic line length calculation for indented docstring examples \
([#13523](https://github.com/astral-sh/ruff/pull/13523))
- \[`refurb`\] Mark `FURB118` fix as unsafe \
([#13613](https://github.com/astral-sh/ruff/pull/13613))
### Rule changes
- \[`pydocstyle`\] Don't raise `D208` when last line is non-empty \
([#13372](https://github.com/astral-sh/ruff/pull/13372))
- \[`pylint`\] Preserve trivia (i.e. comments) in `PLR5501` autofix \
([#13573](https://github.com/astral-sh/ruff/pull/13573))
### Configuration
- \[`pyflakes`\] Add `allow-unused-imports` setting for `unused-import` rule \
(`F401`) ([#13601](https://github.com/astral-sh/ruff/pull/13601))
### Bug fixes
- Support ruff discovery in pip build environments \
([#13591](https://github.com/astral-sh/ruff/pull/13591))
- \[`flake8-bugbear`\] Avoid short circuiting `B017` for multiple context \
managers ([#13609](https://github.com/astral-sh/ruff/pull/13609))
- \[`pylint`\] Do not offer an invalid fix for `PLR1716` when the comparisons \
contain parenthesis ([#13527](https://github.com/astral-sh/ruff/pull/13527))
- \[`pyupgrade`\] Fix `UP043` to apply to `collections.abc.Generator` and \
`collections.abc.AsyncGenerator` \
([#13611](https://github.com/astral-sh/ruff/pull/13611))
- \[`refurb`\] Fix handling of slices in tuples for `FURB118`, e.g., `x[:, 1]` \
([#13518](https://github.com/astral-sh/ruff/pull/13518))
### Documentation
- Update GitHub Action link to `astral-sh/ruff-action` \
([#13551](https://github.com/astral-sh/ruff/pull/13551))
## 0.6.8
### Preview features
- Remove unnecessary parentheses around `match case` clauses \
([#13510](https://github.com/astral-sh/ruff/pull/13510))
- Parenthesize overlong `if` guards in `match..case` clauses \
([#13513](https://github.com/astral-sh/ruff/pull/13513))
- Detect basic wildcard imports in `ruff analyze graph` \
([#13486](https://github.com/astral-sh/ruff/pull/13486))
- \[`pylint`\] Implement `boolean-chained-comparison` (`R1716`) \
([#13435](https://github.com/astral-sh/ruff/pull/13435))
### Rule changes
- \[`lake8-simplify`\] Detect `SIM910` when using variadic keyword arguments, \
i.e., `**kwargs` ([#13503](https://github.com/astral-sh/ruff/pull/13503))
- \[`pyupgrade`\] Avoid false negatives with non-reference shadowed bindings of \
loop variables (`UP028`) \
([#13504](https://github.com/astral-sh/ruff/pull/13504))
### Bug fixes
- Detect tuples bound to variadic positional arguments i.e. `*args` \
([#13512](https://github.com/astral-sh/ruff/pull/13512))
- Exit gracefully on broken pipe errors \
([#13485](https://github.com/astral-sh/ruff/pull/13485))
- Avoid panic when analyze graph hits broken pipe \
([#13484](https://github.com/astral-sh/ruff/pull/13484))
### Performance
- Reuse `BTreeSets` in module resolver \
([#13440](https://github.com/astral-sh/ruff/pull/13440))
- Skip traversal for non-compound statements \
([#13441](https://github.com/astral-sh/ruff/pull/13441))
## 0.6.7
### Preview features
- Add Python version support to ruff analyze CLI \
([#13426](https://github.com/astral-sh/ruff/pull/13426))
- Add `exclude` support to `ruff analyze` \
([#13425](https://github.com/astral-sh/ruff/pull/13425))
- Fix parentheses around return type annotations \
([#13381](https://github.com/astral-sh/ruff/pull/13381))
### Rule changes
- \[`pycodestyle`\] Fix: Don't autofix if the first line ends in a question \
mark? (D400) ([#13399](https://github.com/astral-sh/ruff/pull/13399))
### Bug fixes
- Respect `lint.exclude` in ruff check `--add-noqa` \
([#13427](https://github.com/astral-sh/ruff/pull/13427))
### Performance
- Avoid tracking module resolver files in Salsa \
([#13437](https://github.com/astral-sh/ruff/pull/13437))
- Use `forget` for module resolver database \
([#13438](https://github.com/astral-sh/ruff/pull/13438))
## 0.6.6
### Preview features
- \[`refurb`\] Skip `slice-to-remove-prefix-or-suffix` (`FURB188`) when \
non-trivial slice steps are present \
([#13405](https://github.com/astral-sh/ruff/pull/13405))
- Add a subcommand to generate dependency graphs \
([#13402](https://github.com/astral-sh/ruff/pull/13402))
### Formatter
- Fix placement of inline parameter comments \
([#13379](https://github.com/astral-sh/ruff/pull/13379))
### Server
- Fix off-by one error in the `LineIndex::offset` calculation \
([#13407](https://github.com/astral-sh/ruff/pull/13407))
### Bug fixes
- \[`fastapi`\] Respect FastAPI aliases in route definitions \
([#13394](https://github.com/astral-sh/ruff/pull/13394))
- \[`pydocstyle`\] Respect word boundaries when detecting function signature in \
docs ([#13388](https://github.com/astral-sh/ruff/pull/13388))
### Documentation
- Add backlinks to rule overview linter \
([#13368](https://github.com/astral-sh/ruff/pull/13368))
- Fix documentation for editor vim plugin ALE \
([#13348](https://github.com/astral-sh/ruff/pull/13348))
- Fix rendering of `FURB188` docs \
([#13406](https://github.com/astral-sh/ruff/pull/13406))
|
2024-09-15 10:28:39 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-ruff: updated to 0.6.5
0.6.5
Preview features
[pydoclint] Ignore DOC201 when function name is "new"
[refurb] Implement slice-to-remove-prefix-or-suffix (FURB188)
Rule changes
[eradicate] Ignore script-comments with multiple end-tags (ERA001)
[pyflakes] Improve error message for UndefinedName when a builtin was added in a \
newer version than specified in Ruff config (F821)
Server
Add support for extensionless Python files for server
Fix configuration inheritance for configurations specified in the LSP settings
Bug fixes
[ruff] Handle unary operators in decimal-from-float-literal (RUF032)
CLI
Only include rules with diagnostics in SARIF metadata
Playground
Add "Copy as pyproject.toml/ruff.toml" and "Paste from TOML"
Fix errors not shown for restored snippet on page load
|
2024-09-13 11:53:36 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-ruff: update to 0.6.4.
0.6.4
Preview features
[flake8-builtins] Use dynamic builtins list based on Python version (#13172)
[pydoclint] Permit yielding None in DOC402 and DOC403 (#13148)
[pylint] Update diagnostic message for PLW3201 (#13194)
[ruff] Implement post-init-default (RUF033) (#13192)
[ruff] Implement useless if-else (RUF034) (#13218)
Rule changes
[flake8-pyi] Respect pep8_naming.classmethod-decorators settings when \
determining if a method is a classmethod in custom-type-var-return-type (PYI019) \
(#13162)
[flake8-pyi] Teach various rules that annotations might be stringized (#12951)
[pylint] Avoid no-self-use for attrs-style validators (#13166)
[pylint] Recurse into subscript subexpressions when searching for list/dict \
lookups (PLR1733, PLR1736) (#13186)
[pyupgrade] Detect aiofiles.open calls in UP015 (#13173)
[pyupgrade] Mark sys.version_info[0] < 3 and similar comparisons as \
outdated (UP036) (#13175)
CLI
Enrich messages of SARIF results (#13180)
Handle singular case for incompatible rules warning in ruff format output \
(#13212)
Bug fixes
[pydocstyle] Improve heuristics for detecting Google-style docstrings (#13142)
[refurb] Treat sep arguments with effects as unsafe removals (FURB105) (#13165)
0.6.3
Preview features
[flake8-simplify] Extend open-file-with-context-handler to work with \
dbm.sqlite3 (SIM115) (#13104)
[pycodestyle] Disable E741 in stub files (.pyi) (#13119)
[pydoclint] Avoid DOC201 on explicit returns in functions that only return \
None (#13064)
Rule changes
[flake8-async] Disable check for asyncio before Python 3.11 (ASYNC109) (#13023)
Bug fixes
[FastAPI] Avoid introducing invalid syntax in fix for \
fast-api-non-annotated-dependency (FAST002) (#13133)
[flake8-implicit-str-concat] Normalize octals before merging concatenated \
strings in single-line-implicit-string-concatenation (ISC001) (#13118)
[flake8-pytest-style] Improve help message for \
pytest-incorrect-mark-parentheses-style (PT023) (#13092)
[pylint] Avoid autofix for calls that aren't min or max as starred \
expression (PLW3301) (#13089)
[ruff] Add datetime.time, datetime.tzinfo, and datetime.timezone as \
immutable function calls (RUF009) (#13109)
[ruff] Extend comment deletion for RUF100 to include trailing text from noqa \
directives while preserving any following comments on the same line, if any \
(#13105)
Fix dark theme on initial page load for the Ruff playground (#13077)
|
2024-08-25 12:37:56 by Thomas Klausner | Files touched by this commit (4) | |
Log message:
py-ruff: update to 0.6.2.
Release Notes
Preview features
[flake8-simplify] Extend open-file-with-context-handler to work with other \
standard-library IO modules (SIM115) (#12959)
[ruff] Avoid unused-async for functions with FastAPI route decorator \
(RUF029) (#12938)
[ruff] Ignore fstring-missing-syntax (RUF027) for fastAPI paths (#12939)
[ruff] Implement check for Decimal called with a float literal (RUF032) (#12909)
Rule changes
[flake8-bugbear] Update diagnostic message when expression is at the end of \
function (B015) (#12944)
[flake8-pyi] Skip type annotations in string-or-bytes-too-long (PYI053) (#13002)
[flake8-type-checking] Always recognise relative imports as first-party (#12994)
[flake8-unused-arguments] Ignore unused arguments on stub functions (ARG001) \
(#12966)
[pylint] Ignore augmented assignment for self-cls-assignment (PLW0642) (#12957)
Server
Show full context in error log messages (#13029)
Bug fixes
[pep8-naming] Don't flag from imports following conventional import names \
(N817) (#12946)
[pylint] - Allow __new__ methods to have cls as their first argument even if \
decorated with @staticmethod for bad-staticmethod-argument (PLW0211) (#12958)
Documentation
Add hyperfine installation instructions; update hyperfine code samples (#13034)
Expand note to use Ruff with other language server in Kate (#12806)
Update example for PT001 as per the new default behavior (#13019)
[perflint] Improve docs for try-except-in-loop (PERF203) (#12947)
[pydocstyle] Add reference to lint.pydocstyle.ignore-decorators setting to \
rule docs (#12996)
|