2021-12-08 17:23:48 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.12.2
v2.12.2
Fixed a false positive for unused-import where everything was not analyzed \
properly inside typing guards.
Fixed a false-positive regression for used-before-assignment for
typed variables in the body of class methods that reference the same class
Specified that the ignore-paths option considers "" to represent a
windows directory delimiter instead of a regular expression escape
character.
Fixed a crash with the ignore-paths option when invoking the option
via the command line.
Fixed handling of Sphinx-style parameter docstrings with asterisks. These
should be escaped with by prepending a "".
Add endLine and endColumn keys to output of JSONReporter.
Fixed handling of Google-style parameter specifications where descriptions
are on the line following the parameter name. These were generating
false positives for missing-param-doc.
Fix false negative for consider-iterating-dictionary during membership checks \
encapsulated in iterables
or not in checks
unused-import now check all ancestors for typing guards
2.12.1
Require Python 3.6.2 to run pylint.
2.12.0
Upgrade astroid to 2.9.0
Add ability to add end_line and end_column to the --msg-template option.
With the standard TextReporter this will add the line and column number of the
end of a node to the output of Pylint. If these numbers are unknown, they are \
represented
by an empty string.
Introduced primer tests and a configuration tests framework. The helper classes \
available in
pylint/testutil/ are still unstable and might be modified in the near future.
Fix install graphiz message which isn't needed for puml output format.
MessageTest of the unittest testutil now requires the confidence attribute
to match the expected value. If none is provided it is set to UNDEFINED.
add_message of the unittest testutil now actually handles the col_offset parameter
and allows it to be checked against actual output in a test.
Fix a crash in the check_elif extensions where an undetected if in a comprehension
with an if statement within a f-string resulted in an out of range error. The \
checker no
longer relies on counting if statements anymore and uses known if statements \
locations instead.
It should not crash on badly parsed if statements anymore.
Fix simplify-boolean-expression when condition can be inferred as False.
Fix exception when pyreverse parses property function of a class.
The functional testutils now accept end_lineno and end_column. Expected
output files without these will trigger a DeprecationWarning. Expected output files
can be easily updated with the python tests/test_functional.py \
--update-functional-output command.
The functional testutils now correctly check the distinction betweeen HIGH and
UNDEFINED confidence. Expected output files without defiend confidence levels \
will now
trigger a DeprecationWarning. Expected output files can be easily updated with the
python tests/test_functional.py --update-functional-output command.
The functional test runner now supports the option min_pyver_end_position to \
control on which python
versions the end_lineno and end_column attributes should be checked. The default \
value is 3.8.
Fix accept-no-yields-doc and accept-no-return-doc not allowing missing yield or
return documentation when a docstring is partially correct
Add an optional extension consider-using-any-or-all : Emitted when a for loop only
produces a boolean and could be replaced by any or all using a generator. Also \
suggests
a suitable any or all statement.
Properly identify parameters with no documentation and add new message called \
missing-any-param-doc
Add checkers overridden-final-method & subclassed-final-class
Fixed protected-access for accessing of attributes and methods of inner classes
Added support for ModuleNotFoundError (import-error and no-name-in-module).
ModuleNotFoundError inherits from ImportError and was added in Python 3.6
undefined-variable now correctly flags variables which only receive a type \
annotations
and never get assigned a value
undefined-variable now correctly considers the line numbering and order of classes
used in metaclass declarations
used-before-assignment now correctly considers references to classes as type \
annotation
or default values in first-level methods
undefined-variable and unused-variable now correctly trigger for assignment \
expressions
in functions defaults
undefined-variable now correctly triggers for assignment expressions in if ... \
else statements
This includes a basic form of control flow inference for if ... else statements using
constant boolean values
Added the --enable-all-extensions command line option. It will load all \
available extensions
which can be listed by running --list-extensions
Fix bug with importing namespace packages with relative imports
Improve and flatten unused-wildcard-import message
In length checker, len-as-condition has been renamed as
use-implicit-booleaness-not-len in order to be consistent with
use-implicit-booleaness-not-comparison.
Created new UnsupportedVersionChecker checker class that includes checks for features
not supported by all versions indicated by a py-version.
Added using-f-string-in-unsupported-version checker. Issued when py-version
is set to a version that does not support f-strings (< 3.6)
Fix useless-super-delegation false positive when default keyword argument is a \
variable.
Properly emit duplicate-key when Enum members are duplicate dictionary keys
Use py-version setting for alternative union syntax check (PEP 604),
instead of the Python interpreter version.
Subclasses of dict are regarded as reversible by the bad-reversed-sequence checker
(Python 3.8 onwards).
Support configuring mixin class pattern via mixin-class-rgx
Added new checker use-implicit-booleaness-not-comparison: Emitted when
collection literal comparison is being used to check for emptiness.
mising-param-doc now correctly parses asterisks for variable length and
keyword parameters
mising-param-doc now correctly handles Numpy parameter documentation without
explicit typing
pylint no longer crashes when checking assignment expressions within if-statements
Update ``literal-comparison``` checker to ignore tuple literals
Normalize the input to the ignore-paths option to allow both Posix and
Windows paths
Fix double emitting of not-callable on inferrable properties
self-cls-assignment now also considers tuple assignment
Fix missing-function-docstring not being able to check __init__ and other
magic methods even if the no-docstring-rgx setting was set to do so
Added using-final-decorator-in-unsupported-version checker. Issued when py-version
is set to a version that does not support typing.final (< 3.8)
Added configuration option exclude-too-few-public-methods to allow excluding
classes from the min-public-methods checker.
The --jobs parameter now fallbacks to 1 if the host operating system does not
have functioning shared semaphore implementation.
Fix crash for unused-private-member when checking private members on __class__
Crashes when a list is encountered in a toml configuration do not happen anymore.
Moved misplaced-comparison-constant to its own extension comparison_placement.
This checker was opinionated and now no longer a default. It can be reactived by \
adding
pylint.extensions.comparison_placement to load-plugins in your config.
A new bad-configuration-section checker was added that will emit for misplaced option
in pylint's top level namespace for toml configuration. Top-level dictionaries \
or option defined
in the wrong section will still silently not be taken into account, which is \
tracked in a
follow-up issue.
Fix crash for protected-access on (outer) class traversal
Added new checker useless-with-lock to find incorrect usage of with statement \
and threading module locks.
Emitted when with threading.Lock(): is used instead of with lock_instance:.
Make yn validator case insensitive, to allow for True and False in config files.
Fix crash on open() calls when the mode argument is not a simple string.
Inheriting from a class that implements __class_getitem__ no longer raises \
inherit-non-class.
Pyreverse - Add the project root directory to sys.path
Don't emit consider-using-f-string if py-version is set to Python < 3.6.
f-strings were added in Python 3.6
Fix regression for unspecified-encoding with pathlib.Path.read_text()
Don't emit consider-using-f-string if the variables to be interpolated include a \
backslash
Fixed false positive for cell-var-from-loop when variable is used as the default
value for a keyword-only parameter.
Fix false-positive undefined-variable with Lambda, IfExp, and
assignment expression.
Fix false-positive useless-suppression for wrong-import-order
Fixed toml dependency issue
Fix false-positive useless-suppression for line-too-long
Fixed invalid-name not checking parameters of overwritten base object methods
Fixed crash in consider-using-f-string if format is not called
Fix crash with AssignAttr in if TYPE_CHECKING blocks.
Improve node information for invalid-name on function argument.
Prevent return type checkers being called on functions with ellipses as body
Add is_sys_guard and is_typing_guard helper functions from astroid
to pylint.checkers.utils.
Fix regression on ClassDef inference
Fix regression on Compare node inference
Fix false-positive isinstance-second-argument-not-valid-type with typing.Callable.
It is now recommended to do pylint development on Python 3.8 or higher. This
allows using the latest ast parser.
All standard jobs in the pylint CI now run on Python 3.8 by default. We still
support python 3.6 and 3.7 and run tests for those interpreters.
TypingChecker
Fix false-negative for deprecated-typing-alias and consider-using-alias
with typing.Type + typing.Callable.
|
2021-10-26 14:22:15 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.11.1
What's New in Pylint 2.11.1?
============================
* ``unspecified-encoding`` now checks the encoding of ``pathlib.Path()`` correctly
What's New in Pylint 2.11.0?
============================
* The python3 porting mode checker and it's ``py3k`` option were removed. You \
can still find it in older pylint
versions.
* ``raising-bad-type`` is now properly emitted when raising a string
* Added new extension ``SetMembershipChecker`` with ``use-set-for-membership`` check:
Emitted when using an in-place defined ``list`` or ``tuple`` to do a \
membership test. ``sets`` are better optimized for that.
* Added ``py-version`` config key (if ``[MASTER]`` section). Used for version \
dependant checks.
Will default to whatever Python version pylint is executed with.
* ``CodeStyleChecker``
* Added ``consider-using-assignment-expr``: Emitted when an assignment is \
directly followed by an if statement
and both can be combined by using an assignment expression ``:=``. Requires \
Python 3.8
* Added ``consider-using-f-string``: Emitted when .format() or '%' is being used \
to format a string.
* Fix false positive for ``consider-using-with`` if a context manager is \
assigned to a
variable in different paths of control flow (e. g. if-else clause).
* https is now prefered in the documentation and http://pylint.pycqa.org \
correctly redirect to https://pylint.pycqa.org
* Fix false positive for ``function-redefined`` for simple type annotations
* Fix false positive for ``protected-access`` if a protected member is used in \
type hints of function definitions
* Fix false positive ``dict-iter-missing-items`` for dictionaries only using \
tuples as keys
* The ``unspecified-encoding`` checker now also checks calls to \
``pathlib.Path().read_text()``
and ``pathlib.Path().write_text()``
* Fix false positive ``superfluous-parens`` for tuples created with inner tuples
* Fix false positive ``unused-private-member`` for accessing attributes in a \
class using ``cls``
* Fix false positive ``unused-private-member`` for private staticmethods \
accessed in classmethods.
* Extended ``consider-using-in`` check to work for attribute access.
* Setting ``min-similarity-lines`` to 0 now makes the similarty checker stop \
checking for duplicate code
* Fix a bug where pylint complained if the cache's parent directory does not exist
* The ``global-variable-not-assigned`` checker now catches global variables that \
are never reassigned in a
local scope and catches (reassigned) functions
* Fix false positives for invalid-all-format that are lists or tuples at runtime
* Fix ``no-self-use`` and ``docparams extension`` for async functions and methods.
* Add documentation for ``pyreverse`` and ``symilar``
* Non symbolic messages with the wrong capitalisation now correctly trigger \
``use-symbolic-message-instead``
* The ``consider-iterating-dictionary`` checker now also considers membership checks
* The ``invalid-name`` message is now more detailed when using multiple naming \
style regexes.
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2021-09-13 08:52:31 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.10.2
What's New in Pylint 2.10.2?
============================
* We now use platformdirs instead of appdirs since the latter is not maintained.
* Fix a crash in the checker raising ``shallow-copy-environ`` when failing to infer
on ``copy.copy``
What's New in Pylint 2.10.1?
============================
* pylint does not crash when PYLINT_HOME does not exist.
What's New in Pylint 2.10.0?
============================
* pyreverse: add option to produce colored output.
* pyreverse: add output in PlantUML format.
* ``consider-using-with`` is no longer triggered if a context manager is \
returned from a function.
* pylint does not crash with a traceback anymore when a file is problematic. It
creates a template text file for opening an issue on the bug tracker instead.
The linting can go on for other non problematic files instead of being impossible.
* pyreverse: Show class has-a relationships inferred from the type-hint
* Fixed a crash when importing beyond the top level package during ``import-error``
message creation
* Added ``ignored-parents`` option to the design checker to ignore specific
classes from the ``too-many-ancestors`` check (R0901).
* Added ``unspecified-encoding``: Emitted when open() is called without \
specifying an encoding
* Improved the Similarity checker performance. Fix issue with \
``--min-similarity-lines`` used with ``--jobs``.
* Don't emit ``no-member`` error if guarded behind if statement.
* The default for ``PYLINTHOME`` is now the standard ``XDG_CACHE_HOME``, and \
pylint now uses ``appdirs``.
* Added ``use-list-literal``: Emitted when ``list()`` is called with no \
arguments instead of using ``[]``
* Added ``use-dict-literal``: Emitted when ``dict()`` is called with no \
arguments instead of using ``{}``
* Added optional extension ``consider-ternary-expression``: Emitted whenever a \
variable is assigned in both branches of an if/else block.
* Added optional extension ``while-used``: Emitted whenever a ``while`` loop is used.
* Added ``forgotten-debug-statement``: Emitted when ``breakpoint``, \
``pdb.set_trace`` or ``sys.breakpointhook`` calls are found
* Fix false-positive of ``unused-private-member`` when using nested functions in \
a class
* Fix crash for ``unused-private-member`` that occurred with nested attributes.
* Fix a false positive for ``unused-private-member`` with class names
* Fix false positives for ``superfluous-parens`` with walrus operator, ternary \
operator and inside list comprehension.
* Added ``format-string-without-interpolation`` checker: Emitted when formatting \
is applied to a string without any variables to be replaced
* Refactor of ``--list-msgs`` & ``--list-msgs-enabled``: both options now \
show whether messages are emittable with the current interpreter.
* Fix false negative for ``used-before-assignment`` when the variable is assigned
in an exception handler, but used outside of the handler.
* Added ``disable-next`` option: allows using `# pylint: disable-next=msgid` to \
disable a message for the following line
* Added ``redundant-u-string-prefix`` checker: Emitted when the u prefix is \
added to a string
* Fixed ``cell-var-from-loop`` checker: handle cell variables in comprehensions \
within functions,
and function default argument expressions. Also handle basic variable shadowing.
* Fixed bug with ``cell-var-from-loop`` checker: it no longer has false \
negatives when
both ``unused-variable`` and ``used-before-assignment`` are disabled.
* Fix false postive for ``invalid-all-format`` if the list or tuple builtin \
functions are used
* Config files can now contain environment variables
* Fix false-positive ``used-before-assignment`` with an assignment expression in \
a ``Return`` node
* Added ``use-sequence-for-iteration``: Emitted when iterating over an in-place \
defined ``set``.
* ``CodeStyleChecker``
* Limit ``consider-using-tuple`` to be emitted only for in-place defined ``lists``.
* Emit ``consider-using-tuple`` even if list contains a ``starred`` expression.
* Ignore decorators lines by similarities checker when ignore signatures flag enabled
* Allow ``true`` and ``false`` values in ``pylintrc`` for better compatibility \
with ``toml`` config.
* Class methods' signatures are ignored the same way as functions' with \
similarities "ignore-signatures" option enabled
* Improve performance when inferring ``Call`` nodes, by utilizing caching.
* Improve error message for invalid-metaclass when the node is an Instance.
|
2021-07-30 14:49:17 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.9.6
What's New in Pylint 2.9.6?
===========================
* Fix a false positive ``undefined-variable`` when variable name in decoration
matches function argument
|
2021-07-22 10:42:13 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.9.5
What's New in Pylint 2.9.5?
===========================
* Fix a crash when there would be a 'TypeError object does not support
item assignment' in the code we parse.
* Fix crash if a callable returning a context manager was assigned to a list or \
dict item
* Fix a crash when a AttributeInferenceError was not handled properly when
failing to infer the real name of an import in astroid.
What's New in Pylint 2.9.4?
===========================
* Added ``time.clock`` to deprecated functions/methods for python 3.3
* Fix bug in which --fail-on can return a zero exit code even when the specified \
issue is present
* Fix hard failure when handling missing attribute in a class with duplicated bases
* Fix false-positive ``consider-using-with`` (R1732) if a ternary conditional is \
used together with ``with``
* Fix false-positive ``deprecated-module`` when relative import uses deprecated \
module name.
* Fix false-positive ``consider-using-with`` (R1732) if ``contextlib.ExitStack`` \
takes care of calling the ``__exit__`` method
* Fix a false positive for ``unused-private-member`` when mutating a private \
attribute
with ``cls``
* Fix ignored empty functions by similarities checker with \
"ignore-signatures" option enabled
* Fix false-positive of ``use-maxsplit-arg`` when index is incremented in
a loop
* Don't emit ``cyclic-import`` message if import is guarded by \
``typing.TYPE_CHECKING``.
* Fix false-positive ``not-callable`` with alternative ``TypedDict`` syntax
* Clarify documentation for consider-using-from-import
* Don't emit ``unreachable`` warning for empty generator functions
* Don't emit ``import-error``, ``no-name-in-module``, and ``ungrouped-imports``
for imports guarded by ``sys.version_info`` or ``typing.TYPE_CHECKING``.
* Fix ``invalid-overridden-method`` with nested property
* Fix false-positive of ``unused-private-member`` when using ``__new__`` in a class
* No longer emit ``consider-using-with`` for ``ThreadPoolExecutor`` and \
``ProcessPoolExecutor``
as they have legitimate use cases without a ``with`` block.
* Fix crash when inferring variables assigned in match patterns
* Fix a crash when a StopIteration was raised when inferring
a faulty function in a context manager.
|
2021-07-01 23:03:13 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.9.3
What's New in Pylint 2.9.3?
===========================
* Fix a crash that happened when analysing empty function with docstring
in the ``similarity`` checker.
* The ``similarity`` checker no longer add three trailing whitespaces for
empty lines in its report.
What's New in Pylint 2.9.2?
===========================
* Fix a crash that happened when analysing code using ``type(self)`` to access
a class attribute in the ``unused-private-member`` checker.
* Fix a false positive for ``unused-private-member`` when accessing a private \
variable
with ``self``
* Fix false-positive of ``unnecessary-dict-index-lookup`` and \
``consider-using-dict-items``
for reassigned dict index lookups
What's New in Pylint 2.9.1?
===========================
* Upgrade astroid to 2.6.2
|
2021-06-30 08:02:15 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-pylint: updated to 2.9.0
What's New in Pylint 2.9.0?
===========================
Release date: 2021-06-29
* Python 3.10 is now supported.
* Add type annotations to pyreverse dot files
* Fix missing support for detecting deprecated aliases to existing
functions/methods.
* astroid has been upgraded to 2.6.1
* Added various deprecated functions/methods for python 3.10, 3.7, 3.6 and 3.3
* Fix false positive ``useless-type-doc`` on ignored argument using \
``pylint.extensions.docparams``
when a function was typed using pep484 but not inside the docstring.
* ``setuptools_scm`` has been removed and replaced by ``tbump`` in order to not
have hidden runtime dependencies to setuptools
* Fix a crash when a test function is decorated with ``@pytest.fixture`` and \
astroid can't
infer the name of the decorator when using ``open`` without ``with``.
* Added ``deprecated-decorator``: Emitted when deprecated decorator is used.
* Added ``ignore-paths`` behaviour. Defined regex patterns are matched against \
full file path.
* Fix false negative for ``consider-using-with`` if calls like ``open()`` were \
used outside of assignment expressions.
* The warning for ``arguments-differ`` now signals explicitly the difference it \
detected
by naming the argument or arguments that changed and the type of change that \
occurred.
* Suppress ``consider-using-with`` inside context managers.
* Added ``--fail-on`` option to return non-zero exit codes regardless of \
``--fail-under`` value.
* numversion tuple contains integers again to fix multiple pylint's plugins that \
relied on it
* Fix false-positive ``too-many-ancestors`` when inheriting from builtin classes,
especially from the ``collections.abc`` module
* Stdlib deprecated modules check is moved to stdlib checker. New deprecated
modules are added.
* Fix raising false-positive ``no-member`` on abstract properties
* Created new error message called ``arguments-renamed`` which identifies any \
changes at the parameter
names of overridden functions.
* New checker ``consider-using-dict-items``. Emitted when iterating over \
dictionary keys and then
indexing the same dictionary with the key within loop body.
* Don't emit ``import-error`` if import guarded behind ``if sys.version_info \
>= (x, x)``
* Fix incompatibility with Python 3.6.0 caused by ``typing.Counter`` and \
``typing.NoReturn`` usage
* New checker ``use-maxsplit-arg``. Emitted either when accessing only the first \
or last
element of ``str.split()``.
* Add ignore_signatures to duplicate code checker
* Fix documentation errors in "Block disables" paragraph of User Guide.
* New checker ``unnecessary-dict-index-lookup``. Emitted when iterating over \
dictionary items
(key-value pairs) and accessing the value by index lookup.
* New checker``consider-using-from-import``. Emitted when a submodule/member of \
a package is imported and aliased
with the same name.
* Allow comma-separated list in ``output-format`` and separate output files for
each specified format.
* Make ``using-constant-test`` detect constant tests consisting of list literals \
like ``[]`` and
``[1, 2, 3]``.
* Improved error message of ``unnecessary-comprehension`` checker by providing \
code suggestion.
* New checker ``unused-private-member``. Emitted when a private member (i.e., \
starts with ``__``) of a class
is defined but not used.
* Fix false negative of ``consider-using-enumerate`` when iterating over an \
attribute.
* New checker ``invalid-class-object``. Emitted when a non-class is assigned to \
a ``__class__`` attribute.
* Fix a crash when a plugin from the configuration could not be loaded and raise \
an error
'bad-plugin-value' instead
* Added handling of floating point values when parsing configuration from \
pyproject.toml
* ``invalid-length-returned``, now also works when nothing at all is returned
following an upgrade in astroid.
* ``logging-format-interpolation`` and ``logging-not-lazy``, now works on logger
class created from renamed logging import following an upgrade in astroid.
* Fix false-positive ``no-member`` with generic base class
* Fix ``assigning-non-slot`` false-positive with base that inherits from \
``typing.Generic``
* New checker ``invalid-all-format``. Emitted when ``__all__`` has an invalid format,
i.e. isn't a ``tuple`` or ``list``.
* Fix false positive ``unused-variable`` and ``undefined-variable`` with
Pattern Matching in Python 3.10
* New checker ``await-outside-async``. Emitted when await is used outside an \
async function.
* Clarify documentation for ``typing`` extension.
* Add new extension ``CodeStyleChecker``. It includes checkers that can improve code
consistency. As such they don't necessarily provide a performance benefit
and are often times opinionated.
* New checker ``consider-using-tuple``. Emitted when an in-place defined
list or set can be replaced by a tuple.
* New checker ``consider-using-namedtuple-or-dataclass``. Emitted when \
dictionary values
can be replaced by namedtuples or dataclass instances.
* Fix error that occurred when using ``slice`` as subscript for dict.
* Reduce false-positives around inference of ``.value`` and ``.name``
properties on ``Enum`` subclasses, following an upgrade in astroid
* Fix issue with ``cached_property`` that caused ``invalid-overridden-method`` error
when overriding a ``property``.
* Fix ``unused-import`` false positive for imported modules referenced in
attribute lookups in type comments.
What's New in Pylint 2.8.3?
===========================
Release date: 2021-05-31
* Astroid has been pinned to 2.5.6 for the 2.8 branch.
|
2021-04-27 06:45:54 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-pylint: updated to 2.8.2
What's New in Pylint 2.8.2?
Keep __pkginfo__.numversion a tuple to avoid breaking pylint-django.
scm_setuptools has been added to the packaging.
Pylint's tags are now the standard form vX.Y.Z and not pylint-X.Y.Z anymore.
|