pylint / ChangeLog

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
ChangeLog for PyLint
====================

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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.