Skip to content

Latest commit

 

History

History
105 lines (63 loc) · 8.2 KB

File metadata and controls

105 lines (63 loc) · 8.2 KB

Changelog

We follow Common Changelog formatting for this document.

0.9.0 - 2026-02-11

If you are upgrading: please see UPGRADING.md.

Fixed

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

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

0.8.4 - 2026-02-05

Fixed

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

0.8.3 - 2025-05-27

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)

0.8.2 - 2025-02-21

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)

0.8.1 - 2025-02-10

Changed

  • Events associated with Services are now considered to be persistent. If your microservice loses INTERSECT connection and later regains it, it will now handle any events which occurred while disconnected from INTERSECT (commit) (Lance Drane)

Added

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

0.8.0 - 2024-09-10

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) (Lance Drane)
  • 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) (Lance Drane)
  • 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) (Lance Drane)

Fixed

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

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) (Lance Drane)
  • 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) (Lance Drane)
  • Added an example which uses MINIO (commit) (Lance Drane)

0.7.0 - 2024-08-21

If you are upgrading: please see UPGRADING.md.

Changed

  • Breaking: Services now work with multiple Capabilities instead of a single Capability (!9) (Michael Brim, Lance Drane)
  • Breaking: Renamed IntersectClientMessageParams to IntersectDirectMessageParams (commit) (Lance Drane)

Added

  • Breaking: Added service-to-service request/response mechanism (!9) (Michael Brim, Lance Drane)