AIDB 7.4.0 release notes
========================

Released: 06 Jul 2026

AIDB 7.4.0 includes the following enhancements and bug fixes:

.. csv-table::
  :header: Type,Description
  :widths: 10,30
  :align: left
  :class: longtable

  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  :ref:`Configuring external storage<Configuring 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.
