0.8.1 (2014-03-30):
- Detect the declared encoding in Python 3.
- Do not report redefinition of import in a local scope, if the
global name is used elsewhere in the module.
- Catch undefined variable in loop generator when it is also used as
loop variable.
- Report undefined name for `(a, b) = (1, 2)` but not for the general
unpacking `(a, b) = func()`.
- Correctly detect when an imported module is used in default arguments
of a method, when the method and the module use the same name.
- Distribute a universal wheel file.
0.8.0 (2014-03-22):
- Adapt for the AST in Python 3.4.
- Fix caret position on SyntaxError.
- Fix crash on Python 2.x with some doctest SyntaxError.
- Add tox.ini.
- The `PYFLAKES_NODOCTEST` environment variable has been replaced with the
`PYFLAKES_DOCTEST` environment variable (with the opposite meaning).
Doctest checking is now disabled by default; set the environment variable
to enable it.
- Correctly parse incremental `__all__ += [...]`.
- Catch return with arguments inside a generator (Python <= 3.2).
- Do not complain about `_` in doctests.
- Drop deprecated methods `pushFunctionScope` and `pushClassScope`.
0.7.3 (2013-07-02):
- Do not report undefined name for generator expression and dict or
set comprehension at class level.
- Deprecate `Checker.pushFunctionScope` and `Checker.pushClassScope`:
use `Checker.pushScope` instead.
- Remove dependency on Unittest2 for the tests.
0.7.2 (2013-04-24):
- Fix computation of `DoctestSyntaxError.lineno` and `col`.
- Add boolean attribute `Checker.withDoctest` to ignore doctests.
- If environment variable `PYFLAKES_NODOCTEST` is set, skip doctests.
- Environment variable `PYFLAKES_BUILTINS` accepts a comma-separated
list of additional built-in names.
0.7.1 (2013-04-23):
- File `bin/pyflakes` was missing in tarball generated with distribute.
- Fix reporting errors in non-ASCII filenames (Python 2.x).
0.7.0 (2013-04-17):
- Add --version and --help options.
- Support `python -m pyflakes` (Python 2.7 and Python 3.x).
- Add attribute `Message.col` to report column offset.
- Do not report redefinition of variable for a variable used in a list
comprehension in a conditional.
- Do not report redefinition of variable for generator expressions and
set or dict comprehensions.
- Do not report undefined name when the code is protected with a
`NameError` exception handler.
- Do not report redefinition of variable when unassigning a module imported
for its side-effect.
- Support special locals like `__tracebackhide__` for py.test.
- Support checking doctests.
- Fix issue with Turkish locale where `'i'.upper() == 'i'` in Python 2.
0.6.1 (2013-01-29):
- Fix detection of variables in augmented assignments.
0.6.0 (2013-01-29):
- Support Python 3 up to 3.3, based on the pyflakes3k project.
- Preserve compatibility with Python 2.5 and all recent versions of Python.
- Support custom reporters in addition to the default Reporter.
- Allow function redefinition for modern property construction via
property.setter/deleter.
- Fix spurious redefinition warnings in conditionals.
- Do not report undefined name in __all__ if import * is used.
- Add WindowsError as a known built-in name on all platforms.
- Support specifying additional built-ins in the `Checker` constructor.
- Don't issue Unused Variable warning when using locals() in current scope.
- Handle problems with the encoding of source files.
- Remove dependency on Twisted for the tests.
- Support `python setup.py test` and `python setup.py develop`.
- Create script using setuptools `entry_points` to support all platforms,
including Windows.
Pyflakes is similar to PyChecker in scope, but differs in that it does
not execute the modules to check them. This is both safer and faster,
although it does not perform as many checks. Unlike PyLint, Pyflakes
checks only for logical errors in programs; it does not perform any
checks on style