1 ------------------------------ |
1 ------------------------------ |
2 Change history for Coverage.py |
2 Change history for Coverage.py |
3 ------------------------------ |
3 ------------------------------ |
4 |
4 |
5 |
5 |
|
6 Version 3.2, 5 December 2009 |
|
7 ---------------------------- |
|
8 |
|
9 - Added a --version options on the command line. |
|
10 |
|
11 |
|
12 Version 3.2b4, 1 December 2009 |
|
13 ------------------------------ |
|
14 |
|
15 - Branch coverage improvements: |
|
16 |
|
17 - The XML report now includes branch information. |
|
18 |
|
19 - Click-to-sort HTML report columns are now persisted in a cookie. Viewing |
|
20 a report will sort it first the way you last had a coverage report sorted. |
|
21 Thanks, `Chris Adams`_. |
|
22 |
|
23 - On Python 3.x, setuptools has been replaced by `Distribute`_. |
|
24 |
|
25 .. _Distribute: http://packages.python.org/distribute/ |
|
26 |
|
27 |
|
28 Version 3.2b3, 23 November 2009 |
|
29 ------------------------------- |
|
30 |
|
31 - Fixed a memory leak in the C tracer that was introduced in 3.2b1. |
|
32 |
|
33 - Branch coverage improvements: |
|
34 |
|
35 - Branches to excluded code are ignored. |
|
36 |
|
37 - The table of contents in the HTML report is now sortable: click the headers |
|
38 on any column. Thanks, `Chris Adams`_. |
|
39 |
|
40 .. _Chris Adams: http://improbable.org/chris/ |
|
41 |
|
42 |
|
43 Version 3.2b2, 19 November 2009 |
|
44 ------------------------------- |
|
45 |
|
46 - Branch coverage improvements: |
|
47 |
|
48 - Classes are no longer incorrectly marked as branches: `issue 32`_. |
|
49 |
|
50 - "except" clauses with types are no longer incorrectly marked as branches: |
|
51 `issue 35`_. |
|
52 |
|
53 - Fixed some problems syntax coloring sources with line continuations and |
|
54 source with tabs: `issue 30`_ and `issue 31`_. |
|
55 |
|
56 - The --omit option now works much better than before, fixing `issue 14` and |
|
57 `issue 33`_. Thanks, Danek Duvall. |
|
58 |
|
59 .. _issue 14: http://bitbucket.org/ned/coveragepy/issue/14 |
|
60 .. _issue 30: http://bitbucket.org/ned/coveragepy/issue/30 |
|
61 .. _issue 31: http://bitbucket.org/ned/coveragepy/issue/31 |
|
62 .. _issue 32: http://bitbucket.org/ned/coveragepy/issue/32 |
|
63 .. _issue 33: http://bitbucket.org/ned/coveragepy/issue/33 |
|
64 .. _issue 35: http://bitbucket.org/ned/coveragepy/issue/35 |
|
65 |
|
66 |
|
67 Version 3.2b1, 10 November 2009 |
|
68 ------------------------------- |
|
69 |
|
70 - Branch coverage! |
|
71 |
|
72 - XML reporting has file paths that let Cobertura find the source code. |
|
73 |
|
74 - The tracer code has changed, it's a few percent faster. |
|
75 |
|
76 - Some exceptions reported by the command line interface have been cleaned up |
|
77 so that tracebacks inside coverage.py aren't shown. Fixes `issue 23`_. |
|
78 |
|
79 .. _issue 23: http://bitbucket.org/ned/coveragepy/issue/23 |
|
80 |
|
81 |
|
82 Version 3.1, 4 October 2009 |
|
83 --------------------------- |
|
84 |
|
85 - Source code can now be read from eggs. Thanks, Ross Lawley. Fixes |
|
86 `issue 25`_. |
|
87 |
|
88 .. _issue 25: http://bitbucket.org/ned/coveragepy/issue/25 |
|
89 |
|
90 |
|
91 Version 3.1b1, 27 September 2009 |
|
92 -------------------------------- |
|
93 |
|
94 - Python 3.1 is now supported. |
|
95 |
|
96 - Coverage.py has a new command line syntax with sub-commands. This expands |
|
97 the possibilities for adding features and options in the future. The old |
|
98 syntax is still supported. Try "coverage help" to see the new commands. |
|
99 Thanks to Ben Finney for early help. |
|
100 |
|
101 - Added an experimental "coverage xml" command for producing coverage reports |
|
102 in a Cobertura-compatible XML format. Thanks, Bill Hart. |
|
103 |
|
104 - Added the --timid option to enable a simpler slower trace function that works |
|
105 for DecoratorTools projects, including TurboGears. Fixed `issue 12`_ and |
|
106 `issue 13`_. |
|
107 |
|
108 - HTML reports show modules from other directories. Fixed `issue 11`_. |
|
109 |
|
110 - HTML reports now display syntax-colored Python source. |
|
111 |
|
112 - Programs that change directory will still write .coverage files in the |
|
113 directory where execution started. Fixed `issue 24`_. |
|
114 |
|
115 - Added a "coverage debug" command for getting diagnostic information about the |
|
116 coverage.py installation. |
|
117 |
|
118 .. _issue 11: http://bitbucket.org/ned/coveragepy/issue/11 |
|
119 .. _issue 12: http://bitbucket.org/ned/coveragepy/issue/12 |
|
120 .. _issue 13: http://bitbucket.org/ned/coveragepy/issue/13 |
|
121 .. _issue 24: http://bitbucket.org/ned/coveragepy/issue/24 |
|
122 |
|
123 |
6 Version 3.0.1, 7 July 2009 |
124 Version 3.0.1, 7 July 2009 |
7 -------------------------- |
125 -------------------------- |
8 |
126 |
9 - Removed the recursion limit in the tracer function. Previously, code that |
127 - Removed the recursion limit in the tracer function. Previously, code that |
10 ran more than 500 frames deep would crash. |
128 ran more than 500 frames deep would crash. Fixed `issue 9`. |
11 |
129 |
12 - Fixed a bizarre problem involving pyexpat, whereby lines following XML parser |
130 - Fixed a bizarre problem involving pyexpat, whereby lines following XML parser |
13 invocations could be overlooked. |
131 invocations could be overlooked. Fixed `issue 10`. |
14 |
132 |
15 - On Python 2.3, coverage.py could mis-measure code with exceptions being |
133 - On Python 2.3, coverage.py could mis-measure code with exceptions being |
16 raised. This is now fixed. |
134 raised. This is now fixed. |
17 |
135 |
18 - The coverage.py code itself will now not be measured by coverage.py, and no |
136 - The coverage.py code itself will now not be measured by coverage.py, and no |
19 coverage modules will be mentioned in the nose --with-cover plugin. |
137 coverage modules will be mentioned in the nose --with-cover plug-in. Fixed |
|
138 `issue 8`. |
20 |
139 |
21 - When running source files, coverage.py now opens them in universal newline |
140 - When running source files, coverage.py now opens them in universal newline |
22 mode just like Python does. This lets it run Windows files on Mac, for |
141 mode just like Python does. This lets it run Windows files on Mac, for |
23 example. |
142 example. |
24 |
143 |
|
144 .. _issue 9: http://bitbucket.org/ned/coveragepy/issue/9 |
|
145 .. _issue 10: http://bitbucket.org/ned/coveragepy/issue/10 |
|
146 .. _issue 8: http://bitbucket.org/ned/coveragepy/issue/8 |
|
147 |
25 |
148 |
26 Version 3.0, 13 June 2009 |
149 Version 3.0, 13 June 2009 |
27 ------------------------- |
150 ------------------------- |
28 |
151 |
29 - Fixed the way the Python library was ignored. Too much code was being |
152 - Fixed the way the Python library was ignored. Too much code was being |
30 excluded the old way. |
153 excluded the old way. |
31 |
154 |
32 - Tabs are now properly converted in HTML reports. Previously indentation was |
155 - Tabs are now properly converted in HTML reports. Previously indentation was |
33 lost. |
156 lost. Fixed `issue 6`. |
34 |
157 |
35 - Nested modules now get a proper flat_rootname. Thanks, Christian Heimes. |
158 - Nested modules now get a proper flat_rootname. Thanks, Christian Heimes. |
|
159 |
|
160 .. _issue 6: http://bitbucket.org/ned/coveragepy/issue/6 |
36 |
161 |
37 |
162 |
38 Version 3.0b3, 16 May 2009 |
163 Version 3.0b3, 16 May 2009 |
39 -------------------------- |
164 -------------------------- |
40 |
165 |
41 - Added parameters to coverage.__init__ for options that had been set on the |
166 - Added parameters to coverage.__init__ for options that had been set on the |
42 coverage object itself. |
167 coverage object itself. |
43 |
168 |
44 - Added clear_exclude() and get_exclude_list() methods for programmatic |
169 - Added clear_exclude() and get_exclude_list() methods for programmatic |
45 manipulation of the exclude regexes. |
170 manipulation of the exclude regexes. |
46 |
171 |
47 - Added coverage.load() to read previously-saved data from the data file. |
172 - Added coverage.load() to read previously-saved data from the data file. |
48 |
173 |
49 - Improved the finding of code files. For example, .pyc files that have been |
174 - Improved the finding of code files. For example, .pyc files that have been |
50 installed after compiling are now located correctly. Thanks, Detlev |
175 installed after compiling are now located correctly. Thanks, Detlev |
51 Offenbach. |
176 Offenbach. |
52 |
177 |
53 - When using the object api (that is, constructing a coverage() object), data |
178 - When using the object API (that is, constructing a coverage() object), data |
54 is no longer saved automatically on process exit. You can re-enable it with |
179 is no longer saved automatically on process exit. You can re-enable it with |
55 the auto_data=True parameter on the coverage() constructor. The module-level |
180 the auto_data=True parameter on the coverage() constructor. The module-level |
56 interface still uses automatic saving. |
181 interface still uses automatic saving. |
57 |
182 |
58 |
183 |
96 much faster. Thanks to David Christian for productive micro-sprints and |
221 much faster. Thanks to David Christian for productive micro-sprints and |
97 other encouragement. |
222 other encouragement. |
98 |
223 |
99 - Executable lines are identified by reading the line number tables in the |
224 - Executable lines are identified by reading the line number tables in the |
100 compiled code, removing a great deal of complicated analysis code. |
225 compiled code, removing a great deal of complicated analysis code. |
101 |
226 |
102 - Precisely which lines are considered executable has changed in some cases. |
227 - Precisely which lines are considered executable has changed in some cases. |
103 Therefore, your coverage stats may also change slightly. |
228 Therefore, your coverage stats may also change slightly. |
104 |
229 |
105 - The singleton coverage object is only created if the module-level functions |
230 - The singleton coverage object is only created if the module-level functions |
106 are used. This maintains the old interface while allowing better |
231 are used. This maintains the old interface while allowing better |
107 programmatic use of Coverage. |
232 programmatic use of Coverage. |
108 |
233 |
109 - The minimum supported Python version is 2.3. |
234 - The minimum supported Python version is 2.3. |
110 |
235 |
111 |
236 |
112 Version 2.85, 14 September 2008 |
237 Version 2.85, 14 September 2008 |
113 ------------------------------- |
238 ------------------------------- |
114 |
239 |
115 - Add support for finding source files in eggs. Don't check for |
240 - Add support for finding source files in eggs. Don't check for |
116 morf's being instances of ModuleType, instead use duck typing so that |
241 morf's being instances of ModuleType, instead use duck typing so that |
117 pseudo-modules can participate. Thanks, Imri Goldberg. |
242 pseudo-modules can participate. Thanks, Imri Goldberg. |
118 |
243 |
119 - Use os.realpath as part of the fixing of filenames so that symlinks won't |
244 - Use os.realpath as part of the fixing of file names so that symlinks won't |
120 confuse things. Thanks, Patrick Mezard. |
245 confuse things. Thanks, Patrick Mezard. |
121 |
246 |
122 |
247 |
123 Version 2.80, 25 May 2008 |
248 Version 2.80, 25 May 2008 |
124 ------------------------- |
249 ------------------------- |