You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After months of work, the 1.0 milestone is a major refactoring of the library. Many parts of the project have been
modernized to improve readability and robustness, and a few issues were fixed.
Improvements
Type hinting is now supported in RPC methods. Auto-generated documentation will use it when it is defined.
Old-style "doctypes" are still supported.
JSON-RPC notification behavior has been fixed to respect standard. Requests without id are handled as
notifications but requests with null id are considered invalid and will return an error
Batch request behavior has been fixed when one or more results failed to be serialized
Builtin system.methodSignature behavior have been updated to respect standard. It now returns a list of
list and unknown types are returned as "undef" (see http://xmlrpc-c.sourceforge.net/introspection.html)
Misc
Added support for Python 3.9, 3.10 and 3.11
Added support for Django 3.2, 4.0 and 4.1
Documentation tree was completely reworked for clarity and simplicity. A new theme (Book) is now used to improve
readability. See https://django-modern-rpc.rtfd.io.
Poetry is now used to configure project dependencies and build distributions. The new pyproject.toml file
replaces setup.py, setup.cfg, MANIFEST.in and requirements.txt to centralize all dependencies,
external tools settings (pytest, flake8, etc.) and packaging configuration
Black is now used to automatically format code
Mypy is now used to verify type hints consistency
Tox configuration now includes pylama, mypy, pylint and black environments
All tests have been rewritten to have a strong separation between unit and functional tests. Test classes where
created to group tests by similarities. Many fixtures have been added, with more parameterization, resulting in
about 350 tests executed covering more than 95% of the code.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
After months of work, the 1.0 milestone is a major refactoring of the library. Many parts of the project have been
modernized to improve readability and robustness, and a few issues were fixed.
Improvements
Old-style "doctypes" are still supported.
sixhave been completely removedBreaking Changes
batch and system.multicall requests (fix: AuthenticationFailed not fired in batch requests #35)
Other API changes
modernrpc.core.Protocolenum has been introduced to enforce correct protocol value when needed. (Update entry_point.rst #29, Improve exception raised when invalid protocol is given to RPCEntryPoint #30).This new class replaces
modernrpc.core.JSONRPC_PROTOCOLandmodernrpc.core.XMLRPC_PROTOCOLbut aliases werecreated for backward compatibility.
RPCUnknownMethodexception has been renamed toRPCMethodNotFound. An alias has been createdfor backward compatibility
Fixes
check system is used to notify common errors. This was requested multiple times (Application import symantics hide errors #2, No way to catch exception #13, Silent warning on load #34).
idare handled asnotifications but requests with null
idare considered invalid and will return an errorsystem.methodSignaturebehavior have been updated to respect standard. It now returns a list oflist and unknown types are returned as "undef" (see http://xmlrpc-c.sourceforge.net/introspection.html)
Misc
readability. See https://django-modern-rpc.rtfd.io.
pyproject.tomlfilereplaces
setup.py,setup.cfg,MANIFEST.inandrequirements.txtto centralize all dependencies,external tools settings (pytest, flake8, etc.) and packaging configuration
created to group tests by similarities. Many fixtures have been added, with more parameterization, resulting in
about 350 tests executed covering more than 95% of the code.
This discussion was created from the release v1.0.0 (2023-01-03).
Beta Was this translation helpful? Give feedback.
All reactions