summaryrefslogtreecommitdiff
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* Give a nice error message when Graphviz is not installed. Closes issue #168.Emile Anclin2015-12-081-0/+3
|
* Allow statements in if or try blocks containing imports.Laura M?dioni2015-12-021-0/+4
| | | | Closes issue #714
* Added a new error, 'relative-beyond-top-level'.Claudiu Popa2015-12-061-3/+9
| | | | | | | This is emitted when a relative import was attempted beyond the top level package. For instance, if a package has X levels, trying to climb X + n levels with a relative import, as in `from ..stuff import Stuff`, will result in an error. Closes issue #588.
* Don't emit super-on-old-class on classes with unknown bases.Claudiu Popa2015-12-061-0/+3
| | | | | | The change also removes the confidence handling for super-on-old-class, which isn't used enough to merit its existence. Closes issue #721.
* Accept only functions and methods for the deprecated-method checker.Claudiu Popa2015-12-031-0/+9
| | | | | This prevents a crash which can occur when an object doesn't have .qname() method after the inference.
* Don't emit import-self and cyclic-import for relative imports of modules ↵Claudiu Popa2015-12-011-0/+10
| | | | | | | | | | | | | | | | | with the same name as the package itself. The problem was partially the fault of astroid.modutils.get_module_part, in combination with a given context file. The function returned 'dummy' as the module part for the string `dummy.dummy.Dummy`, which is in fact true, since the first dummy is the package and the second dummy is the module from where Dummy gets loaded. But get_module_part has no way to know this semantic inference, that the second dummy is a relative import inside the first one. As such, it's better to just skip the check if the condition of being relative inside a __init__.py file is found, since there's no way to load itself in that case. Closes issues #708 and #706.
* Add changelog entry for 0c2ba76Claudiu Popa2015-11-301-0/+9
|
* Fix a crash which occurred when old visit methods are encounteredClaudiu Popa2015-11-301-0/+3
| | | | | | | | | | in plugin modules. If a plugin uses an old visit method (visit_class for instance), this can lead to a crash in pylint's base checkers, because the logic in the PylintASTWalker assumes that all checkers have a visit_class / leave_class method. The patch fixes this by looking for both names. Closes issue #711.
* Added a new warning, 'unsupported-delete-operation'Claudiu Popa2015-11-261-0/+4
| | | | | It is emitted when item deletion is tried on an object which doesn't have this ability. Closes issue #592.
* Added a new warning, 'unsupported-assignment-operation'Claudiu Popa2015-11-261-0/+4
| | | | | This is emitted when item assignment is tried on an object which doesn't have this ability. Closes issue #591.
* Add ChangeLog entry for issue #692.Claudiu Popa2015-11-251-1/+11
|
* Add ChangeLog entry for issue #670.Claudiu Popa2015-11-251-0/+4
|
* Added a new refactoring warning, 'simplifiable-if-statement'Claudiu Popa2015-11-211-0/+4
| | | | | | | | | | | | | | This is used when an if statement could be reduced to a boolean evaluation of its test, as seen in this example: if some_cond: return True else: return False could be reduced to `return bool(some_cond)` Closes issue #698.
* check the number of boolean expressions in if statement is reasonnableLaura M?dioni2015-10-291-0/+5
| | | | | | | --max-bool-expr option allows to configure it (by default, up to 5 are tolerated) closes issue #677
* MergeClaudiu Popa2015-11-051-0/+4
|\
| * display properties as attributes in pyreverse class diagramspaceone2015-10-121-0/+3
| |
* | Add ChangeLog entry for too-many-nested-blocks and fix the errors in pylint.Claudiu Popa2015-11-041-1/+4
| |
* | Rename 'unsubscriptable-value' message to 'unsubscriptable-object'Dmitry Pribysh2015-11-031-1/+1
| |
* | Add checker for unsubscriptable values used in subscript expression.Dmitry Pribysh2015-11-031-0/+4
| | | | | | | | Fixes issue #561.
* | Add ChangeLog entry for issue #675.Claudiu Popa2015-10-301-0/+6
| |
* | Add a new convention message, 'consider-using-enumerate'Claudiu Popa2015-10-271-0/+4
| | | | | | | | | | | | The message is emitted when code that uses `range` and `len` for iterating is encountered, which can be easily simplified by using `enumerate` instead. This makes the code a bit faster and cleaner. Closes issue #684.
* | Add a Changelog entry for misplaced-comparison-constant.Claudiu Popa2015-10-261-0/+7
| |
* | Remove trailing whitespace from ChangeLogdoc-emphasis-fixDmitry Pribysh2015-10-221-5/+5
| |
* | Fix documentation build warnings and errorsDmitry Pribysh2015-10-221-3/+3
| | | | | | | | | | | | | | | | Errors fixed: - unqouted emphasis character usage (*) - missing list index Fixes #481.
* | Don't warn about abstract classes instantiated in their own body. Closes ↵Claudiu Popa2015-10-211-0/+3
| | | | | | | | issue #627.
* | Obsolete options are not present by default in the generated configuration file.Claudiu Popa2015-10-201-0/+3
| | | | | | | | Closes issue #632.
* | non-iterator-returned can detect classes with iterator-metaclasses.Claudiu Popa2015-10-201-0/+4
| | | | | | | | Closes issue #679.
* | Add checker for membership rules and testsmembership-test-checkerDmitry Pribysh2015-10-191-0/+4
| | | | | | | | | | | | | | | | Idea of checking is very simple: value used to the right of the 'in' operator should support membership test protocol (i.e. define either __contains__ or __iter__ or __getitem__). Fixes issue #589.
* | Merge with defaultiterable-checkerDmitry Pribysh2015-10-181-0/+5
|\ \
| * | Update changelogDmitry Pribysh2015-10-071-0/+5
| | |
* | | Merged in dmand/pylint/fix-667 (pull request #287)Claudiu Popa2015-10-181-0/+4
|\ \ \ | |_|/ |/| | | | | Make `no-self-use` checker not throw a warning if method has a `super()` call.
| * | Rename checking function for 'super()' call checking and update Changelog.fix-667Dmitry Pribysh2015-10-181-0/+4
| |/
* | --enable=all can now be used. Closes issue #142.Claudiu Popa2015-10-101-0/+2
| |
* | Add a new error, 'repeated-keyword', when a keyword argument is passed ↵Claudiu Popa2015-10-091-0/+6
|/ | | | | | | | | | 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. This change also uses a CallSite for understanding the arguments that were passed into a function call, since with this we can make sense about multiple starred arguments passed into (PEP 448).
* Don't emit 'assigning-non-slot' for descriptors. Closes issue #652.Claudiu Popa2015-10-041-0/+2
|
* Add ChangeLog entry for changeset ec1d42a12Claudiu Popa2015-10-041-0/+3
|
* Add checker to identify multiple imports on one line.Dmitry Pribysh2015-10-011-1/+4
| | | | Fixes issue #598. Had to modify some functional tests to ignore new message.
* Start adding a protocol checker for the async features added in PEP 492:Claudiu Popa2015-10-011-0/+10
| | | | | | | | | | | | | | * this patch adds the basis of a new checker, 'async', which deals with problems that can occur when working with async features added in Python with PEP 492. * We're also adding 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). * Another new error is added, 'not-async-context-manager', emitted when an async context manager block is used with an object which doesn't support this protocol (PEP 492).
* Don't consider a class abstract if its members can't be properly inferred.Claudiu Popa2015-09-301-0/+6
| | | | | This fixes a false positive related to abstract-class-instantiated. Closes issue #648.
* Add ChangeLog entry for the deprecated-module change.Claudiu Popa2015-09-271-0/+3
|
* Grammar fix.Claudiu Popa2015-09-231-2/+2
|
* Add changelog entry for 014f596 and a couple of other fixes.Claudiu Popa2015-09-211-0/+5
|
* Abbreviations of command line options are not supported anymore.Claudiu Popa2015-09-191-0/+8
| | | | | | | | 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 ChangeLog entry for commit 0ec6615cc2009b27be0c29a493dd865261d518a2Claudiu Popa2015-09-191-0/+4
| | | | Closes issue #639.
* Bring logilab-common's ureports into pylint.reporters.Claudiu Popa2015-09-051-0/+8
| | | | | | | | 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.
* Allow a bare raise only inside an except clause.Claudiu Popa2015-09-041-1/+1
|
* Add a new error, 'misplaced-bare-raise'.Claudiu Popa2015-09-041-1/+11
| | | | | | | | | | The error is used when a bare raise is not used inside a try suite. 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 an 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.
* Make the --profile flag obsolete. Will be removed in Pylint 1.6.Claudiu Popa2015-09-021-1/+3
|
* --comment flag was obsoleted and it will be removed in Pylint 1.6.Claudiu Popa2015-08-201-0/+2
|
* missing-reversed-argument was removed.Claudiu Popa2015-08-201-0/+7
| | | | | | | 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.