AIDB 7.6.0 release notes
========================

Released: 26 Aug 2026

AIDB 7.6.0 introduces **Agents and tools**, a SQL-native framework for
building in-database AI agents: an agent reasons over multiple steps —
calling tools, observing their results, and repeating — instead of
answering in one shot. Tools come from a unified catalog (``aidb.tools``
) spanning a large built-in native tool set, your own custom SQL
queries, and tools imported from an external MCP server. Agents support
per-call budgets (tokens, reasoning iterations, wall-clock time),
delegation to other agents, and per-user conversation visibility. See
:ref:`Agents reference <Agents reference>`  and :ref:`Tools reference <Tools reference>`  to get started.

AIDB 7.6.0 includes the following enhancements and bug fixes:

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

  Enhancement,**Agents and tools:**   The new SQL-native agent framework and unified tools hub described above. See  :ref:`Agents reference<Agents reference>`  and  :ref:`Tools reference<Tools reference>` .
  Enhancement,"**Native tool-calling model adapters:**   The new `openai_responses` and `anthropic_messages` providers (plus `openai_responses_azure` and `anthropic_messages_azure`/`anthropic_messages_bedrock` hosting variants) connect to OpenAI's Responses API and Anthropic's Messages API natively, emitting real `tools`/`tool_choice` request fields and parsing real tool-call responses, instead of simulating tool calls through prompt injection. See  :ref:`External model connections<External model connections>` ."
  Enhancement,"**Model credentials from an environment variable:**   `aidb.create_model()` accepts a new `credentials_env` argument, letting credentials be read from a server-side environment variable at model-use time instead of passed inline as JSON."
  Enhancement,"**Local reranking via llama.cpp:**   The new `llamacpp_reranking` provider reranks text locally from a GGUF file, supporting both cross-encoder models (for example, `bge-reranker-v2-m3`) and the Qwen3-Reranker decoder-only family — no external API required. See  :ref:`Local models<Local models>` ."
  Enhancement,"**Local OCR via llama.cpp:**   The new `llamacpp_ocr` provider runs OCR locally from a GGUF vision model, with a pre-registered default model (`lightonocr-2-1b-Q8_0`). See  :ref:`Local models<Local models>` ."
  Enhancement,"**Renamed `decode_text` to `generate_text`:**   `aidb.decode_text()` and `aidb.decode_text_batch()` are renamed to `aidb.generate_text()` and `aidb.generate_text_batch()`, matching `encode_text()`'s naming on the embedding side. The old names still work but are deprecated and will be removed in a future version. See  :ref:`Inference functions<Inference functions>` ."
  Enhancement,**Semantic KB search across sources:**   The new `aidb.semantic_kb_search()` function fuses ranked vector search results from schema metadata and curated semantic aliases into a single result set using Reciprocal Rank Fusion.
  Enhancement,"**Simplified semantic KB calls:**   `kb_name` (and `name`) are now optional on `aidb.get_column_definitions()`, `aidb.get_metadata()`, `aidb.get_entity_definitions()`, `aidb.search_by_comment()`, `aidb.create_semantic_kb()`, `aidb.delete_semantic_kb()`, `aidb.refresh_semantic_kb()`, `aidb.update_semantic_kb_auto_processing()`, and `aidb.semantic_kb_stats()` — when omitted, AIDB resolves the single existing semantic KB."
  Change,"**Semantic aliases can belong to multiple KBs:**   `aidb.create_semantic_alias()` and related functions drop the `model` argument; an alias is now embedded once per knowledge base that owns the schema its SQL reads, instead of being bound to exactly one KB and model."
  Enhancement,**Pipeline metrics show last run time:**   `aidb.get_pipeline_metrics()` and the pipeline metrics views now include a `last_run_completed` timestamp.
  Change,**Leaked credential detection:**   `aidb.create_model()` now rejects a `config` that embeds `api_key` or `basic_auth` directly — pass them via `credentials`/`credentials_env` instead. The new `aidb.audit_leaked_credentials()` function reports any pre-existing models where credentials were detected embedded in their config.
  Bug fix,"**Credentials with invalid header characters:**   An `api_key` or `basic_auth` value containing characters that aren't valid in an HTTP header (for example, a stray newline) now fails with a clear configuration error instead of crashing the backend."
