Versions follow Semantic Versioning (<major>
.<minor>
.<patch>
)
- #167 Add module-level support for the
--respect-type-ignore
flag
- #164 Add
--respect-type-ignore
to support suppression of errors for functions annotated withtype: ignore
- #155 Remove upper bound on Python constraint
- Add
ANN402
for the presence of type comments
- Python 3.8.1 is now the minimum supported version
- Flake8 v5.0 is now the minimum supported version
- Remove support for PEP 484-style type comments
- Remove
ANN301
- #144 Unpin the version ceiling for
attrs
.
- (Internal) Fix unit tests for opinionated warning codes in
flake8 >= 5.0
(See: PyCQA/flake8#284)
- #135 Add
--allow-star-arg-any
to support suppression ofANN401
for*args
and**kwargs
.
- #131 Add the
ANN4xx
error level for opinionated warnings that are disabled by default. - #131 Add
ANN401
for use oftyping.Any
as an argument annotation.
- Python 3.7 is now the minimum supported version
- #122 Add support for Flake8 v4.x
- #117 Stop including
CHANGELOG.md
when building wheels.
- #107, #108 Change incorrect column index yielded for return annotation errors.
- Remove the explicitly pinned minor version ceiling for flake8.
- #98 Add
--dispatch-decorators
to support suppression of all errors from functions decorated by decorators such asfunctools.singledispatch
andfunctools.singledispatchmethod
. - #99 Add
--overload-decorators
to support generic aliasing of thetyping.overload
decorator.
- #106 Fix incorrect parsing of multiline docstrings with less than two lines of content, causing incorrect line numbers for yielded errors in Python versions prior to 3.8
- #103 Add
--allow-untyped-nested
to suppress all errors from dynamically typted nested functions. A function is considered dynamically typed if it does not contain any type hints.
- #100 Fix incorrect positioning of posonlyargs in the
Function
argument list, causing incorrect classification of the type of missing argument.
- #92 Fix inconsistent linting behavior between function-level type comments and their equivalent PEP 3107-style function annotations of class methods and classmethods.
- #94 Fix improper handling of the closing definition in a series of
typing.overload
decorated functions.
- #87 Add
--mypy-init-return
to allow omission of a return type hint for__init__
if at least one argument is annotated. See mypy's documentation for additional details.
- #89 Revert change to Python version pinning to prevent unnecessary locking headaches
- #87 Add
--allow-untyped-defs
to suppress all errors from dynamically typed functions. A function is considered dynamically typed if it does not contain any type hints.
- #77, #81 Fix incorrect return error locations in the presence of a multiline docstring containing colon(s)
- #81 Fix incorrect return error locations for single-line function definitions
- Fix incorrectly pinned project specifications
- #68 Add
--suppress-dummy-args
configuration option to suppress ANN000 level errors for dummy arguments, defined as"_"
- (Internal) #71 Add
pep8-naming
to linting toolchain - (Internal) Expand pre-commit hooks
- Add
black
- Add
check-merge-conflict
- Add
check-toml
- Add
check-yaml
- Add
end-of-file-fixer
- Add
mixed-line-ending
- Add
python-check-blanket-noqa
- Add
- (Internal) Add argument names to
Argument
andFunction
__repr__
methods to make the string more helpful to read
- #70 Fix incorrect column index for missing return annotations when other annotations are present on the same line of source
- #69 Fix misclassification of
None
returning functions when they contained nested functions with non-None
returns (thanks @isidentical!) - #67 Fix methods of nested classes being improperly classified as "regular" functions (thanks @isidentical!)
- #64 Change prefix from
TYP
toANN
in order to deconflict withflake8-typing-imports
- (Internal) Add test case for checking whether flake8 invokes our plugin
- #41 Add
--suppress-none-returning
configuration option to suppressTYP200
level errors for functions that either lack areturn
statement or only explicitly returnNone
. - (Internal) Add
black
as an explicit developer requirement (codebase already adheres toblack
formatting)
- (Internal) #61 Migrate from Pipenv to Poetry for developer environment setup
- (Internal) Add missing classifier test cases for POSONLYARGS
- Re-add the
tree
argument to the checker so flake8 identifies the plugin as needing to run
- Request source from
flake8
as lines of code rather than parsing it from the requested filename ourselves, allowing for proper parsing ofstdin
inputs - (Internal) Remove
flake8-string-format
from dev dependencies, asstr.format()
isn't used anywhere
- #52 Fix error when invoking with
stdin
source code instead of a filename
- (Internal) Add
pipenv-setup
as a dev dependency & CI check to ensure synchronization betweenPipfile
andsetup.py
- (Internal) Add tox configuration for local testing across Python versions
- (Internal) Add test for checking a single yield of TYP301 per function
- (Internal) Add coverage reporting to test suite
- (Internal) Add testing for positional only arguments
- (Internal)
typed_ast
is now required only for Python versions< 3.8
- (Internal) Update flake8 minimum version to
3.7.9
for Python 3.8 compatibility - (Internal) #50 Completely refactor test suite for maintainability
- (Internal) Fix mixed type hint tests not being run due to misnamed test class
- Fix
TYP301
classification issue where error is not yielded if the first argument is type annotated and the remaining arguments have type comments
- (Internal) #35: Issue templates
- #36: Support for PEP 484-style type comments
- #36: Add
TYP301
for presence of type comment & type annotation for same entity - (Internal) #36: Add
error_code.from_function
class method to generate argument for an entire function - (Internal) #18: PyPI release via GitHub Action
- (Internal) #38: Improve
setup.py
metadata
- #32: Incorrect line number for return values in the presence of multiline docstrings
- #33: Improper handling of nested functions in class methods
- (Internal)
setup.py
dev dependencies out of sync with Pipfile - (Internal) Incorrect order of arguments in
Argument
andFunction
__repr__
methods
Initial release