NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #488 most downloaded on PyPI
the modular source code checker: pep8 pyflakes and co
Last release 11 days ago
23 Sep 2026
Ships fairly regularly
a new release about every 5 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
16 years old
96 releases · first in 2010
One column per quarter.
Bug Missed an attribute rename during the v2.5.3 release.
Bug Missed an attribute rename during the v2.5.3 release.
Bug Actually parse output_file and enable_extensions from config files
Bug Actually parse output_file and enable_extensions from config files
Bug Parse output_file and enable_extensions from config files
Bug Parse output_file and enable_extensions from config files
Improvement Raise upper bound on mccabe plugin to allow for version 0.4.0
Bug Properly look for .flake8 in current working directory (458)
Bug Properly look for .flake8 in current working directory (458)
Bug Monkey-patch pep8.stdin_get_value to cache the actual value in stdin. This helps plugins relying on the function when run with multiprocessing. (460, 462)
Improvement Avoid deprecation warnings when loading extensions (102, 445)
Improvement Raise cap on PyFlakes for Python 3.5 support
Improvement Avoid deprecation warnings when loading extensions (102, 445)
Improvement Separate logic to enable "off-by-default" extensions (110)
Bug Properly parse options to setuptools Flake8 command (408)
Bug Fix exceptions when output on stdout is truncated before Flake8 finishes writing the output (112)
Bug Fix error on OS X where Flake8 can no longer acquire or create new semaphores (117)
Bug Do not raise a SystemError unless there were errors in the setuptools command. (82, 390)
Bug Do not raise a SystemError unless there were errors in the setuptools command. (82, 390)
Bug Do not verify dependencies of extensions loaded via entry-points.
Improvement Blacklist versions of pep8 we know are broken
Bug Print filenames when using multiprocessing and -q option. (74)
Bug Print filenames when using multiprocessing and -q option. (74)
Bug Put upper cap on dependencies. The caps for 2.4.0 are:
pep8 < 1.6 (Related to 78)
mccabe < 0.4
pyflakes < 0.9
See also 75
Bug Files excluded in a config file were not being excluded when flake8 was run from a git hook. (2)
Improvement Print warnings for users who are providing mutually exclusive options to flake8. (51, 386)
Feature Allow git hook configuration to live in .git/config. See the updated VCS hooks docs for more details. (387)
Feature: Add --output-file option to specify a file to write to instead of stdout.
Feature: Add --output-file option to specify a file to write to instead of stdout.
Bug Fix interleaving of output while using multiprocessing (60)
Flush standard out when using multiprocessing
Flush standard out when using multiprocessing
Make the check for "# flake8: noqa" more strict
Fix bugs triggered by turning multiprocessing on by default (again)
Fix bugs triggered by turning multiprocessing on by default (again)
Multiprocessing is forcibly disabled in the following cases:
Passing something in via stdin
Analyzing a diff
Using windows
Fix --install-hook when there are no config files present for pep8 or flake8.
Fix how the setuptools command parses excludes in config files
Fix how the git hook determines which files to analyze (Thanks Chris Buccella!)
Actually turn multiprocessing on by default
Actually turn multiprocessing on by default
Re-enable multiprocessing by default while fixing the issue Windows users were seeing.
Re-enable multiprocessing by default while fixing the issue Windows users were seeing.
Turn off multiple jobs by default. To enable automatic use of all CPUs, use --jobs=auto. Fixes #155 and #154.
Turn off multiple jobs by default. To enable automatic use of all CPUs, use --jobs=auto. Fixes #155 and #154.
New option doctests to run Pyflakes checks on doctests too
New option doctests to run Pyflakes checks on doctests too
New option jobs to launch multiple jobs in parallel
Turn on using multiple jobs by default using the CPU count
Add support for python -m flake8 on Python 2.7 and Python 3
Fix Git and Mercurial hooks: issues #88, #133, #148 and #149
Fix crashes with Python 3.4 by upgrading dependencies
Fix traceback when running tests with Python 2.6
Fix the setuptools command python setup.py flake8 to read the project configuration
Add FLAKE8_LAZY and FLAKE8_IGNORE environment variable support to git and mercurial hooks
Add FLAKE8_LAZY and FLAKE8_IGNORE environment variable support to git and mercurial hooks
Force git and mercurial hooks to repsect configuration in setup.cfg
Only check staged files if that is specified
Fix hook file permissions
Fix the git hook on python 3
Ignore non-python files when running the git hook
Ignore .tox directories by default
Flake8 now reports the column number for PyFlakes messages
Nothing published for this version
Fixes part of #35: Exception for no WITHITEM being an attribute of Checker for Python 3.3
Fixes part of #35: Exception for no WITHITEM being an attribute of Checker for Python 3.3
Support stdin
Incorporate @phd's builtins pull request
Fix the git hook
Update pep8.py to the latest version
fixed the NameError: global name 'message' is not defined
fixed the NameError: global name 'message' is not defined (#46)
fixed the mercurial hook, a change from a previous patch was not properly applied
fixed the mercurial hook, a change from a previous patch was not properly applied
fixed an assumption about warnings/error messages that caused an exception to be thrown when McCabe is used
Nothing published for this version
Nothing published for this version
Nothing published for this version
1.3.1 - 2012-05-19 ------------------ - fixed support for Python 2.5
fixed support for Python 2.5
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →