django-modern-rpc v9.0 Release Notes
Release Date: 2017-10-03 // over 5 years ago-
๐ This is a major release, with many improvements, protocol support and bug fixes. This version introduce an API break,
please read carefully.๐ Improvements:
- Class
RPCException
and its subclasses now accept an additionaldata
argument (#10). This is used by JSON-RPC
๐ handler to report additional information to user in case of error. This data is ignored in XML-RPC response. - ๐ 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 payload is no longer considered as invalid, but
is correectly handled. No HTTP response is returned in such case, according to the standard. - ๐ป XML-RPC: exception raised when serializing data to XML are now catched as
InternalError
and a clear error message
API Changes:
- ๐
modernrpc.handlers.JSONRPC
andmodernrpc.handlers.XMLRPC
have been moved and renamed. They become respectively
modernrpc.core.JSONRPC_PROTOCOL
andmodernrpc.core.XMLRPC_PROTOCOL
- โก๏ธ
RPCHandler
class updated, as well as subclasesXMLRPCHandler
andJSONRPCHandler
.
RPCHandler.parse_request()
is nowRPCHandler.process_request()
. The new method does not return a tuple
(method_name, params)
anymore. Instead, it executes the underlying RPC method using new classRPCRequest
.
โก๏ธ If you customized your handlers, please make sure you updated your code (if needed).
โก๏ธ In addition, this version contains minor updates to prepare future compatibility with Django 2.0
- Class
Previous changes from v8.1
-
๐ This version is a security fix. Upgrade is highly recommended
- ๐ Security: Authentication backend is correctly checked when executing method using
system.multicall()
- ๐ Security: Authentication backend is correctly checked when executing method using