Skip to content
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

Pin pylint to latest version 1.8.4 #34

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link

This PR pins pylint to the latest release 1.8.4.

Changelog

1.8.1

=========================

Release date: 2017-12-15

 * Wrong version number in __pkginfo__.

1.8

=========================

Release date: 2017-12-15

 * Respect disable=... in config file when running with --py3k.

 * New warning `shallow-copy-environ` added

   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.

   Close 1301

 * Do not display no-absolute-import warning multiple times per file.

 * `trailing-comma-tuple` refactor check now extends to assignment with
    more than one element (such as lists)

   Close 1713

 * Fixing u'' string in superfluous-parens message

   Close 1420

 * `abstract-class-instantiated` is now emitted for all inference paths.

    Close 1673

 * Add set of predefined naming style to ease configuration of checking
   naming conventions.

   Closes 1013

 * Added a new check, ``keyword-arg-before-vararg``

   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.

 * The `invalid-name` check contains the name of the template that caused the failure

   Close 1176

 * Using the -j flag won't start more child linters than needed.

   Contributed by Roman Ivanov in 1614

 * Fix a false positive with bad-python3-import on relative imports

   Close 1608

 * Added a new Python 3 check, ``non-ascii-bytes-literals``

   Close 1545

 * 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.

   Close 1327

 * In non-quiet mode, absolute path of used config file is logged to
   standard error.
   Close 1519

 * 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 ``ImportError``
   or ``AttribueError`` related to module or reporter class being not found.
   Close 1388

 * Added a new Python 3 check for accessing removed functions from itertools
   like ``izip`` or ``ifilterfalse``

 * Added a new Python 3 check for accessing removed fields from the types
   module like ``UnicodeType`` or ``XRangeType``

 * Added a new Python 3 check for declaring a method ``next`` that 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-id``
   and the value is the message id.
   Close 1512

 * 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.
   Close 1385

 * 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
   Close 1479

 * Added parameter for limiting number of suggestions in spellchecking checkers

 * Fix a corner-case in ``consider-using-ternary`` checker.

   When object ``A`` used in  ``X and A or B`` was falsy in boolean context,
   Pylint incorrectly emitted non-equivalent ternary-based suggestion.
   After a change message is correctly not emitted for this case.
   Close 1559

 * Added ``suggestion-mode`` configuration flag. When flag is enabled, informational
   message is emitted instead of cryptic error message for attributes accessed on
   c-extensions.
   Close 1466

 * Fix a false positive ``useless-super-delegation`` message when
   parameters default values are different from those used in the base class.
   Close 1085

 * Disabling 'wrong-import-order', 'wrong-import-position', or
   'ungrouped-imports' for a single line now prevents that line from
   triggering violations on subsequent lines.

   Close 1336

 * Added a new Python check for inconsistent return statements inside method or function.
   Close 1267

 * Fix ``superfluous-parens`` false positive related to handling logical statements
   involving ``in`` operator.

   Close 574

 * ``function-redefined`` message is no longer emitted for functions and
   methods which names matches dummy variable name regular expression.
   Close 1369

 * Fix ``missing-param-doc`` and ``missing-type-doc`` false positives when
   mixing ``Args`` and ``Keyword Args`` in Google docstring.
   Close 1409

  * Fix ``missing-docstring`` false negatives when modules, classes, or methods
  consist of compound statements that exceed the ``docstring-min-length``

 * Fix ``useless-else-on-loop`` false positives when break statements are
   deeply nested inside loop.
   Close 1661

 * Fix no ``wrong-import-order`` message emitted on ordering of first and third party
   libraries. With this fix, pylint distinguishes third and first party
   modules when checking import order.
   Close 1702

 * Fix ``pylint disable=fixme`` directives ignored for comments following the
   last statement in a file.
   Close 1681

 * Fix ``line-too-long`` message deactivated by wrong disable directive.
   The directive ``disable=fixme`` doesn't deactivate anymore the emission
   of ``line-too-long`` message for long commented lines.
   Close 1741

 * If the rcfile specified on the command line doesn't exist, then an
   IOError exception is raised.
   Close 1747

 * Fix the wrong scope of the ``disable=`` directive after a commented line.
   For example when a ``disable=line-too-long`` directive is at the end of
   a long commented line, it no longer disables the emission of ``line-too-long``
   message for lines that follow.
   Close 1742

1.7.1

=========================

Release date: 2017-04-17

 * Fix a false positive which occurred when an exception was reraised

   Close 1419

 * Fix a false positive of ``disallow-trailing-tuple``

   The check was improved by verifying for non-terminating newlines, which
   should exempt function calls and function definitions from the check
   Close 1424

1.7

=========================

