Skip to content

Releases: gggeek/phpxmlrpc

4.6.0

09 Dec 18:31
Compare
Choose a tag to compare
  • 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 option replace_class_name

  • new: Response constructor gained a 4th argument

  • deprecated: properties Response::hdrs, Response::_cookies, Response::raw_data. Use Response::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. Use Request::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

4.5.2

11 Jan 09:32
Compare
Choose a tag to compare
  • 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

4.5.1

02 Jan 23:45
Compare
Choose a tag to compare
  • 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

4.5.0

31 Dec 16:14
Compare
Choose a tag to compare
  • 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 the required arguments types from phpdoc: support 'array[]',
    'DateTime' and 'DateTimeImmutable'

  • improvements to the support of the XMLRPC extension emulation (as provided by the phpxmlrpc/polyfill-xmlrpc package)

  • improvements in the inline phpdoc: tagged many methods and class member as 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

4.4.3

16 Dec 23:27
Compare
Choose a tag to compare
  • 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

4.4.2

04 Mar 10:34
Compare
Choose a tag to compare

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.

4.4.1

29 Jul 14:01
Compare
Choose a tag to compare
  • fixed: allow handling huge xml messages (>=10MB) (issue #71)

  • improved: make it easier to overtake the library's usage of error_log

Fixed: compatibility with php 7.2 for legacy api

27 May 08:34
Compare
Choose a tag to compare

This release makes the legacy api of the library compatible with php 7.2 by removing one more deprecation warning.

Fixed: compatibility with php 7.2 for old branch

27 May 08:32
Compare
Choose a tag to compare

This release makes the library compatible with php 7.2 by removing one more deprecation warning.

NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements and is fully API compatible with version 3.

Fixed: compatibility with php 7.2 for old branch

07 Apr 00:47
Compare
Choose a tag to compare

This release makes the library compatible with php 7.2 by removing the deprecation warnings.

NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements and is fully API compatible with version 3.