third_party.pylibs.pylint.src/ChangeLog

524 lines
16 KiB
Plaintext
Raw Normal View History

2006-04-26 10:48:09 +00:00
ChangeLog for PyLint
====================
--
* new W0212 message for access to protected member from client code
* new W0105 message extracted from W0104 (statement seems to have no effect)
with string
2006-04-26 10:48:09 +00:00
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 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