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 AddsourceCodeLocationjob facet emission for dbt events, with repo URL configurable via--openlineage-repo-urlorOPENLINEAGE_REPO_URL, falling back togit remote get-url originautodetection. URLs are normalized tohost/org/repoformat. - dbt: Emit TestRunFacet in dbt integration
#4449@mobuchowski EmitTestRunFacetfrom 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 optionalpullRequestNumberfield toSourceCodeLocationJobFacet(spec bumped to 1-1-0) with auto-detection from CI environment variables (GITHUB_REFfor GitHub Actions,CI_MERGE_REQUEST_IIDfor GitLab CI). - Spec: Add TestRunFacet spec and Python client support
#4448@mobuchowski AddTestRunFacetJSON 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 forsourceCodeLocationopt-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.kinesissub-package), and NullPointerException whenpropertiesconfig 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 usingparent_map, so test result assertions are now attached to the correct datasets asDataQualityAssertionsDatasetFacet. - 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 usingqualifiedNameinstead ofnamefor 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 skipextractInternalInputswhen SQL-based column lineage is already available, preventing alias names from being incorrectly included as input fields alongside the original column names.