forked from noelg/pdepend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
416 lines (339 loc) · 15.6 KB
/
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
PHP_Depend 0.11.0
-----------------
This release closes a critical bug that let PHP_Depend die with a E_FATAL when
the used PHP version was 5.4 or greater.
- Fixed #18976391: PHP_Depend's file cache implementation does not work with
PHP 5.4. Fixed with commit #06ce51a.
PHP_Depend 0.10.6
-----------------
This release closes a critical bug in PHP_Depend's parser that produced
false positiv error messages for classes named like 'True', 'False' or
'Null'
- Fixed #5ac3e55: Unexpected token: True, line: 348, col: 49, file:...
PHP_Depend 0.10.5
-----------------
This release closes two minor bugs in PHP_Depend. One incompatibility
with PHP 5.2.x versions and one bug related to PHP_Depend's log
behavior when PHP_Depend analyzes unstructured source code. This release
was published on May the 20th 2011.
- Fixed #13255437: PHP 5.2 Compatibility Issues. Fixed with commit
#8d4a095.
- Fixed #13405179: PHP Depend report is not generated if all files do
not contain a class nor a function. Fixed with commit #554ade1.
PHP_Depend 0.10.4
-----------------
This release contains an improvement in PHP_Depend's memory consumption.
We have optimized the internal data structures in such a way that the
memory footprint was reduced by ~30%. These values were measured for
currently popular frameworks with a medium to large sized code base. The
tests were run under ubuntu with PHP 5.2.17 and PHP 5.3.6.
PHP_Depend 0.10.3
-----------------
This release closes a critial bug in PHP_Depend's analyzer locator code
that prevents PHP_Depend from running on windows. This release was
published on March the 02th 2011.
- Fixed #10659085: Analyzer locator code does not work on windows. Fixed
with commit #0101798.
PHP_Depend 0.10.2
-----------------
This release of PHP_Depend closes two bugs. One related to the start and
end line properties of object property nodes in the syntax tree. The
second fix closes a bug in PHP_Depend's implementation of the WMCi metric.
Beside these two fixes this release implements three minor features, one
design issue in the syntax tree api and the other two other features are
related to the new metrics CE, CA, CBO and NPM.
Additionally we have restructured PHP_Depend's directory structure from a
custom, freestyle format to a directory layout that is similar to maven's
convention. With this change we have fixed several issues and workarounds
in PHP_Depend's build process.
- Fixed #9936901: WMCi calculation is incorrect for overwritten methods.
Fixed with commit #69d079a.
- Fixed #8927377: Invalid Start/End Line/Column for object property access.
Fixed with commit #fc57264.
- Implemented #9069393: Replace optional NULL argument of setPackage()
with separate method. Implemented with commit #1282cdb.
- Implemented #9069871: Implement efferent- and afferent-coupling for
classes. Implemented with commit #07537c2.
- Implemented #9997915: Implement Number of Public Methods metric.
Implemented with commit #2dd3ebf.
PHP_Depend 0.10.1
-----------------
- Fixed #9634613: Notice: Undefined property $___temp___. Fixed with
commit #5fb6900.
PHP_Depend 0.10.0
-----------------
- Fixed #113: PHP fatal error when an unserialized object graph
none NodeI instances. Fixed with commit #c0f4384.
- Implemented #130: Simplify PHP_Depend's ASTCompoundVariable and skip
nested ASTCompoundExpression node instance. Implemented in svn revision
number #1344.
- Implemented #131: Add new method isThis() to PHP_Depend's ASTVariable
class. Implemented in svn revision #1291.
- Implemented #132: Housekeeping: Cleanup the PHP_Depend_Input package test
code. Done in svn revision #1366.
- Implemented #139: Implement Post-/Pre- Increment/Decrement. Implemented
in svn revision #1317.
- Implemented #143: Support PHP's alternative control structure syntax.
Done in svn revision #1375.
- Implemented #146: Implement PHP's declare-statement. Done in subversion
revision #1375.
- Implemented #148: Implement cast expressions. Implemented in svn
revision #1283.
- Fixed #163: Alternative syntax end tokens can terminate with closing
PHP-tag. Fixed in svn revision #1527.
- Fixed #164: Faulty implementation of the --ignore path filter fixed.
Now this filter only works on the local part of a file or directory
name and not on the complete path. Fixed with commit #f75275e.
- Implemented #170: Rename FunctionNameParserImpl into
FunctionNameParserAllVersions. Task scope changed and complete refactoring
done. Parser moved into a version specific parser class. Done in subversion
revision #.
- Fixed #176: Calculation of CIS metric is incorrect. Fixed with commit
#1193f4a.
- Implemented #178: Provide configuration option for the cache directory.
Implemented with git commit #00ed8ec.
- Fixed #181: No log generated when parsing Typo3 extension "t3extplorer"
(Unexpected token ASCII 39). Indirectly fixed in this release.
- Fixed #182: Clone is a valid function, method and type name in older
php versions. Fixed with git commit #b18bf37.
- Fixed #189: Invalid Start/End Line/Column for object method
invocation. Fixed in commit #c6cc9dd.
- Fixed #191: New implementation of --ignore only accepts relative paths.
Fixed in commit #38e6b52.
- Fixed #9623949: Also find analyzers in phar archives in the current
include_path. Fixed in commit #f53dca9.
PHP_depend 0.9.20
-----------------
- Fixed #168: Node identifiers are case sensitive. Fixed in subversion
revision #1529.
- Fixed #169: Null, True and False are valid class or interface names.
Fixed in subversion revision #1538.
PHP_Depend 0.9.19
-----------------
- Fixed #162: Parser does not recognize $ string literal in string.
Fixed in subversion revision #1379.
PHP_Depend 0.9.18
-----------------
- Fixed #161: Unexpected token: -> in foreach statement. Fixed in
subversion revision #1347.
PHP_Depend 0.9.17
-----------------
- Fixed #156: Temp Folder /tmp/pdpend_storage-1000 grows very large.
Fixed with Sebastian Marek's patch in svn revision #1335.
PHP_Depend 0.9.16
-----------------
- Fixed #153: Only count those classes and interfaces that are flagged
as user defined types. Fixed in subversion revision #1327.
- Implemented #154: Make execution order of analyzers reproducable.
Implemented in svn revision #1331.
PHP_Depend 0.9.15
-----------------
- Fixed #152: Endless loop bug for identical class and parent name.
Fixed in svn revision #1296.
PHP_Depend 0.9.14
-----------------
- Fixed #149: Exception Message is empty. Fixed in svn revision #1277.
- Concurrency issue in PHP_Depend's file cache fixed.
PHP_Depend 0.9.13
-----------------
- Fixed #145: Incorrect require_once statement in ASTSwitchStatement
source file. Fixed in svn revision #1262.
- Fixed #150: Invalid nowdoc substitution has produced broken code.
Fixed in svn revision #1266.
PHP_Depend 0.9.12
-----------------
- Implemented #97: Replace current token approach in CCN- and NPath-Analyzer
with AST-Nodes. Implemented in svn revision #1248.
- Implemented #125: PHP_Depend silently parses list statements. Fixed in
svn revision #1223. Thanks to Joey Mazzarelli for providing this patch.
- Implemented #126: Generate reproducable node identifiers instead of
random numbers. Implemented in svn revision #1244.
- Fixed #128: Variable variables in foreach statement cause an exception.
Fixed in svn revision #1237.
- Fixed #133: Fatal error: Maximum function nesting level of '100' reached,
aborting! in /usr/share/pear/PHP/Depend/Util/Log.php on line 109. Fixed
in svn revision #1257.
- Fixed #134: ASTReturnStatement is not derived from ASTStatement. Fixed
in svn revision #1250.
- Fixed #135: Several Statement classes do not inherit ASTStatement. Fixed
in svn revision #1255.
PHP_Depend 0.9.11
-----------------
- Fixed #118: Calculation of the Number Of Overwritten Methods is
wrong. Fixed in svn revision #1112.
- Implemented #121: Parse arguments of the ASTForeachStatement. Implemented
in svn revision #1115.
- Fixed #119: Three test cases fail for PHP lower 5.3. Fixed in svn
revision #1114.
- Critical issue in PHP_Depend's temporary data cache fixed. This bug
only occured when running several instances of PHP_Depend in
parallel. In this setup the used cache key spl_object_hash() has
caused a corrupted cache, because different php process instances
have written different data to the same cache file.
PHP_Depend 0.9.10
-----------------
- Implemented #72: Add NOAM, NOOM and NOCC metrics. Implemented in svn
revision #1084.
- Implemented #74: Make CRAP-index available. Implemented in svn revision
#1063.
- Implemented #105: Support for deep search implement. Implemented in svn
revision #1078.
- Fixed #106: Filter algorithm is broken for namespaced internal classes.
Fixed in svn revision #1039.
- Fixed #110: Duplicate "coupling" directory in test code. Fixed in svn
revision #1032.
- Fixed #111: Dynamic Strings are treated as literal strings. Fixed in svn
revision #1037.
- Fixed #114: Parsing error caused by complex string expressions fixed.
Fixed in svn revision #1068.
- Fixed #115: Summary and PHPUnit Report lists unknown classes. Fixed in
svn revision #1101.
- Fixed #116: Returns reference results in parsing error. Fixed in svn
revision #1090.
- Performance intensive calculation result cached.
- Test code restructured and improved.
- Concurrency issue for parallel running pdepend instances fixed.
PHP_Depend 0.9.9
----------------
- Fixed #108: Parser doesn't set start/end line/column on variables, fixed in
svn revision #1015.
- Implemented #104: Add isStatic() method on ASTMemberPrimaryPrefix node,
implemented in svn revision #1013.
PHP_Depend 0.9.8
----------------
- Implemented #93: Implement an assignment expression, Implemented in svn
revision #992.
- Fixed #94: Parser throws exception for closures that return by reference,
fixed in svn revision #962.
- Fixed #98: Functions with an invalid signature result in an inconsistent
object graph, fixed in svn revision #986.
- Fixed #102: Namespace keyword in type-hint is broken, fixed in svn revision
#1010.
- Fixed #103: The parser does not handle all strings as parameter default value
correct, fixed in svn revision #1009.
PHP_Depend 0.9.7
----------------
- Fixed #95: NPath complexity bug fixed, fixed in svn revision #958.
PHP_Depend 0.9.6
----------------
- Closed #57: Display caption for abbreviations in overview pyramid, implemented
in svn revision #947.
- Closed #80: Store default value for class properties.
- Fixed #81: PHP_Depend does not support comma separated property declarations,
fixed in svn revision #916.
- Fixed #82: PHP_Depend does not support comma separated constant definitions,
fixed in svn revision #931.
- Closed #83: Make ClassOrInterfaceReference an ASTNode, implemented in svn
revision #917.
- Closed #85: Use soundex to detect typos in type annotations, implemented in
svn revision #937.
- Fixed #87: The parent keyword is not accepted as parameter type hint, fixed in
svn revision #925.
- Fixed #89: Coupling analyzer reports wrong results, fixed in svn revision #939
- Fixed #90: Coupling analyzer does not handle PHP 5.3 function chains, fixed in
svn revision #943.
- Fixed #91: Parser throws an exception when __CLASS__ as default value of an
array property, fixed in svn revision #944.
- Closes #92: Use class constants as analyzer identifiers, implemented in svn
revision #950.
PHP_Depend 0.9.5
----------------
- Closed #2: Support PHP 5.3 namespace syntax, implemented since svn
revision #789.
- Closed #61: Catch parser errors and continue processing, implemented
in svn revision #880.
- Closed #63: Make ResultPrinter a configurable option, implemented in
svn revision #668.
- Fixed #64: The single cache directory causes permission denied on
UNIX systems, fixed in svn revision #667.
- Fixed #65: Endless loop for class and interface declarations without
body, fixed in svn revision #672.
- Closed #66: Dependency wiring should be done at the end of the
parsing process, implemented in svn revision #855.
- Fixed #69: Parser does not handle PHP 5.3 class names in function
and method bodies, fixed in svn revision #688.
- Fixed #70: Parser throws an unexpected token exception for closure,
fixed in svn revision #726.
- Fixed #71: Parser throws an unexpected token exception for signed
default values, fixed in svn revision #740.
- Fixed #73: Inconsistent state when an interface and a class with the
same name exists, fixed in svn revision #776.
- Fixed #76: Tokenizer keyword detection is broken, fixed in svn
revision #871.
PHP_Depend 0.9.4
----------------
- #40 + Cli debug flag added. PHP_Depend will print additional debug information
to STDERR when this cli switch is set. (Closed)
- #87 + Support for type definitions within comments implemented. (Closed)
- #88 + Tokens provide information about the start and end column. (Closed)
- #90 + Support for single file parsing/analyzing implemented (Closed)
- #92 + Handling of types within instanceof-operator fixed. (Fixed)
- The ProjectAwareI and NodeAwareI interfaces extend the AnalyzerI interface,
which makes analyzer mocking easier.
- Switch from PHP_Depend specific constants for public, protected, private
methods&properties to modifiers compatible with PHP's reflection-extension.
- Support for static modifier for properties&methods and final for methods
added.
- Support for class final modifier added.
- Support for chained types like "false|Iterator" or "array(false|Iterator)" in
doc comments added.
PHP_Depend 0.9.3
----------------
- #89 + Source file is never set for methods, properties and constants.
- #83 + Storage layer for node tokens added, reduces memory consumption.
- #85 + TextUI displays the execution time and the memory usage(linux only).
- #82 + Tokenizer cache added, reduces runtime up to 25%.
- Code restructured, input filters and iterator moved to package "Input".
- Test suite restructured to reflect the actual project structure.
PHP_Depend 0.9.2
----------------
- #84 + Critical bug, a backslash could kill PHP_Depend with all PHP Versions lower 5.3.0alpha3
PHP_Depend 0.9.1
----------------
- Performance improvements
- #21 + Support for the NPath Complexity metric.
- #78 + Parser fails for comment in function signature.
- #79 + Token objects instead of arrays.
PHP_Depend 0.9.0
----------------
- PHP_Depend works with PHP 5.2.0
- #19 + Implement a phpunit compatible xml logger.
- #20 + Add support for class constants.
- #30 + Improve Lines Of Code.
PHP_Depend 0.8.0
----------------
- No more features or bug fixes, beta4 seems to be stable.
PHP_Depend 0.8.0beta4
---------------------
- #29 + Tooltip for the Overview Pyramid.
- #34 + Support for pattern based package filter.
- #37 + Remove Logger - XML Config dependency.
- #38 + The Logger interface should not force a default ctor-signature.
PHP_Depend 0.8.0beta3
---------------------
- #25 + PHP_Depend should print an error if no @package information is available.
- #26 + Handle class and interface names case insensitive.
- #27 + Handle internal classes and interfaces.
- #28 + Add option --bad-documentation.
PHP_Depend 0.8.0beta2
---------------------
- #18 + Introduce a CodeAware interface for loggers.
- #23 + Use an SVG-Template for the jdepend chart.
- #24 + There is an endless loop for inline html.
PHP_Depend 0.8.0beta1
---------------------
- New metrics implemented
- ClassLevel (wmc, vars, dit, csz, ...)
- CodeRank (cr, rcr - PageRank adaption for classes and packages)
- Coupling (Fanout, calls)
- CyclomaticComplexity (CCN, CCN2)
- Dependency (ac, cc, ce, ca, d, a, i)
- Hierarchy (clsa, clsc, roots, leafs, maxDIT)
- Inheritance (andc, ahh)
- NodeCount (nop, noc, nof, noi, nom)
- NodeLoc (loc, cloc, ncloc)
- Pluggable logger architecture.
- Pluggable metric analyzer architecture.
PHP_Depend 0.1.0
----------------
- Initial proof-of-concept release.