All Versions
57
Latest Version
Avg Release Cycle
27 days
Latest Release
-

Changelog History
Page 1

  • v0.17.1 Changes

    ๐Ÿ”‹ Features

    • Adds __init_subclass__ in the beginning of accepted methods order as per WPS338
  • v0.17.0 Changes

    ๐Ÿ”‹ Features

    • ๐Ÿ’ฅ Breaking: drops python3.6 support
    • โž• Adds support for pattern matching naming rules, same as other variables
    • โž• Adds --show-violation-links option to show links to violation docs
    • Adds __init_subclass__ in the beginning of accepted methods order as per WPS338 #2411
    • โž• Adds WrongEmptyLinesCountViolation to check for too many lines in functions and methods definitions #2486

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes WPS226 false positives on | use in SomeType | AnotherType type hints syntax
    • Now -1 is not reported to be an overused expression
    • Allow __aiter__ to be async iterator
    • โž• Adds violation method name to error message of YieldMagicMethodViolation
    • ๐Ÿ›  Fixes direct docker image invocation #2492

    Misc

    • โž• Adds full violation codes to docs and BaseViolation.full_code #2409
    • ๐Ÿ›  Fix documentation mismatch between default setting for max-string-usages and enforced rule #2456
    • ๐Ÿ’… Domain name was changed from wemake-python-stylegui.de to wemake-python-styleguide.rtfd.io
  • v0.16.2 Changes

    Misc

    • โž• Adds full violation codes to docs and BaseViolation.full_code #2409
  • v0.16.1 Changes

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes crash on 'Literal["raise"]' annotation #2341
    • ๐Ÿ›  Fixes WPS471 was not detected on complex assignment targets #2301
    • ๐Ÿ›  Fixes flake8-bandit and bandit version conflict #2368
  • v0.16.0 Changes

    ๐Ÿ”‹ Features

    • Forbids using non-trivial expressions as an argument to except
    • Forbids using too many variables in a tuple unpacking
    • Forbids using float("NaN").
    • Allow __call__ method to be asynchronous
    • ๐Ÿ‘ Allows common strings not to be counted against string constant overuse limit

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes fails of annotation complexity on Literal[""].

    Misc

    • Introduce helper script to check for missing calls to self.generic_visit(node) in AST visitors
    • โšก๏ธ Updates poetry version to 1.1
  • v0.15.3 Changes

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes crash on python3.10
    • ๐Ÿ›  Fixes UselessReturningElseViolation to not report else with break #1958
    • ๐Ÿ›  Fixes ReassigningVariableToItselfViolation to not report on x = (x,) #1807
    • ๐Ÿ›  Fixes ReassigningVariableToItselfViolation to extract variables from unary operators #1874
    • ๐Ÿ›  Fixes that f'{some:,}' was considered too complex #1921
    • ๐Ÿ›  Fixes that range(len(x)) was not allowed even outside for loops #1883
    • ๐Ÿ›  Fixes UselessReturningElseViolation to not report else with break #2187 (even if we have except in loop)
    • ๐Ÿ›  Fixes fixture in UselessReturningElseViolation #2191

    Misc

    • โž• Adds documentation (and tests) for how to run project on Jupyter Notebooks
    • โšก๏ธ Updates mypy to 0.902 and fixes type issues
  • v0.15.2 Changes

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes BitwiseAndBooleanMixupViolation work with PEP 604 union types #1884
    • ๐Ÿ›  Fixes CognitiveModuleComplexityViolation to not trigger for a single-item modules
    • ๐Ÿ›  Fixes that ConstantConditionViolation was not reported for a BoolOp
    • Functions and methods marked as @overload or @typing.overload do not count in complexity rules

    Misc

    • โšก๏ธ Updates GitHub Action's base Python image version to 3.8.8

    ๐Ÿ”‹ Features

    • โž• Adds a math operations evaluator to improve and allow several violation checks.
  • v0.15.1 Changes

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes dataclasses import, it was failing on python3.6
    • ๐Ÿ›  Fixes InconsistentComprehensionViolation work with async comprehensions
    • ๐Ÿ›  Fixes nested comprehensions support for InconsistentComprehensionViolation
    • ๐Ÿ›  Fixes multiple if support for InconsistentComprehensionViolation
    • ๐Ÿ›  Fixes that NestedTernaryViolation was not reported for a comprehension
    • ๐Ÿ›  Fixes that ConstantConditionViolation was not reported for a comprehension
    • ๐Ÿ›  Fixes that ConstantConditionViolation was triggering for while x := True:
    • ๐Ÿ›  Fixes that UselessElseViolation was not reported for for, while, and try keywords
    • ๐Ÿ›  Fixes false positive InfiniteWhileLoopViolation for try #1857
    • ๐Ÿ›  Fixes that InfiniteWhileLoopViolation was not triggered on 1 or other truthy nodes

    Misc

    • ๐Ÿ”จ Refactors how tokenize tests are executed, now we have an option to compile fixture code to make sure it is syntactically valid.
  • v0.15.0 Changes

    ๐Ÿ”‹ Features

    • โž• Adds python3.9 support
    • ๐Ÿ’… Forbids to use new-style decorators on python3.9
    • ๐Ÿ”„ Changes how we treat own/foreign attributes, since now we only check assigned attribute names for self/cls/mcs, but not any other ones. So, now writting point.x = 1 will not trigger any violations. Previously, it would raise "too short name".
    • Forbids using non-trivial expressions as an argument to except
    • Forbids using too many variables in a tuple unpacking
    • Forbids using float("NaN").
    • Forbids assigning to a slice
    • Allow __call__ method to be asynchronous
    • ๐Ÿ‘ Allows common strings not to be counted against string constant overuse limit
    • Forbids to unpack iterable objects to lists #1259
    • Forbids to use single return None
    • Add __await__ to the list of priority magic methods
    • Forbids to use float zeros (0.0)
    • ๐Ÿ‘€ Forbids raise Exception and raise BaseException
    • Forbids to use % with zero as the divisor
    • โœ… Forbids testing conditions to just return booleans when it is possible to simply return the condition itself
    • Forbids to use unsafe infinite loops
    • Forbids to use raw strings r'' when not necessary
    • Forbids to use too complex f-strings
    • Forbids to use too many raise statements inside a single function
    • Forbids to compare with float and complex values
    • Forbids single element destruct
    • ๐Ÿ”ง Forbids to ignore some violations (configurable) on a line level
    • Forbids single element unpacking
    • Forbids to unpack lists with side-effects
    • ๐Ÿ“„ Forbids to use miltiline strings except for assignments and docstrings
    • Forbids not returning anything in functions and methods starting with get_
    • Forbids to use empty comment
    • Forbids using bitwise operation with boolean operation
    • Forbids inconsistent structuring of multiline comprehensions
    • Forbids to use unpythonic getters and setters such as get_attribute or set_attribute
    • ๐Ÿ†“ Now credits, license, and copyright builtins are free to shadow

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes fails of annotation complexity on Literal[""]
    • ๐Ÿ›  Fixes how wrong variable names were checked case sensitive with WPS110
    • Fixes false positives DirectMagicAttributeAccessViolation with __mro__, __subclasses__ and __version__
    • ๐Ÿ‘‰ Make WPS326 work when there is comment between string literals
    • ๐Ÿ‘ Allowed yield statements in call method
    • ๐Ÿ‘ Allow to use ^ with 1
    • ๐Ÿ›  Fixes false positives in WPS513 and WPS323
    • ๐Ÿ›  Fixes false positive WPS426 if lambda in loop uses only its arguments
    • ๐Ÿ›  Fixes false negative WPS421 with pprint.pprint
    • ๐Ÿ›  Fixes WPS441 triggering when reusing variable names in multiple loops
    • ๐Ÿ›  Fixes false positive ImplicitEnumerateViolation on range with step #1742
    • ๐Ÿ‘ Allows to use _ to declare several unused variables, like: x, _, _ = coordinates()
    • ๐Ÿ›  Fixes variable reassignment in class context
    • ๐Ÿ›  Fixes that *'abc' was not counted as pointless star expression
    • ๐Ÿ›  Fixes that -some was counted as overused expression
    • ๐Ÿ›  Fixes several bugs with attribute names

    Misc

    • โšก๏ธ Updates lots of dependenices
    • ๐Ÿ›  Fixed documentation for TooManyPublicAttributesViolation
    • โšก๏ธ Updated isort config
    • Introduce helper script to check for missing calls to self.generic_visit(node) in AST visitors
    • โšก๏ธ Updates poetry version to 1.1
    • โšก๏ธ Updates reviewdog version to 0.11.0 and adds action-depup
  • v0.14.1 Changes

    July 29, 2020

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixes isort@5 compatibility