- Change build system interface to pyproject.toml.
- Documentation.
- Add FAQ page to documentation.
Complete rewrite and the usage has completely changed. Read about the changes at https://composed.blog/jsonrpcclient-4-changes or read the full documentation at https://www.jsonrpcclient.com/en/stable/
- Add py.typed for PEP-561 compliance (#143)
- Pass
**kwargs
to AiohttpClient from client.send() call (#145) - Change click dependency to allow version 7 (#147)
- Fix file permissions.
- Package with license.
- Support Python 3.8.
- Use faster method of jsonschema validation.
- Update jsonschema dependency to allow 3.x.
- Fix sending lists or dictionaries as positional arguments. (#118)
- Add timeout parameter in AiohttpClient
- Fix basic_logging option which was adding too many log handlers.
- Pass response_expected to send_message. Lets clients know if a response is expected from the request. Certain socket clients can use this to not listen for a response.
- Returned the convenience functions, request, notify and send.
- Clean up response.py.
- Add a socket client.
- Fixed missing import in async_client.py.
- response.data will never be None. For single requests it's always a JSONRPCResponse, for batch requests it's always a list.
- Raise ReceivedErrorResponse exception on receving a JSON-RPC error response. This won't affect too many who are using HTTP, since an exception is already raised when a non-2xx error response is returned.
- Removed ParseResponseError, the json.JSONDecodeError is clear enough.
- Optionally pass an SSLContext to AiohttpClient. This client now requires aiohttp 3+.
The 3.x releases will support Python 3.5+ only.
- Remove the config module. Add new params to configure the client. (#46)
- Remove the
*_server.py
files, which were deprecated. (#79) - Rename aiohttpClient to AiohttpClient.
- Include http status code and reason in aiohttp log entries.
- Remove headers from http_client's log entries, they weren't used.
- Update the Tornado client to subclass AsyncClient. (#44)
- Remove HTTPClient.last_request and last_response, they weren't used. (#27)
- Remove ReceivedErrorResponse.
- HTTP clients raise an exception on non-2xx status code response. (#67)
- Remove zmq_client module, use zeromq_client instead. (#84)
- Move all client modules into a
clients
subpackage. Import from jsonrpcclient.clients. (#83) - Change code to python 3 style: remove future and past.builtins. Change super calls to just super(). Change basestring to str. (#71)
- Remove jsonrpcclient.Request and Notification. Import jsonrpcclient.request.Request and Notification instead.
- Remove jsonrpcclient.request. Import jsonrpcclient.clients.http_client.request instead.
- Remove the need for requests library to be installed, if not using it. (#85)
- Add type hints (#92)
- Log to the debug log level (not info).
- Add support for configuration files.
- Remove the convenience functions (request and notify).
- Remove zeromq-async client.
- Configure logging pythonically.
- Add command-line interface, see
jsonrpc --help
(#62) - Fix configuring requests lib (#65)
- Ignore empty error bodies
- Fix non-string exception 'data' value
- Add convenience functions 'request' and 'notify' (#54)
- Fix custom headers in Tornado Client (#52)
- Allow passing a list of strings to send()
- Fix response log prefix
- Add asychronous Zeromq client, see blog post
- Support websockets and aiohttp
- Internal refactoring, to make it easier to add clients.
- Rename "server" modules and classes to "client". The old names are deprecated.
- Don't disable log propagate
- Bugfix logging configuration
- Support Tornado adapter
- Improve logging configuration