Prepare docs for release of version 4.0
[plcapi.git] / doc / api_changes_v4.md
index ea9d4e1..1a01da9 100644 (file)
@@ -8,18 +8,18 @@ It is not necessary any more to include the files xmlrpc.inc, xmlrpcs.inc and xm
 library classes available.
 
 Instead, it is recommended to rely on class autoloading.
-* If you are using Composer, just install the library by declaring it as dependency for your project in composer.json 
+
+* If you are using Composer, just install the library by declaring it as dependency for your project in composer.json
 
         "require": {
             ...,
             "phpxmlrpc/phpxmlrpc": "~4.0"
         },
-       
+
 * If you do not use Composer, an autoloader for the library can be found in src/Atuloader.php.
   The php example files in the demo/client folder do make use of it.
   Example code to set up the autoloader:
-    
+
         include_once <path to library> . "/src/Autoloader.php";
         PhpXmlRpc\Autoloader::register();
 
@@ -32,7 +32,7 @@ New class naming
 ----------------
 
 All classes have ben renamed, are now properly namespaced and follow the CamelCase naming convention.
-Existing class methods and members have been preserved; all new method names follow camelCase. 
+Existing class methods and members have been preserved; all new method names follow camelCase.
 
 Conversion table:
 
@@ -52,10 +52,14 @@ In case you had extended the classes of the library and added methods to the sub
 implementation clashes with the new one if you implemented:
 
 
-| Class     | Method      | Notes                                   |
-| --------- | ----------- | --------------------------------------- |
-| xmlrpcval | count       | implements interface: Countable         |
-| xmlrpcval | getIterator | implements interface: IteratorAggregate |
+| Class     | Method       | Notes                                   |
+| --------- | ------------ | --------------------------------------- |
+| xmlrpcval | count        | implements interface: Countable         |
+| xmlrpcval | getIterator  | implements interface: IteratorAggregate |
+| xmlrpcval | offsetExists | implements interface: ArrayAccess       |
+| xmlrpcval | offsetGet    | implements interface: ArrayAccess       |
+| xmlrpcval | offsetSet    | implements interface: ArrayAccess       |
+| xmlrpcval | offsetUnset  | implements interface: ArrayAccess       |
 
 
 Global variables cleanup
@@ -111,7 +115,7 @@ Character sets and encoding
 
 The default character set used by the library to deliver data to your app is now UTF8.
 It is also the character set that the library expects data from your app to be in (including method names).
-The value can be changed (to either US-ASCII or ISO-8859-1) by setting teh desired value to
+The value can be changed (to either US-ASCII or ISO-8859-1) by setting the desired value to
     PhpXmlRpc\PhpXmlRpc::$xmlrpc_internalencoding
 
 Usage of closures for wrapping
@@ -133,9 +137,9 @@ Other
 * when serialize() is invoked on a response and its payload can not be serialized, an exception is thrown instead of
   ending all execution
 
-* all error messages now mention the class and method which generated name
+* all error messages now mention the class and method which generated them
 
-* all library source code has been moved to the src/ directory 
+* all library source code has been moved to the src/ directory
 
 * all source code has been reformatted according to modern PSR standards
 
@@ -169,7 +173,7 @@ Below is the list of all known changes and possible pitfalls when enabling 'comp
 ### Usage of global variables
 
 * ALL global variables which existed after including xmlrpc.inc in version 3 still do exist after including it in v. 4
+
 * Code which relies on using (as in 'reading') their value will keep working unchanged
 
 * Changing the value of some of those variables does not have any effect anymore on library operation.
@@ -200,9 +204,9 @@ Below is the list of all known changes and possible pitfalls when enabling 'comp
         $GLOBALS['xmlrpc_null_apache_encoding'] = true;
         // new line needed now
         PhpXmlRpc\PhpXmlRpc::importGlobals();
-        
+
     Alternative solution:
-    
+
         include('xmlrpc.inc');
         PhpXmlRpc\PhpXmlRpc::$xmlrpc_null_apache_encoding = true;
 
@@ -224,7 +228,7 @@ Below is the list of all known changes and possible pitfalls when enabling 'comp
   instances will return the new classes.
 
     Example:
-        
+
         is_a(php_xmlrpc_encode('hello world'), 'xmlrpcval') => false
         is_a(php_xmlrpc_encode('hello world'), 'PhpXmlRpc\Value') => true