wip github actions CI
[plcapi.git] / NEWS
diff --git a/NEWS b/NEWS
index e119c32..edd3106 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,104 @@
-XML-RPC for PHP version 4.4.0 - 2019/7/29
+XML-RPC for PHP version 4.6.0 - unreleased
+
+* 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
+
+* improved: Continuous Integration is now running on Github Actions instead of Travis
+
+
+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