| ChangeLog for Pylint |
| ==================== |
| |
| 2014-04-18 -- 1.2.0 |
| * Pass the current python paths to pylint process when invoked via |
| epylint. Fixes BitBucket issue #133. |
| |
| * Add -i / --include-ids and -s / --symbols back as completely ignored |
| options. Fixes BitBucket issue #180. |
| |
| * Extend the number of cases in which logging calls are detected. Fixes |
| bitbucket issue #182. |
| |
| * Improve pragma handling to not detect pylint:* strings in non-comments. |
| Fixes BitBucket issue #79. |
| |
| * Do not crash with UnknownMessage if an unknown message ID/name appears |
| in disable or enable in the configuration. Patch by Cole Robinson. |
| Fixes bitbucket issue #170. |
| |
| * Add new warning 'eval-used', checking that the builtin function `eval` |
| was used. |
| |
| * Make it possible to show a naming hint for invalid name by setting |
| include-naming-hint. Also make the naming hints configurable. Fixes |
| BitBucket issue #138. |
| |
| * Added support for enforcing multiple, but consistent name styles for |
| different name types inside a single module; based on a patch written |
| by morbo@google.com. |
| |
| * Also warn about empty docstrings on overridden methods; contributed |
| by sebastianu@google.com. |
| |
| * Also inspect arguments to constructor calls, and emit relevant |
| warnings; contributed by sebastianu@google.com. |
| |
| * Added a new configuration option logging-modules to make the list |
| of module names that can be checked for 'logging-not-lazy' et. al. |
| configurable; contributed by morbo@google.com. |
| |
| * ensure init-hooks is evaluated before other options, notably load-plugins |
| (#166) |
| |
| * Python 2.5 support restored: fixed small issues preventing pylint to run |
| on python 2.5. Bitbucket issues #50 and #62. |
| |
| * bitbucket #128: pylint doesn't crash when looking |
| for used-before-assignment in context manager |
| assignments. |
| |
| * Add new warning, 'bad-reversed-sequence', for checking that the |
| reversed() builtin receive a sequence (implements __getitem__ and __len__, |
| without being a dict or a dict subclass) or an instance which implements |
| __reversed__. |
| |
| * Mark `file` as a bad function when using python2 (closes #8). |
| |
| * Add new warning 'bad-exception-context', checking |
| that `raise ... from ...` uses a proper exception context |
| (None or an exception). |
| |
| * Enhance the check for 'used-before-assignment' to look |
| for 'nonlocal' uses. |
| |
| * Emit 'undefined-all-variable' if a package's __all__ |
| variable contains a missing submodule (closes #126). |
| |
| * Add a new warning 'abstract-class-instantiated' for checking |
| that abstract classes created with `abc` module and |
| with abstract methods are instantied. |
| |
| * Do not warn about 'return-arg-in-generator' in Python 3.3+. |
| |
| * Do not warn about 'abstract-method' when the abstract method |
| is implemented through assignment (#155). |
| |
| * Improve cyclic import detection in the case of packages, patch by Buck |
| Golemon |
| |
| * Add new warnings for checking proper class __slots__: |
| 'invalid-slots-object' and 'invalid-slots'. |
| |
| * Search for rc file in `~/.config/pylintrc` if `~/.pylintrc` |
| doesn't exists (#121) |
| |
| * Don't register the newstyle checker w/ python >= 3 |
| |
| * Fix unused-import false positive w/ augment assignment (#78) |
| |
| * Fix access-member-before-definition false negative wrt aug assign (#164) |
| |
| * Do not attempt to analyze non python file, eg .so file (#122) |
| |
| |
| |
| 2013-12-22 -- 1.1.0 |
| * Add new check for use of deprecated pragma directives "pylint:disable-msg" |
| or "pylint:enable-msg" (I0022, deprecated-pragma) which was previously |
| emmited as a regular warn(). |
| |
| * Avoid false used-before-assignment for except handler defined |
| identifier used on the same line (#111). |
| |
| * Combine 'no-space-after-operator', 'no-space-after-comma' and |
| 'no-space-before-operator' into a new warning 'bad-whitespace'. |
| |
| * Add a new warning 'superfluous-parens' for unnecessary |
| parentheses after certain keywords. |
| |
| * Fix a potential crash in the redefine-in-handler warning |
| if the redefined name is a nested getattr node. |
| |
| * Add a new option for the multi-statement warning to |
| allow single-line if statements. |
| |
| * Add 'bad-context-manager' error, checking that '__exit__' |
| special method accepts the right number of arguments. |
| |
| * Run pylint as a python module 'python -m pylint' (anatoly techtonik). |
| |
| * Check for non-exception classes inside an except clause. |
| |
| * epylint support options to give to pylint after the file to analyze and |
| have basic input validation (bitbucket #53 and #54), patches provided by |
| felipeochoa and Brian Lane. |
| |
| * Added a new warning, 'non-iterator-returned', for non-iterators |
| returned by '__iter__'. |
| |
| * Add new checks for unpacking non-sequences in assignments |
| (unpacking-non-sequence) as well as unbalanced tuple unpacking |
| (unbalanced-tuple-unpacking). |
| |
| * useless-else-on-loop not emited if there is a break in the |
| else clause of inner loop (#117). |
| |
| * don't mark `input` as a bad function when using python3 (#110). |
| |
| * badly-implemented-container caused several problems in its |
| current implementation. Deactivate it until we have something |
| better. See #112 for instance. |
| |
| * Use attribute regexp for properties in python3, as in python2 |
| |
| * Create the PYLINTHOME directory when needed, it might fail and lead to |
| spurious warnings on import of pylint.config. |
| |
| * Fix setup.py so that pylint properly install on Windows when using python3 |
| |
| * Various documentation fixes and enhancements |
| |
| * Fix issue #55 (false-positive trailing-whitespace on Windows) |
| |
| |
| |
| 2013-08-06 -- 1.0.0 |
| * Add check for the use of 'exec' function |
| |
| * New --msg-template option to control output, deprecating "msvc" and |
| "parseable" output formats as well as killing `--include-ids` and `--symbols` |
| options |
| |
| * Do not emit [fixme] for every line if the config value 'notes' |
| is empty, but [fixme] is enabled. |
| |
| * Emit warnings about lines exceeding the column limit when |
| those lines are inside multiline docstrings. |
| |
| * Do not double-check parameter names with the regex for parameters and |
| inline variables. |
| |
| * Added a new warning missing-final-newline (C0304) for files missing |
| the final newline. |
| |
| * Methods that are decorated as properties are now treated as attributes |
| for the purposes of name checking. |
| |
| * Names of derived instance class member are not checked any more. |
| |
| * Names in global statements are now checked against the regular |
| expression for constants. |
| |
| * For toplevel name assignment, the class name regex will be used if |
| pylint can detect that value on the right-hand side is a class |
| (like collections.namedtuple()). |
| |
| * Simplified invalid-name message |
| |
| * Added a new warning invalid-encoded-data (W0512) for files that |
| contain data that cannot be decoded with the specified or |
| default encoding. |
| |
| * New warning bad-open-mode (W1501) for calls to open (or file) that |
| specify invalid open modes (Original implementation by Sasha Issayev). |
| |
| * New warning old-style-class (C1001) for classes that do not have any |
| base class. |
| |
| * Add new name type 'class_attribute' for attributes defined |
| in class scope. By default, allow both const and variable names. |
| |
| * New warning trailing-whitespace (C0303) that warns about |
| trailing whitespace. |
| |
| * Added a new warning unpacking-in-except (W0712) about unpacking |
| exceptions in handlers, which is unsupported in Python 3. |
| |
| * Add a configuration option for missing-docstring to |
| optionally exempt short functions/methods/classes from |
| the check. |
| |
| * Add the type of the offending node to missing-docstring |
| and empty-docstring. |
| |
| * New utility classes for per-checker unittests in testutils.py |
| |
| * Do not warn about redefinitions of variables that match the |
| dummy regex. |
| |
| * Do not treat all variables starting with _ as dummy variables, |
| only _ itself. |
| |
| * Make the line-too-long warning configurable by adding a regex for lines |
| for with the length limit should not be enforced |
| |
| * Do not warn about a long line if a pylint disable |
| option brings it above the length limit |
| |
| * Do not flag names in nested with statements as undefined. |
| |
| * Added a new warning 'old-raise-syntax' for the deprecated syntax |
| raise Exception, args |
| |
| * Support for PEP 3102 and new missing-kwoa (E1125) message for missing |
| mandatory keyword argument (logilab.org's #107788) |
| |
| * Fix spelling of max-branchs option, now max-branches |
| |
| * Added a new base class and interface for checkers that work on the |
| tokens rather than the syntax, and only tokenize the input file |
| once. |
| |
| * Follow astng renaming to astroid |
| |
| * bitbucket #37: check for unbalanced unpacking in assignments |
| |
| * bitbucket #25: fix incomplete-protocol false positive for read-only |
| containers like tuple |
| |
| * bitbucket #16: fix False positive E1003 on Python 3 for argument-less super() |
| |
| * bitbucket #6: put back documentation in source distribution |
| |
| * bitbucket #15: epylint shouldn't hang anymore when there is a large |
| output on pylint'stderr |
| |
| * bitbucket #7: fix epylint w/ python3 |
| |
| * bitbucket #3: remove string module from the default list of deprecated |
| modules |
| |
| |
| |
| 2013-04-25 -- 0.28.0 |
| * bitbucket #1: fix "dictionary changed size during iteration" crash |
| |
| * #74013: new E1310[bad-str-strip-call] message warning when a call to a |
| {l,r,}strip method contains duplicate characters (patch by Torsten Marek) |
| |
| * #123233: new E0108[duplicate-argument-name] message reporting duplicate |
| argument names |
| |
| * #81378: emit W0120[useless-else-on-loop] for loops without break |
| |
| * #124660: internal dependencies should not appear in external dependencies |
| report |
| |
| * #124662: fix name error causing crash when symbols are included in output |
| messages |
| |
| * #123285: apply pragmas for warnings attached to lines to physical source |
| code lines |
| |
| * #123259: do not emit E0105 for yield expressions inside lambdas |
| |
| * #123892: don't crash when attempting to show source code line that can't |
| be encoded with the current locale settings |
| |
| * Simplify checks for dangerous default values by unifying tests for all |
| different mutable compound literals. |
| |
| * Improve the description for E1124[redundant-keyword-arg] |
| |
| |
| |
| 2013-02-26 -- 0.27.0 |
| * #20693: replace pylint.el by Ian Eure version (patch by J.Kotta) |
| |
| * #105327: add support for --disable=all option and deprecate the |
| 'disable-all' inline directive in favour of 'skip-file' (patch by |
| A.Fayolle) |
| |
| * #110840: add messages I0020 and I0021 for reporting of suppressed |
| messages and useless suppression pragmas. (patch by Torsten Marek) |
| |
| * #112728: add warning E0604 for non-string objects in __all__ |
| (patch by Torsten Marek) |
| |
| * #120657: add warning W0110/deprecated-lambda when a map/filter |
| of a lambda could be a comprehension (patch by Martin Pool) |
| |
| * #113231: logging checker now looks at instances of Logger classes |
| in addition to the base logging module. (patch by Mike Bryant) |
| |
| * #111799: don't warn about octal escape sequence, but warn about \o |
| which is not octal in Python (patch by Martin Pool) |
| |
| * #110839: bind <F5> to Run button in pylint-gui |
| |
| * #115580: fix erroneous W0212 (access to protected member) on super call |
| (patch by Martin Pool) |
| |
| * #110853: fix a crash when an __init__ method in a base class has been |
| created by assignment rather than direct function definition (patch by |
| Torsten Marek) |
| |
| * #110838: fix pylint-gui crash when include-ids is activated (patch by |
| Omega Weapon) |
| |
| * #112667: fix emission of reimport warnings for mixed imports and extend |
| the testcase (patch by Torsten Marek) |
| |
| * #112698: fix crash related to non-inferable __all__ attributes and |
| invalid __all__ contents (patch by Torsten Marek) |
| |
| * Python 3 related fixes: |
| |
| * #110213: fix import of checkers broken with python 3.3, causing |
| "No such message id W0704" breakage |
| |
| * #120635: redefine cmp function used in pylint.reporters |
| |
| * Include full warning id for I0020 and I0021 and make sure to flush |
| warnings after each module, not at the end of the pylint run. |
| (patch by Torsten Marek) |
| |
| * Changed the regular expression for inline options so that it must be |
| preceeded by a # (patch by Torsten Marek) |
| |
| * Make dot output for import graph predictable and not depend |
| on ordering of strings in hashes. (patch by Torsten Marek) |
| |
| * Add hooks for import path setup and move pylint's sys.path |
| modifications into them. (patch by Torsten Marek) |
| |
| |
| |
| 2012-10-05 -- 0.26.0 |
| * #106534: add --ignore-imports option to code similarity checking |
| and 'symilar' command line tool (patch by Ry4an Brase) |
| |
| * #104571: check for anomalous backslash escape, introducing new |
| W1401 and W1402 messages (patch by Martin Pool) |
| |
| * #100707: check for boolop being used as exception class, introducing |
| new W0711 message (patch by Tim Hatch) |
| |
| * #4014: improve checking of metaclass methods first args, introducing |
| new C0204 message (patch by lothiraldan@gmail.com finalized by sthenault) |
| |
| * #4685: check for consistency of a module's __all__ variable, |
| introducing new E0603 message |
| |
| * #105337: allow custom reporter in output-format (patch by Kevin Jing Qiu) |
| |
| * #104420: check for protocol completness and avoid false R0903 |
| (patch by Peter Hammond) |
| |
| * #100654: fix grammatical error for W0332 message (using 'l' as |
| long int identifier) |
| |
| * #103656: fix W0231 false positive for missing call to object.__init__ |
| (patch by lothiraldan@gmail.com) |
| |
| * #63424: fix similarity report disabling by properly renaming it to RP0801 |
| |
| * #103949: create a console_scripts entry point to be used by |
| easy_install, buildout and pip |
| |
| * fix cross-interpreter issue (non compatible access to __builtins__) |
| |
| * stop including tests files in distribution, they causes crash when |
| installed with python3 (#72022, #82417, #76910) |
| |
| |
| |
| 2012-07-17 -- 0.25.2 |
| * #93591: Correctly emit warnings about clobbered variable names when an |
| except handler contains a tuple of names instead of a single name. |
| (patch by tmarek@google.com) |
| |
| * #7394: W0212 (access to protected member) not emited on assigments |
| (patch by lothiraldan@gmail.com) |
| |
| * #18772; no prototype consistency check for mangled methods (patch by |
| lothiraldan@gmail.com) |
| |
| * #92911: emit W0102 when sets are used as default arguments in functions |
| (patch by tmarek@google.com) |
| |
| * #77982: do not emit E0602 for loop variables of comprehensions |
| used as argument values inside a decorator (patch by tmarek@google.com) |
| |
| * #89092: don't emit E0202 (attribute hiding a method) on @property methods |
| |
| * #92584: fix pylint-gui crash due to internal API change |
| |
| * #87192: fix crash when decorators are accessed through more than one dot |
| (for instance @a.b is fine, @a.b.c crash) |
| |
| * #88914: fix parsing of --generated-members options, leading to crash |
| when using a regexp value set |
| |
| * fix potential crashes with utils.safe_infer raising InferenceError |
| |
| |
| |
| 2011-12-08 -- 0.25.1 |
| * #81078: Warn if names in exception handlers clobber overwrite |
| existing names (patch by tmarek@google.com) |
| |
| * #81113: Fix W0702 messages appearing with the wrong line number. |
| (patch by tmarek@google.com) |
| |
| * #50461, #52020, #51222: Do not issue warnings when using 2.6's |
| property.setter/deleter functionality (patch by dneil@google.com) |
| |
| * #9188, #4024: Do not trigger W0631 if a loop variable is assigned |
| in the else branch of a for loop. |
| |
| |
| |
| 2011-10-07 -- 0.25.0 |
| * #74742: make allowed name for first argument of class method configurable |
| (patch by Google) |
| |
| * #74087: handle case where inference of a module return YES; this avoid |
| some cases of "TypeError: '_Yes' object does not support indexing" (patch |
| by Google) |
| |
| * #74745: make "too general" exception names configurable (patch by Google) |
| |
| * #74747: crash occurs when lookup up a special attribute in class scope |
| (patch by google) |
| |
| * #76920: crash if on eg "pylint --rcfile" (patch by Torsten Marek) |
| |
| * #77237: warning for E0202 may be very misleading |
| |
| * #73941: HTML report messages table is badly rendered |
| |
| |
| |
| 2011-07-18 -- 0.24.0 |
| * #69738: add regular expressions support for "generated-members" |
| |
| * ids of logging and string_format checkers have been changed: |
| logging: 65 -> 12, string_format: 99 -> 13 |
| Also add documentation to say that ids of range 1-50 shall be reserved |
| to pylint internal checkers |
| |
| * #69993: Additional string format checks for logging module: |
| check for missing arguments, too many arguments, or invalid string |
| formats in the logging checker module. Contributed by Daniel Arena |
| |
| * #69220: add column offset to the reports. If you've a custom reporter, |
| this change may break it has now location gain a new item giving the |
| column offset. |
| |
| * #60828: Fix false positive in reimport check |
| |
| * #70495: absolute imports fail depending on module path (patch by Jacek Konieczny) |
| |
| * #22273: Fix --ignore option documentation to match reality |
| |
| |
| |
| 2011-01-11 -- 0.23.0 |
| * documentation update, add manpages |
| |
| * several performance improvements |
| |
| * finalize python3 support |
| |
| * new W0106 warning 'Expression "%s" is assigned to nothing' |
| |
| * drop E0501 and E0502 messages about wrong source encoding: not anymore |
| interesting since it's a syntax error for python >= 2.5 and we now only |
| support this python version and above. |
| |
| * don't emit W0221 or W0222 when methods as variable arguments (eg *arg |
| and/or **args). Patch submitted by Charles Duffy. |
| |
| |
| |
| 2010-11-15 -- 0.22.0 |
| * python versions: minimal python3.x support; drop python < 2.5 support |
| |
| |
| |
| 2010-10-27 -- 0.21.4 |
| * fix #48066: pylint crashes when redirecting output containing non-ascii characters |
| |
| * fix #19799: "pylint -blah" exit with status 2 |
| |
| * update documentation |
| |
| |
| |
| 2010-09-28 -- 0.21.3 |
| * restored python 2.3 compatibility. Along with logilab-astng |
| 0.21.3 and logilab-common 0.52, this will much probably be the |
| latest release supporting python < 2.5. |
| |
| |
| |
| 2010-08-26 -- 0.21.2 |
| * fix #36193: import checker raise exception on cyclic import |
| |
| * fix #28796: regression in --generated-members introduced pylint 0.20 |
| |
| * some documentation cleanups |
| |
| |
| |
| 2010-06-04 -- 0.21.1 |
| * fix #28962: pylint crash with new options, due to missing stats data while |
| writing the Statistics by types report |
| |
| * updated man page to 0.21 or greater command line usage (fix debian #582494) |
| |
| |
| |
| 2010-05-11 -- 0.21.0 |
| * command line updated (closes #9774, #9787, #9992, #22962): |
| |
| * all enable-* / disable-* options have been merged into --enable / --disable |
| |
| * BACKWARD INCOMPATIBLE CHANGE: short name of --errors-only becomes -E, -e being |
| affected to --enable |
| |
| * pylint --help output much simplified, with --long-help available to get the |
| complete one |
| |
| * revisited gui, thanks to students from Toronto university (they are great |
| contributors to this release!) |
| |
| * fix #21591: html reporter produces no output if reports is set to 'no' |
| |
| * fix #4581: not Missing docstring (C0111) warning if a method is overridden |
| |
| * fix #4683: Non-ASCII characters count double if utf8 encode |
| |
| * fix #9018: when using defining-attr-method, method order matters |
| |
| * fix #4595: Comma not followed by a space should not occurs on trailing comma |
| in list/tuple/dict definition |
| |
| * fix #22585: [Patch] fix man warnings for pyreverse.1 manpage |
| |
| * fix #20067: AttributeError: 'NoneType' object has no attribute 'name' with with |
| |
| |
| |
| 2010-03-01 -- 0.20.0 |
| * fix #19498: fix windows batch file |
| |
| * fix #19339: pylint.el : non existing py-mod-map |
| (closes Debian Bug report logs - #475939) |
| |
| * implement #18860, new W0199 message on assert (a, b) |
| |
| * implement #9776, 'W0150' break or return statement in finally block may |
| swallow exception. |
| |
| * fix #9263, __init__ and __new__ are checked for unused arguments |
| |
| * fix #20991, class scope definitions ignored in a genexpr |
| |
| * fix #5975, Abstract intermediate class not recognized as such |
| |
| * fix #5977, yield and return statement have their own counters, no more R0911 |
| (Too many return statements) when a function have many yield stamtements |
| |
| * implement #5564, function / method arguments with leading "_" are ignored in |
| arguments / local variables count. |
| |
| * implement #9982, E0711 specific error message when raising NotImplemented |
| |
| * remove --cache-size option |
| |
| |
| |
| 2009-12-18 -- 0.19.0 |
| * implement #18947, #5561: checker for function arguments |
| |
| * include James Lingard string format checker |
| |
| * include simple message (ids) listing by Vincent Férotin (#9791) |
| |
| * --errors-only does not hide fatal error anymore |
| |
| * include james Lingard patches for ++/-- and duplicate key in dicts |
| |
| * include James Lingard patches for function call arguments checker |
| |
| * improved flymake code and doc provided by Derek Harland |
| |
| * refactor and fix the imports checker |
| |
| * fix #18862: E0601 false positive with lambda functions |
| |
| * fix #8764: More than one statement on a single line false positive with |
| try/except/finally |
| |
| * fix #9215: false undefined variable error in lambda function |
| |
| * fix for w0108 false positive (Nathaniel) |
| |
| * fix test/fulltest.sh |
| |
| * #5821 added a utility function to run pylint in another process (patch provide by Vincent Férotin) |
| |
| |
| |
| 2009-03-25 -- 0.18.0 |
| * tests ok with python 2.4, 2.5, 2.6. 2.3 not tested |
| |
| * fix #8687, W0613 false positive on inner function |
| |
| * fix #8350, C0322 false positive on multi-line string |
| |
| * fix #8332: set E0501 line no to the first line where non ascii character |
| has been found |
| |
| * avoid some E0203 / E0602 false negatives by detecting respectively |
| AttributeError / NameError |
| |
| * implements #4037: don't issue W0142 (* or ** magic) when they are barely |
| passed from */** arguments |
| |
| * complete #5573: more complete list of special methods, also skip W0613 |
| for python internal method |
| |
| * don't show information messages by default |
| |
| * integration of Yuen Ho Wong's patches on emacs lisp files |
| |
| |
| |
| 2009-03-19 -- 0.17.0 |
| * semicolon check : move W0601 to W0301 |
| |
| * remove rpython : remove all rpython checker, modules and tests |
| |
| * astng 0.18 compatibility: support for _ast module modifies interfaces |
| |
| |
| |
| 2009-01-28 -- 0.16.0 |
| * change [en|dis]able-msg-cat options: only accept message categories |
| identified by their first letter (eg IRCWEF) without the need for comma |
| as separator |
| |
| * add epylint.bat script to fix Windows installation |
| |
| * setuptools/easy_install support |
| |
| * include a modified version of Maarten ter Huurne patch to avoid W0613 |
| warning on arguments from overridden method |
| |
| * implement #5575 drop dumb W0704 message) by adding W0704 to ignored |
| messages by default |
| |
| * new W0108 message, checking for suspicious lambda (provided by Nathaniel |
| Manista) |
| |
| * fix W0631, false positive reported by Paul Hachmann |
| |
| * fix #6951: false positive with W0104 |
| |
| * fix #6949 |
| |
| * patches by Mads Kiilerich: |
| |
| * implement #4691, make pylint exits with a non zero return |
| status if any messages other then Information are issued |
| |
| * fix #3711, #5626 (name resolution bug w/ decorator and class members) |
| |
| * fix #6954 |
| |
| |
| |
| 2008-10-13 -- 0.15.2 |
| * fix #5672: W0706 weirdness ( W0706 removed ) |
| |
| * fix #5998: documentation points to wrong url for mailing list |
| |
| * fix #6022: no error message on wrong module names |
| |
| * fix #6040: pytest doesn't run test/func_test.py |
| |
| |
| |
| 2008-09-15 -- 0.15.1 |
| * fix #4910: default values are missing in manpage |
| |
| * fix #5991: missing files in 0.15.0 tarball |
| |
| * fix #5993: epylint should work with python 2.3 |
| |
| |
| |
| 2008-09-10 -- 0.15.0 |
| * include pyreverse package and class diagram generation |
| |
| * included Stefan Rank's patch to deal with 2.4 relative import |
| |
| * included Robert Kirkpatrick's tutorial and typos fixes |
| |
| * fix bug in reenabling message |
| |
| * fix #2473: invoking pylint on __init__.py (hopefully) |
| |
| * typecheck: acquired-members option has been dropped in favor of the more |
| generic generated-members option. If the zope option is set, the behaviour |
| is now to add some default values to generated-members. |
| |
| * flymake integration: added bin/epylint and elisp/pylint-flymake.el |
| |
| |
| |
| 2008-01-14 -- 0.14.0 |
| * fix #3733: Messages (dis)appear depending on order of file names |
| |
| * fix #4026: pylint.el should require compile |
| |
| * fix a bug in colorized reporter, spotted by Dave Borowitz |
| |
| * applied patch from Stefan Rank to avoid W0410 false positive when |
| multiple "from __future__" import statements |
| |
| * implement #4012: flag back tick as deprecated (new W0333 message) |
| |
| * new ignored-class option on typecheck checker allowing to skip members |
| checking based on class name (patch provided by Thomas W Barr) |
| |
| |
| |
| 2007-06-07 -- 0.13.2 |
| * fix disable-checker option so that it won't accidentally enable the |
| rpython checker which is disabled by default |
| |
| * added note about the gedit plugin into documentation |
| |
| |
| |
| 2007-03-02 -- 0.13.1 |
| * fix some unexplained 0.13.0 packaging issue which led to a bunch of |
| files missing from the distribution |
| |
| |
| |
| 2007-02-28 -- 0.13.0 |
| * new RPython (Restricted Python) checker for PyPy fellow 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 respectively 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 arbitrary code necessary to set |
| environment (eg sys.path) (#3156) |
| |
| * One more Daniel's patch fixing a command line option parsing |
| problem, this'll definitely 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 dynamic 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) respectively when the statement is actually string |
| (that's sometimes used instead of comments for documentation) or an |
| empty statement generated by a useless semicolon |
| |
| * 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 unexistent 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 assignment is done on a function call but the |
| inferred 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-length 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 respectively |
| - 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 first 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 dependencies 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, available 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 useful 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 overridden. It doesn't complain anymore for unused import in |
| __init__ files, and provides a new option ignore-interface-methods, |
| useful 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 branches |
| |
| |
| |
| 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. Useful to check Zope |
| products code. |
| |
| * new --comment option which enable the evaluation note comment |
| (disabled by default). |
| |
| * a ton of bug fixes |
| |
| * easy functional test infrastructure |
| |
| |
| |
| 2003-06-18 -- 0.1.2 |
| * bug fix release |
| |
| * remove dependency to pyreverse |
| |
| |
| |
| 2003-06-01 -- 0.1.1 |
| * much more functionalities ! |
| |
| |
| |
| 2003-05-19 -- 0.1 |
| * initial release |
| |
| |
| |