.. _changelog: Release Notes ############# 0.4.3.4 ======= :Release Date: 2025-03-03 * Add `orjson` support (see `#62 `_). Thanks `@fhaeuser `_ for this. * Updated GitHub CI configuration to support testing from Python 3.6 to 3.14. 0.4.3.3 ======= :Release Date: 2024-06-14 * Added support for `decimal.Decimal` objects (see `#60 `_). Thanks `@pourhouse `_ for this improvement. 0.4.3.2 ======= :Release Date: 2022-02-19 * Reordered ``PooledJSONRPCServer`` inheritance definition (`#55 `_) * Migration of Continuous Integration: * Use PyTest instead of Nose * Run CI with GitHub Actions instead of Travis-CI 0.4.3.2 ======= :Release Date: 2021-09-28 * Removed remaining print statements (`#52 `_) 0.4.3 ===== :Release Date: 2021-09-26 * ``ServerProxy`` keeps the given query string, as before 0.4.2. This release fixes `#51 `_, and a unit test has been added to ensure there won't be any regression again on this feature * JSON library selection is now made in the ``jsonrpclib.jsonlib`` module, using a set of handler classes. This will ease the addition of new libraries. * Added support for ujson * Fixed Travis-CI builds (migrated from .org to .com and bypassed the coveralls issue with ppc64le) * Fixed an issue with the CGI test in Python 3-only environments 0.4.2 ===== :Release Date: 2020-11-09 * Use ``urlparse`` from ``urllib.parse`` (Python 3) or ``urlparse`` (Python 2) to prepare for the deprecation of ``urllib.parse.splittype``. Thanks to `@citrus-it `_ and `@markmcclain `_ for this fix. (see `#44 `_ and `#45 `_ for more details) * Unix socket clients now send ``localhost`` as ``Host:`` HTTP field instead of the path to the socket (see `#47 `_). Thanks `@markmcclain `_ for this fix. * Added a ``TransportError`` exception, subclass of ``ProtocolError``, which provides more details (see `#49 `_). Thanks `@markmcclain `_ for this improvement. * Added PowerPC 64 architecture (``ppc64le``) to Travis CI runs, to ease the integration of new release into RHEL/Ubuntu (see `#50 `_ by `@kishorkunal-raj `_) 0.4.1 ===== :Release Date: 2020-04-12 * Fixed a size computation issue in the request handler (see #42) 0.4.0 ===== :Release Date: 2019-01-13 * Added back support of Unix sockets on both server and client side. **Note:** HTTPS is not supported on server-side Unix sockets * Fixed the CGI request handler * Fixed the request handler wrapping on server side * Documentation is now hosted on ReadTheDocs: https://jsonrpclib-pelix.readthedocs.io/ 0.3.2 ===== :Release Date: 2018-10-26 * Fixed a memory leak in the Thread Pool, causing the ``PooledJSONRPCServer`` to crash after some uptime (see `#35 `_). Thanks `@animalmutch `_ for reporting it. 0.3.1 ===== :Release Date: 2017-06-27 * Hide *dunder* methods from remote calls (thanks to `@MarcSchmitzer `_). This avoids weird behaviours with special/meta methods (``__len__``, ``__add__``, ...). See (`#32 `_) for reference. 0.3.0 ===== :Release Date: 2017-04-27 * Handle the potentially incomplete ``xmlrpc.server`` package when the future package is used (thanks to `@MarcSchmitzer `_) 0.2.9 ===== :Release Date: 2016-12-12 * Added support for enumerations (``enum.Enum`` classes, added in Python 3.4) * Removed tests for ``pypy3`` as it doesn't work with ``pip`` anymore 0.2.8 ===== :Release Date: 2016-08-23 * Clients can now connect servers using basic authentication. The server URL must be given using this format: http://user:password@server * The thread pool has been updated to reflect the fixes contributed by `@Paltoquet `_ for the `iPOPO `_ project. 0.2.7 ===== :Release Date: 2016-06-12 * Application of the ``TransportMixin`` fix developped by `@MarcSchmitzer `_ (`#26 `_). 0.2.6 ===== :Release Date: 2015-08-24 * Removed support for Python 2.6 * Added a ``__repr__`` method to the ``_Method`` class * Project is now tested against Python 3.4 and Pypy 3 on Travis-CI 0.2.5 ===== :Release Date: 2015-02-28 * Corrects the ``PooledJSONRPCServer`` * Stops the thread pool of the ``PooledJSONRPCServer`` in ``server_close()`` * Corrects the ``Config.copy()`` method: it now uses a copy of local classes and serialization handlers instead of sharing those dictionaries. 0.2.4 ===== :Release Date: 2015-02-16 * Added a thread pool to handle requests * Corrects the handling of reused request sockets on the server side * Corrects the ``additional_header`` feature: now supports different headers for different proxies, from `@MarcSchmitzer `_ * Adds a ``data`` field to error responses, from `@MarcSchmitzer `_ and `@mbra `_ 0.2.3 ===== :Release Date: 2015-01-16 * Added support for a custom ``SSLContext`` on client side 0.2.2 ===== :Release Date: 2014-12-23 * Fixed support for IronPython * Fixed Python 2.6 compatibility in tests * Added logs on server side 0.2.1 ===== :Release Date: 2014-09-18 * Return ``None`` instead of an empty list on empty replies * Better lookup of the custom serializer to look for 0.2.0 ===== :Release Date: 2014-08-28 * Code review * Fixed propagation of configuration through ``jsonclass``, from `dawryn `_ 0.1.9 ===== :Release Date: 2014-06-09 * Fixed compatibility with JSON-RPC 1.0 * Propagate configuration through ``jsonclass``, from `dawryn `_ 0.1.8 ===== :Release Date: 2014-06-05 * Enhanced support for bean inheritance 0.1.7 ===== :Release Date: 2014-06-02 * Enhanced support of custom objects (with ``__slots__`` and handlers), from `dawryn `_ See Pull requests `#5 `_, `#6 `_, `#7 `_) * Added tests * First upload as a Wheel file 0.1.6.1 ======= :Release Date: 2013-10-25 * Fixed loading of recursive bean fields (beans can contain other beans) * ``ServerProxy`` can now be closed using: ``client("close")()`` 0.1.6 ===== :Release Date: 2013-10-14 * Fixed bean marshalling * Added support for ``set`` and ``frozenset`` values * Changed configuration singleton to ``Config`` instances 0.1.5 ===== :Release Date: 2013-06-20 * Requests with ID 0 are not considered notifications anymore * Fixed memory leak due to keeping history in ``ServerProxy`` * ``Content-Type`` can be configured * Better feeding of the JSON parser (avoid missing parts of a multi-bytes character) * Code formatting/compatibility enhancements * Applied enhancements found on other forks: * Less strict error response handling from `drdaeman `_ * In case of a non-predefined error, raise an ``AppError`` and give access to *error.data*, from `tuomassalo `_ 0.1.4 ===== :Release Date: 2013-05-22 * First published version of this fork, with support for Python 3 * Version number was following the original project one