Applications & Automation
Four installed applications have their stored configuration rewritten by the 2.0.0 migration: Search Indexing, RDF Index, Data Insights and MCP. If you manage application configuration as code, read this before you replay it. The Documentation, Tier, and Quality agent apps are deleted by the same migration — that’s covered separately under AI Agents & Automations.Search Indexing app configuration fields are removed
Breaking. Affects scripted reindex triggers and infrastructure-as-code.search_index_job for distributed reindex
job tracking, and search_index_retry_queue for failed search-index writes with claim leasing.
RDF Index app defaults change, and your settings get overwritten
Behavioural. The migration overwrites your settings, not just the schema defaults.
Incremental RDF indexing produced unbounded triple growth because relationship-removal paths weren’t
fully reconciled. A full per-run clear always converges to the relational state, and the weekly
cadence keeps per-run cost from saturating the triple store. The
entities reset is a safety measure:
with a full rebuild issuing a clear before indexing, a narrowed entity subset would wipe triples for
entity types still present in the database.
Data Insights and MCP application configuration are stripped
Breaking, for two unrelated reasons landing in the same migration pass. A storedDataInsightsApplication configuration containing moduleConfiguration.dataQuality fails
to deserialize at startup — see
Data Quality for the full removal. Separately, MCP
configuration now lives solely in the mcpConfiguration setting; the application-level copy
(which no code read) is dropped by the migration, and the now-empty configure step is hidden in the
UI. Configure MCP through Settings > MCP, not through the application’s own configuration.
Two more fields are stripped from stored application rows for security reasons
(behavioural): openMetadataServerConnection and privateConfiguration were being persisted
into application rows and version history despite being runtime-only. 2.0 also stops exposing the
application bot JWT and privateConfiguration secrets in API responses — if your tooling read the
bot token out of /v1/apps/..., obtain it through the bot API instead.
The
appConfig union also drops the three Collate AI agent configurations and gains a permissive
terminal branch — branch indexes shift, so generated unions that key on position must be
regenerated rather than hand-patched.MCP tool contracts change for 15 tools, and 7 tools are added
Breaking for MCP clients that parse responses. No tools are removed, but the contract changes in ways that will silently misbehave if you don’t update the client:
The changed tools are
create_classification, create_data_product, create_domain,
create_glossary, create_glossary_term, create_lineage, create_metric, create_tag,
create_test_case, get_entity_lineage, get_test_definitions, patch_entity,
root_cause_analysis, search_metadata and semantic_search. The seven new tools are all Context
Center and AI-context tools: create_context_memory, find_context, get_asset_context,
get_company_context, get_knowledge_content, get_persona_context and
search_company_context.
CSV import and export become tracked background jobs
Behavioural. Affects CSV automation and the UI. In 1.13, async CSV progress was delivered only over WebSocket — a client without a live socket had no way to observe the job. In 2.0,background_jobs gains progress, total, result, error, cancelRequested and completedAt;
jobs are pollable at GET /v1/csvAsyncJobs/{jobId} and downloadable from
GET /v1/csvAsyncJobs/{jobId}/result, and the UI surfaces them in a Background jobs tray. Async
entity restore is also available via PUT /v1/{entityType}/restore?async=true.
Concurrency limits protect the connection pool during background fan-out
Additive. A newopenmetadata.yaml block caps how much background work can run at once:
Search and vector infrastructure gain new capabilities
Additive. Native Elasticsearch vector search is available alongside the existing OpenSearch path, and Google Gemini joins as an embedding provider. Multi-chunk hybrid ranking is backed by denormalised chunk documents with a staged, generation-based index recreate, inspectable atGET /v1/search/vector/fingerprint. The candidate multiplier for vector search is tunable via
knnNumCandidatesMultiplier (num_candidates = max(k × multiplier, 100), default 2), and NLQ’s
filterExtractor block gains its own cache size, TTL, and prompt sample limits.
A new cache layer ships with admin controls
Additive. New admin endpoints —GET /v1/system/cache/keys, POST /v1/system/cache/invalidate
and POST /v1/system/cache/invalidate/entity — manage a cache layer that’s a no-op by default. Set
CACHE_PROVIDER=redis to enable the Redis L2 cache; it falls back to the no-op provider if Redis is
unreachable at startup.