Ingestion & Connectors
Four hard breaks here — thepipelineStatuses shape, the Databricks Pipeline connection, the
log-stream payload and the progress payload — plus a Great Expectations major-version jump.
pipelineStatuses is now an array
- 1.13 response
- 2.0 response
pipelineStatuses.pipelineState silently get undefined or None.
The migration also strips any stale single-object pipelineStatuses value that a GET → PUT
round-trip may have persisted into stored entity JSON.
Databricks Pipeline connection requires authType
- 1.13
- 2.0
authType accepts three variants: Personal Access Token, DatabricksOAuth and Azure AD.
Log stream payload changed
afteris an opaque resume cursor — pass it back as theafterquery parameter to resume without re-reading delivered content.endReasonis set only on acompleteevent. A stream that ends without one was cut short — reconnect from the last cursor.replay: truemarks chunks replayed from the server buffer because the stream was already running when the client connected.- The path now accepts an id or fully qualified name, and
runIdis a free-form string, so Airflow’sscheduled__<ts>run ids no longer 404.
Ingestion progress payload changed
Progress changes from a flat per-entity-type map to a hierarchical tree. Each node counts its direct children — the root counts databases, a database counts schemas, a schema counts tables.- 1.13
- 2.0
Progress by entity type. Keys are entity types, values contain
total, processed and
estimatedRemainingSeconds.GET /v1/services/ingestionPipelines/progress/service/{serviceType}/{serviceFqn}/stream, so the
Services page can show live progress across all agents for a service.
Coverage added in 2.0: database connectors generally (plus Databricks and Unity Catalog explicitly),
Airflow REST and dbt Cloud pipeline totals, Looker and Tableau via manual progress mode, and the
profiler and auto-classification workflows.
Ingestion images move to Python 3.12
Running ingestion outside the OpenMetadata image? Python 3.12 is the recommended version for
externally run virtual environments. Python 3.10 and 3.11
still work, because the
openmetadata-ingestion package requires Python 3.10 or later. To switch,
move one pipeline to 3.12 first, check that it runs, then move the rest.The 3.12 move was also backported into the 1.13 maintenance line after 1.13.3. If you are already
running a 1.13.4 build you have made this jump; upgrading from 1.13.0 – 1.13.3 you have not.
Great Expectations 1.3 or later is required
great-expectations-1xx extra is removed. 1.3 is the floor because Great
Expectations only gained the validation-action registry there — on 1.0–1.2 Checkpoint.actions is a
closed union that rejects the OpenMetadata action outright.
If you adopted the interim 1.x module during 1.13, rename it in your checkpoint —
metadata.great_expectations.action1xx and OpenMetadataValidationAction1xx have been removed:
metadata.great_expectations.action and
OpenMetadataValidationAction keep those names, but the surrounding checkpoint definition still has
to move to the 1.x API: pass actions as objects to Checkpoint(actions=[...]) rather than as an
action_list of dictionaries, and call checkpoint.run() instead of
great_expectations checkpoint run.
Other dependency floors raised
Behavioural. Affects pinned and air-gapped installations.
New plugin extras:
prefect and sftp.
New connectors
Additive.
Connector configuration changes
Default filter patterns now exclude system objects
SSIS databaseConnection is now optional
Relaxed requirement, supporting file-only SSIS mode. Existing configurations are unaffected.
Snowflake
Other connector changes
Stale-entity cleanup API
New pattern for connectors.
seenFqns are considered stale and soft-deleted by
default. Available on 18 entity types.
Ingestion pipeline management
Connector framework internals
Behavioural. Affects custom connector authors only.
- mlmodel, metadata, messaging, storage, search and drive connectors migrated to
BaseConnection. get_connection_dictdropped fromBaseConnection; data-diff gated via a protocol.- Duplicated test-connection helpers consolidated; Athena migrated to the declarative test-connection
framework; a shared
GetPipelinesstep added to the pipeline test-connection vertical. - A
ClassifiableEntityAdapterreplaces scatteredisinstancechecks, and aTagRegistrydomain layer is introduced. ConnectionsRouterClassBaseenables pluggable connection routing in the UI.