Releases: INTERSECT-SDK/python-sdk
Releases · INTERSECT-SDK/python-sdk
v0.9.0
If you are upgrading: please see UPGRADING.md.
Changed
- Allow user to specify whatever message Content-Type they would like in messages, and provide handling for non-JSON data types (commit) (Lance Drane)
- change events API; instead of using
@intersect_eventor@intersect_message(events=...), declare all events in capability variableintersect_sdk_events(commit) (Lance Drane) - move Pika (AMQP) to be a required dependency instead of an optional dependency (commit) (Lance Drane)
- bump required Paho MQTT version from v1 to v2 (commit) (Lance Drane)
- change internal message structure representation; metadata is sent through as headers, while the direct payload is always the data. This decreases the number of JSON serializations/deserializations from 2 to at most 1 (if the data is actually JSON). This does NOT modify any APIs already in use, with the exception of core services (initial commit commit which adds campaign IDs) (Lance Drane)
Added
- Added MQTT 5.0 support (commit) (Lance Drane)
- Added a default
intersect_sdkcapability meant to encompass common system querying information (commit) (Lance Drane)
Removed
- Dropped MQTT 3.1.1 support (commit) (Lance Drane)
- Dropped support for Python versions <= 3.9
Fixed
v0.8.4
v0.8.3
Fixed
- (AMQP): Services using
@intersect_messageendpoints + Clients should now be able to execute long-running tasks without causing disconnects. AMQP message consumers no longer block the AMQP I/O loop, but now handle messages in their own threads; this allows the AMQP I/O loop to continue sending heartbeat frames to the remote broker, preventing the broker from disconnecting the microservice. (commit) (Lance Drane)
v0.8.2
v0.8.1
Changed
- Events associated with Services are now considered to be persistent (commit). If your microservice loses INTERSECT connection and later regains it, it will now handle any events which occurred while disconnected from INTERSECT.
Added
v0.8.0
If you are upgrading: please see UPGRADING.md.
Changed
- Breaking: Service-to-service callback functions now take in four arguments (request message source, request message operation, error flag, response payload) instead of one (commit) .
- Breaking:
IntersectBaseCapabilityImplementation.capability_namerenamed toIntersectBaseCapabilityImplementation.intersect_sdk_capability_name. This should now be explicitly defined as a class variable instead of an instance variable (commit) . - Breaking:
get_schema_from_capability_implementationrenamed toget_schema_from_capability_implementationsand now takes in a list of Capabilities instead of a single capability (commit) .
Added
- Breaking: Added basic validation logic for capability names. This causes the application to error out if using a duplicate capability name, or if using a capability name which is not an alphanumeric string (hyphens and underscores allowed) (commit) .
- Added 'timeout' parameter to
IntersectBaseCapabilityImplementation.intersect_sdk_call_service. This is a floating point value which represents (in number of seconds) how long to wait for a response from the service. By default, the service will wait 300 seconds (commit) . - Added an example which uses MINIO (commit) .
Fixed
v0.7.0
If you are upgrading: please see UPGRADING.md.
Changed
- Breaking: Services now work with multiple Capabilities instead of a single Capability (!9) .
- Breaking: Renamed
IntersectClientMessageParamstoIntersectDirectMessageParams(commit)
Added
- Breaking: Added service-to-service request/response mechanism (!9) .
v0.6.4
0.6.4 bump Signed-off-by: Lance Drane <dranelt@ornl.gov>
v0.6.3
0.6.3 version bump Signed-off-by: Lance Drane <dranelt@ornl.gov>
v0.6.2
Signed-off-by: Lance Drane <dranelt@ornl.gov>