Release 0.16.0
Fixed
-
CLI
tasks scheduled completepassing unsupportedresultparameter to repository -
complete_scheduled_run()does not accept aresultparameter; removed the incorrect kwarg from the CLI direct-path call -
CLI
tasks countinefficient in-memory counting -
Replaced
query_tasks()+len()per-status loop (which loaded all records into memory) with newTaskRepository.count_tasks_by_status()usingSELECT COUNT(*)SQL queries, matching the API's efficient implementation
Added
-
--error-message/-moption forapflow tasks cancel -
Allows specifying a custom cancellation error message, consistent with the API
error_messageparameter -
Defaults to
"Cancelled by user"/"Force cancelled by user"when not provided -
--calculate-next-run / --no-calculate-next-runoption forapflow tasks scheduled complete -
Controls whether
next_run_atis recalculated after completing a scheduled run (default:True), consistent with the APIcalculate_next_runparameter -
--before/-boption forapflow tasks scheduled due -
Allows specifying a custom cutoff time (ISO datetime) to query due tasks, consistent with the API
beforeparameter -
Defaults to current UTC time when not provided
-
TaskRepository.count_tasks_by_status()method -
Efficient SQL
COUNT(*)grouped-by-status query withuser_idandroot_onlyfilters
Removed
apflow tasks historyCLI command- Removed non-functional stub command; underlying
TaskRepository.get_task_history()andTaskModel.status_logwere never implemented - Task history is managed at the A2A Protocol TaskStore layer, not TaskModel
Changed
- Enhanced executor security and validation; added tests for JWT secret generation and TaskManager locking
- Updated token claims to use
rolesas a list; added tests for role-claim handling