| ChangeLog for PyLint |
| ==================== |
| |
| 2007-02-28 -- 0.13.0 |
| * new RPython (Restricted Python) checker for PyPy felow or people |
| wanting to get a compiled version of their python program using the |
| translator of the PyPy project. For more information about PyPy or |
| RPython, visit http://codespeak.net/pypy/ |
| |
| * new E0104 and E0105 messages introduced to respectivly warn about |
| "return" and "yield" outside function or method |
| * new E0106 message when "yield" and "return something" are mixed in a |
| function or method |
| * new W0107 message for unnecessary pass statement |
| * new W0614 message to differentiate between unused 'import X' and |
| unused 'from X import *" (#3209, patch submitted by Daniel Drake) |
| * included Daniel Drake's patch to have a different message E1003 instead of |
| E1001 when a missing member is found but an inference failure has been |
| detected |
| |
| * msvs reporter for Visual Studio line number reporting (#3285) |
| |
| * allow disable-all option inline (#3218, patch submitted by Daniel Drake) |
| * --init-hook option to call arbitray code necessary to set |
| environment (eg sys.path) (#3156) |
| |
| * One more Daniel's patch fixing a command line option parsing |
| problem, this'll definitly be the DDrake release :) |
| * fix #3184: crashes on "return" outside function |
| * fix #3205: W0704 false positive |
| * fix #3123: W0212 false positive on static method |
| * fix #2485: W0222 false positive |
| * fix #3259: when a message is explicitly enabled, check the checker |
| emitting it is enabled |
| |
| 2006-11-23 -- 0.12.2 |
| * fix #3143: W0233 bug w/ YES objects |
| * fix #3119: Off-by-one error counting lines in a file |
| * fix #3117: ease sys.stdout overriding for reporters |
| * fix #2508: E0601 false positive with lambda |
| * fix #3125: E1101 false positive and a message duplication. Only the last part |
| is actually fixed since the initial false positive is due to dynaming setting of |
| attributes on the decimal.Context class. |
| * fix #3149: E0101 false positives and introduced E0100 for generator __init__ |
| methods |
| * fixed some format checker false positives |
| |
| 2006-09-25 -- 0.12.1 |
| * fixed python >= 2.4 format false positive with multiple lines statement |
| * fixed some 2.5 issues |
| * fixed generator expression scope bug (depends on astng 0.16.1) |
| * stop requiring __revision__ |
| |
| 2006-08-10 -- 0.12.0 |
| * usability changes: |
| - parseable, html and color options are now handled by a single |
| output-format option |
| - enable-<checkerid> and disable-all options are now handled by |
| two (exclusive) enable-checker and disable-checker options |
| taking a comma separated list of checker names as value |
| - renamed debug-mode option to errors-only |
| |
| * started a reference user manual |
| |
| * new W0212 message for access to protected member from client code |
| (close #14081) |
| |
| * new W0105 and W0106 messages extracted from W0104 (statement seems |
| to have no effect) respectivly when the statement is actually string |
| (that's sometimes used instead of comments for documentation) or an |
| empty statement generated by a useless semicolumn |
| |
| * reclassified W0302 to C0302 |
| |
| * fix so that global messages are not anymore connected to the last |
| analyzed module (close #10106) |
| * fix some bugs related to local disabling of messages |
| * fix cr/lf pb when generating the rc file on windows platforms |
| |
| |
| 2006-04-19 -- 0.11.0 |
| * fix crash caused by the exceptions checker in some case |
| * fix some E1101 false positive with abstract method or classes defining |
| __getattr__ |
| |
| * dirty fix to avoid "_socketobject" has not "connect" member. The actual |
| problem is that astng isn't able to understand the code used to create |
| socket.socket object with exec |
| |
| * added an option in the similarity checker to ignore docstrings, enabled |
| by default |
| |
| * included patch from Benjamin Niemann to allow block level |
| enabling/disabling of messages |
| |
| |
| 2006-03-06 -- 0.10.0 |
| * WARNING, this release include some configuration changes (see below), |
| so you may have to check and update your own configuration file(s) if |
| you use one |
| |
| * this release require the 0.15 version of astng or superior (it will save |
| you a lot of pylint crashes...) |
| |
| * W0705 has been reclassified to E0701, and is now detecting more |
| inheriting problem, and a false positive when empty except clause is |
| following an Exception catch has been fixed (close #10422) |
| |
| * E0212 and E0214 (metaclass/class method should have mcs/cls as first |
| argument have been reclassified to C0202 and C0203 since this not as |
| well established as "self" for instance method (E0213) |
| |
| * W0224 has been reclassified into F0220 (failed to resolve interfaces |
| implemented by a class) |
| |
| * a new typecheck checker, introducing the following checks: |
| - E1101, access to unexistant member (implements #10430), remove |
| the need of E0201 and so some options has been moved from the |
| classes checker to this one |
| - E1102, calling a non callable object |
| - E1111 and W1111 when an assigment is done on a function call but the |
| infered function returns None (implements #10431) |
| |
| * change in the base checker: |
| - checks module level and instance attribute names (new const-rgx |
| and attr-rgx configuration option) (implements #10209 and |
| #10440) |
| - list comprehension and generator expression variables have their |
| own regular expression (the inlinevar-rgx option) (implements |
| #9146) |
| - the C0101 check with its min-name-lentgh option has |
| been removed (this can be specified in the regxp after all...) |
| - W0103 and W0121 are now handled by the variables checker |
| (W0103 is now W0603 and W0604 has been splitted into different messages) |
| - W0131 and W0132 messages have been reclassified to C0111 and |
| C0112 respectivly |
| - new W0104 message on statement without effect |
| |
| * regexp support for dummy-variables (dummy-variables-rgx option |
| replace dummy-variables) (implements #10027) |
| |
| * better global statement handling, see W0602, W0603, W0604 messages |
| (implements #10344 and #10236) |
| |
| * --debug-mode option, disabling all checkers without error message |
| and filtering others to only display error |
| |
| * fixed some R0201 (method could be a function) false positive |
| |
| |
| 2006-01-10 -- 0.9.0 |
| * a lot of updates to follow astng 0.14 API changes, so install |
| logilab-astng 0.14 or greater before using this version of pylint |
| |
| * checker number 10 ! newstyle will search for problems regarding old |
| style / new style classes usage problems (rely on astng 0.14 new |
| style detection feature) |
| |
| * new 'load-plugins' options to load additional pylint plugins (usable |
| from the command line or from a configuration file) (implements |
| #10031) |
| |
| * check if a "pylintrc" file exists in the current working directory |
| before using the one specified in the PYLINTRC environment variable |
| or the default ~/.pylintrc or /etc/pylintrc |
| |
| * fixed W0706 (Identifier used to raise an exception is assigned...) |
| false positive and reraising a catched exception instance |
| |
| * fixed E0611 (No name get in module blabla) false positive when accessing |
| to a class'__dict__ |
| |
| * fixed some E0203 ("access to member before its definition") false |
| positive |
| |
| * fixed E0214 ("metaclass method frist argument should be mcs) false |
| positive with staticmethod used on a metaclass |
| |
| * fixed packaging which was missing the test/regrtest_data directory |
| |
| * W0212 (method could be a function) has been reclassified in the |
| REFACTOR category as R0201, and is no more considerer when a method |
| overrides an abstract method from an ancestor class |
| |
| * include module name in W0401 (wildcard import), as suggested by |
| Amaury |
| |
| * when using the '--parseable', path are written relative to the |
| current working directory if in a sub-directory of it (#9789) |
| |
| * 'pylint --version' shows logilab-astng and logilab-common versions |
| |
| * fixed pylint.el to handle space in file names |
| |
| * misc lint style fixes |
| |
| |
| |
| 2005-11-07 -- 0.8.1 |
| * fix "deprecated module" false positive when the code imports a |
| module whose name starts with a deprecated module's name (close |
| #10061) |
| |
| * fix "module has no name __dict__" false positive (close #10039) |
| |
| * fix "access to undefined variable __path__" false positive (close |
| #10065) |
| |
| * fix "explicit return in __init__" false positive when return is |
| actually in an inner function (close #10075) |
| |
| |
| 2005-10-21 -- 0.8.0 |
| * check names imported from a module exists in the module (E0611), |
| patch contributed by Amaury Forgeot d'Arc |
| |
| * print a warning (W0212) for methods that could be a function |
| (implements #9100) |
| |
| * new --defining-attr-methods option on classes checker |
| |
| * new --acquired-members option on the classes checker, used when |
| --zope=yes to avoid false positive on acquired attributes (listed |
| using this new option) (close #8616) |
| |
| * generate one E0602 for each use of an undefined variable |
| (previously, only one for the first use but not for the following) |
| (implements #1000) |
| |
| * make profile option saveable |
| |
| * fix Windows .bat file, patch contributed by Amaury Forgeot d'Arc |
| |
| * fix one more false positive for E0601 (access before definition) |
| with for loop such as "for i in range(10): print i" (test |
| func_noerror_defined_and_used_on_same_line) |
| |
| * fix false positive for E0201 (undefined member) when accessing to |
| __name__ on a class object |
| |
| * fix astng checkers traversal order |
| |
| * fix bug in format checker when parsing a file from a platform |
| using different new line characters (close #9239) |
| |
| * fix encoding detection regexp |
| |
| * fix --rcfile handling (support for --rcfile=file, close #9590) |
| |
| |
| |
| 2005-05-27 -- 0.7.0 |
| * WARNING: pylint is no longer a logilab subpackage. Users may have to |
| manually remove the old logilab/pylint directory. |
| |
| * introduce a new --additional-builtins option to handle user defined |
| builtins |
| |
| * --reports option has now -r as short alias, and -i for --include-ids |
| |
| * fix a bug in the variables checker which may causing some false |
| positives when variables are defined and used within the same |
| statement (test func_noerror_defined_and_used_on_same_line) |
| |
| * this time, real fix of the "disable-msg in the config file" problem, |
| test added to unittest_lint |
| |
| * fix bug with --list-messages and python -OO |
| |
| * fix possible false positive for W0201 |
| |
| |
| |
| 2005-04-14 -- 0.6.4 |
| * allow to parse files without extension when a path is given on the |
| command line (test noext) |
| |
| * don't fail if we are unable to read an inline option (e.g. inside a |
| module), just produce an information message (test func_i0010) |
| |
| * new message E0103 for break or continue outside loop (close #8883, |
| test func_continue_not_in_loop) |
| |
| * fix bug in the variables checker, causing non detection of some |
| actual name error (close #8884, test |
| func_nameerror_on_string_substitution) |
| |
| * fix bug in the classes checker which was making pylint crash if |
| "object" is assigned in a class inheriting from it (test |
| func_noerror_object_as_class_attribute) |
| |
| * fix problem with the similar checker when related options are |
| defined in a configuration file |
| |
| * new --generate-man option to generate pylint's man page (require the |
| latest logilab.common (>= 0.9.3) |
| |
| * packaged (generated...) man page |
| |
| |
| |
| 2005-02-24 -- 0.6.3 |
| * fix scope problem which may cause false positive and true negative |
| on E0602 |
| |
| * fix problem with some options such as disable-msg causing error when |
| they are coming from the configuration file |
| |
| |
| |
| 2005-02-16 -- 0.6.2 |
| * fix false positive on E0201 ("access to undefined member") with |
| metaclasses |
| |
| * fix false positive on E0203 ("access to member before its |
| definition") when attributes are defined in a parent class |
| |
| * fix false positive on W0706 ("identifier used to raise an exception |
| assigned to...") |
| |
| * fix interpretation of "\t" as value for the indent-string |
| configuration variable |
| |
| * fix --rcfile so that --rcfile=pylintrc (only --rcfile pylintrc was |
| working in earlier release) |
| |
| * new raw checker example in the examples/ directory |
| |
| |
| |
| 2005-02-04 -- 0.6.1 |
| * new --rcfile option to specify the configuration file without the |
| PYLINTRC environment variable |
| |
| * added an example module for a custom pylint checker (see the |
| example/ directory) |
| |
| * some fixes to handle fixes in common 0.9.1 (should however still working |
| with common 0.9.0, even if upgrade is recommended) |
| |
| |
| |
| 2005-01-20 -- 0.6.0 |
| * refix pylint emacs mode |
| |
| * no more traceback when just typing "pylint" |
| |
| * fix a bug which may cause crashes on resolving parent classes |
| |
| * fix problems with the format checker: don't chock on files |
| containing multiple CR, avoid C0322, C0323, C0324 false positives |
| with triple quoted string with quote inside |
| |
| * correctly detect access to member defined latter in __init__ method |
| |
| * now depends on common 0.8.1 to fix problem with interface resolution |
| (close #8606) |
| |
| * new --list-msgs option describing available checkers and their |
| messages |
| |
| * added windows specific documentation to the README file, contributed |
| by Brian van den Broek |
| |
| * updated doc/features.txt (actually this file is now generated using |
| the --list-msgs option), more entries into the FAQ |
| |
| * improved tests coverage |
| |
| |
| |
| 2004-10-19 -- 0.5.0 |
| * avoid to import analyzed modules ! |
| |
| * new Refactor and Convention message categories. Some Warnings have been |
| remaped into those new categories |
| |
| * added "similar", a tool to find copied and pasted lines of code, |
| both using a specific command line tool and integrated as a |
| pylint's checker |
| |
| * imports checker may report import dependancies as a dot graph |
| |
| * new checker regrouping most Refactor detection (with some new metrics) |
| |
| * more command line options storable in the configuration file |
| |
| * fix bug with total / undocumented number of methods |
| |
| |
| |
| 2004-07-08 -- 0.4.2 |
| * fix pylint emacs mode |
| |
| * fix classes checkers to handler twisted interfaces |
| |
| |
| |
| 2004-05-14 -- 0.4.1 |
| * fix the setup.py script to allow bdist_winst (well, the generated |
| installer has not been tested...) with the necessary |
| logilab/__init__.py file |
| |
| * fix file naming convention as suggested by Andreas Amoroso |
| |
| * fix stupid crash bug with bad method names |
| |
| |
| |
| 2004-05-10 -- 0.4.0 |
| * fix file path with --parsable |
| |
| * --parsable option has been renamed to --parseable |
| |
| * added patch from Andreas Amoroso to output message to files instead |
| of standard output |
| |
| * added Run to the list of correct variable names |
| |
| * fix variable names regexp and checking of local classes names |
| |
| * some basic handling of metaclasses |
| |
| * no-docstring-rgx apply now on classes too |
| |
| * new option to specify a different regexp for methods than for |
| functions |
| |
| * do not display the evaluation report when no statements has been |
| analysed |
| |
| * fixed crash with a class nested in a method |
| |
| * fixed format checker to deals with triple quoted string and |
| lines with code and comment mixed |
| |
| * use logilab.common.ureports to layout reports |
| |
| |
| |
| 2004-02-17 -- 0.3.3 |
| * added a parsable text output, used when the --parsable option is |
| provided |
| |
| * added an emacs mode using this output, availabe in the distrib's |
| elisp directory |
| |
| * fixed some typos in messages |
| |
| * change include-ids options to yn, and allow it to be in the |
| configuration file |
| |
| * do not chock on corrupted stats files |
| |
| * fixed bug in the format checker which may stop pylint execution |
| |
| * provide scripts for unix and windows to wrap the minimal pylint tk |
| gui |
| |
| |
| |
| 2003-12-23 -- 0.3.2 |
| * html-escape messages in the HTML reporter (bug reported by Juergen |
| Hermann) |
| |
| * added "TODO" to the list of default note tags |
| |
| * added "rexec" to the list of default deprecated modules |
| |
| * fixed typos in some messages |
| |
| |
| |
| 2003-12-05 -- 0.3.1 |
| * bug fix in format and classes checkers |
| |
| * remove print statement from imports checkers |
| |
| * provide a simple tk gui, essentially usefull for windows users |
| |
| |
| |
| 2003-11-20 -- 0.3.0 |
| * new exceptions checker, checking for string exception and empty |
| except clauses. |
| |
| * imports checker checks for reimport of modules |
| |
| * classes checker checks for calls to ancestor's __init__ and abstract |
| method not overriden. It doesn't complain anymore for unused import in |
| __init__ files, and provides a new option ignore-interface-methods, |
| usefull when you're using zope Interface implementation in your project |
| |
| * base checker checks for black listed builtins call (controled by the |
| bad-functions option) and for use of * and ** |
| |
| * format checker checks for use of <> and "l" as long int marker |
| |
| * major internal API changes |
| |
| * use the rewrite of astng, based on compiler.ast |
| |
| * added unique id for messages, as suggested by Wolfgang Grafen |
| |
| * added unique id for reports |
| |
| * can take multiple modules or files as argument |
| |
| * new options command line options : --disable-msg, --enable-msg, |
| --help-msg, --include-ids, --reports, --disable-report, --cache-size |
| |
| * --version shows the version of the python interpreter |
| |
| * removed some options which are now replaced by [en|dis]able-msg, or |
| disable-report |
| |
| * read disable-msg and enable-msg options in source files (should be |
| in comments on the top of the file, in the form |
| "# pylint: disable-msg=W0402" |
| |
| * new message for modules importing themselves instead of the "cyclic |
| import" message |
| |
| * fix bug with relative and cyclic imports |
| |
| * fix bug in imports checker (cycle was not always detected) |
| |
| * still fixes in format checker : don't check comment and docstring, |
| check first line after an indent |
| |
| * black and white list now apply to all identifiers, not only |
| variables, so changed the configuration option from |
| (good|bad)-variable-names to (good|bad)-names |
| |
| * added string, rexec and Bastion to the default list of deprecated |
| modules |
| |
| * do not print redefinition warning for function/class/method defined |
| in mutually exclusive branchs |
| |
| |
| |
| 2003-10-10 -- 0.2.1 |
| * added some documentation, fixed some typos |
| |
| * set environment variable PYLINT_IMPORT to 1 during pylint execution. |
| |
| * check that variables "imported" using the global statement exist |
| |
| * indentation problems are now warning instead of errors |
| |
| * fix checkers.initialize to try to load all files with a known python |
| extension (patch from wrobell) |
| |
| * fix a bunch of messages |
| |
| * fix sample configuration file |
| |
| * fix the bad-construction option |
| |
| * fix encoding checker |
| |
| * fix format checker |
| |
| |
| |
| 2003-09-12 -- 0.2.0 |
| * new source encoding / FIXME checker (pep 263) |
| |
| * new --zope option which trigger Zope import. Usefull to check Zope |
| products code. |
| |
| * new --comment option which enable the evaluation note comment |
| (disabled by default). |
| |
| * a ton of bug fixes |
| |
| * easy functionnal test infrastructure |
| |
| |
| |
| 2003-06-18 -- 0.1.2 |
| * bug fix release |
| |
| * remove dependency to pyreverse |
| |
| |
| |
| 2003-06-01 -- 0.1.1 |
| * much more functionnalities ! |
| |
| |
| |
| 2003-05-19 -- 0.1 |
| * initial release |