Versions follow Semantic Versioning (<major>.<minor>.<patch>)
- Python 3.10 is now the minimum supported version
- (Internal) Remove
attrsas a dependency
- #167 Add module-level support for the
--respect-type-ignoreflag
- #164 Add
--respect-type-ignoreto support suppression of errors for functions annotated withtype: ignore
- #155 Remove upper bound on Python constraint
- Add
ANN402for 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-anyto support suppression ofANN401for*argsand**kwargs.
- #131 Add the
ANN4xxerror level for opinionated warnings that are disabled by default. - #131 Add
ANN401for use oftyping.Anyas an argument annotation.
- Python 3.7 is now the minimum supported version
- #122 Add support for Flake8 v4.x
- #117 Stop including
CHANGELOG.mdwhen 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-decoratorsto support suppression of all errors from functions decorated by decorators such asfunctools.singledispatchandfunctools.singledispatchmethod. - #99 Add
--overload-decoratorsto support generic aliasing of thetyping.overloaddecorator.
- #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-nestedto 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
Functionargument 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.overloaddecorated functions.
- #87 Add
--mypy-init-returnto 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-defsto 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-argsconfiguration option to suppress ANN000 level errors for dummy arguments, defined as"_"
- (Internal) #71 Add
pep8-namingto 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
ArgumentandFunction__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
Nonereturning functions when they contained nested functions with non-Nonereturns (thanks @isidentical!) - #67 Fix methods of nested classes being improperly classified as "regular" functions (thanks @isidentical!)
- #64 Change prefix from
TYPtoANNin order to deconflict withflake8-typing-imports
- (Internal) Add test case for checking whether flake8 invokes our plugin
- #41 Add
--suppress-none-returningconfiguration option to suppressTYP200level errors for functions that either lack areturnstatement or only explicitly returnNone. - (Internal) Add
blackas an explicit developer requirement (codebase already adheres toblackformatting)
- (Internal) #61 Migrate from Pipenv to Poetry for developer environment setup
- (Internal) Add missing classifier test cases for POSONLYARGS
- Re-add the
treeargument to the checker so flake8 identifies the plugin as needing to run
- Request source from
flake8as lines of code rather than parsing it from the requested filename ourselves, allowing for proper parsing ofstdininputs - (Internal) Remove
flake8-string-formatfrom dev dependencies, asstr.format()isn't used anywhere
- #52 Fix error when invoking with
stdinsource code instead of a filename
- (Internal) Add
pipenv-setupas a dev dependency & CI check to ensure synchronization betweenPipfileandsetup.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_astis now required only for Python versions< 3.8 - (Internal) Update flake8 minimum version to
3.7.9for 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
TYP301classification 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
TYP301for presence of type comment & type annotation for same entity - (Internal) #36: Add
error_code.from_functionclass method to generate argument for an entire function - (Internal) #18: PyPI release via GitHub Action
- (Internal) #38: Improve
setup.pymetadata
- #32: Incorrect line number for return values in the presence of multiline docstrings
- #33: Improper handling of nested functions in class methods
- (Internal)
setup.pydev dependencies out of sync with Pipfile - (Internal) Incorrect order of arguments in
ArgumentandFunction__repr__methods
Initial release