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

Update pylint to 1.9.0 #115

Closed
wants to merge 1 commit into from
Closed

Conversation

pyup-bot
Copy link
Collaborator

This PR updates pylint from 1.8.2 to 1.9.0.

Changelog

1.9

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

Release date: 2018-05-15

 * Added two new Python 3 porting checks, `exception-escape` and `comprehension-escape`

   These two are emitted whenever pylint detects that a variable defined in the
   said blocks is used outside of the given block. On Python 3 these values are deleted.

 * Added a new `deprecated-sys-function`, emitted when accessing removed sys members.

 * Added `xreadlines-attribute`, emitted when the `xreadlines()` attribute is accessed.

 * The Python 3 porting mode can now run with Python 3 as well.

 * docparams extension allows abstract methods to document what overriding
   implementations should return, and to raise NotImplementedError without
   documenting it.

   Closes 2044

 * Special methods do not count towards `too-few-methods`,
   and are considered part of the public API.

 * Enum classes do not trigger `too-few-methods`

   Close 605

 * `undefined-loop-variable` takes in consideration non-empty iterred objects before emitting

   Close 2039

 * Add support for nupmydoc optional return value names.

   Close 2030

 * `singleton-comparison` accounts for negative checks

   Close 2037

 * Add a check `consider-using-in` for comparisons of a variable against
   multiple values with "==" and "or"s instead of checking if the variable
   is contained "in" a tuple of those values.

   Close 1977

 * defaultdict and subclasses of dict are now handled for dict-iter-* checks

   Close 2005

 * Added a new Python 2/3 check for accessing `operator.div`, which is removed in Python 3

   Close 1936

 * Added a new Python 2/3 check for accessing removed urllib functions

   Close 1997

 * `logging-format-interpolation` also emits when f-strings are used instead of % syntax.

   Close 1788

 * Don't trigger misplaced-bare-raise when the raise is in a finally clause

   Close 1924

 * Add a new check, `possibly-unused-variable`.

   This is similar to `unused-variable`, the only difference is that it is
   emitted when we detect a locals() call in the scope of the unused variable.
   The `locals()` call could potentially use the said variable, by consuming
   all values that are present up to the point of the call. This new check
   allows to disable this error when the user intentionally uses `locals()`
   to consume everything.

   Close 1909.

 * `no-else-return` accounts for multiple cases

    The check was a bit overrestrictive because we were checking for
    return nodes in the .orelse node. At that point though the if statement
    can be refactored to not have the orelse. This improves the detection of
    other cases, for instance it now detects TryExcept nodes that are part of
    the .else branch.

    Close 1852

 * Added two new checks, `invalid-envvar-value` and `invalid-envvar-default`.

   The former is trigger whenever pylint detects that environment variable manipulation
   functions uses a different type than strings, while the latter is emitted whenever
   the said functions are using a default variable of different type than expected.

 * Add a check `consider-using-join` for concatenation of strings using str.join(sequence)

   Close 1952

 * Add a check `consider-swap-variables` for swapping variables with tuple unpacking

   Close 1922

 * Add new checker `try-except-raise` that warns the user if an except handler block
   has a ``raise`` statement as its first operator. The warning is shown when there is
   a bare raise statement, effectively re-raising the exception that was caught or the
   type of the exception being raised is the same as the one being handled.

 * Don't crash on invalid strings when checking for `logging-format-interpolation`

   Close 1944

 * Exempt `__doc__` from triggering a `redefined-builtin`

   `__doc__` can be used to specify a docstring for a module without
   passing it as a first-statement string.

 * Fix false positive bad-whitespace from function arguments with default
   values and annotations

   Close 1831

 * Fix stop-iteration-return false positive when next builtin has a
   default value in a generator

   Close 1830

 * Fix emission of false positive ``no-member`` message for class with  "private" attributes whose name is mangled.

   Close 1643

 * Fixed a crash which occurred when `Uninferable` wasn't properly handled in `stop-iteration-return`

   Close 1779

 * Use the proper node to get the name for redefined functions (1792)

   Close 1774

 * Don't crash when encountering bare raises while checking inconsistent returns

   Close 1773

 * Fix a false positive ``inconsistent-return-statements`` message when if statement is inside try/except.

   Close 1770

 * Fix a false positive ``inconsistent-return-statements`` message when while loop are used.

   Close 1772

 * Correct column number for whitespace conventions.

   Previously the column was stuck at 0

   Close 1649

 * Fix ``unused-argument`` false positives with overshadowed variable in
   dictionary comprehension.

   Close 1731

 * Fix false positive ``inconsistent-return-statements`` message when never
   returning functions are used (i.e sys.exit for example).

   Close 1771

 * Fix error when checking if function is exception, as in ``bad-exception-context``.

 * Fix false positive ``inconsistent-return-statements`` message when a
   function is defined under an if statement.

   Close 1794

 * New ``useless-return`` message when function or method ends with a "return" or
   "return None" statement and this is the only return statement in the body.

 * Fix false positive ``inconsistent-return-statements`` message by
   avoiding useless exception inference if the exception is not handled.

   Close 1794 (second part)

 * Fix bad thread instantiation check when target function is provided in args.

   Close 1840

 * Fixed false positive when a numpy Attributes section follows a Parameters
   section

   Close 1867

 * Fix incorrect file path when file absolute path contains multiple ``path_strip_prefix`` strings.

   Close 1120

 * Fix false positive undefined-variable for lambda argument in
     class definitions

   Close 1824

 * Add of a new checker that warns the user if some messages are enabled or disabled
   by id instead of symbol.

   Close 1599

 * Suppress false-positive ``not-callable`` messages from certain
   staticmethod descriptors

   Close 1699

 * Fix indentation handling with tabs

   Close 1148

 * Fix false-positive ``bad-continuation`` error

   Close 638

 * Updated the default report format to include paths that can be clicked on in some terminals (e.g. iTerm).
Links

@pyup-bot pyup-bot mentioned this pull request May 15, 2018
@coveralls
Copy link

coveralls commented May 15, 2018

Coverage Status

Coverage remained the same at 100.0% when pulling 64b8de1 on pyup-update-pylint-1.8.2-to-1.9.0 into b07575b on master.

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #116

@pyup-bot pyup-bot closed this May 16, 2018
@s-m-i-t-a s-m-i-t-a deleted the pyup-update-pylint-1.8.2-to-1.9.0 branch May 16, 2018 22:05
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.

None yet

2 participants