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