* fixed: let the Server create Response objects whose class can be overridden by subclasses (this is required by the
json-rpc server now that the `xml_header` method has been moved to the `Request` object)
+* fixed: let the Client create Requests whose class can be overridden by subclasses, within the `_try_multicall` method,
+ which is called from `multicall`
+
+* fixed: declare the library not to be compatible with old versions of 'phpxmlrpc/extras' and 'phpxmlrpc/jsonrpc'
## XML-RPC for PHP version 4.10.0 - 2023/02/11
- if you subclassed the `Server` class, and dynamically inject/manipulate the dispatch map, be aware that the server
will now validate the methodname from the received request as soon as possible during the xml parsing phase, via
a new method `methodNameCallback`. You might want to reimplement it and f.e. make it a NOOP to avoid such validation
+ - new method `Response::xml_header` has replaced `Server::xml_header`. Take care if you had overridden the server
+ version - you might need to override `Server::service`
- the `$options` argument passed to `XMLParser::parse` will now contain both options intended to be passed down to
the php xml parser, and further options used to tweak the parsing results. If you have subclassed `XMLParser`
and reimplemented the `parse` methods, or wholesale replaced it, you will have to adapt your code: both for that,
- traits have been introduced for all classes dealing with Logger, XMLParser and CharsetEncoder; method `setCharsetEncoder`
is now static
- new methods in helper classes: `Charset::knownCharsets`, `Http::parseAcceptHeader`, `XMLParser::truncateValueForLog`
- - new method `Response::xml_header` has replaced `Server::xml_header`
- protected property `Server::$accepted_charset_encodings` is now deprecated
- exception `\PhpXmlRpc\Exception\PhpXmlRpcException` is deprecated. Use `\PhpXmlRpc\Exception` instead
"php": "^5.4.0 || ^7.0 || ^8.0",
"ext-xml": "*"
},
- "_comment::tests": "The dev packages below require a minimum of php 5.4, even though we support php 5.3. Can we manage to do better?",
"require-dev": {
"ext-curl": "*",
"ext-dom": "*",
},
"_comment::conflict": "Within the extras package, only the XMLRPC extension emulation is not compatible... the JSONRPC part should be ok. Both have been moved to different packages anyway",
"conflict": {
- "phpxmlrpc/extras": "<= 0.6.3"
+ "phpxmlrpc/extras": "<= 1.0.0-beta2",
+ "phpxmlrpc/jsonrpc": "<= 1.0.0-beta1"
},
"autoload": {
"psr-4": {"PhpXmlRpc\\": "src/"}
New static properties
---------------------
-| Class | Property | Default value | Notes |
-|-----------|-------------------------------|---------------------|-----------|
-| Client | $options | see code | protected |
-| Client | $requestClass | \PhpXmlRpc\Request | protected |
-| Client | $responseClass | \PhpXmlRpc\Response | protected |
-| PhpXmlRpc | $xmlrpc_datetime_format | see code | |
-| PhpXmlRpc | $xmlrpc_double_format | see code | |
-| PhpXmlRpc | $xmlrpc_int_format | see code | |
-| PhpXmlRpc | $xmlrpc_methodname_format | see code | |
-| PhpXmlRpc | $xmlrpc_reject_invalid_values | false | |
-| PhpXmlRpc | $xmlrpc_return_datetimes | false | |
-| PhpXmlRpc | $xmlrpc_silence_deprecations | true | |
-| Server | $options | see code | protected |
-| Wrapper | $namespace | \PhpXmlRpc\ | protected |
+| Class | Property | Default value | Notes |
+|-----------|-------------------------------|---------------------|----------------------------|
+| Client | $options | see code | protected |
+| Client | $requestClass | \PhpXmlRpc\Request | protected |
+| Client | $responseClass | \PhpXmlRpc\Response | protected |
+| PhpXmlRpc | $xmlrpc_datetime_format | see code | |
+| PhpXmlRpc | $xmlrpc_double_format | see code | |
+| PhpXmlRpc | $xmlrpc_int_format | see code | |
+| PhpXmlRpc | $xmlrpc_methodname_format | see code | |
+| PhpXmlRpc | $xmlrpc_reject_invalid_values | false | |
+| PhpXmlRpc | $xmlrpc_return_datetimes | false | |
+| PhpXmlRpc | $xmlrpc_silence_deprecations | true | |
+| Server | $options | see code | protected |
+| Server | $responseClass | \PhpXmlRpc\Response | protected. Added in 4.10.1 |
+| Wrapper | $namespace | \PhpXmlRpc\ | protected |
New constants
-------------
/**
* Tests involving the Value class.
- * NB: these tests do not involve the parsing of xml into Value objects - look in 03ParsingTest for that
+ * NB: these tests do not involve the parsing of xml into Value objects - look in 04ParsingTest for that
*/
class ValueTest extends PhpXmlRpc_LoggerAwareTestCase
{