2020-05-06 13:16:46 by Jonathan Perkin | Files touched by this commit (11) |
Log message:
*: Remove manual page entries from ALTERNATIVES files.
Thes are not supported by pkg_alternatives, and lead to breakage as found
in <http://mail-index.netbsd.org/tech-pkg/2020/05/06/msg023089.html>.
In many cases these were unnecessary anyway, as they match the corresponding
command that pkg_alternatives will have automatically detected manual page
entries for, plus many of them did not support PKGMANDIR.
In the one case (databases/py-peewee) where the manual page does not match
the command name, pkg_alternatives will need to be enhanced to support this
before it can be re-enabled.
|
2020-05-05 20:21:25 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.5.2
What's New in Pylint 2.5.2?
* ``pylint.Run`` accepts ``do_exit`` as a deprecated parameter
What's New in Pylint 2.5.1?
* Fix a crash in `method-hidden` lookup for unknown base classes
* Revert pylint.Run's `exit` parameter to ``do_exit``
This has been inadvertently changed several releases ago to ``do_exit``.
* ``no-value-for-parameter`` variadic detection has improved for assign statements
* Allow package files to be properly discovered with multiple jobs
* Allow linting directories without `__init__.py` which was a regression in 2.5.
What's New in Pylint 2.5.0?
* Fix a false negative for ``undefined-variable`` when using class attribute in \
comprehension.
* Fix a false positive for ``undefined-variable`` when using class attribute in \
decorator or as type hint.
* Remove HTML quoting of messages in JSON output.
* Adjust the `invalid-name` rule to work with non-ASCII identifiers and add the \
`non-ascii-name` rule.
* Positional-only arguments are taken in account for ``useless-super-delegation``
* ``unidiomatic-typecheck`` is no longer emitted for ``in`` and ``not in`` operators
* Positional-only argument annotations are taken in account for ``unused-import``
* Add a command to list available extensions.
* Allow used variables to be properly consumed when different checks are enabled \
/ disabled
* Fix dangerous-default-value rule to account for keyword argument defaults
* Fix a false positive of ``self-assigning-variable`` on tuple unpacking.
* ``no-self-use`` is no longer emitted for typing stubs.
* Fix a false positive for ``undefined-variable`` when ``__class__`` is used
* Emit ``invalid-name`` for variables defined in loops at module level.
* Add a check for cases where the second argument to `isinstance` is not a type.
* Add 'notes-rgx' option, to be used for fixme check.
* ``function-redefined`` exempts function redefined on a condition.
* ``typing.overload`` functions are exempted from docstring checks
* Emit ``invalid-overridden-method`` for improper async def overrides.
* Do not allow ``python -m pylint ...`` to import user code
``python -m pylint ...`` adds the current working directory as the first element
of ``sys.path``. This opens up a potential security hole where ``pylint`` will \
import
user level code as long as that code resides in modules having the same name \
as stdlib
or pylint's own modules.
* Add `dummy-variables-rgx` option for `_redeclared-assigned-name` check.
* Fixed graph creation for relative paths
* Add a check for asserts on string literals.
* `not in` is considered iterating context for some of the Python 3 porting checkers.
* A new check `inconsistent-quotes` was added.
* Add a check for non string assignment to __name__ attribute.
* `__pow__`, `__imatmul__`, `__trunc__`, `__floor__`, and `__ceil__` are \
recognized as special method names.
* Added errors for protocol functions when invalid return types are detected.
E0304 (invalid-bool-returned): __bool__ did not return a bool
E0305 (invalid-index-returned): __index__ did not return an integer
E0306 (invalid-repr-returned): __repr__ did not return a string
E0307 (invalid-str-returned): __str__ did not return a string
E0308 (invalid-bytes-returned): __bytes__ did not return a string
E0309 (invalid-hash-returned): __hash__ did not return an integer
E0310 (invalid-length-hint-returned): __length_hint__ did not return a \
non-negative integer
E0311 (invalid-format-returned): __format__ did not return a string
E0312 (invalid-getnewargs-returned): __getnewargs__ did not return a tuple
E0313 (invalid-getnewargs-ex-returned): __getnewargs_ex__ did not return a \
tuple of the form (tuple, dict)
* ``missing-*-docstring`` can look for ``__doc__`` assignments.
* ``undefined-variable`` can now find undefined loop iterables
* ``safe_infer`` can infer a value as long as all the paths share the same type.
* Add a --fail-under <score> flag, also configurable in a .pylintrc file. \
If the final score is more than the specified score, it's considered a success \
and pylint exits with exitcode 0. Otherwise, it's considered a failure and \
pylint exits with its current exitcode based on the messages issued.
* Don't emit ``line-too-long`` for multilines when `disable=line-too-long` \
comment stands at their end
* Fixed an ``AttributeError`` caused by improper handling of ``dataclasses`` \
inference in ``pyreverse``
* Do not exempt bare except from ``undefined-variable`` and similar checks
If a node was wrapped in a ``TryExcept``, ``pylint`` was taking a hint
from the except handler when deciding to emit or not a message.
We were treating bare except as a fully fledged ignore but only
the corresponding exceptions should be handled that way (e.g. ``NameError`` or \
``ImportError``)
* No longer emit ``assignment-from-no-return`` when a function only raises an \
exception
* Allow import aliases to exempt ``import-error`` when used in type annotations.
* ``Ellipsis` is exempted from ``multiple-statements`` for function overloads.
* No longer emit ``invalid-name`` for non-constants found at module level.
Pylint was taking the following statement from PEP-8 too far, considering
all module level variables as constants, which is not what the statement is saying:
`Constants are usually defined on a module level and written in
all capital letters with underscores separating words.`
* Allow ``implicit-str-concat-in-sequence`` to be emitted for string juxtaposition
* ``implicit-str-concat-in-sequence`` was renamed ``implicit-str-concat``
* The ``json`` reporter no longer bypasses ``redirect_stdout``.
* Move ``NoFileError``, ``OutputLine``, ``FunctionalTestReporter``,
``FunctionalTestFile``, ``LintModuleTest`` and related methods from
``test_functional.py`` to ``pylint.testutils`` to help testing for 3rd
party pylint plugins.
* Can read config from a setup.cfg or pyproject.toml file.
* Fix exception-escape false positive with generators
* ``inspect.getargvalues`` is no longer marked as deprecated.
* A new check ``f-string-without-interpolation`` was added
* Flag mutable ``collections.*`` utilities as dangerous defaults
* ``docparams`` extension supports multiple types in raises sections.
Multiple types can also be separated by commas in all valid sections.
* Allow parallel linting when run under Prospector
* Fixed false positives of ``method-hidden`` when a subclass defines the method \
that is being hidden.
* Python 3 porting mode is 30-50% faster on most codebases
* Python 3 porting mode no longer swallows syntax errors
* Pass the actual PyLinter object to sub processes to allow using custom
PyLinter classes.
PyLinter object (and all its members except reporter) needs to support
pickling so the PyLinter object can be passed to worker processes.
* Clean up setup.py
Make pytest-runner a requirement only if running tests, similar to McCabe.
Clean up the setup.py file, resolving a number of warnings around it.
* Handle SyntaxError in files passed via ``--from-stdin`` option
Pylint no longer outputs a traceback, if a file, read from stdin,
contains a syntaxerror.
* Fix uppercase style to disallow 3+ uppercase followed by lowercase.
* Fixed ``undefined-variable`` and ``unused-import`` false positives
when using a metaclass via an attribute.
* Emit ``unused-argument`` for functions that partially uses their argument list \
before raising an exception.
* Fixed ``broad_try_clause`` extension to check try/finally statements and to
check for nested statements (e.g., inside of an ``if`` statement).
* Recognize classes explicitly inheriting from ``abc.ABC`` or having an
``abc.ABCMeta`` metaclass as abstract. This makes them not trigger W0223.
* Fix overzealous `arguments-differ` when overridden function uses variadics
No message is emitted if the overriding function provides positional or
keyword variadics in its signature that can feasibly accept and pass on
all parameters given by the overridden function.
* Multiple types of string formatting are allowed in logging functions.
The `logging-fstring-interpolation` message has been brought back to allow
multiple types of string formatting to be used.
|
2020-03-22 23:50:52 by Roland Illig | Files touched by this commit (1) |
Log message:
devel/py-pylint: fix typo in test program filename
|
2019-12-22 00:36:23 by Joerg Sonnenberger | Files touched by this commit (2) |
Log message:
Drop non-ASCII characters for Python 3.6 build.
|
2019-11-14 11:03:46 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.4.4
What's New in Pylint 2.4.4?
* Exempt all the names found in type annotations from ``unused-import``
The previous code was assuming that only ``typing`` names need to be
exempted, but we need to do that for the rest of the type comment
names as well.
* Relax type import detection for names that do not come from the ``typing`` module
|
2019-10-19 08:33:05 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.4.3
What's New in Pylint 2.4.3?
* Fix an issue with ``unnecessary-comprehension`` in comprehensions with \
additional repacking of elements.
* ``import-outside-toplevel`` is emitted for ``ImportFrom`` nodes as well.
* Do not emit ``no-method-argument`` for functions using positional only args.
* ``consider-using-sys-exit`` is no longer emitted when `exit` is imported in \
the local scope.
* `invalid-overridden-method` takes `abc.abstractproperty` in account
* Fixed ``missing-yield-type-doc`` getting incorrectly raised when
a generator does not document a yield type but has a type annotation.
* ``typing.overload`` functions are exempted from ``too-many-function-args``
|
2019-10-01 13:38:07 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.4.2
What's New in Pylint 2.4.2?
* ``ignored-modules`` can skip submodules.
* ``self-assigning-variable`` skips class level assignments.
* ``consider-using-sys-exit`` is exempted when `exit()` is imported from `sys`
* Exempt annotated assignments without variable from \
``class-variable-slots-conflict``
* Fix ``utils.is_error`` to account for functions returning early.
This fixes a false negative with ``unused-variable`` which was no longer triggered
when a function raised an exception as the last instruction, but the body of \
the function
still had unused variables.
What's New in Pylint 2.4.1?
* Exempt type checking definitions defined in both clauses of a type checking guard
* Exempt type checking definitions inside the type check guard
In a7f236528bb3758886b97285a56f3f9ce5b13a99 we added basic support
for emitting `used-before-assignment` if a variable was only defined
inside a type checking guard (using `TYPE_CHECKING` variable from `typing`)
Unfortunately that missed the case of using those type checking imports
inside the guard itself, which triggered spurious used-before-assignment errors.
* Require astroid >= 2.3 to avoid any compatibility issues.
What's New in Pylint 2.4.0?
* New check: ``import-outside-toplevel``
This check warns when modules are imported from places other than a
module toplevel, e.g. inside a function or a class.
* Handle inference ambiguity for ``invalid-format-index``
* Removed Python 2 specific checks such as ``relative-import``,
``invalid-encoded-data``, ``missing-super-argument``.
* Support forward references for ``function-redefined`` check.
* Handle redefinitions in case of type checking imports.
* Added a new check, ``consider-using-sys-exit``
This check is emitted when we detect that a quit() or exit() is invoked
instead of sys.exit(), which is the preferred way of exiting in program.
* ``useless-suppression`` check now ignores ``cyclic-import`` suppressions,
which could lead to false postiives due to incomplete context at the time
of the check.
* Added new checks, ``no-else-break`` and ``no-else-continue``
These checks highlight unnecessary ``else`` and ``elif`` blocks after
``break`` and ``continue`` statements.
* Don't emit ``protected-access`` when a single underscore prefixed attribute
is used inside a special method
* Fix the "statement" values in the PyLinter's stats reports by module.
* Added a new check, ``invalid-overridden-method``
This check is emitted when we detect that a method is overridden
as a property or a property is overridden as a method. This can indicate
a bug in the application code that will trigger a runtime error.
* Added a new check, ``arguments-out-of-order``
This check warns if you have arguments with names that match those in
a function's signature but you are passing them in to the function
in a different order.
* Added a new check, ``redeclared-assigned-name``
This check is emitted when ``pylint`` detects that a name
was assigned one or multiple times in the same assignment,
which indicate a potential bug.
* Ignore lambda 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.
We already did that for function calls, but the previous fix
was not taking in consideration ``lambdas``
* Added a new check, ``self-assigning-variable``
This check is emitted when we detect that a variable is assigned
to itself, which might indicate a potential bug in the code application.
* Added a new check, ``property-with-parameters``.
This check is emitted when we detect that a defined property also
has parameters, which are useless.
* Excluded protocol classes from a couple of checks.
* Add a check `unnecessary-comprehension` that detects unnecessary comprehensions.
This check is emitted when ``pylint`` finds list-, set- or dict-comprehensions,
that are unnecessary and can be rewritten with the list-, set- or \
dict-constructors.
* Excluded PEP 526 instance and class variables from ``no-member``.
* Excluded `attrs` from `too-few-public-methods` check.
* ``unused-import`` emitted for the right import names in function scopes.
* Dropped support for Python 3.4.
* ``assignment-from-no-return`` not triggered for async methods.
* Don't emit ``attribute-defined-outside-init`` for variables defined in setters.
* Syntax errors report the column number.
* Support fully qualified typing imports for type annotations.
* Exclude ``__dict__`` from ``attribute-defined-outside-init``
* Fix pointer on spelling check when the error are more than one time in the \
same line.
* Fix crash happening when parent of called object cannot be determined
* Allow of in `GoogleDocstring.re_multiple_type`
* Added `subprocess-run-check` to handle subrocess.run without explicitly set \
`check` keyword.
* When we can't infer bare except handlers, skip ``try-except-raise``
* Handle more `unnecessary-lambda` cases when dealing with additional kwargs in \
wrapped calls
* Better postponed evaluation of annotations handling
* Support postponed evaluation of annotations for variable annotations.
* ``epylint.py_run`` defaults to ``python`` in case the current executable is \
not a Python one.
* Ignore raw docstrings when running Similarities checker with \
`ignore-docstrings=yes` option
* Fix crash when calling ``inherit_from_std_ex`` on a class which is its own ancestor
* Added a new check that warns the user if a function call is used inside a test \
but parentheses are missing.
* ``len-as-condition`` now only fires when a ``len(x)`` call is made without an \
explicit comparison
The message and description accompanying this checker has been changed
reflect this new behavior, by explicitly asking to either rely on the
fact that empty sequence are false or to compare the length with a scalar.
* Add ``preferred-module`` checker that notify if an import has a replacement \
module that should be used.
This check is emitted when ``pylint`` finds an imported module that has a
preferred replacement listed in ``preferred-modules``.
* ``assigning-non-slot`` not emitted for classes with unknown base classes.
* ``old-division`` is not emitted for non-Const nodes.
* Added method arguments to the dot writer for pyreverse.
* Support for linting file from stdin.
IDEs may benefit from the support for linting from an in-memory file.
* Added a new check `class-variable-slots-conflict`
This check is emitted when ``pylint`` finds a class variable that conflicts \
with a slot
name, which would raise a ``ValueError`` at runtime.
* Added new check: dict-iter-missing-items (E1141)
* Fix issue with pylint name in output of python -m pylint --version
* Relicense logo material under the CC BY-SA 4.0 license.
* Skip `if` expressions from f-strings for the `check_elif` checker
* C0412 (ungrouped-import) is now compatible with isort.
* Added new extension to detect too much code in a try clause
* ``signature-mutators`` option was added
With this option, users can choose to ignore `too-many-function-args`, \
`unexpected-keyword-arg`,
and `no-value-for-parameter` for functions decorated with decorators that change
the signature of a decorated function.
* Fixed a pragma comment on its own physical line being ignored when part
of a logical line with the previous physical line.
* Fixed false `undefined-loop-variable` for a function defined in the loop,
that uses the variable defined in that loop.
* Fixed `unused-argument` and `function-redefined` getting raised for
functions decorated with `typing.overload`.
* Fixed a false positive with ``consider-using-dict-comprehension`` for \
constructions that can't be converted to a comprehension
* Added ``__post_init__`` to ``defining-attr-methods`` in order to avoid \
``attribute-defined-outside-init`` in dataclasses.
* Changed description of W0199 to use the term 2-item-tuple instead of 2-uple.
* Allow a `.` as a prefix for Sphinx name resolution.
* Checkers must now keep a 1 to 1 relationship between "msgid" (ie: \
C1234) and "symbol" (ie : human-readable-symbol)
* In checkers, an old_names can now be used for multiple new messages and pylint \
is now a little faster
* Allow the choice of f-strings as a valid way of formatting logging strings.
* Added ``--list-msgs-enabled`` command to list all enabled and disabled \
messages given the current RC file and command line arguments.
|
2019-03-02 15:12:28 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.3.1
What's New in Pylint 2.3.1?
* Properly pass quote=False to html.escape in the JSON reporter
|
2019-02-28 10:20:07 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.3.0
What's New in Pylint 2.3.0?
* Protect against NonDeducibleTypeHierarchy when calling semi-private is_subtype
astroid.helpers.is_subtype raises NonDeducibleTypeHierarchy when it cannot infer
the base classes of the given types, but that makes sense in its context given that
the method is mostly used to inform the inference process about the hierarchy \
of classes.
Doesn't make that much sense for pylint itself, which is why we're handling the
exception here, rather than in astroid
* Added a new command line option list-groups for listing all the check groups \
pylint knows about.
* Allow BaseException for emitting broad-except, just like Exception.
* Fixed a crash that occurred for bad-str-strip-call when strip() received None
* Don't emit *-not-iterating checks for builtins consumed by itertools
* Fix a crash caused by iterating over Uninferable in a string formatting check.
* Fixed false positives for no-self-argument and unsubscriptable-object when \
using __class_getitem__ (new in Python 3.7)
* Support Ellipsis as a synonym for pass statements.
* fixme gets triggered only on comments.
* Fixed a false positive for unused-variable and nonlocal assignments
* Added load_configuration() hook for plugins
New optional hook for plugins is added: load_configuration().
This hook is executed after configuration is loaded to prevent
overwriting plugin specific configuration via user-based
configuration.
* Fix missing-raises-doc false positive (W9006)
* Exempt starred unpacking from *-not-iterating Python 3 checks
* Make compare-to-zero less zealous by checking against equality and identity
* Add no-else-raise warning (R1720)
* Exempt yield from from *-not-iterating Python 3 checks.
* Fix incorrect generation of no-else-return warnings (R1705)
Fixed issue where if statements with nested if statements
were incorrectly being flagged as no-else-return in some cases and
not being flagged as no-else-return in other cases. Added tests
for verification and updated pylint source files to eliminate newly
exposed warnings.
* Fix false positive with not-async-context-manager caused by not understanding \
contextlib.asynccontextmanager
* Refactor bad-reversed-sequence to account for more objects that can define \
__reversed__
One such object would be an enum class, for which __reversed__ yields each \
individual enum.
As such, the check for bad-reversed-sequence needs to not differentiate \
between classes
and instances when it comes for checking of __reversed__ presence.
* Added wrong-exception-operation
Used when an operation is done against an exception, but the operation
is not valid for the exception in question. Usually emitted when having
binary operations between exceptions in except handlers.
* no-member is emitted for enums when they lack a member
Previously we weren't doing this because we detected a
__getattr__ implementation on the Enum class
(and this check is skipped for classes with __getattr__),
but that is fine for Enums, given that they are inferred in a customised
way in astroid.
* Generalize chained-comparison
Previous version incorrectly detects a < b < c and b < d and fails to
detect a < b < c and c < d.
* Avoid popping __main__ when using multiple jobs
* Add a new option 'check-str-concat-over-line-jumps' to check \
'implicit-str-concat-in-sequence'
* Fixes for the new style logging format linter.
The number of arguments was not handled properly, leading to an always
successful check.
* Fix false positive not-callable for uninferable properties.
* Fix false positive useless-else-on-loop if the break is deep in the else
of an inner loop.
|
2018-11-28 15:37:03 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.2.2
What's New in Pylint 2.2.2?
* Change the logging-format-style to use name identifier instead of their
corresponding Python identifiers
This is to prevent users having to think about escaping the default value for
logging-format-style in the generated config file. Also our config parsing
utilities don't quite support escaped values when it comes to choices detection,
so this would have needed various hacks around that.
|