- fix bug in overriders, which caused overriden message to be removed, even if it was in a different file
- update support for Python 3.13
- remove
no-self-use
from theenhancement
group - allow "command line" or "configuration file" in Pylint path
- fail gracefully when checked file not found
- add support for installing through
pipx
- remove false-positive undefined group log
- skip missing examples/explanations in
edulint explain
- update docs, document language translations
- added
edulint explain all
to get all available explanations - fix
use-for-loop
: missing check whether the variable is incremented towards the limit - separated
similar-block-to-loop
tosimilar-block-to-loop-range
andsimilar-block-to-loop-collection
- update support for Python 3.12
- resolve config files and language files relative to the parent config/checked file
- upgrade dependencies to newest versions (most notably Pylint to >= 3, backwards incompatible)
- for breaking changes in Pylint, see its documentation
- change CLI -- add check, explain and version subcommands
- to lint a file: edulint -> edulint check
- the no-duplicate-code checker has been renamed to old-no-duplicate-code and replaced by a new no-duplicate-code checker (old name -> new name)
- duplicate-if-branches -> identical-if-branches-part
- duplicate-seq-ifs -> identical-seq-ifs
- the short-problems checker has been renamed to local-issues
- the improper-loop checker has been renamed to unsuited-loop
- run Pylint through API instead of as a subprocess (tests now run in 20s with 10 workers instead of 60)
- added some checkers for duplicate code
- update unsuited-loop and no-global-variables to use the new data dependency analysis