What's New in Pylint 1.8.1?#
Release date: 2017-12-15
Wrong version number in __pkginfo__.
What's New in Pylint 1.8?#
Release date: 2017-12-15
Respect disable=... in config file when running with --py3k.
Shallow copy of os.environ doesn't work as people may expect. os.environ is not a dict object but rather a proxy object, so any changes made on copy may have unexpected effects on os.environ
Instead of copy.copy(os.environ) method os.environ.copy() should be used.
See https://bugs.python.org/issue15373 for details.
Do not display no-absolute-import warning multiple times per file.
trailing-comma-tuplerefactor check now extends to assignment with
more than one element (such as lists)
Fixing u'' string in superfluous-parens message
abstract-class-instantiatedis now emitted for all inference paths.
Add set of predefined naming style to ease configuration of checking naming conventions.
Added a new check,
This is emitted for function definitions in which keyword arguments are placed before variable positional arguments (*args).
This may lead to args list getting modified if keyword argument's value is not provided in the function call assuming it will take default value provided in the definition.
invalid-namecheck contains the name of the template that caused the failure
Using the -j flag won't start more child linters than needed.
Fix a false positive with bad-python3-import on relative imports
Added a new Python 3 check,
Added a couple of new Python 3 checks for accessing dict methods in non-iterable context
Protocol checks (not-a-mapping, not-an-iterable and co.) aren't emitted on classes with dynamic getattr
Added a new warning, 'bad-thread-instantiation'
This message is emitted when the threading.Thread class does not receive the target argument, but receives just one argument, which is by default the group parameter.
In non-quiet mode, absolute path of used config file is logged to standard error.
Raise meaningful exception for invalid reporter class being selected
When unknown reporter class will be selected as Pylint reporter, meaningful error message would be raised instead of bare
AttribueErrorrelated to module or reporter class being not found.
Added a new Python 3 check for accessing removed functions from itertools like
Added a new Python 3 check for accessing removed fields from the types module like
Added a new Python 3 check for declaring a method
nextthat would have been treated as an iterator in Python 2 but a normal function in Python 3.
Added a new key-value pair in json output. The key is
message-idand the value is the message id.
Added a new Python 3.0 check for raising a StopIteration inside a generator. The check about raising a StopIteration inside a generator is also valid if the exception raised inherit from StopIteration.
Added a new warning,
raising-format-tuple, to detect multi-argument exception construction instead of message string formatting.
Added a new check for method of logging module that concatenate string via + operator
Added parameter for limiting number of suggestions in spellchecking checkers
Fix a corner-case in
X and A or Bwas falsy in boolean context, Pylint incorrectly emitted non-equivalent ternary-based suggestion. After a change message is correctly not emitted for this case.
suggestion-modeconfiguration flag. When flag is enabled, informational message is emitted instead of cryptic error message for attributes accessed on c-extensions.
Fix a false positive
useless-super-delegationmessage when parameters default values are different from those used in the base class.
Disabling 'wrong-import-order', 'wrong-import-position', or 'ungrouped-imports' for a single line now prevents that line from triggering violations on subsequent lines.
Added a new Python check for inconsistent return statements inside method or function.
superfluous-parensfalse positive related to handling logical statements involving
function-redefinedmessage is no longer emitted for functions and methods which names matches dummy variable name regular expression.
missing-type-docfalse positives when mixing
Keyword Argsin Google docstring.
missing-docstringfalse negatives when modules, classes, or methods consist of compound statements that exceed the
useless-else-on-loopfalse positives when break statements are deeply nested inside loop.
wrong-import-ordermessage emitted on ordering of first and third party libraries. With this fix, pylint distinguishes third and first party modules when checking import order.
pylint disable=fixmedirectives ignored for comments following the last statement in a file.
line-too-longmessage deactivated by wrong disable directive. The directive
disable=fixmedoesn't deactivate anymore the emission of
line-too-longmessage for long commented lines.
If the rcfile specified on the command line doesn't exist, then an IOError exception is raised.
Fix the wrong scope of the
disable=directive after a commented line. For example when a
disable=line-too-longdirective is at the end of a long commented line, it no longer disables the emission of
line-too-longmessage for lines that follow.