5.0.0 – 2022-07-30

You can view the 5.0.0 milestone on GitHub for more details.

Backwards Incompatible Changes

  • Remove indent_size_str (See also #1411).

  • Remove some dead code (See also #1453, #1540, #1541).

  • Missing explicitly-specified configuration is now an error (See also #1497, #1498).

  • Always read configuration files as UTF-8 (See also #1532, #1533).

  • Remove manpage from docs – use help2man or related tools instead (See also #1557).

  • Forbid invalid plugin codes (See also #325, #1579).

Deprecations

  • Deprecate --diff option (See also #1389, #1441).

New Dependency Information

  • pycodestyle has been updated to >= 2.9.0, < 2.10.0 (See also #1626).

  • Pyflakes has been updated to >= 2.5.0, < 2.6.0 (See also #1625).

  • mccabe has been updated to >= 0.7.0, < 0.8.0 (See also #1542).

Features

  • Add colors to output, configurable via --color (See also #1379, #1440).

  • Add .nox to the default exclude list (See also #1442, #1443).

  • Don’t consider a config file which does not contain flake8 settings (See also #199, #1472).

  • Duplicate local-plugins names are now allowed (See also #362, #1504).

  • Consider . to be a path in config files (See also #1494, #1508)

  • Add --require-plugins option taking distribution names (See also #283, #1535).

  • Improve performance by removing debug logs (See also #1537, #1544).

  • Include failing file path in plugin execution error (See also #265, #1543).

  • Improve performance by pre-generating a pycodestyle plugin (See also #1545).

  • Properly differentiate between explicitly ignored / selected and default ignored / selected options (See also #284, #1576, #1609).

Bugs Fixed

  • Fix physical line plugins not receiving all lines in the case of triple-quoted strings (See also #1534, #1536).

  • Fix duplicate error logging in the case of plugin issues (See also #1538).

  • Fix inconsistent ordering of --ignore in --help (See also #1550, #1552).

  • Fix memory leak of style guides by avoiding @lru_cache of a method (See also #1573).

  • Fix ignoring of configuration files exactly in the home directory (See also #1617, #1618).