declare incompatibility with dependencies; docs
authorgggeek <giunta.gaetano@gmail.com>
Tue, 14 Feb 2023 09:10:25 +0000 (09:10 +0000)
committergggeek <giunta.gaetano@gmail.com>
Tue, 14 Feb 2023 09:10:25 +0000 (09:10 +0000)
NEWS.md
composer.json
doc/api_changes_v4.10.md
tests/02ValueTest.php

diff --git a/NEWS.md b/NEWS.md
index 2391967..83180cd 100644 (file)
--- 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
 
   - 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
 
index 6762b50..9d4aff4 100644 (file)
@@ -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/"}
index 2a586dd..dfb0bba 100644 (file)
@@ -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
 -------------
index 654a5bc..61ef307 100644 (file)
@@ -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
 {