Release date: 2017-04-13

 * Don't emit missing-final-newline or trailing-whitespace for formfeeds (page breaks).

   Close 1218 and 1219

 * Don't emit by default no-member if we have opaque inference objects in the inference results

   This is controlled through the new flag ignore-on-opaque-inference, which is by
   default True. The inference can return  multiple potential results while
   evaluating a Python object, but some branches might not be evaluated, which
   results in partial inference. In that case, it might be useful to still emit
   no-member and other checks for the rest of the inferred objects.

 * Added new message `assign-to-new-keyword` to warn about assigning to names which
   will become a keyword in future Python releases.

   Close 1351

 * Split the 'missing or differing' in parameter documentation in different error.
   'differing-param-doc' covers the differing part of the old 'missing-param-doc',
   and 'differing-type-doc' covers the differing part of the old 'missing-type-doc'

   Close 1342

 * Added a new error, 'used-prior-global-declaration', which is emitted when a name
   is used prior a global declaration in a function. This causes a SyntaxError in
   Python 3.6

   Close 1257

 * The protocol checks are emitting their messages when a special method is set to None.

   Close 1263

 * Properly detect if imported name is assigned to same name in different
   scope.

   Close 636, 848, 851, and 900

 * Require one space for annotations with type hints, as per PEP 8.

 * 'trailing-comma-tuple' check was added

   This message is emitted when pylint finds an one-element tuple,
   created by a stray comma. This can suggest a potential problem in the
   code and it is recommended to use parantheses in order to emphasise the
   creation of a tuple, rather than relying on the comma itself.

 * Don't emit not-callable for instances with unknown bases.

   Close 1213

 * Treat keyword only arguments the same as positional arguments with regard to unused-argument check

 * Don't try to access variables defined in a separate scope when checking for ``protected-access``

 * Added new check to detect incorrect usage of len(SEQUENCE) inside
   test conditions.

 * Added new extension to detect comparisons against empty string constants

 * Added new extension to detect comparisons of integers against zero

 * Added new error conditions for 'bad-super-call'

   Now detects ``super(type(self), self)`` and ``super(self.__class__, self)``
   which can lead to recursion loop in derived classes.

 * PyLinter.should_analyze_file has a new optional parameter, called `is_argument`

   Close 1079

 * Add attribute hints for missing members

   Closes 1035

 * Add a new warning, 'redefined-argument-from-local'

   Closes 649

 * Support inline comments for comma separated values in the config file

   Closes 1024

 * epylint.py_run's *script* parameter was removed.

 * epylint.py_run now uses ``shell=False`` for running the underlying process.

   Closes 441

 * Added a new warning, 'useless-super-delegation'

   Close 839.

 * Added a new error, 'invalid-metaclass', raised when
   we can detect that a class is using an improper metaclass.

   Close 579

 * Added a new refactoring message, 'literal-comparison'.

   Close 786

 * arguments-differ takes in consideration kwonlyargs and variadics

   Close 983

 * Removed --optimized-ast. Part of 975.

 * Removed --files-output option. Part of 975.

 * Removed pylint-gui from the package.

 * Removed the HTML reporter. Part of 975.

 * ignored-argument-names is now used for ignoring arguments for unused-variable check.

   This option was used for ignoring arguments when computing the correct number of arguments
   a function should have, but for handling the arguments with regard
   to unused-variable check, dummy-variables-rgx was used instead. Now, ignored-argument-names
   is used for its original purpose and also for ignoring the matched arguments for
   the unused-variable check. This offers a better control of what should be ignored
   and how.
   Also, the same option was moved from the design checker to the variables checker,
   which means that the option now appears under the ``[VARIABLES]`` section inside
   the configuration file.
   Close 862.

 * Fix a false positive for keyword variadics with regard to keyword only arguments.

   If a keyword only argument was necessary for a function, but that function was called
   with keyword variadics (**kwargs), then we were emitting a missing-kwoa false positive,
   which is now fixed.

   Close 934.

 * Fix some false positives with unknown sized variadics.

   Close 878

 * Added a new extension, check_docstring, for checking PEP 257 conventions.

   Closes 868.

 * config files with BOM markers can now be read.

   Close 864.

 * epylint.py_run does not crash on big files, using .communicate() instead of .wait()

   Close 599

 * Disable reports by default and show the evaluation score by default

   As per discussion from issue 746, the reports were disabled by
   default in order to simplify the interaction between the tool
   and the users. The score is still shown by default, as a way of
   closely measuring when it increases or decreases due to changes
   brought to the code.

 * Disable the information category messages by default.

   This is a step towards making pylint more sane, as
   per the discussion from issue 746.

 * Catch more cases as not proper iterables for __slots__ with
   regard to invalid-slots pattern. Closes issue 775.

 * empty indent strings are rejected.

 * Added a new error, 'relative-beyond-top-level', which is emitted
   when a relative import was attempted beyond the top level package.

   Closes issue 588.

 * Added a new warning, 'unsupported-assignment-operation', which is
   emitted when item assignment is tried on an object which doesn't
   have this ability. Closes issue 591.

 * Added a new warning, 'unsupported-delete-operation', which is
   emitted when item deletion is tried on an object which doesn't
   have this ability. Closes issue 592.

 * Fix a false positive of 'redundant-returns-doc', occurred when the documented
   function was using *yield* instead of *return*.

   Closes issue 984.

 * Fix false positives of 'missing-[raises|params|type]-doc' due to not
   recognizing keyword synonyms supported by Sphinx.

 * Added a new refactoring message, 'consider-merging-isinstance', which is
   emitted whenever we can detect that consecutive isinstance calls can be
   merged together.

   Closes issue 968

 * Fix a false positive of 'missing-param-doc' and 'missing-type-doc',
   occurred when a class docstring uses the 'For the parameters, see'
   magic string but the class __init__ docstring does not, or vice versa.

 * `redefined-outer-name` is now also emitted when a nested loop's target
   variable is the same as a target variable in an outer loop.

   Closes issue 911.

 * Added proper exception type inference for 'missing-raises-doc'.

 * Added InvalidMessageError exception class to replace asserts in
   pylint.utils.

 * More thorough validation in MessagesStore.register_messages() to avoid
   one message accidentally overwriting another.

 * InvalidMessageError, UnknownMessage, and EmptyReport exceptions are
   moved to the new pylint.exceptions submodule.

 * UnknownMessage and EmptyReport are renamed to UnknownMessageError and
   EmptyReportError.

 * Warnings 'missing-returns-type-doc' and 'missing-yields-type-doc'
   have each been split into two warnings - 'missing-[return|yield]-doc'
   and 'missing-[return|yield]-type-doc'.

 * Added epytext support to docparams extension.

   Closes 1029.

 * Support having plugins with the same name and with options defined

   Closes 1018

 * Sort configuration options in a section

   Closes 1087

 * Added a new Python 3 warning around implementing '__div__', '__idiv__', or
   '__rdiv__' as those methods are phased out in Python 3.

 * Added a new warning, 'overlapping-except', which is
   emitted when two exceptions in the same except-clause are aliases
   for each other or one exceptions is an ancestor of another.

 * Avoid crashing on ill-formatted strings when checking for string formatting errors.

 * Added a new Python 3 warning for calling 'str.encode' or 'str.decode' with a non-text
   encoding.

 * Added new coding convention message, 'single-string-used-for-slots'.

   Closes 1166

 * Added a new Python 3 check for accessing 'sys.maxint' which was removed in Python 3 in favor
   of 'sys.maxsize'

 * Added a new Python 3 check for bad imports.

 * Added a new Python 3 check for accessing deprecated string functions.

 * Do not warn about unused arguments or function being redefined in singledispatch
   registered implementations.

   Closes 1032 and 1034

 * Added refactoring message 'no-else-return'.

 * Improve unused-variable checker to warn about unused variables in module scope.

   Closes 919

 * Ignore modules import as _ when checking for unused imports.

   Closes 1190

 * Improve handing of Python 3 classes with metaclasses declared in nested scopes.

   Closes 1177

 * Added refactoring message 'consider-using-ternary'.

   Closes 1204

 * Bug-fix for false-positive logging-format-interpolation` when format specifications
   are used in formatted string.

   Fixes 572

 * Added a new switch ``single-line-class-stmt`` to allow single-line declaration
   of empty class bodies.

   Closes 738

 * Protected access in form `type(self)._attribute` are now allowed.

   Fixes 1031

 * Let the user modify msg-template when Pylint is called from a Python script

   Fixes 1269

 * Imports checker supports new switch ``allow-wildcard-with-all`` which disables
   warning on wildcard import when imported module defines `__all__` variable.

   Fixes 831

 * `too-many-format-args` and `too-few-format-args` are emitted correctly when
   starred expression are used in RHS tuple.

   Fixes 957

 * `cyclic-import` checker supports local disable clauses. When one
   of cycle imports was done in scope where disable clause was active,
   cycle is not reported as violation.

   Fixes 59

1.6.3

===========================

Release date: 2016-07-18

 * Do not crash when inferring uninferable exception types for docparams extension

   Close 998

1.6.2

===========================

Release date: TBA

 * Do not crash when printing the help of options with default regular expressions

   Close 990

 * More granular versions for deprecated modules.

   Close 991

1.6.1

===========================

Release date: 2016-07-07

 * Use environment markers for supporting conditional dependencies.

1.6.0

===========================

Release date: 2016-07-03

 * Added a new extension, `pylint.extensions.mccabe`, for warning
   about complexity in code.

 * Deprecate support for --optimize-ast. Part of 975.

 * Deprecate support for the HTML output. Part of 975.

 * Deprecate support for --output-files. Part of 975.

 * Fixed a documentation error for the check_docs extension. Fixes 735.

 * Made the list of property-defining decorators configurable.

 * Fix a bug where the top name of a qualified import was detected as unused variable.

   Close 923.

 * bad-builtin is now an extension check.

 * generated-members support qualified name through regular expressions.

   For instance, one can specify a regular expression as --generated-members=astroid.node_classes.*
   for ignoring every no-member error that is accessed as in `astroid.node_classes.missing.object`.

 * Add the ability to ignore files based on regex matching, with the new ``--ignore-patterns``
   option.

   This addresses issue 156 by allowing for multiple ignore patterns
   to be specified. Rather than clobber the existing ignore option, we
   introduced a new one called ignore-patterns.

 * Added a new error, 'trailing-newlines', which is emitted when a file
   has trailing new lines.

   Closes issue 682.

 * Add a new option, 'redefining-builtins-modules', for controlling the modules
   which can redefine builtins, such as six.moves and future.builtins.

   Close 464.

 * 'reimported' is emitted when the same name is imported from different module.

   Close 162.

 * Add a new recommendation checker, 'consider-iterating-dictionary', which is emitted
   which is emitted when a dictionary is iterated through .keys().

   Close 699

 * Use the configparser backport for Python 2

   This fixes a problem we were having with comments inside values, which is fixed
   in Python 3's configparser.
   Close 828

 * A new error was added, 'invalid-length-returned', when the `__len__`
   special method returned something else than a non-negative number.

   Close issue 557

 * Switch to using isort internally for wrong-import-order.

   Closes 879.

 * check_docs extension can find constructor parameters in __init__.

   Closes 887.

 * Don't warn about invalid-sequence-index if the indexed object has unknown base
   classes.

   Closes 867

 * Don't crash when checking, for super-init-not-called, a method defined in an if block.

 * Do not emit import-error or no-name-in-module for fallback import blocks by default.

   Until now, we warned with these errors when a fallback import block (a TryExcept block
   that contained imports for Python 2 and 3) was found, but this gets cumbersome when
   trying to write compatible code. As such, we don't check these blocks by default,
   but the analysis can be enforced by using the new ``--analyse-fallback-block`` flag.

   Close 769.

1.5.5

===========================

Release date: 2016-03-21


 * Let visit_importfrom from Python 3 porting checker be called when everything is disabled

   Because the visit method was filtering the patterns it was expecting to be activated,
   it didn't run when everything but one pattern was disabled, leading to spurious false
   positives

   Close 852

 * Don't emit unsubscriptable-value for classes with unknown
   base classes.

   Close 776.

 * Use an OrderedDict for storing the configuration elements

   This fixes an issue related to impredictible order of the disable / enable
   elements from a config file. In certain cases, the disable was coming before
   the enable which resulted in classes of errors to be enabled, even though the intention
   was to disable them. The best example for this was in the context of running multiple
   processes, each one of it having different enables / disables that affected the output.

   Close 815

 * Don't consider bare and broad except handlers as ignoring NameError,
   AttributeError and similar exceptions, in the context of checkers for
   these issues.

   Closes issue 826

1.5.4

===========================

Release date: 2016-01-15


 * Merge StringMethodChecker with StringFormatChecker. This fixes a
   bug where disabling all the messages and enabling only a handful of
   messages from the StringFormatChecker would have resulted in no
   messages at all.

 * Don't apply unneeded-not over sets.

1.5.3

===========================

Release date: 2016-01-11

 * Handle the import fallback idiom with regard to wrong-import-order.

   Closes issue 750.

 * Decouple the displaying of reports from the displaying of messages

   Some reporters are aggregating the messages instead of displaying
   them when they are available. The actual displaying was conflatted
   in the generate_reports. Unfortunately this behaviour was flaky
   and in the case of the JSON reporter, the messages weren't shown
   at all if a file had syntax errors or if it was missing.
   In order to fix this, the aggregated messages can now be
   displayed with Reporter.display_message, while the reports are
   displayed with display_reports.

   Closes issues 766 and 765.

 * Ignore function calls with variadic arguments without a context.

   Inferring variadic positional arguments and keyword arguments
   will result into empty Tuples and Dicts, which can lead in
   some cases to false positives with regard to no-value-for-parameter.
   In order to avoid this, until we'll have support for call context
   propagation, we're ignoring such cases if detected.
   Closes issue 722.

 * Treat AsyncFunctionDef just like FunctionDef nodes,
   by implementing visit_asyncfunctiondef in terms of
   visit_functiondef.

   Closes issue 767.

 * Take in account kwonlyargs when verifying that arguments
   are defined with the check_docs extension.

   Closes issue 745.

 * Suppress reporting 'unneeded-not' inside `__ne__` methods

   Closes issue 749.

1.5.2

===========================

Release date: 2015-12-21

 * Don't crash if graphviz is not installed, instead emit a
   warning letting the user to know.

   Closes issue 168.

 * Accept only functions and methods for the deprecated-method checker.

   This prevents a crash which can occur when an object doesn't have
   .qname() method after the inference.

 * Don't emit super-on-old-class on classes with unknown bases.
   Closes issue 721.

 * Allow statements in `if` or `try` blocks containing imports.

   Closes issue 714.

1.5.1

===========================

Release date: 2015-12-02


 * Fix a crash which occurred when old visit methods are encountered
   in plugin modules. Closes issue 711.

 * Add wrong-import-position to check_messages's decorator arguments
   for ImportChecker.leave_module
   This fixes an esoteric bug which occurs when ungrouped-imports and
   wrong-import-order are disabled and pylint is executed on multiple files.
   What happens is that without wrong-import-position in check_messages,
   leave_module will never be called, which means that the first non-import node
   from other files might leak into the current file,
   leading to wrong-import-position being emitted by pylint.

 * Fix a crash which occurred when old visit methods are encountered
   in plugin modules. Closes issue 711.

 * Don't emit import-self and cyclic-import for relative imports
   of modules with the same name as the package itself.
   Closes issues 708 and 706.

1.5.0

===========================

Release date: 2015-11-29


 * Added multiple warnings related to imports. 'wrong-import-order'
   is emitted when PEP 8 recommendations regarding imports are not
   respected (that is, standard imports should be followed by third-party
   imports and then by local imports). 'ungrouped-imports' is emitted
   when imports from the same package or module are not placed
   together, but scattered around in the code. 'wrong-import-position'
   is emitted when code is mixed with imports, being recommended for the
   latter to be at the top of the file, in order to figure out easier by
   a human reader what dependencies a module has.
   Closes issue 692.

 * Added a new refactoring warning, 'unneeded-not', emitted
   when an expression with the not operator could be simplified.
   Closes issue 670.

 * Added a new refactoring warning, 'simplifiable-if-statement',
   used when an if statement could be reduced to a boolean evaluation
   of its test. Closes issue 698.

 * Added a new refactoring warning, 'too-many-boolean-expressions',
   used when an if statement contains too many boolean expressions,
   which makes the code less maintainable and harder to understand.
   Closes issue 677.

 * Property methods are shown as attributes instead of functions in
   pyreverse class diagrams. Closes Issue 284

 * Add a new refactoring error, 'too-many-nested-blocks', which is emitted
   when a function or a method has too many nested blocks, which makes the
   code less readable and harder to understand. Closes issue 668.

 * Add a new error, 'unsubscriptable-object', that is emitted when
   value used in subscription expression doesn't support subscription
   (i.e. doesn't define __getitem__ method).

 * Don't warn about abstract classes instantiated in their own
   body. Closes issue 627.

 * Obsolete options are not present by default in the generated
   configuration file. Closes issue 632.

 * non-iterator-returned can detect classes with iterator-metaclasses.
   Closes issue 679.

 * Add a new error, 'unsupported-membership-test', emitted when value
   to the right of the 'in' operator doesn't support membership test
   protocol (i.e. doesn't define __contains__/__iter__/__getitem__)

 * Add new errors, 'not-an-iterable', emitted when non-iterable value
   is used in an iterating context (starargs, for-statement,
   comprehensions, etc), and 'not-a-mapping', emitted when non-mapping
   value is used in a mapping context. Closes issue 563.

 * Make 'no-self-use' checker not emit a warning if there is a 'super()'
   call inside the method.
   Closes issue 667.

 * Add checker to identify multiple imports on one line.
   Closes issue 598.

 * Fix unused-argument false positive when the "+=" operator is used.
   Closes issue 518.

 * Don't emit import-error for ignored modules. PyLint will not emit import
   errors for any import which is, or is a subpackage of, a module in
   the ignored-modules list. Closes issue 223.

 * Fix unused-import false positive when the import is used in a
   class assignment. Closes issue 475

 * Add a new error, 'not-context-manager', emitted when something
   that doesn't implement __enter__ and __exit__ is used in a with
   statement.

 * Add a new warning, 'confusing-with-statement', emitted by the
   base checker, when an ambiguous looking with statement is used.
   For example `with open() as first, second` which looks like a
   tuple assignment but is actually 2 context managers.

 * Add a new warning, 'duplicate-except', emitted when there is an
   exception handler which handles an exception type that was handled
   before. Closes issue 485.

 * A couple of warnings got promoted to errors, since they could uncover
   potential bugs in the code. These warnings are: assignment-from-none,
   unbalanced-tuple-unpacking, unpacking-non-sequence, non-iterator-returned.
   Closes issue 388.

 * Allow ending a pragma control with a semicolon. In this way, users
   can continue a pragma control with a reason for why it is used,
   as in ` pylint: disable=old-style-class;reason=...`.
   Closes issue 449.

 * --jobs can be used with --load-plugins now. Closes issue 456.

 * Improve the performance of --jobs when dealing only with a package
   name. Closes issue 479.

 * Don't emit an unused-wildcard-import when the imported name comes
   from another module and it is in fact a __future__ name.

 * The colorized reporter now works on Windows. Closes issue 96.

 * Remove pointless-except warning. It was previously disabled by
   default and it wasn't very useful. Closes issue 506.

 * Fix a crash on Python 3 related to the string checker, which
   crashed when it encountered a bytes string with a .format
   method called.

 * Don't warn about no-self-use for builtin properties.

 * Fix a false positive for bad-reversed-sequence, when a subclass
   of a `dict` provides a __reversed__ method.

 * Change the default no-docstring-rgx so missing-docstring isn't
   emitted for private functions.

 * Don't emit redefined-outer-name for __future__ directives.
   Closes issue 520.

 * Provide some hints for the bad-builtin message. Closes issue 522.

 * When checking for invalid arguments to a callable, in typecheck.py,
   look up for the __init__ in case the found __new__ comes from builtins.

   Since the __new__ comes from builtins, it will not have attached any
   information regarding what parameters it expects, so the check
   will be useless. Retrieving __init__ in that case will at least
   detect a couple of false negatives. Closes issue 429.

 * Don't emit no-member for classes with unknown bases.

   Since we don't know what those bases might add, we simply ignore
   the error in this case.

 * Lookup in the implicit metaclass when checking for no-member,
   if the class in question has an implicit metaclass, which is
   True for new style classes. Closes issue 438.

 * Add two new warnings, duplicate-bases and inconsistent-mro.

   duplicate-bases is emitted when a class has the same bases
   listed more than once in its bases definition, while inconsistent-mro
   is emitted when no sane mro hierarchy can be determined. Closes issue 526.

 * Remove interface-not-implemented warning. Closes issue 532.

 * Remove the rest of interface checks: interface-is-not-class,
   missing-interface-method, unresolved-interface. The reason is that
   its better to start recommending ABCs instead of the old Zope era
   of interfaces. One side effect of this change is that ignore-iface-methods
   becomes a noop, it's deprecated and it will be removed at some time.

 * Emit a proper deprecation warning for reporters.BaseReporter.add_message.

   The alternative way is to use handle_message. add_message will be removed in
   Pylint 1.6.

 * Added new module 'extensions' for optional checkers with the test
   directory 'test/extensions' and documentation file 'doc/extensions.rst'.

 * Added new checker 'extensions.check_docs' that verifies parameter
   documention in Sphinx, Google, and Numpy style.

 * Detect undefined variable cases, where the "definition" of an undefined
   variable was in del statement. Instead of emitting used-before-assignment,
   which is totally misleading, it now emits undefined-variable.
   Closes issue 528.

 * Don't emit attribute-defined-outside-init and access-member-before-definition
   for mixin classes. Actual errors can occur in mixin classes, but this is
   controlled by the ignore-mixin-members option. Closes issue 412.

 * Improve the detection of undefined variables and variables used before
   assignment for variables used as default arguments to function,
   where the variable was first defined in the class scope.
   Closes issue 342 and issue 404.

 * Add a new warning, 'unexpected-special-method-signature', which is emitted
   when a special method (dunder method) doesn't have the expected signature,
   which can lead to actual errors in the application code.
   Closes issue 253.

 * Remove 'bad-context-manager' due to the inclusion of 'unexpected-special-method-signature'.

 * Don't emit no-name-in-module if the import is guarded by an ImportError, Exception or
   a bare except clause.

 * Don't emit no-member if the attribute access node is protected by an
   except handler, which handles AttributeError, Exception or it is a
   bare except.

 * Don't emit import-error if the import is guarded by an ImportError, Exception or a
   bare except clause.

 * Don't emit undefined-variable if the node is guarded by a NameError, Exception
   or bare except clause.

 * Add a new warning, 'using-constant-test', which is emitted when a conditional
   statement (If, IfExp) uses a test which is always constant, such as numbers,
   classes, functions etc. This is most likely an error from the user's part.
   Closes issue 524.

 * Don't emit 'raising-non-exception' when the exception has unknown
   bases. We don't know what those bases actually are and it's better
   to assume that the user knows what he is doing rather than emitting
   a message which can be considered a false positive.

 * Look for a .pylintrc configuration file in the current folder,
   if pylintrc is not found. Dotted pylintrc files will not be searched
   in the parents of the current folder, as it is done for pylintrc.

 * Add a new error, 'invalid-unary-type-operand', emitted when
   an unary operand is used on something which doesn't support that
   operation (for instance, using the unary bitwise inversion operator
   on an instance which doesn't implement __invert__).

 * Take in consideration differences between arguments of various
   type of functions (classmethods, staticmethods, properties)
   when checking for `arguments-differ`. Closes issue 548.

 * astroid.inspector was moved to pylint.pyreverse, since it belongs
   there and it doesn't need to be in astroid.

 * astroid.utils.LocalsVisitor was moved to pylint.pyreverse.LocalsVisitor.

 * pylint.checkers.utils.excepts_import_error was removed.
   Use pylint.chekcers.utils.error_of_type instead.

 * Don't emit undefined-all-variables for nodes which can't be
   inferred (YES nodes).

 * yield-outside-func is also emitted for `yield from`.

 * Add a new error, 'too-many-star-expressions', emitted when
   there are more than one starred expression (`*x`) in an assignment.
   The warning is emitted only on Python 3.

 * Add a new error, 'invalid-star-assignment-target', emitted when
   a starred expression (`*x`) is used as the lhs side of an assignment,
   as in `*x = [1, 2]`. This is not a SyntaxError on Python 3 though.

 * Detect a couple of objects which can't be base classes (bool,
   slice, range and memoryview, which weren't detected until now).

 * Add a new error for the Python 3 porting checker, `import-star-module-level`,
   which is used when a star import is detected in another scope than the
   module level, which is an error on Python 3. Using this will emit a
   SyntaxWarning on Python 2.

 * Add a new error, 'star-needs-assignment-target', emitted on Python 3 when
   a Starred expression (`*x`) is not used in an assignment target. This is not
   caught when parsing the AST on Python 3, so it needs to be a separate check.

 * Add a new error, 'unsupported-binary-operation', emitted when
   two a binary arithmetic operation is executed between two objects
   which don't support it (a number plus a string for instance).
   This is currently disabled, since the it exhibits way too many false
   positives, but it will be reenabled as soon as possible.

 * New imported features from astroid into pyreverse: pyreverse.inspector.Project,
   pyreverse.inspector.project_from_files and pyreverse.inspector.interfaces.

   These were moved since they didn't belong in astroid.

 * Enable misplaced-future for Python 3. Closes issue 580.

 * Add a new error, 'nonlocal-and-global', which is emitted when a
   name is found to be both nonlocal and global in the same scope.
   Closes issue 581.

 * ignored-classes option can work with qualified names (ignored-classes=optparse.Values)
   Closes issue 297.

 * ignored-modules can work with qualified names as well as with Unix pattern
   matching for recursive ignoring. Closes issues 244.

 * Improve detection of relative imports in non-packages, as well as importing
   missing modules with a relative import from a package.

 * Don't emit no-init if not all the bases from a class are known.
   Closes issue 604.

 * --no-space-check option accepts `empty-line` as a possible option.
   Closes issue 541.

 * --generate-rcfile generates by default human readable symbols
   for the --disable option. Closes issue 608.

 * Improved the not-in-loop checker to properly detect more cases.

 * Add a new error, 'continue-in-finally', which is emitted when
   the `continue` keyword is found inside a `finally` clause, which
   is a SyntaxError.

 * The --zope flag is deprecated and it is slated for removal
   in Pylint 1.6.

   The reason behind this removal is the fact that it's a specialized
   flag and there are solutions for the original problem:
   use --generated-members with the members that causes problems
   when using Zope or add AST transforms tailored to the zope
   project.

   At the same time, --include-ids and --symbols will also be removed
   in Pylint 1.6. Closes issue 570.

 * missing-module-attribute was removed and the corresponding
   CLI option, required-attributes, which is slated for removal
   in Pylint 1.6.

 * missing-reversed-argument was removed.

   The reason behind this is that this kind of errors should be
   detected by the type checker for *all* the builtins and not
   as a special case for the reversed builtin. This will happen
   shortly in the future.

 * --comment flag is obsolete and it will be removed in Pylint 1.6.

 * --profile flag is obsolete and it will be removed in Pylint 1.6.

 * Add a new error, 'misplaced-bare-raise'.

   The error is used when a bare raise is not used inside an except clause.
   This can generate a RuntimeError in Python, if there are no active exceptions
   to be reraised. While it works in Python 2 due to the fact that the exception
   leaks outside of the except block, it's nevertheless a behaviour that
   a user shouldn't depend upon, since it's not obvious to the reader of the code
   what exception will be raised and it will not be compatible with Python 3 anyhow.
   Closes issue 633.

 * Bring logilab-common's ureports into pylint.reporters.

   With this change, we moved away from depending on logilab-common,
   having in Pylint all the components that were used from logilab-common.
   The API should be considered an implementation detail and can change at
   some point in the future.
   Closes issue 621.

 * `reimported` is emitted for reimported objects on the same line.

   Closes issue 639.

 * Abbreviations of command line options are not supported anymore.

   Using abbreviations for CLI options was never considered to be
   a feature of pylint, this fact being only a side effect of using optparse.
   As this was the case, using --load-plugin or other abbreviation
   for --load-plugins never actually worked, while it also didn't raise
   an error. Closes issue 424.

 * Add a new error, 'nonlocal-without-binding'

   The error is emitted on Python 3 when a nonlocal name is not bound
   to any variable in the parents scopes. Closes issue 582.

 * 'deprecated-module' can be shown for modules which aren't
    available. Closes issue 362.

 * Don't consider a class abstract if its members can't
   be properly inferred.

   This fixes a false positive related to abstract-class-instantiated.
   Closes issue 648.

 * Add a new checker for the async features added by PEP 492.

 * Add a new error, 'yield-inside-async-function', emitted on
   Python 3.5 and upwards when the `yield` statement is found inside
   a new coroutine function (PEP 492).

 * Add a new error, 'not-async-context-manager', emitted when
   an async context manager block is used with an object which doesn't
   support this protocol (PEP 492).

 * Add a new convention warning, 'singleton-comparison', emitted when
   comparison to True, False or None is found.

 * Don't emit 'assigning-non-slot' for descriptors. Closes issue 652.

 * Add a new error, 'repeated-keyword', when a keyword argument is passed
   multiple times into a function call.

   This is similar with redundant-keyword-arg, but it's mildly different
   that it needs to be a separate error.

 * --enable=all can now be used. Closes issue 142.

 * Add a new convention message, 'misplaced-comparison-constant',
   emitted when a constant is placed in the left hand side of a comparison,
   as in '5 == func()'. This is also called Yoda condition, since the
   flow of code reminds of the Star Wars green character, conditions usually
   encountered in languages with variabile assignments in conditional
   statements.

 * Add a new convention message, 'consider-using-enumerate', which is
   emitted when code that uses `range` and `len` for iterating is encountered.
   Closes issue 684.

 * Added two new refactoring messages, 'no-classmethod-decorator' and
   'no-staticmethod-decorator', which are emitted when a static method or a class
   method is declared without using decorators syntax.

   Closes issue 675.

1.4.3

===========================

Release date: 2015-03-14


 * Remove three warnings: star-args, abstract-class-little-used,
   abstract-class-not-used. These warnings don't add any real value
   and they don't imply errors or problems in the code.

 * Added a new option for controlling the peephole optimizer in astroid.
   The option ``--optimize-ast`` will control the peephole optimizer,
   which is used to optimize a couple of AST subtrees. The current problem
   solved by the peephole optimizer is when multiple joined strings,
   with the addition operator, are encountered. If the numbers of such
   strings is high enough, Pylint will then fail with a maximum recursion
   depth exceeded error, due to its visitor architecture. The peephole
   just transforms such calls, if it can, into the final resulting string
   and this exhibit a problem, because the visit_binop method stops being
   called (in the optimized AST it will be a Const node).

1.4.2

===========================

Release date: 2015-03-11

 * Don't require a docstring for empty modules. Closes issue 261.

 * Fix a false positive with `too-few-format-args` string warning,
   emitted when the string format contained a normal positional
   argument ('{0}'), mixed with a positional argument which did
   an attribute access ('{0.__class__}').
   Closes issue 463.

 * Take in account all the methods from the ancestors
   when checking for too-few-public-methods. Closes issue 471.

 * Catch enchant errors and emit 'invalid-characters-in-docstring'
   when checking for spelling errors. Closes issue 469.

 * Use all the inferred statements for the super-init-not-called
   check. Closes issue 389.

 * Add a new warning, 'unichr-builtin', emitted by the Python 3
   porting checker, when the unichr builtin is found. Closes issue 472.

 * Add a new warning, 'intern-builtin', emitted by the Python 3
   porting checker, when the intern builtin is found. Closes issue 473.

 * Add support for editable installations.

 * The HTML output accepts the `--msg-template` option. Patch by
   Dan Goldsmith.

 * Add 'map-builtin-not-iterating' (replacing 'implicit-map-evaluation'),
   'zip-builtin-not-iterating', 'range-builtin-not-iterating', and
   'filter-builtin-not-iterating' which are emitted by `--py3k` when the
   appropriate built-in is not used in an iterating context (semantics
   taken from 2to3).

 * Add a new warning, 'unidiomatic-typecheck', emitted when an explicit
   typecheck uses type() instead of isinstance(). For example,
   `type(x) == Y` instead of `isinstance(x, Y)`. Patch by Chris Rebert.
   Closes issue 299.

 * Add support for combining the Python 3 checker mode with the --jobs
   flag (--py3k and --jobs). Closes issue 467.

 * Add a new warning for the Python 3 porting checker, 'using-cmp-argument',
   emitted when the `cmp` argument for the `list.sort` or `sorted builtin`
   is encountered.

 * Make the --py3k flag commutative with the -E flag. Also, this patch
   fixes the leaks of error messages from the Python 3 checker when
   the errors mode was activated. Closes issue 437.

1.4.1

===========================

Release date: 2015-01-16

 * Look only in the current function's scope for bad-super-call.
   Closes issue 403.

 * Check the return of properties when checking for not-callable.
   Closes issue 406.

 * Warn about using the input() or round() built-ins for Python 3.
   Closes issue 411.

 * Proper abstract method lookup while checking for
   abstract-class-instantiated. Closes issue 401.

 * Use a mro traversal for finding abstract methods. Closes issue 415.

 * Fix a false positive with catching-non-exception and tuples of
   exceptions.

 * Fix a false negative with raising-non-exception, when the raise used
   an uninferrable exception context.

 * Fix a false positive on Python 2 for raising-bad-type, when
   raising tuples in the form 'raise (ZeroDivisionError, None)'.

 * Fix a false positive with invalid-slots-objects, where the slot entry
   was a unicode string on Python 2. Closes issue 421.

 * Add a new warning, 'redundant-unittest-assert', emitted when using
   unittest's methods assertTrue and assertFalse with constant value
   as argument. Patch by Vlad Temian.

 * Add a new JSON reporter, usable through -f flag.

 * Add the method names for the 'signature-differs' and 'argument-differs'
   warnings. Closes issue 433.

 * Don't compile test files when installing.

 * Fix a crash which occurred when using multiple jobs and the files
   given as argument didn't exist at all.

1.4.0

============================

Release date: 2014-11-23


 * Added new options for controlling the loading of C extensions.
   By default, only C extensions from the stdlib will be loaded
   into the active Python interpreter for inspection, because they
   can run arbitrary code on import. The option
   `--extension-pkg-whitelist` can be used to specify modules
   or packages that are safe to load.

 * Change default max-line-length to 100 rather than 80

 * Drop BaseRawChecker class which were only there for backward
   compat for a while now

 * Don't try to analyze string formatting with objects coming from
   function arguments. Closes issue 373.

 * Port source code to be Python 2/3 compatible. This drops the
   need for 2to3, but does drop support for Python 2.5.

 * Each message now comes with a confidence level attached, and
   can be filtered base on this level. This allows to filter out
   all messages that were emitted even though an inference failure
   happened during checking.

 * Improved presenting unused-import message. Closes issue 293.

 * Add new checker for finding spelling errors. New messages:
   wrong-spelling-in-comment, wrong-spelling-in-docstring.
   New options: spelling-dict, spelling-ignore-words.

 * Add new '-j' option for running checks in sub-processes.

 * Added new checks for line endings if they are mixed (LF vs CRLF)
   or if they are not as expected. New messages: mixed-line-endings,
   unexpected-line-ending-format. New option: expected-line-ending-format.

 * 'dangerous-default-value' no longer evaluates the value of the arguments,
   which could result in long error messages or sensitive data being leaked.
   Closes issue 282

 * Fix a false positive with string formatting checker, when
   encountering a string which uses only position-based arguments.
   Closes issue 285.

 * Fix a false positive with string formatting checker, when using
   keyword argument packing. Closes issue 288.

 * Proper handle class level scope for lambdas.

 * Handle 'too-few-format-args' or 'too-many-format-args' for format
   strings with both named and positional fields. Closes issue 286.

 * Analyze only strings by the string format checker. Closes issue 287.

 * Properly handle nested format string fields. Closes issue 294.

 * Don't emit 'attribute-defined-outside-init' if the attribute
   was set by a function call in a defining method. Closes issue 192.

 * Properly handle unicode format strings for Python 2.
   Closes issue 296.

 * Don't emit 'import-error' if an import was protected by a try-except,
   which excepted ImportError.

 * Fix an 'unused-import' false positive, when the error was emitted
   for all the members imported with 'from import' form.
   Closes issue 304.

 * Don't emit 'invalid-name' when assigning a name in an
   ImportError handler. Closes issue 302.

 * Don't count branches from nested functions.

 * Fix a false positive with 'too-few-format-args', when the format
   strings contains duplicate manual position arguments.
   Closes issue 310.

 * fixme regex handles comments without spaces after the hash.
   Closes issue 311.

 * Don't emit 'unused-import' when a special object is imported
   (__all__, __doc__ etc.). Closes issue 309.

 * Look in the metaclass, if defined, for members not found in the current
   class. Closes issue 306.

 * Don't emit 'protected-access' if the attribute is accessed using
   a property defined at the class level.

 * Detect calls of the parent's __init__, through a binded super() call.

 * Check that a class has an explicitly defined metaclass before
   emitting 'old-style-class' for Python 2.

 * Emit 'catching-non-exception' for non-class nodes. Closes issue 303.

 * Order of reporting is consistent.

 * Add a new warning, 'boolean-datetime', emitted when an instance
   of 'datetime.time' is used in a boolean context. Closes issue 239.

 * Fix a crash which occurred while checking for 'method-hidden',
   when the parent frame was something different than a function.

 * Generate html output for missing files. Closes issue 320.

 * Fix a false positive with 'too-many-format-args', when the format
   string contains mixed attribute access arguments and manual
   fields. Closes issue 322.

 * Extend the cases where 'undefined-variable' and 'used-before-assignment'
   can be detected. Closes issue 291.

 * Add support for customising callback identifiers, by adding a new
   '--callbacks' command line option. Closes issue 326.

 * Add a new warning, 'logging-format-interpolation', emitted when .format()
   string interpolation is used within logging function calls.

 * Don't emit 'unbalanced-tuple-unpacking' when the rhs of the assignment
   is a variable length argument. Closes issue 329.

 * Add a new warning, 'inherit-non-class', emitted when a class inherits
   from something which is not a class. Closes issue 331.

 * Fix another false positives with 'undefined-variable', where the variable
   can be found as a class assignment and used in a function annotation.
   Closes issue 342.

 * Handle assignment of the string format method to a variable.
   Closes issue 351.

 * Support wheel packaging format for PyPi. Closes issue 334.

 * Check that various built-ins that do not exist in Python 3 are not
   used: apply, basestring, buffer, cmp, coerce, execfile, file, long
   raw_input, reduce, StandardError, unicode, reload and xrange.

 * Warn for magic methods which are not used in any way in Python 3:
   __coerce__, __delslice__, __getslice__, __setslice__, __cmp__,
   __oct__, __nonzero__ and __hex__.

 * Don't emit 'assigning-non-slot' when the assignment is for a property.
   Closes issue 359.

 * Fix for regression: '{path}' was no longer accepted in '--msg-template'.

 * Report the percentage of all messages, not just for errors and warnings.
   Closes issue 319.

 * 'too-many-public-methods' is reported only for methods defined in a class,
   not in its ancestors. Closes issue 248.

 * 'too-many-lines' disable pragma can be located on any line, not only the
   first. Closes issue 321.

 * Warn in Python 2 when an import statement is found without a
   corresponding `from __future__ import absolute_import`.

 * Warn in Python 2 when a non-floor division operation is found without
   a corresponding `from __future__ import division`.

 * Add a new option, 'exclude-protected', for excluding members
   from the protected-access warning. Closes issue 48.

 * Warn in Python 2 when using dict.iter*(), dict.view*(); none of these
   methods are available in Python 3.

 * Warn in Python 2 when calling an object's next() method; Python 3 uses
   __next__() instead.

 * Warn when assigning to __metaclass__ at a class scope; in Python 3 a
   metaclass is specified as an argument to the 'class' statement.

 * Warn when performing parameter tuple unpacking; it is not supported in
   Python 3.

 * 'abstract-class-instantiated' is also emitted for Python 2.
   It was previously disabled.

 * Add 'long-suffix' error, emitted when encountering the long suffix
   on numbers.

 * Add support for disabling a checker, by specifying an 'enabled'
   attribute on the checker class.

 * Add a new CLI option, --py3k, for enabling Python 3 porting mode. This
   mode will disable all other checkers and will emit warnings and
   errors for constructs which are invalid or removed in Python 3.

 * Add 'old-octal-literal' to Python 3 porting checker, emitted when
   encountering octals with the old syntax.

 * Add 'implicit-map-evaluation' to Python 3 porting checker, emitted
   when encountering the use of map builtin, without explicit evaluation.

1.3.0

===========================

Release date: 2014-07-26

 * Allow hanging continued indentation for implicitly concatenated
   strings. Closes issue 232.

 * Pylint works under Python 2.5 again, and its test suite passes.

 * Fix some false positives for the cellvar-from-loop warnings.
   Closes issue 233.

 * Return new astroid class nodes when the inferencer can detect that
   that result of a function invocation on a type (like `type` or
   `abc.ABCMeta`) is requested. Closes 205.

 * Emit 'undefined-variable' for undefined names when using the
   Python 3 `metaclass=` argument.

 * Checkers respect priority now. Close issue 229.

 * Fix a false positive regarding W0511. Closes issue 149.

 * Fix unused-import false positive with Python 3 metaclasses (143).

 * Don't warn with 'bad-format-character' when encountering
   the 'a' format on Python 3.

 * Add multiple checks for PEP 3101 advanced string formatting:
   'bad-format-string', 'missing-format-argument-key',
   'unused-format-string-argument', 'format-combined-specification',
   'missing-format-attribute' and 'invalid-format-index'.

 * Issue broad-except and bare-except even if the number
   of except handlers is different than 1. Fixes issue 113.

 * Issue attribute-defined-outside-init for all cases, not just
   for the last assignment. Closes issue 262.

 * Emit 'not-callable' when calling properties. Closes issue 268.

 * Fix a false positive with unbalanced iterable unpacking,
   when encountering starred nodes. Closes issue 273.

 * Add new checks, 'invalid-slice-index' and 'invalid-sequence-index'
   for invalid sequence and slice indices.

 * Add 'assigning-non-slot' warning, which detects assignments to
   attributes not defined in slots.

 * Don't emit 'no-name-in-module' for ignored modules.
   Closes issue 223.

 * Fix an 'unused-variable' false positive, where the variable is
   assigned through an import. Closes issue 196.

 * Definition order is considered for classes, function arguments
   and annotations. Closes issue 257.

 * Don't emit 'unused-variable' when assigning to a nonlocal.
   Closes issue 275.

 * Do not let ImportError propagate from the import checker, leading to crash
   in some namespace package related cases. Closes issue 203.

 * Don't emit 'pointless-string-statement' for attribute docstrings.
   Closes issue 193.

 * Use the proper mode for pickle when opening and writing the stats file.
   Closes issue 148.

 * Don't emit hidden-method message when the attribute has been
   monkey-patched, you're on your own when you do that.

 * Only emit attribute-defined-outside-init for definition within the same
   module as the offended class, avoiding to mangle the output in some cases.

 * Don't emit 'unnecessary-lambda' if the body of the lambda call contains
   call chaining. Closes issue 243.

 * Don't emit 'missing-docstring' when the actual docstring uses `.format`.
   Closes issue 281.

1.2.1

===========================

Release date: 2014-04-30

 * Restore the ability to specify the init-hook option via the
   configuration file, which was accidentally broken in 1.2.0.

 * Add a new warning [bad-continuation] for badly indentend continued
   lines.

 * Emit [assignment-from-none] when the function contains bare returns.
   Fixes BitBucket issue 191.

 * Added a new warning for closing over variables that are
   defined in loops. Fixes Bitbucket issue 176.

 * Do not warn about \u escapes in string literals when Unicode literals
   are used for Python 2.*. Fixes BitBucket issue 151.

 * Extend the checking for unbalanced-tuple-unpacking and
   unpacking-non-sequence to instance attribute unpacking as well.

 * Fix explicit checking of python script (1.2 regression, 219)

 * Restore --init-hook, renamed accidentally into --init-hooks in 1.2.0
   (211)

 * Add 'indexing-exception' warning, which detects that indexing
   an exception occurs in Python 2 (behaviour removed in Python 3).

1.2.0

===========================

Release date: 2014-04-18

 * Pass the current python paths to pylint process when invoked via
   epylint.  Fixes BitBucket issue 133.

 * Add -i / --include-ids and -s / --symbols back as completely ignored
   options. Fixes BitBucket issue 180.

 * Extend the number of cases in which logging calls are detected. Fixes
   bitbucket issue 182.

 * Improve pragma handling to not detect pylint:* strings in non-comments.
   Fixes BitBucket issue 79.

 * Do not crash with UnknownMessage if an unknown message ID/name appears
   in disable or enable in the configuration. Patch by Cole Robinson.
   Fixes bitbucket issue 170.

 * Add new warning 'eval-used', checking that the builtin function `eval`
   was used.

 * Make it possible to show a naming hint for invalid name by setting
   include-naming-hint. Also make the naming hints configurable. Fixes
   BitBucket issue 138.

 * Added support for enforcing multiple, but consistent name styles for
   different name types inside a single module; based on a patch written
   by morbogoogle.com.

 * Also warn about empty docstrings on overridden methods; contributed
   by sebastianugoogle.com.

 * Also inspect arguments to constructor calls, and emit relevant
   warnings; contributed by sebastianugoogle.com.

 * Added a new configuration option logging-modules to make the list
   of module names that can be checked for 'logging-not-lazy' et

jokim pushed a commit that referenced this pull request May 3, 2023
Refactor the dfo client to use `Cerebrum.utils.http`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant