Skip to content

v0.21.0

Choose a tag to compare

@amotl amotl released this 23 Oct 20:14
· 5 commits to main since this release

What's Changed

  • Connector: Verified support for DuckDB 2.x

  • Filesystem: An ORC export that PyArrow refuses, such as a time column under
    --loader-file-format parquet, no longer leaves a zero-byte file at the
    destination path or truncates a file already there. dlt-filesystem 0.22 is now
    the minimum version.

  • Incremental strategies upsert and cdc. upsert inserts and updates by
    primary key without deleting. cdc keeps the destination equal to the source,
    deleting the rows the source no longer holds; it is accepted for SQL database
    sources only, and like scd2 it rejects options that read part of a table. Both
    need a primary key, declared by the table or named with --primary-key. dlt 1.31
    is now the minimum version. scd2 now also rejects --interval-start /
    --interval-end on a query: table that binds them, which windowed the read the
    same way. A plain merge or delete+insert now names the destination's default
    merge strategy, so a strategy an earlier load stored on the table, such as cdc,
    no longer carries over to it; a table loaded with scd2 and then with a plain
    merge is merged with the destination's default and keeps no history for the
    keys that load reads. upsert and cdc are rejected up front on a destination
    that has no such strategy for the table. See Incremental loading.

Details

  • Connector: Verify support for DuckDB 2.x by @amotl in #419
  • Incremental: Add the upsert and cdc strategies by @hampsterx in #422
  • Filesystem: Expect no file after a refused ORC write by @hampsterx in #426
  • fix(deps): update dependency ty to v0.0.91 by @renovate[bot] in #423
  • chore(deps): update astral-sh/setup-uv action to v10.3.2 by @renovate[bot] in #421

Full Changelog: v0.20.0...v0.21.0