Skip to content

Version 1.9.1

Choose a tag to compare

@netromdk netromdk released this 15 Oct 16:21
· 3 commits to master since this release
072990a

1.9.1:

  • Fix PEP 798 false positives in comprehension unpacking detection (#375; fixes #374)

1.9.0:

  • Python 3.15 support and 160 new rules (#342)
    • 4 modules
    • 81 classes/functions/constants members etc.
    • 72 kwargs
    • 3 array typecodes
    • Detect unary + in match literal patterns
      match x:
        case +1:
          pass
    • Detect slice type subscription support
      x = slice[1:2:3]
    • Detect PEP 810 lazy imports and __lazy_modules__ special module attribute
      lazy import foo
      lazy from bar import foo
    • Detect PEP 798 unpacking in comprehension values
      [*x for x in range(10)]
      {*x for x in range(10)}
  • Proper detection of self-documenting and PEP 701 f-strings (#360; fixes #39 and #264)
    • New FStringDetector combining AST analysis with source code verification
    • Detect await expressions in f-strings (3.7)
    • Detect string literals reusing the outer f-string quote
    • Enabled by default but can be disabled with --no-feature
  • Fix kwarg detection for chained receivers, like Path.cwd().exists(follow_symlinks=True) (#344; @apoorvdarshan, #327)
  • Add missing rules related to the chained-receiver fix (#353)
  • Avoid false violations for the unversioned backport sentinel (#354; fixes #330)
  • Include tests in the source distribution (#365; fixes #347)
  • Add manual pages (#346; @kienanstewart, fixes #345)
  • Add more Python 3.14.1 rules (#321)
  • Assorted rule fixes and cleanups (net +12 rules for other versions)
    • Add missing rules across many versions (#342)
    • Remove kwargs that never existed or are positional-only, plus corrections to kwargs rules
    • Remove asyncio.Task._check_future, duplicate functools.partial_method, and dead zip codec aliases
    • Fix concurrent.futures.interpreter member rule paths, imaplib.IMAP4.Idler.burst path, and codecs.StreamRecoder error-index typo
    • Correct asyncio.Server member versions to 3.9 and unittest.doModuleCleanups to 3.11
    • Fix string keys in the CODECS_ENCODINGS table, configparser backport minimum to 3.2, and remove the faulthandler backport
  • Reliability fixes (#341)
    • Structured fingerprint dedup in output_text
    • Fix overly broad RuntimeError catch and missing multiprocessing pool cleanup
    • Strip individual lines in getstringlist, close file handles with with, and add missing builtin types