Skip to content

Commit 2bd64ce

Browse files
[doc] Reorganize the changelog and the way it's displayed in the documentation
1 parent 4538b7b commit 2bd64ce

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+7664
-7524
lines changed

ChangeLog

-7,400
This file was deleted.

doc/whatsnew/0/0.x.rst

+1,247
Large diffs are not rendered by default.

doc/whatsnew/0/index.rst

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
0.x
2+
===
3+
4+
.. include:: ../full_changelog_explanation.rst
5+
6+
Ticket numbers are almost always internal to Logilab, some come from bitbucket.
7+
8+
.. toctree::
9+
:maxdepth: 2
10+
11+
0.x.rst

doc/whatsnew/1/1.0.rst

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
**************************
2+
What's New In Pylint 1.0
3+
**************************
4+
5+
Release date: 2013-08-06
6+
7+
* Add check for the use of 'exec' function
8+
9+
* New --msg-template option to control output, deprecating "msvc" and
10+
"parseable" output formats as well as killing ``--include-ids`` and ``--symbols``
11+
options
12+
13+
* Do not emit [fixme] for every line if the config value 'notes'
14+
is empty, but [fixme] is enabled.
15+
16+
* Emit warnings about lines exceeding the column limit when
17+
those lines are inside multiline docstrings.
18+
19+
* Do not double-check parameter names with the regex for parameters and
20+
inline variables.
21+
22+
* Added a new warning missing-final-newline (C0304) for files missing
23+
the final newline.
24+
25+
* Methods that are decorated as properties are now treated as attributes
26+
for the purposes of name checking.
27+
28+
* Names of derived instance class member are not checked any more.
29+
30+
* Names in global statements are now checked against the regular
31+
expression for constants.
32+
33+
* For toplevel name assignment, the class name regex will be used if
34+
pylint can detect that value on the right-hand side is a class
35+
(like collections.namedtuple()).
36+
37+
* Simplified invalid-name message
38+
39+
* Added a new warning invalid-encoded-data (W0512) for files that
40+
contain data that cannot be decoded with the specified or
41+
default encoding.
42+
43+
* New warning bad-open-mode (W1501) for calls to open (or file) that
44+
specify invalid open modes (Original implementation by Sasha Issayev).
45+
46+
* New warning old-style-class (C1001) for classes that do not have any
47+
base class.
48+
49+
* Add new name type 'class_attribute' for attributes defined
50+
in class scope. By default, allow both const and variable names.
51+
52+
* New warning trailing-whitespace (C0303) that warns about
53+
trailing whitespace.
54+
55+
* Added a new warning unpacking-in-except (W0712) about unpacking
56+
exceptions in handlers, which is unsupported in Python 3.
57+
58+
* Add a configuration option for missing-docstring to
59+
optionally exempt short functions/methods/classes from
60+
the check.
61+
62+
* Add the type of the offending node to missing-docstring
63+
and empty-docstring.
64+
65+
* New utility classes for per-checker unittests in testutils.py
66+
67+
* Do not warn about redefinitions of variables that match the
68+
dummy regex.
69+
70+
* Do not treat all variables starting with _ as dummy variables,
71+
only _ itself.
72+
73+
* Make the line-too-long warning configurable by adding a regex for lines
74+
for with the length limit should not be enforced
75+
76+
* Do not warn about a long line if a pylint disable
77+
option brings it above the length limit
78+
79+
* Do not flag names in nested with statements as undefined.
80+
81+
* Added a new warning 'old-raise-syntax' for the deprecated syntax
82+
raise Exception, args
83+
84+
* Support for PEP 3102 and new missing-kwoa (E1125) message for missing
85+
mandatory keyword argument (logilab.org's #107788)
86+
87+
* Fix spelling of max-branchs option, now max-branches
88+
89+
* Added a new base class and interface for checkers that work on the
90+
tokens rather than the syntax, and only tokenize the input file
91+
once.
92+
93+
* Follow astng renaming to astroid
94+
95+
* bitbucket #37: check for unbalanced unpacking in assignments
96+
97+
* bitbucket #25: fix incomplete-protocol false positive for read-only
98+
containers like tuple
99+
100+
* bitbucket #16: fix False positive E1003 on Python 3 for argument-less super()
101+
102+
* bitbucket #6: put back documentation in source distribution
103+
104+
* bitbucket #15: epylint shouldn't hang anymore when there is a large
105+
output on pylint'stderr
106+
107+
* bitbucket #7: fix epylint w/ python3
108+
109+
* bitbucket #3: remove string module from the default list of deprecated
110+
modules

doc/whatsnew/1/1.1.rst

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
**************************
2+
What's New In Pylint 1.1
3+
**************************
4+
5+
Release date: 2013-12-22
6+
7+
* Add new check for use of deprecated pragma directives "pylint:disable-msg"
8+
or "pylint:enable-msg" (I0022, deprecated-pragma) which was previously
9+
emitted as a regular warn().
10+
11+
* Avoid false used-before-assignment for except handler defined
12+
identifier used on the same line (#111).
13+
14+
* Combine 'no-space-after-operator', 'no-space-after-comma' and
15+
'no-space-before-operator' into a new warning 'bad-whitespace'.
16+
17+
* Add a new warning 'superfluous-parens' for unnecessary
18+
parentheses after certain keywords.
19+
20+
* Fix a potential crash in the redefine-in-handler warning
21+
if the redefined name is a nested getattr node.
22+
23+
* Add a new option for the multi-statement warning to
24+
allow single-line if statements.
25+
26+
* Add 'bad-context-manager' error, checking that '__exit__'
27+
special method accepts the right number of arguments.
28+
29+
* Run pylint as a python module 'python -m pylint' (anatoly techtonik).
30+
31+
* Check for non-exception classes inside an except clause.
32+
33+
* epylint support options to give to pylint after the file to analyze and
34+
have basic input validation (bitbucket #53 and #54), patches provided by
35+
felipeochoa and Brian Lane.
36+
37+
* Added a new warning, 'non-iterator-returned', for non-iterators
38+
returned by '__iter__'.
39+
40+
* Add new checks for unpacking non-sequences in assignments
41+
(unpacking-non-sequence) as well as unbalanced tuple unpacking
42+
(unbalanced-tuple-unpacking).
43+
44+
* useless-else-on-loop not emitted if there is a break in the
45+
else clause of inner loop (#117).
46+
47+
* don't mark ``input`` as a bad function when using python3 (#110).
48+
49+
* badly-implemented-container caused several problems in its
50+
current implementation. Deactivate it until we have something
51+
better. See #112 for instance.
52+
53+
* Use attribute regexp for properties in python3, as in python2
54+
55+
* Create the PYLINTHOME directory when needed, it might fail and lead to
56+
spurious warnings on import of pylint.config.
57+
58+
* Fix setup.py so that pylint properly install on Windows when using python3
59+
60+
* Various documentation fixes and enhancements
61+
62+
* Fix issue #55 (false-positive trailing-whitespace on Windows)

doc/whatsnew/1/1.2.rst

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
**************************
2+
What's New In Pylint 1.2
3+
**************************
4+
5+
Release date: 2014-04-30
6+
7+
* Restore the ability to specify the init-hook option via the
8+
configuration file, which was accidentally broken in 1.2.0.
9+
10+
* Add a new warning [bad-continuation] for badly indentend continued
11+
lines.
12+
13+
* Emit [assignment-from-none] when the function contains bare returns.
14+
Fixes BitBucket issue #191.
15+
16+
* Added a new warning for closing over variables that are
17+
defined in loops. Fixes Bitbucket issue #176.
18+
19+
* Do not warn about \u escapes in string literals when Unicode literals
20+
are used for Python 2.*. Fixes BitBucket issue #151.
21+
22+
* Extend the checking for unbalanced-tuple-unpacking and
23+
unpacking-non-sequence to instance attribute unpacking as well.
24+
25+
* Fix explicit checking of python script (1.2 regression, #219)
26+
27+
* Restore --init-hook, renamed accidentally into --init-hooks in 1.2.0
28+
(#211)
29+
30+
* Add 'indexing-exception' warning, which detects that indexing
31+
an exception occurs in Python 2 (behaviour removed in Python 3).
32+
33+
34+
What's New in Pylint 1.2.0?
35+
===========================
36+
Release date: 2014-04-18
37+
38+
* Pass the current python paths to pylint process when invoked via
39+
epylint. Fixes BitBucket issue #133.
40+
41+
* Add -i / --include-ids and -s / --symbols back as completely ignored
42+
options. Fixes BitBucket issue #180.
43+
44+
* Extend the number of cases in which logging calls are detected. Fixes
45+
bitbucket issue #182.
46+
47+
* Improve pragma handling to not detect pylint:* strings in non-comments.
48+
Fixes BitBucket issue #79.
49+
50+
* Do not crash with UnknownMessage if an unknown message ID/name appears
51+
in disable or enable in the configuration. Patch by Cole Robinson.
52+
Fixes bitbucket issue #170.
53+
54+
* Add new warning 'eval-used', checking that the builtin function ``eval``
55+
was used.
56+
57+
* Make it possible to show a naming hint for invalid name by setting
58+
include-naming-hint. Also make the naming hints configurable. Fixes
59+
BitBucket issue #138.
60+
61+
* Added support for enforcing multiple, but consistent name styles for
62+
different name types inside a single module; based on a patch written
63+
64+
65+
* Also warn about empty docstrings on overridden methods; contributed
66+
67+
68+
* Also inspect arguments to constructor calls, and emit relevant
69+
warnings; contributed by [email protected].
70+
71+
* Added a new configuration option logging-modules to make the list
72+
of module names that can be checked for 'logging-not-lazy' et. al.
73+
configurable; contributed by [email protected].
74+
75+
* ensure init-hooks is evaluated before other options, notably load-plugins
76+
(#166)
77+
78+
* Python 2.5 support restored: fixed small issues preventing pylint to run
79+
on python 2.5. Bitbucket issues #50 and #62.
80+
81+
* bitbucket #128: pylint doesn't crash when looking
82+
for used-before-assignment in context manager
83+
assignments.
84+
85+
* Add new warning, 'bad-reversed-sequence', for checking that the
86+
reversed() builtin receive a sequence (implements __getitem__ and __len__,
87+
without being a dict or a dict subclass) or an instance which implements
88+
__reversed__.
89+
90+
* Mark ``file`` as a bad function when using python2 (closes #8).
91+
92+
* Add new warning 'bad-exception-context', checking
93+
that ``raise ... from ...`` uses a proper exception context
94+
(None or an exception).
95+
96+
* Enhance the check for 'used-before-assignment' to look
97+
for 'nonlocal' uses.
98+
99+
* Emit 'undefined-all-variable' if a package's __all__
100+
variable contains a missing submodule (closes #126).
101+
102+
* Add a new warning 'abstract-class-instantiated' for checking
103+
that abstract classes created with ``abc`` module and
104+
with abstract methods are instantied.
105+
106+
* Do not warn about 'return-arg-in-generator' in Python 3.3+.
107+
108+
* Do not warn about 'abstract-method' when the abstract method
109+
is implemented through assignment (#155).
110+
111+
* Improve cyclic import detection in the case of packages, patch by Buck
112+
Golemon
113+
114+
* Add new warnings for checking proper class __slots__:
115+
``invalid-slots-object`` and ``invalid-slots``.
116+
117+
* Search for rc file in `~/.config/pylintrc` if `~/.pylintrc`
118+
doesn't exists (#121)
119+
120+
* Don't register the newstyle checker w/ python >= 3
121+
122+
* Fix unused-import false positive w/ augment assignment (#78)
123+
124+
* Fix access-member-before-definition false negative wrt aug assign (#164)
125+
126+
* Do not attempt to analyze non python file, e.g. .so file (#122)

doc/whatsnew/1/1.3.rst

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
**************************
2+
What's New In Pylint 1.3
3+
**************************
4+
5+
Release date: 2014-07-26
6+
7+
* Allow hanging continued indentation for implicitly concatenated
8+
strings. Closes issue #232.
9+
10+
* Pylint works under Python 2.5 again, and its test suite passes.
11+
12+
* Fix some false positives for the cellvar-from-loop warnings.
13+
Closes issue #233.
14+
15+
* Return new astroid class nodes when the inferencer can detect that
16+
that result of a function invocation on a type (like ``type`` or
17+
`abc.ABCMeta`) is requested. Closes #205.
18+
19+
* Emit 'undefined-variable' for undefined names when using the
20+
Python 3 ``metaclass=`` argument.
21+
22+
* Checkers respect priority now. Close issue #229.
23+
24+
* Fix a false positive regarding W0511. Closes issue #149.
25+
26+
* Fix unused-import false positive with Python 3 metaclasses (#143).
27+
28+
* Don't warn with 'bad-format-character' when encountering
29+
the 'a' format on Python 3.
30+
31+
* Add multiple checks for PEP 3101 advanced string formatting:
32+
'bad-format-string', 'missing-format-argument-key',
33+
'unused-format-string-argument', 'format-combined-specification',
34+
'missing-format-attribute' and 'invalid-format-index'.
35+
36+
* Issue broad-except and bare-except even if the number
37+
of except handlers is different than 1. Fixes issue #113.
38+
39+
* Issue attribute-defined-outside-init for all cases, not just
40+
for the last assignment. Closes issue #262.
41+
42+
* Emit 'not-callable' when calling properties. Closes issue #268.
43+
44+
* Fix a false positive with unbalanced iterable unpacking,
45+
when encountering starred nodes. Closes issue #273.
46+
47+
* Add new checks, 'invalid-slice-index' and 'invalid-sequence-index'
48+
for invalid sequence and slice indices.
49+
50+
* Add 'assigning-non-slot' warning, which detects assignments to
51+
attributes not defined in slots.
52+
53+
* Don't emit 'no-name-in-module' for ignored modules.
54+
Closes issue #223.
55+
56+
* Fix an 'unused-variable' false positive, where the variable is
57+
assigned through an import. Closes issue #196.
58+
59+
* Definition order is considered for classes, function arguments
60+
and annotations. Closes issue #257.
61+
62+
* Don't emit 'unused-variable' when assigning to a nonlocal.
63+
Closes issue #275.
64+
65+
* Do not let ImportError propagate from the import checker, leading to crash
66+
in some namespace package related cases. Closes issue #203.
67+
68+
* Don't emit 'pointless-string-statement' for attribute docstrings.
69+
Closes issue #193.
70+
71+
* Use the proper mode for pickle when opening and writing the stats file.
72+
Closes issue #148.
73+
74+
* Don't emit hidden-method message when the attribute has been
75+
monkey-patched, you're on your own when you do that.
76+
77+
* Only emit attribute-defined-outside-init for definition within the same
78+
module as the offended class, avoiding to mangle the output in some cases.
79+
80+
* Don't emit 'unnecessary-lambda' if the body of the lambda call contains
81+
call chaining. Closes issue #243.
82+
83+
* Don't emit 'missing-docstring' when the actual docstring uses ``.format``.
84+
Closes issue #281.

0 commit comments

Comments
 (0)