-
-
Notifications
You must be signed in to change notification settings - Fork 308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correctly handle exclude patterns in git_hook (now with unit tests) #2
Conversation
Hey @mpenkov ! Thanks for the tests! It seems like they aren't working exactly like you intended. If you look at the pull request you can see that Travis CI ran the tests and they failed. I wonder if you can write a test (without the Also, for what it is worth, you don't need to keep opening new pull requests. If you look at #1 you'll see that it has your new commit d39fd7d there too. So just keep pushing to master and the new code will just appear here without having to close old PRs and open new ones. Thanks, |
Hi Ian, Yes, you're right. It's behaving completely the opposite of what I intended - it's actually breaking the hook. I'm not sure why this happens - perhaps a difference in the environment (I'm on a Mac) is contributing to the cause. Both tests are passing on my side. Is there a way I can run this in the same environment as Travis CI without pushing commits? The old behavior, as I'm observing on my machine, is as follows. Assume we have a project with two files: |
@mpenkov ✨ 🍰 ✨ Thank you! Please feel free to send another Pull Request to add yourself to CONTRIBUTORS.txt |
25: Initial Update r=duckinator a=pyup-bot This PR sets up pyup.io on this repo and updates all dependencies at once, in a single branch. Subsequent pull requests will update one dependency at a time, each in their own branch. If you want to start with that right away, simply close this PR. ### Update [twine](https://pypi.org/project/twine) from **1.13** to **1.15.0**. <details> <summary>Changelog</summary> ### 1.15.0 ``` * :feature:`488` Improved output on ``check`` command: Prints a message when there are no distributions given to check. Improved handling of errors in a distribution's markup, avoiding messages flowing through to the next distribution's errors. ``` ### 1.14.0 ``` * :feature:`456` Better error handling and gpg2 fallback if gpg not available. * :bug:`341` Fail more gracefully when encountering bad metadata * :feature:`459` Show Warehouse URL after uploading a package * :feature:`310` Now provide a more meaningful error on redirect during upload. ``` ### 1.13.0 ``` * :bug:`452 major` Restore prompts while retaining support for suppressing prompts. * :bug:`447 major` Avoid requests-toolbelt to 0.9.0 to prevent attempting to use openssl when it isn't available. * :feature:`427` Add disable_progress_bar option to disable tqdm. * :feature:`426` Allow defining an empty username and password in .pypirc. * :bug:`441 major` Only install pyblake2 if needed. * :bug:`444 major` Use io.StringIO instead of StringIO. * :bug:`436 major` Use modern Python language features. * :support:`439` Refactor tox env and travis config. * :bug:`435 major` Specify python_requires in setup.py * :bug:`432 major` Use https URLs everywhere. * :bug:`428 major` Fix --skip-existing for Nexus Repos. * :feature:`419` Support keyring.get_credential. * :feature:`418` Support keyring.get_username_and_password. * :bug:`421 major` Remove unnecessary usage of readme_render.markdown. * :feature:`416` Add Python 3.7 to classifiers. * :bug:`412 major` Don't crash if there's no package description. * :bug:`408 major` Fix keyring support. ``` ### 1.12.1 ``` * :bug:`404` Fix regression with upload exit code ``` ### 1.12.0 ``` * :feature:`395 major` Add ``twine check`` command to check long description * :feature:`392 major` Drop support for Python 3.3 * :feature:`363` Empower ``--skip-existing`` for Artifactory repositories * :bug:`367 major` Avoid MD5 when Python is compiled in FIPS mode ``` ### 1.11.0 ``` * :bug:`269 major` Avoid uploading to PyPI when given alternate repository URL, and require ``http://`` or ``https://`` in ``repository_url``. * :support:`277` Add instructions on how to use keyring. * :support:`314` Add new maintainer, release checklists. * :bug:`322 major` Raise exception if attempting upload to deprecated legacy PyPI URLs. * :feature:`320` Remove PyPI as default ``register`` package index. * :feature:`319` Support Metadata 2.1 (:pep:`566`), including Markdown for ``description`` fields. * :support:`318` `Update PyPI URLs <https://packaging.python.org/guides/migrating-to-pypi-org/>`_. ``` ### 1.10.0 ``` * :bug:`315 major` Degrade gracefully when keyring is unavailable * :feature:`304` Reorganize & improve user & developer documentation. * :feature:`46` Link to changelog from ``README`` * :feature:`295` Add doc building instructions * :feature:`296` Add architecture overview to docs * :feature:`303` Revise docs predicting future of ``twine`` * :bug:`298 major` Fix syntax highlighting in ``README`` * :bug:`299 major` Fix changelog formatting * :bug:`200 major` Remove obsolete registration guidance * :bug:`286 major` Fix Travis CI and test configuration * :feature:`257` Declare support for Python 3.6 * :bug:`297 major` Fix Read the Docs, tox, Travis configuration * :bug:`268 major` Print progress to ``stdout``, not ``stderr`` * :bug:`265 major` Fix ``--repository[-url]`` help text * :feature:`256` Improve progressbar ``` ### 1.9.1 ``` * :bug:`-` Blacklist known bad versions of Requests. See also :bug:`253` ``` ### 1.9.0 ``` * :support:`-` Twine will now resolve passwords using the `keyring <https://pypi.org/project/keyring/>`_ if available. Module can be required with the ``keyring`` extra. * :support:`-` Twine will use ``hashlib.blake2b`` on Python 3.6+ instead of using pyblake2 for Blake2 hashes 256 bit hashes. * :support:`-` Twine sends less information about the user's system in the User-Agent string. See also :bug:`229` * :support:`-` Fix ``--skip-existing`` when used to upload a package for the first time. See also :bug:`220` * :support:`-` Fix precedence of ``--repository-url`` over ``--repository``. See also :bug:`206` ``` ### 1.8.1 ``` * :support:`-` Check if a package exists if the URL is one of: * ``https://pypi.python.org/pypi/`` * ``https://upload.pypi.org/`` * ``https://upload.pypi.io/`` This helps people with ``https://upload.pypi.io`` still in their :file:`.pypirc` file. ``` ### 1.8.0 ``` * :feature:`201` Switch from upload.pypi.io to upload.pypi.org. * :feature:`144` Retrieve configuration from the environment as a default. * Repository URL will default to ``TWINE_REPOSITORY`` * Username will default to ``TWINE_USERNAME`` * Password will default to ``TWINE_PASSWORD`` * :feature:`166` Allow the Repository URL to be provided on the command-line (``--repository-url``) or via an environment variable (``TWINE_REPOSITORY_URL``). * :support:`-` Generate SHA256 digest for all packages by default. * :feature:`171` Generate Blake2b 256 digests for packages *if* ``pyblake2`` is installed. Users can use ``python -m pip install twine[with-blake2]`` to have ``pyblake2`` installed with Twine. * :support:`-` Stop testing on Python 2.6. 2.6 support will be "best effort" until 2.0.0 * :support:`-` Warn users if they receive a 500 error when uploading to ``*pypi.python.org`` ``` ### 1.7.4 ``` * :bug:`-` Correct a packaging error. ``` ### 1.7.3 ``` * :bug:`195` Fix uploads to instances of pypiserver using ``--skip-existing``. We were not properly checking the return status code on the response after attempting an upload. * :support:`-` Do not generate traffic to Legacy PyPI unless we're uploading to it or uploading to Warehouse (e.g., pypi.io). This avoids the attempt to upload a package to the index if we can find it on Legacy PyPI already. ``` ### 1.7.2 ``` * :bug:`189`, :bug:`191` Fix issue where we were checking the existence of packages even if the user didn't specify ``--skip-existing``. ``` ### 1.7.1 ``` * :bug:`187` Clint was not specified in the wheel metadata as a dependency. ``` ### 1.7.0 ``` * :feature:`142` Support ``--cert`` and ``--client-cert`` command-line flags and config file options for feature parity with pip. This allows users to verify connections to servers other than PyPI (e.g., local package repositories) with different certificates. * :feature:`152` Add progress bar to uploads. * :feature:`162` Allow ``--skip-existing`` to work for 409 status codes. * :feature:`167` Implement retries when the CDN in front of PyPI gives us a 5xx error. * :feature:`177` Switch Twine to upload to pypi.io instead of pypi.python.org. * :bug:`186 major` Allow passwords to have ``%``\ s in them. ``` ### 1.6.5 ``` * :bug:`155` Bump requests-toolbelt version to ensure we avoid ConnectionErrors ``` ### 1.6.4 ``` * :bug:`145` Paths with hyphens in them break the Wheel regular expression. * :bug:`146` Exception while accessing the ``repository`` key (sic) when raising a redirect exception. ``` ### 1.6.3 ``` * :bug:`137`, :bug:`140` Uploading signatures was broken due to the pull request that added large file support via ``requests-toolbelt``. This caused a 500 error on PyPI and prevented package and signature upload in twine 1.6.0 ``` ### 1.6.2 ``` * :bug:`132` Upload signatures with packages appropriately As part of the refactor for the 1.6.0 release, we were using the wrong name to find the signature file. This also uncovered a bug where if you're using twine in a situation where ``*`` is not expanded by your shell, we might also miss uploading signatures to PyPI. Both were fixed as part of this. ``` ### 1.6.1 ``` * :bug:`130` Fix signing support for uploads ``` ### 1.6.0 ``` * :feature:`106` Upload wheels first to PyPI * :feature:`104` Large file support via the ``requests-toolbelt`` * :bug:`92 major` Raise an exception on redirects * :feature:`97` Allow the user to specify the location of their :file:`.pypirc` * :feature:`115` Add the ``--skip-existing`` flag to ``twine upload`` to allow users to skip releases that already exist on PyPI. * :bug:`114 major` Warnings triggered by pkginfo searching for ``PKG-INFO`` files should no longer be user visible. * :bug:`116 major` Work around problems with Windows when using ``getpass.getpass`` * :bug:`111 major` Provide more helpful messages if :file:`.pypirc` is out of date. * :feature:`8` Support registering new packages with ``twine register`` ``` ### 1.5.0 ``` * :bug:`85 major` Display information about the version of setuptools installed * :bug:`61 major` Support deprecated pypirc file format * :feature:`29` Support commands not named "gpg" for signing * :support:`-` Add lower-limit to requests dependency ``` ### 1.4.0 ``` * :bug:`28 major` Prevent ResourceWarning from being shown * :bug:`34 major` List registered commands in help text * :bug:`32 major` Use ``pkg_resources`` to load registered commands * :bug:`47 major` Fix issue uploading packages with ``_``\ s in the name * :bug:`26 major` Add support for uploading Windows installers * :bug:`65 major` Expand globs and check for existence of dists to upload * :feature:`13` Parse :file:`~/.pypirc` ourselves and use ``subprocess`` instead of the ``distutils.spawn`` module. * :feature:`6` Switch to a git style dispatching for the commands to enable simpler commands and programmatic invocation. ``` ### 1.3.0 ``` * :feature:`-` Additional functionality. ``` ### 1.2.2 ``` * :feature:`0` Basic functionality. ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/twine - Changelog: https://pyup.io/changelogs/twine/ - Docs: https://twine.readthedocs.io/ </details> ### Update [wheel](https://pypi.org/project/wheel) from **0.33.6** to **0.33.6**. <details> <summary>Changelog</summary> ### 0.33.6 ``` - Fixed regression from 0.33.5 that broke building binary wheels against the limited ABI - Fixed egg2wheel compatibility with the future release of Python 3.10 (PR by Anthony Sottile) ``` ### 0.33.5 ``` - Don't add the ``m`` ABI flag to wheel names on Python 3.8 (PR by rdb) - Updated ``MANIFEST.in`` to include many previously omitted files in the sdist ``` ### 0.33.4 ``` - Reverted PR 289 (adding directory entries to the wheel file) due to incompatibility with ``distlib.wheel`` ``` ### 0.33.3 ``` - Fixed wheel build failures on some systems due to all attributes being preserved (PR by Matt Wozniski) ``` ### 0.33.2 ``` - Fixed empty directories missing from the wheel (PR by Jason R. Coombs) ``` ### 0.33.1 ``` - Fixed the ``--build-number`` option for ``wheel pack`` not being applied ``` ### 0.33.0 ``` - Added the ``--build-number`` option to the ``wheel pack`` command - Fixed bad shebangs sneaking into wheels - Fixed documentation issue with ``wheel pack`` erroneously being called ``wheel repack`` - Fixed filenames with "bad" characters (like commas) not being quoted in ``RECORD`` (PR by Paul Moore) - Sort requirements extras to ensure deterministic builds (PR by PoncinMatthieu) - Forced ``inplace = False`` when building a C extension for the wheel ``` ### 0.32.3 ``` - Fixed compatibility with Python 2.7.0 – 2.7.3 - Fixed handling of direct URL requirements with markers (PR by Benoit Pierre) ``` ### 0.32.2 ``` - Fixed build number appearing in the ``.dist-info`` directory name - Made wheel file name parsing more permissive - Fixed wrong Python tag in wheels converted from eggs (PR by John T. Wodder II) ``` ### 0.32.1 ``` - Fixed ``AttributeError: 'Requirement' object has no attribute 'url'`` on setuptools/pkg_resources versions older than 18.8 (PR by Benoit Pierre) - Fixed ``AttributeError: 'module' object has no attribute 'algorithms_available'`` on Python < 2.7.9 (PR by Benoit Pierre) - Fixed permissions on the generated ``.dist-info/RECORD`` file ``` ### 0.32.0 ``` - Removed wheel signing and verifying features - Removed the "wheel install" and "wheel installscripts" commands - Added the ``wheel pack`` command - Allowed multiple license files to be specified using the ``license_files`` option - Deprecated the ``license_file`` option - Eliminated duplicate lines from generated requirements in ``.dist-info/METADATA`` (thanks to Wim Glenn for the contribution) - Fixed handling of direct URL specifiers in requirements (PR by Benoit Pierre) - Fixed canonicalization of extras (PR by Benoit Pierre) - Warn when the deprecated ``[wheel]`` section is used in ``setup.cfg`` (PR by Jon Dufresne) ``` ### 0.31.1 ``` - Fixed arch as ``None`` when converting eggs to wheels ``` ### 0.31.0 ``` - Fixed displaying of errors on Python 3 - Fixed single digit versions in wheel files not being properly recognized - Fixed wrong character encodings being used (instead of UTF-8) to read and write ``RECORD`` (this sometimes crashed bdist_wheel too) - Enabled Zip64 support in wheels by default - Metadata-Version is now 2.1 - Dropped DESCRIPTION.rst and metadata.json from the list of generated files - Dropped support for the non-standard, undocumented ``provides-extra`` and ``requires-dist`` keywords in setup.cfg metadata - Deprecated all wheel signing and signature verification commands - Removed the (already defunct) ``tool`` extras from setup.py ``` ### 0.30.0 ``` - Added py-limited-api {cp32|cp33|cp34|...} flag to produce cpNN.abi3.{arch} tags on CPython 3. - Documented the ``license_file`` metadata key - Improved Python, abi tagging for ``wheel convert``. Thanks Ales Erjavec. - Fixed ``>`` being prepended to lines starting with "From" in the long description - Added support for specifying a build number (as per PEP 427). Thanks Ian Cordasco. - Made the order of files in generated ZIP files deterministic. Thanks Matthias Bach. - Made the order of requirements in metadata deterministic. Thanks Chris Lamb. - Fixed ``wheel install`` clobbering existing files - Improved the error message when trying to verify an unsigned wheel file - Removed support for Python 2.6, 3.2 and 3.3. ``` ### 0.29.0 ``` - Fix compression type of files in archive (Issue 155, Pull Request 62, thanks Xavier Fernandez) ``` ### 0.28.0 ``` - Fix file modes in archive (Issue 154) ``` ### 0.27.0 ``` - Support forcing a platform tag using ``--plat-name`` on pure-Python wheels, as well as nonstandard platform tags on non-pure wheels (Pull Request 60, Issue 144, thanks Andrés Díaz) - Add SOABI tags to platform-specific wheels built for Python 2.X (Pull Request 55, Issue 63, Issue 101) - Support reproducible wheel files, wheels that can be rebuilt and will hash to the same values as previous builds (Pull Request 52, Issue 143, thanks Barry Warsaw) - Support for changes in keyring >= 8.0 (Pull Request 61, thanks Jason R. Coombs) - Use the file context manager when checking if dependency_links.txt is empty, fixes problems building wheels under PyPy on Windows (Issue 150, thanks Cosimo Lupo) - Don't attempt to (recursively) create a build directory ending with ``..`` (invalid on all platforms, but code was only executed on Windows) (Issue 91) - Added the PyPA Code of Conduct (Pull Request 56) ``` ### 0.26.0 ``` - Fix multiple entrypoint comparison failure on Python 3 (Issue 148) ``` ### 0.25.0 ``` - Add Python 3.5 to tox configuration - Deterministic (sorted) metadata - Fix tagging for Python 3.5 compatibility - Support py2-none-'arch' and py3-none-'arch' tags - Treat data-only wheels as pure - Write to temporary file and rename when using wheel install --force ``` ### 0.24.0 ``` - The python tag used for pure-python packages is now .pyN (major version only). This change actually occurred in 0.23.0 when the --python-tag option was added, but was not explicitly mentioned in the changelog then. - wininst2wheel and egg2wheel removed. Use "wheel convert [archive]" instead. - Wheel now supports setuptools style conditional requirements via the extras_require={} syntax. Separate 'extra' names from conditions using the : character. Wheel's own setup.py does this. (The empty-string extra is the same as install_requires.) These conditional requirements should work the same whether the package is installed by wheel or by setup.py. ``` ### 0.23.0 ``` - Compatibility tag flags added to the bdist_wheel command - sdist should include files necessary for tests - 'wheel convert' can now also convert unpacked eggs to wheel - Rename pydist.json to metadata.json to avoid stepping on the PEP - The --skip-scripts option has been removed, and not generating scripts is now the default. The option was a temporary approach until installers could generate scripts themselves. That is now the case with pip 1.5 and later. Note that using pip 1.4 to install a wheel without scripts will leave the installation without entry-point wrappers. The "wheel install-scripts" command can be used to generate the scripts in such cases. - Thank you contributors ``` ### 0.22.0 ``` - Include entry_points.txt, scripts a.k.a. commands, in experimental pydist.json - Improved test_requires parsing - Python 2.6 fixes, "wheel version" command courtesy pombredanne ``` ### 0.21.0 ``` - Pregenerated scripts are the default again. - "setup.py bdist_wheel --skip-scripts" turns them off. - setuptools is no longer a listed requirement for the 'wheel' package. It is of course still required in order for bdist_wheel to work. - "python -m wheel" avoids importing pkg_resources until it's necessary. ``` ### 0.20.0 ``` - No longer include console_scripts in wheels. Ordinary scripts (shell files, standalone Python files) are included as usual. - Include new command "python -m wheel install-scripts [distribution [distribution ...]]" to install the console_scripts (setuptools-style scripts using pkg_resources) for a distribution. ``` ### 0.19.0 ``` - pymeta.json becomes pydist.json ``` ### 0.18.0 ``` - Python 3 Unicode improvements ``` ### 0.17.0 ``` - Support latest PEP-426 "pymeta.json" (json-format metadata) ``` ### 0.16.0 ``` - Python 2.6 compatibility bugfix (thanks John McFarlane) - Bugfix for C-extension tags for CPython 3.3 (using SOABI) - Bugfix for bdist_wininst converter "wheel convert" - Bugfix for dists where "is pure" is None instead of True or False - Python 3 fix for moving Unicode Description to metadata body - Include rudimentary API documentation in Sphinx (thanks Kevin Horn) ``` ### 0.15.0 ``` - Various improvements ``` ### 0.14.0 ``` - Changed the signature format to better comply with the current JWS spec. Breaks all existing signatures. - Include ``wheel unsign`` command to remove RECORD.jws from an archive. - Put the description in the newly allowed payload section of PKG-INFO (METADATA) files. ``` ### 0.13.0 ``` - Use distutils instead of sysconfig to get installation paths; can install headers. - Improve WheelFile() sort. - Allow bootstrap installs without any pkg_resources. ``` ### 0.12.0 ``` - Unit test for wheel.tool.install ``` ### 0.11.0 ``` - API cleanup ``` ### 0.10.3 ``` - Scripts fixer fix ``` ### 0.10.2 ``` - Fix keygen ``` ### 0.10.1 ``` - Preserve attributes on install. ``` ### 0.10.0 ``` - Include a copy of pkg_resources. Wheel can now install into a virtualenv that does not have distribute (though most packages still require pkg_resources to actually work; wheel install distribute) - Define a new setup.cfg section [wheel]. universal=1 will apply the py2.py3-none-any tag for pure python wheels. ``` ### 0.9.7 ``` - Only import dirspec when needed. dirspec is only needed to find the configuration for keygen/signing operations. ``` ### 0.9.6 ``` - requires-dist from setup.cfg overwrites any requirements from setup.py Care must be taken that the requirements are the same in both cases, or just always install from wheel. - drop dirspec requirement on win32 - improved command line utility, adds 'wheel convert [egg or wininst]' to convert legacy binary formats to wheel ``` ### 0.9.5 ``` - Wheel's own wheel file can be executed by Python, and can install itself: ``python wheel-0.9.5-py27-none-any/wheel install ...`` - Use argparse; basic ``wheel install`` command should run with only stdlib dependencies. - Allow requires_dist in setup.cfg's [metadata] section. In addition to dependencies in setup.py, but will only be interpreted when installing from wheel, not from sdist. Can be qualified with environment markers. ``` ### 0.9.4 ``` - Fix wheel.signatures in sdist ``` ### 0.9.3 ``` - Integrated digital signatures support without C extensions. - Integrated "wheel install" command (single package, no dependency resolution) including compatibility check. - Support Python 3.3 - Use Metadata 1.3 (PEP 426) ``` ### 0.9.2 ``` - Automatic signing if WHEEL_TOOL points to the wheel binary - Even more Python 3 fixes ``` ### 0.9.1 ``` - 'wheel sign' uses the keys generated by 'wheel keygen' (instead of generating a new key at random each time) - Python 2/3 encoding/decoding fixes - Run tests on Python 2.6 (without signature verification) ``` ### 0.9 ``` - Updated digital signatures scheme - Python 3 support for digital signatures - Always verify RECORD hashes on extract - "wheel" command line tool to sign, verify, unpack wheel files ``` ### 0.8 ``` - none/any draft pep tags update - improved wininst2wheel script - doc changes and other improvements ``` ### 0.7 ``` - sort .dist-info at end of wheel archive - Windows & Python 3 fixes from Paul Moore - pep8 - scripts to convert wininst & egg to wheel ``` ### 0.6 ``` - require distribute >= 0.6.28 - stop using verlib ``` ### 0.5 ``` - working pretty well ``` ### 0.4.2 ``` - hyphenated name fix ``` ### 0.4 ``` - improve test coverage - improve Windows compatibility - include tox.ini courtesy of Marc Abramowitz - draft hmac sha-256 signing function ``` ### 0.3 ``` - prototype egg2wheel conversion script ``` ### 0.2 ``` - Python 3 compatibility ``` ### 0.1 ``` - Initial version ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/wheel - Changelog: https://pyup.io/changelogs/wheel/ - Repo: https://github.com/pypa/wheel </details> ### Update [flake8](https://pypi.org/project/flake8) from **3.5** to **3.7.8**. <details> <summary>Changelog</summary> ### 3.7.8 ``` ------------------- You can view the `3.7.8 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix handling of ``Application.parse_preliminary_options_and_args`` when argv is an empty list (See also `GitLab!310`_, `GitLab518`_) - Fix crash when a file parses but fails to tokenize (See also `GitLab!314`_, `GitLab532`_) - Log the full traceback on plugin exceptions (See also `GitLab!317`_) - Fix `` noqa: ...`` comments with multi-letter codes (See also `GitLab!326`_, `GitLab549`_) .. all links .. _3.7.8 milestone: https://gitlab.com/pycqa/flake8/milestones/31 .. issue links .. _GitLab518: https://gitlab.com/pycqa/flake8/issues/518 .. _GitLab532: https://gitlab.com/pycqa/flake8/issues/532 .. _GitLab549: https://gitlab.com/pycqa/flake8/issues/549 .. merge request links .. _GitLab!310: https://gitlab.com/pycqa/flake8/merge_requests/310 .. _GitLab!314: https://gitlab.com/pycqa/flake8/merge_requests/314 .. _GitLab!317: https://gitlab.com/pycqa/flake8/merge_requests/317 .. _GitLab!326: https://gitlab.com/pycqa/flake8/merge_requests/326 ``` ### 3.7.7 ``` ------------------- You can view the `3.7.7 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix crahes in plugins causing ``flake8`` to hang while unpickling errors (See also `GitLab!308`_, `GitLab505`_) .. all links .. _3.7.7 milestone: https://gitlab.com/pycqa/flake8/milestones/30 .. issue links .. _GitLab505: https://gitlab.com/pycqa/flake8/issues/505 .. merge request links .. _GitLab!308: https://gitlab.com/pycqa/flake8/merge_requests/308 ``` ### 3.7.6 ``` ------------------- You can view the `3.7.6 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix ``--per-file-ignores`` for multi-letter error codes (See also `GitLab!303`_, `GitLab507`_) - Improve flake8 speed when only 1 filename is passed (See also `GitLab!305`_) .. all links .. _3.7.6 milestone: https://gitlab.com/pycqa/flake8/milestones/29 .. issue links .. _GitLab507: https://gitlab.com/pycqa/flake8/issues/507 .. merge request links .. _GitLab!303: https://gitlab.com/pycqa/flake8/merge_requests/303 .. _GitLab!305: https://gitlab.com/pycqa/flake8/merge_requests/305 ``` ### 3.7.5 ``` ------------------- You can view the `3.7.5 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix reporting of pyflakes "referenced before assignment" error (See also `GitLab!301`_, `GitLab503`_) .. all links .. _3.7.5 milestone: https://gitlab.com/pycqa/flake8/milestones/28 .. issue links .. _GitLab503: https://gitlab.com/pycqa/flake8/issues/503 .. merge request links .. _GitLab!301: https://gitlab.com/pycqa/flake8/merge_requests/301 ``` ### 3.7.4 ``` ------------------- You can view the `3.7.4 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix performance regression with lots of ``per-file-ignores`` and errors (See also `GitLab!299`_, `GitLab501`_) .. all links .. _3.7.4 milestone: https://gitlab.com/pycqa/flake8/milestones/27 .. issue links .. _GitLab501: https://gitlab.com/pycqa/flake8/issues/501 .. merge request links .. _GitLab!299: https://gitlab.com/pycqa/flake8/merge_requests/299 ``` ### 3.7.3 ``` ------------------- You can view the `3.7.3 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_, `GitLab498`_) - Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_) - Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also `GitLab!297`_, `GitLab495`_) - Improve error message for malformed ``per-file-ignores`` (See also `GitLab!298`_, `GitLab489`_) .. all links .. _3.7.3 milestone: https://gitlab.com/pycqa/flake8/milestones/26 .. issue links .. _GitLab489: https://gitlab.com/pycqa/flake8/issues/489 .. _GitLab495: https://gitlab.com/pycqa/flake8/issues/495 .. _GitLab498: https://gitlab.com/pycqa/flake8/issues/498 .. _GitLab499: https://gitlab.com/pycqa/flake8/issues/499 .. merge request links .. _GitLab!294: https://gitlab.com/pycqa/flake8/merge_requests/294 .. _GitLab!295: https://gitlab.com/pycqa/flake8/merge_requests/295 .. _GitLab!297: https://gitlab.com/pycqa/flake8/merge_requests/297 .. _GitLab!298: https://gitlab.com/pycqa/flake8/merge_requests/298 ``` ### 3.7.2 ``` ------------------- You can view the `3.7.2 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_, `GitLab490`_) - Fix typo in plugin exception reporting (See also `GitLab!275`_, `GitLab491`_) - Fix ``AttributeError`` while attempting to use the legacy api (regressed in 3.7.0) (See also `GitLab!293`_, `GitLab497`_) .. all links .. _3.7.2 milestone: https://gitlab.com/pycqa/flake8/milestones/25 .. issue links .. _GitLab490: https://gitlab.com/pycqa/flake8/issues/490 .. _GitLab491: https://gitlab.com/pycqa/flake8/issues/491 .. _GitLab497: https://gitlab.com/pycqa/flake8/issues/497 .. merge request links .. _GitLab!292: https://gitlab.com/pycqa/flake8/merge_requests/292 .. _GitLab!275: https://gitlab.com/pycqa/flake8/merge_requests/275 .. _GitLab!293: https://gitlab.com/pycqa/flake8/merge_requests/293 ``` ### 3.7.1 ``` ------------------- You can view the `3.7.1 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix capitalized filenames in ``per-file-ignores`` setting (See also `GitLab!290`_, `GitLab488`_) .. all links .. _3.7.1 milestone: https://gitlab.com/pycqa/flake8/milestones/24 .. issue links .. _GitLab488: https://gitlab.com/pycqa/flake8/issues/488 .. merge request links .. _GitLab!290: https://gitlab.com/pycqa/flake8/merge_requests/290 ``` ### 3.7.0 ``` ------------------- You can view the `3.7.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Add dependency on ``entrypoints`` >= 0.3, < 0.4 (See also `GitLab!264`_, `GitLab!288`_) - Pyflakes has been updated to >= 2.1.0, < 2.2.0 (See also `GitLab!283`_, `GitLab!285`_) - pycodestyle has been updated to >= 2.5.0, < 2.6.0 (See also `GitLab!287`_) Features ~~~~~~~~ - Add support for ``per-file-ignores`` (See also `GitLab!259`_, `GitLab156`_, `GitLab!281`_, `GitLab471`_) - Enable use of ``float`` and ``complex`` option types (See also `GitLab!261`_, `GitLab452`_) - Improve startup performance by switching from ``pkg_resources`` to ``entrypoints`` (See also `GitLab!264`_) - Add metadata for use through the `pre-commit`_ git hooks framework (See also `GitLab!268`_, `GitLab!284`_) - Allow physical line checks to return more than one result (See also `GitLab!269`_) - Allow `` noqa:X123`` comments without space between the colon and codes list (See also `GitLab!273`_, `GitLab470`_) - Remove broken and unused ``flake8.listen`` plugin type (See also `GitLab!274`_, `GitLab480`_) .. all links .. _3.7.0 milestone: https://gitlab.com/pycqa/flake8/milestones/23 .. _pre-commit: https://pre-commit.com/ .. issue links .. _GitLab156: https://gitlab.com/pycqa/flake8/issues/156 .. _GitLab452: https://gitlab.com/pycqa/flake8/issues/452 .. _GitLab470: https://gitlab.com/pycqa/flake8/issues/470 .. _GitLab471: https://gitlab.com/pycqa/flake8/issues/471 .. _GitLab480: https://gitlab.com/pycqa/flake8/issues/480 .. merge request links .. _GitLab!259: https://gitlab.com/pycqa/flake8/merge_requests/259 .. _GitLab!261: https://gitlab.com/pycqa/flake8/merge_requests/261 .. _GitLab!264: https://gitlab.com/pycqa/flake8/merge_requests/264 .. _GitLab!268: https://gitlab.com/pycqa/flake8/merge_requests/268 .. _GitLab!269: https://gitlab.com/pycqa/flake8/merge_requests/269 .. _GitLab!273: https://gitlab.com/pycqa/flake8/merge_requests/273 .. _GitLab!274: https://gitlab.com/pycqa/flake8/merge_requests/274 .. _GitLab!281: https://gitlab.com/pycqa/flake8/merge_requests/281 .. _GitLab!283: https://gitlab.com/pycqa/flake8/merge_requests/283 .. _GitLab!284: https://gitlab.com/pycqa/flake8/merge_requests/284 .. _GitLab!285: https://gitlab.com/pycqa/flake8/merge_requests/285 .. _GitLab!287: https://gitlab.com/pycqa/flake8/merge_requests/287 .. _GitLab!288: https://gitlab.com/pycqa/flake8/merge_requests/288 ``` ### 3.6.0 ``` ------------------- You can view the `3.6.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - pycodestyle has been updated to >= 2.4.0, < 2.5.0 (See also `GitLab381`_, `GitLab415`_, `GitLab!212`_, `GitLab!230`_, `GitLab!231`_) - Pyflakes has been updated to >= 2.0.0, < 2.1.0 (See also `GitLab422`_, `GitLab!239`_) - flake8 requires python 2.x >= 2.7 or python 3.x >= 3.4 (See also `GitLab!225`_) Features ~~~~~~~~ - Add ``paths`` to allow local plugins to exist outside of ``sys.path`` (See also `GitLab379`_, `GitLab!211`_) - Copy ``setup.cfg`` files to the temporary git hook execution directory (See also `GitLab!215`_) - Only skip a file if `` flake8: noqa`` is on a line by itself (See also `GitLab453`_, `GitLab!219`_) - Provide a better user experience for broken plugins (See also `GitLab!221`_) - Report ``E902`` when a file passed on the command line does not exist (See also `GitLab405`_, `GitLab!227`_) - Add ``--extend-ignore`` for extending the default ``ignore`` instead of overriding it (See also `GitLab365`_, `GitLab!233`_) Bugs Fixed ~~~~~~~~~~ - Respect a formatter's newline setting when printing (See also `GitLab!222`_) - Fix leaking of processes in the legacy api (See also `GitLab410`_, `GitLab!228`_) - Fix a ``SyntaxWarning`` for an invalid escape sequence (See also `GitLab!244`_) - Fix ``DeprecationWarning`` due to import of ``abc`` classes from the ``collections`` module (See also `GitLab!249`_) - Defer ``setuptools`` import to improve flake8 startup time (See also `GitLab!250`_) - Fix inconsistent line endings in ``FileProcessor.lines`` when running under python 3.x (See also `GitLab457`_, `GitLab!255`_) .. all links .. _3.6.0 milestone: https://gitlab.com/pycqa/flake8/milestones/21 .. issue links .. _GitLab365: https://gitlab.com/pycqa/flake8/issues/365 .. _GitLab379: https://gitlab.com/pycqa/flake8/issues/379 .. _GitLab381: https://gitlab.com/pycqa/flake8/issues/381 .. _GitLab405: https://gitlab.com/pycqa/flake8/issues/405 .. _GitLab410: https://gitlab.com/pycqa/flake8/issues/410 .. _GitLab415: https://gitlab.com/pycqa/flake8/issues/415 .. _GitLab422: https://gitlab.com/pycqa/flake8/issues/422 .. _GitLab453: https://gitlab.com/pycqa/flake8/issues/453 .. _GitLab457: https://gitlab.com/pycqa/flake8/issues/457 .. merge request links .. _GitLab!211: https://gitlab.com/pycqa/flake8/merge_requests/211 .. _GitLab!212: https://gitlab.com/pycqa/flake8/merge_requests/212 .. _GitLab!215: https://gitlab.com/pycqa/flake8/merge_requests/215 .. _GitLab!219: https://gitlab.com/pycqa/flake8/merge_requests/219 .. _GitLab!221: https://gitlab.com/pycqa/flake8/merge_requests/221 .. _GitLab!222: https://gitlab.com/pycqa/flake8/merge_requests/222 .. _GitLab!225: https://gitlab.com/pycqa/flake8/merge_requests/225 .. _GitLab!227: https://gitlab.com/pycqa/flake8/merge_requests/227 .. _GitLab!228: https://gitlab.com/pycqa/flake8/merge_requests/228 .. _GitLab!230: https://gitlab.com/pycqa/flake8/merge_requests/230 .. _GitLab!231: https://gitlab.com/pycqa/flake8/merge_requests/231 .. _GitLab!233: https://gitlab.com/pycqa/flake8/merge_requests/233 .. _GitLab!239: https://gitlab.com/pycqa/flake8/merge_requests/239 .. _GitLab!244: https://gitlab.com/pycqa/flake8/merge_requests/244 .. _GitLab!249: https://gitlab.com/pycqa/flake8/merge_requests/249 .. _GitLab!250: https://gitlab.com/pycqa/flake8/merge_requests/250 .. _GitLab!255: https://gitlab.com/pycqa/flake8/merge_requests/255 ``` ### 3.5.0 ``` ------------------- You can view the `3.5.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Allow for PyFlakes 1.6.0 (See also `GitLab359`_) - Start using new PyCodestyle checks for bare excepts and ambiguous identifier (See also `GitLab361`_) Features ~~~~~~~~ - Print out information about configuring VCS hooks (See also `GitLab335`_) - Allow users to develop plugins "local" to a repository without using setuptools. See our documentation on local plugins for more information. (See also `GitLab357`_) Bugs Fixed ~~~~~~~~~~ - Catch and helpfully report ``UnicodeDecodeError``\ s when parsing configuration files. (See also `GitLab358`_) .. all links .. _3.5.0 milestone: https://gitlab.com/pycqa/flake8/milestones/20 .. issue links .. _GitLab335: https://gitlab.com/pycqa/flake8/issues/335 .. _GitLab357: https://gitlab.com/pycqa/flake8/issues/357 .. _GitLab358: https://gitlab.com/pycqa/flake8/issues/358 .. _GitLab359: https://gitlab.com/pycqa/flake8/issues/359 .. _GitLab361: https://gitlab.com/pycqa/flake8/issues/361 .. merge request links ``` ### 3.4.1 ``` ------------------- You can view the `3.4.1 milestone`_ on GitLab for more details. - Fix minor regression when users specify only a ``--select`` list with items in the enabled/extended select list. (See also `GitLab354`_) .. all links .. _3.4.1 milestone: https://gitlab.com/pycqa/flake8/milestones/19 .. issue links .. _GitLab354: https://gitlab.com/pycqa/flake8/issues/354 .. merge request links ``` ### 3.4.0 ``` ------------------- You can view the `3.4.0 milestone`_ on GitLab for more details. - Refine logic around ``--select`` and ``--ignore`` when combined with the default values for each. (See also `GitLab318`_) - Handle spaces as an alternate separate for error codes, e.g., ``--ignore 'E123 E234'``. (See also `GitLab329`_) - Filter out empty select and ignore codes, e.g., ``--ignore E123,,E234``. (See also `GitLab330`_) - Specify dependencies appropriately in ``setup.py`` (See also `Gitlab341_`) - Fix bug in parsing ``--quiet`` and ``--verbose`` from config files. (See also `GitLab!193`_) - Remove unused import of ``os`` in the git hook template (See also `GitLab!194`_) .. all links .. _3.4.0 milestone: https://gitlab.com/pycqa/flake8/milestones/18 .. issue links .. _GitLab318: https://gitlab.com/pycqa/flake8/issues/318 .. _GitLab329: https://gitlab.com/pycqa/flake8/issues/329 .. _GitLab330: https://gitlab.com/pycqa/flake8/issues/330 .. _GitLab341: https://gitlab.com/pycqa/flake8/issues/341 .. merge request links .. _GitLab!193: https://gitlab.com/pycqa/flake8/merge_requests/193 .. _GitLab!194: https://gitlab.com/pycqa/flake8/merge_requests/194 ``` ### 3.3.0 ``` ------------------- You can view the `3.3.0 milestone`_ on GitLab for more details. - Add support for Python 3.6 (via dependencies). **Note** Flake8 does not guarantee that all plugins will support Python 3.6. - Added unique error codes for all missing PyFlakes messages. (14 new codes, see "Error / Violation Codes") - Dramatically improve the performance of Flake8. (See also `GitLab!156`_) - Display the local file path instead of the temporary file path when using the git hook. (See also `GitLab244`_) - Add methods to Report class that will be called when Flake8 starts and finishes processing a file. (See also `GitLab251`_) - Fix problem where hooks should only check \*.py files. (See also `GitLab268`_) - Fix handling of SyntaxErrors that do not include physical line information. (See also `GitLab279`_) - Update upper bound on PyFlakes to allow for PyFlakes 1.5.0. (See also `GitLab290`_) - Update setuptools integration to less eagerly deduplicate packages. (See also `GitLab295`_) - Force ``flake8 --version`` to be repeatable between invocations. (See also `GitLab297`_) .. all links .. _3.3.0 milestone: https://gitlab.com/pycqa/flake8/milestones/16 .. issue links .. _GitLab244: https://gitlab.com/pycqa/flake8/issues/244 .. _GitLab251: https://gitlab.com/pycqa/flake8/issues/251 .. _GitLab268: https://gitlab.com/pycqa/flake8/issues/268 .. _GitLab279: https://gitlab.com/pycqa/flake8/issues/279 .. _GitLab290: https://gitlab.com/pycqa/flake8/issues/290 .. _GitLab295: https://gitlab.com/pycqa/flake8/issues/295 .. _GitLab297: https://gitlab.com/pycqa/flake8/issues/297 .. merge request links .. _GitLab!156: https://gitlab.com/pycqa/flake8/merge_requests/156 ``` ### 3.2.1 ``` ------------------- You can view the `3.2.1 milestone`_ on GitLab for more details. - Fix subtle bug when deciding whether to report an on-by-default's violation (See also `GitLab257`_) - Fix another bug around SyntaxErrors not being reported at the right column and row (See also `GitLab259`_ and `GitLab237`_ for a related, previously fixed bug) - Fix regression from 2.x where we run checks against explicitly provided files, even if they don't match the filename patterns. (See also `GitLab266`_) .. links .. _3.2.1 milestone: https://gitlab.com/pycqa/flake8/milestones/15 .. _GitLab237: https://gitlab.com/pycqa/flake8/issues/237 .. _GitLab257: https://gitlab.com/pycqa/flake8/issues/257 .. _GitLab259: https://gitlab.com/pycqa/flake8/issues/259 .. _GitLab266: https://gitlab.com/pycqa/flake8/issues/266 ``` ### 3.2.0 ``` ------------------- You can view the `3.2.0 milestone`_ on GitLab for more details. - Allow for pycodestyle 2.2.0 which fixes a bug in E305 (See also `GitLab256`_) .. links .. _3.2.0 milestone: https://gitlab.com/pycqa/flake8/milestones/14 .. _GitLab256: https://gitlab.com/pycqa/flake8/issues/256 ``` ### 3.1.1 ``` ------------------- You can view the `3.1.1 milestone`_ on GitLab for more details. - Do not attempt to install/distribute a ``man`` file with the Python package; leave this for others to do. (See also `GitLab254`_) - Fix packaging bug where wheel version constraints specified in setup.cfg did not match the constraints in setup.py. (See also `GitLab255`_) .. links .. _3.1.1 milestone: https://gitlab.com/pycqa/flake8/milestones/13 .. _GitLab254: https://gitlab.com/pycqa/flake8/issues/254 .. _GitLab255: https://gitlab.com/pycqa/flake8/issues/255 ``` ### 3.1.0 ``` ------------------- You can view the `3.1.0 milestone`_ on GitLab for more details. - Add ``--bug-report`` flag to make issue reporters' lives easier. - Collect configuration files from the current directory when using our Git hook. (See also `GitLab210`_, `GitLab218`_, `GitLab223`_) - Avoid unhandled exceptions when dealing with SyntaxErrors. (See also `GitLab214`_, `GitLab238`_) - Exit early if the value for ``--diff`` is empty. (See also `GitLab226`_) - Handle empty ``--stdin-display-name`` values. (See also `GitLab235`_) - Properly report the column number of Syntax Errors. We were assuming that all reports of column numbers were 0-indexed, however, SyntaxErrors report the column number as 1-indexed. This caused us to report a column number that was 1 past the actual position. Further, when combined with SyntaxErrors that occur at a newline, this caused the position to be visually off by two. (See also `GitLab237`_) - Fix the behaviour of ``--enable-extensions``. Previously, items specified here were still ignored due to the fact that the off-by-default extension codes were being left in the ``ignore`` list. (See also `GitLab239`_) - Fix problems around ``--select`` and ``--ignore`` behaviour that prevented codes that were neither explicitly selected nor explicitly ignored from being reported. (See also `GitLab242`_) - Truly be quiet when the user specifies ``-q`` one or more times. Previously, we were showing the if the user specified ``-q`` and ``--show-source``. We have fixed this bug. (See also `GitLab245`_) - Add new File Processor attribute, ``previous_unindented_logical_line`` to accommodate pycodestyle 2.1.0. (See also `GitLab246`_) - When something goes wrong, exit non-zero. (See also `GitLab248`_, `GitLab209`_) - Add ``--tee`` as an option to allow use of ``--output-file`` and printing to standard out. - Allow the git plugin to actually be lazy when collecting files. - Allow for pycodestyle 2.1 series and pyflakes 1.3 series. .. links .. _3.1.0 milestone: https://gitlab.com/pycqa/flake8/milestones/12 .. _GitLab209: https://gitlab.com/pycqa/flake8/issues/209 .. _GitLab210: https://gitlab.com/pycqa/flake8/issues/210 .. _GitLab214: https://gitlab.com/pycqa/flake8/issues/214 .. _GitLab218: https://gitlab.com/pycqa/flake8/issues/218 .. _GitLab223: https://gitlab.com/pycqa/flake8/issues/223 .. _GitLab226: https://gitlab.com/pycqa/flake8/issues/226 .. _GitLab235: https://gitlab.com/pycqa/flake8/issues/235 .. _GitLab237: https://gitlab.com/pycqa/flake8/issues/237 .. _GitLab238: https://gitlab.com/pycqa/flake8/issues/238 .. _GitLab239: https://gitlab.com/pycqa/flake8/issues/239 .. _GitLab242: https://gitlab.com/pycqa/flake8/issues/242 .. _GitLab245: https://gitlab.com/pycqa/flake8/issues/245 .. _GitLab246: https://gitlab.com/pycqa/flake8/issues/246 .. _GitLab248: https://gitlab.com/pycqa/flake8/issues/248 ``` ### 3.0.4 ``` ------------------- - Side-step a Pickling Error when using Flake8 with multiprocessing on Unix systems. (See also `GitLab164`_) - Fix an Attribute Error raised when dealing with Invalid Syntax. (See also `GitLab203`_) - Fix an unhandled Syntax Error when tokenizing files. (See also `GitLab205`_) .. links .. _GitLab164: https://gitlab.com/pycqa/flake8/issues/164 .. _GitLab203: https://gitlab.com/pycqa/flake8/issues/203 .. _GitLab205: https://gitlab.com/pycqa/flake8/issues/205 ``` ### 3.0.3 ``` ------------------- - Disable ``--jobs`` for any version of Python on Windows. (See also `this Python bug report`_) - Raise exception when entry_point in plugin not callable. This raises an informative error when a plugin fails to load because its entry_point is not callable, which can happen with a plugin which is buggy or not updated for the current version of flake8. This is nicer than raising a `PicklingError` about failing to pickle a module (See also `GitLab164`_) - Fix `` noqa`` comments followed by a ``:`` and explanation broken by 3.0.0 (See also `GitLab178`_) - Always open our output file in append mode so we do not overwrite log messages. (See also `GitLab193`_) - When normalizing path values read from configuration, keep in context the directory where the configuration was found so that relative paths work. (See also `GitLab194`_) - Fix issue where users were unable to ignore plugin errors that were on by default. (See also `GitLab195`_) - Fix our legacy API StyleGuide's ``init_report`` method to actually override the previous formatter. (See also `GitLab200`_) .. links .. _GitLab164: https://gitlab.com/pycqa/flake8/issues/164 .. _GitLab178: https://gitlab.com/pycqa/flake8/issues/178 .. _GitLab193: https://gitlab.com/pycqa/flake8/issues/193 .. _GitLab194: https://gitlab.com/pycqa/flake8/issues/193 .. _GitLab195: https://gitlab.com/pycqa/flake8/issues/195 .. _GitLab200: https://gitlab.com/pycqa/flake8/issues/200 .. _this Python bug report: https://bugs.python.org/issue27649 ``` ### 3.0.2 ``` ------------------- - Fix local config file discovery. (See also `GitLab181`_) - Fix indexing of column numbers. We accidentally were starting column indices at 0 instead of 1. - Fix regression in handling of errors like E402 that rely on a combination of attributes. (See also `GitLab186`_) .. links .. _GitLab181: https://gitlab.com/pycqa/flake8/issues/181 .. _GitLab186: https://gitlab.com/pycqa/flake8/issues/186 ``` ### 3.0.1 ``` ------------------- - Fix regression in handling of `` noqa`` for multiline strings. (See also `GitLab177`_) - Fix regression in handling of ``--output-file`` when not also using ``--verbose``. (See also `GitLab180`_) - Fix regression in handling of ``--quiet``. (See also `GitLab180`_) - Fix regression in handling of ``--statistics``. (See also `GitLab180`_) .. links .. _GitLab177: https://gitlab.com/pycqa/flake8/issues/177 .. _GitLab180: https://gitlab.com/pycqa/flake8/issues/180 ``` ### 3.0.0 ``` ------------------- - 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 with ``E`` except for ``E123``. 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. - Stop forcibly re-adding ``.tox``, ``.eggs``, and ``*.eggs`` to ``--exclude``. Flake8 2.x started always appending those three patterns to any exclude list (including the default and any user supplied list). Flake8 3 has stopped adding these in, so you may see errors when upgrading due to these patterns no longer being forcibly excluded by default if you have your own exclude patterns specified. To fix this, add the appropriate patterns to your exclude patterns list. .. note:: This item was added in November of 2016, as a result of a bug report. ``` ### 2.6.2 ``` ------------------ - **Bug** Fix packaging error during release process. ``` ### 2.6.1 ``` ------------------ - **Bug** Update the config files to search for to include ``setup.cfg`` and ``tox.ini``. This was broken in 2.5.5 when we stopped passing ``config_file`` to our Style Guide ``` ### 2.6.0 ``` ------------------ - **Requirements Change** Switch to pycodestyle as all future pep8 releases will use that package name - **Improvement** Allow for Windows users on *select* versions of Python to use ``--jobs`` and multiprocessing - **Improvement** Update bounds on McCabe - **Improvement** Update bounds on PyFlakes and blacklist known broken versions - **Improvement** Handle new PyFlakes warning with a new error code: F405 ``` ### 2.5.5 ``` ------------------ - **Bug** Fix setuptools integration when parsing config files - **Bug** Don't pass the user's config path as the config_file when creating a StyleGuide ``` ### 2.5.4 ``` ------------------ - **Bug** Missed an attribute rename during the v2.5.3 release. ``` ### 2.5.3 ``` ------------------ - **Bug** Actually parse ``output_file`` and ``enable_extensions`` from config files ``` ### 2.5.2 ``` ------------------ - **Bug** Parse ``output_file`` and ``enable_extensions`` from config files - **Improvement** Raise upper bound on mccabe plugin to allow for version 0.4.0 ``` ### 2.5.1 ``` ------------------ - **Bug** Properly look for ``.flake8`` in current working directory (`GitLab103`_) - **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. (`GitLab105`_, `GitLab107`_) .. _GitLab103: https://gitlab.com/pycqa/flake8/issues/103 .. _GitLab105: https://gitlab.com/pycqa/flake8/issues/105 .. _GitLab107: https://gitlab.com/pycqa/flake8/issues/107 ``` ### 2.5.0 ``` ------------------ - **Improvement** Raise cap on PyFlakes for Python 3.5 support - **Improvement** Avoid deprecation warnings when loading extensions (`GitLab59`_, `GitLab90`_) - **Improvement** Separate logic to enable "off-by-default" extensions (`GitLab67`_) - **Bug** Properly parse options to setuptools Flake8 command (`GitLab!41`_) - **Bug** Fix exceptions when output on stdout is truncated before Flake8 finishes writing the output (`GitLab69`_) - **Bug** Fix error on OS X where Flake8 can no longer acquire or create new semaphores (`GitLab74`_) .. _GitLab!41: https://gitlab.com/pycqa/flake8/merge_requests/41 .. _GitLab59: https://gitlab.com/pycqa/flake8/issues/59 .. _GitLab67: https://gitlab.com/pycqa/flake8/issues/67 .. _GitLab69: https://gitlab.com/pycqa/flake8/issues/69 .. _GitLab74: https://gitlab.com/pycqa/flake8/issues/74 .. _GitLab90: https://gitlab.com/pycqa/flake8/issues/90 ``` ### 2.4.1 ``` ------------------ - **Bug** Do not raise a ``SystemError`` unless there were errors in the setuptools command. (`GitLab39`_, `GitLab!23`_) - **Bug** Do not verify dependencies of extensions loaded via entry-points. - **Improvement** Blacklist versions of pep8 we know are broken .. _GitLab39: https://gitlab.com/pycqa/flake8/issues/39 .. _GitLab!23: https://gitlab.com/pycqa/flake8/merge_requests/23 ``` ### 2.4.0 ``` ------------------ - **Bug** Print filenames when using multiprocessing and ``-q`` option. (`GitLab31`_) - **Bug** Put upper cap on dependencies. The caps for 2.4.0 are: - ``pep8 < 1.6`` (Related to `GitLab35`_) - ``mccabe < 0.4`` - ``pyflakes < 0.9`` See also `GitLab32`_ - **Bug** Files excluded in a config file were not being excluded when flake8 was run from a git hook. (`GitHub2`_) - **Improvement** Print warnings for users who are providing mutually exclusive options to flake8. (`GitLab8`_, `GitLab!18`_) - **Feature** Allow git hook configuration to live in ``.git/config``. See the updated `VCS hooks docs`_ for more details. (`GitLab!20`_) .. _GitHub2: https://github.com/pycqa/flake8/pull/2 .. _GitLab8: https://gitlab.com/pycqa/flake8/issues/8 .. _GitLab31: https://gitlab.com/pycqa/flake8/issues/31 .. _GitLab32: https://gitlab.com/pycqa/flake8/issues/32 .. _GitLab35: https://gitlab.com/pycqa/flake8/issues/35 .. _GitLab!18: https://gitlab.com/pycqa/flake8/merge_requests/18 .. _GitLab!20: https://gitlab.com/pycqa/flake8/merge_requests/20 .. _VCS hooks docs: https://flake8.readthedocs.io/en/latest/user/using-hooks.html ``` ### 2.3.0 ``` ------------------ - **Feature**: Add ``--output-file`` option to specify a file to write to instead of ``stdout``. - **Bug** Fix interleaving of output while using multiprocessing (`GitLab17`_) .. _GitLab17: https://gitlab.com/pycqa/flake8/issues/17 ``` ### 2.2.5 ``` ------------------ - Flush standard out when using multiprocessing - Make the check for " flake8: noqa" more strict ``` ### 2.2.4 ``` ------------------ - 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!) ``` ### 2.2.3 ``` ------------------ - Actually turn multiprocessing on by default ``` ### 2.2.2 ``` ------------------ - Re-enable multiprocessing by default while fixing the issue Windows users were seeing. ``` ### 2.2.1 ``` ------------------ - Turn off multiple jobs by default. To enable automatic use of all CPUs, use ``--jobs=auto``. Fixes 155 and 154. ``` ### 2.2.0 ``` ------------------ - 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 ``` ### 2.1.0 ``` ------------------ - 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 ``` ### 2.0.0 ``` ------------------ - Pyflakes errors are prefixed by an ``F`` instead of an ``E`` - McCabe complexity warnings are prefixed by a ``C`` instead of a ``W`` - Flake8 supports extensions through entry points - Due to the above support, we **require** setuptools - We publish the `documentation <https://flake8.readthedocs.io/>`_ - Fixes 13: pep8, pyflakes and mccabe become external dependencies - Split run.py into main.py, engine.py and hooks.py for better logic - Expose our parser for our users - New feature: Install git and hg hooks automagically - By relying on pyflakes (0.6.1), we also fixed 45 and 35 ``` ### 1.7.0 ``` ------------------ - 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 ``` ### 1.6.2 ``` ------------------ - fixed the NameError: global name 'message' is not defined (46) ``` ### 1.6.1 ``` ------------------ - 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 ``` ### 1.6 ``` ---------------- - changed the signatures of the ``check_file`` function in flake8/run.py, ``skip_warning`` in flake8/util.py and the ``check``, ``checkPath`` functions in flake8/pyflakes.py. - fix ``--exclude`` and ``--ignore`` command flags (14, 19) - fix the git hook that wasn't catching files not already added to the index (29) - pre-emptively includes the addition to pep8 to ignore certain lines. Add `` nopep8`` to the end of a line to ignore it. (37) - ``check_file`` can now be used without any special prior setup (21) - unpacking exceptions will no longer cause an exception (20) - fixed crash on non-existent file (38) ``` ### 1.5 ``` ---------------- - fixed the stdin - make sure mccabe catches the syntax errors as warnings - pep8 upgrade - added max_line_length default value - added Flake8Command and entry points if setuptools is around - using the setuptools console wrapper when available ``` ### 1.4 ``` ---------------- - git_hook: Only check staged changes for compliance - use pep8 1.2 ``` ### 1.3.1 ``` ------------------ - fixed support for Python 2.5 ``` ### 1.3 ``` ---------------- - fixed false W402 warning on exception blocks. ``` ### 1.2 ``` ---------------- - added a git hook - now Python 3 compatible - mccabe and pyflakes have warning codes like pep8 now ``` ### 1.1 ``` ---------------- - fixed the value returned by --version - allow the flake8: header to be more generic - fixed the "hg hook raises 'physical lines'" bug - allow three argument form of raise - now uses setuptools if available, for 'develop' command ``` ### 1.0 ``` ---------------- - Deactivates by default the complexity checker - Introduces the complexity option in the HG hook and the command line. ``` ### 0.9 ``` ---------------- - update pep8 version to 0.6.1 - mccabe check: gracefully handle compile failure ``` ### 0.8 ``` ---------------- - fixed hg hook - discard unexisting files on hook check ``` ### 0.7 ``` ---------------- - Fix pep8 initialization when run through Hg - Make pep8 short options work when run through the command line - Skip duplicates when controlling files via Hg ``` ### 0.6 ``` ---------------- - Fix the McCabe metric on some loops ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/flake8 - Changelog: https://pyup.io/changelogs/flake8/ - Repo: https://gitlab.com/pycqa/flake8 </details> ### Update [flake8-bugbear](https://pypi.org/project/flake8-bugbear) from **19.8.0** to **19.8.0**. <details> <summary>Changelog</summary> ### 19.3.0 ``` Refer to README.md for changes. ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/flake8-bugbear - Changelog: https://pyup.io/changelogs/flake8-bugbear/ - Repo: https://github.com/PyCQA/flake8-bugbear </details> ### Update [flake8-commas](https://pypi.org/project/flake8-commas) from **2.0.0** to **2.0.0**. <details> <summary>Changelog</summary> ### 2.0.0 ``` ------------------ - Hide ._base from flake8 --version. (`Issue 45 <https://github.com/PyCQA/flake8-commas/issue/45>`_) - Update URL to https://github.com/PyCQA/flake8-commas/. (`Issue 51 <https://github.com/PyCQA/flake8-commas/pull/51>`_) - Add check for trailing commas on bare tuples - C818, thanks to `Chris AtLee <https://github.com/catlee>`_ and `Arkadiusz Adamski <https://github.com/ar4s/flake8_tuple>`_ (`PR 52 <https://github.com/PyCQA/flake8-commas/pull/52>`_) ``` ### 1.0.0 ``` ------------------ - No changes from 0.5.1, just releasing the first major version. ``` ### 0.5.1 ``` ------------------ - Refactor single/multi tuple/subscript to simply count commas in all cases. - Prohibit trailing commas in lambda parameter lists. - Fix a missing trailing comma false positive in subcripts with slices. - Fix a prohibited trailing comma false positve in subscripts with slices. - All (`Issue 48 <https://github.com/flake8-commas/flake8-commas/pull/4…
77: Pin flake8 to latest version 3.7.9 r=duckinator a=pyup-bot This PR pins [flake8](https://pypi.org/project/flake8) to the latest release **3.7.9**. <details> <summary>Changelog</summary> ### 3.7.8 ``` ------------------- You can view the `3.7.8 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix handling of ``Application.parse_preliminary_options_and_args`` when argv is an empty list (See also `GitLab!310`_, `GitLab518`_) - Fix crash when a file parses but fails to tokenize (See also `GitLab!314`_, `GitLab532`_) - Log the full traceback on plugin exceptions (See also `GitLab!317`_) - Fix `` noqa: ...`` comments with multi-letter codes (See also `GitLab!326`_, `GitLab549`_) .. all links .. _3.7.8 milestone: https://gitlab.com/pycqa/flake8/milestones/31 .. issue links .. _GitLab518: https://gitlab.com/pycqa/flake8/issues/518 .. _GitLab532: https://gitlab.com/pycqa/flake8/issues/532 .. _GitLab549: https://gitlab.com/pycqa/flake8/issues/549 .. merge request links .. _GitLab!310: https://gitlab.com/pycqa/flake8/merge_requests/310 .. _GitLab!314: https://gitlab.com/pycqa/flake8/merge_requests/314 .. _GitLab!317: https://gitlab.com/pycqa/flake8/merge_requests/317 .. _GitLab!326: https://gitlab.com/pycqa/flake8/merge_requests/326 ``` ### 3.7.7 ``` ------------------- You can view the `3.7.7 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix crahes in plugins causing ``flake8`` to hang while unpickling errors (See also `GitLab!308`_, `GitLab505`_) .. all links .. _3.7.7 milestone: https://gitlab.com/pycqa/flake8/milestones/30 .. issue links .. _GitLab505: https://gitlab.com/pycqa/flake8/issues/505 .. merge request links .. _GitLab!308: https://gitlab.com/pycqa/flake8/merge_requests/308 ``` ### 3.7.6 ``` ------------------- You can view the `3.7.6 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix ``--per-file-ignores`` for multi-letter error codes (See also `GitLab!303`_, `GitLab507`_) - Improve flake8 speed when only 1 filename is passed (See also `GitLab!305`_) .. all links .. _3.7.6 milestone: https://gitlab.com/pycqa/flake8/milestones/29 .. issue links .. _GitLab507: https://gitlab.com/pycqa/flake8/issues/507 .. merge request links .. _GitLab!303: https://gitlab.com/pycqa/flake8/merge_requests/303 .. _GitLab!305: https://gitlab.com/pycqa/flake8/merge_requests/305 ``` ### 3.7.5 ``` ------------------- You can view the `3.7.5 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix reporting of pyflakes "referenced before assignment" error (See also `GitLab!301`_, `GitLab503`_) .. all links .. _3.7.5 milestone: https://gitlab.com/pycqa/flake8/milestones/28 .. issue links .. _GitLab503: https://gitlab.com/pycqa/flake8/issues/503 .. merge request links .. _GitLab!301: https://gitlab.com/pycqa/flake8/merge_requests/301 ``` ### 3.7.4 ``` ------------------- You can view the `3.7.4 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix performance regression with lots of ``per-file-ignores`` and errors (See also `GitLab!299`_, `GitLab501`_) .. all links .. _3.7.4 milestone: https://gitlab.com/pycqa/flake8/milestones/27 .. issue links .. _GitLab501: https://gitlab.com/pycqa/flake8/issues/501 .. merge request links .. _GitLab!299: https://gitlab.com/pycqa/flake8/merge_requests/299 ``` ### 3.7.3 ``` ------------------- You can view the `3.7.3 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_, `GitLab498`_) - Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_) - Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also `GitLab!297`_, `GitLab495`_) - Improve error message for malformed ``per-file-ignores`` (See also `GitLab!298`_, `GitLab489`_) .. all links .. _3.7.3 milestone: https://gitlab.com/pycqa/flake8/milestones/26 .. issue links .. _GitLab489: https://gitlab.com/pycqa/flake8/issues/489 .. _GitLab495: https://gitlab.com/pycqa/flake8/issues/495 .. _GitLab498: https://gitlab.com/pycqa/flake8/issues/498 .. _GitLab499: https://gitlab.com/pycqa/flake8/issues/499 .. merge request links .. _GitLab!294: https://gitlab.com/pycqa/flake8/merge_requests/294 .. _GitLab!295: https://gitlab.com/pycqa/flake8/merge_requests/295 .. _GitLab!297: https://gitlab.com/pycqa/flake8/merge_requests/297 .. _GitLab!298: https://gitlab.com/pycqa/flake8/merge_requests/298 ``` ### 3.7.2 ``` ------------------- You can view the `3.7.2 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_, `GitLab490`_) - Fix typo in plugin exception reporting (See also `GitLab!275`_, `GitLab491`_) - Fix ``AttributeError`` while attempting to use the legacy api (regressed in 3.7.0) (See also `GitLab!293`_, `GitLab497`_) .. all links .. _3.7.2 milestone: https://gitlab.com/pycqa/flake8/milestones/25 .. issue links .. _GitLab490: https://gitlab.com/pycqa/flake8/issues/490 .. _GitLab491: https://gitlab.com/pycqa/flake8/issues/491 .. _GitLab497: https://gitlab.com/pycqa/flake8/issues/497 .. merge request links .. _GitLab!292: https://gitlab.com/pycqa/flake8/merge_requests/292 .. _GitLab!275: https://gitlab.com/pycqa/flake8/merge_requests/275 .. _GitLab!293: https://gitlab.com/pycqa/flake8/merge_requests/293 ``` ### 3.7.1 ``` ------------------- You can view the `3.7.1 milestone`_ on GitLab for more details. Bugs Fixed ~~~~~~~~~~ - Fix capitalized filenames in ``per-file-ignores`` setting (See also `GitLab!290`_, `GitLab488`_) .. all links .. _3.7.1 milestone: https://gitlab.com/pycqa/flake8/milestones/24 .. issue links .. _GitLab488: https://gitlab.com/pycqa/flake8/issues/488 .. merge request links .. _GitLab!290: https://gitlab.com/pycqa/flake8/merge_requests/290 ``` ### 3.7.0 ``` ------------------- You can view the `3.7.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Add dependency on ``entrypoints`` >= 0.3, < 0.4 (See also `GitLab!264`_, `GitLab!288`_) - Pyflakes has been updated to >= 2.1.0, < 2.2.0 (See also `GitLab!283`_, `GitLab!285`_) - pycodestyle has been updated to >= 2.5.0, < 2.6.0 (See also `GitLab!287`_) Features ~~~~~~~~ - Add support for ``per-file-ignores`` (See also `GitLab!259`_, `GitLab156`_, `GitLab!281`_, `GitLab471`_) - Enable use of ``float`` and ``complex`` option types (See also `GitLab!261`_, `GitLab452`_) - Improve startup performance by switching from ``pkg_resources`` to ``entrypoints`` (See also `GitLab!264`_) - Add metadata for use through the `pre-commit`_ git hooks framework (See also `GitLab!268`_, `GitLab!284`_) - Allow physical line checks to return more than one result (See also `GitLab!269`_) - Allow `` noqa:X123`` comments without space between the colon and codes list (See also `GitLab!273`_, `GitLab470`_) - Remove broken and unused ``flake8.listen`` plugin type (See also `GitLab!274`_, `GitLab480`_) .. all links .. _3.7.0 milestone: https://gitlab.com/pycqa/flake8/milestones/23 .. _pre-commit: https://pre-commit.com/ .. issue links .. _GitLab156: https://gitlab.com/pycqa/flake8/issues/156 .. _GitLab452: https://gitlab.com/pycqa/flake8/issues/452 .. _GitLab470: https://gitlab.com/pycqa/flake8/issues/470 .. _GitLab471: https://gitlab.com/pycqa/flake8/issues/471 .. _GitLab480: https://gitlab.com/pycqa/flake8/issues/480 .. merge request links .. _GitLab!259: https://gitlab.com/pycqa/flake8/merge_requests/259 .. _GitLab!261: https://gitlab.com/pycqa/flake8/merge_requests/261 .. _GitLab!264: https://gitlab.com/pycqa/flake8/merge_requests/264 .. _GitLab!268: https://gitlab.com/pycqa/flake8/merge_requests/268 .. _GitLab!269: https://gitlab.com/pycqa/flake8/merge_requests/269 .. _GitLab!273: https://gitlab.com/pycqa/flake8/merge_requests/273 .. _GitLab!274: https://gitlab.com/pycqa/flake8/merge_requests/274 .. _GitLab!281: https://gitlab.com/pycqa/flake8/merge_requests/281 .. _GitLab!283: https://gitlab.com/pycqa/flake8/merge_requests/283 .. _GitLab!284: https://gitlab.com/pycqa/flake8/merge_requests/284 .. _GitLab!285: https://gitlab.com/pycqa/flake8/merge_requests/285 .. _GitLab!287: https://gitlab.com/pycqa/flake8/merge_requests/287 .. _GitLab!288: https://gitlab.com/pycqa/flake8/merge_requests/288 ``` ### 3.6.0 ``` ------------------- You can view the `3.6.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - pycodestyle has been updated to >= 2.4.0, < 2.5.0 (See also `GitLab381`_, `GitLab415`_, `GitLab!212`_, `GitLab!230`_, `GitLab!231`_) - Pyflakes has been updated to >= 2.0.0, < 2.1.0 (See also `GitLab422`_, `GitLab!239`_) - flake8 requires python 2.x >= 2.7 or python 3.x >= 3.4 (See also `GitLab!225`_) Features ~~~~~~~~ - Add ``paths`` to allow local plugins to exist outside of ``sys.path`` (See also `GitLab379`_, `GitLab!211`_) - Copy ``setup.cfg`` files to the temporary git hook execution directory (See also `GitLab!215`_) - Only skip a file if `` flake8: noqa`` is on a line by itself (See also `GitLab453`_, `GitLab!219`_) - Provide a better user experience for broken plugins (See also `GitLab!221`_) - Report ``E902`` when a file passed on the command line does not exist (See also `GitLab405`_, `GitLab!227`_) - Add ``--extend-ignore`` for extending the default ``ignore`` instead of overriding it (See also `GitLab365`_, `GitLab!233`_) Bugs Fixed ~~~~~~~~~~ - Respect a formatter's newline setting when printing (See also `GitLab!222`_) - Fix leaking of processes in the legacy api (See also `GitLab410`_, `GitLab!228`_) - Fix a ``SyntaxWarning`` for an invalid escape sequence (See also `GitLab!244`_) - Fix ``DeprecationWarning`` due to import of ``abc`` classes from the ``collections`` module (See also `GitLab!249`_) - Defer ``setuptools`` import to improve flake8 startup time (See also `GitLab!250`_) - Fix inconsistent line endings in ``FileProcessor.lines`` when running under python 3.x (See also `GitLab457`_, `GitLab!255`_) .. all links .. _3.6.0 milestone: https://gitlab.com/pycqa/flake8/milestones/21 .. issue links .. _GitLab365: https://gitlab.com/pycqa/flake8/issues/365 .. _GitLab379: https://gitlab.com/pycqa/flake8/issues/379 .. _GitLab381: https://gitlab.com/pycqa/flake8/issues/381 .. _GitLab405: https://gitlab.com/pycqa/flake8/issues/405 .. _GitLab410: https://gitlab.com/pycqa/flake8/issues/410 .. _GitLab415: https://gitlab.com/pycqa/flake8/issues/415 .. _GitLab422: https://gitlab.com/pycqa/flake8/issues/422 .. _GitLab453: https://gitlab.com/pycqa/flake8/issues/453 .. _GitLab457: https://gitlab.com/pycqa/flake8/issues/457 .. merge request links .. _GitLab!211: https://gitlab.com/pycqa/flake8/merge_requests/211 .. _GitLab!212: https://gitlab.com/pycqa/flake8/merge_requests/212 .. _GitLab!215: https://gitlab.com/pycqa/flake8/merge_requests/215 .. _GitLab!219: https://gitlab.com/pycqa/flake8/merge_requests/219 .. _GitLab!221: https://gitlab.com/pycqa/flake8/merge_requests/221 .. _GitLab!222: https://gitlab.com/pycqa/flake8/merge_requests/222 .. _GitLab!225: https://gitlab.com/pycqa/flake8/merge_requests/225 .. _GitLab!227: https://gitlab.com/pycqa/flake8/merge_requests/227 .. _GitLab!228: https://gitlab.com/pycqa/flake8/merge_requests/228 .. _GitLab!230: https://gitlab.com/pycqa/flake8/merge_requests/230 .. _GitLab!231: https://gitlab.com/pycqa/flake8/merge_requests/231 .. _GitLab!233: https://gitlab.com/pycqa/flake8/merge_requests/233 .. _GitLab!239: https://gitlab.com/pycqa/flake8/merge_requests/239 .. _GitLab!244: https://gitlab.com/pycqa/flake8/merge_requests/244 .. _GitLab!249: https://gitlab.com/pycqa/flake8/merge_requests/249 .. _GitLab!250: https://gitlab.com/pycqa/flake8/merge_requests/250 .. _GitLab!255: https://gitlab.com/pycqa/flake8/merge_requests/255 ``` ### 3.5.0 ``` ------------------- You can view the `3.5.0 milestone`_ on GitLab for more details. New Dependency Information ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Allow for PyFlakes 1.6.0 (See also `GitLab359`_) - Start using new PyCodestyle checks for bare excepts and ambiguous identifier (See also `GitLab361`_) Features ~~~~~~~~ - Print out information about configuring VCS hooks (See also `GitLab335`_) - Allow users to develop plugins "local" to a repository without using setuptools. See our documentation on local plugins for more information. (See also `GitLab357`_) Bugs Fixed ~~~~~~~~~~ - Catch and helpfully report ``UnicodeDecodeError``\ s when parsing configuration files. (See also `GitLab358`_) .. all links .. _3.5.0 milestone: https://gitlab.com/pycqa/flake8/milestones/20 .. issue links .. _GitLab335: https://gitlab.com/pycqa/flake8/issues/335 .. _GitLab357: https://gitlab.com/pycqa/flake8/issues/357 .. _GitLab358: https://gitlab.com/pycqa/flake8/issues/358 .. _GitLab359: https://gitlab.com/pycqa/flake8/issues/359 .. _GitLab361: https://gitlab.com/pycqa/flake8/issues/361 .. merge request links ``` ### 3.4.1 ``` ------------------- You can view the `3.4.1 milestone`_ on GitLab for more details. - Fix minor regression when users specify only a ``--select`` list with items in the enabled/extended select list. (See also `GitLab354`_) .. all links .. _3.4.1 milestone: https://gitlab.com/pycqa/flake8/milestones/19 .. issue links .. _GitLab354: https://gitlab.com/pycqa/flake8/issues/354 .. merge request links ``` ### 3.4.0 ``` ------------------- You can view the `3.4.0 milestone`_ on GitLab for more details. - Refine logic around ``--select`` and ``--ignore`` when combined with the default values for each. (See also `GitLab318`_) - Handle spaces as an alternate separate for error codes, e.g., ``--ignore 'E123 E234'``. (See also `GitLab329`_) - Filter out empty select and ignore codes, e.g., ``--ignore E123,,E234``. (See also `GitLab330`_) - Specify dependencies appropriately in ``setup.py`` (See also `Gitlab341_`) - Fix bug in parsing ``--quiet`` and ``--verbose`` from config files. (See also `GitLab!193`_) - Remove unused import of ``os`` in the git hook template (See also `GitLab!194`_) .. all links .. _3.4.0 milestone: https://gitlab.com/pycqa/flake8/milestones/18 .. issue links .. _GitLab318: https://gitlab.com/pycqa/flake8/issues/318 .. _GitLab329: https://gitlab.com/pycqa/flake8/issues/329 .. _GitLab330: https://gitlab.com/pycqa/flake8/issues/330 .. _GitLab341: https://gitlab.com/pycqa/flake8/issues/341 .. merge request links .. _GitLab!193: https://gitlab.com/pycqa/flake8/merge_requests/193 .. _GitLab!194: https://gitlab.com/pycqa/flake8/merge_requests/194 ``` ### 3.3.0 ``` ------------------- You can view the `3.3.0 milestone`_ on GitLab for more details. - Add support for Python 3.6 (via dependencies). **Note** Flake8 does not guarantee that all plugins will support Python 3.6. - Added unique error codes for all missing PyFlakes messages. (14 new codes, see "Error / Violation Codes") - Dramatically improve the performance of Flake8. (See also `GitLab!156`_) - Display the local file path instead of the temporary file path when using the git hook. (See also `GitLab244`_) - Add methods to Report class that will be called when Flake8 starts and finishes processing a file. (See also `GitLab251`_) - Fix problem where hooks should only check \*.py files. (See also `GitLab268`_) - Fix handling of SyntaxErrors that do not include physical line information. (See also `GitLab279`_) - Update upper bound on PyFlakes to allow for PyFlakes 1.5.0. (See also `GitLab290`_) - Update setuptools integration to less eagerly deduplicate packages. (See also `GitLab295`_) - Force ``flake8 --version`` to be repeatable between invocations. (See also `GitLab297`_) .. all links .. _3.3.0 milestone: https://gitlab.com/pycqa/flake8/milestones/16 .. issue links .. _GitLab244: https://gitlab.com/pycqa/flake8/issues/244 .. _GitLab251: https://gitlab.com/pycqa/flake8/issues/251 .. _GitLab268: https://gitlab.com/pycqa/flake8/issues/268 .. _GitLab279: https://gitlab.com/pycqa/flake8/issues/279 .. _GitLab290: https://gitlab.com/pycqa/flake8/issues/290 .. _GitLab295: https://gitlab.com/pycqa/flake8/issues/295 .. _GitLab297: https://gitlab.com/pycqa/flake8/issues/297 .. merge request links .. _GitLab!156: https://gitlab.com/pycqa/flake8/merge_requests/156 ``` ### 3.2.1 ``` ------------------- You can view the `3.2.1 milestone`_ on GitLab for more details. - Fix subtle bug when deciding whether to report an on-by-default's violation (See also `GitLab257`_) - Fix another bug around SyntaxErrors not being reported at the right column and row (See also `GitLab259`_ and `GitLab237`_ for a related, previously fixed bug) - Fix regression from 2.x where we run checks against explicitly provided files, even if they don't match the filename patterns. (See also `GitLab266`_) .. links .. _3.2.1 milestone: https://gitlab.com/pycqa/flake8/milestones/15 .. _GitLab237: https://gitlab.com/pycqa/flake8/issues/237 .. _GitLab257: https://gitlab.com/pycqa/flake8/issues/257 .. _GitLab259: https://gitlab.com/pycqa/flake8/issues/259 .. _GitLab266: https://gitlab.com/pycqa/flake8/issues/266 ``` ### 3.2.0 ``` ------------------- You can view the `3.2.0 milestone`_ on GitLab for more details. - Allow for pycodestyle 2.2.0 which fixes a bug in E305 (See also `GitLab256`_) .. links .. _3.2.0 milestone: https://gitlab.com/pycqa/flake8/milestones/14 .. _GitLab256: https://gitlab.com/pycqa/flake8/issues/256 ``` ### 3.1.1 ``` ------------------- You can view the `3.1.1 milestone`_ on GitLab for more details. - Do not attempt to install/distribute a ``man`` file with the Python package; leave this for others to do. (See also `GitLab254`_) - Fix packaging bug where wheel version constraints specified in setup.cfg did not match the constraints in setup.py. (See also `GitLab255`_) .. links .. _3.1.1 milestone: https://gitlab.com/pycqa/flake8/milestones/13 .. _GitLab254: https://gitlab.com/pycqa/flake8/issues/254 .. _GitLab255: https://gitlab.com/pycqa/flake8/issues/255 ``` ### 3.1.0 ``` ------------------- You can view the `3.1.0 milestone`_ on GitLab for more details. - Add ``--bug-report`` flag to make issue reporters' lives easier. - Collect configuration files from the current directory when using our Git hook. (See also `GitLab210`_, `GitLab218`_, `GitLab223`_) - Avoid unhandled exceptions when dealing with SyntaxErrors. (See also `GitLab214`_, `GitLab238`_) - Exit early if the value for ``--diff`` is empty. (See also `GitLab226`_) - Handle empty ``--stdin-display-name`` values. (See also `GitLab235`_) - Properly report the column number of Syntax Errors. We were assuming that all reports of column numbers were 0-indexed, however, SyntaxErrors report the column number as 1-indexed. This caused us to report a column number that was 1 past the actual position. Further, when combined with SyntaxErrors that occur at a newline, this caused the position to be visually off by two. (See also `GitLab237`_) - Fix the behaviour of ``--enable-extensions``. Previously, items specified here were still ignored due to the fact that the off-by-default extension codes were being left in the ``ignore`` list. (See also `GitLab239`_) - Fix problems around ``--select`` and ``--ignore`` behaviour that prevented codes that were neither explicitly selected nor explicitly ignored from being reported. (See also `GitLab242`_) - Truly be quiet when the user specifies ``-q`` one or more times. Previously, we were showing the if the user specified ``-q`` and ``--show-source``. We have fixed this bug. (See also `GitLab245`_) - Add new File Processor attribute, ``previous_unindented_logical_line`` to accommodate pycodestyle 2.1.0. (See also `GitLab246`_) - When something goes wrong, exit non-zero. (See also `GitLab248`_, `GitLab209`_) - Add ``--tee`` as an option to allow use of ``--output-file`` and printing to standard out. - Allow the git plugin to actually be lazy when collecting files. - Allow for pycodestyle 2.1 series and pyflakes 1.3 series. .. links .. _3.1.0 milestone: https://gitlab.com/pycqa/flake8/milestones/12 .. _GitLab209: https://gitlab.com/pycqa/flake8/issues/209 .. _GitLab210: https://gitlab.com/pycqa/flake8/issues/210 .. _GitLab214: https://gitlab.com/pycqa/flake8/issues/214 .. _GitLab218: https://gitlab.com/pycqa/flake8/issues/218 .. _GitLab223: https://gitlab.com/pycqa/flake8/issues/223 .. _GitLab226: https://gitlab.com/pycqa/flake8/issues/226 .. _GitLab235: https://gitlab.com/pycqa/flake8/issues/235 .. _GitLab237: https://gitlab.com/pycqa/flake8/issues/237 .. _GitLab238: https://gitlab.com/pycqa/flake8/issues/238 .. _GitLab239: https://gitlab.com/pycqa/flake8/issues/239 .. _GitLab242: https://gitlab.com/pycqa/flake8/issues/242 .. _GitLab245: https://gitlab.com/pycqa/flake8/issues/245 .. _GitLab246: https://gitlab.com/pycqa/flake8/issues/246 .. _GitLab248: https://gitlab.com/pycqa/flake8/issues/248 ``` ### 3.0.4 ``` ------------------- - Side-step a Pickling Error when using Flake8 with multiprocessing on Unix systems. (See also `GitLab164`_) - Fix an Attribute Error raised when dealing with Invalid Syntax. (See also `GitLab203`_) - Fix an unhandled Syntax Error when tokenizing files. (See also `GitLab205`_) .. links .. _GitLab164: https://gitlab.com/pycqa/flake8/issues/164 .. _GitLab203: https://gitlab.com/pycqa/flake8/issues/203 .. _GitLab205: https://gitlab.com/pycqa/flake8/issues/205 ``` ### 3.0.3 ``` ------------------- - Disable ``--jobs`` for any version of Python on Windows. (See also `this Python bug report`_) - Raise exception when entry_point in plugin not callable. This raises an informative error when a plugin fails to load because its entry_point is not callable, which can happen with a plugin which is buggy or not updated for the current version of flake8. This is nicer than raising a `PicklingError` about failing to pickle a module (See also `GitLab164`_) - Fix `` noqa`` comments followed by a ``:`` and explanation broken by 3.0.0 (See also `GitLab178`_) - Always open our output file in append mode so we do not overwrite log messages. (See also `GitLab193`_) - When normalizing path values read from configuration, keep in context the directory where the configuration was found so that relative paths work. (See also `GitLab194`_) - Fix issue where users were unable to ignore plugin errors that were on by default. (See also `GitLab195`_) - Fix our legacy API StyleGuide's ``init_report`` method to actually override the previous formatter. (See also `GitLab200`_) .. links .. _GitLab164: https://gitlab.com/pycqa/flake8/issues/164 .. _GitLab178: https://gitlab.com/pycqa/flake8/issues/178 .. _GitLab193: https://gitlab.com/pycqa/flake8/issues/193 .. _GitLab194: https://gitlab.com/pycqa/flake8/issues/193 .. _GitLab195: https://gitlab.com/pycqa/flake8/issues/195 .. _GitLab200: https://gitlab.com/pycqa/flake8/issues/200 .. _this Python bug report: https://bugs.python.org/issue27649 ``` ### 3.0.2 ``` ------------------- - Fix local config file discovery. (See also `GitLab181`_) - Fix indexing of column numbers. We accidentally were starting column indices at 0 instead of 1. - Fix regression in handling of errors like E402 that rely on a combination of attributes. (See also `GitLab186`_) .. links .. _GitLab181: https://gitlab.com/pycqa/flake8/issues/181 .. _GitLab186: https://gitlab.com/pycqa/flake8/issues/186 ``` ### 3.0.1 ``` ------------------- - Fix regression in handling of `` noqa`` for multiline strings. (See also `GitLab177`_) - Fix regression in handling of ``--output-file`` when not also using ``--verbose``. (See also `GitLab180`_) - Fix regression in handling of ``--quiet``. (See also `GitLab180`_) - Fix regression in handling of ``--statistics``. (See also `GitLab180`_) .. links .. _GitLab177: https://gitlab.com/pycqa/flake8/issues/177 .. _GitLab180: https://gitlab.com/pycqa/flake8/issues/180 ``` ### 3.0.0 ``` ------------------- - 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 with ``E`` except for ``E123``. 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. - Stop forcibly re-adding ``.tox``, ``.eggs``, and ``*.eggs`` to ``--exclude``. Flake8 2.x started always appending those three patterns to any exclude list (including the default and any user supplied list). Flake8 3 has stopped adding these in, so you may see errors when upgrading due to these patterns no longer being forcibly excluded by default if you have your own exclude patterns specified. To fix this, add the appropriate patterns to your exclude patterns list. .. note:: This item was added in November of 2016, as a result of a bug report. ``` ### 2.6.2 ``` ------------------ - **Bug** Fix packaging error during release process. ``` ### 2.6.1 ``` ------------------ - **Bug** Update the config files to search for to include ``setup.cfg`` and ``tox.ini``. This was broken in 2.5.5 when we stopped passing ``config_file`` to our Style Guide ``` ### 2.6.0 ``` ------------------ - **Requirements Change** Switch to pycodestyle as all future pep8 releases will use that package name - **Improvement** Allow for Windows users on *select* versions of Python to use ``--jobs`` and multiprocessing - **Improvement** Update bounds on McCabe - **Improvement** Update bounds on PyFlakes and blacklist known broken versions - **Improvement** Handle new PyFlakes warning with a new error code: F405 ``` ### 2.5.5 ``` ------------------ - **Bug** Fix setuptools integration when parsing config files - **Bug** Don't pass the user's config path as the config_file when creating a StyleGuide ``` ### 2.5.4 ``` ------------------ - **Bug** Missed an attribute rename during the v2.5.3 release. ``` ### 2.5.3 ``` ------------------ - **Bug** Actually parse ``output_file`` and ``enable_extensions`` from config files ``` ### 2.5.2 ``` ------------------ - **Bug** Parse ``output_file`` and ``enable_extensions`` from config files - **Improvement** Raise upper bound on mccabe plugin to allow for version 0.4.0 ``` ### 2.5.1 ``` ------------------ - **Bug** Properly look for ``.flake8`` in current working directory (`GitLab103`_) - **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. (`GitLab105`_, `GitLab107`_) .. _GitLab103: https://gitlab.com/pycqa/flake8/issues/103 .. _GitLab105: https://gitlab.com/pycqa/flake8/issues/105 .. _GitLab107: https://gitlab.com/pycqa/flake8/issues/107 ``` ### 2.5.0 ``` ------------------ - **Improvement** Raise cap on PyFlakes for Python 3.5 support - **Improvement** Avoid deprecation warnings when loading extensions (`GitLab59`_, `GitLab90`_) - **Improvement** Separate logic to enable "off-by-default" extensions (`GitLab67`_) - **Bug** Properly parse options to setuptools Flake8 command (`GitLab!41`_) - **Bug** Fix exceptions when output on stdout is truncated before Flake8 finishes writing the output (`GitLab69`_) - **Bug** Fix error on OS X where Flake8 can no longer acquire or create new semaphores (`GitLab74`_) .. _GitLab!41: https://gitlab.com/pycqa/flake8/merge_requests/41 .. _GitLab59: https://gitlab.com/pycqa/flake8/issues/59 .. _GitLab67: https://gitlab.com/pycqa/flake8/issues/67 .. _GitLab69: https://gitlab.com/pycqa/flake8/issues/69 .. _GitLab74: https://gitlab.com/pycqa/flake8/issues/74 .. _GitLab90: https://gitlab.com/pycqa/flake8/issues/90 ``` ### 2.4.1 ``` ------------------ - **Bug** Do not raise a ``SystemError`` unless there were errors in the setuptools command. (`GitLab39`_, `GitLab!23`_) - **Bug** Do not verify dependencies of extensions loaded via entry-points. - **Improvement** Blacklist versions of pep8 we know are broken .. _GitLab39: https://gitlab.com/pycqa/flake8/issues/39 .. _GitLab!23: https://gitlab.com/pycqa/flake8/merge_requests/23 ``` ### 2.4.0 ``` ------------------ - **Bug** Print filenames when using multiprocessing and ``-q`` option. (`GitLab31`_) - **Bug** Put upper cap on dependencies. The caps for 2.4.0 are: - ``pep8 < 1.6`` (Related to `GitLab35`_) - ``mccabe < 0.4`` - ``pyflakes < 0.9`` See also `GitLab32`_ - **Bug** Files excluded in a config file were not being excluded when flake8 was run from a git hook. (`GitHub2`_) - **Improvement** Print warnings for users who are providing mutually exclusive options to flake8. (`GitLab8`_, `GitLab!18`_) - **Feature** Allow git hook configuration to live in ``.git/config``. See the updated `VCS hooks docs`_ for more details. (`GitLab!20`_) .. _GitHub2: PyCQA/flake8#2 .. _GitLab8: https://gitlab.com/pycqa/flake8/issues/8 .. _GitLab31: https://gitlab.com/pycqa/flake8/issues/31 .. _GitLab32: https://gitlab.com/pycqa/flake8/issues/32 .. _GitLab35: https://gitlab.com/pycqa/flake8/issues/35 .. _GitLab!18: https://gitlab.com/pycqa/flake8/merge_requests/18 .. _GitLab!20: https://gitlab.com/pycqa/flake8/merge_requests/20 .. _VCS hooks docs: https://flake8.readthedocs.io/en/latest/user/using-hooks.html ``` ### 2.3.0 ``` ------------------ - **Feature**: Add ``--output-file`` option to specify a file to write to instead of ``stdout``. - **Bug** Fix interleaving of output while using multiprocessing (`GitLab17`_) .. _GitLab17: https://gitlab.com/pycqa/flake8/issues/17 ``` ### 2.2.5 ``` ------------------ - Flush standard out when using multiprocessing - Make the check for " flake8: noqa" more strict ``` ### 2.2.4 ``` ------------------ - 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!) ``` ### 2.2.3 ``` ------------------ - Actually turn multiprocessing on by default ``` ### 2.2.2 ``` ------------------ - Re-enable multiprocessing by default while fixing the issue Windows users were seeing. ``` ### 2.2.1 ``` ------------------ - Turn off multiple jobs by default. To enable automatic use of all CPUs, use ``--jobs=auto``. Fixes 155 and 154. ``` ### 2.2.0 ``` ------------------ - 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 ``` ### 2.1.0 ``` ------------------ - 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 ``` ### 2.0.0 ``` ------------------ - Pyflakes errors are prefixed by an ``F`` instead of an ``E`` - McCabe complexity warnings are prefixed by a ``C`` instead of a ``W`` - Flake8 supports extensions through entry points - Due to the above support, we **require** setuptools - We publish the `documentation <https://flake8.readthedocs.io/>`_ - Fixes 13: pep8, pyflakes and mccabe become external dependencies - Split run.py into main.py, engine.py and hooks.py for better logic - Expose our parser for our users - New feature: Install git and hg hooks automagically - By relying on pyflakes (0.6.1), we also fixed 45 and 35 ``` ### 1.7.0 ``` ------------------ - 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 ``` ### 1.6.2 ``` ------------------ - fixed the NameError: global name 'message' is not defined (46) ``` ### 1.6.1 ``` ------------------ - 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 ``` ### 1.6 ``` ---------------- - changed the signatures of the ``check_file`` function in flake8/run.py, ``skip_warning`` in flake8/util.py and the ``check``, ``checkPath`` functions in flake8/pyflakes.py. - fix ``--exclude`` and ``--ignore`` command flags (14, 19) - fix the git hook that wasn't catching files not already added to the index (29) - pre-emptively includes the addition to pep8 to ignore certain lines. Add `` nopep8`` to the end of a line to ignore it. (37) - ``check_file`` can now be used without any special prior setup (21) - unpacking exceptions will no longer cause an exception (20) - fixed crash on non-existent file (38) ``` ### 1.5 ``` ---------------- - fixed the stdin - make sure mccabe catches the syntax errors as warnings - pep8 upgrade - added max_line_length default value - added Flake8Command and entry points if setuptools is around - using the setuptools console wrapper when available ``` ### 1.4 ``` ---------------- - git_hook: Only check staged changes for compliance - use pep8 1.2 ``` ### 1.3.1 ``` ------------------ - fixed support for Python 2.5 ``` ### 1.3 ``` ---------------- - fixed false W402 warning on exception blocks. ``` ### 1.2 ``` ---------------- - added a git hook - now Python 3 compatible - mccabe and pyflakes have warning codes like pep8 now ``` ### 1.1 ``` ---------------- - fixed the value returned by --version - allow the flake8: header to be more generic - fixed the "hg hook raises 'physical lines'" bug - allow three argument form of raise - now uses setuptools if available, for 'develop' command ``` ### 1.0 ``` ---------------- - Deactivates by default the complexity checker - Introduces the complexity option in the HG hook and the command line. ``` ### 0.9 ``` ---------------- - update pep8 version to 0.6.1 - mccabe check: gracefully handle compile failure ``` ### 0.8 ``` ---------------- - fixed hg hook - discard unexisting files on hook check ``` ### 0.7 ``` ---------------- - Fix pep8 initialization when run through Hg - Make pep8 short options work when run through the command line - Skip duplicates when controlling files via Hg ``` ### 0.6 ``` ---------------- - Fix the McCabe metric on some loops ``` </details> <details> <summary>Links</summary> - PyPI: https://pypi.org/project/flake8 - Changelog: https://pyup.io/changelogs/flake8/ - Repo: https://gitlab.com/pycqa/flake8 </details> Co-authored-by: pyup-bot <github-bot@pyup.io>
The git hook wasn't handling exclude patterns correctly. These two commits fix that problem and add unit tests to demonstrate it.