changelog Changelog

2009-01-19 - PHP_CompatInfo 1.9.0 (stable) released

No change since version 1.9.0RC1

2009-01-03 - PHP_CompatInfo 1.9.0RC1 (beta) released

  • changes since beta2
    • pciconf script did not used anymore the monolithic versions.xml and funclist.txt data sources. Version information about extensions came from specific extension version.xml file that are installed into PEAR/data/PHP_CompatInfo/phpdocref
  • bugs fixed since beta2
    • CSV, HTML and XML renderers did not provided expected result due to new classes result-key entry
    • lost partial functions list information when parsing multiple data sources with debug mode
  • news since beta2
    • add function getSummary() to print only summary when parsing a directory or multiple data sources at once
2008-12-19 - PHP_CompatInfo 1.9.0b2 (beta) released

  • news
    • pciconf: the extension support list build system for PHP5 users only used now a new exception handler for functions, and allow to make SAPI dictionaries
    • improve again constant detection by adding a new dictionaries for internal (php core) constants
    • 3 new methods: getIgnoredFunctions, getIgnoredExtensions, getIgnoredConstants
    • 1 old method open to public: getIgnoredFiles
  • roadmap
    • 2008-11-23 first alpha version
    • 2008-11-30 first beta version
    • 2008-12-19 second beta version
    • 2009-01-19 stable release 1.9.0
2008-11-30 - PHP_CompatInfo 1.9.0b1 (beta) released

  • bugs
    • __FILE__ and __LINE__ constants were not detected with 1.9.0a1
  • news
    • With first beta release, API 1.9.0 is marked as complete and will not change until stable
  • roadmap
    • 2008-11-23 first alpha version
    • 2008-11-30 first beta version
    • 2008-12-19 stable release 1.9.0
2008-11-23 - PHP_CompatInfo 1.9.0a1 (alpha) released

  • bugs
    • #15011 : XSL extension not detected
  • roadmap
    • 2008-11-23 first alpha version
    • 2008-12-19 stable release 1.9.0
2008-09-27 - PHP_CompatInfo 1.8.1 (stable) released

  • bugs
    • #14696 : PHP_CompatInfo fails to scan code line when not ended with ;
  • changes
    • getallheaders() is detected as sapi_apache rather than sapi_aolserver
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 - PHP_CompatInfo 1.8.0RC2 (beta) released

  • 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

  • Fixed bug #12451 : DOS CRLFs in every single file
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

  • Fixed more bugs
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