1.6.0 (2017-08-03)
  - Process function scope variable annotations for used names
  - Find Python files without extensions by their shebang

1.5.0 (2017-01-09)
  - Enable support for PEP 526 annotated assignments

1.4.0 (2016-12-30):
  - Change formatting of ImportStarMessage to be consistent with other errors
  - Support PEP 498 "f-strings"

1.3.0 (2016-09-01):
  - Fix PyPy2 Windows IntegrationTests
  - Check for duplicate dictionary keys
  - Fix TestMain tests on Windows
  - Fix "continue" and "break" checks ignoring py3.5's "async for" loop

1.2.3 (2016-05-12):
  - Fix TypeError when processing relative imports

1.2.2 (2016-05-06):
  - Avoid traceback when exception is del-ed in except

1.2.1 (2015-05-05):
  - Fix false RedefinedWhileUnused for submodule imports

1.2.0 (2016-05-03):
  - Warn against reusing exception names after the except: block on Python 3
  - Improve the error messages for imports

1.1.0 (2016-03-01):
  - Allow main() to accept arguments.
  - Support @ matrix-multiplication operator
  - Validate __future__ imports
  - Fix doctest scope testing
  - Warn for tuple assertions which are always true
  - Warn for "import *" not at module level on Python 3
  - Catch many more kinds of SyntaxErrors
  - Check PEP 498 f-strings
  - (and a few more sundry bugfixes)

1.0.0 (2015-09-20):
  - Python 3.5 support. async/await statements in particular.
  - Fix test_api.py on Windows.
  - Eliminate a false UnusedImport warning when the name has been
    declared "global"

0.9.2 (2015-06-17):
  - Fix a traceback when a global is defined in one scope, and used in another.

0.9.1 (2015-06-09):
  - Update NEWS.txt to include 0.9.0, which had been forgotten.

0.9.0 (2015-05-31):
  - Exit gracefully, not with a traceback, on SIGINT and SIGPIPE.
  - Fix incorrect report of undefined name when using lambda expressions in
    generator expressions.
  - Don't crash on DOS line endings on Windows and Python 2.6.
  - Don't report an undefined name if the 'del' which caused a name to become
    undefined is only conditionally executed.
  - Properly handle differences in list comprehension scope in Python 3.
  - Improve handling of edge cases around 'global' defined variables.
  - Report an error for 'return' outside a function.

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.

0.5.0 (2011-09-02):
  - Convert pyflakes to use newer _ast infrastructure rather than compiler.
  - Support for new syntax in 2.7 (including set literals, set comprehensions,
    and dictionary comprehensions).
  - Make sure class names don't get bound until after class definition.

0.4.0 (2009-11-25):
  - Fix reporting for certain SyntaxErrors which lack line number
    information.
  - Check for syntax errors more rigorously.
  - Support checking names used with the class decorator syntax in versions
    of Python which have it.
  - Detect local variables which are bound but never used.
  - Handle permission errors when trying to read source files.
  - Handle problems with the encoding of source files.
  - Support importing dotted names so as not to incorrectly report them as
    redefined unused names.
  - Support all forms of the with statement.
  - Consider static `__all__` definitions and avoid reporting unused names
    if the names are listed there.
  - Fix incorrect checking of class names with respect to the names of their
    bases in the class statement.
  - Support the `__path__` global in `__init__.py`.

0.3.0 (2009-01-30):
  - Display more informative SyntaxError messages.
  - Don't hang flymake with unmatched triple quotes (only report a single
    line of source for a multiline syntax error).
  - Recognize __builtins__ as a defined name.
  - Improve pyflakes support for python versions 2.3-2.5
  - Support for if-else expressions and with statements.
  - Warn instead of error on non-existent file paths.
  - Check for __future__ imports after other statements.
  - Add reporting for some types of import shadowing.
  - Improve reporting of unbound locals
