Changelog
- 2008-08-01 - PHP_CompatInfo 1.8.0 (stable) released
- bugs (XML Renderer)
- identify a data source file with the right tag <file> rather than <dir>
- list of function in verbose / debug mode is back
- bugs (Text Renderer)
- --summarize and --verbose level 4 produced PHP notice errors
- changes
- With agreement of original package author (Davey Shafik), change license
from PHP 3.01 to New BSD
- 2008-07-18
- news
- Command-Line Interface:
new -t | --tab switch to set columns width (see also Text Renderer)
- bugs
- final fix #14187
: cli -r switch does not work in 1.8.0.b4
- doc fix #14095
: about missing information from C column in CLI result
- changes
- Parser give now in summary, when debug mode is on, the list of functions implemented by version
- XML Renderer:
Even if XML_Beautifier is available we can now avoid to use it. You are free to manage the raw data.
Reason: old bug #5450 that strip the XML declaration. See: docs\examples\pci180_parsedata_toxml.php
adds attribute "name" to string tag (for a better identification and search)
- Text Renderer:
You have now ability to set column width with config option "colwidth".
Only for Files, Extensions, Constants/Tokens. Version and C have always fixed width.
Extra information given by debug mode (verbose level 4) is available both for a single file or a directory
- 2008-06-28 - PHP_CompatInfo 1.8.0RC1 (beta) released
- bugs
- #14187
: cli -r switch does not work in 1.8.0.b4
- getFileList() obey now to "recurse_dir" option (when set to false)
- parse functions obey now to "ignore_files" option
- changes
- Result values are now sorted in alphabetic order for a better human reading.
Thats include 6 following entries:
"ignore_functions", "ignore_extensions", "ignore_constants"
"functions" "extensions" "constants"
- Event "AuditFinised" give now the result of parsing
- Quality Assurance
- Test Suites (Standard, Bugs, Cli) included in this first release candidate
are full compatible with API 1.8.0
- 2008-06-18 - PHP_CompatInfo 1.8.0b4 (beta) released
- changes
- Text Renderer: support output-level 16 (display filter on version)
- Xml Renderer: support all output-level, verbose 4+ or debug mode
- CLI: default output-level is now 31 (still all details, as before with 15) since version may be hide (level 16)
- news
- 2 more renderers: Html and Csv
- 3 more examples: pci180_parsedir_tohtml, pci180_parsefolder_tohtml, pci180_parsestring_toxml
- 2008-06-07 - PHP_CompatInfo 1.8.0b3 (beta) released
Beta 3 include 1 more renderer : "Text"
- parseArray() method was missing in beta2 is back
- add or remove observers is now possible with public method of the controller
PHP_CompatInfo (main class)
- CLI is back alive with the new Text Renderer.
A new switch -p | --progress was added to display a wait message or a progress bar
(if PEAR::Console_ProgressBar is installed)
- 2008-06-03 - PHP_CompatInfo 1.8.0b2 (beta) released
Beta 2 include 3 renderers :
- "Null" that consumes all output. Usefull for batch mode
- "Array" the default. That dump results as a PHP array (like previous versions)
but allow also to print improved array with help of PEAR::Var_Dump if available.
- "Xml" that produces XML results with PEAR::XML_Util and improve its render
with PEAR::XML_Beautifier if available.
Command Line Interface will come back live for the beta 3, with 2 more renderers.
- 2008-05-18 - PHP_CompatInfo 1.8.0b1 (beta) released
- Fixed bug #13873
: Undefined Offset Error for function_exists detection
- support of error_reporting constant E_RECOVERABLE_ERROR introduced with PHP 5.2.0
- show a progress bar when parsing directories from CLI
- 2008-04-17 - PHP_CompatInfo 1.7.0 (stable) released
Summary of all changes since version 1.6.1
All SAPI:
======
- news
- add 3 options:
ignore_functions_match, ignore_extensions_match, ignore_constants_match.
==> Request #12857
- separate constants and tokens in results
==> Request #13138
- changes
- full support of regular expressions for "ignore_dirs" and "ignore_files" options.
- all reports display now the max version information when needed.
- bugs
- #13568
: User functions are not ignored
- #13417
: Parser ignore class-method that are named as standard php functions
- #13137
: Standard test suite failed under *nix
CLI only:
======
- news
- Add new --output-level switch to customize (all) reports output.
==> Request #13493
- Add new --summarize switch to limit output to first line (summary)
when parsing directory.
- Add new --version switch to print version number of PHP_CompatInfo package.
- Add --filter-ext switch to filter file extension when parsing directory
==> Request #13147
- Add new column C to indicate a level of conditional code used
(0: none, 1: function_exists() used, 2: extension_loaded() used, 4: defined() used)
- changes
- XML report structure change.
Render is improve if PEAR::XML_Beautifier is available.
- pci.php file was rename to pci (without extension) to match unix command syntax
- Text report is now really limited to 80 columns in all situation
- QA
- dependencies Console_Table, Console_GetArgs, XML_Util
are defined as required and no more optional. CLI is a standard feature and should
not be considered as optional.
- 2008-04-03 - PHP_CompatInfo 1.7.0b4 (beta) released
- Use PEAR::File_Find package 1.3.0 or greater to manage "ignore_dirs" and
"ignore_files" easily (with ability to filter by regular expression).
- XML report structure change.
Render is improve if PEAR::XML_Beautifier is available.
- XML report may now be filtered with help of --output-level switch.
- Values change for --output-level switch. Use now binary value (more easy to remember)
2->Extension, 4->Constant, 8->Tokens, with always 1->Path-File + Version
(Thanks to Stephan Wentz for his request)
- Add new switch --summarize to limit output to first line (summary)
when parsing directory
(Thanks to Stephan Wentz for his request)
- Fixed bug #13568
: User functions are not ignored
- 2008-03-28 - PHP_CompatInfo 1.7.0b3 (beta) released
- Fix notice errors on XML report output when parsing a directory with CLI.
- Add summary missing in XML report when parsing a directory with CLI.
- Implement
request #13493
: customize CLI data output
- 2008-03-24 - PHP_CompatInfo 1.7.0b2 (beta) released
- pci.php file was rename to pci (without extension) to match unix command syntax
- CLI may print (-V | --version) version number of PHP_CompatInfo package used
- Fixed bug #13417
: Parser ignore class-method that are named as standard php functions
- 2008-03-17 - PHP_CompatInfo 1.7.0b1 (beta) released
- fix CLI output render to 80 columns, on main table :
- 29 characters for File/Path column (1)
- 9 characters for Version column (2)
- 13 characters for Extensions column (3)
- 23 characters for Constants/Tokens column (4)
- fix CLI output render to 80 columns, on additionnal tables :
- 25 characters for Option column (1)
- 51 characters for Value column (2)
- On CLI, the XML report generation is now xml compliant with a root tag (pci)
- On CLI, implement options:
ignore_functions_match with -inm switch,
ignore_extensions_match with -iem switch,
ignore_constants_match with -icm switch
- On CLI options files (see -in, -ie, -ic, -inm, -iem, -icm)
allow to put line in comment with ; character (as in php.ini)
- 2008-02-21 - PHP_CompatInfo 1.7.0a1 (alpha) released
- Intoduces 3 new options to locally mask exception for
functions (ignore_functions_match),
extensions (ignore_extensions_match) and
constants (ignore_constants_match)
That allow to implement
request #12857
- Implement
request #13138
: separate constants and tokens in results.
- Implement
request #13147
: add filter file extension option on parsing directory (CLI).
- 2008-02-16 - PHP_CompatInfo 1.6.0, 1.6.1 (stable) released
- Fixed bug #13131
: Undefined variable: php5_method_chaining
- Implement request #13094
: PHP5 method chaining
- improve detection of PHP constants ( DATE_*, STD*, UPLOAD_ERR_*,
PHP_EOL, DIRECTORY_SEPARATOR, PATH_SEPARATOR, E_STRICT )
- loadVersion() may return both function or function+constant list
- Added -s | --string parameter to CLI;
Allow to parse a string without using script tags <?php ... ?>
- Added -r | --report parameter to CLI;
Allow to print either an "xml" or "cli" (default) report
- split and glue parameters of CLI class constructor were removed; the limit
to 80 columns is now fixed otherwise
- PHP requirement is now set to 4.3.10 minimum (due to usage of PHP_EOL constant)
- User Guide (HTML version) included in previous versions was removed, since
its now part of PEAR manual.
Always available to download as standalone manual
- API is near 95% unit tested with PHPUnit 3.x (see main suite: tests/AllTests.php)
- 2007-11-19 - PHP_CompatInfo 1.5.1 (stable) released
- 2007-11-15 - PHP_CompatInfo 1.5.0 (stable) released
- Windows script (launcher), renamed from compatinfo.bat to pci.bat (following naming
convention of PHP_CodeSniffer example
- *Nix script user pcicmd was renamed to pci and is located
now into PHP_PEAR_INSTALL_DIR (even on Windows platform)
- require now at least PEAR installer 1.5.4 rather than 1.4.3
(security vulnerability fixes)
- Fixed bug #12350
: file in current directory is not found
- 2007-04-03 - PHP_CompatInfo 1.4.3 (stable) released
- fully fix for wrong PHP5 constants detection when tokens used inside strings.
- 2007-04-02 - PHP_CompatInfo 1.4.2 (stable) released
- fixed wrong PHP5 constants detection when tokens used inside strings.
- 2007-02-12 - PHP_CompatInfo 1.4.1 (stable) released
- upgrade license from PHP 3.0 to 3.01
- fixed wrong implementation of Console_Getargs feature fixed in version 1.33 (see bug #9252)
- set Console_GetArgs minimum dependency to version 1.3.3
- improve PHP5 detection with a new fresh up-to-date func_array.php file
(that include the new function "spl_object_hash" came with PHP 5.2.0)
- 2006-09-27 - PHP_CompatInfo 1.4.0 (stable) released
- private method _parseTokens() manage now the latest options
"ignore_extensions" and "ignore_versions".
- Davey become now an inactive leader.
- PHP minimum version is set back to 4.3.0 (due to usage of file_get_contents function)
- 2006-09-09 - PHP_CompatInfo 1.3.2 (stable) released
- fixed "_splitfilename" console_table filter callback to works fine
(limit to 80 cols) both with dir and only one file to parse.
- stop generate package xml 1.0; that means you should have at least PEAR 1.4.0 installed
- 2006-09-02 - PHP_CompatInfo 1.3.1 (stable) released
- Fixed bug #8604
: notice undefined property (with CLI version)
- add two custom options to beautify output
. split filename to 32 char max (limit full console_table to 80 columns)
it can be reduce or expand
. glue is a string to indicates that filename is splitted into multiline
any string length and char is allow)
- windows script launcher for CLI version is now protected for blanks into
directory name. Something like "C:\Program Files\"
- 2006-08-30 - PHP_CompatInfo 1.3.0 (stable) released
- Fixed bug #8559
: fails to scan if finds empty file in path
- CLI version of PHP_CompatInfo won't print help usage more than once now
- CLI version of PHP_CompatInfo is now compatible with Console_Table separator
and multi-line cells support (requires version 1.0.4 or better)
- a launcher for windows user (compatinfo.bat) to run the CLI version of PHP_CompatInfo.
- better render of PHP_CompatInfo_CLI output by using Console_Table separator.
- PHP_CompatInfo_CLI output is limited to 80 columns
- 2006-08-23 - PHP_CompatInfo 1.2.0 (stable) released
- add new option "ignore_constants" to functions parseArray(),
parseDir(), parseFolder(), parseFile(), parseString().
- new method: loadVersion() to get components list of a PHP version (or subset).
- 2006-08-06 - PHP_CompatInfo 1.1.2 (stable) released
- fix bug that cannot detect correctly a script which is wrote in uppercase or mixed (lower, upper)
like CamelCase.
- keys of $GLOBALS['_PHP_COMPATINFO_CONST'] array in const_array.php file,
were all set to uppercase.
- 2006-07-27 - PHP_CompatInfo 1.1.1 (stable) released
- Fixed bug #2771
: SAPI extension not well detected
This bug was already fixed with version 1.0.0RC3 and was back active again with version 1.1.0 !
- 'func_array.php' and 'const_array.php' files have now header comment block
- PECL extension are now really identified.
With php version when available, otherwise with '4-dev'
With pecl extension name in 'ext' key of result array
- all PHP extensions are now better supported
- 2006-06-28 - PHP_CompatInfo 1.1.0 (stable) released
- Fixed bug #8058
: php 5 T_* constants undefined when running on php 4
- Added request #6056
: Add support for reporting max PHP version
- 2006-06-15 - PHP_CompatInfo 1.0.2 (stable) released
- Fixed bug #6581
: Functions missing in func_array.php
- PHP 3 functions are now supported
- 2006-06-12 - PHP_CompatInfo 1.0.1 (stable) released
- a web frontend (docs/examples/ci_frontend.php) that will help everybody
to check their PEAR packages installation.
- PHP minimum is set to 4.2.0 (4.3.0 required by release 1.0.0 is not necessary)
- Fixed bug #4789
: error in packaged file structure
- Fixed bug #4942
: fixing my own bug (my == techtonik)
- Fixed bug #7813
: wrong PHP minimum version detection
- 2005-03-14 - PHP_CompatInfo 1.0.0 (stable) released
- Now unsets all constants that are PHP5 only. This means
that PHP5 detection on PHP4 is now highly unlikely but that PHP4
detection should be much better.
- 2005-03-05 - PHP_CompatInfo 1.0.0RC5 (beta) released
- 2005-02-21 - PHP_CompatInfo 1.0.0RC4 (beta) released
- Updated the versioning info for better PHP5 support.
- Be aware that detection of PHP5 scripts on PHP4 is not supposed to work -
though it often does work.
- 2005-01-11 - PHP_CompatInfo 1.0.0RC3 (beta) released
- Fixed bug #2771
: Substr($var,4) not working for SAPI_ extensions
- 2004-08-04 - PHP_CompatInfo 1.0.0RC2 (beta) released
- Now detects PHP5 features (like exceptions, __clone, interfaces, abstract classes).
- PHP5 functions no longer marked as '-dev'.
- 2004-06-12 - PHP_CompatInfo 1.0.0RC1 (beta) released
- Now doesn't detect foo::bar() or $foo->bar() as a function call.
- 2004-05-06 - PHP_CompatInfo 0.8.4 (alpha) released
- 2004-04-26 - PHP_CompatInfo 0.8.3 (alpha) released
- Some PHP5 compatibility work done.
- Other small things fixed for integration into PEAR_PackageFileManager.
- Added file_ext option to parseArray
- 2004-04-24 - PHP_CompatInfo 0.8.2 (alpha) released
- Fixed some bugs
- Removed Sockets dependency
- Fixed some more version data
- 2004-04-22 - PHP_CompatInfo 0.8.1 (alpha) released
- Fixed some bugs
- Fixed some version data
- Made it possible to use -f=FILE, -fFILE and -f FILE, same with -d in CLI script
- 2004-04-22 - PHP_CompatInfo 0.8.0 (alpha) released
- Added a CLI Output script
- Moved parseFolder() to parseDir(). parseFolder() has been aliased to parseDir()
- 2004-03-09 - PHP_CompatInfo 0.7.0 (alpha) released
- Initial PEAR public release
- Added the ability to ignore files in parseFolder() and parseArray()
- Added the ability to ignore folders in parseFolder()
- Added the ability to ignore functions in all public methods