2.1
Prev | Chapter 2. What's new | Next

## 2.1

- The `wrap_php_function` and `wrap_xmlrpc_method` functions have been moved out of the base library file `xmlrpc.inc` into a file of their own: `xmlrpc_wrappers.inc`. You will have to include() / require() it in your scripts if you have been using those functions. For increased security, the automatic rebuilding of php object instances out of received xmlrpc structs in `wrap_xmlrpc_method()` has been disabled (but it can be optionally re-enabled). Both `wrap_php_function()` and `wrap_xmlrpc_method()` functions accept many more options to fine tune their behaviour, including one to return the php code to be saved and later used as standalone php script

- The constructor of xmlrpcval() values has seen some internal changes, and it will not throw a php warning anymore when invoked using an unknown xmlrpc type: the error will only be written to php error log. Also `new xmlrpcval('true', 'boolean')` is not supported anymore

- The new function `php_xmlrpc_decode_xml()` will take the xml representation of either an xmlrpc request, response or single value and return the corresponding php-xmlrpc object instance

- A new function `wrap_xmlrpc_server()`has been added, to wrap all (or some) of the methods exposed by a remote xmlrpc server into a php class

- A new file has been added: `verify_compat.php`, to help users diagnose the level of compliance of their php installation with the library

- Restored compatibility with php 4.0.5 (for those poor souls still stuck on it)

- Method `xmlrpc_server->service()` now returns a value: either the response payload or xmlrpcresp object instance

- Method `xmlrpc_server->add_to_map()` now accepts xmlrpc methods with no param definitions

- Documentation for single parameters of exposed methods can be added to the dispatch map (and turned into html docs in conjunction with a future release of the 'extras' package)

- Full response payload is saved into xmlrpcresp object for further debugging

- The debugger can now generate code that wraps a remote method into a php function (works for jsonrpc, too); it also has better support for being activated via a single GET call (e.g. for integration into other tools)

- Stricter parsing of incoming xmlrpc messages: two more invalid cases are now detected (double `data` element inside `array` and `struct`/`array` after scalar inside `value` element)

- More logging of errors in a lot of situations

- Javadoc documentation of lib files (almost) complete

- Many performance tweaks and code cleanups, plus the usual crop of bugs fixed (see NEWS file for complete list of bugs)

- Lib internals have been modified to provide better support for grafting extra functionality on top of it. Stay tuned for future releases of the EXTRAS package (or go read Appendix B)...

Prev | Up | Next
2.2 | Home | 2.0 final