Latest PECL Releases:
- xdebug 2.3.0
Sun, Feb 22, 2015 - xdebug 2.3.0
= Fixed bugs:
- Fixed bug #932: Added an error message in case the remote debug log couldn't be opened
- Fixed bug #982: Incorrect file paths in exception stack trace
- Fixed bug #1094: Segmentation fault when attempting to use branch/path coverage
- Fixed bug #1101: Debugger is not triggered on xdebug_break() in JIT mode
- Fixed bug #1102: Stop Xdebug from crashing when debugging PHP Code with "php -r".
- Fixed bug #1103: XDEBUG_SESSION_STOP_NO_EXEC only stops first script executed with auto_prepend|append_files
- Fixed bug #1104: One character non-public properties cause issues with debugging
- Fixed bug #1105: Setting properties without specifying a type only works in topmost frame (Dominik del Bondio)
- Fixed bug #1095: Crash when using a non-associate array key in GLOBALS
- Fixed bug #1111: eval does not work when debugger is stopped in xdebug_throw_exception_hook (Dominik del Bondio)
-
Added features:
-
General
- Implemented issue #304: File name and line number info for overloaded var_dump()
- Implemented issue #310: Allow class vars and array keys with xdebug_debug_zval()
- Implemented issue #722: Add stack trace limit setting.
- Implemented issue #1003: Add option to xdebug_print_function_stack() to suppress filename and line number
- Implemented issue #1004: Ability to halt on warning/notice
- Implemented issue #1023: Add support for PHP 5.6 variadics
- Implemented issue #1024: Add support for PHP 5.6's ASSIGN_POW
-
Debugging
- Implemented issue #406: Added support for remote debugging user-defined constants
- Implemented issue #495: Added support for the wildcard exception name '*'
- Implemented issue #1066: Better error message for SELinux preventing debugging connections
- Implemented issue #1084: Added support for extended classes to trigger exception breakpoints
- Implemented issue #1084: Added exception code as extra element to debugger XML
-
Tracing
- Implemented issue #341: Added the time index and memory usage for function returns in normal tracefiles
- Implemented issue #644: Shared secret for profiler_enable_trigger and trace_enable_trigger with *_value option
- Implemented issue #971: Added the trace file option "XDEBUG_TRACE_NAKED_FILENAME" to xdebug_start_trace() to prevent the ".xt" extension from being added
- Implemented issue #1021: Added support for return values to computerized trace files
- Implemented issue #1022: Added support for serialized variables as format in trace files in the form of option "5" for "xdebug.collect_params"
-
Code coverage
- Implemented issue #380: Added xdebug_code_coverage_started()
- Implemented issue #1034: Add collected path and branch information to xdebug_get_code_coverage() output
-
Profiling
- Implement issue #1054: Support for filename and function name compression in cachegrind files
-
-
Changes:
- Implemented issue #863: Support xdebug.overload_var_dump through ini_set()
- Implemented issue #973: Use case-insensitive filename comparison on all systems (Galen Wright-Watson)
- Implemented issue #1015: Added the xdebug.force_display_errors and xdebug.force_error_reporting php.ini-only settings to always override PHP's settings for display_errors and error_reporting
- Implemented issue #1057: Removed trailing whitespace from example xdebug.ini
- Implemented issue #1096: Improve performance improvement for handling breakpoints by ignoring locales (Danief Sloof)
- Implemented issue #1100: Raise default max_nesting_level to 256
-
Removed features:
- Support for PHP versions lower than PHP 5.4 have been dropped.
- Support for PHP versions lower than PHP 5.4 have been dropped.
- APM 2.0.0
New drivers:
- StatsD
- Socket
Added:
- Per-driver option 'apm.
_store_silenced_events that lets you toggle whether to store silenced (@-ed) errors (thanks Mathieu Kooiman (@mathieuk)) - apm.*_exception_mode configuration to control exception collection
- Auto creation of SQLite and MariaDB/MySQL schemas
- Stats:
- User and System CPU time
- Memory Peak Usage
- HTTP response code
- 'application_id' field to categorize the issues per application/server/environment/...
- Support for compilation on Ubuntu (thanks Olivier Garcia (@0livier))
Changed:
- Deep refactoring:
- New DB schema
- No more native functions, retrieval of data is directly made in PHP
- SQLite drivder attempts to create the directory structure by himself
- Renamed 'slow request' to 'stats'
- Connect to MySQL once and reconnect if needed
- Small UI improvements
- Avoiding int / uint conversion
- MariaDB/MySQL driver activated by default
Fixed:
- Parse error test failing on PHP 5.4
- Possible segfault with APM_DEBUG used outside RINIT/RSHUTDOWN phases
- Missing disconnect from SQLite DB if changed with ini_set()
- Too few arguments to sprintf() with MariaDB/MySQL backend
- Possible segfault with PHP 5.5
- Segmentation fault with "zend_mm_heap corrupted" message.
- Missing zval reference incrementing
- Out of memory error in backtrace generation
- Removed hard-coded limit of 64kB json data
- Do not activate silence handler if APM is not enabled
- Some compiler warnings
- Incorrect status propagation for PHP_RSHUTDOWN_FUNCTION
- Several memory leaks
Removed:
- Deffered processing (can't be easily implemented in a generic and driver agnostic way. Depending on the drivers, some deffered processing will happen inside them.)
- Reference SQL files, see source code for that ;-)
- Per-driver option 'apm.
- pecl_http 2.3.0RC1
+ Preliminiary HTTP2 support for httpClient (libcurl with nghttp2 support)
+ Improved performance of HTTP info parser (request/response line)
+ Improved performance of updating client observers
+ Improved performance of httpEnvResponse output to streams
+ Improved the error messages of the header parser
+ Added httpHeaderParser class
+ Added httpClient::configure() method accepting an array with the following options for libcurl:
. maxconnects (int, size of the connection cache)
. max_host_connections (int, max number of connections to a single host, libcurl >= 7.30.0)
. max_pipeline_length (int, max number of requests in a pipeline, libcurl >= 7.30.0)
. max_total_connections (int, max number of simultaneous open connections of this client, libcurl >= 7.30.0)
. pipelining (bool, whether to enable HTTP/1.1 pipelining)
. chunk_length_penalty_size (int, chunk length threshold for pipelining, libcurl >= 7.30.0)
. content_length_penalty_size (int, size threshold for pipelining, libcurl >= 7.30.0)
. pipelining_server_bl (array, list of server software names to blacklist for pipelining, libcurl >= 7.30.0)
. pipelining_site_bl (array, list of server host names to blacklist for pipelining, libcurl >= 7.30.0)
. use_eventloop (bool, whether to use libevent, libcurl+libevent)
+ Added httpClient::getAvailableOptions() and httpClient::getAvailableConfiguration() methods
+ Added support for HTTP2 if libcurl was built with nghttp2 support.
+ Added httpClientCurlHTTP_VERSION_2_0 constant (libcurl >= 7.33.0)
+ Added httpClientCurlTLS_AUTH_SRP constant (libcurl >= 7.21.4)
+ Added pinned_publickey SSL request option (libcurl >= 7.39.0)
+ Added tlsauthtype, tlsauthuser and tlsauthpass SSL request option (libcurl >= 7.21.4)
+ Added verifystatus (a.k.a OCSP) SSL request option (libcurl >= 7.41.0)
+ Added proxyheader request option (libcurl >= 7.37.0)
+ Added unix_socket_path request option (libcurl >= 7.40.0)
* Fixed compress request option
* Fixed parsing authorities of CONNECT messages
* Fixed parsing Content-Range messages
* Fixed httpEnvResponse to default to chunked encoding over streams
* Fixed superfluous output of Content-Length:0 headers
* Fixed persistent easy handles to be only created for persistent multi handles
* Fixed the header parser to accept not-yet-complete header lines
* Fixed httpMessage::toStream() crash in ZTS mode
* Fixed the message stream parser to handle intermediary data bigger than 4k
* Fixed the message stream parser to handle single header lines without EOL
* Fixed httpMessageBody to not generate stat based etags for temporary streams
- Deprecated httpClient::enablePipelining(), use httpClient::configure(["pipelining" => true]) instead
- Deprecated httpClient::enableEvents(), use httpClient::configure(["use_eventloop" => true]) instead
- Removed the cookies entry from the transfer info, wich was very slow and generated a Netscape formatted list of cookies
- Changed the header parser to reject illegal characters
- jsonc 1.3.7
- apply fix for #50224 where float without decimals were converted to
integer by adding JSON_PRESERVE_ZERO_FRACTION. (Juan Basso)
- mongo 1.6.3
** Bug
* [PHP-1394] - hasNext() stops one item too late when limit is present
* [PHP-1395] - Can't iterate twice over a cursor