> ## Documentation Index
> Fetch the complete documentation index at: https://openmetadata-fix-release-notes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 1.13 Release | OpenMetadata

> Explore all OpenMetadata releases with detailed changelogs, new features, bug fixes, and upgrade guides. Stay updated with the latest versions and improvements.

# Latest Release Notes

<Tip>
  The OpenMetadata community is on a monthly release cadence. At every 4-5 weeks
  we will be releasing a new version.
</Tip>

<CardGroup>
  <Card icon="party-horn" title="Upgrade OpenMetadata" href="/v1.13.x/deployment/upgrade">
    Learn how to upgrade your OpenMetadata instance to 1.13.4!
  </Card>
</CardGroup>

<Update label="1.13.4 Release" description="21st August 2026">
  You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.13.4-release).

  ## Changelog

  OpenMetadata 1.13.4 is a maintenance release focused on connector reliability, search and lineage correctness, governance and MCP fixes, and a broad security cleanup across ingestion and platform dependencies.

  ### 🔌 Connectors & Ingestion

  * **Hive: test connection failed when no metastore was selected** [#30380](https://github.com/open-metadata/OpenMetadata/issues/30380): The metastore step is optional again, restoring the pre-1.13 behaviour for Hive services that don't front a metastore.
  * **Oracle: view definitions truncated by bulk LONG fetch** [#30319](https://github.com/open-metadata/OpenMetadata/issues/30319): Falls back to a per-view fetch when the bulk LONG read truncates, recovering full view DDL for downstream lineage.
  * **BigQuery: dataset and table object caches collide across schemas** [#30973](https://github.com/open-metadata/OpenMetadata/issues/30973): Caches are keyed per schema, preventing cross-schema object collisions on large projects.
  * **Fivetran: lineage lost when service names are unset; Table → Topic edges missing** [#31265](https://github.com/open-metadata/OpenMetadata/issues/31265): Falls back cleanly when service names are missing and adds Table → Topic lineage support.
  * **KafkaConnect: Debezium lineage broken on single-database services** [#31280](https://github.com/open-metadata/OpenMetadata/issues/31280): Debezium source lineage now resolves against single-database KafkaConnect services.
  * **BurstIQ: invalid system wallet failing silently** [#29727](https://github.com/open-metadata/OpenMetadata/issues/29727): Test connection surfaces an invalid system wallet with an actionable error.
  * **Table-owner extraction using the inspector instead of the dialect** [#31479](https://github.com/open-metadata/OpenMetadata/issues/31479): The owner extractor now dispatches on the SQL dialect, matching how the rest of the connector routes queries.
  * **Lineage parser: rows without a table name reaching the DB** [#31523](https://github.com/open-metadata/OpenMetadata/issues/31523): Parsed table references with no table name are skipped rather than persisted as broken rows.

  ### 🔍 Search & Discovery

  * **Inherited domain lost on descendants when an asset is moved** [#30678](https://github.com/open-metadata/OpenMetadata/issues/30678): Moving an asset now propagates the inherited domain to all descendants in search.
  * **Search connection pool starvation** [#31658](https://github.com/open-metadata/OpenMetadata/issues/31658): Bounds `httpclient5` connection-request timeouts so the search client stops starving under load.

  ### 🛡️ Data Governance & Quality

  * **Read authorization depending on the requested fields projection** [#29835](https://github.com/open-metadata/OpenMetadata/issues/29835): Read authorization is now independent of the `fields` query parameter, closing a projection-based bypass.
  * **Orphan test case 404s the whole test case listing** [#31379](https://github.com/open-metadata/OpenMetadata/issues/31379): A single stale test case no longer breaks paginated test-case listings.
  * **Any-language recognizer normalization** [#28883](https://github.com/open-metadata/OpenMetadata/issues/28883): Recognizers behave consistently regardless of source language.

  ### 🤖 MCP Server

  * **CORS headers, unused capability, and OAuth `iss` parameter** [#30673](https://github.com/open-metadata/OpenMetadata/issues/30673): Fixes MCP CORS headers, removes the unused resources capability, and populates the OAuth `iss` parameter.
  * **Null `protected_resource_metadata` in the discovery response** [#30642](https://github.com/open-metadata/OpenMetadata/issues/30642): Omits the field entirely when unset instead of returning `null`.

  ### ⚙️ Platform

  * **`/metadata/types/customProperties` returning non-custom properties** [#31171](https://github.com/open-metadata/OpenMetadata/issues/31171): The endpoint returns only custom properties, matching its name.
  * **Container re-parenting via PATCH** [#24294](https://github.com/open-metadata/OpenMetadata/issues/24294): Containers can be re-parented through PATCH like other hierarchical assets.
  * **Data Product reference indexing** [#30387](https://github.com/open-metadata/OpenMetadata/issues/30387): Search stays consistent after linked-entity updates on Data Products.

  ### 🎛️ UI

  * **Related terms `+N` badge not expandable** [#31009](https://github.com/open-metadata/OpenMetadata/issues/31009): The `+N` badge on glossary related terms is clickable to reveal the full list.
  * **Query Tab: UI backend integration** [#30688](https://github.com/open-metadata/OpenMetadata/issues/30688): UI-side backend calls for the Query Tab align with the current API surface.
  * **Queries tab: badge count skeleton while loading** [#31688](https://github.com/open-metadata/OpenMetadata/issues/31688): The Queries tab shows a skeleton in the badge while the count fetches, instead of flashing `0`.

  ### 🔒 Security

  * **`netty` → 4.1.137.Final** for CVE-2026-59903 [#31792](https://github.com/open-metadata/OpenMetadata/pull/31792).
  * **`c3p0` 0.12.0 → 0.14.1** for CVE-2026-55223 [#31458](https://github.com/open-metadata/OpenMetadata/pull/31458).
  * **`httpcore5` pinned to 5.4.3** for CVE-2026-54399 [#31513](https://github.com/open-metadata/OpenMetadata/pull/31513).
</Update>

<Update label="1.13.3 Release" description="31st July 2026">
  You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.13.3-release).

  ## Changelog

  OpenMetadata 1.13.3 is a maintenance release delivering data contract and governance workflow fixes, alert delivery fixes, a Snowflake foreign-key reflection fix, and UI fixes.

  ### 🔌 Connectors & Ingestion

  * **Snowflake: foreign-key collisions across tables sharing a constraint name** [#30473](https://github.com/open-metadata/OpenMetadata/pull/30473): Foreign-key reflection is now keyed on `(fk_name, table_name)`, so cloned tables that reuse a constraint name no longer merge into a single constraint referencing another table's columns and getting rejected with `400 Invalid column name`.

  ### 🛡️ Data Governance & Quality

  * **Data contracts stuck at `Running` after a Data Quality pipeline completes** [#30531](https://github.com/open-metadata/OpenMetadata/pull/30531): The `testSuite` → `dataContract` reverse relationship is now persisted on contract create/update, so contract status resolves when the pipeline finishes instead of sitting at `Running` indefinitely. Regression from 1.13.0.
  * **Sanitize poisoned governance trigger filters** [`5963637b`](https://github.com/open-metadata/OpenMetadata/commit/5963637bf54995861a015e383d7ce3792fdf8fb6): Event-based workflow trigger filters stored as an empty or placeholder value (`""`, `{}`) are now ignored instead of rejecting every event, and a 1.13.3 migration repairs affected `workflowDefinitions` rows in place.
  * **Hide soft-deleted owners on the Test Suite detail page** [#30520](https://github.com/open-metadata/OpenMetadata/pull/30520): Editing owners on a logical Test Suite no longer fails with `array item index is out of range`; `TestSuiteResource.getByName` now honours `includeRelations`, matching every other detail page.
  * **Intake form `formFields` support** [#30614](https://github.com/open-metadata/OpenMetadata/pull/30614): Added a `formFields` array with a per-field `required` flag to the `IntakeForm` schema, along with a migration that backfills it from the legacy `requiredFields`. Backend only in this release.

  ### ⚙️ Platform

  * **Skip notification recipients without contact information** [#30518](https://github.com/open-metadata/OpenMetadata/pull/30518): A team or user with no email address or webhook no longer discards every other recipient of the same alert; recipients are now resolved individually, matching the webhook path.

  ### 🎛️ UI

  * **Tag and Glossary dropdowns not selectable in the Column Bulk Operations edit drawer** [#30634](https://github.com/open-metadata/OpenMetadata/pull/30634): The tag and glossary dropdowns now render inside the edit drawer, so options can be selected instead of having clicks swallowed by the drawer's focus containment.
</Update>

<Update label="1.13.2 Release" description="30th July 2026">
  You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.13.2-release).

  ## Changelog

  OpenMetadata 1.13.2 is a maintenance release delivering MCP tool enhancements, search and reindexing reliability fixes, security patches, connector improvements, data governance and quality updates, lineage fixes, and UI enhancements.

  ### 🔒 Security

  * **Jackson, Logback, Postgres & Calcite dependency pins** [#30396](https://github.com/open-metadata/OpenMetadata/pull/30396): Aligned Jackson, Logback, Postgres, and Calcite dependency pins with main to clear Inspector high findings.
  * **Log4j CVE-2026-49844** [#30311](https://github.com/open-metadata/OpenMetadata/pull/30311): Bumped `log4j` from 2.25.4 to 2.25.5 to patch CVE-2026-49844.
  * **Trivy ingestion image CVEs** [#30516](https://github.com/open-metadata/OpenMetadata/pull/30516): Resolved Trivy-flagged CVEs by upgrading Airflow to 3.2.2, updating Spark Hive jars, and patching perl/nss packages.
  * **Trim vulnerable apt packages from ingestion Docker images** [#30024](https://github.com/open-metadata/OpenMetadata/pull/30024) [#30454](https://github.com/open-metadata/OpenMetadata/pull/30454): Removed CVE-flagged apt packages from ingestion Docker base images and hardened apt-get security.
  * **PyArrow IPC use-after-free CVEs** [#30146](https://github.com/open-metadata/OpenMetadata/pull/30146): Bumped `pyarrow` past the IPC use-after-free CVEs.
  * **mlflow-skinny Snyk findings** [#30046](https://github.com/open-metadata/OpenMetadata/pull/30046): Bumped `mlflow-skinny` to clear critical/high Snyk findings.
  * **Ingestion dependency CVE bumps** [#30034](https://github.com/open-metadata/OpenMetadata/pull/30034): Bumped 6 CVE-flagged ingestion dependencies to patched versions.
  * **No reviewer authz shortcut on CREATE** [#30026](https://github.com/open-metadata/OpenMetadata/pull/30026): Fixed a security gap where reviewer authorization shortcut was incorrectly granted on entity CREATE operations.
  * **Stop exposing app bot JWT and private secrets** [#29793](https://github.com/open-metadata/OpenMetadata/pull/29793): App bot JWT tokens and `privateConfiguration` secrets are no longer exposed in API responses.

  ### 🤖 MCP (Model Context Protocol)

  * **New `get_user_context` tool** [#30384](https://github.com/open-metadata/OpenMetadata/pull/30384): Added a `get_user_context` MCP tool that returns the calling user's profile, roles, and team memberships for context-aware AI interactions.
  * **Tool metadata annotations** [#30105](https://github.com/open-metadata/OpenMetadata/pull/30105): MCP tools are now annotated with `title`, `readOnly`, `destructive`, and `openWorld` hints to help LLM clients make safer tool-selection decisions.
  * **Unified read-tool pagination with `nextCursor`** [#29800](https://github.com/open-metadata/OpenMetadata/pull/29800): All MCP read tools now share a unified opaque `nextCursor` pagination contract, replacing ad-hoc page parameters for consistent multi-page traversal.
  * **Structured content and soft-error signaling** [#29799](https://github.com/open-metadata/OpenMetadata/pull/29799): MCP tools now emit `structuredContent` alongside text and flag non-fatal issues via `isError` for better LLM error handling.
  * **Read-tool size cap via item paging** [#29732](https://github.com/open-metadata/OpenMetadata/pull/29732): Read tools now page items rather than truncate content when a response approaches the size cap, ensuring no data is silently dropped.
  * **Paginate `get_entity_details` columns** [#29707](https://github.com/open-metadata/OpenMetadata/pull/29707) [#29713](https://github.com/open-metadata/OpenMetadata/pull/29713): `get_entity_details` now paginates column lists for wide entities to stay within LLM context limits.
  * **Authorize `get_entity_details` against resolved entity** [#30011](https://github.com/open-metadata/OpenMetadata/pull/30011) [#30043](https://github.com/open-metadata/OpenMetadata/pull/30043): Fixed `get_entity_details` to perform authorization checks against the fully resolved entity, preventing unauthorized access via FQN aliases.

  ### 🔍 Search & Reindexing

  * **Migrate stale owner aggregation field** [#29691](https://github.com/open-metadata/OpenMetadata/pull/29691): A 1.13.2 migration corrects stale owner aggregation field references in stored search settings to prevent broken search filters after upgrade.
  * **Column bulk operations search at scale** [#29695](https://github.com/open-metadata/OpenMetadata/pull/29695): Fixed column bulk operations search returning no results on large datasets.
  * **Index `testSuite` on tables during selective reindex** [#29688](https://github.com/open-metadata/OpenMetadata/pull/29688): Selective reindex now includes `testSuite` associations on table documents.
  * **Durable realtime column indexing** [#29653](https://github.com/open-metadata/OpenMetadata/pull/29653): Realtime column index updates now await the bulk write to complete before acknowledging, preventing silent index lag.
  * **Index all body chunks for semantic retrieval** [#29850](https://github.com/open-metadata/OpenMetadata/pull/29850): All body text chunks are now indexed for semantic retrieval, fixing incomplete hybrid search results.
  * **ES/OS document rejection hardening** [#28671](https://github.com/open-metadata/OpenMetadata/pull/28671): Engine-native mapping hardening prevents Elasticsearch/OpenSearch from rejecting index documents due to type mismatches.
  * **Index domain parent for sub-domain counts** [#29118](https://github.com/open-metadata/OpenMetadata/pull/29118): Domain parent is now indexed so the Sub Domains tab correctly counts child domains after a full reindex.
  * **`mlModelService` search index routing fix** [#30574](https://github.com/open-metadata/OpenMetadata/pull/30574): Fixed `search index=mlModelService` incorrectly returning ML Model assets from other indexes.
  * **Promote every staged index in distributed reindex** [#30519](https://github.com/open-metadata/OpenMetadata/pull/30519): All staged indexes are now promoted atomically in a distributed reindex, preventing partial promotion failures.
  * **`customPropertiesTyped` nested mapping** [#30501](https://github.com/open-metadata/OpenMetadata/pull/30501): Added missing nested `customPropertiesTyped` field mapping to 5 entity indexes to enable custom property aggregations in search.
  * **Restore dropped table reindex fields** [#30177](https://github.com/open-metadata/OpenMetadata/pull/30177): Restored `schemaDefinition` and ER diagram fields that were inadvertently dropped from the table search index in 1.13.
  * **Populate service for stored procedures on reindex** [#30127](https://github.com/open-metadata/OpenMetadata/pull/30127): The service field is now correctly populated for stored procedures during reindex.
  * **Preserve search preview ranking order** [#30083](https://github.com/open-metadata/OpenMetadata/pull/30083): Search preview results now preserve the intended best-match ranking order across all hit pages.
  * **Unwedge reindex orchestrator on crash** [#28699](https://github.com/open-metadata/OpenMetadata/pull/28699): The reindex orchestrator now recovers from a crash by unwedging itself and cleaning up stale Quartz jobs.
  * **Stop falsely abandoning healthy reindex jobs** [#29547](https://github.com/open-metadata/OpenMetadata/pull/29547): Fixed the orchestrator incorrectly abandoning reindex jobs that hold a live lock, causing premature failure.
  * **Remove DB-backed search index mapping settings** [#30218](https://github.com/open-metadata/OpenMetadata/pull/30218): Removed the legacy database-backed search index mapping settings page and its UI entry, simplifying search configuration.
  * **Search cluster fitness diagnostic** [#28447](https://github.com/open-metadata/OpenMetadata/pull/28447): Added a REST endpoint and ops CLI command for diagnosing search cluster fitness (shard health, index sizes, replication lag).
  * **Resilient embeddings and reindex auto-tune** [#29833](https://github.com/open-metadata/OpenMetadata/pull/29833): Search embedding generation, reindex auto-tuning, and audit log export now recover gracefully on any pod size rather than failing the entire run.
  * **Bind BoundedListFilter params in TestSuite reads** [#30219](https://github.com/open-metadata/OpenMetadata/pull/30219): Fixed unbound query parameters in TestSuite keyset pagination that could cause full-table scans.
  * **Self-heal custom-property registry on cache miss** [#30044](https://github.com/open-metadata/OpenMetadata/pull/30044): Custom-property type registry now self-heals on a cache miss across replicas instead of returning stale type mappings.

  ### 🔌 Connectors & Ingestion

  * **Kafka Connect: EventRouter/RegexRouter lineage** [#29980](https://github.com/open-metadata/OpenMetadata/pull/29980): Kafka Connect now generates lineage for topics routed via `EventRouter` and `RegexRouter` SMTs.
  * **dbt Cloud: column-level lineage from compiled SQL** [#29731](https://github.com/open-metadata/OpenMetadata/pull/29731): dbt Cloud connector now extracts column-level lineage directly from compiled SQL in addition to the manifest.
  * **Databricks partner User-Agent** [#30222](https://github.com/open-metadata/OpenMetadata/pull/30222): Set the Databricks partner User-Agent header for telemetry attribution in Databricks ingestion.
  * **OpenLineage: Glue symlink & multi-catalog dataset lineage** [#30272](https://github.com/open-metadata/OpenMetadata/pull/30272): Resolved OpenLineage lineage for Glue symlink tables and multi-catalog datasets that previously failed FQN resolution.
  * **ADLS: respect `bucketName` during container discovery** [#30271](https://github.com/open-metadata/OpenMetadata/pull/30271): Azure Data Lake Storage ingestion now respects the configured `bucketName` filter during container discovery.
  * **Redshift Spectrum: map Hive types** [#29910](https://github.com/open-metadata/OpenMetadata/pull/29910): Redshift Spectrum now maps Hive-compatible types (`string`, `double`, `char`, `tinyint`) instead of reporting `UNKNOWN`.
  * **Delta Lake: parse struct field names with colons** [#30080](https://github.com/open-metadata/OpenMetadata/pull/30080): Fixed Delta Lake schema parser to correctly handle struct field names containing colons.
  * **MSSQL: BigInteger identity reflection on SQLAlchemy 2.0** [#29639](https://github.com/open-metadata/OpenMetadata/pull/29639): Fixed MSSQL `BigInteger` identity column reflection under SQLAlchemy 2.0.
  * **MSSQL: Query Store for lineage & usage** [#29719](https://github.com/open-metadata/OpenMetadata/pull/29719): MSSQL query and stored-procedure lineage and usage now use the Query Store for improved reliability, with hardened fault-tolerance and warnings on query-log truncation.
  * **BigQuery: GCP service account impersonation** [#29683](https://github.com/open-metadata/OpenMetadata/pull/29683): Fixed GCP service account impersonation across BigQuery ADC and SQLAlchemy paths.
  * **Ingestion engines: AUTOCOMMIT to release AccessShareLock** [#29658](https://github.com/open-metadata/OpenMetadata/pull/29658): Ingestion engines now use AUTOCOMMIT mode to release `AccessShareLock` promptly, preventing lock buildup on busy PostgreSQL instances.
  * **Data quality: use sample config for sample data ingestion** [#29907](https://github.com/open-metadata/OpenMetadata/pull/29907): Data quality sample data ingestion now uses the correct sample configuration instead of the full profiler config.
  * **Add `pkg-config` to ingestion-base images** [#30264](https://github.com/open-metadata/OpenMetadata/pull/30264): Added `pkg-config` to ingestion-base Docker images so `mysqlclient` compiles correctly from source.
  * **Oracle: preserve CTAS `sqlQuery` on lineage patch** [#29646](https://github.com/open-metadata/OpenMetadata/pull/29646): Oracle connector now preserves the `sqlQuery` on CTAS lineage patches and correctly parses stored procedure names.
  * **dbt: populate `TestCaseResult.result` with test message** [#29650](https://github.com/open-metadata/OpenMetadata/pull/29650): `TestCaseResult.result` is now populated with the dbt test failure message for better observability.
  * **Lineage: dedup queries and treat conflicts as warnings** [#28757](https://github.com/open-metadata/OpenMetadata/pull/28757): Duplicate lineage queries are deduplicated and already-present query conflicts are now logged as warnings instead of errors.

  ### 📖 Glossary

  * **Parse glossary CSV `entityStatus` case-insensitively** [#29510](https://github.com/open-metadata/OpenMetadata/issues/29510): Glossary CSV bulk import now accepts `entityStatus` values in any case (e.g., `DRAFT`, `Draft`, `draft`).
  * **Paginate glossary term relation settings** [#30372](https://github.com/open-metadata/OpenMetadata/pull/30372): The glossary term relation settings page is now paginated to prevent timeouts on glossaries with many related terms.

  ### 🛡️ Data Governance & Quality

  * **Validate DI chart formulas via formula evaluator** [#30073](https://github.com/open-metadata/OpenMetadata/pull/30073): Data Insights chart formula validation now uses `DataInsightFormulaEvaluator` instead of the policy validator to correctly flag invalid formulas.
  * **Return 400 for chart metrics with no function or formula** [#29890](https://github.com/open-metadata/OpenMetadata/pull/29890): Data Insights chart preview returns HTTP 400 (not 500) when a chart metric is missing both a function and a formula.
  * **Custom property filter and aggregation in Data Insights** [#29643](https://github.com/open-metadata/OpenMetadata/pull/29643): Data Insights charts now support filtering and grouping by custom properties.
  * **Mark superseded approval runs as SUPERSEDED** [#29868](https://github.com/open-metadata/OpenMetadata/pull/29868): When a new approval workflow supersedes a running one, the previous run is now marked as `SUPERSEDED` instead of `FAILURE`.
  * **Data Contract: fix NOT\_IN JsonLogic multivalue fields** [#29003](https://github.com/open-metadata/OpenMetadata/pull/29003): Data Contract `NOT_IN` operator now emits correct JsonLogic multivalue field expressions.
  * **Fix `Table.schemaDefinition` silently dropped on PUT** [#29441](https://github.com/open-metadata/OpenMetadata/pull/29441): `Table.schemaDefinition` is no longer silently dropped when a full PUT update is performed.
  * **Preserve `autoClassificationConfig` on classification PUT** [#29735](https://github.com/open-metadata/OpenMetadata/pull/29735): A classification `PUT` now preserves the existing `autoClassificationConfig` instead of resetting it.
  * **Data Contract alert filter search** [#30007](https://github.com/open-metadata/OpenMetadata/pull/30007): Fixed broken search on the Data Contract alert filter panel.
  * **Auto-classification: break sibling-tag score ties** [#29989](https://github.com/open-metadata/OpenMetadata/pull/29989): Auto-classification now breaks ties between sibling tags using a deterministic secondary sort to prevent unstable classification results.

  ### 🧬 Lineage

  * **Fix `fitView` not centering the lineage DAG** [#30163](https://github.com/open-metadata/OpenMetadata/pull/30163): The `fitView` call on lineage page load now correctly centers the DAG in the viewport.
  * **Render query-lineage SQL on the edge drawer** [#29651](https://github.com/open-metadata/OpenMetadata/pull/29651): The lineage edge drawer now renders the underlying SQL query for query-level lineage edges.

  ### ⚙️ Platform

  * **Content-based ETag to prevent stale votes/followers** [#30497](https://github.com/open-metadata/OpenMetadata/pull/30497): ETags are now computed from entity content rather than version, preventing browsers from serving stale votes and follower counts via 304 responses.
  * **Harden entity pagination, multi-owner authz, and cursor charset** [#29750](https://github.com/open-metadata/OpenMetadata/pull/29750): Hardened keyset pagination, enforced authorization checks for multi-owner assignments, and fixed cursor encoding for non-ASCII entity names.
  * **Paginate `GET /v1/events` to prevent Java heap OOM** [#29958](https://github.com/open-metadata/OpenMetadata/pull/29958): The events endpoint now supports cursor-based pagination with an optional `endTs` bound to prevent out-of-memory errors on large event backlogs.
  * **Avoid Out-of-sort-memory on entity list pagination** [#29898](https://github.com/open-metadata/OpenMetadata/pull/29898): Entity list queries no longer trigger MySQL's `Out of sort memory` error on large tables by switching to indexed keyset pagination.
  * **Prevent circular team hierarchy** [#30063](https://github.com/open-metadata/OpenMetadata/pull/30063): Team create and update operations now validate for circular parent-child references and reject them with a 400 error.
  * **Reclaim orphaned ingestion pipelines** [#30030](https://github.com/open-metadata/OpenMetadata/pull/30030): A migration backport reclaims ingestion pipelines that became orphaned due to partial deletes.
  * **Enable impersonation for custom bots with RBAC** [#29029](https://github.com/open-metadata/OpenMetadata/pull/29029): Custom bots can now use service account impersonation with RBAC-scoped control for fine-grained delegation.
  * **Preserve inherited domains in CSV bulk edit** [#30013](https://github.com/open-metadata/OpenMetadata/pull/30013): Bulk CSV edit now preserves inherited domain assignments instead of clearing them when a domain column is absent.
  * **Compare email domains case-insensitively** [#30285](https://github.com/open-metadata/OpenMetadata/pull/30285): Principal domain enforcement now compares email domains case-insensitively, fixing login failures for users with mixed-case email domains.
  * **Validate legacy feed task payloads** [#29582](https://github.com/open-metadata/OpenMetadata/pull/29582): Legacy feed task payloads are now validated before processing to prevent ingestion pipeline failures on malformed historical records.
  * **Expose `Trigger` in ingestionPipeline descriptor** [#29530](https://github.com/open-metadata/OpenMetadata/pull/29530): The ingestion pipeline `Trigger` field is now exposed in the pipeline descriptor, and `EditAll` permission is required to kill a running pipeline.
  * **Bypass domain enforcement for OM-internally-issued tokens** [#29433](https://github.com/open-metadata/OpenMetadata/pull/29433): Service and bot tokens issued by OpenMetadata itself now bypass principal domain enforcement to prevent breakage during startup and migrations.
  * **Cap Titan Bedrock embedding input** [#30021](https://github.com/open-metadata/OpenMetadata/pull/30021): Input to Titan Bedrock embedding models is now capped to avoid `ValidationException` on oversized payloads.
  * **Retry Bedrock 429 throttling with backoff** [#29938](https://github.com/open-metadata/OpenMetadata/pull/29938): Bedrock API calls now retry on HTTP 429 (Too Many Requests) with exponential backoff.
  * **Fix missing `ownerName` field** [#29899](https://github.com/open-metadata/OpenMetadata/pull/29899): Restored the `ownerName` field that was missing from entity responses after a prior refactor.
  * **RDF: exclude unsupported entity types** [#29381](https://github.com/open-metadata/OpenMetadata/pull/29381): Entity types not supported by the RDF knowledge graph are now excluded at index time to prevent serialization errors.
  * **Record failed webhook events on non-2xx delivery** [#29808](https://github.com/open-metadata/OpenMetadata/pull/29808): Event subscription delivery failures are now recorded when the webhook returns any non-2xx status code, not just network errors.
  * **Default pipeline patch version when `z` component is missing** [#29787](https://github.com/open-metadata/OpenMetadata/pull/29787): Pipeline version patching now defaults the `z` component to 0 when it is absent, preventing `NullPointerException` on version-less pipelines.
  * **Fix stale description source badge** [#29843](https://github.com/open-metadata/OpenMetadata/pull/29843): Clearing a nested field's description no longer leaves a stale source badge in the UI.
  * **Bound memory in bulk recursive hard delete** [#29322](https://github.com/open-metadata/OpenMetadata/pull/29322): Bulk recursive hard delete now bounds memory usage and skips work already covered by ancestor deletes to prevent OOM on large hierarchies.
  * **Backport orphaned column-doc cleanup** [#29549](https://github.com/open-metadata/OpenMetadata/pull/29549): Orphaned column documentation entries from deleted columns are now cleaned up during migration.

  ### 🎛️ UI

  * **Multi-owner avatar stack with hover popover** [#29612](https://github.com/open-metadata/OpenMetadata/pull/29612): Entity header now stacks multiple owner avatars with a hover popover showing all owners, replacing a truncated list.
  * **Migrate service icons from PNG to WebP** [#29105](https://github.com/open-metadata/OpenMetadata/pull/29105): All service connector icons have been migrated from PNG to WebP for faster page loads and better visual quality.
  * **`PaginationCardWithControls` component** [#30379](https://github.com/open-metadata/OpenMetadata/pull/30379): Backported the `PaginationCardWithControls` component to 1.13 for consistent paginated card layouts.
  * **Fix `is_not_set` semantics for Owner/Domain/DataProduct filters** [#30439](https://github.com/open-metadata/OpenMetadata/pull/30439): Corrected the `is_not_set` filter semantics for Owner, Domain, and Data Product fields in the Explore page filters.
  * **Table version page shows historical columns** [#29411](https://github.com/open-metadata/OpenMetadata/pull/29411): The table version history page now correctly shows the column state at that version instead of the current live API columns.
  * **Handle test suite tab loading race** [#29561](https://github.com/open-metadata/OpenMetadata/pull/29561): Fixed a race condition that could leave the test suite tab in a perpetual loading state.
  * **Hide data product lifecycle stage badge** [#29290](https://github.com/open-metadata/OpenMetadata/pull/29290): The lifecycle stage badge is now hidden on data product pages where it is not applicable.
  * **Lazy loading for enum select in advanced search** [#29736](https://github.com/open-metadata/OpenMetadata/pull/29736): Enum select fields in the advanced search query builder now load options lazily to prevent UI freezes on large enumerations.
  * **Column tag filtering in advanced search** [#28871](https://github.com/open-metadata/OpenMetadata/pull/28871): Advanced search now supports filtering by column-level tags.
  * **Permissions for run/deploy buttons** [#29527](https://github.com/open-metadata/OpenMetadata/pull/29527): Run and deploy buttons on ingestion pipelines now correctly reflect the user's permissions and are disabled when the user lacks the required role.
  * **Column grid alphabetical sort** [#29751](https://github.com/open-metadata/OpenMetadata/pull/29751): Column bulk-edit grid now sorts columns alphabetically by default for easier navigation.
  * **Fix Certification icon rendering** [#29830](https://github.com/open-metadata/OpenMetadata/pull/29830): Resolved a rendering issue that caused the Certification icon to display incorrectly in entity headers.
  * **Total asset count for filtered Explore results** [#28873](https://github.com/open-metadata/OpenMetadata/pull/28873): The Explore page now shows the correct total asset count when advanced search filters are active.
</Update>

<Update label="1.13.1 Release" description="27th June 2026">
  You can find the GitHub release [here](https://github.com/open-metadata/OpenMetadata/releases/tag/1.13.1-release).

  ## Changelog

  OpenMetadata 1.13.1 is a maintenance release delivering MCP tool improvements, search and reindexing fixes, security patches, connector updates, glossary and governance enhancements, and UI fixes.

  ### 🔒 Security

  * **Netty CVE-2026-44249** [#28880](https://github.com/open-metadata/OpenMetadata/pull/28880): Bumped `netty-bom` to 4.1.135.Final.
  * **Jackson-databind CVE-2026-54512/513/514** [#29389](https://github.com/open-metadata/OpenMetadata/pull/29389): Bumped `jackson-databind` from 2.18.7 to 2.18.8.
  * **Spring, Micrometer & OpenTelemetry CVE patches** [#29111](https://github.com/open-metadata/OpenMetadata/pull/29111): Spring 6.2.18 → 6.2.19, Micrometer upgraded, and OpenTelemetry pinned to patch reported CVEs.
  * **ws CVE-2026-48779** [#29122](https://github.com/open-metadata/OpenMetadata/pull/29122): Bumped `ws` to 8.21.0.
  * **handlebars CVE-2026-55760** [#29221](https://github.com/open-metadata/OpenMetadata/pull/29221): Bumped `handlebars` to 4.5.2 to patch a path-traversal vulnerability.
  * **sudo CVE-2026-35535** [#29343](https://github.com/open-metadata/OpenMetadata/pull/29343): Upgraded `sudo` in the ingestion Docker image.
  * **UI dependency vulnerability fixes** [#29223](https://github.com/open-metadata/OpenMetadata/pull/29223) [#29241](https://github.com/open-metadata/OpenMetadata/pull/29241): Bumped `undici` 6.25.0 → 6.27.0, `form-data`, `dompurify`, `markdown-it`, and `js-yaml`.
  * **form-data bumped** [#29349](https://github.com/open-metadata/OpenMetadata/pull/29349): Updated the `form-data` package to address reported vulnerabilities.

  ### 🤖 MCP (Model Context Protocol)

  * **MCP Registry publishing** [#27982](https://github.com/open-metadata/OpenMetadata/pull/27982): Added `server.json` for publishing openmetadata-mcp to the official MCP Registry, enabling discovery across aggregators like PulseMCP.
  * **MCP tool usage analytics** [#28352](https://github.com/open-metadata/OpenMetadata/pull/28352): MCP tool calls now track usage metrics including per-tool latency percentiles, ok/fail counts, and client classification (VS Code, Claude CLI, etc.) with reservoir sampling.
  * **Cap search\_metadata response size** [#28383](https://github.com/open-metadata/OpenMetadata/pull/28383): Capped `search_metadata` response size to prevent LLM context overflow and guides LLM clients to use smaller page sizes.
  * **Map MCP error responses to correct HTTP status codes** [#28622](https://github.com/open-metadata/OpenMetadata/pull/28622): MCP tool error responses now return the correct HTTP status codes instead of generic errors.
  * **Slim get\_entity\_lineage payload** [#28618](https://github.com/open-metadata/OpenMetadata/pull/28618): Optimized `get_entity_lineage` MCP tool payload with a slim transform to reduce response size.
  * **Compact create tool responses** [#28633](https://github.com/open-metadata/OpenMetadata/pull/28633): `create_metric`, `create_test_case`, and `create_glossary_term` tools now return compact entity representations.
  * **Slim root\_cause\_analysis payload** [#28632](https://github.com/open-metadata/OpenMetadata/pull/28632): Slimmed the `root_cause_analysis` tool payload to fit within LLM context limits.
  * **Return similarityScore in search\_metadata** [#28512](https://github.com/open-metadata/OpenMetadata/pull/28512): `search_metadata` results now include `_score` as `similarityScore` for relevance ranking.
  * **Fix entityType filtering in search\_metadata** [#28698](https://github.com/open-metadata/OpenMetadata/pull/28698): Resolved index routing by `entityType` to prevent cross-type result leaks and hardened parameter validation.
  * **Search test cases and test suites via search\_metadata** [#28743](https://github.com/open-metadata/OpenMetadata/pull/28743): `search_metadata` now supports searching test cases and test suites.
  * **Shared trim util and global response size-budget** [#28764](https://github.com/open-metadata/OpenMetadata/pull/28764): Introduced shared response-trim utilities and a global size-budget net across all MCP tools.
  * **Trim wide-table payload in get\_entity\_details** [#28776](https://github.com/open-metadata/OpenMetadata/pull/28776): `get_entity_details` now trims wide-table payloads (column descriptions, schema/model SQL) to stay within size budgets.
  * **MCP OAuth login fix** [#29228](https://github.com/open-metadata/OpenMetadata/pull/29228): Fixed `/mcp/callback` handling of the active-session shortcut and implicit-flow `id_token` returned in the URL fragment by SSO.
  * **Fix OAuth state double-encoding** [#28952](https://github.com/open-metadata/OpenMetadata/pull/28952): OAuth state is now echoed without double-encoding in the redirect URI.

  ### 🔍 Search & Reindexing

  * **Vectorize testSuite/testCase for hybrid search** [#28669](https://github.com/open-metadata/OpenMetadata/pull/28669): Test suites and test cases are now vectorized, enabling hybrid (keyword + semantic) search over data quality entities.
  * **Make users and admins searchable by email** [#28800](https://github.com/open-metadata/OpenMetadata/pull/28800): Users and admins are now searchable by their email address.
  * **Recreate all indexes on major/minor version upgrade** [#28885](https://github.com/open-metadata/OpenMetadata/pull/28885): All search indexes are now recreated on major or minor version upgrades to pick up mapping changes.
  * **Reindex-drift and index health checks** [#28856](https://github.com/open-metadata/OpenMetadata/pull/28856): Added reindex-drift detection and index health checks in `/system/validate`.
  * **Fix reindex OOM on wide tables** [#28888](https://github.com/open-metadata/OpenMetadata/pull/28888): Switched to a covering cursor query and added entity name indexes to prevent out-of-sort-memory errors during reindex.
  * **Re-add --recreate-indexes flag** [#29087](https://github.com/open-metadata/OpenMetadata/pull/29087): Restored the `--recreate-indexes` flag to the reindex CLI for backward compatibility.
  * **Staged-index rescue uses index\_total** [#29108](https://github.com/open-metadata/OpenMetadata/pull/29108): Uses `index_total` instead of `docs.count` for staged-index rescue so a failed reindex doesn't delete a populated index.
  * **Never apply refresh\_interval=-1 as live serving value** [#29153](https://github.com/open-metadata/OpenMetadata/pull/29153): Prevents `refresh_interval=-1` from being applied as a live serving value on index promote.
  * **Cap oversized dataModel column tree at index time** [#29212](https://github.com/open-metadata/OpenMetadata/pull/29212): Containers/tables with pathologically large dataModel schemas now have nested column children stripped at index time to prevent OOM.
  * **Regenerate embeddings on dimension change** [#29437](https://github.com/open-metadata/OpenMetadata/pull/29437): Embeddings are regenerated when vector dimensions change instead of reusing stale vectors.
  * **Backfill name indexes for distributed reindex pagination** [#29361](https://github.com/open-metadata/OpenMetadata/pull/29361): Name indexes are backfilled to support distributed reindex pagination.
  * **Bound column-index fan-out** [#29377](https://github.com/open-metadata/OpenMetadata/pull/29377): Bounded table column-index fan-out to prevent reindex OOM on wide tables.
  * **Surface exact/prefix matches first in QuickFilter** [#29231](https://github.com/open-metadata/OpenMetadata/pull/29231): QuickFilter aggregations now surface exact and prefix matches first.
  * **Extend best-match ordering to sourceFields/topHits** [#29296](https://github.com/open-metadata/OpenMetadata/pull/29296): Extended the best-match ordering logic to sourceFields and topHits requests.
  * **My Data defaults to dataAsset index** [#29209](https://github.com/open-metadata/OpenMetadata/pull/29209): Changed the My Data page from the `all` index to `dataAsset` for more relevant results.
  * **Stop time-series field propagation** [#29499](https://github.com/open-metadata/OpenMetadata/pull/29499): Stopped time-series field propagation to prevent stale data in downstream indexes.

  ### 🔌 Connectors & Ingestion

  * **PowerBI datamarts support** [#28896](https://github.com/open-metadata/OpenMetadata/pull/28896): Added support for Power BI datamarts.
  * **Fivetran improvements** [#27270](https://github.com/open-metadata/OpenMetadata/pull/27270): Various improvements to the Fivetran connector.
  * **Athena: pass catalogId for S3 Tables enumeration** [#28929](https://github.com/open-metadata/OpenMetadata/pull/28929): Passes `catalogId` to `get_tables` for Athena S3 Tables enumeration.
  * **Athena: ingest Iceberg table properties** [#27715](https://github.com/open-metadata/OpenMetadata/pull/27715): Ingests Iceberg table properties from the `$properties` metatable.
  * **Athena: remove Trino stats** [#29446](https://github.com/open-metadata/OpenMetadata/pull/29446): Removed Trino-specific stats from the Athena table profiler.
  * **MySQL: refresh RDS IAM auth token per connection** [#28730](https://github.com/open-metadata/OpenMetadata/pull/28730): IAM auth tokens are now refreshed per connection instead of reusing stale tokens.
  * **MySQL: default stored-procedure language to SQL** [#28898](https://github.com/open-metadata/OpenMetadata/pull/28898): Unknown stored-procedure languages now default to SQL instead of `None`.
  * **MySQL: parameterize routines query** [#29077](https://github.com/open-metadata/OpenMetadata/pull/29077): Parameterized the MySQL routines query to avoid SQL string interpolation.
  * **Metabase: StarRocks SQL dialect for lineage** [#29033](https://github.com/open-metadata/OpenMetadata/pull/29033): StarRocks connections now route to the StarRocks SQL dialect so StarRocks-specific syntax parses correctly for lineage.
  * **Metabase: strip optional clause blocks** [#29390](https://github.com/open-metadata/OpenMetadata/pull/29390): Strips `[[...]]` optional clause blocks before lineage parsing.
  * **Datalake: parse array type nested structures in JSON** [#27798](https://github.com/open-metadata/OpenMetadata/pull/27798): Fixed parsing of array type nested structure fields inside JSON files.
  * **Iceberg/Delta: ingest metadata.json with real table columns** [#28422](https://github.com/open-metadata/OpenMetadata/pull/28422): Iceberg/Delta `metadata.json` files are now ingested with real table columns instead of placeholder schema.
  * **Upgrade collate-sqllineage** [#27413](https://github.com/open-metadata/OpenMetadata/pull/27413): Upgraded `collate-sqllineage` to ≥2.1.1 with regression tests.
  * **OpenLineage: reset Kinesis poll inactivity timer** [#29276](https://github.com/open-metadata/OpenMetadata/pull/29276): Resets the Kinesis poll inactivity timer per shard to prevent premature stream abandonment.
  * **OpenLineage: de-aggregate KPL records** [#29037](https://github.com/open-metadata/OpenMetadata/pull/29037): De-aggregates KPL (Kinesis Producer Library) records in the Kinesis source.
  * **SAP HANA: profiler fix** [#27483](https://github.com/open-metadata/OpenMetadata/pull/27483): Fixed `CREATE_TIME` lookup to use `SYS.TABLES` with uppercase catalog matching.
  * **Unity Catalog: incremental extraction flag** [#28906](https://github.com/open-metadata/OpenMetadata/pull/28906): Added the missing `supportsIncrementalMetadataExtraction` flag.
  * **dbt Cloud: stale FQN and null timestamp** [#29525](https://github.com/open-metadata/OpenMetadata/pull/29525): Fixed dbt Cloud pipeline status using stale FQN and null timestamp.
  * **Secret serialization fixes** [#28625](https://github.com/open-metadata/OpenMetadata/pull/28625) [#29198](https://github.com/open-metadata/OpenMetadata/pull/29198) [#29216](https://github.com/open-metadata/OpenMetadata/pull/29216): Preserved `secret:` prefix during Python SDK serialization, handled empty connection passwords with `CustomSecretStr`, and hardened serialization for null secrets.
  * **Fix lineage script\_exception in ADD\_UPDATE\_LINEAGE**: Fixed script exceptions during lineage add/update operations.

  ### 📖 Glossary

  * **Cascade glossary rename to child terms in search index** [#29159](https://github.com/open-metadata/OpenMetadata/pull/29159): Renaming a glossary now updates the denormalized `glossary.name` / `glossary.fullyQualifiedName` on every child term's search-index doc.
  * **Keep approvals valid after move** [#29214](https://github.com/open-metadata/OpenMetadata/pull/29214): Approvals remain valid after a glossary term is moved.
  * **Skip move consolidation** [#29266](https://github.com/open-metadata/OpenMetadata/pull/29266): Fixes glossary term move operations by skipping unnecessary consolidation.
  * **Preserve domains through CSV import/export** [#29509](https://github.com/open-metadata/OpenMetadata/pull/29509): Glossary term domains are now preserved during CSV bulk import/export, and a `domains` column is added to the CSV format.
  * **Show approve/reject buttons after Expand All** [#29295](https://github.com/open-metadata/OpenMetadata/pull/29295): The Expand-All tree fetch now requests the `reviewers` field so nested In-Review terms retain their approve/reject buttons.

  ### 🛡️ Data Governance & Quality

  * **ODPS Support for Data Products** [#29154](https://github.com/open-metadata/OpenMetadata/pull/29154): Added ODPS support for data products with custom intake forms.
  * **Data product support in Observability** [#28713](https://github.com/open-metadata/OpenMetadata/pull/28713): Added data product support in the Observability UI and backend.
  * **Preserve data products across domain deletes** [#29137](https://github.com/open-metadata/OpenMetadata/pull/29137): When a data product's domain is changed and the original domain is hard-deleted, the stale relationship is now removed so data products are preserved.
  * **Delete orphaned test cases + guard test-definition deletion** [#29081](https://github.com/open-metadata/OpenMetadata/pull/29081): Orphaned test cases can now be hard-deleted, and test-definition deletion is guarded against missing relationships.
  * **Redeploy workflow BPMN on upgrade** [#29465](https://github.com/open-metadata/OpenMetadata/pull/29465): Workflow BPMN definitions are redeployed on upgrade so moved or renamed approvals resolve correctly.
  * **Allow bare function references in SpEL conditions** [#28946](https://github.com/open-metadata/OpenMetadata/pull/28946): Governance policy SpEL conditions now allow bare references to approved functions.
  * **Snapshot entityStatus for Data Insights** [#29313](https://github.com/open-metadata/OpenMetadata/pull/29313): Snapshots `entityStatus` so Data Insights charts can filter by lifecycle status.
  * **Project tags to DI snapshot** [#29382](https://github.com/open-metadata/OpenMetadata/pull/29382): Projects `classificationTags` and `glossaryTags` to the Data Insights snapshot.
  * **Add documentation panel to test definition form** [#29430](https://github.com/open-metadata/OpenMetadata/pull/29430): Added a documentation panel to the test definition creation form.

  ### 🔔 Alerts & Notifications

  * **Match Entity FQN filter against descendants** [#28833](https://github.com/open-metadata/OpenMetadata/pull/28833): Entity FQN filters now match against both the entity and its descendants.
  * **Dedup successful change events** [#28827](https://github.com/open-metadata/OpenMetadata/pull/28827): Deduplicates successful change events to prevent Postgres `ON CONFLICT` abort errors.
  * **Observability triggers skip thread events** [#29112](https://github.com/open-metadata/OpenMetadata/pull/29112): Observability status triggers no longer fire on thread events.
  * **Owner/user name filters match dotted usernames** [#29523](https://github.com/open-metadata/OpenMetadata/pull/29523): Owner and user name filters now correctly match usernames containing a dot.

  ### 🔐 Authentication

  * **OIDC/SAML self-signup persists mapped email claim** [#29227](https://github.com/open-metadata/OpenMetadata/pull/29227): Self-signup now persists the mapped email claim from OIDC/SAML.

  ### 🧬 Lineage

  * **Render traced edges and nodes** [#29195](https://github.com/open-metadata/OpenMetadata/pull/29195): Lineage now visually renders traced edges and nodes.
  * **Restore edges in lineage PNG export** [#29250](https://github.com/open-metadata/OpenMetadata/pull/29250): Edges are restored after canvas re-render in the lineage PNG export.
  * **Fix PNG lineage export download** [#29362](https://github.com/open-metadata/OpenMetadata/pull/29362): Fixed PNG lineage export download and late loading spinner.
  * **Correct nodeDepth for fetched nodes** [#27477](https://github.com/open-metadata/OpenMetadata/pull/27477): Updates `nodeDepth` on fetched nodes using the base `nodeDepth`.
  * **Drop nodeDepth partitioning for ELK** [#29224](https://github.com/open-metadata/OpenMetadata/pull/29224): Dropped `nodeDepth` partitioning so ELK derives lineage layers from edges.

  ### ⚙️ Platform

  * **Re-arm audit log consumer trigger on startup** [#28821](https://github.com/open-metadata/OpenMetadata/pull/28821): The audit log consumer trigger is now re-armed on startup instead of being skipped when the Quartz job already exists, preventing silent audit event loss after restarts.
  * **Validate Flowable pool connections for DB failover** [#28835](https://github.com/open-metadata/OpenMetadata/pull/28835): Enabled MyBatis pool-ping validation (SELECT 1) on the Flowable runtime engine so connections idle past 30 seconds are validated and replaced before reuse, surviving Aurora/RDS failovers and maintenance restarts.
  * **Defer row fetch in audit logs list query** [#28851](https://github.com/open-metadata/OpenMetadata/pull/28851): Avoids a full-row scan when listing audit logs.
  * **AuditLogConsumer offset gap resilience** [#29252](https://github.com/open-metadata/OpenMetadata/pull/29252): The audit log consumer no longer skips events when `change_event.offset` gaps appear under concurrent writes.
  * **Concatenate multi-line SSE data fields** [#28945](https://github.com/open-metadata/OpenMetadata/pull/28945): Multi-line SSE `data:` fields are now concatenated instead of overwritten.
  * **Force UTF-8 decoding in SSE** [#29532](https://github.com/open-metadata/OpenMetadata/pull/29532): Forces UTF-8 decoding in SSE streams to prevent JSON truncation on multibyte characters.
  * **Persist nested column changes on PATCH** [#28837](https://github.com/open-metadata/OpenMetadata/pull/28837): Nested column changes are now persisted on optimistic-locking PATCH operations.
  * **Sync IngestionPipeline schedule on app changes** [#28702](https://github.com/open-metadata/OpenMetadata/pull/28702): When an app's schedule changes, the backing `IngestionPipeline.scheduleInterval` is now synced so K8s/Argo/Hybrid runners pick up the new schedule.
  * **Support double-quotes in FQN** [#28697](https://github.com/open-metadata/OpenMetadata/pull/28697): Fully qualified names now support double-quoted segments, with guard and repair logic for corrupt FQNs.
  * **Surface external secret read failures** [#28767](https://github.com/open-metadata/OpenMetadata/pull/28767): External secret read failures are now surfaced instead of being misrouted to create.
  * **Fix SocketAddressFilter NPE** [#29263](https://github.com/open-metadata/OpenMetadata/pull/29263): Fixed NPE on WebSocket handshake without a query string.
  * **Fix RDF Fuseki bulk write timeouts** [#28564](https://github.com/open-metadata/OpenMetadata/pull/28564): Fixed bulk write timeouts in the RDF Fuseki integration.
  * **RDF: index additional entity types** [#29327](https://github.com/open-metadata/OpenMetadata/pull/29327): Dashboard, DashboardDataModel, Table, and StoredProcedure are now properly indexed in the knowledge graph.
  * **RDF glossary term filtering** [#29368](https://github.com/open-metadata/OpenMetadata/pull/29368): Added support for RDF glossary term filtering.
  * **Slow Data Retention cleanup fix** [#29363](https://github.com/open-metadata/OpenMetadata/pull/29363): Fixed slow, memory-bound Data Retention entity relationship cleanup.
  * **Backfill pipeline service edges** [#29529](https://github.com/open-metadata/OpenMetadata/pull/29529): Migration backfills pipeline service edges in 1.13.1.
  * **Disabled new sidebar items by default for existing personas** [#29032](https://github.com/open-metadata/OpenMetadata/pull/29032): New sidebar items are disabled by default for existing personas to avoid unexpected navigation changes.
  * **Remove content/column name split for classification** [#29203](https://github.com/open-metadata/OpenMetadata/pull/29203): Removed the content/column name split for classification processing.

  ### 🎛️ UI

  * **Prevent ontology graph crash on large glossaries** [#29270](https://github.com/open-metadata/OpenMetadata/pull/29270): Prevented the ontology relations graph from crashing on large glossaries.
  * **Block-editor link modal in drawers** [#29374](https://github.com/open-metadata/OpenMetadata/pull/29374): Kept the link modal usable inside focus-trapping drawers.
  * **Preserve Persona navigation ordering** [#29353](https://github.com/open-metadata/OpenMetadata/pull/29353): Saved Persona navigation ordering is now preserved on reload.
  * **Scope "between" operator to numeric custom properties** [#29335](https://github.com/open-metadata/OpenMetadata/pull/29335): The `between` operator now correctly sends the upper bound for numeric custom properties only.
  * **Tag column filter on nested tables** [#29075](https://github.com/open-metadata/OpenMetadata/pull/29075): Tag column filter on nested schema/column tables now shows only matching fields.
  * **Hide disabled Tiers from dropdown** [#29466](https://github.com/open-metadata/OpenMetadata/pull/29466): Disabled Tiers are now hidden from the Tier selection dropdown.
  * **Data product filter in Data Quality** [#29456](https://github.com/open-metadata/OpenMetadata/pull/29456): Included data product filter in Data Quality parameters.
  * **Data Quality pagination** [#29512](https://github.com/open-metadata/OpenMetadata/pull/29512): Forwarded `showPagination` to the DataQualityTab component.
  * **FQN double-quote support in UI** [#28697](https://github.com/open-metadata/OpenMetadata/pull/28697): Added double-quoted name support in the UI FQN utility.
  * **Untitled-UI dropdowns for Add Assets drawer** [#29168](https://github.com/open-metadata/OpenMetadata/pull/29168): Replaced quick-filters in the Add Assets drawer with Untitled-UI dropdowns.
</Update>
