------------------------------------------------------------------- Wed Oct 25 11:04:42 UTC 2023 - Ondřej Súkup - Update to 0.1.2 * This release includes the Beta version of the Ruff formatter — an extremely fast, Black-compatible Python formatter * Preview features * [pylint] Implement non-ascii-module-import (C2403) * [pylint] implement non-ascii-name (C2401) * [pylint] Implement unnecessary-lambda (W0108) * [refurb] Implement read-whole-file (FURB101) * Add fix for E223, E224, and E242 * Add fix for E225, E226, E227, and E228 * Add fix for E252 * Add fix for E261 * Add fix for E273 and E274 * Add fix for E275 * Update SIM401 to catch ternary operations * Update E721 to allow is and is not for direct type comparisons * Rule changes * Add backports.strenum to deprecated-imports * Update SIM112 to ignore https_proxy, http_proxy, and no_proxy * Update fix for literal-membership (PLR6201) to be unsafe * Update fix for mutable-argument-defaults (B006) to be unsafe * Formatter * Change line-ending default to auto * Respect parenthesized generators in has_own_parentheses * Add caching to formatter * Remove --line-length option from format command * Add formatter to line-length documentation * Warn about incompatible formatter options * Fix range of unparenthesized tuple subject in match statement * Remove experimental formatter warning * Don't move type param opening parenthesis comment * Update versions in format benchmark script * Avoid loading files for cached format results * CLI * Show the ruff format command in help menus * Add ruff version command with long version display * Configuration * New pycodestyle.max-line-length option * Bug fixes * Detect sys.version_info slices in outdated-version-block * Avoid if-else simplification for TYPE_CHECKING blocks * Avoid false-positive print separator diagnostic with starred argument * Documentation * Fix message for too-many-arguments lint * Fix extend-unsafe-fixes and extend-safe-fixes example * Add links to flake8-import-conventions options * Rework the documentation to incorporate the Ruff formatter * Fix Options JSON schema description * Fix typo (pytext -> pytest) * Improve magic-value-comparison example in docs ------------------------------------------------------------------- Fri Oct 20 10:09:22 UTC 2023 - Ondřej Súkup - update to 0.1.1 * Rule changes * Add unsafe fix for escape-sequence-in-docstring (D301) * Configuration * Respect #(deprecated) attribute in configuration options * Add [format|lint].exclude options * Respect tab-size setting in formatter * Add lint.preview * Preview features * [pylint] Implement literal-membership (PLR6201) * [pylint] Implement too-many-boolean-expressions (PLR0916) * [pylint] Implement misplaced-bare-raise (E0704) * [pylint] Implement global-at-module-level (W0604) * [pylint] Implement unspecified-encoding (PLW1514) * Add fix for triple-single-quotes (D300) * Formatter * New code style badge for ruff format * Fix comments outside expression parentheses * Add --target-version to ruff format * Skip over parentheses when detecting in keyword * Add --diff option to ruff format * Insert newline after nested function or class statements * Use pass over ellipsis in non-function/class contexts * Bug fixes * Lazily evaluate all PEP 695 type alias values * Avoid failed assertion when showing fixes from stdin * Avoid flagging HTTP and HTTPS literals in urllib-open * Avoid flagging bad-dunder-method-name for _ * Remove Python 2-only methods from URLOpen audit * Use set bracket replacement for iteration-over-set to preserve whitespace and comments * Documentation * Update tutorial to match revised Ruff defaults * Update rule B005 docs * Update GitHub actions example in docs to use --output-format * Document lint.preview and format.preview * Clarify that new rules should be added to RuleGroup::Preview. ------------------------------------------------------------------- Tue Oct 17 10:38:21 UTC 2023 - Ondřej Súkup - update to 0.1.0 * Breaking changes + Unsafe fixes are no longer displayed or applied without opt-in + Drop formatting specific rules from the default set + The deprecated format setting has been removed + The format setting cannot be used to configure the output format, use output-format instead + The RUFF_FORMAT environment variable is ignored, use RUFF_OUTPUT_FORMAT instead + The --format option has been removed from ruff check, use --output-format instead * Rule changes + Extend reimplemented-starmap (FURB140) to catch calls with a single and starred argument + Improve cases covered by RUF015 + Update SIM15 to allow open followed by close + Respect msgspec.Struct default-copy semantics in RUF012 + Add sqlalchemy methods to `flake8-boolean-trap`` exclusion list + Add fix for PLR1714 + Add fix for PIE804 + Add fix for PLC0208 + Add fix for PYI055 + Update non-pep695-type-alias to require --unsafe-fixes outside of stub files + Improve fix message for UP018 + Update PLW3201 to support Enum sunder names * Preview features + Only show warnings for empty preview selectors when enabling rules + Add unnecessary-key-check to simplify key in dct and dct[key] to dct.get(key) + Add assignment-in-assert to prevent walrus expressions in assert statements + [refurb] Add single-item-membership-test (FURB171) + [pylint] Add and-or-ternary (R1706) + New rules are added in preview. * Configuration + Add unsafe-fixes setting + Add extend-safe-fixes and extend-unsafe-fixes for promoting and demoting fixes * CLI + Added --unsafe-fixes option for opt-in to display and apply unsafe fixes + Fix use of deprecated --format option in warning + Show changed files when running under --check + Write summary messages to stderr when fixing via stdin instead of omitting them + Update fix summary message in check --diff to include unsafe fix hints + Add notebook cell field to JSON output format + Rename applicability levels to Safe, Unsafe, and Display * Bug fixes + Fix bug where f-strings were allowed in match pattern literal + Fix SIM110 with a yield in the condition + Preserve trailing comments in C414 fixes + Check sequence type before triggering unnecessary-enumerate len suggestion + Use correct start location for class/function clause header + Fix incorrect fixes for SIM101 + Format comment before parameter default correctly + Fix E251 false positive inside f-strings + Allow bindings to be created and referenced within annotations + Show per-cell diffs when analyzing notebooks over stdin + Avoid curly brace escape in f-string format spec + Fix lexing single-quoted f-string with multi-line format spec + Consider nursery rules to be in-preview for ruff rule + Report precise location for invalid conversion flag + Visit pattern match guard as a boolean test + Respect --unfixable in ISC rules + Fix edge case with PIE804 + Show custom message in PTH118 for Path.joinpath with starred arguments + Fix false negative in outdated-version-block when using greater than comparisons + Avoid converting f-strings within Django gettext calls + Fix false positive in PLR6301 + Treat type aliases as typing-only expressions e.g. resolves false positive in TCH004 + Resolve cache-dir relative to project root + Respect subscripted base classes in type-checking rules e.g. resolves false positive in TCH003 + Fix JSON schema limit for line-length + Fix commented-out coalesce keyword * Documentation + Document reimplemented-starmap performance effects + Default to following the system dark/light mode + Add documentation for fixes + Fix typo in docs of PLR6301 + Update UP038 docs to note that it results in slower code + crlf -> cr-lf + Add an example of an unsafe fix + Fix documented examples for unnecessary-subscript-reversal + Correct error in tuple example in ruff formatter docs + Add versioning policy to documentation + Fix invalid code in FURB177 example * Formatter + Less scary ruff format message + Remove spaces from import statements + Formatter quoting for f-strings with triple quotes + Update ruff_python_formatter generate.py comment + Document one-call chaining deviation + Allow f-string modifications in line-shrinking cases + Add trailing comment deviation to README + Add trailing zero between dot and exponential + Force parentheses for power operations in unary expressions * Playground + Fix playground Quick Fix action ------------------------------------------------------------------- Fri Oct 13 16:22:47 UTC 2023 - Ondřej Súkup - initial package