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.
--select
and--ignore
can now both be specified and try to find the most specific rule from each. For example, if you do--select E --ignore E123
then we will report everything that starts withE
except forE123
. Previously, you would have had to do--ignore E123,F,W
which will also still work, but the former should be far more intuitive.- Add support for in-line
# noqa
comments 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
to the
add_option
that plugins use to register new options. - Update
--install-hook
to 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-name
so the output is properly formatted - The Git hook now uses
sys.executable
to 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.