- Removed support for python3.10
- Added FTP148: Check for functions with too many positional parameters.
- Updated flake8-bugbear to 26.9.9
- FTP240 now ignores instance calls
- Fixed an issue causing FTP240 to not consider methods within classes
- FTP240 ignores now the usage of
unitest.mockattributes in- type aliases
- class definitions
typing.castcalls
- Fixed an issue causing FTP146 to be incorrectly reported for Python versions prior to 3.12
- Fixed an issue causing FTP145 to be incorrectly reported for Python versions prior to 3.12
- Added FTP144: Check for function names, parameter or variables to be named after a python soft keyword
- Added FTP146: Detect
warnings.warncalls usingstacklevel - Added FTP147: Mode argument of
os.chmodandos.fchmodmust use octal notation (e.g.0o755) if the constants of thestatmodule are not used. - Added FTP240: Detect usage of
unittest.mockattributes whenpytest-mockis installed. - FTP145: Flag simultaneous use of 'skip_file_prefixes' and 'stacklevel' in warnings.warn
- The plugin is now active by default when installed. This makes the configuration
enable-extension = FTobsolete
- Fixed FTP142: the recommendation was in the wrong way round. Instead of preferring
raise err,raiseshould be used
- Improved FTP143 to ignore
NotImplemented - Improved FTP143 to understand variables starting with an underscore
- Added FTP142: Detect bare
raisestatements inexceptblocks - Added FTP143: Check for raising a class instead of an instance (e.g.,
raise Exceptioninstead ofraise Exception()). - FTP140 which can find unnecessary UTF-8 encodings
- FTP141 which finds dataclasses where the
slotskeyword is not specified explicitly
- FTP139 which can find uses of
profileandcProfilewhich should be replaced withprofiling.tracingwithin python 3.15 onwards.
- FTP108 now ignores usages of
NoReturninCallablelikex = Callable[[int], NoReturn] - If a module is not listed in
--ftp-requirements-module-extra-mapping, FTP041 will now only allow install requirements instead of all requirements - Updated the release actions
- Support recursive optional requirements in FTP041
- Fixed an issue causing the plugin to fail with an internal error
- Dropped support for python 3.9
- FTP137 which can find mocks of
open - FTP045 will also find calls of
evalandexec - FTP121 will also find calls of
os.system - FTP138 which finds calls of trace functions like
sys.settrace
- FTP077 now verifies also
isinstancecalls - Corrected FTP019: its okay to call
OSErrorwith anerrnoconstant as long as a 2nd argument is present
- FTP316 which checks that a docstring starts with an uppercase letter or number
- FTO317 which checks if triple quotes are used
- FTP134 which finds
isinstancecalls with tuples - FTP135 which finds
issubclasscalls with tuples - FTP136 which finds
type(None)inisinstancecalls using union types
- FTP314 which finds functions where docstrings and the function body are separated by an empty line
- FTP315 which finds multi-line docstrings where the closing
"""is not on a separate line - FTP3* checks will now also consider docstrings of private functions, packages, modules and classes but only if the docstring exists, meaning that missing docstrings are not reported
- Fixed an issue causing FTP303 to be reported on overloaded functions
- Support dependency groups in FTP041
- if
ftp-auto-manage-optionsis true, the version given to flake8-typing-imports is adjusted if needed to a supported version - New checks targeting docstring within the range of
FTP300-FT399
- Support python 3.14
- Improve FTP097 to also consider
StrEnumandIntEnum - FTP133 which finds imports of compression modules without using the
compressionnamespace if python 3.14 onwards is used - FTP030 will report an import of
from __future__ import annotationsif python 3.14 onwards is used - FTP003 and FTP007 will now consider all usages of the functions not only calls
- Support async for loops for all checks working on for loops
- FTP019 which finds
OSErrorinstantiations witherrnoconstants - FTP132 which finds usage of
refunctions with strings within functions - Improve FTP131 to also consider loops and lambda statements
- Renamed
ftp-enforce-parens-in-return-single-element-tupletoftp-disallow-parens-in-return-single-element-tuple - Support type aliases in FTP077 and FTP104
- Support
typing.Unionin FTP077 and FTP104 - FTP130 which finds usage of
string.Template - FTP131 which finds
re.compilecalls in functions
- Initial version