Skip to content

Releases: INTERSECT-SDK/python-sdk

v0.9.0

11 Feb 19:32

Choose a tag to compare

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_event or @intersect_message(events=...), declare all events in capability variable intersect_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_sdk capability 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

  • namespace events and statuses to capabilities instead of services (commit 1 commit 2) (Lance-Drane)

v0.8.4

05 Feb 20:58

Choose a tag to compare

Fixed

  • Fixed an issue with JSON schema resolution (commit) (Lance Drane, Shayan Monadjemi)

v0.8.3

27 May 18:22

Choose a tag to compare

Fixed

  • (AMQP): Services using @intersect_message endpoints + 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

21 Feb 22:38

Choose a tag to compare

Changed

  • Capabilities will now pass validation if they only contain a valid @intersect_status (commit) (Lance Drane)

Fixed

  • Do not allow for users to override the BaseCapability.intersect_sdk_listen_for_service_event function (commit)
  • Add missing schemas for service-to-service event example (commit)

v0.8.1

10 Feb 21:08

Choose a tag to compare

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

  • Added ability for services to listen for events from other services (issue) (commit) .

v0.8.0

11 Sep 01:39

Choose a tag to compare

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_name renamed to IntersectBaseCapabilityImplementation.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_implementation renamed to get_schema_from_capability_implementations and 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

  • Fixed issue with multiple service-to-service calls causing thread deadlocking (commit) .
  • Correctly incorporates capabilities into internal schema generation (commit) .
  • Removed MINIO from examples which do not use MINIO (commit) .

v0.7.0

21 Aug 16:37

Choose a tag to compare

If you are upgrading: please see UPGRADING.md.

Changed

  • Breaking: Services now work with multiple Capabilities instead of a single Capability (!9) .
  • Breaking: Renamed IntersectClientMessageParams to IntersectDirectMessageParams (commit)

Added

  • Breaking: Added service-to-service request/response mechanism (!9) .

v0.6.4

08 Aug 16:16

Choose a tag to compare

0.6.4 bump

Signed-off-by: Lance Drane <dranelt@ornl.gov>

v0.6.3

18 Jul 18:53

Choose a tag to compare

0.6.3 version bump

Signed-off-by: Lance Drane <dranelt@ornl.gov>

v0.6.2

07 Jun 21:24

Choose a tag to compare

Signed-off-by: Lance Drane <dranelt@ornl.gov>