Client/Go: Add Go client#4358@tnazarewAdd 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@himakolavennuAdd 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@mobuchowskiEmit 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@himakolavennuAdd 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@mobuchowskiAdd 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.
Client/Python: Make sourceCodeLocation opt-in and reduce subprocess overhead#4403@himakolavennuMake 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@mobuchowskiRemove support for Python 3.9, which reached end-of-life in November 2024. The minimum supported Python version is now 3.10.
Client/Java: Fix three bugs in transports-kinesis SPI registration and NPE#4451@bahram-cdtFix 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@mobuchowskiFix 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@orthoxeroxFix 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@usamakunwarFix 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@mobuchowskiFix 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.