Releases: gggeek/phpxmlrpc
4.6.0
-
fixed: compatibility with php 8.1
-
improved: when encoding utf8 text into us-ascii xml, use character entity references for characters number 0-31 (ascii non printable characters), as we were already doing when encoding iso-8859-1 text into us-ascii xml
-
new: method
Server::getDispatchMap()
. Useful for non-child classes which want to f.e. introspect the server -
new: increase flexibility in class composition by adopting a Dependency Injection (...ish) pattern: it is now possible to swap out the Logger, XMLParser and Charset classes with similar ones of your own making.
Example code:// 1. create an instance of a custom character encoder // $myCharsetEncoder = ... // 2. then use it while serializing a Request: Request::setCharsetEncoder($myCharsetEncoder); $request->serialize($funkyCharset);
-
new: method
XMLParser::parse()
acquired a 4th argument -
new: method
Wrapper::wrapPhpClass
allows to customize the names of the phpxmlrpc methods by stripping the original class name and accompanying namespace and replace it with a user-defined prefix, via optionreplace_class_name
-
new:
Response
constructor gained a 4th argument -
deprecated: properties
Response::hdrs
,Response::_cookies
,Response::raw_data
. UseResponse::httpResponse()
instead.
That method returns an array which also holds the http response's status code - useful in case of http errors. -
deprecated: method
Request::createPayload
. UseRequest::serialize
instead -
deprecated: property
Request::httpResponse
-
improved:
Http::parseResponseHeaders
now throws a more specific exception in case of http errors -
improved: Continuous Integration is now running on Github Actions instead of Travis
4.5.2
-
improved: better phpdocs in the the php code generated by the Wrapper class
-
improved: debugger favicon and page title when used from the phpjsonrpc library
-
fixed: allow
Encoder::decode
to properly support different target character sets for polyfill-xmlrpc decode functions -
improved: allow usage of 'epivals' for the 'parameters_type' member of methods definitions in the Server dispatch map
4.5.1
-
improved: made it easier to subclass the Helper\Charset class by allowing
instance
to use late static binding -
fixed: reinstated access to
xmlrpc_server->dmap
(for users of the v3 API) -
fixed: method
xmlrpc_encode_entitites
(for users of the v3 API) -
improved: split the code of the demo server in multiple files, describing better the purpose of each
4.5.0
-
new: it is now possible to control the precision used when serializing DOUBLE values via usage of
PhpXmlRpc::$xmlpc_double_precision
-
fixed:
Encoder::encode
would not correctly encode DateTime and DateTimeImmutable objects -
improvements to to the Helper\Date class in rejecting invalid date strings
-
improvements to the Wrapper class in identifying the required arguments types from phpdoc: support 'array[]',
'DateTime' and 'DateTimeImmutable' -
improvements to the support of the XMLRPC extension emulation (as provided by the phpxmlrpc/polyfill-xmlrpc package)
-
improvements in the inline phpdoc: tagged many methods and class member as for internal usage only
-
minor improvements in the debugger to allow easier integration of phpxmlrpc/jsonrpc and friends
-
reorganized the test suite to be more manageable
-
removed obsolete files from the 'extras' folder; updated and moved to the 'demo' folders the perl and python client scripts; moved benchmark.php and verify_compat.php to the 'extras' folder
4.4.3
-
fixed: compatibility with PHP 8.0 (fixes to the debugger, to the server's 'system.methodHelp' method and to the PhpXmlRpc\Wrapper class).
Note that methodValue::structeach
has not been removed from the API, but it is not supported when running on PHP 8.0 or later - in that case it will always throw an Error. -
improvements to the test stack: it is now possible to run it via Docker besides Travis; avoid using any external
server when running tests; run Travis tests also on php 8.0; bump PHPUnit versions in use
4.4.2
Fixed: client->setCookie()
bug: cookie values that contain spaces are now properly encoded in a way that gets them decoded back to spaces on the receiving end if the server running on php 7.4 (or does RFC-compliant cookie decoding).
Beforehand we were encoding spaces to '+' characters.
4.4.1
Fixed: compatibility with php 7.2 for legacy api
This release makes the legacy api of the library compatible with php 7.2 by removing one more deprecation warning.
Fixed: compatibility with php 7.2 for old branch
This release makes the library compatible with php 7.2 by removing one more deprecation warning.
NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements and is fully API compatible with version 3.
Fixed: compatibility with php 7.2 for old branch
This release makes the library compatible with php 7.2 by removing the deprecation warnings.
NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements and is fully API compatible with version 3.