Skip to navigation

We generally avoid breaking changes to the Lattice APIs and don’t make them lightly. We recently discovered a discrepancy in the Protobuf type definitions resulting in some fields not being processed correctly and are fixing this. This will require clients using the StreamTasksRequests.StatusFilter field within the TaskManager API to make a code change when they decide to upgrade to the latest protocol specification. We recommend upgrading to the latest protocol specification to pull in the other fixes. The REST API is unchanged.

Use StreamTasksRequest.StatusFilter to filter by status

The status_filter field on StreamTasksRequest now takes a StreamTasksRequest.StatusFilter instead of a QueryTasksRequest.StatusFilter. The fields and enum values are the same, so you only need to change the type names:

  • QueryTasksRequest.StatusFilter is now StreamTasksRequest.StatusFilter.
  • QueryTasksRequest.FilterType is now StreamTasksRequest.FilterType.
// Before
request := &taskmanagerv1.StreamTasksRequest{
StatusFilter: &taskmanagerv1.QueryTasksRequest_StatusFilter{
Status: []taskmanagerv1.Status{taskmanagerv1.Status_STATUS_EXECUTING},
FilterType: taskmanagerv1.QueryTasksRequest_FILTER_TYPE_INCLUSIVE,
},
}
// After
request := &taskmanagerv1.StreamTasksRequest{
StatusFilter: &taskmanagerv1.StreamTasksRequest_StatusFilter{
Status: []taskmanagerv1.Status{taskmanagerv1.Status_STATUS_EXECUTING},
FilterType: taskmanagerv1.StreamTasksRequest_FILTER_TYPE_INCLUSIVE,
},
}

QueryTasks is not affected. Keep using QueryTasksRequest.StatusFilter when you query tasks.

Fixes

The following fixes need no source code changes. Upgrade your generated SDK to pick them up:

  • CancelTaskRequest.delivery_constraints is now applied when you cancel a task.
  • Munition.quantity_units is now published and read correctly.
  • StreamTasksRequest.heartbeat_interval_ms is now applied when you send requests as Protobuf JSON.