1 ################################################################################
4 # Copyright(c) 2004-2006, SpikeSource Inc. All Rights Reserved.
5 # Licensed under the Open Software License version 2.1
6 # (See http://www.spikesource.com/license.html)
7 ################################################################################
9 ===============================
10 Spike PHPCoverage Change Logs
11 ===============================
15 * Fixed PHP Parser code to be much more smarter. Patch provided
16 by Marc_a <http://developer.spikesource.com/forums/viewtopic.php?t=761>
17 * Fixed bug 34 that included files with unspecified extensions in the
22 * Added ability to combine several remote recordings into a single coverage report.
23 This feature will make it easier for anyone to run a multiple set of tests on a
24 PHP web site and combine the recordings into a single report. The remote code coverage
25 sample has been updated with a sample use case.
26 * Shipping a stripped down version of XML_Parser PEAR module along with the source.
27 * Shipping xdebug binaries along with PHPCoverage distro.
28 * PHPCoverage installation is now much simpler.
29 * Several bugs fixed - especially in the report generation area.
34 This is a special release that only involves a change of licensing policy
35 for Spike PHPCoverage. Spike PHPCoverage has been dual-licensed under
36 origial Open Software License (OSL) and an additional GNU Lesser General
37 Public License (LGPL). Users are free to choose any license they see fit
38 for their use between these two. There are no additional bug fixes or
39 enhancement in this release.
43 This is mainly an bug fix and enhancement release. The most important
44 new feature in this release is the substancial performance improvement
45 in the code. While some more improvements are possible, this release should
46 reduce the memory consumption and increase the speed of PHPCoverage by a
49 * Corrected location of __PHPCOVERAGE_HOME
50 * Changed ":" to PATH_SEPARATOR.
51 * Fixed problems with incorrect spellings in parser.
52 * Added options to pass in include paths and exclude paths.
53 * [Bug: 3737] Corrected the options passing.
54 * [Bug: 3738] Not all options are required for all actions.
55 * Added options to print report summary to console
56 * [Bug: 3803] Fixed paths so that Windows drive letter case does not make a
58 * Added parsing of local xml file. This means that the driver.php can be
59 used for generating a report from a local code coverage reading. This should
60 make the report generation faster by obviating the need of downloading the
61 data file from web server.
62 * [Bug: 4582] Code coverage not recorded if the application exits abnormally
63 by calling die() or exit().
64 * Added error logging with multiple log levels.
65 * Changes to the phpcoverage bottom half ensure that the coverage object
66 is retrieved even if the code is executed repeatedly.
67 * Extension inc is also treated as a php extension
68 * Removed all echo and error_log statements to be replaced with logging
70 * Added a config file for common properties
71 * Temporary directory is now OS-aware - this makes passing a tmp directory during 'init' optional.
72 * PHPCoverage home is deduced wherever possible from the location of that file.
73 * Removed most of the errors that shown when error level is set to E_ALL
74 * Several performance enhancements
75 * Changed getCoverageXml() implementation to dump the coverage xml data
76 chunk-by-chunk to the response stream.
77 * Changed XMLParser invocation to pass a URL (or file name) instead of a
79 * Updated sample accordingly.
80 * Changed several foreach statements to use references instead of copying
81 * Added unset in some places to release memory as fast as possible.
87 1. This is mainly a bug fix release. Fixed followings bugs:
88 * Incorrect line type if the line is a continuation (2478)
89 For lines that are continuation of a previous line, PHPCoverage gives incorrect
90 line type. This includes lines starting without a . in the beginning.
91 * Variable declarations with private, protected, public, and var are marked as executable but not covered. (3280)
92 Variable declarations starting with private, protected, public, and var are
93 marked as executable when an assignment is involved. But they are never marked
94 as executed. These should be discounted from the code coverage recording.
95 * For completeness sake, we need to document the installation instructions for XML_Parser. (3299)
96 * It would be helpful to have command line interface to the various parts of codeCoverageMain.php (init, report, cleanup) (3300)
97 Added the script contributed by Ed Espino <eespino@spikesource.com> as cli/driver.php. Some more parameters added.
98 * The report title should be displayed in the reports header (3302)
99 In addition to updating the report html <title> (HtmlCoverageReporter), it would
100 be helpful to display it in the generated html report as well.
101 * It would be helpful to display the total number of instrumented files in the report header. (3303)
102 * It is possible to instrument a file twice. (3304)
103 If this is performed, PHPCoverage will be broken as the PHPcoverage php files
105 * There should be a way to exclude a file list from being instrumented. (3305)
106 Added exclude files options -e <file1,file2,...> to cli/instrument.php
107 * RemoteCoverageRecorder.php does not define xmlBody before use (line 112) (3306)
108 The error is displayed when "error_reporting" is set to 'E_ALL'.
109 * Not able to rename instrumented tmp file. (3330)
110 PHPCoverage on Windows XP isn't able to overwrite the original web app source
111 file with the instrumented version.
116 1. Added support on Windows (Thanks to Rowan Hick for testing and verification.)
117 2. Restriction on which files to instrument has been removed. Now, all files in an application can (and should) be instrumented.
118 3. Added simple local and remote samples for set-up verification after installation.
122 1. Introduced remote coverage measurement.
123 2. Improved report look and feel.
124 3. Made reporting mechanism extensible.
125 4. User can specify their own style sheets to change report look and feel.