Skip to main content
Version: Next

1.47.0 - 2026-05-08

Added

  • dbt: Add Microsoft Fabric adapter support #4485 @harels Register dbt-fabric in the supported Adapter enum and add fabric:// namespace extraction, preventing NotImplementedError on Fabric profiles and enabling lineage tracking for Microsoft Fabric datasets.
  • Flink: Add ClickHouse JDBC support #4495 @och5351 Add ClickHouseJdbcExtractor to enable lineage tracking for ClickHouse JDBC connections, supporting both jdbc:clickhouse:// and jdbc:ch:// URL schemes with optional protocol prefix removal.
  • Flink: Extract generic schema and config facet visitors #4506 @jsingh-yelp Add ConfigFacetVisitor and SchemaFacetVisitor for non-Table API Flink 2 datasets, enabling schema and configuration metadata extraction for DataStream API connectors beyond the Table API.
  • Spec/Python: Extend DataQualityAssertionsDatasetFacet with new information #4457 @kacpermuda Extend DataQualityAssertionsDatasetFacet with additional fields (actual value, expected value, severity) aligned with TestRunFacet, bumping the facet spec to 1-1-0.

Changed

  • dbt: Expose failure counts and thresholds on dbt test facets #4500 @mobuchowski Populate actual and expected fields on DataQualityAssertionsDatasetFacet and TestRunFacet with the dbt test failure count and error threshold, enabling consumers to distinguish passing tests from failures and understand configured tolerances.

Fixed

  • Client/Java: Fix MySqlJdbcExtractor incorrectly includes URL database in qualified table names #4497 @och5351 Fix MySQL JDBC extractor to not prepend the URL database to already-qualified table names, preventing invalid 3-level identifiers like mydb.schema.table1 (MySQL treats DATABASE and SCHEMA as synonyms).
  • dbt: Allow retry command #4520 @mobuchowski Fix dbt-ol to recognize retry as a valid dbt command so lineage is captured when re-running failed nodes.
  • dbt: Emit FAIL on aggregate test event when assertions failed #4523 @mobuchowski Fix aggregate test events in the legacy consume_local_artifacts path that emitted COMPLETE (success) even when the embedded DataQualityAssertions facet showed error-severity assertion failures.
  • dbt: Fix race condition in dbt parsing #4472 @mobuchowski Fix stale manifest.json from a prior invocation being loaded before dbt finishes its parse phase by subscribing to the ArtifactWritten structured log event (dbt ≥ 1.9) and lazy-loading for older versions.
  • dbt: Guard against None node_unique_id in get_job_type() #4489 @hcthakur2004 Fix AttributeError: 'NoneType' object has no attribute 'startswith' crash when node_info.unique_id is absent from the event by adding an early None guard.
  • dbt: Handle dbt owner list #4515 @mobuchowski Fix crash when the dbt owner metadata field is a list rather than a string, handling both single-owner and multi-owner configurations gracefully.
  • dbt: Handle missing "description" key in DbtArtifactProcessor for dbt-fusion support #4499 @ichirotakami Fix KeyError in extract_dataset_data() for dbt-fusion manifests where source nodes omit the description key by using .get() with an empty string default.
  • dbt: Propagate root parent through dbt-run wrapper to child events #4522 @mobuchowski Fix root=None in the parent facet for per-node events emitted via the legacy consume_local_artifacts path by propagating root_parent_* fields to dbt_run_metadata.
  • dbt: Specify utf-8 encoding when opening files #4503 @hcthakur2004 Fix file reading in the dbt provider to explicitly specify UTF-8 encoding, preventing UnicodeDecodeError on systems where the default locale encoding is not UTF-8.
  • Hive: Fix NPE in Parsing.buildQueryTree for 3+ way set operations #4498 @1fanwang Fix NullPointerException when processing Hive queries with 3+ way UNION ALL, INTERSECT, or EXCEPT set operations by recursively descending through intermediate QBExpr nodes instead of assuming leaf-only structure.
  • Spark: Add support for SparkChangelogTable in IcebergHandler #4439 @NETIZEN-11 Fix ClassCastException when Iceberg returns SparkChangelogTable instead of SparkTable by replacing the unsafe direct cast with instanceof checks and graceful fallback handling.
  • Spark: Bump httpclient5 to 5.6.1 for CVE-2026-40542 #4521 @Poojitha-R-Rao Upgrade httpclient5 dependency to 5.6.1 to address security vulnerability CVE-2026-40542.
  • Spark: Fix PathUtils.reconstructDefaultLocation malformed URI for S3 paths #4505 @creazyfrog Fix incorrect use of Hadoop's 3-argument Path constructor that produced malformed S3 URIs like s3://bucket/prefix://database.db./table_name, which caused IllegalArgumentException and silently dropped all lineage events.
  • Spark: Update AWS SDK to resolve CVE-2026-33871 #4427 @Poojitha-R-Rao Upgrade AWS SDK version to address security vulnerability CVE-2026-33871 (netty-codec).