Changelog

v1.3.5

Date

May 10, 2022

Enhancement

  • support parsing column in cast/try_cast with function (#254)

  • support parsing WITH for bucketing in Trino (#251)

Bugfix

  • incorrect column lineage with nested cast (#240)

  • column lineages from boolean expression (#236)

  • using JOIN with ON/USING keyword fails to determine source tables when followed by a parenthesis (#233)

  • failure to handle multiple lineage path for same column (#228)

v1.3.4

Date

March 6, 2022

Enhancement

  • update black to stable version (#222)

Bugfix

  • table/column lineage mixed up for self dependent SQL (#219)

  • problem with SELECT CAST(CASE WHEN …END AS DECIMAL(M,N)) AS col_name (#215)

  • failed to parse source table from subquery with more than one parenthesis (#213)

v1.3.3

Date

December 26, 2021

Enhancement

  • smarter column-to-table resolution using query context (#203)

Bugfix

  • column lineage for union operation (#207)

  • subquery in where clause not parsed for table lineage (#204)

v1.3.2

Date

December 12, 2021

Enhancement

  • support optional AS keyword in CTE (#198)

  • support referring to a CTE in subsequent CTEs (#196)

  • support for Redshift ‘copy from’ syntax (#164)

v1.3.1

Date

December 5, 2021

Enhancement

  • test against Python 3.10 (#186)

Bugfix

  • alias parsed as table name for column lineage using ANSI-89 Join (#190)

  • CTE parsed as source table when referencing column from cte using alias (#189)

  • window function with parameter parsed as two columns (#184)

v1.3.0

Date

November 13, 2021

Feature

  • Column-Level Lineage (#103)

Bugfix

  • SHOW CREATE TABLE parsed as target table (#167)

v1.2.4

Date

June 14, 2021

Enhancement

  • highlight selected node and its ancestors as well as children recursively (#156)

  • add support for database.schema.table as identifier name (#153)

  • add support for swap_partitions_between_tables (#152)

v1.2.3

Date

May 15, 2021

Enhancement

  • lineage API response exception handling (#148)

v1.2.2

Date

May 5, 2021

Bugfix

  • resize dragger remain on the UI when drawer is closed (#145)

v1.2.1

Date

May 3, 2021

Enhancement

  • option to specify hostname (#142)

  • re-sizable directory tree drawer (#140)

  • async loading for directory tree in frontend UI (#138)

v1.2.0

Date

April 18, 2021

Feature

  • A Full Fledged Frontend Visualization App (#118)

  • Use TPC-DS Queries as Visualization Example (#116)

Enhancement

  • Unit Test Failure With sqlparse==0.3.0, update dependency to be >=0.3.1 (#117)

  • contributing guide (#14)

v1.1.4

Date

March 9, 2021

Bugfix

  • trim function with from in arguments (#127)

v1.1.3

Date

February 1, 2021

Bugfix

  • UNCACHE TABLE statement parsed with target table (#123)

v1.1.2

Date

January 26, 2021

Bugfix

  • Bring back draw method of LineageRunner to avoid backward incompatible change (#120)

v1.1.1

Date

January 24, 2021

Bugfix

  • SQLLineageException for Multiple CTE Subclauses (#115)

v1.1.0

Date

January 17, 2021

Feature

  • A new JavaScript-based approach for visualization, drop dependency for graphviz (#94)

Enhancement

  • Test against Mac OS and Windows (#87)

Bugfix

  • buckets parsed as table name for Spark bucket table DDL (#111)

  • incorrect result for update statement (#105)

v1.0.2

Date

November 17, 2020

Enhancement

  • black check in CI (#99)

  • switch to GitHub Actions for CI (#95)

  • test against Python 3.9 (#84)

Bugfix

  • cartesian product exception with ANSI-89 syntax (#89)

v1.0.1

Date

October 17, 2020

Enhancement

  • remove upper bound for dependencies (#85)

v1.0.0

Date

September 27, 2020

New Features

  • a detailed documentation hosted by readthedocs (#81)

Enhancement

  • drop support for Python 3.5 (#79)

v0.4.0

Date

August 29, 2020

New Features

  • DAG based lineage representation with visualization functionality (#55)

Enhancement

  • replace print to stderr with logging (#75)

  • sort by table name in LineageResult (#70)

  • change schema default value from <unknown> to <default> (#69)

  • set up Github actions for PyPi publish (#68)

v0.3.0

Date

July 19, 2020

New Features

  • statement granularity lineage result (#32)

  • schema aware parsing (#20)

Enhancement

  • allow user to specify combiner (#64)

  • trim leading comment for statement in verbose output (#57)

  • add mypy as static type checker (#50)

  • add bandit as security issue checker (#48)

  • enforce black as code formatter (#46)

  • dedicated Table/Partition/Column Class (#31)

  • friendly exception handling (#30)

Bugfix

  • subquery without alias raises exception (#62)

  • refresh table and cache table should not count as target table (#59)

  • let user choose whether to filter temp table or not (#23)

v0.2.0

Date

April 11, 2020

Enhancement

  • test against Python 3.8 (#39)

Bugfix

  • comment in line raise AssertionError (#37)

  • white space in left join (#36)

  • temp table checking (#35)

  • enable case-sensitive parsing (#34)

  • support for create table like statement (#29)

  • special treatment for DDL (#28)

  • empty statement return (#25)

  • drop table parsed as target table (#21)

  • multi-line sql causes AssertionError (#18)

  • subquery mistake alias as table name (#16)

v0.1.0

Date

July 26, 2019

New Features

  • stable command line interface (#2)

Enhancement

  • combine setup.py and requirements.txt (#6)

  • combine tox and Travis CI (#5)

  • table-wise lineage with sufficient test cases (#4)

  • a startup docs for sqllineage’s usage (#3)

  • pypi badges in README (#1)

v0.0.1

Date

June 16, 2019

New Features

initial public release