3.0.0 – 2016-07-25¶
- Rewrite our documentation from scratch! (http://flake8.pycqa.org)
- Drop explicit support for Pythons 2.6, 3.2, and 3.3.
- Remove dependence on pep8/pycodestyle for file processing, plugin dispatching, and more. We now control all of this while keeping backwards compatibility.
--ignorecan now both be specified and try to find the most specific rule from each. For example, if you do
--select E --ignore E123then we will report everything that starts with
E123. Previously, you would have had to do
--ignore E123,F,Wwhich will also still work, but the former should be far more intuitive.
- Add support for in-line
# noqacomments to specify only the error codes to be ignored, e.g.,
# noqa: E123,W503
- Add entry-point for formatters as well as a base class that new formatters can inherit from. See the documentation for more details.
- Add detailed verbose output using the standard library logging module.
- Enhance our usage of optparse for plugin developers by adding new parameters
add_optionthat plugins use to register new options.
--install-hookto require the name of version control system hook you wish to install a Flake8.
- Stop checking sub-directories more than once via the setuptools command
- When passing a file on standard-in, allow the caller to specify
--stdin-display-nameso the output is properly formatted
- The Git hook now uses
sys.executableto format the shebang line. This allows Flake8 to install a hook script from a virtualenv that points to that virtualenv’s Flake8 as opposed to a global one (without the virtualenv being sourced).
- Print results in a deterministic and consistent ordering when used with multiprocessing
- When using
--count, the output is no longer written to stderr.
- AST plugins can either be functions or classes and all plugins can now register options so long as there are callable attributes named as we expect.