Released: 06 Jul 2026
AIDB 7.4.0 includes the following enhancements and bug fixes:
| Type | Description |
|---|---|
| Enhancement | Volumes as queryable foreign tables: Each AIDB volume is now exposed as a PGFS-backed foreign table, so the objects it contains can be listed, read, written, and deleted with standard SQL — including INSERT, UPDATE, and DELETE on objects, and SELECT body FROM my_volume WHERE key = '...' to fetch a single object. See External storage. |
| Enhancement | Egress allowlist: Optional outbound HTTP allowlist for model calls and model downloads, configured via the aidb.egress_allowlist parameter (with edb.egress_allowlist as a shared fallback). Accepts host and CIDR entries; when unset, no check is applied. |
| Enhancement | More reliable HuggingFace model downloads: Downloads now resume across unstable connections, verify size and SHA-256, emit progress notices, and respond to Ctrl-C between retries. Corrupt cached snapshots self-heal on the next load. |
| Enhancement | Strict pipeline option validation: Unknown keys and wrong types in step_N_options, knowledge-base configs, and standalone helpers (chunk_text, summarize_text, parse_html, parse_pdf, pdf_to_image, perform_ocr) now raise a clear error instead of being silently dropped. |
| Enhancement | Clearer model error messages: HTTP errors from model providers now include the request URL. Large input values are truncated in error output. OCR responses are only parsed as JSON on HTTP 200. |
| Enhancement | Batch summarization: SummarizeText pipeline steps now process records in batches, with per-input retry on rate-limit errors. |
| Enhancement | Clearer permission errors on pipeline creation: Creating a pipeline against a source table without SELECT privilege now returns an explicit "permission denied" error instead of an opaque internal failure. |
| Bug fix | Empty retrieve returns empty result: retrieve_text on an empty knowledge base now returns no rows with a warning instead of raising an error, matching standard SQL SELECT behavior. |
| Bug fix | retrieve_text value column on non-text sources: Retrieval from pipelines whose original source is non-text (such as PDF or Image) now returns NULL in value instead of the raw bytes decoded as text. Match metadata is still returned. |
| Bug fix | Deadlock with metrics collector: The background metrics collector no longer holds locks on every user table in a single transaction, removing a deadlock against delete_pipeline. |
| Bug fix | BIGINT pipeline keys: Pipelines on source tables with BIGINT primary keys above the int4 range no longer fail with an "out of range for type integer" error. |
| Bug fix | Pipeline batch size respected across steps: Steps that explode records (such as chunking) now sub-batch their outputs before passing them to the next step, keeping memory and parallelism within the configured batch_size. |
| Bug fix | OCR config validation: OCR model configurations are now validated at model creation time. |