Skip to main content
Version: Next

1.46.0 - 2026-04-07

Added

  • Client/Go: Add Go client #4358 @tnazarew Add a new OpenLineage Go client with code generation from the spec, HTTP and GCP Lineage transport implementations, and CI integration.
  • dbt: Add sourceCodeLocation facet with repo URL override and git autodetect #4398 @himakolavennu Add sourceCodeLocation job facet emission for dbt events, with repo URL configurable via --openlineage-repo-url or OPENLINEAGE_REPO_URL, falling back to git remote get-url origin autodetection. URLs are normalized to host/org/repo format.
  • dbt: Emit TestRunFacet in dbt integration #4449 @mobuchowski Emit TestRunFacet from both the regular dbt processor path and the structured logs path for test result nodes, including outcome (pass/fail/warn/error), severity, and expected/actual values.
  • Spec: Add pullRequestNumber field to SourceCodeLocationJobFacet #4436 @himakolavennu Add optional pullRequestNumber field to SourceCodeLocationJobFacet (spec bumped to 1-1-0) with auto-detection from CI environment variables (GITHUB_REF for GitHub Actions, CI_MERGE_REQUEST_IID for GitLab CI).
  • Spec: Add TestRunFacet spec and Python client support #4448 @mobuchowski Add TestRunFacet JSON Schema for recording test outcomes (pass/fail/warn/error), severity, expected vs actual values, and test message, along with generated Python client code and facet registration.

Changed

  • Client/Python: Make sourceCodeLocation opt-in and reduce subprocess overhead #4403 @himakolavennu Make git autodetect for sourceCodeLocation opt-in by default (disabled=True) to avoid surprising subprocess calls during event emission, and reduce subprocess count from 4 to 2 by consolidating git calls.
  • Python: Drop Python 3.9 support, minimum version is now 3.10 #4391 @mobuchowski Remove support for Python 3.9, which reached end-of-life in November 2024. The minimum supported Python version is now 3.10.

Fixed

  • Client/Java: Fix three bugs in transports-kinesis SPI registration and NPE #4451 @bahram-cdt Fix broken SPI directory path (META-INF.services/META-INF/services/), wrong class name in SPI file (missing .kinesis sub-package), and NullPointerException when properties config is omitted in the Kinesis transport.
  • dbt: Provide data quality assertions for singular tests #4400 @mobuchowski Fix the structured logs processor to correctly resolve parent datasets for dbt singular tests using parent_map, so test result assertions are now attached to the correct datasets as DataQualityAssertionsDatasetFacet.
  • Spark: Fix handling of InMemoryRelation with repeating unqualified column names #4390 @orthoxerox Fix column-level lineage for InMemoryRelation when it contains non-unique unqualified column names by using qualifiedName instead of name for correct column mapping.
  • Spark: Fix Iceberg Glue catalog symlink #4384 @usamakunwar Fix dataset symlinks when using Glue catalog for Iceberg by detecting Glue-based catalogs via Spark configuration and generating correct ARNs even when not using the Hive metastore.
  • Spark: Prevent alias names from appearing as phantom input fields in JDBC column lineage #4366 @mobuchowski Fix JDBC column lineage to skip extractInternalInputs when SQL-based column lineage is already available, preventing alias names from being incorrectly included as input fields alongside the original column names.