django-modern-rpc v9.0 Release Notes

Release Date: 2017-10-03 // over 6 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 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 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 and modernrpc.handlers.XMLRPC have been moved and renamed. They become respectively
      modernrpc.core.JSONRPC_PROTOCOL and modernrpc.core.XMLRPC_PROTOCOL
    • โšก๏ธ RPCHandler class updated, as well as subclases 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).

    โšก๏ธ In addition, this version contains minor updates to prepare future compatibility with Django 2.0

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()