Changelog¶
All notable changes to GigQ are documented here. See the full CHANGELOG.md on GitHub for links to diffs.
0.5.1 (2026-03-21)¶
Added¶
retry_delay(seconds) onJob,@task, and CLI: failed jobs with retries remaining can wait before becoming eligible again (MCP server included).
Changed¶
- Documentation: scheduling guide,
llms.txt/llms-full.txt, PyPI metadata and keywords, README and docs cleanup.
Fixed¶
- Broken link to the hosted documentation site.
0.5.0 (2026-03-21)¶
Added¶
parent_results: dependent jobs automatically receive parent job results via aparent_resultsparameter. Auto-detected from function signature, or controlled viaJob(pass_parent_results=True/False/None)andWorkflow.add_task(..., pass_parent_results=...).examples/data_pipeline.py: sequential pipeline example demonstratingparent_resultschaining (generate → transform → format).- MCP server (
mcp_server/): Model Context Protocol server for AI agent integration — submit jobs and workflows, monitor queues, retrieve results. Separate package (gigq-mcp). - Docs integration page for the MCP server.
Changed¶
- Library no longer configures logging on import.
NullHandleris used by default (standard Python library convention). Callsetup_logging()explicitly for verbose output. The CLI configures its own logging. parallel_tasks.pyexample updated:summarisenow usesparent_resultsto receive and process parent job outputs.
Fixed¶
- Code formatting (Black) in
job_queue.pyandtests/job_functions.py.
0.3.0 (2026-03-16)¶
Added¶
--concurrency Nflag for thegigq workercommand — one worker process, N threads, each independently claiming and executing jobs from the queue.- SQLite WAL (Write-Ahead Logging) mode enabled by default on all connections, reducing lock contention under concurrent access.
- Per-thread worker IDs (e.g.,
worker-abc-0,worker-abc-1) for monitoring concurrent threads.
Changed¶
Workerclass accepts a newconcurrencyparameter (default:1, no breaking change).Worker.current_job_idis now a thread-safe property backed bythreading.local().- Signal handlers in
Worker.start()are only registered when running on the main thread.
0.2.1 (2026-03-13)¶
Added¶
JobQueue.stats()method to retrieve aggregate job counts by status in a single query.gigq statsCLI command to display queue statistics in a table.JobQueue.get_result()method to fetch only the deserialized job result for completed jobs.
Changed¶
- Minimum Python version bumped from 3.9 to 3.10.
0.2.0 (2025-03-24)¶
Added¶
- Thread-local SQLite connection management for improved performance.
- New
db_utilsmodule for database connection handling. close_connections()function to clean up thread resources.
Changed¶
- JobQueue and Worker now reuse connections within each thread.
0.1.1 (2025-03-22)¶
Fixed¶
- Fixed project shields in README.
- Implemented comprehensive test coverage.
0.1.0 (2025-03-15)¶
Initial release of GigQ.
Added¶
- Core job queue functionality with SQLite backend.
- Job definition with parameters, priorities, and dependencies.
- Worker implementation for job processing.
- Workflow support for dependent jobs.
- Command-line interface for job and worker management.
- Automatic retry and timeout handling.
- Documentation with MkDocs.
Last update: March 21, 2026