**Release date: 2017-10-03**
This is a major release with many improvements, protocol support and bug fixes. This version introduces an API break,
please read carefully.
Improvements
- Class `RPCException` and its subclasses now accept an additional `data` argument (10). This is used by JSON-RPC
handler to report additional information to user in case of error. This data is ignored by XML-RPC handler.
- JSON-RPC: Batch requests are now supported (11)
- JSON-RPC: Named parameters are now supported (12)
- JSON-RPC: Notification calls are now supported. Missing "id" in a payload is no longer considered as invalid, but is
correctly handled. No HTTP response is returned in such case, according to the standard.
- XML-RPC: exception raised when serializing data to XML are now caught as `InternalError` and a clear error message
API Changes
- Both `modernrpc.handlers.JSONRPC` and `modernrpc.handlers.XMLRPC` constants were moved and renamed. They become
respectively `modernrpc.core.JSONRPC_PROTOCOL` and `modernrpc.core.XMLRPC_PROTOCOL`
- `RPCHandler` class updated, as well as subclasses `XMLRPCHandler` and `JSONRPCHandler`. `RPCHandler.parse_request()`
is now `RPCHandler.process_request()`. The new method does not return a tuple `(method_name, params)` anymore.
Instead, it executes the underlying RPC method using new class `RPCRequest`. If you customized your handlers, please
make sure you updated your code (if needed).
Fixes
- Code has been improved to prepare future compatibility with Django 2.0