X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=NEWS;h=f10f1efe2cf11ea6218a8659d32ace1bbe71b953;hb=9c8899e2d0eacd484ad548ef24c2b55506193d7a;hp=2d2f6c75f9981c2fd028c1e8f3b69ac37b595294;hpb=7c04cb0468d6b7a268a18e1ca33bf0e30cd87fa0;p=plcapi.git diff --git a/NEWS b/NEWS index 2d2f6c7..f10f1ef 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,135 @@ -XML-RPC for PHP version 4.3.0 - 2017/11/5 +XML-RPC for PHP version 4.6.0 - unreleased -* fixed: compatibility with Basic/Digest/NTLM auth when using client in cURL mode (issue #55) +* 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 -* improved: added unit tests for Basic and Digest http auth. Also improved unit tests for feature of the http protocol +* new: method `Server::getDispatchMap()`. Useful for non-child classes which want to f.e. introspect the server -* new: allow to force usage of curl for http &.0 calls, as well as plain socket for https calls, via the method +* 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 + + +XML-RPC for PHP version 4.5.2 - 2021/1/11 + +* 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 + + +XML-RPC for PHP version 4.5.1 - 2021/1/3 + +* 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 + + +XML-RPC for PHP version 4.5.0 - 2020/12/31 + +* 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 required arguments types from source code phpdoc: support 'array[]', + 'DateTime' and 'DateTimeImmutable' + +* improvements to the support of the XMLRPC extension emulation (now provided by the phpxmlrpc/polyfill-xmlrpc package) + +* minor improvements to the Charset helper: it now loads character set conversion tables on demand, leading to + slightly lower memory usage and faster execution time when using UTF8 everywhere. + NB: take care if you have subclassed it! + +* new method: `Server::isSyscall` - mostly of use to Server subclasses and friend classes such as introspectors + +* internal method `XMLParser::xmlrpc_ee` now accepts 3 states for its 3rd parameter instead of a bool + +* improvements in the inline phpdoc: tagged many methods and class member as reserved 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 + + +XML-RPC for PHP version 4.4.3 - 2020/12/17 + +* 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 method `Value::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 + + +XML-RPC for PHP version 4.4.2 - 2020/3/4 + +* 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. + + +XML-RPC for PHP version 4.4.1 - 2019/7/29 + +* fixed: allow handling huge xml messages (>=10MB) (issue #71) + +* improved: make it easier to overtake the library's usage of `error_log` + + +XML-RPC for PHP version 4.3.2 - 2019/5/27 + +* fixed: remove one php 7.2 warning when using the v3 api + +* improved: the Travis tests are now run with all php versions from 5.6 to 7.3. We dropped tests with php 5.3, 5.4 and 5.5 + + +XML-RPC for PHP version 4.3.1 - 2018/1/20 + +* fixed: error when using https in non-curl mode + +* fixed: compatibility of tests with php 7.2 + +* fixed: html injection in sample code + +* fixed: warnings emitted by the *legacy* server in xmlrpcs.inc + +* fixed: encoding of php variables of type 'resource' when using xmlrpc_encode in php-compatibility mode + +* fixed: bad html tag in sample code + +* improved: text of error messages + + +XML-RPC for PHP version 4.3.0 - 2017/11/6 + +* fixed: compatibility with Basic/Digest/NTLM auth when using client in cURL mode (issue #58) + +* improved: added unit tests for Basic and Digest http auth. Also improved tests suite + +* new: allow to force usage of curl for http 1.0 calls, as well as plain socket for https calls, via the method `Client::setUseCurl()` + XML-RPC for PHP version 4.2.2 - 2017/10/15 * fixed: compatibility with Lighttpd target servers when using client in cURL mode and request body size > 1024 bytes (issue #56)