All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
✓ means ready to try
New:
- cookie auth & its specification in TD (cookie auth branch)
- adding custom handlers for each property, action and event to override default behaviour
- pydantic & JSON schema support for property models
- composed sub
Thing
s exposed with correct URL path
- HTTP SSE would previously remain unclosed when client abruptly disconnected (like closing a browser tab), but now it would close correctly
- retrieve unserialized data from events with
ObjectProxy
(like JPEG images) by settingdeserialize=False
insubscribe_event()
- bug fix events when multiple serializers are used
- events support custom HTTP handlers (not polished yet, use as last resort, not auto-added to TD)
- image event handlers for streaming live video as JPEG and PNG (not polished yet, not auto-added to TD)
- released to anaconda, it can take a while to turn up. A badge will be added in README when successful.
- added multiple versions of python for testing
- unlike claimed in previous versions, this package runs only on python 3.11 or higher
- HTTP SSE minor bug-fix/optimization - no difference to the user
- thing control panel works better with the server side and support observable properties
ObjectProxy
client API has been improved to resemble WoT operations better, for exampleget_property
is now calledread_property
,set_properties
is now calledwrite_multiple_properties
.ObjectProxy
client reliability for poorly written server side actions improved
- properties are now "observable" and push change events when read or written & value has changed
- input & output JSON schema can be specified for actions, where input schema is used for validation of arguments
- TD has read/write properties' forms at thing level, event data schema
- change log
- some unit tests
- events are to specified as descriptors and are not allowed as instance attributes. Specify at class level to automatically obtain a instance specific event.
class_member
argument for properties respected more accurately
- first public release to pip, docs are the best source to document this release. Checkout commit [04b75a73c28cab298eefa30746bbb0e06221b81c] and build docs if at all necessary.