v0.2.0
Changelog (0.1.4 → 0.2.0)
Fixed
-
Orphaned task cleanup with PID reuse detection - Tasks from cancelled sub-agents no longer block subsequent tasks (#7)
- Added
is_task_queue_process()to detect if a PID is actually running task_queue vs being reused by an unrelated process - Added
SERVER_INSTANCE_IDand_active_task_idstracking in MCP server to detect orphaned tasks from disconnected clients - Added
CLI_INSTANCE_IDtracking in tq.py for same protection - Handle
asyncio.CancelledErrorto properly clean up when sub-agents are cancelled
- Added
-
Ctrl+C leaving orphaned waiting tasks - Split registration from wait to ensure cleanup
Changed
- Refactored shared infrastructure - Extracted
queue_core.pywith shared database, logging, and cleanup logic - Memory efficiency - Stream output directly to file with bounded deque
- Wait time calculation - Use
POLL_INTERVAL_WAITINGinstead of hardcoded value
Added
server_idcolumn to queue table with migration for existing databases- Signal handling integration tests for tq CLI
Security
- Pin
pypa/gh-action-pypi-publishto commit SHA - Add
nosec B602comments explaining intentionalshell=Trueusage for CLI tool