From 0f00ce64675fcbe5e9a74f1e1b9cd54e0d69561e Mon Sep 17 00:00:00 2001 From: gggeek Date: Tue, 14 Feb 2023 09:10:25 +0000 Subject: [PATCH] declare incompatibility with dependencies; docs --- NEWS.md | 7 ++++++- composer.json | 4 ++-- doc/api_changes_v4.10.md | 29 +++++++++++++++-------------- tests/02ValueTest.php | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/NEWS.md b/NEWS.md index 23919672..83180cda 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,6 +3,10 @@ * 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 @@ -203,6 +207,8 @@ - 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, @@ -224,7 +230,6 @@ - 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 diff --git a/composer.json b/composer.json index 6762b50c..9d4aff40 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,6 @@ "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": "*", @@ -29,7 +28,8 @@ }, "_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/"} diff --git a/doc/api_changes_v4.10.md b/doc/api_changes_v4.10.md index 2a586ddf..dfb0bba1 100644 --- a/doc/api_changes_v4.10.md +++ b/doc/api_changes_v4.10.md @@ -78,20 +78,21 @@ New class properties 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 ------------- diff --git a/tests/02ValueTest.php b/tests/02ValueTest.php index 654a5bca..61ef3075 100644 --- a/tests/02ValueTest.php +++ b/tests/02ValueTest.php @@ -4,7 +4,7 @@ include_once __DIR__ . '/LoggerAwareTestCase.php'; /** * 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 { -- 2.47.0